{"version":3,"sources":["webpack:///./src/assets/img/moral_del.svg","webpack:///./src/assets/img/del_audio.svg","webpack:///./src/assets/img/exit_fullscreen_behavior_b.svg","webpack:///src/components/NoDataBlack.vue","webpack:///./src/components/NoDataBlack.vue?abfd","webpack:///./src/components/NoDataBlack.vue?e4da","webpack:///./src/assets/img/progress2.svg","webpack:///./src/assets/img/studylog_tips_confirm.svg","webpack:///./src/assets/img/logo_personality_overseas.svg","webpack:///./src/assets/img/fullscreen_behavior_black.svg","webpack:///src/views/editor/Index.vue","webpack:///./src/views/editor/Index.vue?69b9","webpack:///./src/views/editor/Index.vue?c856","webpack:///src/views/index/EditorIndex.vue","webpack:///./src/views/index/EditorIndex.vue?c1e9","webpack:///./src/views/index/EditorIndex.vue?c2e3","webpack:///./src/assets/img/smhy.png","webpack:///./src/assets/img/mindmed_play.svg","webpack:///./src/assets/img/play_detail.svg","webpack:///./src/assets/img/recommend_none.svg","webpack:///./src/assets/img/add.svg","webpack:///src/views/white/GuideMyMindOutline.vue","webpack:///./src/views/white/GuideMyMindOutline.vue?1e34","webpack:///./src/views/white/GuideMyMindOutline.vue?ac2f","webpack:///src/views/white/GuideMyMind.vue","webpack:///./src/views/white/GuideMyMind.vue?8bcf","webpack:///./src/views/white/GuideMyMind.vue?bbcb","webpack:///./src/assets/img/pause_big.svg","webpack:///./src/assets/img/culture_video.svg","webpack:///./src/assets/img/logo_behavior.svg","webpack:///./src/assets/img/logo_behavior_overseas.svg","webpack:///src/views/white/ProblemSolvingDialog.vue","webpack:///./src/views/white/ProblemSolvingDialog.vue?714c","webpack:///./src/views/white/ProblemSolvingDialog.vue?af1d","webpack:///./src/assets/img/read-mode-hover.svg","webpack:///./src/assets/img/moral_edit.svg","webpack:///./src/assets/img/all_read.svg","webpack:///./src/assets/img/problem_done.png","webpack:///./src/assets/img/problem_back.svg","webpack:///./src/assets/img/culture_audio.svg","webpack:///./src/assets/img/read-fontsize-hover-black.svg","webpack:///./src/assets/img/culture_play.svg","webpack:///./src/assets/img/case_back.svg","webpack:///./src/assets/img/tip_detail_disabled.svg","webpack:///./src/assets/img/exit_fullscreen_culture_w.svg","webpack:///./src/assets/img/mediateAudio.png","webpack:///./src/assets/img/studylog_done.svg","webpack:///./src/assets/img/newest_active.svg","webpack:///./src/assets/img/read-logo-overseas.svg","webpack:///./src/assets/img/collect_video.svg","webpack:///./src/assets/img/exit_fullscreen_personality_b.svg","webpack:///./src/assets/img/progress.svg","webpack:///./src/assets/img/exit_fullscreen_culture_b.svg","webpack:///./src/assets/img/uselesschecked.png","webpack:///./src/assets/img/go_button_behavior.svg","webpack:///./src/assets/img/yuanriji_app_global.png","webpack:///./src/assets/img/culture_add.png","webpack:///src/components/Box.vue","webpack:///./src/components/Box.vue?5999","webpack:///./src/components/Box.vue?9111","webpack:///./src/assets/img/think_arrow_finish.svg","webpack:///./src/assets/img/ocean.png","webpack:///./src/assets/img/usefulchecked.png","webpack:///src/views/index.vue","webpack:///./src/views/index.vue?38a0","webpack:///./src/views/index.vue?2f5d","webpack:///src/views/WeixinRemind.vue","webpack:///./src/views/WeixinRemind.vue?ab09","webpack:///./src/views/WeixinRemind.vue?b6d6","webpack:///src/components/TipAudioCom.vue","webpack:///./src/components/TipAudioCom.vue?bfba","webpack:///./src/components/TipAudioCom.vue?8681","webpack:///./src/assets/img/think_unfinish.svg","webpack:///./src/assets/img/course_swiper.svg","webpack:///./src/assets/img/personality_arrow_black.svg","webpack:///src/views/white/studyLog/Index.vue","webpack:///./src/views/white/studyLog/Index.vue?e47d","webpack:///./src/views/white/studyLog/Index.vue?3994","webpack:///src/views/white/CreateTips.vue","webpack:///./src/views/white/CreateTips.vue?4227","webpack:///./src/views/white/CreateTips.vue?0e8d","webpack:///./src/assets/img/hot_active.svg","webpack:///src/components/resetPwd.vue","webpack:///./src/components/resetPwd.vue?2547","webpack:///./src/components/resetPwd.vue?7e9e","webpack:///./src/assets/img/avatarList/headimage5.png","webpack:///src/views/white/RecommendMind.vue","webpack:///./src/views/white/RecommendMind.vue?9343","webpack:///./src/views/white/RecommendMind.vue?8ef7","webpack:///./src/assets/img/black_quotes_right.svg","webpack:///./src/assets/img/case_card_close.svg","webpack:///./src/assets/img/voice-wave5.svg","webpack:///./src/assets/img/think_back.svg","webpack:///./src/assets/img/load_img.webp","webpack:///./src/assets/img/withdraw1-disabled.svg","webpack:///./src/assets/img/confirm_tips.svg","webpack:///./src/assets/img/problem_del.svg","webpack:///./src/assets/img/avatarList/headimage4.png","webpack:///./src/utils/oss.js","webpack:///./src/utils/padInputMiddle.js","webpack:///./src/assets/img/read-mode.svg","webpack:///src/components/Pdf.vue","webpack:///./src/components/Pdf.vue?885e","webpack:///./src/components/Pdf.vue?0466","webpack:///./src/assets/img/newest.svg","webpack:///src/views/white/TAudioAdd.vue","webpack:///./src/views/white/TAudioAdd.vue?09cd","webpack:///./src/views/white/TAudioAdd.vue?45c5","webpack:///./src/assets/img/read-fontsize-hover.svg","webpack:///./src/assets/img/guide_done_gou.svg","webpack:///./src/assets/img/course_swiper_sel.svg","webpack:///./src/assets/img/audio_collected.svg","webpack:///src/components/ReadPdf.vue","webpack:///./src/components/ReadPdf.vue?4910","webpack:///./src/components/ReadPdf.vue?ab2a","webpack:///./src/assets/img/go_button_cultrue.svg","webpack:///src/views/black/TipsList.vue","webpack:///./src/views/black/TipsList.vue?5ca5","webpack:///./src/views/black/TipsList.vue?b525","webpack:///./src/assets/img/medidate_more_down_1.svg","webpack:///./src/assets/img/logo_thinking.svg","webpack:///./src/assets/img/mind_del.png","webpack:///./src/assets/img/fullscreen_thinking_black.svg","webpack:///src/views/test/TreeMind.vue","webpack:///./src/views/test/TreeMind.vue?5bf3","webpack:///./src/views/test/TreeMind.vue","webpack:///./src/assets/img/silent_arrow.png","webpack:///./src/assets/img/question_history_arrow.svg","webpack:///./src/assets/img/exit_fullscreen_thinking_w.svg","webpack:///./src/utils/intro.js","webpack:///./src/assets/img/moral_edit_done.svg","webpack:///./src/assets/img/exit_fullscreen_thinking_b.svg","webpack:///./src/assets/img/behavior_arrow_black.svg","webpack:///./src/assets/img/useless.svg","webpack:///src/views/black/MyCases.vue","webpack:///./src/views/black/MyCases.vue?8509","webpack:///./src/views/black/MyCases.vue?e4a3","webpack:///node_modules/element-ui/packages/checkbox/src/checkbox.vue","webpack:///./node_modules/element-ui/packages/checkbox/src/checkbox.vue?9cac","webpack:///./node_modules/element-ui/packages/checkbox/src/checkbox.vue","webpack:///./src/assets/img/cardBg3.png","webpack:///src/views/white/CultrueContentVideoDetail.vue","webpack:///./src/views/white/CultrueContentVideoDetail.vue?dcc2","webpack:///./src/views/white/CultrueContentVideoDetail.vue?d98b","webpack:///src/views/white/TipsViewDetail.vue","webpack:///./src/views/white/TipsViewDetail.vue?ee64","webpack:///./src/views/white/TipsViewDetail.vue?a8db","webpack:///./src/assets/img/loading.gif","webpack:///src/views/white/Icon_culture.vue","webpack:///./src/views/white/Icon_culture.vue?e259","webpack:///./src/views/white/Icon_culture.vue?3f99","webpack:///./src/assets/img/tip_audio_play.svg","webpack:///./src/assets/img/fullscreen.svg","webpack:///./src/assets/img/logo_personality.svg","webpack:///src/views/white/personal/mind.vue","webpack:///./src/views/white/personal/mind.vue?8447","webpack:///./src/views/white/personal/mind.vue?7e60","webpack:///src/views/white/personal/whiteExperience.vue","webpack:///./src/views/white/personal/whiteExperience.vue?101d","webpack:///./src/views/white/personal/whiteExperience.vue?deec","webpack:///src/views/white/personal/Audios.vue","webpack:///./src/views/white/personal/Audios.vue?7a9f","webpack:///./src/views/white/personal/Audios.vue?0059","webpack:///src/views/white/personal/Videos.vue","webpack:///./src/views/white/personal/Videos.vue?4b13","webpack:///./src/views/white/personal/Videos.vue?0a99","webpack:///src/views/white/personal/fayiDomestic.vue","webpack:///./src/views/white/personal/fayiDomestic.vue?0ba0","webpack:///./src/views/white/personal/fayiDomestic.vue?8609","webpack:///src/views/white/personal/fayiOverseas.vue","webpack:///./src/views/white/personal/fayiOverseas.vue?ccd6","webpack:///./src/views/white/personal/fayiOverseas.vue?d137","webpack:///src/views/white/personal/Fayi.vue","webpack:///./src/views/white/personal/Fayi.vue?d3e8","webpack:///./src/views/white/personal/Fayi.vue?5172","webpack:///src/views/white/personal/Fucai.vue","webpack:///./src/views/white/personal/Fucai.vue?87df","webpack:///./src/views/white/personal/Fucai.vue?64ce","webpack:///src/views/white/personal/myCollection.vue","webpack:///./src/views/white/personal/myCollection.vue?046c","webpack:///./src/views/white/personal/myCollection.vue?451d","webpack:///src/views/white/personalCenter.vue","webpack:///./src/views/white/personalCenter.vue?32cf","webpack:///./src/views/white/personalCenter.vue?c472","webpack:///./src/assets/img/read-fontsize-black.svg","webpack:///src/views/white/CommitProblemAdd.vue","webpack:///./src/views/white/CommitProblemAdd.vue?4ce0","webpack:///./src/views/white/CommitProblemAdd.vue?1797","webpack:///src/views/white/CommitProblem.vue","webpack:///./src/views/white/CommitProblem.vue?a6e2","webpack:///./src/views/white/CommitProblem.vue?5dbf","webpack:///./src/assets/img/mind_collected.svg","webpack:///src/views/white/personal/mindMessage.vue","webpack:///./src/views/white/personal/mindMessage.vue?4837","webpack:///./src/views/white/personal/mindMessage.vue?f06a","webpack:///./src/assets/img/look.png","webpack:///./src/assets/img/default.png","webpack:///src/views/Welcome.vue","webpack:///./src/views/Welcome.vue?b5b0","webpack:///./src/views/Welcome.vue?81f4","webpack:///src/views/nickNameDialog.vue","webpack:///./src/views/nickNameDialog.vue?acc7","webpack:///./src/views/nickNameDialog.vue?0a0d","webpack:///src/views/CourseSelect.vue","webpack:///./src/views/CourseSelect.vue?b28c","webpack:///./src/views/CourseSelect.vue?85ab","webpack:///./src/components/verifition/utils/ase.js","webpack:///./src/components/verifition/utils/util.js","webpack:///./src/components/verifition/utils/axios.js","webpack:///src/components/verifition/Verify/VerifySlide.vue","webpack:///./src/components/verifition/Verify/VerifySlide.vue?e710","webpack:///./src/components/verifition/Verify/VerifySlide.vue?d83b","webpack:///src/components/verifition/Verify/VerifyPoints.vue","webpack:///./src/components/verifition/Verify/VerifyPoints.vue?d22b","webpack:///src/components/verifition/Verify.vue","webpack:///./src/components/verifition/Verify/VerifyPoints.vue","webpack:///./src/components/verifition/Verify.vue?fb33","webpack:///./src/components/verifition/Verify.vue?1880","webpack:///./src/assets/img/avatarList/headimage8.png","webpack:///./src/assets/img/write.svg","webpack:///./src/assets/img/arrow_d_b.svg","webpack:///./src/assets/img/course_list.svg","webpack:///src/components/ReadFontsize.vue","webpack:///./src/components/ReadFontsize.vue?9feb","webpack:///./src/components/ReadFontsize.vue?4292","webpack:///./src/assets/img/read-mode-black.svg","webpack:///./node_modules/jsencrypt/lib/version.json","webpack:///./src/utils/rem.js","webpack:///src/App.vue","webpack:///./src/App.vue?8406","webpack:///./src/App.vue?9e04","webpack:///./src/utils/directive.js","webpack:///./src/components/Loading.vue?efd9","webpack:///./src/components/Loading.vue?ff12","webpack:///src/components/Loading.vue","webpack:///./src/directives/loading.js","webpack:///src/components/LoadingMind.vue","webpack:///./src/components/LoadingMind.vue?a52a","webpack:///./src/components/LoadingMind.vue?d0ce","webpack:///./src/directives/loadingmind.js","webpack:///./src/directives/throttle.js","webpack:///./src/main.js","webpack:///./src/assets/img/xinde_down.png","webpack:///./src/assets/img/recording_edit.png","webpack:///src/views/white/whiteMain.vue","webpack:///./src/views/white/whiteMain.vue?86be","webpack:///./src/views/white/whiteMain.vue?b7ec","webpack:///src/components/ImageViewer.vue","webpack:///./src/components/ImageViewer.vue?5b32","webpack:///./src/components/ImageViewer.vue?cbb1","webpack:///src/views/white/MyMindPdf.vue","webpack:///./src/views/white/MyMindPdf.vue?f644","webpack:///./src/views/white/MyMindPdf.vue?1dbc","webpack:///./src/assets/img/withdraw1.svg","webpack:///./src/assets/img/tipdetail_collect.svg","webpack:///node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?32a3","webpack:///./src/utils/mixins.js","webpack:///./src/assets/img/exit_fullscreen_behavior_w.svg","webpack:///./src/assets/img/mind_checked.png","webpack:///./src/assets/img/mind_download.png","webpack:///src/views/appRemind.vue","webpack:///./src/views/appRemind.vue?e2af","webpack:///./src/views/appRemind.vue?4454","webpack:///./src/assets/img/hot.svg","webpack:///./src/assets/img/download.svg","webpack:///src/views/black/EditCase.vue","webpack:///./src/views/black/EditCase.vue?b61a","webpack:///./src/views/black/EditCase.vue?ef28","webpack:///./src/assets/img/play.png","webpack:///./src/assets/img/avatarList/headimage10.png","webpack:///./src/assets/img/course_list_sel.svg","webpack:///src/views/white/CultrueContentFont.vue","webpack:///./src/views/white/CultrueContentFont.vue?1ad6","webpack:///./src/views/white/CultrueContentFont.vue?de11","webpack:///src/views/white/CultrueContentVideo.vue","webpack:///./src/views/white/CultrueContentVideo.vue?ef88","webpack:///./src/views/white/CultrueContentVideo.vue?bd83","webpack:///src/views/white/CultrueContentAudio.vue","webpack:///./src/views/white/CultrueContentAudio.vue?e7c2","webpack:///./src/views/white/CultrueContentAudio.vue?c089","webpack:///src/views/white/CultrueContentAccessarie.vue","webpack:///./src/views/white/CultrueContentAccessarie.vue?8378","webpack:///./src/views/white/CultrueContentAccessarie.vue?6a3c","webpack:///src/views/white/CultrueContentDrawer.vue","webpack:///./src/views/white/CultrueContentDrawer.vue?7dd3","webpack:///./src/views/white/CultrueContentDrawer.vue?d395","webpack:///src/views/white/studyLog/IndexMobile.vue","webpack:///./src/views/white/studyLog/IndexMobile.vue?04cc","webpack:///./src/views/white/studyLog/IndexMobile.vue?cc63","webpack:///./src/assets/img/collection.svg","webpack:///src/views/white/MyMindImages.vue","webpack:///./src/views/white/MyMindImages.vue?3fdd","webpack:///./src/views/white/MyMindImages.vue?410a","webpack:///./src/assets/img/think_arrow1.svg","webpack:///./src/assets/img/logo_culture_overseas.svg","webpack:///./src/assets/img/voice-wave2.svg","webpack:///./src/views/pad/Mind/tree/src/model/util.js","webpack:///./src/views/pad/Mind/tree/src/model/node.js","webpack:///./src/views/pad/Mind/tree/src/model/tree-store.js","webpack:///src/views/pad/Mind/tree/src/tree-node.vue","webpack:///./src/views/pad/Mind/tree/src/tree-node.vue?ad11","webpack:///./src/views/pad/Mind/tree/src/tree-node.vue?4593","webpack:///src/views/pad/Mind/tree/src/tree.vue","webpack:///./src/views/pad/Mind/tree/src/tree.vue?37b4","webpack:///./src/views/pad/Mind/tree/src/tree.vue?aa97","webpack:///src/views/pad/Mind/MyMindOutline.vue","webpack:///./src/views/pad/Mind/MyMindOutline.vue?05de","webpack:///./src/views/pad/Mind/MyMindOutline.vue?1131","webpack:///./src/assets/img/mediateAudioB.svg","webpack:///./src/assets/img/editMeditateB.svg","webpack:///./src/assets/img/close_problem.svg","webpack:///src/views/white/CultrueContentDetail.vue","webpack:///./src/views/white/CultrueContentDetail.vue?a868","webpack:///./src/views/white/CultrueContentDetail.vue?10ef","webpack:///./src/utils/auth.js","webpack:///./src/assets/img/collected.svg","webpack:///./src/assets/img/play_big.svg","webpack:///./src/assets/img/guide.png","webpack:///./src/assets/img/feedback_image_close.png","webpack:///./src/assets/img/problem_edit.svg","webpack:///./src/assets/img/publish_case.png","webpack:///./src/assets/img/progress3.svg","webpack:///./src/assets/img/back.svg","webpack:///./src/assets/img/progress1.svg","webpack:///./src/assets/img/mind_check.png","webpack:///src/components/PdfCover.vue","webpack:///./src/components/PdfCover.vue?c9e7","webpack:///./src/components/PdfCover.vue?34cc","webpack:///./src/assets/img/withdraw.svg","webpack:///src/views/white/studyLog/CompleteData.vue","webpack:///./src/views/white/studyLog/CompleteData.vue?4b04","webpack:///./src/views/white/studyLog/CompleteData.vue?9aa1","webpack:///./src/assets/img/avatarList/headimage6.png","webpack:///./node_modules/pdfjs-dist/cmaps lazy ./node_modules/vue-pdf/src/buffer-loader.js ^\\.\\/.*\\.bcmap$","webpack:///./src/assets/img/culture_font.svg","webpack:///src/components/SelfHelp.vue","webpack:///./src/components/SelfHelp.vue?f57c","webpack:///./src/components/SelfHelp.vue?3454","webpack:///./src/assets/img/voice-wave1.svg","webpack:///./src/router/index.js","webpack:///./src/router/mobile-routes.js","webpack:///./src/assets/img/medidate_more_down_2.png","webpack:///./src/assets/img/not_collect.svg","webpack:///./src/assets/img/personal_edit.png","webpack:///./src/assets/img/silent_arrow1.png","webpack:///./src/assets/img/medidate_more_up_2.png","webpack:///src/views/black/Detail.vue","webpack:///./src/views/black/Detail.vue?0731","webpack:///./src/views/black/Detail.vue?7217","webpack:///src/components/CourseCom.vue","webpack:///./src/components/CourseCom.vue?c731","webpack:///./src/components/CourseCom.vue?e1b3","webpack:///src/components/GuideOverseasCourseCom.vue","webpack:///./src/components/GuideOverseasCourseCom.vue?ce6c","webpack:///./src/components/GuideOverseasCourseCom.vue?2f17","webpack:///src/components/GuideDomesticCourseCom.vue","webpack:///./src/components/GuideDomesticCourseCom.vue?c8f5","webpack:///./src/components/GuideDomesticCourseCom.vue?23ef","webpack:///src/components/Course.vue","webpack:///./src/components/Course.vue?40fa","webpack:///./src/components/Course.vue?41bb","webpack:///./src/assets/img/logo_culture.svg","webpack:///./src/assets/img/avatarList/headimage7.png","webpack:///./src/components/tree/src/model/util.js","webpack:///./src/components/tree/src/model/node.js","webpack:///./src/components/tree/src/model/tree-store.js","webpack:///src/components/tree/src/tree-node.vue","webpack:///./src/components/tree/src/tree-node.vue?7559","webpack:///./src/components/tree/src/tree-node.vue?f0c1","webpack:///src/components/tree/src/tree.vue","webpack:///./src/components/tree/src/tree.vue?304a","webpack:///./src/components/tree/src/tree.vue?660f","webpack:///./src/assets/img/audio_collect.svg","webpack:///./src/assets/img/avatarList ^\\.\\/headimage.*\\.png$","webpack:///./src/assets/img/logo.svg","webpack:///./src/assets/img/tip_detail_pause.svg","webpack:///./src/assets/img/audio_volume.svg","webpack:///src/views/white/problemSolving.vue","webpack:///./src/views/white/problemSolving.vue?d035","webpack:///./src/views/white/problemSolving.vue?7e5f","webpack:///./src/assets/img/play_detail_pause.png","webpack:///./src/assets/img/go_button_think.svg","webpack:///node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./src/utils/fullscreenMixins.js","webpack:///./src/assets/img/behavior_back.svg","webpack:///src/views/white/personal/pulishExperience.vue","webpack:///./src/views/white/personal/pulishExperience.vue?2e09","webpack:///./src/views/white/personal/pulishExperience.vue?4745","webpack:///./src/assets/img/tip_audio_pause.svg","webpack:///./src/assets/img/audio_download_disabled.png","webpack:///src/components/Hearder.vue","webpack:///./src/components/Hearder.vue?d3f9","webpack:///./src/components/Hearder.vue?aa37","webpack:///./src/assets/img/tag.svg","webpack:///./src/router/web-routes.js","webpack:///./src/assets/img/quesion_done.svg","webpack:///./src/utils/jsencrypt.js","webpack:///./src/assets/img/personality_back.svg","webpack:///./src/assets/img/studylog_undone.svg","webpack:///src/components/PlayerAnalyseData.vue","webpack:///./src/components/PlayerAnalyseData.vue?b280","webpack:///./src/components/PlayerAnalyseData.vue?3ba0","webpack:///./src/request/service.js","webpack:///./src/request/request.js","webpack:///./src/api/index.js","webpack:///./src/assets/img/culture_fullscreen.svg","webpack:///./src/assets/img/avatarList/headimage2.png","webpack:///./src/assets/img/fullscreen01.svg","webpack:///./src/assets/img/guide_done.svg","webpack:///./src/assets/img/recommended.svg","webpack:///./src/assets/img/recording.png","webpack:///./src/utils/eventBus.js","webpack:///./src/assets/img/moral_del_done.svg","webpack:///./src/assets/img/fullscreen_black.svg","webpack:///./src/assets/img/avatarList ^\\.\\/.*$","webpack:///./src/assets/img/black_none.svg","webpack:///./src/assets/img/yuanriji_app.png","webpack:///src/components/AudioCom.vue","webpack:///./src/components/AudioCom.vue?cd00","webpack:///./src/components/AudioCom.vue?d59a","webpack:///./src/assets/img/avatarList/headimage1.png","webpack:///./src/assets/img/culture_back.svg","webpack:///./src/assets/img/medidate_more_up_1.svg","webpack:///./src/assets/img/thinking.svg","webpack:///./src/assets/img/black_quotes_left.svg","webpack:///./src/assets/img/think_finish.svg","webpack:///src/views/white/CaseList.vue","webpack:///./src/views/white/CaseList.vue?220b","webpack:///./src/views/white/CaseList.vue?22f4","webpack:///./src/vuex/modules/user.js","webpack:///./src/vuex/modules/white.js","webpack:///./src/vuex/modules/black.js","webpack:///./src/vuex/modules/common.js","webpack:///./src/vuex/modules/loading.js","webpack:///./src/vuex/modules/webSocket.js","webpack:///./src/vuex/getters.js","webpack:///./src/vuex/index.js","webpack:///src/views/Reminder.vue","webpack:///./src/views/Reminder.vue?628b","webpack:///./src/views/Reminder.vue?3347","webpack:///src/views/login01.vue","webpack:///./src/views/login01.vue?4cc7","webpack:///./src/views/login01.vue?b05f","webpack:///./src/assets/img/problem_close.svg","webpack:///./src/assets/img/editMeditate.svg","webpack:///./src/assets/img/avatarList/headimage3.png","webpack:///src/views/outline/MyMindOutline.vue","webpack:///./src/views/outline/MyMindOutline.vue?3769","webpack:///./src/views/outline/MyMindOutline.vue?3217","webpack:///src/views/outline/MyMind.vue","webpack:///./src/views/outline/MyMind.vue?8f54","webpack:///./src/views/outline/MyMind.vue?a00e","webpack:///src/views/outline/Mind.vue","webpack:///./src/views/outline/Mind.vue?8ab5","webpack:///./src/views/outline/Mind.vue?fb04","webpack:///src/views/index/OutlineIndex.vue","webpack:///./src/views/index/OutlineIndex.vue?3da9","webpack:///./src/views/index/OutlineIndex.vue?718a","webpack:///./src/assets/img/voice-wave4.svg","webpack:///src/views/white/Silence.vue","webpack:///./src/views/white/Silence.vue?0e0d","webpack:///./src/views/white/Silence.vue?ab9f","webpack:///./src/assets/img/avatarList/headimage9.png","webpack:///./src/assets/img/close.svg","webpack:///./src/assets/img/pdf-rotate.svg","webpack:///./src/utils/util.js","webpack:///./src/assets/img/culture_arrow.svg","webpack:///./src/assets/img/useful.svg","webpack:///src/views/white/TipsViewAdd.vue","webpack:///./src/views/white/TipsViewAdd.vue?2a72","webpack:///./src/views/white/TipsViewAdd.vue?c016","webpack:///./src/assets/img/fullscreen_personality_black.svg","webpack:///src/views/white/setModel/avatarModel.vue","webpack:///./src/views/white/setModel/avatarModel.vue?ee14","webpack:///./src/views/white/setModel/avatarModel.vue?8688","webpack:///src/views/white/setModel/messSet.vue","webpack:///./src/views/white/setModel/messSet.vue?4431","webpack:///./src/views/white/setModel/messSet.vue?d3f0","webpack:///src/views/white/setModel/account.vue","webpack:///./src/views/white/setModel/account.vue?fb82","webpack:///./src/views/white/setModel/account.vue?81b5","webpack:///src/views/white/setModel/about.vue","webpack:///./src/views/white/setModel/about.vue?b772","webpack:///./src/views/white/setModel/about.vue?b1ec","webpack:///src/views/white/setModel/areasel.vue","webpack:///./src/views/white/setModel/areasel.vue?b0fa","webpack:///./src/views/white/setModel/areasel.vue?94b8","webpack:///src/views/white/setModel/RecommendAdd.vue","webpack:///./src/views/white/setModel/RecommendAdd.vue?27b8","webpack:///./src/views/white/setModel/RecommendAdd.vue?4145","webpack:///src/views/white/setModel/RecommendDetail.vue","webpack:///./src/views/white/setModel/RecommendDetail.vue?2ea7","webpack:///./src/views/white/setModel/RecommendDetail.vue?525a","webpack:///src/views/white/setModel/Recommend.vue","webpack:///./src/views/white/setModel/Recommend.vue?7669","webpack:///./src/views/white/setModel/Recommend.vue?0f46","webpack:///src/views/white/set.vue","webpack:///./src/views/white/set.vue?cd1a","webpack:///./src/views/white/set.vue?6e0c","webpack:///./src/assets/img/withdraw-disabled.svg","webpack:///src/views/white/MyMindOutline.vue","webpack:///./src/views/white/MyMindOutline.vue?49f2","webpack:///./src/views/white/MyMindOutline.vue?d236","webpack:///./src/assets/img/course_arrow.png","webpack:///src/views/white/personal/collected.vue","webpack:///./src/views/white/personal/collected.vue?5359","webpack:///./src/views/white/personal/collected.vue?664a","webpack:///./src/assets/img/read-mode-hover-black.svg","webpack:///./src/assets/img/recommended_active.svg","webpack:///./src/assets/img/audio_download.svg","webpack:///src/views/white/MoralQuestionsMainHis.vue","webpack:///./src/views/white/MoralQuestionsMainHis.vue?566a","webpack:///./src/views/white/MoralQuestionsMainHis.vue?551d","webpack:///src/views/white/QuestionListHistory.vue","webpack:///./src/views/white/QuestionListHistory.vue?b7b2","webpack:///./src/views/white/QuestionListHistory.vue?c0e3","webpack:///./src/assets/img/voice-wave3.svg","webpack:///./src/assets/img/essence-read-web.svg","webpack:///./src/utils/openOtherPageMixins.js","webpack:///src/views/white/MyMind.vue","webpack:///./src/views/white/MyMind.vue?f765","webpack:///./src/views/white/MyMind.vue?fe99","webpack:///src/views/white/Mind.vue","webpack:///./src/views/white/Mind.vue?0cf8","webpack:///./src/views/white/Mind.vue?2b1b","webpack:///src/views/black/CaseList.vue","webpack:///./src/views/black/CaseList.vue?6eb2","webpack:///./src/views/black/CaseList.vue?8ad3","webpack:///./src/assets/img/show_pwd.png","webpack:///./src/assets/img/think_arrow_black.svg","webpack:///./src/assets/img/read-logo.svg","webpack:///./src/assets/img/square.svg","webpack:///src/views/white/studyLog/CultureContent.vue","webpack:///./src/views/white/studyLog/CultureContent.vue?5fe0","webpack:///./src/views/white/studyLog/CultureContent.vue?7260","webpack:///src/views/white/studyLog/Detail.vue","webpack:///./src/views/white/studyLog/Detail.vue?f0e9","webpack:///./src/views/white/studyLog/Detail.vue?d71a","webpack:///src/components/NoData.vue","webpack:///./src/components/NoData.vue?842f","webpack:///./src/components/NoData.vue?c058","webpack:///./src/assets/img/question-sort.svg","webpack:///./src/assets/img/logo_overseas.svg","webpack:///src/views/white/EditTips.vue","webpack:///./src/views/white/EditTips.vue?1b0c","webpack:///./src/views/white/EditTips.vue?b1a8","webpack:///src/views/white/CultrueContentAudioDetail.vue","webpack:///./src/views/white/CultrueContentAudioDetail.vue?548a","webpack:///./src/views/white/CultrueContentAudioDetail.vue?b73f","webpack:///src/views/white/Culture.vue","webpack:///./src/views/white/Culture.vue?aeb0","webpack:///./src/views/white/Culture.vue?5530","webpack:///src/views/white/Thinking.vue","webpack:///./src/views/white/Thinking.vue?c269","webpack:///./src/views/white/Thinking.vue?b099","webpack:///src/components/CircleCom.vue","webpack:///./src/components/CircleCom.vue?eeda","webpack:///./src/components/CircleCom.vue?56b5","webpack:///src/views/white/Behavior.vue","webpack:///./src/views/white/Behavior.vue?d714","webpack:///./src/views/white/Behavior.vue?fded","webpack:///src/views/white/Personality.vue","webpack:///./src/views/white/Personality.vue?a827","webpack:///./src/views/white/Personality.vue?9182","webpack:///src/views/white/TaskProgeress.vue","webpack:///./src/views/white/TaskProgeress.vue?f8b7","webpack:///./src/views/white/TaskProgeress.vue?f29f","webpack:///src/views/white/Menus.vue","webpack:///./src/views/white/Menus.vue?88b7","webpack:///./src/views/white/Menus.vue?2965","webpack:///src/views/white/CultrueContent.vue","webpack:///./src/views/white/CultrueContent.vue?fd7b","webpack:///./src/views/white/CultrueContent.vue?46be","webpack:///src/views/pad/Mind/MyMind.vue","webpack:///./src/views/pad/Mind/MyMind.vue?b648","webpack:///./src/views/pad/Mind/MyMind.vue?0bfd","webpack:///src/views/pad/Mind/Mind.vue","webpack:///./src/views/pad/Mind/Mind.vue?0565","webpack:///./src/views/pad/Mind/Mind.vue?e1f8","webpack:///src/views/white/TipsView.vue","webpack:///./src/views/white/TipsView.vue?f152","webpack:///./src/views/white/TipsView.vue?7aaa","webpack:///src/views/white/BehaviorAudio.vue","webpack:///./src/views/white/BehaviorAudio.vue?6196","webpack:///./src/views/white/BehaviorAudio.vue?2a19","webpack:///src/views/white/Ocean.vue","webpack:///./src/views/white/Ocean.vue?c62f","webpack:///./src/views/white/Ocean.vue?d69e","webpack:///src/views/white/TipDetail.vue","webpack:///./src/views/white/TipDetail.vue?fc54","webpack:///./src/views/white/TipDetail.vue?ef90","webpack:///src/views/white/TipsSquare.vue","webpack:///./src/views/white/TipsSquare.vue?2d7a","webpack:///./src/views/white/TipsSquare.vue?28e7","webpack:///src/views/white/ConfirmTips.vue","webpack:///./src/views/white/ConfirmTips.vue?03b7","webpack:///./src/views/white/ConfirmTips.vue?2df1","webpack:///src/views/white/MoralQuestionsMain.vue","webpack:///./src/views/white/MoralQuestionsMain.vue?9d51","webpack:///./src/views/white/MoralQuestionsMain.vue?2bcf","webpack:///src/views/white/QuestionList.vue","webpack:///./src/views/white/QuestionList.vue?7038","webpack:///./src/views/white/QuestionList.vue?b0e4","webpack:///src/views/white/problem.vue","webpack:///./src/views/white/problem.vue?4d09","webpack:///./src/views/white/problem.vue?0ff7","webpack:///src/views/white/MoralQuestionsAside.vue","webpack:///./src/views/white/MoralQuestionsAside.vue?c367","webpack:///./src/views/white/MoralQuestionsAside.vue?b94c","webpack:///src/views/white/MoralComprehend.vue","webpack:///./src/views/white/MoralComprehend.vue?23bb","webpack:///./src/views/white/MoralComprehend.vue?8336","webpack:///src/views/white/Detail.vue","webpack:///./src/views/white/Detail.vue?0575","webpack:///./src/views/white/Detail.vue?df88","webpack:///src/views/white/LayoutWhite.vue","webpack:///./src/utils/rollback.js","webpack:///./src/views/white/LayoutWhite.vue?ab6c","webpack:///./src/views/white/LayoutWhite.vue?0901","webpack:///src/views/black/Culture.vue","webpack:///./src/views/black/Culture.vue?6530","webpack:///./src/views/black/Culture.vue?edab","webpack:///src/views/black/MenusBlack.vue","webpack:///./src/views/black/MenusBlack.vue?922e","webpack:///./src/views/black/MenusBlack.vue?64a3","webpack:///src/views/black/CultrueContent.vue","webpack:///./src/views/black/CultrueContent.vue?4de0","webpack:///./src/views/black/CultrueContent.vue?2efb","webpack:///src/views/black/LifeOcean.vue","webpack:///./src/views/black/LifeOcean.vue?7b8a","webpack:///./src/views/black/LifeOcean.vue?a653","webpack:///src/views/black/CaseCard.vue","webpack:///./src/views/black/CaseCard.vue?470b","webpack:///./src/views/black/CaseCard.vue?aee8","webpack:///./src/views/black/GuideCaseCard.vue?6e5e","webpack:///./src/views/black/GuideCaseCard.vue?d1ae","webpack:///src/views/black/GuideCaseCard.vue","webpack:///src/views/black/LayoutBlack.vue","webpack:///./src/views/black/LayoutBlack.vue?abd2","webpack:///./src/views/black/LayoutBlack.vue?8526","webpack:///src/views/white/WhiteFolding.vue","webpack:///./src/views/white/WhiteFolding.vue?04ff","webpack:///./src/views/white/WhiteFolding.vue?cff6","webpack:///src/views/black/BlackFolding.vue","webpack:///./src/views/black/BlackFolding.vue?b3aa","webpack:///./src/views/black/BlackFolding.vue?e3c0","webpack:///src/views/index/Header.vue","webpack:///./src/views/index/Header.vue?0efe","webpack:///./src/views/index/Header.vue?568e","webpack:///./src/utils/intro_domestic.js","webpack:///src/views/index/Index.vue","webpack:///./src/views/index/Index.vue?b242","webpack:///./src/views/index/Index.vue?808e","webpack:///./src/assets/img/puti.png","webpack:///./node_modules/moment/locale ^\\.\\/.*$","webpack:///src/views/black/publishBlackCase.vue","webpack:///./src/views/black/publishBlackCase.vue?a4b7","webpack:///./src/views/black/publishBlackCase.vue?f920","webpack:///./src/assets/img/cultrue_arrow_black.svg","webpack:///./src/assets/img/import_file.png","webpack:///./src/assets/img/read-fontsize.svg","webpack:///./src/assets/img/tipdetail_collected.svg","webpack:///src/views/white/studyLog/DetailIndex.vue","webpack:///./src/views/white/studyLog/DetailIndex.vue?cd06","webpack:///./src/views/white/studyLog/DetailIndex.vue?038e","webpack:///src/views/white/personal/collectedMess.vue","webpack:///./src/views/white/personal/collectedMess.vue?26b2","webpack:///./src/views/white/personal/collectedMess.vue?f96c","webpack:///./src/assets/img/mindmed_pause.svg","webpack:///./src/assets/img/culture_pause.svg","webpack:///./src/assets/img/go_button_personality.svg","webpack:///./src/assets/img/mind_save.png","webpack:///./src/utils/indexDb.js","webpack:///./src/assets/img/small_question_del.png","webpack:///./src/assets/img/tip_detail_play.svg","webpack:///./src/assets/img/icon_close.svg","webpack:///src/components/Message.vue","webpack:///./src/components/Message.vue?6355","webpack:///./src/components/Message.vue?8075","webpack:///src/views/black/CreateCase.vue","webpack:///./src/views/black/CreateCase.vue?5e4e","webpack:///./src/views/black/CreateCase.vue?e669","webpack:///./src/assets/img/avatarList/headimage11.png","webpack:///./src/assets/img/logo_thinking_overseas.svg","webpack:///./src/assets/img/mind_collect.svg","webpack:///./src/assets/img/upload_image.svg"],"names":["module","exports","components_NoDataBlack","render","this","$createElement","_self","_c","_m","staticRenderFns","_h","staticClass","attrs","src","__webpack_require__","_v","Component","normalizeComponent","ssrContext","__webpack_exports__","p","fontSize","Index","components","data","_ref","app_type","course_intro","course_intro_short","params","course_isuseradd","editorOption","placeholder","height","modules","emoji-toolbar","emoji-shortname","toolbar","container","size","list","indent","align","color","background","clean","loading","limitNumb","len","lenApp","toolbarTips","Choice","title","ruleForm","book_id","chapter_id","course_cover","start_index","course_intro_type","course_intro_pdf","course_intro_app","course_intro_type_app","course_intro_pdf_app","rules","isClipborad","pdfName","disabled","defineProperty_default","Object","util","watch","deep","handler","v","console","log","disabledApp","immediate","methods","deletePdfApp","add_auth","$message","warning","deletePdf","uploadPdf","_this","course_pdf_size","auth","localStorage","getItem","input","document","createElement","type","accept","onchange","e","file","files","test","name","Math","round","error","pdfChange","dispatchEvent","MouseEvent","uploadPdfApp","_this2","_this3","arguments","length","undefined","asyncToGenerator_default","regenerator_default","a","mark","_callee","directory","res","config","url","pdfBase64","wrap","_context","prev","next","oss","sent","fileName","fileUrl","pdfNameApp","indexDb","uploadHost","editCourseIntroAdmin","stop","compareRGB","color2","extractRGB","match","r","parseInt","g","b","flag","forEach","rgb1","rgb2","flag1","submitForm","formName","_this4","$refs","validate","valid","getParams","window","location","href","decodeURIComponent","split","editorKey","editorAppKey","getCourseIntroAdmin","_this5","_callee2","course_intro_pdfs","_course_intro_pdfs","_context2","api","code","resetFields","initEditorTooltip","t0","_this6","message","base64","encode","_course_intro","extends_default","then","onEditorBlur","quill","onEditorFocus","myQuillEditor","blur","onEditorReady","_this7","clipboard","addMatcher","Node","TEXT_NODE","node","delta","parentNode","getComputedStyle","newDelta","ops","paragraphs","paragraph","index","trimmedParagraph","replace","push","insert","attributes","onEditorChange","_ref2","_this8","html","text","getElementById","querySelectorAll","pElement","textContent","children","child","nodeType","ELEMENT_NODE","_text","style","backgroundColor","classList","add","childNodes","trim","_text2","event","getLength","deleteText","setContents","setDefaultFontsize","id","$nextTick","qlPicker","querySelector","qlPickerLabel","setAttribute","_this9","ql_editor_web","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","get_iterator_default","done","item","value","tip","err","return","ql_editor_app","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_item","on","getSelection","root","block","removeChild","getModule","addHandler","clearFormat","myQuillEditorApp","clearFormatApp","range","formatText","bold","italic","underline","strike","blockquote","success","onEditorReadyApp","_this10","onEditorChangeApp","_ref3","_this11","_text3","_text4","mounted","activated","customButton","innerHTML","customButtonIcon","editor_Index","_vm","maxlength","resize","show-word-limit","model","callback","$$v","expression","key","ref","options","$event","focus","change","ready","_s","directives","rawName","label-width","label","prop","$set","click","views_editor_Index","EditorIndex","Hearder","Editor","theme","computed","created","index_EditorIndex","EditorIndex_Component","EditorIndex_normalizeComponent","esm_browser","GuideMyMindOutline","props","dataPro","default","editOutline","Boolean","isSaveMindMap","datas","isShow","selectedData","content","course_name","newChild","lock","isAdd","isAddTheme","operating","isOperating","operate","isEdited","dialogVisibleCon","whiteCom","timer","timeCount","nodeCollapseData","expandedKeys","unExpandedKeys","timeout","isEditOperating","arrKey","keydown","isMac","copyText","removeNode","isSelected","pressTs","is_collect","isLocalStorageSave","course_id","$store","getters","courseBase","mindMap","JSON","parse","user","courseIsuseradd","init","showLayer","pop","_methods","filterNode","level","hasVertical","dom","parent","contains","remove","setShow","status","setButton","$emit","addUserCollection","operate_type","mindmap_isuseradd","collect_type","mindmap_type","mindmap_id","dispatch","is_collect_studythink","timeStamp","Date","getTime","getEditOutline","getSelectText","t","selectionStart","selectionEnd","substring","selection","createRange","copy","preventDefault","txt","navigator","writeText","copy1","paste","readText","inputElement","start","end","setTimeout","start1","end1","newSelectionStart","cut","resetTimeout","setSaveTimeout","clearTimeout","clearInterval","setInterval","submitCon","saveMindMap","splice","toParse","mindmap_content","stringify_default","_data","toParse1","tree","filter","course_default_studythink","_data2","saveTitle","submitCon1","editNode","saveSubTitle","saveEquative","mindMapTimeStamp","eventBus","getRows","ceil","setFilterNode1","setFilterNode","tabClick1","prevParent","insertAfter","timeout1","timeout2","timeout3","timeout4","selectedNode","getNode","hideOperates1","tabClick","findIndex","d","prevIndex","prevNode","append","hideOperates","handleLongPress","showOperates","showOperates1","_this12","class","showOperates2","_this13","chooseNode","_this14","chooseNode1","edit","_this15","node1","_this16","edit1","_this17","resizeTextarea","textarea","saveChooseStatus","_this18","selectedNodeNew","_this19","ctrlKey","metaKey","isEdit","idx","promise_default","resolve","addTheme","_this20","addTheme1","_this21","lastChild","insertNewline","inputId","_this22","_this23","append1","_this24","expanded","_this25","addEquative","_this26","addEquative1","_this27","isAddEquative","_this28","arr","_this29","Array","isArray","hidetab","hidetabReduce","isShowOp","_this30","_this31","withdraw","_this32","lastNode","insertBefore","setCollapseHeight","offsetHeightO","selector","offsetHeight","styleSheets","addRule","insertRule","collapse","idName","_this33","_this34","lenObj","_this35","getChildrenLen","data1","_this36","nodeCollapse1","_this37","nodeExpand1","ev","_this38","dragNodeParPrev","draggingNode","dropNode","dropType","_this39","toLowerCase","agent","userAgent","indexOf","scrollTop","_this40","dataServer","cacheString","mindmap","cacheJSON","_data3","compare","getMindMapLo","user_id","areNamesEqual","abrupt","arr1","arr2","i","compareNames","serveMindMap","localMindMap","addEventListener","handleKeyUp","handleKeyDown","destroyed","removeEventListener","_this41","scrollOutline","$on","compareLocalAndServe","_x","apply","white_GuideMyMindOutline","paddingTop","staticStyle","text-align","width","_e","node-key","default-expand-all","expand-on-click-node","draggable","empty-text","filter-node-method","scopedSlots","_u","fn","mousedown","margin-right","contextmenu","touchstart","now","touchend","autosize","minRows","nativeOn","_k","keyCode","keyup","opacity","dblclick","views_white_GuideMyMindOutline","GuideMyMind","MyMindImages","MyMindPdf","guideStep","showSave","showUpdate","showDelete","command","commandSpan","images","imagesName","avatarUrl","pdfUrl","fileImageUrls","selectedImagesIndex","isDeletePdf","isDeleteImage","dialogVisibleDel","newestData","pdfProgress","imageProgress","courseProgress","visibleChange","dropShow","mindmap_image","mindmap_image_show","mindmap_imageNames","mindmap_imageName","mindmap_pdf_show","mindmap_pdf","pdf","_mindmap_pdf","_pdf","startEdit","MyMindOutline","handleCommand","submitDel","delUserMindmap","sort","saveMindMapImages","delUserMindmapShow","clickContent","$data","saveMap","notEdit","join","editImages","downloadImages","myMindImages","downloadFileUrl","is_confirm","getMindmap","update_device","last_update_device","last_update_at","mindmap_update_at","mindmap_update_device","myMindPdf","pdfPicturePath","progress_mindmap_num","need_confirm","msg","last_update_at_old","mindMapNew","getBase64","savePdf","downloadPdf","fileDownload","deletePdfShow","selectedImages","indexs","exitImageEdit","deleteImages","uploadImages","multiple","avatarChange","reject","reader","FileReader","readAsDataURL","onload","result","onerror","dropRef","show","dropHide","hide","setGuideStep","white_GuideMyMind","justifyContent","show-timeout","trigger","visible-change","slot","GuideMyMind_Component","GuideMyMind_normalizeComponent","ProblemSolvingDialog","dialogVisible","String","course_solve_type","Number","course_solve_isuseradd","isFold","course_solve_content","isEditing","confirmData","close_dialog","isPad","dialogWidth","dialogLeft","moralComprehend","problemSolve","course","visible","cardBox","rect","getBoundingClientRect","left","newVal","courseObj","clear","delShow","submit","editUserQuestionSolve","addUserQuestionSolve","course_solve_id","question_id","course_question_id","course_question_isuseradd","version_new","course_solve_pid","handleClose","white_ProblemSolvingDialog","modal-class","modal","close-on-click-modal","destroy-on-close","append-to-body","top","show-close","close","z-index","center","update:visible","Box","padding","otherStyle","components_Box","assign","_t","views","showclass","showtype","$root","Bus","beforeUpdate","beforeMount","selectortype_template_index_0_src_views","clss","WeixinRemind","origin","tempInput","body","appendChild","select","setSelectionRange","execCommand","alert","views_WeixinRemind","TipAudioCom","bgColor","progressColor","currentTimeProp","needPlay","totalTime","currentTime","audio","playing","loadWidth","circleLeft","totalTimeFormat","currentTimeFormat","pause","Audio","oncanplay","ondurationchange","durationchange","onended","ended","parseFloat","changeCurrentTime","stopPropagation","offsetX","target","offsetWidth","_prevClass","parentElement","toFixed","floor","updata","play","notneedEmit","duration","components_TipAudioCom","backgroundImage","swiper","vue_awesome_swiper","swiperSlide","CompleteData","Detail","NoData","_swiperOptions","_swiperOptions2","_swiperOptions3","studyLogGuideMode","showMask","fullscreen","slides","slidesTopClass","slidesClass","slidesClassTotal","guideSlidesClassTotal","course_tag_name","course_class_name1","course_class_name2","question_solve","course_solve_question_num","progress_solve_baituo_num","progress_solve_daoli_num","progress_solve_shishi_num","course_class_name","carouselIndex","that","isClickCourse","btitlesize","bratiosize","swiperOptions1","slidesPerView","spaceBetween","centeredSlides","graCursor","innerWidth","tap","mySwiperTab","clickedIndex","activeInde","canAccessYouTube","topClass","course_class_domestic","clickSwiperTab","activeIndex","_topClass","swiperTab","realIndex","slideTo","transform","course_class_id","getClassCompleteRatio","slideChange","currentTopClassIndex","swiperOptions","mousewheel","pagination","el","clickable","mySwiper","clickSlidesClassTotal","changeFlag","swiperOptions3","noSwiping","noSwipingClass","prevFlag","nextFlag","clickIndex","prevFlag2","nextFlag2","clickIndex2","selectData","selectIndex","courseId","isActivated","course_class_study1","course_class_study2","coverStatus","coverListStatus","showList","needAni","showLeftBtnList","canHover","completeData","showDetail","showLogDetail","aniFinish","currentLeft","currentTop","currentWidth","currentHeight","currentIndex","swiper3ScrollTop","originPosition","swiperScrollClass","keywords","throttledScroll","scrollSwiper3Cards","throttledScrollList","scrollSwiper3List","throttledHandleWheel","handleWheel","currentSlide","shouldInit","initialWidth","initialHeight","isResizing","checkInterval","addHoverInterval","isToggleLayout","courseIsChanged","slidesClassTotalSwiper","pageName","initedCanAccessYouTube","oldVal","getStudyCourseTopClass","$route","to","from","beforeRouteLeave","windowResize","removeHover","checkResize","innerHeight","abs","swipersResize","getSwiperSlides","swiper3ListInit","swiper3CardsInit","items","swiper3","getElementsByClassName","cardNumPerRow","_rect","rowIndex","translateX","translateY","transition","addHover","slide","translate","$px2rem","_rect3","_slide","translateX1","goBack","backToDetail","hideMask","scrollSwiper3","handlerEnter","handlerLeave","_loop","originalTransform","computedStyle","display","_slide3","_rect5","diff","zIndex","swiper3Rect","deltaX","deltaY","getTranslateValues","isCanScroll","containerWidth","totalWidth","maxTranslateX","prev2","next2","scrollSwiper3ListUp","swiperWrapper","title3","overflowY","scrollSwiper3ListDown","isDown","element","values","webkitTransform","mozTransform","toCultureContent","detail","questionListSwiper","changeSearch","search","network_type","scrollSwiper3ToLeft","toggleLayout","updateXY","pageX","pageY","logRatioRect","paddingBottom","courseIntro","courseIntroBorder","coverList","colIndex","_loop2","_i","_title","toDetail","currentItem","currentColIndex","coverListRect","_rect7","_translateX","_translateX2","_translateY","_slidesClassTotalSwiper","translateXSwiper","_i2","_item2","_rect8","_translateX3","_translateX4","course_domestic","getUserStudyLogDetail","scrollY","scrollX","_title2","studyLog","guide","mouseOverSlide","_translateX5","mouseOutSlide","_translateX6","newDiv","className","items1","_item3","_rect10","_translateX7","_item4","showListFn","moveAnimate","timerId","current","offsetLeft","step","back","$router","_callee4","_context4","_callee3","subList","_context3","getCourseCompleteData","item1","_x2","_x3","_callee5","_context5","mindmap_complete","guannian_complete","xintai_complete","question_complete","solve_complete","experience_num","_callee6","_context6","is_new","experience","updateTime","$moment","experience_create_time","format","question","percentage","course_see_question_num","course_question_num","hideMask1","_slide5","_rect12","toggle","slidePrev","slideNext","progress","info","prevShowDetail","prevSlidesClassTotal","concat","time1","time","clientWidth","targetEl","_translateX8","_rect14","timeValueToDetail","initGuide","studyLog_guide","intro","position","introSteps","count","intro_module","initialStates1","initialStates2","initialStates3","itemValue","setOptions","steps","positionPrecedence","prevLabel","nextLabel","skipLabel","doneLabel","hidePrev","exitOnOverlayClick","showStepNumbers","showBullets","exitOnEsc","hintPosition","highlightClass","tooltipClass","disableInteraction","scrollToElement","helperElementPadding","targetElement","currentStep","onbeforechange","_callee7","_context7","_x4","onafterchange","borderRadius","helperLayer","detailWrapper","item_elements","styles","fontFamily","fontWeight","lineHeight","textAlign","property","span","addImage","img","addSpan","_width","minWidth","marginLeft","oncomplete","element4","setUserGuideStatus","onexit","onskip","_callee8","guideStatus","jsonData","updatedRes","_context8","guide_status","setItem","popstate","history","pushState","initStudyLog","_callee9","_context9","deactivated","$off","box","query","studyLog_Index","_l","complete_course","course_count","right","mask_layer","prefix-icon","cursor","backgroundSize","domProps","CreateTips","mixins","guideMode","activeTagIndex","tags","experience_type","experience_title","experience_content","experience_tag_id","experience_status","experience_tag_type","experience_tag_title","experience_isuseradd","experience_audio","experience_statusCon","cacheData","recording","isClicked","isMobile","isSubmission","CreatTipsAudioCom","handleClick","focusTips","createTipsContent","$createTips_step1_1","setInputMiddle","blurTips","delAudio","toggleAudio","setCacheData","experience_id","changeTitle","throttleChange","_tip","initTime","chooseTags","upload","editUserExperience","addUserExperience","progress_experience_num","toConfirmTips","audios","experience_statusPre","_res","experience_audio_id","experience_audio_url","experience_audio_long","experience_audio_time","cancel","getExperienceTag","editTip","unix","contentBox","types","flexDirection","classShare","maxHeight","otherShare","marginTop","myTips","throttleChangeTag","setGuideMode","confirmTips_1","white_CreateTips","rows","experience_audio_url_show","refInFor","popper-class","effect","placement","resetPwd","showPwdFirst","showPwdResetFirst","resetFormFirst","device_id","user_password","user_confirm_password","resetRulesFirst","user_mobile","resetFormBtnDisFirst","resetCodeBtnDisFirst","form","backToLogin","redirectRouter","user_status","showPwdFnFirst","showPwdFnResetFirst","onSubmitResetCreate","user_password_reset","components_resetPwd","autocomplete","RecommendMind","PadMyMindOutline","Mind_MyMindOutline","activeName","ids","checks","course_recommend_studythink","inited","mindPdfWidth","course_recommend_studythinkpdf","course_recommend_studythinkpdf_show_base64","initPdf","course_recommend_studythinkpdf_show","myMindPdfRecommend","studythinkpdf","fileData","recommendming","recommendPdf","changeCheck","white_RecommendMind","flex","myMindOutlineId","readOnly","showFooter","showUpload","imageViewerCanvas","accesskey","accesssecret","securityToken","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_regenerator___default","OSSconfig","credentials","iscredentialsExpired","getStsToken","AccessKeyId","AccessKeySecret","SecurityToken","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_promise___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_asyncToGenerator___default","client","randomNum","OSS","region","ossParams","bucket","accessKeyId","accessKeySecret","stsToken","put","require","endpoint","decrypt","success_action_status","n","random","expiration","Expiration","expirationDate","__WEBPACK_IMPORTED_MODULE_0__utils_util__","padInputMiddle","$currInputEl","$parentBox","getIsXiaomi","inputOffset","windowHeight","InputMiddleTimeValue","scrollTo","y","Pdf","ReadFontsize","ReadPdf","showFontSizeHover","showModeHover","mode","readBoxBg","readDetailWrapperBg","readBoxBlackBg","readDetailWrapperBlackBg","defaultFontSize","showFontSizeDialog","isHorizontalScreen","showReadFontSize","course_pdf","canDownload","hideFontSize","changeFontSize","showChangeFontsize","handleMouseLeaveFontSize","handleMouseEnterFontSize","handleMouseEnterMode","handleMouseLeaveMode","changeMode","getPdf","course_pdf_shows","readMode","components_Pdf","mouseleave","mouseenter","defaultValue","TAudioAdd","meditate_type","meditate_id","meditate_guancha_text","meditate_guancha_text_prefix","meditate_anzhu_text","meditate_anzhu_text_prefix","meditate_guancha_text_default","meditate_anzhu_text_default","isOpen","isContained","beforeRouteEnter","vm","historyOperate","some","openOtherPageIng","setOpenOtherPageIng","recoverOpenOtherPageIng","white_TAudioAdd","pdfjsWorker","vuePdfNoSss","pdfUrl1","loadTotalPages","remindShow","numPages","currentPageNum","thumbnailScale","pdfSrc","pdfShow","sizeMultiple","sizes","sizeIndex","isFullScreen","deviceListIsFinish","deviceListIsLoad","deviceTip","pdfItemWidthOrigin","pdfItemHeightOrigin","pdfBoxWidthOrigin","pdfItemHeight","pdfItemWidth","thumbnailHeight","thumbnailWidth","cutHeight","styleObj","pageMargin","thumbnailMargin","pdfId","pdfBoxId","thumbnailContainerId","visiblePages","visibleThumbnails","loadedPages","set_default","pageSize","thumbnailScrollTop","isThumbnailBoxScrolling","currentRotate","withAnnotations","sizePercent","sizePercentShow","initThumbnail","initPdfBox","isPageNumChanging","isScrollEvent","isScrollUp","lastScroll","pageCache","pageCacheThumbnail","pdfItemMarginBottom","pdfItemMargins","pdfItemMarginTop","pdfBoxStart","pdfBoxEnd","thumbnailStart","thumbnailEnd","pdfItemWidthHeightCache","pdfItemWidthHeightCacheOrigin","maxWidth","_dom","calStartAndEnd","$el","thumbnailContainer","scrollEvent","scrollThumbnailsEvent","base64Pdf","binaryString","atob","bytes","Uint8Array","charCodeAt","blob","Blob","link","URL","createObjectURL","download","revokeObjectURL","onPdfError","isPageVisible","page","includes","isThumbnailVisible","loadThumbnailsPageScroll","middle","parentRect","childRect","parentCenterY","parentCenterX","isInCenterY","bottom","max","min","renderPagesThumbnail","Event","heights","keys","_start","_end","thumbnailLen","thumbnailPage","_start2","_end2","currentThumbnailItem","_start3","_end3","_currentThumbnailItem","entries_default","map","slicedToArray_default","_ref4","reduce","acc","currentValue","keys_default","renderPages","offsetTop","pageNumChange","needChangeThumbnail","currentPdfItem","pdfBox","_start4","_end4","prePage","slice","_end5","_start5","_end6","nextPage","_start6","_start7","_end7","findClosestIndex","closestIndex","minDiff","currentDiff","inputSize","changeSize1","changeSize","newData","calcuLatePdfItemStyle","changeRotate","_ref5","_ref6","widths","_maxWidth","_ref7","_ref8","_ref9","_ref10","_maxWidth2","_ref11","_ref12","renderPageThumbnail","pageNum","canvas","ctx","viewport","pdfThumbnail","pdfThumbnailWidth","thumbnail","scale","getPage","getContext","getViewport","overflow","canvasContext","promise","toDataURL","renderPage","arrayBuffer","build_pdf","CMapReaderFactory","_ref13","pdfItemHeight1","pdfItemWidth1","pdfItem","self","pdfData","documentElement","clientHeight","catch","reason","fullScreenToggle","$pdf","_checkFull","eventOut","cancelFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullScreen","call","requestFullscreen","webkitRequestFullscreen","mozRequestFullscreen","msRequestFullscreen","pdfItemStyle","marginBottom","isFull","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","components_ReadPdf","controls","alt","modifiers","TipsList","noMore","experienceTagType","case_tag_type","caseInfo","load","getWhiteExperienceList","path","_datas","experience_create_at","user_headimage","toConsumableArray_default","course_case_isuseradd","black_TipsList","infinite-scroll-distance","min-width","min-height","user_nickname","experience_collection_num","experience_iscollection","TreeMind","renderContent","h","store","handleDragStart","handleDragEnter","handleDragLeave","handleDragOver","handleDragEnd","handleDrop","allowDrop","allowDrag","test_TreeMind","show-checkbox","render-content","allow-drop","allow-drag","node-drag-start","node-drag-enter","node-drag-leave","node-drag-over","node-drag-end","node-drop","introJs","new_cultrueContent_step2","cultrueContent_step2","newImageArrowArrowAni","imageArrowArrowAni","tooltipPosition","__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_asyncToGenerator___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_regenerator___default","EventBus","guideUpdateXY","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_promise___default","tsClick","goWhite","visibility","index_step9","rect1","index_step10","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","cultrueContent_step2_2","rect2","divElement","collectDiv","margin","alignItems","imgElement","marginRight","pElement2","userGuideStatus","setLayoutBlackGuideStatus","boxShadow","targetElement2","setCourseClassNameGuideMode","dynamicDiv","step_targetElement1","tab1","classes","classNameToRemove","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_array_from___default","_x5","pixelWidth","targetElement3","isLeft","dialogBodies","rect3","targetElement1","tabElements","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_get_iterator___default","dialogBodyElements","leftElements","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","contentDiv","tabElement1","mind_step2","dynamicButton","timeValueClickNext","_x6","border","tabElement3","tooltipEl","x","borderColor","borderWidth","divsContainer","firstChild","tabElement1_1","saveButton","deleteButton","exitButton","tabElement2","setMindMapGuideMode","commitProblem","setCommitProblemGuideStatus","setGuideButton","_x7","setProblemConsciousnessGuideMode","guideHideMaskNoComplete","_x8","guide2","_x9","_callee10","_context10","_x10","setQuestionListGuideMode","_callee11","_context11","_x11","tipsView_step1","tipsView_step2","_callee12","_context12","_x12","spanElement","setTipsViewGuideMode","behavior_step1","behavior_step2","_callee13","_context13","_x13","setBehaviorGuideMode","_ref14","_callee14","_context14","_x14","setConformTipsGuideMode","silence_step1","silence_step2","dynamicDiv2","_ref15","_callee15","_context15","_x15","letterSpacing","parentDiv","dropdownWrap","ul","li1","li2","li3","horizontalBar","horizontalThumb","verticalBar","verticalThumb","selectHide","tip_title","createTips_step0","createTips_step1","createTips_step3","createTips_step4","new_createTips_step0","new_createTips_step1","new_createTips_step3","new_createTips_step4","_ref16","_callee16","_context16","_x16","rect0","rect4","_ref18","_callee18","_context18","_x18","setHeartPlazaGuideStatus","_ref19","_callee19","_context19","_x19","_ref22","_callee22","_context22","_x22","_ref23","_callee23","_context23","_x23","layer","_ref20","_callee20","propertyName","setUserRes","_context20","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default","getUserGuideStatus","_x20","MyCases","PlayerAnalyseData","NoDataBlack","editCase","delCase","cases","case","prevCom","beforeData","case_create_at","case_tag_id","case_tag_title","course_case_content","course_case_id","course_case_status","getUserCaseList","changePlaying","toCreateCase","toEditCase","localName","blackMyCasea","black_MyCases","shadow","case_audio","case_audio_url_show","timeColor","clickPlay","experienceAudioLong","case_audio_long","src_checkbox","inject","elForm","elFormItem","componentName","selfModel","isLimitExceeded","get","isGroup","set","val","_checkboxGroup","isChecked","toString","trueLabel","$parent","$options","isLimitDisabled","isDisabled","_elFormItemSize","elFormItemSize","checkboxSize","temCheckboxSize","$ELEMENT","checkboxGroupSize","indeterminate","checked","falseLabel","addToStore","handleChange","_value","checkbox_src_checkbox","is-disabled","is-bordered","is-checked","is-indeterminate","is-focus","tabindex","role","aria-checked","aria-hidden","true-value","false-value","_q","$$a","$$el","$$c","$$i","$slots","CultrueContentVideoDetail","openOtherPageMixins","videos","relatedVideos","otherVideos","currentVideo","currentAlias","course_video_id","noShowALias","courseCompleteInterval","progress_fayi_read_num","showVideoLoad","course_video_url","getCourseVedioList","getUserCourseProgress","onVideoError","getOssVideo","onVideoLoad","detectCrossOriginError","iframe","videoIframe","contentWindow","closeWarning","quataWarning","isShowRemaining","checkVideoSupport","video","canPlayType","playVideo","checkQuota","estimation","remaining","decimals","k","dm","rem","storage","estimate","quota","usage","pow","formatBytes","showNetworkErrorToast","currentIndex1","course_video_collection_num","selectVideo1","selectVideo","videoSupport","setCourseVideoUrl","isYtVideoLoadedSuccess","course_video_subtitle","onYouTubeIframeAPIReady","onPlayerReady","onPlayerStateChange","onPlayerError","player","destroy","YT","Player","videoId","playerVars","playsinline","events","onReady","onStateChange","onError","videoDatas","percentComplete","getVideo","isDownload","course_video_url_show","course_video_url_shows","_fileData","_course_video_url","course_video_url_ossweb","videoDatasKeys","videoKey","currentXHR","abort","getBlobByUrl","course_video_title","course_video_title_alias","xhr","XMLHttpRequest","open","responseType","onprogress","lengthComputable","loaded","total","response","Error","onabort","send","getIndexedDbVideoDatas","videoData","is_detail","every","initCourseComplete","setCourseComplete","progress_course_complete","clearCompleteInterval","chromeUrl","white_CultrueContentVideoDetail","preload","course_video_intro","TipsViewDetail","meditate_type_prop","isNeedOutFullscreenAni","isShowMoreTop","isShowMoreBottom","showGuanchaLines","showAnzhuLines","webkitLineClamp","isMobileDevice","guanchaWrapperRefClass","guanchaRefClass","anzhuWrapperRefClass","anzhuRefClass","interval","lineNum","isShowMoreGuancha","isShowMoreAnzhu","meditate","thinkMeditate","mindMeditate","timeValueA","initMedidateText","$tipsContent","tipsContent","$operatesRect","$tipsContentRect","totalHeight","guanchaWrapperRef","anzhuWrapperRef","$guanchaRef","guanchaRef","$anzhuRef","anzhuRef","$guanchaTitle","guanchaTitle","$anzhuTitle","anzhuTitle","guanchaTitleHeight","anzhuMoreRef","guanchaMoreRef","anzhuTitleHeight","getWebkitLineClamp","webkitLineClamp1","initShowLines","_$anzhuMoreRef","_$guanchaMoreRef","$guanchaMoreRefHeight","$anzhuMoreRefHeight","_$guanchaMoreRef2","_$guanchaMoreRefHeight","_$anzhuMoreRefHeight","_$anzhuMoreRef2","topWebkitLine","bottomWebkitLine","guanchaLines","getLines","anzhuLines","numLines","div","innerText","showMoreGuancha","$guanchaWrapperRef","$guanchaMoreRef","$guanchaTitleHeight","guanchaHeight","_$guanchaTitleHeight","_$guanchaMoreRefHeight2","_lineHeight","$guanchaWrapperRefHeight","showMoreAnzhu","$anzhuWrapperRef","$anzhuMoreRef","$anzhuTitleHeight","anzhuHeight","_$anzhuTitleHeight","_$anzhuMoreRefHeight2","_lineHeight2","$anzhuWrapperRefHeight","setMeditateTextComplete","toSilencePage","handleResize","beforeDestroy","checkMobileDevice","white_TipsViewDetail","meditate_isuseradd","border-bottom-width","Icon_culture","styleImg","0","smallT","content1","1","2","3","showIcon","isKeepPrevCom","menuType","white_Icon_culture","mind","PdfCover","mindList","classPage","mindLoading","noMoreClass","course_recommend_studythinkimg_show_base64","mindPdfCoverWidth","currentMindmapId","getImages","mindmap_collection_id","course_recommend_studythinkimg_show","course_recommend_studythinkimg_show_urls","course_recommend_studythinkimgs","course_recommend_studythinkimg","studythinkimg","image","imageBase64","imageUrl","toMindMap","resolved","getUserMindmapCollection","mindListCache","dtNum","rightWrapper","personal_mind","course_mindmap_collection_num","readonly","showTag","preview-src-list","fit","white_personal_mind","whiteExperience","exprList","whiteExperienceLoading","menuList","course_class1","course_class2","showClass","showSub","showSubMenu","menu","subMenu","course_station_id","submenu","showClassFn","showTagFn","searchAll","getUserExperienceCollection","handleSelect","selectTag","tag","getCourseClassList","evmenu","unshift","_exprList","xdNum","collectedMess","personal_whiteExperience","white_personal_whiteExperience","whiteExperience_normalizeComponent","Audios","personalLoading","goDetail","course_audio_id","getUserAudioCollection","_audios","audioNum","personal_Audios","course_audio_title","course_audio_title_alias","course_audio_collection_num","white_personal_Audios","Audios_normalizeComponent","Videos","videosLoading","getUserVideoCollection","_videos","videoNum","personal_Videos","white_personal_Videos","Videos_normalizeComponent","fayiDomestic","fayis","fayiLoading","toFayi","getUserFayiCollection","_fayis","personal_fayiDomestic","white_personal_fayiDomestic","fayiDomestic_normalizeComponent","fayiOverseas","qrCodeImage","generateQRCode","browser_default","scan_url","personal_fayiOverseas","course_cover_show","Fayi","fayiOverseas_normalizeComponent","fayiNum","personal_Fayi","white_personal_Fayi","Fayi_normalizeComponent","Fucai","auxiliaryList","searchTimer","getUserAuxiliaryCollection","toReadDetail","courseAuxiliary","course_intro_auxiliary_pdf","course_intro_auxiliary_pdf_show","course_intro_auxiliary_download","resolvedUrl","handleSearch","handleSearchImmediate","handleReset","fucaiNum","personal_Fucai","myCollection","Fucai_normalizeComponent","personal_myCollection","tab-click","personalCenter","myCollection_normalizeComponent","userMess","user_email","city_name","city_id","user_time_zone","collectNum","caseNum","experienceNum","whiteActiveIndex","destroyDisabled","countTime","course_ishide","timeoutCourseHide","toEdit","toPublish","toCollected","toPublishBlackCase","logout","$confirm","confirmButtonText","cancelButtonText","closeOnClickModal","closeOnPressEscape","customClass","reload","userInfo","user_token","$notify","getUserInfo","getUserStatistic","collect_num","case_num","white_personalCenter","user_identity_name","personalCenter_Component","personalCenter_normalizeComponent","CommitProblemAdd","course_question_title","small_questions","selectedQuestion","isClear","course_question_small","course_question_small_id","del","course_question_small_title","$forceUpdate","focusInput","blurInput","course_question_small_isuseradd","addSmallQuestion","comfirm","editUserQuestion","addUserQuestion","getCourseBase","delUserQuestion","white_CommitProblemAdd","icon","views_white_CommitProblemAdd","CommitProblem","commitProblemGuideStatus","guideButton","guideSlides","propIsEmptyData","zoom","slideToClickedSlide","observer","observeParents","doubleClick","animationAndCallBack","onTap","closeAllCard","bightml","timerCount","percent","seePercent","progress_see_question_ids","progress_solve_question_ids","isUser","showEditDialog","isListAni","showAni","isMoving","showSmallQuestion","openCardInterval","isSorting","sortSlides","originSortSlides","isScrollIntoView","showSort","isAnimationing","openCardTimeout1","openCardTimeout2","openCardTimeout3","hidemask","getQuestionList","initStatus","$box","problemBox","isInViewport","openCard","onTapGuide","sortLayout","sortItems","currentId","sortContainer","cardCol","translateY1","updatePlaceholderLine","dragEndTarget","sortContainerStyle","currentStyle","placeholderLine","translates","sortContainerPT","dragEndIndex","dragElementX","dragElement","dragEndTargetRect","dragEndTargetX","scrollIntoView","behavior","transparentImg","Image","dataTransfer","setDragImage","currentTarget","cloneNode","dragging","clientX","offsetY","clientY","setProperty","dragStartIndex","newLeft","newTop","pointerEvents","newItems","_dragElementX","_dragEndTargetRect","_dragEndTargetX","idArray","from_default","newSortItems","targetIndex","newIdArray","effectAllowed","dst","handleTouchStart","touch","touches","handleTouchMove","nextItem","handleTouchend","_dragElementX2","_dragEndTargetRect2","_dragEndTargetX2","handleMouseStart","handleMouseEnd","finish","question_ids","initSortContaier","startSortCallback","startSort","disibledHideMask","clickBigCard","timeValueDisibled","showAddQuestion","back1","small_list","_swiper","update","triggerBigCardStatus","targetStatus","isTriggerBigCarding","timeValueForCopyBigPosition","timeValueForValue","bigCardType","$countDown","countDown","$swiperPagination","swiperPagination","$btnAddQuestion","btnAddQuestion","$selectEl","offset","$copyBig","transformOrigin","pageYOffset","defaultSize","_height","bigSize","setCardStatus","currIndex","cardsStatus","clearAllAnimation","isOpenCard","elBottom","elTop","elAfter","setQuestionRead","clickSlide","elBefore","silent","questionId","guideElBeforeClick","hideMaskComplete","hideMaskNoComplete","times","closeTimeValue","setValueAfterAnimation","styleType","handleUserGuideStatus","index1","black1","black2","black3","black4","courseClassName","problemConsciousness","problemRecommended","problemWorkOut","meditate_1","meditate_2","confirmTips","commitProblem_initGuide","commitProblem_initGuide2","triggerBoxScrollEvent","$target","throttle_debounce","_swiper2","_height2","atBegin","white_CommitProblem","touchmove","mouseup","dragstart","dragover","dragenter","dragend","show-text","stroke-width","itemx","ikey","CommitProblem_Component","CommitProblem_normalizeComponent","mindMessage","allMessages","titles","currentMessage","msg_id","msg_status","setMessageRead","setAllRead","getMessageList","_allMessages","msg_create_at_format","msg_create_at","selectMenu","personal_mindMessage","default-active","justify-content","msg_title","msg_content","Welcome","views_Welcome","src_views_Welcome","nickNameDialog","nickname","setUserInfo","views_nickNameDialog","src_views_nickNameDialog","nickNameDialog_normalizeComponent","CourseSelect","Course","$destroy","dialogVisibleNickname","welcomeVisible","nickName","courses","isDeleteCourse","closeWelcome","editNickname","res1","getCourseList","selectCourse","editUserInfo","silence_1","silence_2","courseContent","heartPlaza","appType","courseRef","guide_1","guide_2","exit","views_CourseSelect","guiding","closeDialog","CourseSelect_Component","CourseSelect_normalizeComponent","aesEncrypt","word","keyWord","CryptoJS","enc","Utf8","srcs","AES","encrypt","ECB","pad","Pkcs7","resetSize","parentWidth","parentHeight","imgWidth","imgSize","imgHeight","barWidth","barSize","barHeight","baseURL","service","axios","create","headers","X-Requested-With","Content-Type","interceptors","request","use","VerifySlide","captchaType","vSpace","explain","blockSize","defaultImg","secretKey","passFlag","backImgBase","blockBackImgBase","backToken","startMoveTime","endMovetime","tipsBackColor","tipWords","finishText","setSize","moveBlockLeft","leftBarWidth","moveBlockBackgroundColor","leftBarBorderColor","iconColor","iconClass","isEnd","showRefresh","transitionLeft","transitionWidth","barArea","util_resetSize","onselectstart","getPictrue","move","startLeft","move_block_left","moveLeftDistance","pointJson","_timeout","captchaVerification","_timeout2","token","clickShow","refresh","closeBox","clientUid","ts","originalImageBase64","jigsawImageBase64","repCode","Verify_VerifySlide","line-height","border-color","transaction","background-color","background-size","verifition_Verify_VerifySlide","VerifyPoints","checkNum","fontPos","checkPosArr","num","pointBackImgBase","poinTextList","tempPoints","barAreaColor","barAreaBorderColor","bindingClick","canvasClick","getMousePos","createPoint","pointTransfrom","obj","pos","assign_default","wordList","pointArr","Verify_VerifyPoints","margin-bottom","tempPoint","border-radius","Verify","VerifyPoints_normalizeComponent","locale","language","browserLanguage","required","figure","arith","verifyType","componentType","instance","showBox","uuid","s","substr","slider","point","i18n","$t","messages","verifition_Verify","max-width","captcha-type","v-space","img-size","block-size","bar-size","default-img","Verify_Component","Verify_normalizeComponent","minValue","maxValue","virtualBarWidth","virtualBarWidth1","elSliderButtonWidth","getHeight","sliderWrapper","clickFontsize","elSliderButton","components_ReadFontsize","vertical","tooltip-class","version","mobileChange","remUtil","setRem","_document$documentEle","_clientWidth","rootSize","_fontSize","setPadRem","_document$documentEle2","ua","isHuaweiPad","isHuaweiDesktop","platform","maxTouchPoints","isOtherDevice","checkIsOtherDevice","css","transform-origin","attr","elem","defaultView","getAttribute","removeAttribute","getIsMobile","_document$documentEle3","_document$documentEle4","mobileChangeNow","App","v1","InstallTrigger","head","insertAdjacentHTML","selectortype_template_index_0_src_App","src_App","debounce","bind","binding","debounceTime","callNow","components_Loading","src_components_Loading","Loading_normalizeComponent","loadingDirective","inserted","loadingInstance","Vue","extend","Loading","$mount","oldValue","LoadingMind","components_LoadingMind","src_components_LoadingMind","LoadingMind_normalizeComponent","propsData","directive","_binding$value","_binding$value$","_binding$value$2","delay","_binding$value$3","eventObject","prototype","px","$axios","productionTip","ElementUI","component","extends","Dialog","hash","VueFullscreen","custom","moment","loadingMind","VueQuillEditor","Quill","register","quillEmoji","Parchment","import","$intro","Attributor","Style","Font","whitelist","fontSizeStyle","router","template","whiteMain","centerStauts","showTaskProgress","childValue","Card","iIndex_icon","txkcStyle","tx1kcStyle","tx2kcStyle","courseNum","collectMess","iIndex","white_whiteMain","overflow-y","padding-right","ImageViewer","curPageNum","pageTotalNum","loadedRatio","currentPage","readPdf","clickPdf","extractPoint","onDragstart","touchStartPoint","containerPos","onTouchStart","onDragend","onTouchMove","scaleD","imageViewer","scaleX","handleLoaded","totalPages","_pdfInfo","base64PdfCover","createLoadingTask","cMapUrl","cMapPacked","pdf1","getElementsByTagName","pageNumInput","pageLoaded","zoomOut","canvases","zoomIn","components_ImageViewer","page-loaded","num-pages","pdfError","link-clicked","src_components_ImageViewer","pdfXHRUrl","isServer","pageRotate","imgFiles","imageVisible","imageCanvas","imgRef","progressRef","pdfCanvasId","canvasId","toPdfReadDetail","initTagPosition","showId","changePage","showImagePdf","is_collect_studythinkpdf","pdfKey","openPage","pdfFile","pageNumber","context","renderContext","imageViewerWidth","changeNum","reg","clock","counterClock","password","updatePassword","prompt","pdfPrintAll","print","pdfPrint","logContent","forEachPage","getTextContent","str","allStr","initVal","white_MyMindPdf","mindpdfId","Key","rotate","MyMindPdf_Component","MyMindPdf_normalizeComponent","resize_sensor","initial","reset","expand","shrink","scrollLeft","styleChild","~animationstart","scroll","offsetParent","onresizeHandler","removeOnresizeEvent","detachEvent","attachEvent","mixin","getWindowHeight","compatMode","checkSystem","checkComputerDevice","isComputerDevice","setSelectedModule","callBackName","beforeName","selectedModule","selectedModuleBefore","timeValueToPage","$before","timeValueRemoveClass","classNames","views_appRemind","EditCase","getUserCaseDetail","getNoteCourseCaseDetail","toMyCases","tab","black_EditCase","CultrueContentFont","courseContentGuideStatus","isGuide","getIndexFile","click_url","readDetailUrl","guideInfo","course_intro_isuseradd","white_CultrueContentFont","course_intro_isedit","views_white_CultrueContentFont","CultrueContentVideo","videoLen","white_CultrueContentVideo","course_video_cover","backgrround","views_white_CultrueContentVideo","CultrueContentVideo_normalizeComponent","CultrueContentAudio","AudioCom","currentAudioContent","currentAudioTime","audioCom","currentAudio","loadings","getCourseAudioList","playAudio","course_audio_url_oss","white_CultrueContentAudio","onlyShowBar","views_white_CultrueContentAudio","CultrueContentAudio_normalizeComponent","CultrueContentAccessarie","getCourseAuxiliary","white_CultrueContentAccessarie","views_white_CultrueContentAccessarie","CultrueContentAccessarie_normalizeComponent","CultrueContentDrawer","topHeight","titleHeight","drawerHeight","audioLen","drawerClass","guideActiveName","changeCourseId","contentScroll","course_default_type","getActiveName","drawer","scrollContentBox","timeValueSetShowFayi","startY","endY","white_CultrueContentDrawer","CultrueContentDrawer_Component","CultrueContentDrawer_normalizeComponent","IndexMobile","startX","endX","startTime","bindCardsTouchStart","bindCardsTouchMove","bindCardsTouchEnd","bindListsTouchStart","bindListsTouchMove","bindListsTouchEnd","addCardsEvents","addListsEvents","_slidesClassTotalSwiper2","_slidesClassTotalSwiper3","_slidesClassTotalSwiper4","studyLog_IndexMobile","isAdmin","showCollect","imgUrls","is_collect_studythinkimg","getExtensionFromBase64","base64String","matches","jpeg","jpg","png","gif","webp","bmp","svg+xml","downloadImage","suffix","elink","blobUrl","deleteFinish","white_MyMindImages","NODE_KEY","markNodeData","define_property_default","enumerable","configurable","writable","getNodeKey","findNearestComponent","tagName","__vue__","getChildState","all","none","allWithoutDisable","j","half","reInitChecked","_getChildState","checkStrictly","getPropertyFromData","dataProp","nodeIdSeed","classCallCheck_default","isCurrent","hasOwnProperty","registerNode","isLeaf","isLeafByUser","lazy","setData","defaultExpandAll","defaultExpandedKeys","autoExpandParent","currentNodeKey","currentNode","_initDefaultCheckedNode","updateLeafState","insertChild","walk","batch","getChildren","objectAssign","dataIndex","deregisterNode","targetNode","expandParent","shouldLoadData","loadData","setChecked","array","defaultProps","recursion","passValue","checkDescendants","_getChildState2","handleDescendants","isCheck","_getChildState3","forceInit","oldData","newDataMap","newNodes","arrayFindIndex","removeChildByData","doCreateChildren","nodeKey","TreeStore","option","nodesMap","loadFn","_initDefaultCheckedNodes","filterNodeMethod","traverse","allHidden","updateChildren","typeof_default","refData","refNode","parentData","defaultCheckedKeys","checkedKey","leafOnly","includeHalfChecked","checkedNodes","getCheckedNodes","nodes","getHalfCheckedNodes","allNodes","checkedKeys","_getAllNodes","cache","create_default","_setCheckedKeys","prevCurrentNode","currNode","setCurrentNode","tree_node","emitter","isCopyItem","isAndroid","isLastItem","isButtonItem","dropNodeId","Function","renderAfterExpand","showCheckbox","ElCollapseTransition","collapse_transition","ElCheckbox","packages_checkbox","NodeContent","_renderProxy","$vnode","$scopedSlots","childNodeRendered","oldChecked","oldIndeterminate","dragOptions","node.indeterminate","handleSelectChange","node.checked","node.expanded","util_getNodeKey","expandOnClickNode","handleExpandIconClick","checkOnClickNode","handleCheckChange","handleContextMenu","_events","getCheckedKeys","halfCheckedNodes","halfCheckedKeys","getHalfCheckedKeys","handleChildNodeExpand","nodeData","broadcast","vibrate","webkitVibrate","getDragNodeInfo","dragHeight","dragX","dragY","nodeId","nodeComponent","clearTouchDragStart","touchStartTimeValue","startTouch","isTreeHadMove","isDragStartEvent","isDragOverEvent","isTree","warn","childrenKey","$watch","accordion","src_tree_node","this$1","el-tree-node-last-item","aria-expanded","aria-disabled","padding-left","is-leaf","render-after-expand","node-expand","tree_src_tree_node","ElTreeNode","treeItems","checkboxItems","dragState","showDropIndicator","dragOffset","isLastDragFixed","emptyText","highlightCurrent","treeItemArray","isEmpty","setDefaultCheckedKey","setDefaultExpandedKeys","checkbox","getNodePath","reverse","getCurrentNode","getCurrentKey","setCheckedNodes","setCheckedKeys","setUserCurrentNode","setCurrentKey","setCurrentNodeKey","getParentNode","updateNodeContent","handleNodeExpand","updateKeyChildren","initTabIndex","checkedItem","handleKeydown","nextIndex","hasInput","setParentScroll","setParentScrollInDraging","parentOffset","handleMousemove","handleTouchmove","removeDropClass","tree_store","treeNode","dragOver","oldDropNode","dropPrev","dropInner","dropNext","userAllowDropInner","dropEffect","nextSibling","previousSibling","targetPosition","prevPercent","nextPercent","distance","dragEnd","draggingNodeCopy","getChildNodeIds","childIds","$children","nodeOffsets","nodeOffset","childNodeIds","dragHalfHeight","targetY","targetHeight","updated","src_tree","mousemove","tree_src_tree","tree_normalizeComponent","MyMindOutline_id","Tree","treeId","isBindEventBus","isEditingNode","clickCount","isToolsEventing","selectedDom","editingData","copyData","originalContent","removeNodes","shouldSaveSnapshot","isHistoryInitialized","pendingAction","isWaitingForUnlock","pendingActionTimeout","paramsIframe","encodeURIComponent","isCanCopy","isGoblack","isToPage","callbackFn","isMyselfEditing","resolveDrag","maxLevel","isGettingStatus","getStatusTimeout","getStatusTimeoutMs","isCancel","withdrawTypes","addSubTheme","addEquativeTheme","whiteComStore","ws","online","_wasAutoSave","_savedEditingState","bindDocumentEvents","mindMapTimeStampValue","addButtonData","removeButtonData","toParseSync","setSyncMindmapContent","mindmap_content1","mindmap_content2","Base64","messageData","device_type","getCurrentDataVersion","clearEditingStates","clearPendingAction","registerPendingAction","dataVersion","timestamp","validateAndExecutePendingAction","isExpired","isContextChanged","setStatus","getStatus","clearGetStatusTimeout","touchendWaitBlur","eventName","triggerClickEvent","triggerBlur","isButtonData","handleInputFocus","fnName","setToolsEventing","setTimeoutValueTools","disibledDocumentClick","getCurrTextarea","getInputElement","getCanCopy","permissions","allowWithoutGesture","state","isSuccess","copyTextToClipboard","textArea","outline","pasteCallback","cutCallBack","_clearTimeout","executeAutoSave","saveEditingState","submitSave","resetAutoSaveTimer","editingNodeId","selectedNodeId","isAddNode","selectedNodeData","restoreEditingState","findNodeById","foundById","found","findIsEditTrueNodes","isAddNewNode","isSilentSave","nd","editDatas","savedState","historyVersion","currentMindMap","beforeEditData","defaultData","purifiedData","stackStatus","_isCtrlSave","isUndoRedoAction","canUndo","canRedo","undoCount","redoCount","exitEdit","triggerSaveInput","isAutoSave","submitSave1","isInMind","needExit","submitConCallback","setToolTypeEventing","toolTypeEventing","reduceTabClickCallback","reduceTabClick","tabClickCallback","setSelectedBoxPosition","setTimeValue","updateTreeNode","addTreeNode","callBack","inputRefName","saveFnName","treeFn","typeNames","lastId","refName","$textareaBox","isRemoveNodeing","_id","updateType","addTreeNode1","_data4","timeValueRemoveNode","redoRemoveNode","redoUpdateTreeNode","redoAddTreeNode","_data5","_this42","getMaxDescendantLayers","maxDepth","childDepth","_this43","nodeCollapse","isHuaweiTablet","nodeExpand","_this44","_this45","_this46","handleTreeItemClick","maxDescendant","_this47","_callee17","_context17","handleKeyDownFn","isCtrlOrCmd","shiftKey","showEditingLockedToast","_this48","handleKeyUpValue","handleGetMessage","setSelectedBox","operateRef","boxOffset","$overflowAutoBox","_this49","bindBoxScroll","bindWindowScroll","_this50","_this51","isDisibledDocumentClick","setTimeValueDocumentClick","handleDocumentClick","_this52","timeValueBindEvents","_this53","mindmap_content_draft","updateOutlineData","_this54","parsedData","setStatusNowCallBack","updatesuccessCallback","_this55","_this56","isEnterMindSave","isEnterMindSaveTimeValue","_callee21","_context21","$index","is-last-drag-fixed","node-item-click","node-collapse","padding-top","before-close","MyMindOutline_Component","MyMindOutline_normalizeComponent","CultrueContentDetail","toEssenceReadWeb","ifCanAccessYouTube","course_intro_pdf_show","course_intro_pdf_shows","white_CultrueContentDetail","Cookies","removeItem","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_core_js_json_stringify___default","experience_id1","course_case_id1","removeMindMap","HistoryOperate","mindMapJson","keyStr","wordArray","Hex","base64Word","stringify","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default","onreadystatechange","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_asyncToGenerator___default","lines","loc","countryCode","readyState","responseText","find","line","startsWith","workerSrc","tagId","showWidth","widthOrigin","components_PdfCover","float","studyLog_CompleteData","./78-EUC-H.bcmap","./78-EUC-V.bcmap","./78-H.bcmap","./78-RKSJ-H.bcmap","./78-RKSJ-V.bcmap","./78-V.bcmap","./78ms-RKSJ-H.bcmap","./78ms-RKSJ-V.bcmap","./83pv-RKSJ-H.bcmap","./90ms-RKSJ-H.bcmap","./90ms-RKSJ-V.bcmap","./90msp-RKSJ-H.bcmap","./90msp-RKSJ-V.bcmap","./90pv-RKSJ-H.bcmap","./90pv-RKSJ-V.bcmap","./Add-H.bcmap","./Add-RKSJ-H.bcmap","./Add-RKSJ-V.bcmap","./Add-V.bcmap","./Adobe-CNS1-0.bcmap","./Adobe-CNS1-1.bcmap","./Adobe-CNS1-2.bcmap","./Adobe-CNS1-3.bcmap","./Adobe-CNS1-4.bcmap","./Adobe-CNS1-5.bcmap","./Adobe-CNS1-6.bcmap","./Adobe-CNS1-UCS2.bcmap","./Adobe-GB1-0.bcmap","./Adobe-GB1-1.bcmap","./Adobe-GB1-2.bcmap","./Adobe-GB1-3.bcmap","./Adobe-GB1-4.bcmap","./Adobe-GB1-5.bcmap","./Adobe-GB1-UCS2.bcmap","./Adobe-Japan1-0.bcmap","./Adobe-Japan1-1.bcmap","./Adobe-Japan1-2.bcmap","./Adobe-Japan1-3.bcmap","./Adobe-Japan1-4.bcmap","./Adobe-Japan1-5.bcmap","./Adobe-Japan1-6.bcmap","./Adobe-Japan1-UCS2.bcmap","./Adobe-Korea1-0.bcmap","./Adobe-Korea1-1.bcmap","./Adobe-Korea1-2.bcmap","./Adobe-Korea1-UCS2.bcmap","./B5-H.bcmap","./B5-V.bcmap","./B5pc-H.bcmap","./B5pc-V.bcmap","./CNS-EUC-H.bcmap","./CNS-EUC-V.bcmap","./CNS1-H.bcmap","./CNS1-V.bcmap","./CNS2-H.bcmap","./CNS2-V.bcmap","./ETHK-B5-H.bcmap","./ETHK-B5-V.bcmap","./ETen-B5-H.bcmap","./ETen-B5-V.bcmap","./ETenms-B5-H.bcmap","./ETenms-B5-V.bcmap","./EUC-H.bcmap","./EUC-V.bcmap","./Ext-H.bcmap","./Ext-RKSJ-H.bcmap","./Ext-RKSJ-V.bcmap","./Ext-V.bcmap","./GB-EUC-H.bcmap","./GB-EUC-V.bcmap","./GB-H.bcmap","./GB-V.bcmap","./GBK-EUC-H.bcmap","./GBK-EUC-V.bcmap","./GBK2K-H.bcmap","./GBK2K-V.bcmap","./GBKp-EUC-H.bcmap","./GBKp-EUC-V.bcmap","./GBT-EUC-H.bcmap","./GBT-EUC-V.bcmap","./GBT-H.bcmap","./GBT-V.bcmap","./GBTpc-EUC-H.bcmap","./GBTpc-EUC-V.bcmap","./GBpc-EUC-H.bcmap","./GBpc-EUC-V.bcmap","./H.bcmap","./HKdla-B5-H.bcmap","./HKdla-B5-V.bcmap","./HKdlb-B5-H.bcmap","./HKdlb-B5-V.bcmap","./HKgccs-B5-H.bcmap","./HKgccs-B5-V.bcmap","./HKm314-B5-H.bcmap","./HKm314-B5-V.bcmap","./HKm471-B5-H.bcmap","./HKm471-B5-V.bcmap","./HKscs-B5-H.bcmap","./HKscs-B5-V.bcmap","./Hankaku.bcmap","./Hiragana.bcmap","./KSC-EUC-H.bcmap","./KSC-EUC-V.bcmap","./KSC-H.bcmap","./KSC-Johab-H.bcmap","./KSC-Johab-V.bcmap","./KSC-V.bcmap","./KSCms-UHC-H.bcmap","./KSCms-UHC-HW-H.bcmap","./KSCms-UHC-HW-V.bcmap","./KSCms-UHC-V.bcmap","./KSCpc-EUC-H.bcmap","./KSCpc-EUC-V.bcmap","./Katakana.bcmap","./NWP-H.bcmap","./NWP-V.bcmap","./RKSJ-H.bcmap","./RKSJ-V.bcmap","./Roman.bcmap","./UniCNS-UCS2-H.bcmap","./UniCNS-UCS2-V.bcmap","./UniCNS-UTF16-H.bcmap","./UniCNS-UTF16-V.bcmap","./UniCNS-UTF32-H.bcmap","./UniCNS-UTF32-V.bcmap","./UniCNS-UTF8-H.bcmap","./UniCNS-UTF8-V.bcmap","./UniGB-UCS2-H.bcmap","./UniGB-UCS2-V.bcmap","./UniGB-UTF16-H.bcmap","./UniGB-UTF16-V.bcmap","./UniGB-UTF32-H.bcmap","./UniGB-UTF32-V.bcmap","./UniGB-UTF8-H.bcmap","./UniGB-UTF8-V.bcmap","./UniJIS-UCS2-H.bcmap","./UniJIS-UCS2-HW-H.bcmap","./UniJIS-UCS2-HW-V.bcmap","./UniJIS-UCS2-V.bcmap","./UniJIS-UTF16-H.bcmap","./UniJIS-UTF16-V.bcmap","./UniJIS-UTF32-H.bcmap","./UniJIS-UTF32-V.bcmap","./UniJIS-UTF8-H.bcmap","./UniJIS-UTF8-V.bcmap","./UniJIS2004-UTF16-H.bcmap","./UniJIS2004-UTF16-V.bcmap","./UniJIS2004-UTF32-H.bcmap","./UniJIS2004-UTF32-V.bcmap","./UniJIS2004-UTF8-H.bcmap","./UniJIS2004-UTF8-V.bcmap","./UniJISPro-UCS2-HW-V.bcmap","./UniJISPro-UCS2-V.bcmap","./UniJISPro-UTF8-V.bcmap","./UniJISX0213-UTF32-H.bcmap","./UniJISX0213-UTF32-V.bcmap","./UniJISX02132004-UTF32-H.bcmap","./UniJISX02132004-UTF32-V.bcmap","./UniKS-UCS2-H.bcmap","./UniKS-UCS2-V.bcmap","./UniKS-UTF16-H.bcmap","./UniKS-UTF16-V.bcmap","./UniKS-UTF32-H.bcmap","./UniKS-UTF32-V.bcmap","./UniKS-UTF8-H.bcmap","./UniKS-UTF8-V.bcmap","./V.bcmap","./WP-Symbol.bcmap","webpackAsyncContext","req","Promise","SelfHelp","shuru","user_headimage_show","focusKeywords","selfHelp","$selfHelpKeywords","blurKeywords","scrollBottom","zizhuSearch","category_name","createRobot","create_type","closeRobot","close_reason","getCategoryKnowledge","category","category_id","category_isend","categorys","getZizhuKnowledgeAnswer","knowledge","checksum","answer","answerFormat","getMilliseconds","md5_default","knowledge_name","knowledge_id","knowledge_answer","getShuruKnowledgeAnswer","msgEvaluation","evaluation","qiyu_session_id","userInfojson","keyboardHeight","components_SelfHelp","msg_type","knowledges","welcome","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_1_vue_router__","__WEBPACK_IMPORTED_MODULE_2__utils_util__","__WEBPACK_IMPORTED_MODULE_3__utils_auth__","__WEBPACK_IMPORTED_MODULE_4__utils_eventBus__","__WEBPACK_IMPORTED_MODULE_5__vuex_index__","Router","originalPush","routes","beforeEach","matched","meta","requireAuth","openRouterAnimation","redirect","fullPath","defineProperty","__WEBPACK_IMPORTED_MODULE_0__views_login01__","__WEBPACK_IMPORTED_MODULE_1__components_resetPwd__","__WEBPACK_IMPORTED_MODULE_2__views_appRemind__","__WEBPACK_IMPORTED_MODULE_3__views_WeixinRemind__","__WEBPACK_IMPORTED_MODULE_4__views_CourseSelect__","__WEBPACK_IMPORTED_MODULE_6__views_index_Index__","__WEBPACK_IMPORTED_MODULE_7__views_index_OutlineIndex__","__WEBPACK_IMPORTED_MODULE_8__views_index_EditorIndex__","__WEBPACK_IMPORTED_MODULE_9__views_white_EditTips_vue__","__WEBPACK_IMPORTED_MODULE_10__views_white_CreateTips_vue__","__WEBPACK_IMPORTED_MODULE_11__views_white_CaseList_vue__","__WEBPACK_IMPORTED_MODULE_12__views_white_personal_collected_vue__","__WEBPACK_IMPORTED_MODULE_13__views_white_personal_collectedMess_vue__","__WEBPACK_IMPORTED_MODULE_14__views_white_CommitProblem_vue__","__WEBPACK_IMPORTED_MODULE_15__views_white_problemSolving_vue__","__WEBPACK_IMPORTED_MODULE_17__views_white_studyLog_IndexMobile_vue__","__WEBPACK_IMPORTED_MODULE_18__views_white_studyLog_DetailIndex_vue__","__WEBPACK_IMPORTED_MODULE_19__components_SelfHelp_vue__","__WEBPACK_IMPORTED_MODULE_20__views_white_TipsViewAdd_vue__","__WEBPACK_IMPORTED_MODULE_21__views_white_TipsViewDetail_vue__","__WEBPACK_IMPORTED_MODULE_22__views_white_TAudioAdd_vue__","__WEBPACK_IMPORTED_MODULE_23__views_white_Silence_vue__","__WEBPACK_IMPORTED_MODULE_24__views_white_CultrueContentAudioDetail_vue__","__WEBPACK_IMPORTED_MODULE_25__views_white_CultrueContentVideoDetail_vue__","__WEBPACK_IMPORTED_MODULE_26__views_white_CultrueContentDetail_vue__","__WEBPACK_IMPORTED_MODULE_27__views_white_QuestionListHistory_vue__","__WEBPACK_IMPORTED_MODULE_28__components_Pdf_vue__","__WEBPACK_IMPORTED_MODULE_29__views_black_CaseList_vue__","__WEBPACK_IMPORTED_MODULE_30__views_black_Detail_vue__","__WEBPACK_IMPORTED_MODULE_31__views_black_MyCases_vue__","__WEBPACK_IMPORTED_MODULE_32__views_black_CreateCase_vue__","__WEBPACK_IMPORTED_MODULE_33__views_black_EditCase_vue__","__WEBPACK_IMPORTED_MODULE_34__views_black_TipsList_vue__","__WEBPACK_IMPORTED_MODULE_35__views_test_TreeMind_vue__","__WEBPACK_IMPORTED_MODULE_36__views_white_Icon_culture__","__WEBPACK_IMPORTED_MODULE_38__views_white_set_vue__","__WEBPACK_IMPORTED_MODULE_39__views_white_personal_mindMessage_vue__","__WEBPACK_IMPORTED_MODULE_40__views_white_personalCenter_vue__","__WEBPACK_IMPORTED_MODULE_41__views_white_personal_pulishExperience_vue__","__WEBPACK_IMPORTED_MODULE_42__views_black_publishBlackCase_vue__","login","hidden","PdfRead","appRemind","OutlineIndex","white","EditTips","ProblemSolving","WhiteCaseList","black","CaseList","BlackCaseDetail","CreateCase","publishBlackCase","StudyLogMobile","StudyLogDetail","TipsViewAdd","Silence","QuestionListHistory","PersonalCenter","PulishExperience","ExperienceMess","Set","MindMessage","Collected","CollectedMess","CultrueContentAudioDetail","cs","showBtn","cultureCaseTags","thingingCaseTags","behaviorCaseTags","perCaseTags","fadeClass","caseTags","getData","getCourseCaseDetail","toWhiteTip","black_Detail","CourseCom","selectedCourse","defaultOpeneds","courseName","menusProp","leftActiveId","isGlobal","course_class_isuseradd","pageNamePro","menus","defaultActive","activeElMenu","defaultOpenedsArray","leftActiveId1","menuKey","usercourse_name","dialogDelVisible","selectedCourseUser","edit_usercourse_name","isSelectUser","isDel","hoverIndex","menuTab","menuTabActive","getMenus","dyname","selectedItem","dialog","$addTag","toIndex1","showMenuUserOp","hideMenuUserOp","keyPath","selectSubMenu","selectMenuUser","selectMenuUser1","jdname","commit","showAddCourseUser","addUserCourseConfirm","_index","showDel","delUserCourseConfirm","showEdit","handleMenuEdit","clearAll","cou","components_CourseCom","course_list","default-openeds","unique-opened","active-text-color","mouseover","src_components_CourseCom","GuideOverseasCourseCom","mockMenus_1","mockMenus_2","components_GuideOverseasCourseCom","margin-top","src_components_GuideOverseasCourseCom","GuideOverseasCourseCom_normalizeComponent","GuideDomesticCourseCom","components_GuideDomesticCourseCom","src_components_GuideDomesticCourseCom","GuideDomesticCourseCom_normalizeComponent","guide_activeName","guide_courses","tongxi","tongxiu","tongde","defaultOpenedsxi","defaultOpenedsxiu","defaultOpenedsde","tongxiMenus","tongxiuMenus","tongdeMenus","courseClassNameGuideMode","courseComKey","selfCourses","isEditCourse","guiding1","courseList","initCourse","gotoUserCourse","delUserCurrentCourse","isCurrentCourse","addUserCourse","getGuideStatus","guideStatusStr","shouldTriggerGuide","courseClassName_initGuide_1","courseClassName_initGuide_2","course_class_tag","course_class_size","editCourse","step1Elements","step1","step3Elements","visibleStep3","step3","guideCourseComInit","guide_handleClick","confirm","components_Course","tab-position","stretch","Course_Component","Course_normalizeComponent","touchStartTime","getOffset","drop","nodesOffset","tree_Component","./headimage1.png","./headimage10.png","./headimage11.png","./headimage2.png","./headimage3.png","./headimage4.png","./headimage5.png","./headimage6.png","./headimage7.png","./headimage8.png","./headimage9.png","webpackContext","webpackContextResolve","problemSolving","truthBoxHeight","truthBoxStyle","fold","unfoldText","foldText","ellipsisStr","moral","addProblemSolve","problemSolveList","addProblemSolveTitleLayer","renderRealContext","saveEdit","saveAdd","backToProblemSolve","handleScroll","problemSolveTitle","distanceToBottom","scrollHeight","problemSolveTitleLayer","problemSolveTitleLines","saveDel","delUserQuestionSolve","currentProblemsolve","handle","ellipsis","addUserQuestionSolveShow","addUserQuestionSolve1","getQuestionSolve","shishi","course_solve_shishi","cuowu","course_solve_cuowu","fromProblemSolve","aside","problemSolveContent","white_problemSolving","direction","space","word-break","white-space","addUserQuestionSolveSuc","VUE_ENV","pdfjsWrapper","PDFJS","appVersion","PdfjsWorker","GlobalWorkerOptions","workerPort","componentFactory","__WEBPACK_IMPORTED_MODULE_0__utils_eventBus__","fullscreenMixins","eyeAnimationIng","courseChangeFullscreenWhite","courseChangeFullscreenBlack","blackCom","toggleBlack","com","pulishExperience","collList","isCollapse","bqList","publishExperienceLoading","course_station1","course_station2","mainActive","mainIndex","subMenuIndex","selMenu","submenuId","submenuitem","selSubMenu","allExperience","selBq","hiddenSubMenu","getUserExperience","_collList","personal_pulishExperience","bgColorPro","isDisabledGuide","showClo","isBlackMine","dialogVisibleFu","isGuiding","situation","visibleToast","xiaojue_open","isLoading","isFromIndex","userMessageUnread","toIndex","showDropdown","handleCloseFu","preventDropdown","myDropdown","toPage","aiXj","showCourse","toPage1","toStudyLog","toPersonal","toSet","toSelfHelp","toMindMessage","components_Hearder","arrow","__WEBPACK_IMPORTED_MODULE_16__views_white_studyLog_Index_vue__","StudyLog","encryptLong","__WEBPACK_IMPORTED_MODULE_0_jsencrypt__","JSEncrypt","setPublicKey","string","getKey","maxLength","bitLength","ct","entry","t1","hex2b64","ex","decryptLong","b64tohex","BigInteger","f","fromNumber","fromString","nbi","am","q","o","DB","DM","DV","FV","F1","BI_FP","F2","rr","vv","BI_RM","BI_RC","int2char","charAt","intAt","nbv","fromInt","nbits","c","Classic","m","Montgomery","mp","invDigit","mpl","mph","um","mt2","Arcfour","S","convert","compareTo","mod","revert","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","dlShiftTo","ZERO","subTo","copyTo","clamp","drShiftTo","toRadix","signum","chunkSize","z","intValue","LN2","fromRadix","lShiftTo","rShiftTo","w","l","A","u","ONE","isEven","exp","negate","modPowInt","rng_state","rng_pool","rng_pptr","rng_psize","rng_seed_time","rng_get_byte","SecureRandom","RSAKey","dmp1","dmq1","coeff","nextBytes","doPublic","setPublic","parseBigInt","pkcs1pad2","b64map","b64pad","audioCtx","analyser","drawPlayId","bufferLength","pCanvas","pCtx","minutes","seconds","flagIndex","isInited","playIndex","clickPlays","playEnd","onplay","onloadeddata","onloadedmetadata","draw","requestAnimationFrame","output","getByteTimeDomainData","fillStyle","fillRect","lineWidth","strokeStyle","beginPath","sliceWidth","moveTo","lineTo","closePath","stroke","components_PlayerAnalyseData","SILENT_URLS","shouldShowLoading","hideLoading","noLoading","pattern","RegExp","isLargeRequest","FormData","jsonString","disableRetry","pending","CancelToken","source","removePending","isRequest","getRequestIdentify","requestData","configUrl","paramsStr","_params","_notAllowedRepeat","lastParam","_requestData","paramsResult","onLine","Notification","ContentType","retryCount","_showLoading","URLSearchParams","notAllowedRepeat","cancelToken","pendingCount","isRefreshing","requests","_userInfo","_user","_userInfo2","_config","urlWhole","_config2","_configUrl","_urlWhole","_url","getNewUserToken","refresh_token","device_tag","newUserInfo","expiredTime","requestParamsStr","requestParams","param","rsa","cb","finally","MessageBox","popRequestParams","isLarge","createService","httpTest","accessible","script","ishttps","webIP","environment","course_ishide_new","getCanAccessYouTube","async","protocol","webIPNoCDN","xieyi_url","mindmap_img","meditate_image_size","meditate_pdf_size","mindmap_pdf_admin","mindmap_pdf_size_admin","feedback_img","feedback_image_size","experience_ishide","questiontag_num","gwworker_url","gwworker_hostport","gwworker_heartbeat","isInitialized","isInitialing","initPromise","pendingRequests","initialize","finalConfig","createRequest","setRequestParams","method","course_tongbu","version_date","params1","WHITE_CULTURE_CONTENT","WHITE_MIND_MEDITATE","WHITE_MIND_MEDITATE_PAGE","WHITE_THINK_MEDITATE","WHITE_THINK_MEDITATE_PAGE","WHITE_THINK_OCEAN","WHITE_TIPS_SQUARE","WHITE_CONFIRM_TIPS","WHITE_CREATE_TIPS","WHITE_EDIT_TIPS","WHITE_ICON","WHITE_PREV_COM","WHITE_CHILD_PREV_COM","WHITE_THINK_QUESTIONLIST","WHITE_THINK_PROBLEM","WHITE_CULTURE_MIND","BLACK_CULTRUE_CONTENT","BLACK_LIFEOCEAN","PUBLISH_BLACK_CASE","onlyShowBarPlay","openFullScreen","setLoadWidth","clearTimer","onmousedown","circle","updataTimeInterval","playStart","$loading","spinner","onaudioprocess","components_AudioCom","caseInfoData","swiperKey","swiperOption","watchSlidesProgress","whiteCaseListSwiper","paginationActiveColor","4","initSwiper","addCaseReadNum","course_case_see_num","toCaseListAnimation","blackCaseList","getCaseListbyType","closeDetail","getCaseTag","white_CaseList","--pagination-active-color","getToken","refreshToken","getRefreshToken","subPages","tagType","getPageName","mutations","SET_TOKEN","SET_RETOKEN","setTagType","setPageName","setCanAccessYouTube","actions","setToken","setRefreshToken","removeToken","removeRefreshToken","removeUserInfo","removeAllMindMap","RefreshToken","course_idExt","progress_meditate_xingwei_long","progress_meditate_siwei_long","prevChildCom","getWhiteActiveIndex","getProblemSolve","getProblemSolveList","getMoralComprehend","questionList","addTipData","confirmTipType","whiteFullScreenPages","experienceTagTypeObj","Com","blackTip","mindMapOfficial","mindMapGuide","isTaskProgressClick","guideName","setGuideName","setCourseList","setCourseIdExt","setCourseId","setCourseIsuseradd","setCourseIsChanged","setCourse","setCourseBase","setCourseProgress","setMindMeditate","setThinkMeditate","setMindMeditateLong","setThinkMeditateLong","setMenuType","setPrevCom","setPrevChildCom","setWhiteActiveIndex","setWhiteCom","setProblemSolve","setProblemSolveList","setMoralComprehend","setQuestionList","setTip","removeTip","setAddTipData","removeAddTipData","setEditTip","setConfirmTipType","setWhiteFullScreenPages","fullScreenPages","whiteFullScreenPagesSet","delete","setMenuTab","setMenuTabActive","setExperienceTagType","setBlackTip","setMindMap","mindMapJ","isOnlyReady","setMindMapGuide","setMindMapOfficial","setIsTaskProgressClick","setCurrentAudioContent","setCurrentAudioTime","SET_HISTORY_VERSION","payload","INIT_HISTORY_VERSION","SET_UNDO_REDO_ACTION","setWebLog","_ref17","_ref21","_ref24","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","_ref34","_ref35","_ref36","setHistoryVersion","_ref37","initHistoryVersion","_ref38","setUndoRedoAction","_ref39","getBlackCom","getCaseInfo","blackFullScreenPages","addCaseData","lifeOceanUrl","blackActiveIndex","getBlackActiveIndex","caseTagType","setBlackCom","setCaseInfo","setCase","removeCase","setAddCaseData","removeAddCaseData","setEditCase","setBlackFullScreenPages","blackFullScreenPagesSet","setLifeOceanUrl","setCaseTags","setBlackActiveIndex","setCaseTagType","setIsFromIndex","common","getHistoryOperate","setIsMac","setXiaojueOpen","pushHistoryOperate","setHistoryOperate","popHistoryOperate","clearHistoryOperate","setIsDeleteCourse","setIsLoading","setUserMessageUnread","toggleFullScreen","isGlobalLoadingInited","isGlobalLoading","increment_pending","decrement_pending","reset_pending","tryCount","cleanMindmapData","cleanNode","cleaned","isContentChanged","localData","remoteData","local","remote","localStr","remoteStr","localNodes","remoteNodes","localArr","remoteArr","compareNode","compareNodeArrays","localNode","remoteNode","localChildren","remoteChildren","localBtn","btn_add","remoteBtn","parseMindmapContent","decoded","decode","decodeError","parseError","webSocketModule","SET_WS","CLEAR_WS","SET_HEART_CHECK_TIMER","SET_ONLINE","SET_STATUS","SET_LOADING","setLoading","setOnline","startWebSocket","rootGetters","webs","WebSocket","onmessage","toLocaleString","courseJson","currentDeviceId","remoteContent","localContent","snapshotToSave","getDeviceId","pushUndo","clearRedoStack","getStackStatus","snapshotForRedo","popUndo","snapshotForUndo","popRedo","stackClearResult","clearAllStacks","onclose","wasClean","Message","onopen","sendWebSocketMessage","sendMsg","reconnectWebSocket","clearWebSocket","startHeartCheck","OPEN","clearHeartCheckTimer","courseIdExt","mindMapTimeStampOfficial","mindMapTimeStampGuide","webSocket","Vuex","vuex","Store","Reminder","views_Reminder","src_views_Reminder","login01","Messages","codeForm","send_type","new_code","new_password","codeRules","pwdFormBtnDis","codeFormBtnDis","resetFormBtnDis","codeBtnDis","resetCodeBtnDis","pwdForm","pwdRules","resetForm","resetRules","areaCodes","route","showVerify","getCode","codeType","useVerify","verify","closeReminder","isShowReminder","closeMessage","showMessage","vPhone","rule","onSubmitCode","agree","codeingTimer","codeingTime","codeing","codeingTime1","codeing1","codeingTimer1","onSubmitPwd","onSubmitReset","showResetPwd","getAreaCode","getCodeBefore","user_area_code","showPwdFn","showPwd","showForgetPwd","getIphone","device","isPhone","_xieyi_url","agreement","agreement1","views_login01","group","area_group_name","area_code","area_name","login01_Component","login01_normalizeComponent","paramsPro","_computed","triggerTouchend","isInPad","isIPad","outline_MyMindOutline","views_outline_MyMindOutline","MyMind","editOutline2","initCommand","MyMindOutline1","getMindmapAdmin","course_recommend_studythink_img_show","outline_MyMind","views_outline_MyMind","MyMind_normalizeComponent","Mind","isSaveServer","outline_Mind","views_outline_Mind","Mind_normalizeComponent","index_OutlineIndex","OutlineIndex_Component","OutlineIndex_normalizeComponent","isDropdownVisible","zhijingOptions","completeLength","zhijingIng","playTime","isSetComplete","isStop","audioComEnd","audioComStart","progress_meditate_siwei_complete","progress_meditate_xingwei_complete","getMeditateZhijingParams","zhijingarr","zhijing","mySelect","toggleMenu","white_Silence","sanitizeFileName","safeName","dataUrl","filename","html2canvas","useCORS","allowTaint","base64ToBlob","htmlToImage","imgProps","pdfWidth","pageHeight","heightLeft","imgData","jsPDF","orientation","unit","internal","getWidth","addPage","save","pixelRatio","quality","getImageProperties","API_KEY","timestampToTime","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","setStore","__WEBPACK_IMPORTED_MODULE_7_babel_runtime_core_js_json_stringify___default","getStore","removeStore","setCookie","day","setDate","cookie","getCookie","delCookie","throttle","func","args","isGetNowCourse","__WEBPACK_IMPORTED_MODULE_6_babel_runtime_core_js_promise___default","__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_defineProperty___default","last_request_time","appKey","md5","fromAPP","getLongCode","encodeURI","secTotime","hour","sec","secTotime1","deepClone","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_typeof___default","constructor","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_core_js_get_iterator___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_object_keys___default","measure","originEle","fixedContent","ellipsisContainer","originStyle","originCSS","getPropertyValue","pxToNumber","minHeight","textOverflow","whiteSpace","wrapperStyle","inRange","ellipsisTextNode","createTextNode","fixedContentNode","textNode","measureText","fullText","startLoc","endLoc","lastSuccessLoc","midLoc","currentText","currentStepText","finished","reactNode","wait","ensurePngSuffix","endsWith","downloadFile","msSaveBlob","blobURL","generateRandomString","characters","removeFontSize","richText","getChromeUrl","getIsAndroid","isXiaomiPad","isXiaomiDesktop","setFullHeight","getElementsByName","isAppleDevice","testAlert","isChildFullyVisible","parentBorderTop","borderTopWidth","parentBorderLeft","borderLeftWidth","parentTop","parentLeft","parentBottom","borderBottomWidth","parentRight","borderRightWidth","exportTreeAsPDF","treeData","doc","setFont","setFontSize","maxPageHeight","rootNode","drawNode","maxLen","confirmSave","action","comfirmData","strStart","prefix","meditate_text_prefix","focusGuancha","focusAnzhu","blurGuancha","blurAnzhu","inputGuancha","inputAnzhu","changeGuancha","changeAnzhu","detailRes","_res2","white_TipsViewAdd","avatarModel","avatarList","getHeadimageList","selectAvatar","setModel_avatarModel","white_setModel_avatarModel","messSet","cityList","doUpload","chageCity","setModel_messSet","white_setModel_messSet","messSet_normalizeComponent","account","passForm","passRules","passFormBtnDis","isShowSliderVerify","onSubmitPass","setModel_account","white_setModel_account","account_normalizeComponent","about","setModel_about","white_setModel_about","about_normalizeComponent","areasel","areaID","setModel_areasel","white_setModel_areasel","areasel_normalizeComponent","RecommendAdd","selected_feedback_type","feedback_content","feedback_mobile","feedback_type","imagesMaxLength","selectedFeedBackType","feedback_image","device_name","device_os_version","feedback_id","sizeTotal","_file","base64ToFileResult","setModel_RecommendAdd","selected","white_setModel_RecommendAdd","RecommendAdd_normalizeComponent","RecommendDetail","replys","feedback_reply_content","getFeedbackDetail","getFeedbackReplyList","image_show","feedback_image_show","imageNames","imageName","feedback_reply_time","setModel_RecommendDetail","feedback_reply_type","Recommend","RecommendDetail_normalizeComponent","showAdd","getFeedbackList","isAdded","isMounted","_datas2","feedback_create_at","addSuccesss","setModel_Recommend","white_setModel_Recommend","Recommend_normalizeComponent","recommend","white_set","set_Component","set_normalizeComponent","maxWithDrawLength","shift","triggerClickEvent1","_callee24","_context24","_callee25","_context25","_callee26","_context26","_callee27","_context27","_callee28","_context28","_console$log","_autoSaveInProgress","white_MyMindOutline","collected","collectedLoading","getExperienceByCollect","personal_collected","MoralQuestionsMainHis","grabCursor","mySwiperMainHis","titleRefHeight","smallquestionHeight","isChangeMoral","doneNum","guideSwiper","guide_mySwiperMain","titleHistoryRef","initSlidesAnimation","resizeBoxSize","shishiFinish","cuowuFinish","slideToActive","white_MoralQuestionsMainHis","views_white_MoralQuestionsMainHis","questionListHistorySwiper","backSlideTo","getQuestionHistory","getUserProgressHistory","destroySwiper","mouseoverArrow","mouseleaveArrow","activeIndex1","white_QuestionListHistory","isHover","QuestionListHistory_Component","QuestionListHistory_normalizeComponent","showCollectPro","commandOperate","commandOperateSpan","commandOperateEdit","commandOperateEditSpan","isSaveMindMapButton","preCourseId","needChangeCommand","imageCollect","isDelUserMindmapShow","isNotSave","loadingMsg","loadingType","lastSavedContent","pendingCallback","callbackRequestId","callbackTimestamp","callbackDataVersion","callbackType","_tempStatusCallback","isUndoProcessing","isRedoProcessing","isUndoProcessingTimeout","isRedoProcessingTimeout","undoRedoDuration","generateRequestId","requestId","isCallbackValid","elapsed","currentVersion","executeIfValid","exitEditCon","doNotSave","argu","addUserCollectionImage","_pdf2","parsedContent","executeUndoCallback","currentSnapshot","mindMapData","syncMindmapContent","handleUndo","executeRedoCallback","handleRedo","mindmapContent","handleOperateCommand","saveToImage","saveToPDF","myMindMap","myMindMap1","myMindMapClone","mindmap_content_parse","buildFlatNodes","exportMindmapToPDF","parentPath","isLast","currentPath","siblingGroups","map_default","has","aStr","bStr","_node","prevSibling","hasPrevSibling","hasNextSibling","jspdf_es_min","mmToPx","indentPx","fontSizePx","iconSizePx","usableWidthPx","pageWidthMm","titleHeightPx","pageHeightMm","tempCtx","maxPossibleIndent","iconAndSpacing","maxTextWidthPx","nodeRenderInfo","totalRenderLines","currentFontSize","font","words","currentLine","testLine","charLine","char","testChar","wrapText","lineHeightMm","lineHeightPx","renderLines","lineCount","startLineIndex","globalNodeMap","lastDescendantLineIndex","parentKey","parentInfo","pages","currentPageLines","nodeInfo","usableHeightForPage","currentPageHeightMm","_i3","remainingHeight","nodeTotalHeight","_i4","lineIndexInNode","_i5","_addedLines","_i6","splitNodeStart","isSplit","splitPart","splitNodeEnd","_i7","_i8","addedLines","_i9","_splitNodeEnd","_i10","subtreeAnchors","pageLines","pageIndex","lineObj","canvasWidthPx","canvasHeightPx","imageSmoothingEnabled","imageSmoothingQuality","textBaseline","contentOffsetPx","titleY","fillText","nodeIconPositions","currentRenderHeightPx","yIcon","xIcon","fill","textX","yText","setLineDash","groups","pageLine","allSiblings","siblingPaths","_i13","curr","currPos","nextPos","firstInPage","lastInPage","firstPos","_endY","values_default","anchor","anchorKey","pageStartLine","pageEndLine","overlapStart","overlapEnd","localStartY","_i11","localEndY","_i12","anchorPos","saveMindMap1","arge","newContentToSave","_mindMap","_mindmap_content","_mindmap_content2","currentContent","clearedCount","silentMode","resNewest","_courseProgress","inputLen","_i14","_i15","saveImagesToServe","delegateYield","white_MyMind","undo","redo","views_white_MyMind","mockData","mindMapGuideMode","isShowCommandMindmap","myMind","setSyncMindmapContentStart","mindMap_initGuide","white_Mind","Mind_Component","blackCaseListSwiper","black_CaseList","paddingRight","CultureContent","showFayi","contentClass","setShowFayi","studyLog_CultureContent","white_studyLog_CultureContent","CultrueContent","showXindes","dialogVisibleContent","boxAniDuration","prevPlayIndex","mock_mindmap_content","getBoxAniDuration","progress_fayi_read_num_set","progress_fayi_read_num_show","studyLogDialog","showXindesFn","studyLog_Detail","animationDelay","meditate_siwei_complete","meditate_xingwei_complete","experience_read","experience_read_num","lifeocean","progress_isread_lifeocean","Detail_Component","Detail_normalizeComponent","components_NoData","canOperate","EditTipsAudioCom","getUserExperienceDetail","white_EditTips","relatedAudios","operates","selectAudio1","selectAudio","pauseAudio","white_CultrueContentAudioDetail","course_audio_intro","Culture","isHoverMind","isHoverCultureContent","isChangeCourse","cultureGuideMode","toCultrueContentCard","toCultrueContent","toMindCard","toMind","openCultureDrawer","white_Culture","icon-to-component","icon-to-component-hover","icon-to-component-selected","icon-to-component-unSelected","CultrueContentA","CultrueContentB","MindA","MindB","menubox-card","menubox-card-selected","views_white_Culture","Thinking","progress_see_question","progress_solve_question","questionSeePer","xingweiPer","isHoverProblem","isHoverQuestion","isHoverTipsView","thinkingGuideMode","formatData","toMeditateDetailCard","toMeditateDetail","meditate_audio_url_show","toQuestionList","toProblem","white_Thinking","ProblemA","progress_see_question_complete","ProblemB","QuestionListA","progress_solve_question_complete","QuestionListB","TipsViewA","TipsViewB","views_white_Thinking","Thinking_normalizeComponent","CircleCom","barColor","dashArray","PI","dashOffset","components_CircleCom","viewBox","gradientUnits","x1","y1","x2","y2","stop-color","strokeWidth","cx","cy","stroke-dasharray","stroke-dashoffset","src_components_CircleCom","CircleCom_normalizeComponent","Behavior","bechaviorGuideMode","xintaiPer","xintaiPer1","progress_experience_read_num","showProgress","isHoverBehaviorAudio","isHoverConfirmTips","isHoverTipsSquare","behaviorGuideMode","toTipsSquare","toConfirmTipslCard","toTipsSquareCard","white_Behavior","BehaviorAudioA","BehaviorAudioB","ConfirmTipsA","ConfirmTipsB","TipsSquareA","TipsSquareB","slideCircle","slideCircle1","views_white_Behavior","Behavior_normalizeComponent","Personality","isHoverPersonnality","toOceanCard","toOcean","white_Personality","OceanA","OceanB","views_white_Personality","Personality_normalizeComponent","TaskProgeress","imgTops","questionSolvePer","isHoverMindTp","isHoverProblemTp","isHoverQuestionTp","isHoverTipsViewTp","isHoverBehaviorAudioTp","isHoverConfirmTipsTp","isHoverTipsSquareTp","isHoverPersonnalityTp","resizeWindow","toThinkMedidate","toMindMedidate","formatProgress","getElementDistanceToAncestor","ancestor","currentElement","setImgTop","setImgTopResize","getVerticalDistanceToAncestor","white_TaskProgeress","views_white_TaskProgeress","TaskProgeress_normalizeComponent","Menus","isFirstShowTp","showIconPage","lockActiveIndex","beforeActionIndex","navClass","secClass","isClick","secItems","navItems","personalityLayerShow","personalityHeight","isScolling","lastScrollTop","scrollEndTop","intervalTime","tagTypeData","navNeedAni","nowTime","clickMainMenuEvent","fromEvent","nextActiveIndex","scrollTopStore","pageNameStore","getCourseMeditate","contentWhite","clickNav","clickMenus","isScrollEnd","getScrollTop","getAudioTotalTime","res2","navon","transition1","getScrollHeight","animationScrollTop","maxScrollTop","newLevel","maxTime","timeer","clearCardStatus","allHeight","clickMainMenuingValue","isBoxStaticScrolling","isClickMainMenuing","boxLastScrollTop","getCardStatus","returnType","itemDoms","boxScrollTop","currActiveIndex","isDisibledScroll","setScrollTopTimeValue","triggerSetTagType","fromFn","oldActiveIndex","toComponentFunction","bindClickMainMenu","sideMaodian","bindBoxWheel","lastTimeStamp","setWheelTopTimeValue","bindDisibledScroll","timeValueMouseOver","setActiveforChildPage","initLocalStorageWhiteCom","Problem","QuestionList","TipsView","BehaviorAudio","ConfirmTips","TipsSquare","Ocean","timeValueSetActiveChild","scrollH","slideIndex","menuSwitching","isNeedEyeAni","setTimeValueGoWhite","white_Menus","card-content-box","card-content-box-active","views_white_Menus","Menus_normalizeComponent","CultrueContent_CustomBlockEmbed","get_default","CustomBlockEmbed","__proto__","get_prototype_of_default","quill_default","setFayi","handlers","isFayiExit","txt_leg_top","whiteComCurrent","editorEnabled","wrapLen","guideFayi","canSave","getContents","text1","lastDelta","prevLength","dd","pElements","_color","childNodesLength","_child","getFormat","closeTimeoutValue","initGuideDrawer","course_intro_short_guide","course_title_guide","initDrawer","course_title","removeContentScroll","getText","setSelection","bindQlToolbarEvent","bindTouchStart","bindTouchMove","bindTouchEnd","setContentScrollClass","setCourseContentGuideStatus","colorFormat","timeoutValue","white_CultrueContent","views_white_CultrueContent","CultrueContent_normalizeComponent","maxLinesPerPage","firstMaxLinesPerPage","currentLineCount","currentGlobalStartLine","maxLines","remainingLines","globalStartLine","globalEndLine","newRemaining","globalStart","take","_splitAndPushNode","linesInCurrentPage","linesInNextPage","currentPart","nextPart","pageNodes","pageGlobalStart","pageGlobalEnd","sum","titleX","currentRenderLine","lineIdx","firstIndex","lastIndex","pageBottomY","lastPos","_startY2","_endY2","localStartLine","localEndLine","Mind_MyMind","pad_Mind_MyMind","utils_intro","Mind_Mind","pad_Mind_Mind","showTipsViewAdd","showTipsViewDetail","tipsViewGuideMode","audioComTipsview","toTipsViewAdd","toTAudioAdd","goTipsViewDetail","total_seconds","setCurrentTime","setShowTipsViewDetail","tipsView_initGuide","white_TipsView","margin-left","views_white_TipsView","TipsView_normalizeComponent","audioComBehaviorAudio","behavior_initGuide","white_BehaviorAudio","views_white_BehaviorAudio","BehaviorAudio_normalizeComponent","lifeOceanVideoHeight","lifeOceanVideoWidth","getLifeOceanVideo","lifeOceanVideo","ocean_initGuide","ocean","white_Ocean","views_white_Ocean","Ocean_normalizeComponent","TipDetail","toBlackCase","addUserExperienceRead","white_TipDetail","createTime","views_white_TipDetail","TipDetail_normalizeComponent","heartPlazaGuideStatus","prevFullscreen","experience_order","getExperienceSquare","addUserCollectionFn","getData1","white_TipsSquare","views_white_TipsSquare","TipsSquare_normalizeComponent","conformTipsGuideMode","otherPage","noMoreOther","classDatas","guideClassDatas","otherDatas","tipsClassLoading","tipsOtherLoading","confirmTipTypeLast","prevPlayIndexOther","getClassPage","_classDatas","getOtherPage","_otherDatas","toCreateTips","toEditTips","toEditTips1","changeFile","readAsArrayBuffer","conformTips_initGuide","white_ConfirmTips","align-items","views_white_ConfirmTips","ConfirmTips_normalizeComponent","MoralQuestionsMain","course_slove_type","mySwiperMain","_slides","guide_swiperOptions","guideCurrentIndex","canAdd","questionListGuideMode","titleRef","course_solve_ids","guideInitSlidesAnimation","toProblemSolveDetail","backFromProblemSolveDetail","whiteMainContainer","moralQuestionMainSwiper","white_MoralQuestionsMain","views_white_MoralQuestionsMain","MoralQuestionsMain_normalizeComponent","guideSwiperKey","_diff","_translate","isToQuestionDetail","toFullscreenLeft","_diff2","_translate2","guideSwiperOption","getGuideSwiperSlides","guideQuestionListSwiper","guideActiveIndex","_diff3","_translate3","_diff4","_translate4","solveIdsLen","titleBg","lastRoute","needBack","questionListHistoryLen","toHistory","eq","_diff5","_translate5","_diff6","_translate6","guideClickSlide","guideInitSwiper","setTranslate","question_1_initGuide","guideToFullscreenLeft","question_initGuide","moralQuestionsMain","backToFullscreenLeft","_diff7","guideBackToFullscreenLeft","_diff8","_translateY2","problemWorkOut_1","white_QuestionList","views_white_QuestionList","QuestionList_normalizeComponent","problem","mockQuestionList","questiontags_title","tagsSelectted","dataSelect","showAddBtn","tagsTrue","problemConsciousnessGuideMode","timerFullscreen","timerScroll","openCommitProblemCard","getQuestiontags","$commitProblemBox","setFullscreen","setScrollIntoView","questiontags_isuseradd","questiontags_istrue","questiontags_isselect","showAddQuestiontags","addQuestion","editQuestiontags","addQuestiontags","questiontags_id","delQuestion","selQ","questiontags_ids","problemConsciousness_initGuide","white_problem","views_white_problem","problem_normalizeComponent","MoralQuestionsAside","unsolved","white_MoralQuestionsAside","MoralComprehend","MoralQuestionsAside_normalizeComponent","white_MoralComprehend","views_white_MoralComprehend","MoralComprehend_normalizeComponent","white_Detail","views_white_Detail","LayoutWhite","rollbackAction","PadMind","Icon","isInStudyLogBookList","showEye","routeName","mainStyle","showIconAniLeft","showWhiteEyeAni","hideWhiteEye","isFullscreen","showFullEyeIcon","showIconAniLeftFull","showOtherPageEyeIcon","showOtherPageEyeIconAni","showPageEyeIcon","toRoute","fromRoute","showIsCenterEye","isLogoClick","disableOperateMode","isWhiteDisabledGuide","clickAside","toTaskProgress","closeOtherPage","whiteIconContainer","closeIconPage","closeFullScreen","closeOtherPage1","openOtherPage","triggerNewUserGuide","guideEventName","localStorageName","timeValueNewUserGuide","setBodyHeight","isCloseProgressThen","timeValueCloseProgress","isInBookList","white_LayoutWhite","views_white_LayoutWhite","LayoutWhite_normalizeComponent","black_Culture","toCaseList","toWhiteTipsList","hoverBlackCulture","blackContent","blackMore","outBlackCulture","views_black_Culture","src_views_black_Culture","Culture_normalizeComponent","MenusBlack","showCaseCard","navMenu","isWindows","cultureData","thinkingData","behaviorData","personalityData","showCaseInited","scrollTopBlack","getCaseInfobyType","contentBlack","sideMaodianBlack","sideMaodianBlackRect","navBlack","cultureRect","li","listStyle","backFromCaseList","caseListNav","caseListNav1","navonBlack","ScrollTopBlack","number","spacingTime","spacingInex","nowTop","everTop","scrollTimer","toScroll","black_MenusBlack","views_black_MenusBlack","MenusBlack_normalizeComponent","black_CultrueContent","views_black_CultrueContent","src_views_black_CultrueContent","black_CultrueContent_normalizeComponent","LifeOcean","black_LifeOcean","autoplay","loop","controlsList","views_black_LifeOcean","LifeOcean_normalizeComponent","CaseCard","isShowChangeAni","caseRemind1","caseRemind2","caseRemind3","caseRemind4","getRandomCaseRemindList","setShowCaseCard","shuffleArray","shuffledArray","_datas4","_datas5","_datas3","_shuffledArray","_datas7","_datas8","_datas6","_shuffledArray2","_datas10","_datas11","_datas9","_shuffledArray3","getCaseRemindList","black_CaseCard","case_remind_content","views_black_CaseCard","CaseCard_normalizeComponent","black_GuideCaseCard","views_black_GuideCaseCard","GuideCaseCard_normalizeComponent","LayoutBlack","PublishBlackCase","GuideCaseCard","showWhiteIcon","showBlackEyeAni","hideBlackEye","layoutBlackGuideStatus","isBlackDisabledGuide","blackMain","iconsBlack","cultureArrow","layoutBlack1_initGuide","eyeEl","layoutBlack2_initGuide","layoutBlack3_initGuide","layoutBlack4_initGuide","guide1","guide3","guide4","blackIndex","black_LayoutBlack","exclude","views_black_LayoutBlack","LayoutBlack_normalizeComponent","WhiteFolding","white_WhiteFolding","views_white_WhiteFolding","WhiteFolding_normalizeComponent","BlackFolding","black_BlackFolding","views_black_BlackFolding","BlackFolding_normalizeComponent","Header","active","index_Header","views_index_Header","Header_normalizeComponent","BStatus","WStatus","tStatus","tsStatus","tsStatus1","headerStatus","RtshiBg","rightStatus","leftStatus","isFullcreenMode","isBlackLayer","mindType","isSafari","SafariVerSion","showRtishi","showLtishi","excludedWhitePages","isApple","isPageHideFired","mindMessageTimeout","mindMessageDuration","getIsFullscreenMode","getTimeInterval","getNowCourse","course_class_title","overRtishi","leaveRtishi","overLtishi","leaveLtishi","goBlack","goBlack2","goBlack1","goBlack11","goWhite1","tsClick1","asyncTsClick","moveTish","isSafariFn","centerLeft","versionMatch","index_initGuide","index_initGuide_1","index_guide_1","index_initGuide_2","guide_steps","enableReadOnlyMode","overlay","disableReadOnlyMode","setBlackTheme","getUserRemindList","getUserMessageUnread","index_Index","Index_Component","Index_normalizeComponent","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn-bd","./bn-bd.js","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-in","./en-in.js","./en-nz","./en-nz.js","./en-sg","./en-sg.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-mx","./es-mx.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fil","./fil.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-deva","./gom-deva.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./oc-lnc","./oc-lnc.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tk","./tk.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-mo","./zh-mo.js","./zh-tw","./zh-tw.js","black_publishBlackCase","DetailIndex","isHadToDetail","hadToDetailTimeValue","studyLog_DetailIndex","getExperienceMess","personal_collectedMess","openDatabase","db","objectStore","onsuccess","onloadend","_base64String$split","_base64String$split2","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_slicedToArray___default","metadata","base64Data","mimeString","File","_base64String$split3","_base64String$split4","drawImage","dataURL","quotaInfo","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_regenerator___default","usagePercent","databaseName","allItems","maxOrder","getAll","sortOrder","checkStorage","removeFile","storeName","idToPrioritize","targetItem","currentMax","updateRequest","_x21","mp4boxfile","MP4Box","createFile","videoTrack","videoTracks","codec","isHVC1","isHEV1","buffer","fileStart","appendBuffer","indexedDB","onupgradeneeded","objectStoreNames","createObjectStore","autoIncrement","createIndex","unique","historyStore","stackStore","minOrder","saveFile","maxRetries","_insertData","_isQuotaExceeded","blobToFile","fileOptions","lastModified","blobData","analyzis","mimeType","canPlay","analyzeVideo","codecType","isSupported","supportLevel","fullData","deviceId","IDBKeyRange","only","newVersionId","versionId","snapshot","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_json_stringify___default","generateDeviceId","addRequest","limit","sorted","deleteCount","maxCount","snapshots","minVersionId","maxVersionId","versionIds","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray___default","redoRequest","redoItems","undoRequest","undoItems","toDelete","record","_x41","_x42","topItem","redoRecord","_x44","_x45","undoRecord","_x46","_x47","_x48","_x49","_x50","stackType","_callee29","_context29","_callee30","_context30","components_Message","course_case_statusCon","case_tag_content","createCaseContent","$createCaseInput","tag3","tag0","beforeTagActive","currTagActive","setCaseTag","_cases","editCourseCase","addCourseCase","course_case_statusPre","blackCreateCase","black_CreateCase","iid"],"mappings":"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ACA,OACA,KAEAC,qBACA,OACA,KAEAC,kBACA,OACA,KAEAC,kBACA,OACA,KAEAC,kBACA,OACA,KAEAC,kBACA,OACA,KAEAC,qBACA,OACA,KAEAC,qBACA,OACA,KAEAC,qBACA,OACA,KAEAC,qBACA,OACA,KAEAC,uBACA,OACA,KAEAC,uBACA,OACA,KAEAC,iBACA,OACA,KAEAC,iBACA,OACA,KAEAC,iBACA,OACA,KAEAC,sBACA,OACA,KAEAC,sBACA,OACA,KAEAC,iBACA,OACA,KAEAC,oBACA,OACA,KAEAC,oBACA,OACA,IAEAC,gBACA,OACA,IAEAC,gBACA,OACA,IAEAC,qBACA,OACA,IAEAC,qBACA,OACA,IAEAC,mBACA,OACA,IAEAC,mBACA,OACA,IAEAC,sBACA,OACA,IAEAC,sBACA,OACA,IAEAC,qBACA,OACA,IAEAC,qBACA,OACA,IAEAC,iBACA,OACA,IAEAC,iBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,sBACA,OACA,IAEAC,sBACA,OACA,IAEAC,aACA,OACA,IAEAC,sBACA,OACA,IAEAC,sBACA,OACA,IAEAC,sBACA,OACA,IAEAC,sBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,sBACA,OACA,IAEAC,sBACA,OACA,IAEAC,mBACA,OACA,IAEAC,oBACA,OACA,IAEAC,qBACA,OACA,IAEAC,qBACA,OACA,IAEAC,iBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,iBACA,OACA,IAEAC,uBACA,OACA,IAEAC,0BACA,OACA,IAEAC,0BACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,uBACA,OACA,IAEAC,oBACA,OACA,IAEAC,iBACA,OACA,IAEAC,iBACA,OACA,IAEAC,kBACA,OACA,IAEAC,kBACA,OACA,IAEAC,iBACA,OACA,IAEAC,yBACA,OACA,IAEAC,yBACA,OACA,IAEAC,0BACA,OACA,IAEAC,0BACA,OACA,IAEAC,0BACA,OACA,IAEAC,0BACA,OACA,IAEAC,yBACA,OACA,IAEAC,yBACA,OACA,IAEAC,wBACA,OACA,IAEAC,wBACA,OACA,IAEAC,yBACA,OACA,IAEAC,yBACA,OACA,IAEAC,yBACA,OACA,IAEAC,yBACA,OACA,IAEAC,wBACA,OACA,IAEAC,wBACA,OACA,IAEAC,yBACA,OACA,IAEAC,4BACA,OACA,IAEAC,4BACA,OACA,IAEAC,yBACA,OACA,IAEAC,0BACA,OACA,IAEAC,0BACA,OACA,IAEAC,0BACA,OACA,IAEAC,0BACA,OACA,IAEAC,yBACA,OACA,IAEAC,yBACA,OACA,IAEAC,8BACA,OACA,IAEAC,8BACA,OACA,IAEAC,8BACA,OACA,IAEAC,8BACA,OACA,IAEAC,6BACA,OACA,IAEAC,6BACA,OACA,IAEAC,+BACA,OACA,IAEAC,4BACA,OACA,IAEAC,4BACA,OACA,IAEAC,+BACA,OACA,IAEAC,+BACA,OACA,IAEAC,mCACA,OACA,IAEAC,mCACA,OACA,IAEAC,wBACA,OACA,IAEAC,wBACA,OACA,GAEAC,yBACA,OACA,GAEAC,yBACA,OACA,GAEAC,yBACA,OACA,GAEAC,yBACA,OACA,GAEAC,wBACA,OACA,GAEAC,wBACA,OACA,GAEAC,aACA,OACA,GAEAC,qBACA,OACA,IAGA,SAAAC,EAAAC,GACA,IAAApzE,EAAA+N,EAAAqlE,GACA,OAAApzE,EAEA1vC,EAAAkF,EAAAwqC,EAAA,IAAAplC,KAAA,WACA,OAAAtK,EAAA0vC,EAAA,MAFAqzE,QAAA14F,OAAA,IAAAsxC,MAAA,uBAAAmnD,EAAA,OAKAD,EAAAhmE,KAAA,WACA,OAAAv5C,OAAAu5C,KAAAY,IAEAolE,EAAAn1G,GAAA,OACAxO,EAAAC,QAAA0jH,sBC9qBA3jH,EAAAC,QAAA,m5ECgKA6jH,GACAp5E,kBAAA,GACAnpC,cACAC,KAHA,WAIA,OACAuyB,YAAA,EACAvxB,QACAuhH,MAAA,GACAC,oBAAA,GACAr4E,UAAA,IAGA73B,UACAmD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ACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,QAAA,OACAC,WAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,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","file":"static/js/app.d87720b4b77b51138e3b.1779689415717.js?t=1779689415717","sourcesContent":["module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTlweCIgdmlld0JveD0iMCAwIDE3LjAgMTkuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg1NC4wIC0xNTAuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc3NS4zMjc4Njg4NTI0NTg5IDE0MC44NTI0NTkwMTYzOTM5NCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgwLjMyNzg2ODg1MjQ1OTAyIDEwLjQ0MjYyMjk1MDgxOTQpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjI3NjA3NjU5MzcyMjY2OSAyLjkzMjU0NTc2MDYwNDE3NTQpIj48cGF0aCBkPSJNMCwwIEwwLjAwMzAwNzczOTI0LDExLjA2OTY4MzUgQzAuMDAzNjA5Mjg3MDksMTIuMjEwMjE4MiAwLjkyODE4ODMzLDEzLjEzNTM5ODggMi4wNjkzMjQ2LDEzLjEzNjYwMTkgTDcuMDI5Njg4MTYsMTMuMTQxNDE1NSBDOC4xNzIwMjc1MiwxMy4xNDI2MTc0IDkuMDk5NjE0MywxMi4yMTYyMzM3IDkuMDk5NjE0MywxMS4wNzMyOTI4IEw5LjA5OTYxNDMsMCIgc3Ryb2tlPSIjNjNBRUQ0IiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCAyLjYzMTc3MTgzNjQzOTY0NikiPjxwYXRoIGQ9Ik0wLDAuMzAwNzczOTI0IEwxMy42NTU3Mzc3LDAuMzAwNzczOTI0IiBzdHJva2U9IiM2M0FFRDQiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4xMjgwNzUwOTc0MzU1ODUgMC4wKSI+PHBhdGggZD0iTTAsMC4zMDA3NzM5MjQgTDMuMzk4NzQ1MzQsMC4zMDA3NzM5MjQiIHN0cm9rZT0iIzYzQUVENCIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjIxMDc4NzkyNjU4MDgzIDUuMzM3MTEyOTc0NzI5OTMzNSkiPjxwYXRoIGQ9Ik0wLjMwMDc3MzkyNCwxMC43Mzg4MzIyIEwwLjMwMDc3MzkyNCwwIiBzdHJva2U9IiM2M0FFRDQiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy44NDI1NTk3NjMwMjA0NzMgNS4zMzcxMTI5NzQ3Mjk5MzM1KSI+PHBhdGggZD0iTTAuMzAwNzczOTI0LDEwLjczODgzMjIgTDAuMzAwNzczOTI0LDAiIHN0cm9rZT0iIzYzQUVENCIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/moral_del.svg\n// module id = +EP7\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjJweCIgdmlld0JveD0iMCAwIDIwLjAgMjIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMTA0IEwwLDExMDQgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iaTEiIHgxPSIyLjM2NzUyOTUzcHgiIHkxPSIxLjgzMTk5NjIxcHgiIHgyPSI5LjI5MTY2NTM0cHgiIHkyPSIxNS4xNDkwNTY3cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRDNEOURBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0QzRDlEQSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImkyIiB4MT0iMy41NTI5Mzc2NXB4IiB5MT0iMC4wODM4NTk1NjQ2cHgiIHgyPSIxMy45NDM5NDc2cHgiIHkyPSIwLjY5MzQ0NzU1N3B4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0QzRDlEQSIgb2Zmc2V0PSIwJSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNEM0Q5REEiIG9mZnNldD0iMTAwJSI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJpMyIgeDE9IjAuODg0MjgyNTMxcHgiIHkxPSIwLjA4Mzg1OTU2NDZweCIgeDI9IjMuNDcwNDc3MjRweCIgeTI9IjAuNjkzNDQ3NTU3cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRDNEOURBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0QzRDlEQSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Imk0IiB4MT0iMC4xNTY1MTAxODNweCIgeTE9IjEuNDk3MDYwOTVweCIgeDI9IjAuNjE0MjQzNzU5cHgiIHkyPSIxMi4zNzk0MjU4cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRDNEOURBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0QzRDlEQSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Imk1IiB4MT0iMC4xNTY1MTAxODNweCIgeTE9IjEuNDk3MDYwOTVweCIgeDI9IjAuNjE0MjQzNzU5cHgiIHkyPSIxMi4zNzk0MjU4cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRDNEOURBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0QzRDlEQSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcxNy4wIC01NzUuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ2NC4wIDU2NC4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjU0LjAgMTEuOTk5OTk5OTk5OTk5OTk4KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy4wMDAxNTg1ODMzMjE1MzUgMy42NDgzNjQ5NzEyMDYzMTk4KSI+PHBhdGggZD0iTTAsMCBMMC4wMDM5NjQ1ODMwNiwxMy43NzE3MzU4IEMwLjAwNDc1NzQ5OTY3LDE1LjE5MDY2OTIgMS4yMjM0NzAzMywxNi4zNDE2ODE1IDIuNzI3NjMzMTQsMTYuMzQzMTc4MyBMOS4yNjYwMjM1MiwxNi4zNDkxNjY4IEMxMC43NzE3NzIyLDE2LjM1MDY2MjEgMTEuOTk0NDQ5NiwxNS4xOTgxNTMgMTEuOTk0NDQ5NiwxMy43NzYyMjYxIEwxMS45OTQ0NDk2LDAiIHN0cm9rZT0idXJsKCNpMSkiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDMuMjc0MTczNjkyMTA3MDY5NykiPjxwYXRoIGQ9Ik0wLDAuMzc0MTkxMjc5IEwxOCwwLjM3NDE5MTI3OSIgc3Ryb2tlPSJ1cmwoI2kyKSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2Ljc1OTQ1NTUzMDU5MzE4NiAwLjApIj48cGF0aCBkPSJNMCwwLjM3NDE5MTI3OSBMNC40Nzk5Nzg4NiwwLjM3NDE5MTI3OSIgc3Ryb2tlPSJ1cmwoI2kzKSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2Ljg2ODQ4MTU2NDY4ODQwOSA2LjYzOTg3NDU3MTA4MzA1NSkiPjxwYXRoIGQ9Ik0wLjM5NjQ1ODMwNiwxMy4zNjAxMjU0IEwwLjM5NjQ1ODMwNiwwIiBzdHJva2U9InVybCgjaTQpIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjMzNzQ5MTc0MDQ1MjYwNiA2LjYzOTg3NDU3MTA4MzA1NSkiPjxwYXRoIGQ9Ik0wLjM5NjQ1ODMwNiwxMy4zNjAxMjU0IEwwLjM5NjQ1ODMwNiwwIiBzdHJva2U9InVybCgjaTUpIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/del_audio.svg\n// module id = +VJd\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgwLjAgLTMxNi4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODAuMCAzMTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI3LDAgMjcsMjcgMCwyNyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAgNy4wMDAwMDAwMDAwMDAwMDEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi45OTk5OTk5OTk5OTkzNCA0LjQ0MjYyNzEwMzMxMTAxNykgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik00LjQ0MjYyNzEsNC40NDI2MjcxIEw0LjQ0MjYyNzEsMi4zNTIwODk3NCBDNC40NDI2MjcxLDEuMDUzMjY1NzkgMy4zODkzNjEzMiwwIDIuMDkwNTM3MzYsMCBMMCwwIiBzdHJva2U9IiNGRkIwOTYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNDQyNjI3MTAzMzExMDE3IDEzLjAwMDE4ODE2NzE3OTMzMSkgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik0wLDAgTDAsMi4wOTA1MzczNiBDMCwzLjM4OTM2MTMyIDEuMDUzMjY1NzksNC40NDI2MjcxIDIuMzUyMDg5NzQsNC40NDI2MjcxIEw0LjQ0MjYyNzEsNC40NDI2MjcxIiBzdHJva2U9IiNGRkIwOTYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/exit_fullscreen_behavior_b.svg\n// module id = +Zsv\n// module chunks = 171","<template>\r\n  <div class=\"no-data\">\r\n    <img src=\"@/assets/img/black_none.svg\" />\r\n    <p class=\"none\">暂无数据</p>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.no-data {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  img {\r\n    width: 154px;\r\n    height: 154px;\r\n  }\r\n  .none {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: rgba(255, 255, 255, 0.3);\r\n    line-height: 18px;\r\n    text-align: center;\r\n    margin-top: 20px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/NoDataBlack.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"no-data\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/black_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-068b7cb6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/NoDataBlack.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-068b7cb6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./NoDataBlack.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./NoDataBlack.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./NoDataBlack.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-068b7cb6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./NoDataBlack.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-068b7cb6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/NoDataBlack.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0LjAgMjQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTEuNSwwIEMxNy44NTEyNzQ2LDAgMjMsNS4xNDg3MjUzOCAyMywxMS41IEMyMywxNy44NTEyNzQ2IDE3Ljg1MTI3NDYsMjMgMTEuNSwyMyBDNS4xNDg3MjUzOCwyMyAwLDE3Ljg1MTI3NDYgMCwxMS41IEMwLDUuMTQ4NzI1MzggNS4xNDg3MjUzOCwwIDExLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpMyI+PHBhdGggZD0iTTEuMjc3Nzc3NzgsMCBDMS45ODM0NzQ5NiwwIDIuNTU1NTU1NTYsMC41NzIwODA1OTcgMi41NTU1NTU1NiwxLjI3Nzc3Nzc4IEMyLjU1NTU1NTU2LDEuOTgzNDc0OTYgMS45ODM0NzQ5NiwyLjU1NTU1NTU2IDEuMjc3Nzc3NzgsMi41NTU1NTU1NiBDMC41NzIwODA1OTcsMi41NTU1NTU1NiAwLDEuOTgzNDc0OTYgMCwxLjI3Nzc3Nzc4IEMwLDAuNTcyMDgwNTk3IDAuNTcyMDgwNTk3LDAgMS4yNzc3Nzc3OCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik05LjU4MzMzMzMzLDAgQzkuOTM2MTgxOTIsLTYuNzg5NTE5NTllLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNSI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5MiwtOC40MTk3MzM1MmUtMTYgMTAuMjIyMjIyMiwwLjI4NjA0MDI5OSAxMC4yMjIyMjIyLDAuNjM4ODg4ODg5IEMxMC4yMjIyMjIyLDAuOTkxNzM3NDc5IDkuOTM2MTgxOTIsMS4yNzc3Nzc3OCA5LjU4MzMzMzMzLDEuMjc3Nzc3NzggTDAuNjM4ODg4ODg5LDEuMjc3Nzc3NzggQzAuMjg2MDQwMjk5LDEuMjc3Nzc3NzggNC4zMjExNDg5N2UtMTcsMC45OTE3Mzc0NzkgMCwwLjYzODg4ODg4OSBDLTQuMzIxMTQ4OTdlLTE3LDAuMjg2MDQwMjk5IDAuMjg2MDQwMjk5LDYuNDgxNzIzNDVlLTE3IDAuNjM4ODg4ODg5LDAgTDkuNTgzMzMzMzMsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9Imk2Ij48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNyI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5Miw2LjAxMzE2NThlLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NzYuMCAtNDAyLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NzYuMCA0MDIuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNSAwLjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMywwIDIzLDIzIDAsMjMgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSI+PC9wb2x5Z29uPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMTEuNSwyMyBDMTcuODUxMjc0NiwyMyAyMywxNy44NTEyNzQ2IDIzLDExLjUgQzIzLDUuMTQ4NzI1MzggMTcuODUxMjc0NiwwIDExLjUsMCBDNS4xNDg3MjUzOCwwIDAsNS4xNDg3MjUzOCAwLDExLjUgQzAsMTcuODUxMjc0NiA1LjE0ODcyNTM4LDIzIDExLjUsMjMgWiIgc3Ryb2tlPSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSI1Ij48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuODMzMzMzMzMzMzMzNTM1NSA1LjExMTExMTExMTExMTEzNikiPjxnIGNsaXAtcGF0aD0idXJsKCNpMikiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDIuNTU1NTU1NTYsMCAyLjU1NTU1NTU2LDIuNTU1NTU1NTYgMCwyLjU1NTU1NTU2IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZCMDk2Ij48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTAuMjIyMjIyMjIyMjIyMjIxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kzKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMi41NTU1NTU1NiwwIDIuNTU1NTU1NTYsMi41NTU1NTU1NiAwLDIuNTU1NTU1NTYgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNGRkIwOTYiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMzA1NTU1NTU1NTU0OTUgNS43NTAwMDAwMDAwMDAwMjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMC4yMjIyMjIyLDAgMTAuMjIyMjIyMiwxLjI3Nzc3Nzc4IDAsMS4yNzc3Nzc3OCAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGQjA5NiI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxMC44NjExMTExMTExMTExMSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZCMDk2Ij48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTUuMzMzMzMzMzMzMzMzMzEpIj48ZyBjbGlwLXBhdGg9InVybCgjaTYpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyLjU1NTU1NTU2LDAgMi41NTU1NTU1NiwyLjU1NTU1NTU2IDAsMi41NTU1NTU1NiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGQjA5NiI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxNS45NzIyMjIyMjIyMjIxOSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNykiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZCMDk2Ij48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/progress2.svg\n// module id = /QLi\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI2cHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDI2IDI2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7liIfniYc8L3RpdGxlPg0KICAgIDxkZWZzPg0KICAgICAgICA8Y2lyY2xlIGlkPSJwYXRoLTEiIGN4PSIxMyIgY3k9IjEzIiByPSIxMyI+PC9jaXJjbGU+DQogICAgICAgIDxmaWx0ZXIgeD0iLTMwLjglIiB5PSItMzAuOCUiIHdpZHRoPSIxNzYuOSUiIGhlaWdodD0iMTc2LjklIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMiI+DQogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjIiIGR5PSIyIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0Pg0KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMDUgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4Pg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhteeZvW1pbmlWMuW/g+W+l+W5v+WcuiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI4MS4wMDAwMDAsIC00MjguMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0i55m954mMIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5My4wMDAwMDAsIC02MTcuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9IuihjOS4uueZveWNoSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAuMDAwMDAwLCA4MjQuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxnIGlkPSLmj5DkuqTlv4PlvpfljaHniYciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCAxODYuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i57yW57uELTciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1OC4wMDAwMDAsIDM1LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSLmpK3lnIblvaIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRkIwOTYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBpZD0iU3Ryb2tlLTEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHBvaW50cz0iMTkuODUzMzQxNCA4Ljg2MjA2ODk3IDEyLjIzNDM2NTcgMTYuNjYyMDY5IDYuODUzMzQxMzggMTEuNjg4NDgwMyI+PC9wb2x5bGluZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/studylog_tips_confirm.svg\n// module id = /RWn\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/logo_personality_overseas.1add80f.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_personality_overseas.svg\n// module id = /b5m\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMi4wIC0xMjEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMi4wIDEyMS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMjcsMCAyNywyNyAwLDI3IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj48L3BvbHlnb24+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMCA2Ljk5OTk5OTk5OTk5OTk5OSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguNTU3MzcyODk2Njg4MzIxIDAuMCkiPjxwYXRoIGQ9Ik00LjQ0MjYyNzEsNC40NDI2MjcxIEw0LjQ0MjYyNzEsMi4zNTIwODk3NCBDNC40NDI2MjcxLDEuMDUzMjY1NzkgMy4zODkzNjEzMiwwIDIuMDkwNTM3MzYsMCBMMCwwIiBzdHJva2U9IiNGRkIwOTYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCA4LjU1NzU2MTA2Mzg2ODIwNikiPjxwYXRoIGQ9Ik0wLDAgTDAsMi4wOTA1MzczNiBDMCwzLjM4OTM2MTMyIDEuMDUzMjY1NzksNC40NDI2MjcxIDIuMzUyMDg5NzQsNC40NDI2MjcxIEw0LjQ0MjYyNzEsNC40NDI2MjcxIiBzdHJva2U9IiNGRkIwOTYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/fullscreen_behavior_black.svg\n// module id = /gOd\n// module chunks = 171","<template>\r\n  <div class=\"editor\" id=\"cultrue_intro_edit\" v-if=\"app_type == 1\">\r\n    <el-input\r\n      type=\"textarea\"\r\n      maxlength=\"1000\"\r\n      placeholder=\"请输入课程简介\"\r\n      v-model=\"course_intro_short\"\r\n      :resize=\"'none'\"\r\n      show-word-limit\r\n    >\r\n    </el-input>\r\n    <quill-editor\r\n      ref=\"myQuillEditor\"\r\n      v-model=\"course_intro\"\r\n      :options=\"editorOption\"\r\n      :key=\"editorKey\"\r\n      class=\"ql-editor\"\r\n      @blur=\"onEditorBlur($event)\"\r\n      @focus=\"onEditorFocus($event)\"\r\n      @change=\"onEditorChange($event)\"\r\n      @ready=\"onEditorReady\"\r\n      :disabled=\"add_auth == 2\"\r\n    ></quill-editor>\r\n    <p class=\"txt_leg\"\r\n            ref=\"textLeg\">{{ len }}/{{ limitNumb }}</p>\r\n    <div class=\"save\">\r\n      <el-button v-throttle=\"[editCourseIntroAdmin]\" v-loading=\"loading\" :disabled=\"course_intro == '' || course_intro_short == ''\"\r\n        >保存</el-button\r\n      >\r\n    </div>\r\n  </div>\r\n  <div class=\"editor editor_global\" id=\"cultrue_intro_edit\" v-else>\r\n    <el-form :model=\"ruleForm\" :rules=\"rules\" ref=\"ruleForm\" label-width=\"160px\" class=\"demo-ruleForm\">\r\n      <el-form-item label=\"课程简介\" prop=\"course_intro_short\">\r\n        <el-input type=\"textarea\" maxlength=\"1000\" :resize=\"'none'\" v-model=\"ruleForm.course_intro_short\" placeholder=\"请输入课程简介\" show-word-limit></el-input>\r\n      </el-form-item>\r\n      <el-form-item class=\"form_item_global\" label=\"书籍编号\" prop=\"book_id\">\r\n        <el-input v-model=\"ruleForm.book_id\"></el-input>\r\n      </el-form-item>\r\n      <el-form-item class=\"form_item_global\" label=\"章节编号\" prop=\"chapter_id\">\r\n        <el-input v-model=\"ruleForm.chapter_id\"></el-input>\r\n      </el-form-item>\r\n      <el-form-item class=\"form_item_global\" label=\"开始字数\" prop=\"start_index\">\r\n        <el-input v-model=\"ruleForm.start_index\"></el-input>\r\n      </el-form-item>\r\n      <el-form-item class=\"form_item_global\" label=\"课程封面图\" prop=\"course_cover\">\r\n        <el-input v-model=\"ruleForm.course_cover\"></el-input>\r\n      </el-form-item>\r\n      <!-- web端数据 -->\r\n      <el-form-item class=\"form_item_global\" label=\"web课程详情\" prop=\"course_intro_type\">\r\n        <el-radio-group v-model=\"ruleForm.course_intro_type\">\r\n          <el-radio label=\"1\" :disabled=\"disabled == 1\">文字</el-radio>\r\n          <el-radio label=\"2\" :disabled=\"disabled == 2\">pdf</el-radio>\r\n        </el-radio-group>\r\n      </el-form-item>\r\n      <el-form-item v-if=\"ruleForm.course_intro_type == 1\" class=\"form_item_global global_editor\" label=\"\" prop=\"course_intro\">\r\n        <quill-editor\r\n          ref=\"myQuillEditor\"\r\n          :key=\"editorKey\"\r\n          v-model=\"ruleForm.course_intro\"\r\n          :options=\"editorOption\"\r\n          class=\"ql-editor ql-editor-web\"\r\n          id=\"ql-editor-web\"\r\n          @blur=\"onEditorBlur($event)\"\r\n          @focus=\"onEditorFocus($event)\"\r\n          @change=\"onEditorChange($event)\"\r\n          @ready=\"onEditorReady\"\r\n          :disabled=\"add_auth == 2\"\r\n        ></quill-editor>\r\n        <p class=\"txt_leg\"\r\n          ref=\"textLeg\">{{ len }}/{{ limitNumb }}</p>\r\n      </el-form-item>\r\n      <el-form-item v-else label=\"\" prop=\"course_intro_pdf\">\r\n        <div v-if=\"ruleForm.course_intro_pdf\">\r\n          <span>{{ pdfName }}</span>&nbsp;&nbsp;<el-button size=\"small\" @click=\"deletePdf\"><i class=\"el-icon-delete\"></i></el-button>\r\n        </div>\r\n        <el-button v-else size=\"small\" @click=\"uploadPdf\">上传pdf</el-button>\r\n      </el-form-item>\r\n      <!-- app端 -->\r\n      <el-form-item class=\"form_item_global\" label=\"app课程详情\" prop=\"course_intro_type_app\">\r\n        <el-radio-group v-model=\"ruleForm.course_intro_type_app\">\r\n          <el-radio label=\"1\" :disabled=\"disabledApp == 1\">文字</el-radio>\r\n          <el-radio label=\"2\" :disabled=\"disabledApp == 2\">pdf</el-radio>\r\n        </el-radio-group>\r\n      </el-form-item>\r\n      <el-form-item v-if=\"ruleForm.course_intro_type_app == 1\" class=\"form_item_global global_editor\" label=\"\" prop=\"course_intro_app\">\r\n        <quill-editor\r\n          ref=\"myQuillEditorApp\"\r\n          v-model=\"ruleForm.course_intro_app\"\r\n          :options=\"editorOption\"\r\n          :key=\"editorAppKey\"\r\n          class=\"ql-editor ql-editor-app\"\r\n          id=\"ql-editor-app\"\r\n          @blur=\"onEditorBlur($event)\"\r\n          @focus=\"onEditorFocus($event)\"\r\n          @change=\"onEditorChangeApp($event)\"\r\n          @ready=\"onEditorReadyApp\"\r\n          :disabled=\"add_auth == 2\"\r\n        ></quill-editor>\r\n        <p class=\"txt_leg\"\r\n          ref=\"textLeg\">{{ lenApp }}/{{ limitNumb }}</p>\r\n      </el-form-item>\r\n      <el-form-item v-else label=\"\" prop=\"course_intro_pdf_app\">\r\n        <div v-if=\"ruleForm.course_intro_pdf_app\">\r\n          <span>{{ pdfNameApp }}</span>&nbsp;&nbsp;<el-button size=\"small\" @click=\"deletePdfApp\"><i class=\"el-icon-delete\"></i></el-button>\r\n        </div>\r\n        <el-button v-else size=\"small\" @click=\"uploadPdfApp\">上传pdf</el-button>\r\n      </el-form-item>\r\n      <el-form-item>\r\n        <div class=\"save\">\r\n          <el-button  @click=\"submitForm('ruleForm')\" v-loading=\"loading\"\r\n            >保存</el-button\r\n          >\r\n        </div>\r\n      </el-form-item>\r\n    </el-form>\r\n\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getCourseIntroAdmin, editCourseIntroAdmin } from \"@/api/index\";\r\nimport { uploaDOSS } from \"@/utils/oss\";\r\nimport {\r\n  getOssConfig,\r\n  getBase64ByFile,\r\n  saveFile,\r\n} from \"@/utils/indexDb\";\r\nimport { decrypt } from \"@/utils/auth\";\r\nimport { generateRandomString } from \"@/utils/util\";\r\n\r\nimport \"quill/dist/quill.core.css\";\r\nimport \"quill/dist/quill.snow.css\";\r\nimport \"quill/dist/quill.bubble.css\";\r\nimport { Base64 } from \"js-base64\";\r\n// import { Chrome } from 'vue-color';\r\n\r\nlet fontSize = [\r\n  \"4em\",\r\n  \"3.1em\",\r\n  \"2.7em\",\r\n  \"2em\",\r\n  \"1.9em\",\r\n  \"1.8em\",\r\n  \"1.7em\",\r\n  \"1.6em\",\r\n  \"1.5em\",\r\n  \"1.4em\",\r\n  \"1.3em\",\r\n  \"1.2em\",\r\n  \"1.1em\",\r\n  \"1em\",\r\n  \"0.9em\",\r\n  \"0.8em\",\r\n  \"0.7em\",\r\n  \"0.6em\",\r\n];\r\n// // 自定义工具栏按钮的图标（可选）\r\n// const customButtonIcon = `<svg viewBox=\"0 0 18 18\">\r\n//   <path d=\"M5 8v1h8V8H5zm0 2v1h6v-1H5z\" fill=\"currentColor\"/>\r\n// </svg>`;\r\n\r\nexport default {\r\n  components: {\r\n    // 'chrome-picker': Chrome, // 注册 vue-color 的 Chrome 组件\r\n  },\r\n  data() {\r\n    return {\r\n      app_type: 2,\r\n      course_intro: \"\",\r\n      course_intro_short: \"\",\r\n      params: {},\r\n      course_isuseradd: \"\",\r\n      editorOption: {\r\n        // 占位配置\r\n        placeholder: \"请输入...\",\r\n        height: \"300px\",\r\n        modules: {\r\n          \"emoji-toolbar\": true, //该项需要结合表情包进行展示配置[如果不需要表情包可直接删除]\r\n          \"emoji-shortname\": true, //该项需要结合表情包进行展示配置[如果不需要表情包可直接删除]\r\n          // 配置工具栏\r\n          toolbar: {\r\n            container: [\r\n              [\"emoji\"], //表情包一般位于工具栏的首位，故而调整至首位\r\n              [\"bold\", \"italic\", \"underline\", \"strike\"], // 加粗 斜体 下划线 删除线\r\n              // [\"blockquote\", \"code-block\"], // 引用  代码块\r\n              // [{ header: 1 }, { header: 2 }], // 1、2 级标题\r\n              // [{ header: [1, 2, 3, 4, 5, 6] }], //几级标题\r\n              // [{ size: ['10px', '12px', false, '16px', '18px', '20px', '30px', '32px'] }], // 字体大小\r\n              [{ size: fontSize }], // 字体大小\r\n              [{ list: \"ordered\" }, { list: \"bullet\" }], // 有序、无序列表\r\n              // [{ script: \"sub\" }, { script: \"super\" }], // 上标/下标\r\n              [{ indent: \"-1\" }, { indent: \"+1\" }], // 缩进\r\n              // [{ direction: \"rtl\" }], // 文本方向\r\n              // [\"link\"], // 链接、图片、视频\r\n              [{ align: [] }], // 添加居中按钮\r\n              // [{ 'size': ['small', false, 'large', 'huge'] }], // 字体大小\r\n              [{ color: [] }, { background: [] }], // 文字颜色按钮\r\n              [{ clean: true }],\r\n              ['custom-color'], // 自定义按钮\r\n            ]\r\n          },\r\n          // 更改插入的图片大小\r\n          // imageResize: {\r\n          //   displayStyles: {\r\n          //     backgroundColor: \"black\",\r\n          //     border: \"none\",\r\n          //     color: \"white\"\r\n          //   },\r\n          //   modules: [\"Resize\", \"DisplaySize\", \"Toolbar\"]\r\n          // }\r\n        }\r\n      },\r\n      loading: false,\r\n      limitNumb: 50000,\r\n      len: 0,\r\n      lenApp: 0,\r\n      toolbarTips: [\r\n        { Choice: \".ql-bold\", title: \"加粗\" },\r\n        { Choice: \".ql-italic\", title: \"倾斜\" },\r\n        { Choice: \".ql-underline\", title: \"下划线\" },\r\n        { Choice: \".ql-header\", title: \"段落格式\" },\r\n        { Choice: \".ql-strike\", title: \"删除线\" },\r\n        { Choice: \".ql-blockquote\", title: \"块引用\" },\r\n        { Choice: \".ql-code-block\", title: \"插入代码段\" },\r\n        { Choice: \".ql-size\", title: \"字体大小\" },\r\n        { Choice: '.ql-list[value=\"ordered\"]', title: \"编号列表\" },\r\n        { Choice: '.ql-list[value=\"bullet\"]', title: \"项目列表\" },\r\n        { Choice: '.ql-header[value=\"1\"]', title: \"h1\" },\r\n        { Choice: '.ql-header[value=\"2\"]', title: \"h2\" },\r\n        { Choice: \".ql-align\", title: \"对齐方式\" },\r\n        { Choice: \".ql-color\", title: \"字体颜色\" },\r\n        { Choice: \".ql-background\", title: \"背景颜色\" },\r\n        { Choice: \".ql-image\", title: \"图像\" },\r\n        { Choice: \".ql-video\", title: \"视频\" },\r\n        { Choice: \".ql-link\", title: \"添加链接\" },\r\n        { Choice: \".ql-formula\", title: \"插入公式\" },\r\n        { Choice: \".ql-clean\", title: \"清除格式\" },\r\n        { Choice: '.ql-indent[value=\"-1\"]', title: \"向左缩进\" },\r\n        { Choice: '.ql-indent[value=\"+1\"]', title: \"向右缩进\" },\r\n        { Choice: \".ql-header .ql-picker-label\", title: \"标题大小\" },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"1\"]',\r\n          title: \"标题一\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"2\"]',\r\n          title: \"标题二\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"3\"]',\r\n          title: \"标题三\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"4\"]',\r\n          title: \"标题四\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"5\"]',\r\n          title: \"标题五\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"6\"]',\r\n          title: \"标题六\",\r\n        },\r\n        { Choice: \".ql-header .ql-picker-item:last-child\", title: \"标准\" },\r\n        {\r\n          Choice: '.ql-size .ql-picker-item[data-value=\"small\"]',\r\n          title: \"小号\",\r\n        },\r\n        {\r\n          Choice: '.ql-size .ql-picker-item[data-value=\"large\"]',\r\n          title: \"大号\",\r\n        },\r\n        {\r\n          Choice: '.ql-size .ql-picker-item[data-value=\"huge\"]',\r\n          title: \"超大号\",\r\n        },\r\n        { Choice: \".ql-size .ql-picker-item:nth-child(2)\", title: \"标准\" },\r\n        { Choice: \".ql-align .ql-picker-item:first-child\", title: \"居左对齐\" },\r\n        {\r\n          Choice: '.ql-align .ql-picker-item[data-value=\"center\"]',\r\n          title: \"居中对齐\",\r\n        },\r\n        {\r\n          Choice: '.ql-align .ql-picker-item[data-value=\"right\"]',\r\n          title: \"居右对齐\",\r\n        },\r\n        {\r\n          Choice: '.ql-align .ql-picker-item[data-value=\"justify\"]',\r\n          title: \"两端对齐\",\r\n        },\r\n        { Choice: \".ql-emoji\", title: \"表情\" },\r\n      ],\r\n      ruleForm: {\r\n        course_intro_short: '',\r\n        course_intro: '',\r\n        book_id: '',\r\n        chapter_id: '',\r\n        course_cover: '',\r\n        start_index: '',\r\n        course_intro_type: '1',\r\n        course_intro_pdf: '',\r\n        course_intro_app: '',\r\n        course_intro_type_app: '1',\r\n        course_intro_pdf_app: ''\r\n      },\r\n      rules: {\r\n        course_intro_short: [\r\n          // { required: true, message: '请输入课程简介', trigger: 'blur' },\r\n          // { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }\r\n        ],\r\n        course_intro: [\r\n          // { required: true, message: '请输入课程详情', trigger: 'blur' },\r\n        ]\r\n      },\r\n      isClipborad: false,\r\n      pdfName: \"\",\r\n      disabled: '',\r\n      pdfName: '',\r\n      disabledApp: '',\r\n      add_auth: '',\r\n      editorKey: generateRandomString(5),\r\n      editorAppKey: generateRandomString(5)\r\n      // showColorPicker: false,\r\n      // colors: { hex: '#000000' }, // 默认颜色\r\n    };\r\n  },\r\n  watch: {\r\n    ruleForm: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"ruleForm:\", v);\r\n        if(v) {\r\n          if(v.course_intro_pdf && v.course_intro_type == 2) {\r\n            this.disabled = 1;\r\n          } else if(v.course_intro && v.course_intro_type == 1) {\r\n            this.disabled = 2;\r\n          } else {\r\n            this.disabled = '';\r\n          }\r\n\r\n          if(v.course_intro_pdf_app && v.course_intro_type_app == 2) {\r\n            this.disabledApp = 1;\r\n          } else if(v.course_intro_app && v.course_intro_type_app == 1) {\r\n            this.disabledApp = 2;\r\n          } else {\r\n            this.disabledApp = '';\r\n          }\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  },\r\n  methods: {\r\n    deletePdfApp() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.ruleForm.course_intro_pdf_app = \"\";\r\n    },\r\n    deletePdf() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.ruleForm.course_intro_pdf = \"\";\r\n      // this.editCourseIntroAdmin();\r\n    },\r\n    // 上传pdf\r\n    uploadPdf() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      const course_pdf_size = decrypt((localStorage.getItem(\"course_pdf_size\")));\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \".pdf\";\r\n      // input.multiple = \"multiple\";\r\n      input.onchange = e => {\r\n\r\n        let file = input.files[0];\r\n        if (!/\\.(pdf)$/.test(file.name)) {\r\n          this.$message.error(\"只能上传pdf文件\");\r\n          return false;\r\n        } else if (Math.round((file.size * 100) / (1024 * 1024)) / 100 > course_pdf_size) {\r\n          this.$message.error(`上传的文件不能大于${course_pdf_size}M`);\r\n          return false;\r\n        } else {\r\n          this.pdfChange(file);\r\n        }\r\n      };\r\n      input.dispatchEvent(new MouseEvent(\"click\"));\r\n    },\r\n    uploadPdfApp() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      const course_pdf_size = decrypt((localStorage.getItem(\"course_pdf_size\")));\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \".pdf\";\r\n      // input.multiple = \"multiple\";\r\n      input.onchange = e => {\r\n\r\n        let file = input.files[0];\r\n        if (!/\\.(pdf)$/.test(file.name)) {\r\n          this.$message.error(\"只能上传pdf文件\");\r\n          return false;\r\n        } else if (Math.round((file.size * 100) / (1024 * 1024)) / 100 > course_pdf_size) {\r\n          this.$message.error(`上传的文件不能大于${course_pdf_size}M`);\r\n          return false;\r\n        } else {\r\n          this.pdfChange(file, 2);\r\n        }\r\n      };\r\n      input.dispatchEvent(new MouseEvent(\"click\"));\r\n    },\r\n    async pdfChange(file, type = 1) {\r\n      this.loading = true;\r\n      let directory = decrypt(localStorage.getItem(\"course_pdf\"));\r\n      let res = await uploaDOSS(file, directory);\r\n\r\n      if(type == 1) {\r\n        this.pdfName = res.fileName;\r\n        this.ruleForm.course_intro_pdf = res.fileUrl;\r\n      } else {\r\n        this.pdfNameApp = res.fileName;\r\n        this.ruleForm.course_intro_pdf_app = res.fileUrl;\r\n      }\r\n\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      const pdfBase64 = await getBase64ByFile(file);\r\n      this.loading = false;\r\n\r\n      // 保存到indexDb\r\n      await saveFile(url, res.fileName, pdfBase64);\r\n      this.editCourseIntroAdmin();\r\n    },\r\n    compareRGB(color2) {\r\n      const colors = ['rgb(155, 187, 89)', 'rgb(118, 146, 60)'];\r\n      // 提取 RGB 值\r\n      const extractRGB = (color) => {\r\n        const match = color.match(/\\d+/g); // 匹配数字部分\r\n        return {\r\n          r: parseInt(match[0], 10),\r\n          g: parseInt(match[1], 10),\r\n          b: parseInt(match[2], 10)\r\n        };\r\n      };\r\n      let flag = false;\r\n      colors.forEach((color) => {\r\n        const rgb1 = extractRGB(color);\r\n        const rgb2 = extractRGB(color2);\r\n        const flag1 = rgb1.r === rgb2.r && rgb1.g === rgb2.g && rgb1.b === rgb2.b;\r\n        if(flag1) {\r\n          flag = flag1;\r\n        }\r\n      });\r\n      // 比较 RGB 分量\r\n      return flag;\r\n    },\r\n    // clickEditor(e) {\r\n    //   this.showColorPicker = false;\r\n    // },\r\n    // // 更新字体颜色\r\n    // updateColor(color) {\r\n    //   const quill = this.$refs.myQuillEditor.quill; // 获取 Quill 实例\r\n    //   const range = quill.getSelection(true); // 获取当前选中的文本范围\r\n    //   if (range) {\r\n    //     quill.formatText(range.index, range.length, 'color', color.hex); // 设置字体颜色\r\n    //   }\r\n    // },\r\n    submitForm(formName) {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      if(this.$refs[formName]) {\r\n        this.$refs[formName].validate((valid) => {\r\n          if (valid) {\r\n            this.editCourseIntroAdmin();\r\n          } else {\r\n            console.log('error submit!!');\r\n            return false;\r\n          }\r\n        });\r\n      }\r\n\r\n    },\r\n    getParams() {\r\n      // {user_id, token, mindmap_content, course_id}\r\n      const url = window.location.href; //获取当前url\r\n      // const dz_url = url.split(\"#\")[0]; //获取#/之前的字符串\r\n      console.log(\"url:\", url);\r\n      const param = decodeURIComponent(url.split(\"?\")[1]);\r\n      const params = param.split(\"&\");\r\n      this.course_isuseradd = params[0].split(\"=\")[1];\r\n      this.params = params[1].split(\"=\")[1]; //获取?之后的参数字符串,course_id=1的rsa加密\r\n      this.add_auth = params[2].split(\"=\")[1];\r\n      console.log(\"add_auth:\", this.add_auth);\r\n      this.editorKey = generateRandomString(5);\r\n      this.editorAppKey = generateRandomString(5);\r\n      console.log(\"getParams:\", this.params);\r\n      console.log(this.course_isuseradd);\r\n      // let params = {};\r\n      if (this.params) {\r\n        this.getCourseIntroAdmin();\r\n      }\r\n    },\r\n    async getCourseIntroAdmin() {\r\n      try {\r\n        const res = await getCourseIntroAdmin(this.params);\r\n        if (res && res.code === 0 && res.data[0]) {\r\n          if(this.app_type == 1) {\r\n            this.course_intro = res.data[0].course_intro;\r\n            this.course_intro_short = res.data[0].course_intro_short;\r\n          } else {\r\n            const course_intro_pdf = res.data[0].course_intro_pdf;\r\n            const course_intro_pdf_app = res.data[0].course_intro_pdf_app;\r\n            this.ruleForm = {\r\n              course_intro_short: res.data[0].course_intro_short,\r\n              course_intro: res.data[0].course_intro,\r\n              course_intro_app: res.data[0].course_intro_app,\r\n              book_id: res.data[0].book_id,\r\n              chapter_id: res.data[0].chapter_id,\r\n              course_cover: res.data[0].course_cover,\r\n              start_index: res.data[0].start_index,\r\n              course_intro_pdf: res.data[0].course_intro_pdf,\r\n              course_intro_type: res.data[0].course_intro_type + \"\",\r\n              course_intro_pdf_app: res.data[0].course_intro_pdf_app,\r\n              course_intro_type_app: res.data[0].course_intro_type_app + \"\",\r\n            }\r\n            if(course_intro_pdf) {\r\n              const course_intro_pdfs = course_intro_pdf.split(\"/\");\r\n              this.pdfName = course_intro_pdfs[course_intro_pdfs.length - 1];\r\n            }\r\n            if(course_intro_pdf_app) {\r\n              const course_intro_pdfs = course_intro_pdf_app.split(\"/\");\r\n              this.pdfNameApp = course_intro_pdfs[course_intro_pdfs.length - 1];\r\n            }\r\n            console.log(\"getCourseIntroAdmin:\", this.ruleForm)\r\n          }\r\n        } else {\r\n          if(this.app_type == 1) {\r\n            this.course_intro = \"\";\r\n            this.course_intro_short = \"\";\r\n          } else {\r\n            this.$refs['ruleForm'].resetFields();\r\n          }\r\n\r\n        }\r\n        this.initEditorTooltip();\r\n      } catch (error) {\r\n        console.log(\"getCourseIntroAdmin:::\", error);\r\n      }\r\n\r\n      // debugger;\r\n      // getCourseIntroAdmin(this.params).then(res => {\r\n      //   console.log(res, res.code, res.data[0]);\r\n\r\n      // });\r\n    },\r\n    editCourseIntroAdmin() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      if(this.app_type == 1) {\r\n        if(this.course_intro == \"\") {\r\n          this.$message({\r\n            message: \"内容不能为空\",\r\n            type: \"warning\"\r\n          });\r\n          return;\r\n        } else if(this.course_intro_short == \"\") {\r\n          this.$message({\r\n            message: \"简介不能为空\",\r\n            type: \"warning\"\r\n          });\r\n          return;\r\n        }\r\n      }\r\n\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n\r\n      let params = {};\r\n      if(this.app_type == 1) {\r\n        const course_intro = Base64.encode(this.course_intro);\r\n        params = {\r\n          course_intro,\r\n          course_intro_short: this.course_intro_short\r\n        };\r\n      } else {\r\n        const course_intro = Base64.encode(this.ruleForm.course_intro);\r\n        const course_intro_app = Base64.encode(this.ruleForm.course_intro_app);\r\n        params = {\r\n          ...this.ruleForm,\r\n          course_intro,\r\n          course_intro_app\r\n        }\r\n      }\r\n      console.log(\"editCourseIntroAdmin:\", params);\r\n\r\n      editCourseIntroAdmin(params, this.params).then(res => {\r\n        if (res && res.code == 0) {\r\n          this.loading = false;\r\n          this.$message({\r\n            message: \"保存成功\",\r\n            type: \"success\"\r\n          });\r\n        }\r\n      });\r\n    },\r\n    onEditorBlur(quill) {\r\n      // quill.enable(this.add_auth == 2)\r\n      // console.log(\"editor blur!\", quill);\r\n    },\r\n    onEditorFocus(quill) {\r\n      // if(this.add_auth)\r\n      // quill.enable(this.add_auth == 2)\r\n      if(this.add_auth == 2) {\r\n        this.$refs.myQuillEditor.quill.blur()\r\n      }\r\n      // console.log(\"editor focus!\", quill);\r\n    },\r\n    onEditorReady(quill) {\r\n      console.log(\"editor ready!\", quill);\r\n      // if (this.auth == 2) {\r\n      //   this.$refs.myQuillEditor.quill.disable()\r\n      // } else {\r\n      //   this.$refs.myQuillEditor.quill.enable()\r\n      // }\r\n      // 自定义粘贴处理\r\n      quill.clipboard.addMatcher(Node.TEXT_NODE, (node, delta) => {\r\n        this.isClipborad = true;\r\n        // 获取父元素\r\n        const parentNode = node.parentNode;\r\n        // 获取父元素的计算样式\r\n        const computedStyle = window.getComputedStyle(parentNode);\r\n        // 获取字体颜色\r\n        const color = computedStyle.color;\r\n        console.log(parentNode, color)\r\n        const text = node.data;\r\n        let newDelta = {\r\n          ops: []\r\n        }\r\n        // 清空原始 delta 操作\r\n        // delta.ops = [];\r\n        // 分割段落\r\n        const paragraphs = text.split('\\n');\r\n        const len = paragraphs.length - 1;\r\n        // 对每个段落进行处理\r\n        paragraphs.forEach((paragraph, index) => {\r\n          // 去掉开头的空格\r\n          const trimmedParagraph = paragraph.replace(/^\\s+/, '');\r\n          const flag = this.compareRGB(color);\r\n          console.log(\"flag:\", flag);\r\n          if(flag) {\r\n            // 插入处理后的段落\r\n            newDelta.ops.push({ insert: ' ' + trimmedParagraph, attributes: { color } });\r\n          } else {\r\n             // 插入处理后的段落\r\n             newDelta.ops.push({ insert: ' ' + trimmedParagraph, attributes: { } });\r\n          }\r\n        });\r\n        console.log(\"newDelta:\", newDelta)\r\n        return newDelta;\r\n      });\r\n      // quill.clipboard.addMatcher(Node.ELEMENT_NODE, (node, delta) => {\r\n      //   this.isClipborad = true;\r\n      //   // 获取节点的文本内容\r\n      //   const text = node.textContent;\r\n\r\n      //   // 获取节点的样式\r\n      //   const color = node.style.color; // 字体颜色\r\n      //   const backgroundColor = node.style.backgroundColor; // 背景颜色\r\n      //   const fontSize = node.style.fontSize; // 字体大小\r\n\r\n      //   console.log('粘贴的文本:', text);\r\n      //   console.log('字体颜色:', color);\r\n      //   console.log('背景颜色:', backgroundColor);\r\n      //   console.log('字体大小:', fontSize);\r\n      //   const TARGET_COLOR = 'rgb(118, 146, 60)';\r\n\r\n      //   delta.ops = delta.ops.map(op => {\r\n      //     if (color) {\r\n      //       let flag = false;\r\n      //       flag = this.compareRGB(color, TARGET_COLOR);\r\n      //       console.log(\"flag:\", flag);\r\n      //       // 检查颜色是否等于目标颜色\r\n      //       if (!flag) {\r\n      //         // 如果颜色不等于目标颜色，删除 color 属性\r\n      //         delete op.attributes.color;\r\n      //       }\r\n      //     }\r\n      //     delete op.attributes.backgroundColor;\r\n      //     console.log(op)\r\n      //     return op;\r\n      //   });\r\n\r\n      //   return delta;\r\n      // });\r\n    },\r\n    onEditorChange({ quill, html, text }) {\r\n      if(this.add_auth) {\r\n        this.$refs.myQuillEditor.quill.blur()\r\n      }\r\n      // 如果是粘贴的先进行添加缩进处理，然后设置isClipborad = false后再进行字数计算\r\n      if(this.isClipborad) {\r\n        const cultrue_intro_edit = document.getElementById(\"cultrue_intro_edit\");\r\n        const qlEditor =  cultrue_intro_edit.querySelectorAll(\".ql-editor-web\");\r\n        // 找到所有的 <p> 元素\r\n        const pElements = qlEditor[0].querySelectorAll('p');\r\n\r\n        // 遍历每个 <p> 元素\r\n        pElements.forEach((pElement) => {\r\n          const pText = pElement.textContent;\r\n          // 找到 <p> 元素下的所有 <span> 元素\r\n            // 获取所有子节点\r\n          const children = pElement.children;\r\n          // 遍历每个直接元素\r\n          children.forEach((child) => {\r\n            if (child.nodeType === Node.ELEMENT_NODE) {\r\n              // 获取父元素的计算样式\r\n              const computedStyle = window.getComputedStyle(child);\r\n              // 获取字体颜色\r\n              const color = computedStyle.color;\r\n              let flag = false;\r\n              if(color) {\r\n                flag = this.compareRGB(color);\r\n              }\r\n              // if(!flag) {\r\n              //   child.style.color = '';\r\n              // }\r\n              // 获取 <span> 元素的文本内容\r\n              const text = child.textContent;\r\n              // 判断文本是否以空格开头\r\n              if (/^\\s/.test(text)) {\r\n                // 去掉开头的空格\r\n                child.textContent = text.replace(/^\\s+/, '');\r\n                child.style.backgroundColor = '';\r\n                pElement.classList.add('ql-indent-1');\r\n              }\r\n            } else {\r\n              // const text = pElement.textContent;\r\n              // // 判断文本是否以空格开头\r\n              // if (/^\\s/.test(text)) {\r\n              //   // 去掉开头的空格\r\n              //   pElement.textContent = text.replace(/^\\s+/, '');\r\n              //   pElement.classList.add('ql-indent-1');\r\n              // }\r\n            }\r\n          });\r\n          const childNodes = pElement.childNodes;\r\n          childNodes.forEach((child) => {\r\n            if (child.nodeType === Node.TEXT_NODE && child.textContent.trim() !== '') {\r\n              const text = pElement.textContent;\r\n              // 判断文本是否以空格开头\r\n              if (/^\\s/.test(text)) {\r\n                // 去掉开头的空格\r\n                pElement.textContent = text.replace(/^\\s+/, '');\r\n                pElement.classList.add('ql-indent-1');\r\n              }\r\n            }\r\n          })\r\n\r\n        });\r\n        this.isClipborad = false;\r\n        return;\r\n      }\r\n      if (text.trim().length > 0) {\r\n        let event = this.$refs.myQuillEditor;\r\n        this.len = event.quill.getLength() - 1;\r\n\r\n        if (this.limitNumb) {\r\n          if (text.length - 1 <= this.limitNumb) {\r\n            this.course_intro = html;\r\n          } else if (text.length - 1 > this.limitNumb) {\r\n            event.quill.deleteText(\r\n              this.limitNumb,\r\n              text.length - 1 - this.limitNumb\r\n            );\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: \"长度超出，无法输入!\",\r\n            });\r\n            //  this.content = html\r\n            return;\r\n          }\r\n        } else {\r\n          this.course_intro = html;\r\n        }\r\n      } else {\r\n        this.course_intro = \"\";\r\n        this.len = 0;\r\n        this.$refs.myQuillEditor.quill.setContents([{ insert: '' }]);\r\n      }\r\n    },\r\n    setDefaultFontsize(id) {\r\n      this.$nextTick(() => {\r\n        const ql_editor = document.getElementById(id);\r\n        const qlPicker = ql_editor.querySelector(\".ql-size.ql-picker\");\r\n        if(qlPicker) {\r\n          const qlPickerLabel = qlPicker.querySelector(\".ql-picker-label\");\r\n          if(qlPickerLabel) {\r\n            // 设置data-value值\r\n            qlPickerLabel.setAttribute('data-value', '1em')\r\n          }\r\n        }\r\n      });\r\n    },\r\n    initEditorTooltip() {\r\n      console.log(\"initEditorTooltip\")\r\n      this.$nextTick(() => {\r\n        const ql_editor_web = document.getElementById(\"ql-editor-web\");\r\n        for (let item of this.toolbarTips) {\r\n          let tip = ql_editor_web.querySelector(\".quill-editor \" + item.Choice);\r\n          if (!tip) continue;\r\n          tip.setAttribute(\"title\", item.title);\r\n        }\r\n        const ql_editor_app = document.getElementById(\"ql_editor_app\");\r\n        for (let item of this.toolbarTips) {\r\n          let tip = ql_editor_app.querySelector(\".quill-editor \" + item.Choice);\r\n          if (!tip) continue;\r\n          tip.setAttribute(\"title\", item.title);\r\n        }\r\n        // web端\r\n        if(this.$refs.myQuillEditor && this.$refs.myQuillEditor.quill) {\r\n          this.$refs.myQuillEditor.quill.on('text-change', () => {\r\n            const quill = this.$refs.myQuillEditor.quill;\r\n            // 保存当前的光标位置, 解决去除图片音频视频后光标位置跑到最前面,但是针对鼠标位置在中间时不太对，还未解决\r\n            const currentSelection  = quill.getSelection(); // 获取选区\r\n            // const currentSelection = quill.selection.lastRange;\r\n            const blocks = quill.root.querySelectorAll('img, video, audio, iframe');\r\n\r\n            blocks.forEach(block => {\r\n              block.parentNode.removeChild(block);\r\n            });\r\n\r\n            // 恢复光标位置\r\n            if (currentSelection) {\r\n              // quill.setSelection(currentSelection.index, currentSelection.length);\r\n            }\r\n          });\r\n          const quill = this.$refs.myQuillEditor.quill;\r\n          const toolbar = quill.getModule('toolbar');\r\n          // 自定义清除格式\r\n          toolbar.addHandler('clean', this.clearFormat);\r\n          // // 自定义颜色\r\n          // toolbar.addHandler('custom-color', this.showColorPickerFn);\r\n          // this.$nextTick(() => {\r\n          //   // 在工具栏中插入自定义按钮\r\n          //   const customButton = document.querySelector('.ql-custom-color');\r\n          //   console.log(\"customButton:\", customButton);\r\n          //   if (customButton) {\r\n          //     customButton.innerHTML = customButtonIcon; // 设置按钮图标\r\n          //     customButton.title = '自定义字体颜色'; // 设置按钮提示\r\n          //     customButton.addEventListener(\"click\", this.showColorPickerFn);\r\n          //   }\r\n          // });\r\n          this.setDefaultFontsize(\"ql_editor_web\");\r\n        }\r\n        // app端\r\n        if(this.$refs.myQuillEditorApp && this.$refs.myQuillEditorApp.quill) {\r\n          this.$refs.myQuillEditorApp.quill.on('text-change', () => {\r\n            const quill = this.$refs.myQuillEditorApp.quill;\r\n            // 保存当前的光标位置, 解决去除图片音频视频后光标位置跑到最前面,但是针对鼠标位置在中间时不太对，还未解决\r\n            const currentSelection  = quill.getSelection(); // 获取选区\r\n            // const currentSelection = quill.selection.lastRange;\r\n            const blocks = quill.root.querySelectorAll('img, video, audio, iframe');\r\n\r\n            blocks.forEach(block => {\r\n              block.parentNode.removeChild(block);\r\n            });\r\n\r\n            // 恢复光标位置\r\n            if (currentSelection) {\r\n              // quill.setSelection(currentSelection.index, currentSelection.length);\r\n            }\r\n          });\r\n          const quill = this.$refs.myQuillEditorApp.quill;\r\n          const toolbar = quill.getModule('toolbar');\r\n          // 自定义清除格式\r\n          toolbar.addHandler('clean', this.clearFormatApp);\r\n          this.setDefaultFontsize(\"ql_editor_app\");\r\n        }\r\n      });\r\n    },\r\n    clearFormat() {\r\n      const quill = this.$refs.myQuillEditor.quill;\r\n      const range = quill.getSelection(); // 获取选区\r\n      if (range) {\r\n        console.log(\"range:\", range)\r\n        quill.formatText(range.index, range.length, {\r\n          bold: false,\r\n          italic: false,\r\n          underline: false,\r\n          color: false,\r\n          background: false,\r\n          strike: false,\r\n          size: false,\r\n          align: false,\r\n          list: false,\r\n          indent: 0, // 清除缩进\r\n          blockquote: false\r\n          // 其他格式化样式可以在这里添加\r\n        }); // 清除选中内容的样式\r\n        quill.formatText(range.index, range.length, 'bold', false);\r\n        quill.formatText(range.index, range.length, 'italic', false);\r\n        quill.formatText(range.index, range.length, 'underline', false);\r\n        quill.formatText(range.index, range.length, 'color', false);\r\n        quill.formatText(range.index, range.length, 'background', false);\r\n\r\n        this.$message.success('清除格式成功！');; // 显示成功提示\r\n      } else {\r\n        this.$message.warning('请先选择要清除格式的文本！'); // 没有选中的情况下给出提示\r\n      }\r\n       // 显示成功提示\r\n    },\r\n    // app端\r\n    onEditorReadyApp(quill) {\r\n      console.log(\"editor ready!\", quill);\r\n      // 自定义粘贴处理\r\n      quill.clipboard.addMatcher(Node.TEXT_NODE, (node, delta) => {\r\n        this.isClipborad = true;\r\n        // 获取父元素\r\n        const parentNode = node.parentNode;\r\n        // 获取父元素的计算样式\r\n        const computedStyle = window.getComputedStyle(parentNode);\r\n        // 获取字体颜色\r\n        const color = computedStyle.color;\r\n        console.log(parentNode, color)\r\n        const text = node.data;\r\n        let newDelta = {\r\n          ops: []\r\n        }\r\n        // 清空原始 delta 操作\r\n        // delta.ops = [];\r\n        // 分割段落\r\n        const paragraphs = text.split('\\n');\r\n        const len = paragraphs.length - 1;\r\n        // 对每个段落进行处理\r\n        paragraphs.forEach((paragraph, index) => {\r\n          // 去掉开头的空格\r\n          const trimmedParagraph = paragraph.replace(/^\\s+/, '');\r\n          const flag = this.compareRGB(color);\r\n          console.log(\"flag:\", flag);\r\n          if(flag) {\r\n            // 插入处理后的段落\r\n            newDelta.ops.push({ insert: ' ' + trimmedParagraph, attributes: { color } });\r\n          } else {\r\n             // 插入处理后的段落\r\n             newDelta.ops.push({ insert: ' ' + trimmedParagraph, attributes: { } });\r\n          }\r\n        });\r\n        console.log(\"newDelta:\", newDelta)\r\n        return newDelta;\r\n      });\r\n    },\r\n    onEditorChangeApp({ quill, html, text }) {\r\n      // 如果是粘贴的先进行添加缩进处理，然后设置isClipborad = false后再进行字数计算\r\n      if(this.isClipborad) {\r\n        const cultrue_intro_edit = document.getElementById(\"cultrue_intro_edit\");\r\n        const qlEditor =  cultrue_intro_edit.querySelectorAll(\".ql-editor-app\");\r\n        // 找到所有的 <p> 元素\r\n        const pElements = qlEditor[0].querySelectorAll('p');\r\n\r\n        // 遍历每个 <p> 元素\r\n        pElements.forEach((pElement) => {\r\n          const pText = pElement.textContent;\r\n          // 找到 <p> 元素下的所有 <span> 元素\r\n            // 获取所有子节点\r\n          const children = pElement.children;\r\n          // 遍历每个直接元素\r\n          children.forEach((child) => {\r\n            if (child.nodeType === Node.ELEMENT_NODE) {\r\n              // 获取父元素的计算样式\r\n              const computedStyle = window.getComputedStyle(child);\r\n              // 获取字体颜色\r\n              const color = computedStyle.color;\r\n              let flag = false;\r\n              if(color) {\r\n                flag = this.compareRGB(color);\r\n              }\r\n              // if(!flag) {\r\n              //   child.style.color = '';\r\n              // }\r\n              // 获取 <span> 元素的文本内容\r\n              const text = child.textContent;\r\n              // 判断文本是否以空格开头\r\n              if (/^\\s/.test(text)) {\r\n                // 去掉开头的空格\r\n                child.textContent = text.replace(/^\\s+/, '');\r\n                child.style.backgroundColor = '';\r\n                pElement.classList.add('ql-indent-1');\r\n              }\r\n            } else {\r\n              // const text = pElement.textContent;\r\n              // // 判断文本是否以空格开头\r\n              // if (/^\\s/.test(text)) {\r\n              //   // 去掉开头的空格\r\n              //   pElement.textContent = text.replace(/^\\s+/, '');\r\n              //   pElement.classList.add('ql-indent-1');\r\n              // }\r\n            }\r\n          });\r\n          const childNodes = pElement.childNodes;\r\n          childNodes.forEach((child) => {\r\n            if (child.nodeType === Node.TEXT_NODE && child.textContent.trim() !== '') {\r\n              const text = pElement.textContent;\r\n              // 判断文本是否以空格开头\r\n              if (/^\\s/.test(text)) {\r\n                // 去掉开头的空格\r\n                pElement.textContent = text.replace(/^\\s+/, '');\r\n                pElement.classList.add('ql-indent-1');\r\n              }\r\n            }\r\n          })\r\n\r\n        });\r\n        this.isClipborad = false;\r\n        return;\r\n      }\r\n      if (text.trim().length > 0) {\r\n        let event = this.$refs.myQuillEditorApp;\r\n        this.lenApp = event.quill.getLength() - 1;\r\n\r\n        if (this.limitNumb) {\r\n          if (text.length - 1 <= this.limitNumb) {\r\n            this.course_intro_app = html;\r\n          } else if (text.length - 1 > this.limitNumb) {\r\n            event.quill.deleteText(\r\n              this.limitNumb,\r\n              text.length - 1 - this.limitNumb\r\n            );\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: \"长度超出，无法输入!\",\r\n            });\r\n            //  this.content = html\r\n            return;\r\n          }\r\n        } else {\r\n          this.course_intro_app = html;\r\n        }\r\n      } else {\r\n        this.course_intro_app = \"\";\r\n        this.lenApp = 0;\r\n        this.$refs.myQuillEditorApp.quill.setContents([{ insert: '' }]);\r\n      }\r\n    },\r\n    clearFormatApp() {\r\n      const quill = this.$refs.myQuillEditorApp.quill;\r\n      const range = quill.getSelection(); // 获取选区\r\n      if (range) {\r\n        console.log(\"range:\", range)\r\n        quill.formatText(range.index, range.length, {\r\n          bold: false,\r\n          italic: false,\r\n          underline: false,\r\n          color: false,\r\n          background: false,\r\n          strike: false,\r\n          size: false,\r\n          align: false,\r\n          list: false,\r\n          indent: 0, // 清除缩进\r\n          blockquote: false\r\n          // 其他格式化样式可以在这里添加\r\n        }); // 清除选中内容的样式\r\n        quill.formatText(range.index, range.length, 'bold', false);\r\n        quill.formatText(range.index, range.length, 'italic', false);\r\n        quill.formatText(range.index, range.length, 'underline', false);\r\n        quill.formatText(range.index, range.length, 'color', false);\r\n        quill.formatText(range.index, range.length, 'background', false);\r\n\r\n        this.$message.success('清除格式成功！');; // 显示成功提示\r\n      } else {\r\n        this.$message.warning('请先选择要清除格式的文本！'); // 没有选中的情况下给出提示\r\n      }\r\n       // 显示成功提示\r\n    },\r\n    // showColorPickerFn(e) {\r\n    //   if(e) {\r\n    //     e.stopPropagation();\r\n    //   }\r\n    //   console.log(\"showColorPicker\")\r\n    //   this.showColorPicker = !this.showColorPicker; // 显示颜色选择器\r\n    // }\r\n  },\r\n  mounted() {},\r\n  activated() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.getParams();\r\n    // 在工具栏中插入自定义按钮\r\n    const customButton = document.querySelector('.ql-custom-button');\r\n    console.log(\"customButton:\", customButton);\r\n    if (customButton) {\r\n      customButton.innerHTML = customButtonIcon; // 设置按钮图标\r\n      customButton.title = '自定义按钮'; // 设置按钮提示\r\n    }\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.editor {\r\n  width: 100%;\r\n  height: 100%;\r\n  background-color: #fff;\r\n  padding: 20px;\r\n  overflow-y: auto;\r\n}\r\n.txt_leg {\r\n  position: absolute;\r\n  top: calc(100% - 115px);\r\n  right: 20px;\r\n  font-size: 14px;\r\n  color: #515456;\r\n}\r\n/deep/ .el-textarea {\r\n  height: 85PX;\r\n  border: 1px solid #ccc;\r\n  margin-bottom: 15px;\r\n}\r\n/deep/ .el-textarea__inner {\r\n  border: none;\r\n  padding: 15px;\r\n  height: 100%;\r\n  font-size: 12PX !important;\r\n}\r\n/deep/ .el-input__count {\r\n  font-size: 12PX !important;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #71afbb;\r\n  line-height: 18px;\r\n}\r\n/deep/ .quill-editor {\r\n  height: calc(100% - 200px);\r\n}\r\n/deep/ .ql-editor {\r\n    white-space: pre-wrap;\r\n    padding: 0;\r\n  }\r\n/deep/ .ql-container {\r\n  height: calc(100% - 43px);\r\n}\r\n.save {\r\n  margin-top: 41px;\r\n  text-align: center;\r\n  /deep/ .el-button {\r\n    width: 202px;\r\n    height: 43px;\r\n    background: #64afd5;\r\n    box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 8px;\r\n    background-color: #64afd5;\r\n    border-color: #64afd5;\r\n    color: #fff;\r\n    line-height: 43px;\r\n    padding: 0;\r\n  }\r\n}\r\n/deep/ .ql-editor p, /deep/ .ql-editor ol li, /deep/ .ql-editor ul li, /deep/ .ql-editor pre, /deep/ .ql-editor blockquote{\r\n  font-size: 18px;\r\n  line-height: normal;\r\n}\r\n\r\n/deep/ .el-form-item.form_item_global {\r\n  margin-bottom: 0;\r\n}\r\n.global_editor {\r\n  .txt_leg {\r\n    top: calc(100% - 75px);\r\n  }\r\n}\r\n.editor_global {\r\n  /deep/ .quill-editor {\r\n    height: 1000px;\r\n  }\r\n  /deep/ .ql-container {\r\n    height: calc(100% - 103px);\r\n  }\r\n}\r\n.color-picker-container {\r\n  position: absolute;\r\n  top: 100px;\r\n  left: 160px;\r\n}\r\n/* 自定义按钮样式 */\r\n.ql-custom-color {\r\n  width: 24px;\r\n  height: 24px;\r\n  display: inline-block;\r\n  cursor: pointer;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/editor/Index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.app_type == 1)?_c('div',{staticClass:\"editor\",attrs:{\"id\":\"cultrue_intro_edit\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"1000\",\"placeholder\":\"请输入课程简介\",\"resize\":'none',\"show-word-limit\":\"\"},model:{value:(_vm.course_intro_short),callback:function ($$v) {_vm.course_intro_short=$$v},expression:\"course_intro_short\"}}),_vm._v(\" \"),_c('quill-editor',{key:_vm.editorKey,ref:\"myQuillEditor\",staticClass:\"ql-editor\",attrs:{\"options\":_vm.editorOption,\"disabled\":_vm.add_auth == 2},on:{\"blur\":function($event){return _vm.onEditorBlur($event)},\"focus\":function($event){return _vm.onEditorFocus($event)},\"change\":function($event){return _vm.onEditorChange($event)},\"ready\":_vm.onEditorReady},model:{value:(_vm.course_intro),callback:function ($$v) {_vm.course_intro=$$v},expression:\"course_intro\"}}),_vm._v(\" \"),_c('p',{ref:\"textLeg\",staticClass:\"txt_leg\"},[_vm._v(_vm._s(_vm.len)+\"/\"+_vm._s(_vm.limitNumb))]),_vm._v(\" \"),_c('div',{staticClass:\"save\"},[_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.editCourseIntroAdmin]),expression:\"[editCourseIntroAdmin]\"},{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"disabled\":_vm.course_intro == '' || _vm.course_intro_short == ''}},[_vm._v(\"保存\")])],1)],1):_c('div',{staticClass:\"editor editor_global\",attrs:{\"id\":\"cultrue_intro_edit\"}},[_c('el-form',{ref:\"ruleForm\",staticClass:\"demo-ruleForm\",attrs:{\"model\":_vm.ruleForm,\"rules\":_vm.rules,\"label-width\":\"160px\"}},[_c('el-form-item',{attrs:{\"label\":\"课程简介\",\"prop\":\"course_intro_short\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"1000\",\"resize\":'none',\"placeholder\":\"请输入课程简介\",\"show-word-limit\":\"\"},model:{value:(_vm.ruleForm.course_intro_short),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"course_intro_short\", $$v)},expression:\"ruleForm.course_intro_short\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"form_item_global\",attrs:{\"label\":\"书籍编号\",\"prop\":\"book_id\"}},[_c('el-input',{model:{value:(_vm.ruleForm.book_id),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"book_id\", $$v)},expression:\"ruleForm.book_id\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"form_item_global\",attrs:{\"label\":\"章节编号\",\"prop\":\"chapter_id\"}},[_c('el-input',{model:{value:(_vm.ruleForm.chapter_id),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"chapter_id\", $$v)},expression:\"ruleForm.chapter_id\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"form_item_global\",attrs:{\"label\":\"开始字数\",\"prop\":\"start_index\"}},[_c('el-input',{model:{value:(_vm.ruleForm.start_index),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"start_index\", $$v)},expression:\"ruleForm.start_index\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"form_item_global\",attrs:{\"label\":\"课程封面图\",\"prop\":\"course_cover\"}},[_c('el-input',{model:{value:(_vm.ruleForm.course_cover),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"course_cover\", $$v)},expression:\"ruleForm.course_cover\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"form_item_global\",attrs:{\"label\":\"web课程详情\",\"prop\":\"course_intro_type\"}},[_c('el-radio-group',{model:{value:(_vm.ruleForm.course_intro_type),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"course_intro_type\", $$v)},expression:\"ruleForm.course_intro_type\"}},[_c('el-radio',{attrs:{\"label\":\"1\",\"disabled\":_vm.disabled == 1}},[_vm._v(\"文字\")]),_vm._v(\" \"),_c('el-radio',{attrs:{\"label\":\"2\",\"disabled\":_vm.disabled == 2}},[_vm._v(\"pdf\")])],1)],1),_vm._v(\" \"),(_vm.ruleForm.course_intro_type == 1)?_c('el-form-item',{staticClass:\"form_item_global global_editor\",attrs:{\"label\":\"\",\"prop\":\"course_intro\"}},[_c('quill-editor',{key:_vm.editorKey,ref:\"myQuillEditor\",staticClass:\"ql-editor ql-editor-web\",attrs:{\"options\":_vm.editorOption,\"id\":\"ql-editor-web\",\"disabled\":_vm.add_auth == 2},on:{\"blur\":function($event){return _vm.onEditorBlur($event)},\"focus\":function($event){return _vm.onEditorFocus($event)},\"change\":function($event){return _vm.onEditorChange($event)},\"ready\":_vm.onEditorReady},model:{value:(_vm.ruleForm.course_intro),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"course_intro\", $$v)},expression:\"ruleForm.course_intro\"}}),_vm._v(\" \"),_c('p',{ref:\"textLeg\",staticClass:\"txt_leg\"},[_vm._v(_vm._s(_vm.len)+\"/\"+_vm._s(_vm.limitNumb))])],1):_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"course_intro_pdf\"}},[(_vm.ruleForm.course_intro_pdf)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.pdfName))]),_vm._v(\"  \"),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.deletePdf}},[_c('i',{staticClass:\"el-icon-delete\"})])],1):_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.uploadPdf}},[_vm._v(\"上传pdf\")])],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"form_item_global\",attrs:{\"label\":\"app课程详情\",\"prop\":\"course_intro_type_app\"}},[_c('el-radio-group',{model:{value:(_vm.ruleForm.course_intro_type_app),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"course_intro_type_app\", $$v)},expression:\"ruleForm.course_intro_type_app\"}},[_c('el-radio',{attrs:{\"label\":\"1\",\"disabled\":_vm.disabledApp == 1}},[_vm._v(\"文字\")]),_vm._v(\" \"),_c('el-radio',{attrs:{\"label\":\"2\",\"disabled\":_vm.disabledApp == 2}},[_vm._v(\"pdf\")])],1)],1),_vm._v(\" \"),(_vm.ruleForm.course_intro_type_app == 1)?_c('el-form-item',{staticClass:\"form_item_global global_editor\",attrs:{\"label\":\"\",\"prop\":\"course_intro_app\"}},[_c('quill-editor',{key:_vm.editorAppKey,ref:\"myQuillEditorApp\",staticClass:\"ql-editor ql-editor-app\",attrs:{\"options\":_vm.editorOption,\"id\":\"ql-editor-app\",\"disabled\":_vm.add_auth == 2},on:{\"blur\":function($event){return _vm.onEditorBlur($event)},\"focus\":function($event){return _vm.onEditorFocus($event)},\"change\":function($event){return _vm.onEditorChangeApp($event)},\"ready\":_vm.onEditorReadyApp},model:{value:(_vm.ruleForm.course_intro_app),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"course_intro_app\", $$v)},expression:\"ruleForm.course_intro_app\"}}),_vm._v(\" \"),_c('p',{ref:\"textLeg\",staticClass:\"txt_leg\"},[_vm._v(_vm._s(_vm.lenApp)+\"/\"+_vm._s(_vm.limitNumb))])],1):_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"course_intro_pdf_app\"}},[(_vm.ruleForm.course_intro_pdf_app)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.pdfNameApp))]),_vm._v(\"  \"),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.deletePdfApp}},[_c('i',{staticClass:\"el-icon-delete\"})])],1):_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.uploadPdfApp}},[_vm._v(\"上传pdf\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('div',{staticClass:\"save\"},[_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],on:{\"click\":function($event){return _vm.submitForm('ruleForm')}}},[_vm._v(\"保存\")])],1)])],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2ebd994c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/editor/Index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2ebd994c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2ebd994c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2ebd994c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/editor/Index.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n    <el-container class=\"container\">\r\n      <!-- <el-header\r\n        :style=\"{ background: theme === 'white' ? '#eaedef' : '#1f1f1f' }\"\r\n      >\r\n        <Hearder :activeIndex=\"'0'\" :theme=\"'white'\" />\r\n      </el-header> -->\r\n      <el-container class=\"main\">\r\n        <Editor />\r\n      </el-container>\r\n    </el-container>\r\n  </template>\r\n  \r\n  <script>\r\n  import Hearder from \"@/components/Hearder.vue\";\r\n  import Editor from \"@/views/editor/Index.vue\";\r\n  export default {\r\n    components: { Hearder, Editor },\r\n    data() {\r\n      return {\r\n        theme: \"white\",\r\n      };\r\n    },\r\n    computed: {},\r\n    watch: {},\r\n    methods: {},\r\n    created() {},\r\n    mounted() {},\r\n  };\r\n  </script>\r\n  <style scoped lang=\"less\">\r\n  .container {\r\n    overflow: hidden;\r\n    height: 100%;\r\n  }\r\n  // /deep/ .el-header {\r\n  //   padding: 0;\r\n  //   position: fixed;\r\n  //   top: 0;\r\n  //   width: 100%;\r\n  //   background: #eaedef;\r\n  //   box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);\r\n  //   padding: 10px 32px;\r\n  //   height: auto !important;\r\n  //   z-index: 101;\r\n  // }\r\n  .box {\r\n    width: 100%;\r\n  }\r\n  </style>\n\n\n// WEBPACK FOOTER //\n// src/views/index/EditorIndex.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"container\"},[_c('el-container',{staticClass:\"main\"},[_c('Editor')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6d6a89be\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/index/EditorIndex.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6d6a89be\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./EditorIndex.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./EditorIndex.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./EditorIndex.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6d6a89be\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./EditorIndex.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6d6a89be\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/index/EditorIndex.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/smhy.35acb3f.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/smhy.png\n// module id = 0Lkb\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI1cHgiIGhlaWdodD0iMjVweCIgdmlld0JveD0iMCAwIDI1LjAgMjUuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTM3NSwwIEwzNzUsNzY4IEwwLDc2OCBMMCwwIEwzNzUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMCwwIEw5Ljk4NzE5NzQxLDUuNzUwMzIxNDYgTDAsMTEuNSBMMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iaTIiIHgxPSIxLjk3MTMyNzIxcHgiIHkxPSIxLjI4ODYyNTY5cHgiIHgyPSI3LjczNjcxOTgzcHgiIHkyPSIxMC42NTU4NDI4cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExNS4wIC0xNTEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI2LjAgNjcuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY2LjU1OTMyMjAzMzg5OTY2IDY2LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMy4wIDE5LjApIj48cGF0aCBkPSJNMjMsMTEuNSBDMjMsMTcuODUxNDU2NCAxNy44NTE0NTY0LDIzIDExLjUsMjMgQzUuMTQ4NTQzNjQsMjMgMCwxNy44NTE0NTY0IDAsMTEuNSBDMCw1LjE0ODU0MzY0IDUuMTQ4NTQzNjQsMCAxMS41LDAgQzE3Ljg1MTQ1NjQsMCAyMyw1LjE0ODU0MzY0IDIzLDExLjUgWiIgc3Ryb2tlPSIjRkZCMDk1IiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMTgwMzIwOTAzNDQ5NjgzIDUuNzQ5ODA3MTIyNDkxMzQ3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgOS45ODcxOTc0MSwwIDkuOTg3MTk3NDEsMTEuNSAwLDExLjUgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InVybCgjaTIpIj48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mindmed_play.svg\n// module id = 0qPg\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDMyLjAgMzIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjkxIEwwLDEyOTEgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xNiwwIEMyNC44MzY5MjMxLDAgMzIsNy4xNjM4NzA5NyAzMiwxNiBDMzIsMjQuODM2OTIzMSAyNC44MzY5MjMxLDMyIDE2LDMyIEM3LjE2MzA3NjkyLDMyIDAsMjQuODM2OTIzMSAwLDE2IEMwLDcuMTYzODcwOTcgNy4xNjMwNzY5MiwwIDE2LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpMiI+PHBhdGggZD0iTTAsMCBMMTMuODk1NzgxNiw4IEwwLDE2IEwwLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzQuMCAtMzIxLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1Mi4wIDE0Mi4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTc5LjAgMzguMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0My4wIDE0MS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMzIsMCAzMiwzMiAwLDMyIDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkiPjwvcG9seWdvbj48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMzgwOTYyNzc5MTU1ODY5IDguMDAwMDc5NDA0NDY2NTE3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kyKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMTMuODk1NzgxNiwwIDEzLjg5NTc4MTYsMTYgMCwxNiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzYzQUZENSI+PC9wb2x5Z29uPjwvZz48cG9seWdvbiBwb2ludHM9IjAsMCAwLDE2IDEzLjg5NTc4MTYsOCAwLDAgMCwwIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/play_detail.svg\n// module id = 1SYn\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEzN3B4IiBoZWlnaHQ9IjEzNnB4IiB2aWV3Qm94PSIwIDAgMTM3LjAgMTM2LjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxjbGlwUGF0aCBpZD0iaTAiPjxwYXRoIGQ9Ik0xMDI0LDAgTDEwMjQsNzcwIEwwLDc3MCBMMCwwIEwxMDI0LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MjcuMCAtMzM5LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjguNSAzNDAuMCkiPjxwYXRoIGQ9Ik02NywxMzQgQzEwNC4wMDMwNzgsMTM0IDEzNCwxMDQuMDAzMDc4IDEzNCw2NyBDMTM0LDI5Ljk5NjkyMTggMTA0LjAwMzA3OCwwIDY3LDAgQzI5Ljk5NjkyMTgsMCAwLDI5Ljk5NjkyMTggMCw2NyBDMCwxMDQuMDAzMDc4IDI5Ljk5NjkyMTgsMTM0IDY3LDEzNCBaIiBzdHJva2U9IiNFOUVERUUiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMyLjAgMjUuNTAwMDAwMDAwMDAwMzQ4KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUuNzI0NjQ2NzAyNTc0NTggMC4wKSI+PHBhdGggZD0iTTE4LjA5MTc4NDQsOS4wNDU4OTIyMiBDMTguMDkxNzg0NCwxNC4wNDEwMzM5IDE0LjA0MTAzMzksMTguMDkxNzg0NCA5LjA0NTg5MjIyLDE4LjA5MTc4NDQgQzQuMDUwNzUwNTMsMTguMDkxNzg0NCAwLDE0LjA0MTAzMzkgMCw5LjA0NTg5MjIyIEMwLDQuMDUwNzUwNTMgNC4wNTA3NTA1MywwIDkuMDQ1ODkyMjIsMCBDMTQuMDQxMDMzOSwwIDE4LjA5MTc4NDQsNC4wNTA3NTA1MyAxOC4wOTE3ODQ0LDkuMDQ1ODkyMjIgWiIgc3Ryb2tlPSIjRDNEOURBIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQyLjg2MjMyMzM1MTI4Njk2IDQ0LjMyNDg3MTg1OTU2NDUyKSI+PHBhdGggZD0iTTI3LjEzNzY3NjYsMC45MDQ1ODkyMjIgTDAsMC45MDQ1ODkyMjIiIHN0cm9rZT0iI0QzRDlEQSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC41MjY2NjE2NjQ2NjMwMyAxOC4wOTE3ODQ0MzI0NzUxOSkiPjxwYXRoIGQ9Ik0wLDAgTDQuNzY3MTg1MiwxNi42OTMyODk1IiBzdHJva2U9IiNEM0Q5REEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4xNTQ5MDM3ODg5OTY1MzgzIDE3LjgxMjI2NjM2Mjk5MzYxKSI+PHBhdGggZD0iTTEyLjE3MDM0MzQsMTYuOTcxOTAzIEw0MC43MDY1MTUsMTYuOTcxOTAzIEw0MC43MTM3NTE3LDM2LjQ1NDk0NTYgQzM2LjU4ODgyNDgsNDEuOTUzMDM4OSAzMC4wMTc4ODg3LDQ1LjUwODA3NDYgMjIuNjE0NzMwNSw0NS41MDgwNzQ2IEMxMC4xMjU5NzE3LDQ1LjUwODA3NDYgMCwzNS4zODM5MTIgMCwyMi44OTMzNDQgQzAsMTEuMDUyMjcxMSA5LjEwMzc4NTkzLDEuMzM1MTczNjkgMjAuMzgyMjA0MywwIiBzdHJva2U9IiNEM0Q5REEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDM3Ljc0MTA5MDU4Njc0MjA2KSI+PHBhdGggZD0iTTIuMzQ4NDg1ODgsMCBMMC4xMjY4MTQ3NTQsMTkuODQ0ODc4MyBDLTEuMjAyOTMxNCwzMS43MjM5NDQgOC4wOTQ0MzY2Miw0Mi4xMjEyOTI1IDIwLjA0OTQ4NzgsNDIuMTIxMjkyNSBMNDEuODAxMjQwMiw0Mi4xMjEyOTI1IEM0Ni41MjEzODY4LDQyLjEyMTI5MjUgNTAuMzQ1OTksMzguMjg3NjQzNCA1MC4zMzUxNTgsMzMuNTY3NDk2OCBMNTAuMzM1MTU4LDMzLjU2NzQ5NjggQzUwLjMyOTcwNzQsMzAuNzIzNDY4MyA0OC45MDU4ODM5LDI4LjA2OTQwMzUgNDYuNTM5NDc4NSwyNi40ODk5OTA4IEwzOC4yMDgyMTE4LDIwLjkyNDk1NzkiIHN0cm9rZT0iI0QzRDlEQSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0Mi44NjIzMjMzNTEyODY5NiAzNC43ODQxNjkzMzkwOTgzNykiPjxwYXRoIGQ9Ik0wLDAgTDMuODIyNzk0MDUsMCBDNi43MDg0MzM2NywwIDkuMDQ1ODkyMjIsMi4zMzc0NTg1NSA5LjA0NTg5MjIyLDUuMjIzMDk4MTcgTDkuMDQ1ODkyMjIsNS4yMjMwOTgxNyBDOS4wNDU4OTIyMiw4LjEwNjkyODYgNi43MDg0MzM2NywxMC40NDQzODcyIDMuODIyNzk0MDUsMTAuNDQ0Mzg3MiBMMCwxMC40NDQzODcyIiBzdHJva2U9IiNEM0Q5REEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDEuODAxMDU5Mjc2NDc4MzUgNzguOTU3NjEyOTYyOTYzMTQpIj48cGF0aCBkPSJNMCwwLjkwNDU4OTIyMiBMMjcuMjMxNzUzOSwwLjkwNDU4OTIyMiIgc3Ryb2tlPSIjRDNEOURBIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLjA0OTUxODU2MjEzOTUgNDUuMjI5NDYxMDgxMTg4MzYpIj48cGF0aCBkPSJNMC45MDQ1ODkyMjIsMCBMMC45MDQ1ODkyMjIsMzQuNjMzMTAyOSIgc3Ryb2tlPSIjRDNEOURBIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQzLjk1ODY4NTQ4Nzg5NjEzIDIxLjgzODA1MDIzNDkwNzg3KSI+PHBhdGggZD0iTTguMTYzMDEzMTQsMS4zMTg4OTEwOSBMNC4yMDI3MjE1MiwwIEwwLDEyLjk0NjQ4MDkiIHN0cm9rZT0iI0QzRDlEQSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDcuMzg1MjY5NDU5NDA2OTUgMjEuODM3Njg4Mzk5MjE5Njg3KSI+PHBhdGggZD0iTTAsMTIuOTQ2NDgwOSBMNS4yNzM3NTUxNiwwIEwxNC41ODU1OTY2LDQuNjAwNzQwNzggTDcuMjkyNzk4MywyMy4zOTA4NjgxIiBzdHJva2U9IiNEM0Q5REEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/recommend_none.svg\n// module id = 1TgR\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE1cHgiIGhlaWdodD0iMTRweCIgdmlld0JveD0iMCAwIDE1LjAgMTQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ2MC4wIC02NjYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0My41IDY0OS4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcuMCAxNy4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDYuNSkiPjxwYXRoIGQ9Ik0wLjUsMC41IEwxMy41LDAuNSIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjUgMC4wKSByb3RhdGUoOTAuMCkiPjxwYXRoIGQ9Ik0wLDAuNSBMMTQsMC41IiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/add.svg\n// module id = 1jrh\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"myMindOutline\">\r\n    <div class=\"title\">人生五大问题</div>\r\n    <div\r\n      id=\"myMindOutline\"\r\n      :class=\"[\r\n        'outline',\r\n        !datas.length\r\n          ? 'outlineNone'\r\n          : editOutline\r\n          ? 'editOutline'\r\n          : isSaveMindMap\r\n          ? 'editOutlineNo'\r\n          : ''\r\n      ]\"\r\n      :style=\"{ paddingTop: courseIsuseradd == 3 ? '56px' : '73px' }\"\r\n    >\r\n      <!-- <iframe\r\n      width=\"1000px\"\r\n      height=\"500px\"\r\n      :src=\"`http://192.168.11.42:9999/#/editor?${paramsIframe}`\"\r\n    ></iframe> -->\r\n\r\n      <div v-if=\"datas && !datas.length\" style=\"text-align: center;\">\r\n        <img\r\n          src=\"@/assets/img/recommend_none.svg\"\r\n          width=\"136px\"\r\n          height=\"136px\"\r\n        />\r\n        <p class=\"none\">暂无数据</p>\r\n      </div>\r\n\r\n      <el-tree\r\n        ref=\"tree\"\r\n        :data=\"datas\"\r\n        node-key=\"id\"\r\n        default-expand-all\r\n        :expand-on-click-node=\"false\"\r\n        draggable\r\n        :props=\"{ label: 'name', node: 'node' }\"\r\n        :empty-text=\"''\"\r\n        :filter-node-method=\"filterNode\"\r\n      >\r\n        <div\r\n          class=\"custom-tree-node\"\r\n          slot-scope=\"{ node, data }\"\r\n          :class=\"[\r\n            data.class && data.hasVertical ? '' : '',\r\n            !data.isAdd && data.isAddTheme ? 'theme' : ''\r\n          ]\"\r\n          :id=\"data.id\"\r\n          :ref=\"'treeNode' + data.id\"\r\n        >\r\n\r\n          <div\r\n            :ref=\"'operateRef' + data.id\"\r\n            class=\"operates-wrapper operates-wrapper1\"\r\n            :class=\"[\r\n              isMac ? 'operates-wrapperMac1' : '',\r\n              isMac &&\r\n              operating &&\r\n              operating.operate === 2 &&\r\n              operating.isOperating\r\n                ? 'operates-wrapperMac1Edit'\r\n                : '',\r\n              !isMac &&\r\n              operating &&\r\n              operating.operate === 2 &&\r\n              operating.isOperating\r\n                ? 'operates-wrapper1Edit'\r\n                : '']\"\r\n            v-if=\"data.lock === 3 && isShow\"\r\n              >\r\n            <div class=\"operates-wrapper-operates\" id=\"mindMap_step4\">\r\n              <div class=\"operate del\" @mousedown=\"remove\">\r\n                删除({{ isMac ? \"cmd+←\" : \"ctrl+d\" }}\r\n              </div>\r\n              <div\r\n                class=\"operate addsubtheme\"\r\n                @mousedown=\"append(data, node, $event)\"\r\n              >\r\n                添加子主题(tab)\r\n              </div>\r\n              <div class=\"operate\" @mousedown=\"addEquative(node, data, $event)\">\r\n                添加同级主题(Enter)\r\n              </div>\r\n              <div class=\"operate\" @mousedown=\"tabClick1(node, data)\">\r\n                减少缩进\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div\r\n            class=\"add-input 2 addthemebtn\"\r\n            v-if=\"!data.isAdd && data.isAddTheme\">\r\n            <el-button id=\"mind_step2\" class=\"bg-transparent\" @click=\"addTheme\"\r\n            ><i class=\"el-icon-plus\" style=\"margin-right: 10px\"></i\r\n            >添加主题</el-button\r\n            >\r\n          </div>\r\n          <div\r\n            class=\"add-input 4\"\r\n            v-show=\"data.lock === 3 && isShow\"\r\n            @contextmenu.prevent=\"showOperates1(data)\"\r\n            @touchstart=\"pressTs = Date.now()\"\r\n            @touchend=\"handleLongPress(node, data, $event, true)\"\r\n          >\r\n            <el-input\r\n              type=\"textarea\"\r\n              :ref=\"'edittextarea' + data.id\"\r\n              :id=\"'edittextarea' + data.id\"\r\n              :autosize=\"{ minRows: 1 }\"\r\n              :resize=\"'none'\"\r\n              class=\"mindMap_step3 preserve-indent\"\r\n              v-model=\"content\"\r\n              @keydown.enter.native=\"editNode(true, $event)\"\r\n              @keyup.esc.native=\"editNode()\"\r\n              @blur=\"editNode()\"\r\n            ></el-input>\r\n            <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n          </div>\r\n          <div\r\n            class=\"content\"\r\n            :class=\"\r\n              data.id && selectedData.id === data.id && !operating.isOperating\r\n                ? 'selectedData'\r\n                : ''\r\n            \"\r\n            @dblclick=\"edit(node, data)\"\r\n            @contextmenu.prevent=\"showOperates1(data)\"\r\n            @click=\"chooseNode(node, data)\"\r\n            @touchstart=\"pressTs = Date.now()\"\r\n            @touchend=\"handleLongPress(node, data, $event, true)\"\r\n          >\r\n            <div\r\n              class=\"node-content_textarea_guide\"\r\n              :ref=\"'textarea' + data.id\"\r\n            >\r\n              <pre>{{ node.label }}</pre>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </el-tree>\r\n\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { deepClone, throttle } from \"@/utils/util\";\r\nimport { addUserCollection, getMindmap } from \"@/api/index\";\r\n\r\nlet id = \"id\" + uuidv4();\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    editOutline: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    },\r\n    isSaveMindMap: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      datas: [],\r\n      node: null,\r\n      isShow: false,\r\n      selectedData: {},\r\n      content: \"人生在世，除了家庭、感情、工作等现实问题有待解决\",\r\n      course_name: \"\",\r\n      newChild: {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 2,\r\n        isAdd: false,\r\n        isAddTheme: true\r\n      },\r\n      operating: {\r\n        isOperating: false,\r\n        operate: null // 1:添加主题 2、编辑 3、添加子主题 4、添加同级\r\n      },\r\n      isEdited: false,\r\n      dialogVisibleCon: false,\r\n      whiteCom: \"\",\r\n      timer: null, // 自动保存定时器\r\n      timeCount: 120000, // 自动保存时间间隔\r\n      nodeCollapseData: {},\r\n      expandedKeys: [],\r\n      unExpandedKeys: [],\r\n      timeout: null,\r\n      isEditOperating: false,\r\n      // 键盘\r\n      arrKey: [],\r\n      keydown: \"\",\r\n      // 系统\r\n      isMac: false,\r\n      copyText: \"\",\r\n      removeNode: {},\r\n      isSelected: false,\r\n      pressTs: 0,\r\n      is_collect: 2,\r\n      isLocalStorageSave: false\r\n      // paramsIframe: encodeURIComponent(\r\n      //   \"course_isuseradd=2&params=mLYo8wKbvx5oU0lPHqjbDaViA/ZaZQuk3kvOJjvTdaHtj/zzjPgFAadlcPkFF13pMWBwR5l5ZCyyTLCB7FnwxRAhzPa61QrSg9ptdqLks9WnLWhiLRUs1iiAzR9YSwzcneCTI4t DdInnHS 6SAg5TdbsVSUAdUUYSRMZvkyE/MdEui92PeFblbBH4yM8mT9Vh71MZc5gEQsi 3gehp7eo18whTlJ8ThP2tu2r4P1aRF7tNdrOTNTJXhWp9UXBUwk1n0YheX5INcAAbm1VwGPgzQ4h ulSWrpU6LjmJilKz0vrMPpMkgQ7OhWrdTUY6aQTP/RiAVAzNqfD4pFxFc7A==\"\r\n      // ),\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    user() {\r\n      let user = this.$store.getters.user;\r\n      if (user) {\r\n        return JSON.parse(user);\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseIsuseradd() {\r\n      //  CreateCase EditCase\r\n      return this.$store.getters.courseIsuseradd;\r\n    }\r\n  },\r\n  watch: {\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      }\r\n    },\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.init();\r\n      }\r\n    },\r\n    editOutline: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"editOutline:\", v);\r\n        if (v) {\r\n          // 新增添加主题节点\r\n          this.datas.push(this.newChild);\r\n          this.showLayer = false;\r\n        } else {\r\n          this.datas.pop();\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    filterNode(value, data, node) {\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      this.$set(data, \"isShowOp\", false);\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n        const childNodes = node.childNodes;\r\n        let flag = true;\r\n        if (childNodes.length <= 0) {\r\n          flag = false;\r\n        }\r\n        if (flag) {\r\n          this.$set(data, \"class\", \"isVertival\");\r\n        }\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"textarea\" + data.id]) {\r\n            // this.$refs[\"textarea\" + data.id].resizeTextarea();\r\n            let dom = document.getElementById(data.id);\r\n            if (dom && node.level > 1) {\r\n              let parent = dom.parentNode;\r\n              let prevParent = parent.parentNode;\r\n              let classList = parent.classList;\r\n              // 没有子节点,要把isVertival去掉\r\n              if (classList.contains(\"isVertival\") && !flag) {\r\n                parent.classList.remove(\"isVertival\");\r\n              } else if (!classList.contains(\"isVertival\") && flag) {\r\n                parent.classList.add(\"isVertival\");\r\n              }\r\n              // if (node.level >= 4 && classList.contains(\"isVertival\")) {\r\n              //   parent.classList.add(\"isVertivall\" + node.level);\r\n              // }\r\n            }\r\n          }\r\n        });\r\n        this.$set(data, \"hasVertical\", flag);\r\n      }\r\n      return true;\r\n    },\r\n    setShow(status) {\r\n      this.isShow = status;\r\n    },\r\n    setButton() {\r\n      this.$emit('setButton');\r\n    },\r\n    addUserCollection(operate_type) {\r\n      let params = {\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_isuseradd: this.dataPro.mindmap_isuseradd,\r\n        collect_type: 5,\r\n        operate_type,\r\n        course_id: this.course_id,\r\n        mindmap_type: 1,\r\n        mindmap_id: this.dataPro.mindmap_id\r\n      };\r\n      console.log(params);\r\n      addUserCollection(params).then(res => {\r\n        if (res && res.code === 0) {\r\n          this.is_collect = operate_type;\r\n          this.$store.dispatch(\"setMindMap\", {\r\n            data: {\r\n              ...this.dataPro,\r\n              is_collect_studythink: operate_type\r\n            },\r\n            isEdited: this.isEdited,\r\n            timeStamp: new Date().getTime()\r\n          });\r\n        }\r\n      });\r\n    },\r\n    // 是否可编辑\r\n    getEditOutline() {\r\n      console.log(this.editOutline);\r\n      if (!this.editOutline) {\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    //获取textarea中选中的内容\r\n    getSelectText() {\r\n      var t = document.getElementById(\"edittextarea\" + this.selectedData.id);\r\n      if (window.getSelection) {\r\n        if (t.selectionStart != undefined && t.selectionEnd != undefined) {\r\n          return t.value.substring(t.selectionStart, t.selectionEnd);\r\n        } else {\r\n          return \"\";\r\n        }\r\n      } else {\r\n        return document.selection.createRange().text;\r\n      }\r\n    },\r\n    copy(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if (!data.id) {\r\n        return;\r\n      }\r\n      let txt = this.getSelectText();\r\n      if (txt) {\r\n        this.copyText = txt;\r\n      } else {\r\n        this.copyText = data.name;\r\n      }\r\n      navigator.clipboard.writeText(this.copyText);\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"复制成功\"\r\n      });\r\n    },\r\n    copy1(node, data, e) {\r\n      // if (e) {\r\n      //   e.preventDefault();\r\n      // }\r\n      // if (!data.id) {\r\n      //   return;\r\n      // }\r\n      // let txt = this.getSelectText();\r\n      // if (txt) {\r\n      //   this.copyText = txt;\r\n      // } else {\r\n      //   this.copyText = data.name;\r\n      // }\r\n      // navigator.clipboard.writeText(this.copyText);\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"复制成功\"\r\n      });\r\n    },\r\n    paste(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      console.log(navigator.clipboard.readText());\r\n      navigator.clipboard.readText().then(text => {\r\n        console.log(\"paste:\", text);\r\n        if (!data.id) {\r\n          return;\r\n        }\r\n        // 添加适当的缩进\r\n        // const indentedText = text.replace(/^/gm, \"\\n  \"); // 两个空格的缩进\r\n        // this.content += text;\r\n        let inputElement = null;\r\n        if (document.getElementById(\"subtitle\" + data.id)) {\r\n          inputElement = document.getElementById(\"subtitle\" + data.id);\r\n        } else if (document.getElementById(\"title\" + data.id)) {\r\n          inputElement = document.getElementById(\"title\" + data.id);\r\n        } else if (document.getElementById(\"edittextarea\" + data.id)) {\r\n          inputElement = document.getElementById(\"edittextarea\" + data.id);\r\n        } else if (document.getElementById(\"equativetitle\" + data.id)) {\r\n          inputElement = document.getElementById(\"equativetitle\" + data.id);\r\n        }\r\n\r\n        if (!inputElement) {\r\n          return;\r\n        }\r\n        console.log(inputElement);\r\n\r\n        const start = inputElement.selectionStart;\r\n        const end = inputElement.selectionEnd;\r\n        const value = this.content;\r\n        console.log(start, end);\r\n\r\n        // // 在光标位置插入换行符\r\n        // this.content += \"\\n\";\r\n        // 在光标位置插入换行符\r\n        this.content = value.substring(0, start) + text + value.substring(end);\r\n        setTimeout(() => {\r\n          const start1 = inputElement.selectionStart;\r\n          const end1 = inputElement.selectionEnd;\r\n          // 将光标移到新的换行位置\r\n          // 调整光标位置\r\n          const newSelectionStart = start + text.length;\r\n          inputElement.selectionStart = inputElement.selectionEnd = newSelectionStart;\r\n          console.log(\"1111:\", start1, end1);\r\n        });\r\n\r\n        console.log(\"content:\", this.content);\r\n      });\r\n    },\r\n    cut(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if (!data.id) {\r\n        return;\r\n      }\r\n      let txt = this.getSelectText();\r\n      if (txt) {\r\n        this.copyText = txt;\r\n      } else {\r\n        this.copyText = data.name;\r\n      }\r\n      this.content = this.content.replace(this.copyText, \"\");\r\n      console.log(\"copyText:\", this.copyText);\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"剪切成功\"\r\n      });\r\n    },\r\n    // 保留服务端，重启定时器\r\n    resetTimeout() {\r\n      this.isEdited = true;\r\n      this.setSaveTimeout();\r\n    },\r\n    clearTimeout() {\r\n      if (this.timer) {\r\n        clearInterval(this.timer);\r\n      }\r\n    },\r\n    setSaveTimeout() {\r\n      if (this.timer) {\r\n        clearInterval(this.timer);\r\n      }\r\n      if (!this.isEdited) {\r\n        return;\r\n      }\r\n      this.timer = setInterval(() => {\r\n        // 每隔2分钟检查本地时间戳与服务器端时间戳是否相同。如果相同，则终止定时机制；如果不同，则进行一次自动提交数据到本地\r\n        this.submitCon(1, true);\r\n      }, this.timeCount);\r\n    },\r\n    saveMindMap() {\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      let data = deepClone(this.datas);\r\n      data.splice(data.length - 1, 1);\r\n      this.toParse(data);\r\n      mindMap.mindmap_content = JSON.stringify(data);\r\n      console.log(\"saveMindMap:::\", mindMap);\r\n      console.log(mindMap.mindmap_content);\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: mindMap,\r\n        isEdited: this.isEdited,\r\n        timeStamp: new Date().getTime()\r\n      });\r\n    },\r\n    init() {\r\n      if (this.dataPro) {\r\n        this.is_collect = this.dataPro.is_collect_studythink;\r\n        console.log(\"dataPro:\", this.dataPro);\r\n        if (this.dataPro.mindmap_content) {\r\n          let data = JSON.parse(this.dataPro.mindmap_content);\r\n          if (this.isLocalStorageSave) {\r\n            this.isLocalStorageSave = false;\r\n            data.push(this.newChild);\r\n            this.showLayer = false;\r\n          }\r\n\r\n          this.datas = this.toParse1(data);\r\n          console.log(\"this.datas:\", this.datas);\r\n          this.$nextTick(() => {\r\n            this.$refs.tree.filter(2);\r\n          });\r\n        } else {\r\n          if (!this.dataPro.course_default_studythink) {\r\n            this.datas = [];\r\n            console.log(\"this.datas = [];\");\r\n          } else {\r\n            let data = JSON.parse(this.dataPro.course_default_studythink);\r\n            this.datas = this.toParse1(data);\r\n            console.log(\"this.datas = [];:\", this.datas);\r\n            this.$nextTick(() => {\r\n              this.$refs.tree.filter(2);\r\n            });\r\n          }\r\n        }\r\n      } else {\r\n        this.datas = [];\r\n        console.log(\"this.datas = [];\");\r\n      }\r\n      this.isEdited = false;\r\n    },\r\n    submitCon(type, isLocalStorageSave) {\r\n      this.isLocalStorageSave = isLocalStorageSave;\r\n      console.log(type);\r\n      this.dialogVisibleCon = false;\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.submitCon1(type, isLocalStorageSave);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.submitCon1(type, isLocalStorageSave);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.submitCon1(type, isLocalStorageSave);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.submitCon1(type, isLocalStorageSave);\r\n        });\r\n      } else {\r\n        this.submitCon1(type, isLocalStorageSave);\r\n      }\r\n    },\r\n    submitCon1(type, isLocalStorageSave) {\r\n      if (type === 2) {\r\n        this.$store.dispatch(\"setMindMap\", {\r\n          data: {\r\n            ...(JSON.parse(JSON.stringify(this.mindMap)))\r\n          },\r\n          isEdited: false,\r\n          timeStamp: this.mindMapTimeStamp,\r\n          mindMapTimeStamp: this.mindMapTimeStamp,\r\n        });\r\n        this.datas = [];\r\n      } else {\r\n        this.saveMindMap().then(() => {\r\n          this.$emit(\"saveMindMap\", this.whiteCom, false, isLocalStorageSave);\r\n        });\r\n      }\r\n      this.isEdited = false;\r\n\r\n      if (!isLocalStorageSave) {\r\n        if (this.whiteCom === \"CourseCom\" && type === 2) {\r\n          console.log(\"submitCon1 isEdited\");\r\n          this.isEdited = false;\r\n          this.clearTimeout();\r\n          console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n        } else if (this.whiteCom === \"Logo\" && type === 2) {\r\n          console.log(\"submitCon1 isEdited\");\r\n          this.isEdited = false;\r\n          this.clearTimeout();\r\n          console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n        } else if (this.whiteCom !== \"CourseCom\") {\r\n          console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n          // 如果是选择课程且保存的的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n        }\r\n      }\r\n    },\r\n    getRows(label, id, level) {\r\n      let rows = 1;\r\n      if (level === 1) {\r\n        rows = Math.ceil(label.length / (1000 / 18));\r\n      } else if (level === 2) {\r\n        rows = Math.ceil(label.length / (1000 / 16));\r\n      } else if (level === 3) {\r\n        rows = Math.ceil(label.length / (1000 / 16));\r\n      } else {\r\n        rows = Math.ceil(label.length / (1000 / 14));\r\n      }\r\n      return rows;\r\n    },\r\n    setFilterNode1(node, data) {\r\n      this.setFilterNode(node, data);\r\n      let childNodes = node.childNodes;\r\n      childNodes.forEach(item => {\r\n        this.setFilterNode1(item, item.data);\r\n      });\r\n    },\r\n    tabClick1(node, data) {\r\n      const parent = this.node.parent;\r\n      const prevParent = parent.parent;\r\n      console.log(prevParent);\r\n      if (prevParent) {\r\n        // 删除节点\r\n        this.$refs.tree.remove(this.node);\r\n        // 为 Tree 的一个节点的后面增加一个节点\r\n        this.$refs.tree.insertAfter(this.selectedData, parent);\r\n\r\n        // 为 Tree 中prevNode节点追加一个子节点\r\n        // this.$refs.tree.append(data, prevParent);\r\n\r\n        this.$nextTick(() => {\r\n          // this.$refs.tree.filter(2);\r\n          // let nowParent = parent.parent;\r\n          let timeout1 = null;\r\n          let timeout2 = null;\r\n          let timeout3 = null;\r\n          let timeout4 = null;\r\n          // 之前的父节点需要重置样式\r\n          timeout1 = setTimeout(() => {\r\n            this.setFilterNode(parent, parent.data);\r\n            // let childNodes = parent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout1);\r\n          });\r\n          // 现在的父节点需要重置样式\r\n          timeout2 = setTimeout(() => {\r\n            this.setFilterNode(prevParent, prevParent.data);\r\n            // let childNodes = prevParent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout2);\r\n          });\r\n          // 当前节点需要重置样式\r\n          let selectedNode = this.$refs.tree.getNode(data.id);\r\n          timeout3 = setTimeout(() => {\r\n            this.setFilterNode(selectedNode, selectedNode.data);\r\n            clearTimeout(timeout3);\r\n          });\r\n          // 子节点遍历重置样式\r\n          timeout4 = setTimeout(() => {\r\n            let childNodes = selectedNode.childNodes;\r\n            childNodes.forEach(item => {\r\n              this.setFilterNode1(item, item.data);\r\n            });\r\n            clearTimeout(timeout4);\r\n            this.selectedData = {};\r\n            this.node = {};\r\n          });\r\n\r\n          //保存到本地\r\n          this.saveMindMap();\r\n          //重置定时器\r\n          this.setSaveTimeout();\r\n          this.hideOperates1();\r\n        });\r\n      }\r\n      console.log(\"node:\", this.node, parent);\r\n    },\r\n    tabClick(node, data) {\r\n      const parent = this.node.parent;\r\n      console.log(\"node:\", this.node, parent);\r\n      const children = parent.data.children || parent.data;\r\n      const index = children.findIndex(d => d.id === this.selectedData.id);\r\n      // 如果是第0个元素，则执行tab默认事件\r\n      if (index > 0) {\r\n        let prevIndex = index - 1;\r\n        let prevNode = parent.childNodes[prevIndex];\r\n        // // 删除节点\r\n        this.$refs.tree.remove(this.node);\r\n        // 为 Tree 中prevNode节点追加一个子节点\r\n        this.$refs.tree.append(this.selectedData, prevNode);\r\n\r\n        this.$nextTick(() => {\r\n          // this.$refs.tree.filter(2);\r\n          // let nowParent = this.node.parent;\r\n          let timeout1 = null;\r\n          let timeout2 = null;\r\n          let timeout3 = null;\r\n          let timeout4 = null;\r\n          // 之前的父节点需要重置样式\r\n          timeout1 = setTimeout(() => {\r\n            this.setFilterNode(parent, parent.data);\r\n            // let childNodes = parent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout1);\r\n          });\r\n          // 现在的父节点需要重置样式\r\n          timeout2 = setTimeout(() => {\r\n            this.setFilterNode(prevNode, prevNode.data);\r\n            // let childNodes = prevParent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout2);\r\n          });\r\n          // 当前节点需要重置样式\r\n          let selectedNode = this.$refs.tree.getNode(data.id);\r\n          timeout3 = setTimeout(() => {\r\n            this.setFilterNode(selectedNode, selectedNode.data);\r\n            clearTimeout(timeout3);\r\n          });\r\n          // 子节点遍历重置样式\r\n          timeout4 = setTimeout(() => {\r\n            let childNodes = selectedNode.childNodes;\r\n            childNodes.forEach(item => {\r\n              this.setFilterNode1(item, item.data);\r\n            });\r\n            clearTimeout(timeout4);\r\n            this.selectedData = {};\r\n            this.node = {};\r\n          });\r\n\r\n          //保存到本地\r\n          this.saveMindMap();\r\n          //重置定时器\r\n          this.setSaveTimeout();\r\n          this.hideOperates1();\r\n        });\r\n      }\r\n      // if (this.$refs[\"textarea\" + this.selectedData.id]) {\r\n      //   this.$refs[\"textarea\" + this.selectedData.id].resizeTextarea();\r\n      //   this.$refs[\"textarea\" + this.selectedData.id].$refs.textarea.focus();\r\n      // }\r\n    },\r\n    hideOperates() {\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.hideOperates1();\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.hideOperates1();\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.hideOperates1();\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.hideOperates1();\r\n        });\r\n      } else {\r\n        this.hideOperates1();\r\n      }\r\n    },\r\n    hideOperates1() {\r\n      // if (this.$refs[\"operateRef\" + this.selectedData.id]) {\r\n      //   this.$refs[\"operateRef\" + this.selectedData.id].style.opacity = 0;\r\n      //   this.$refs[\"operateRef\" + this.selectedData.id].style.zIndex = 0;\r\n      //   this.$refs[\"operateRef\" + this.selectedData.id].style.top = \"4px\";\r\n      //   // this.$refs[\"operateRef\" + this.selectedData.id].style.bottom = \"-3px\";\r\n      //   this.$set(\r\n      //     this.selectedData,\r\n      //     \"class\",\r\n      //     this.selectedData.class + \" s\" + this.selectedData.class\r\n      //   );\r\n      //   // if (this.$refs[\"textarea\" + this.selectedData.id]) {\r\n      //   //   this.$refs[\"textarea\" + this.selectedData.id].resizeTextarea();\r\n      //   // }\r\n\r\n      // }\r\n      this.$set(this.selectedData, \"isShowOp\", false);\r\n      this.selectedData = {};\r\n      this.node = {};\r\n    },\r\n    handleLongPress(data) {\r\n      this.showOperates(data);\r\n    },\r\n    showOperates(data) {\r\n      this.showOperates1(data);\r\n    },\r\n    showOperates1(data) {\r\n      this.selectedData = data;\r\n      this.$set(\r\n        this.selectedData,\r\n        \"class\",\r\n        this.selectedData.class + \" s\" + this.selectedData.class\r\n      );\r\n      this.$set(this.selectedData, \"hidetab\", true);\r\n      this.$set(this.selectedData, \"hidetabReduce\", false);\r\n      this.$nextTick(() => {\r\n        this.$set(this.selectedData, \"isShowOp\", true);\r\n      });\r\n    },\r\n    showOperates2() {\r\n      this.selectedData = data;\r\n      this.$set(\r\n        this.selectedData,\r\n        \"class\",\r\n        this.selectedData.class + \" s\" + this.selectedData.class\r\n      );\r\n      this.$set(data, \"hidetab\", true);\r\n      this.$set(data, \"hidetabReduce\", false);\r\n      this.$nextTick(() => {\r\n        this.$set(data, \"isShowOp\", true);\r\n      });\r\n\r\n    },\r\n    // 单击选中\r\n    chooseNode(node, data) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      // 如果已经选中，则再点击一次就修改成编辑状态\r\n      console.log(\"chooseNode\", this.selectedData.id === data.id);\r\n      if (this.selectedData.id === data.id) {\r\n        this.edit(node, data);\r\n        return;\r\n      }\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.chooseNode1(node, data);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.chooseNode1(node, data);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.chooseNode1(node, data);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.chooseNode1(node, data);\r\n        });\r\n      } else {\r\n        this.hideOperates();\r\n        this.chooseNode1(node, data);\r\n      }\r\n    },\r\n    chooseNode1(node, data) {\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = 5;\r\n      let selectedNode = this.$refs.tree.getNode(data.id);\r\n      this.node = selectedNode;\r\n      this.selectedData = data;\r\n      const parent = selectedNode.parent;\r\n      const children = parent.childNodes;\r\n      const index = children.findIndex(d => d.data.id === this.selectedData.id);\r\n      this.removeNode.index = index;\r\n    },\r\n    // 双击修改\r\n    edit(node1, data) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.edit1(node1, data);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.edit1(node1, data);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.edit1(node1, data);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.edit1(node1, data);\r\n        });\r\n      } else {\r\n        this.edit1(node1, data);\r\n      }\r\n    },\r\n    edit1(node1, data) {\r\n      this.operating.isOperating = true;\r\n      this.operating.operate = 2;\r\n      if (!this.selectedData) {\r\n        return;\r\n      }\r\n      this.hideOperates1();\r\n      this.selectedData = data;\r\n      this.node = node1;\r\n      console.log(this.selectedData, this.node);\r\n      this.content = this.selectedData.name;\r\n      const parent = this.node.parent;\r\n      const node = parent.data.node || parent.data;\r\n      const index = node.findIndex(d => d.id === this.selectedData.id);\r\n      this.$set(this.selectedData, \"isEdit\", true);\r\n      node.splice(index, 1, this.selectedData);\r\n\r\n      this.$nextTick(() => {\r\n        if (this.$refs[\"edittextarea\" + this.selectedData.id]) {\r\n          this.$refs[\"edittextarea\" + this.selectedData.id].resizeTextarea();\r\n          this.$refs[\r\n          \"edittextarea\" + this.selectedData.id\r\n            ].$refs.textarea.focus();\r\n          // this.setFilterNode(node1, data, false, \"edittextarea\");\r\n        }\r\n      });\r\n    },\r\n    saveChooseStatus(id) {\r\n      let selectedNodeNew = this.$refs.tree.getNode(id);\r\n      this.selectedData = selectedNodeNew.data;\r\n      this.node = selectedNodeNew;\r\n\r\n      let timeout = null;\r\n      timeout = setTimeout(() => {\r\n        this.chooseNode1(selectedNodeNew, selectedNodeNew.data);\r\n        clearTimeout(timeout);\r\n      });\r\n    },\r\n    // 修改节点\r\n    editNode(isSelected, e) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      if (this.isSelected) {\r\n        return;\r\n      }\r\n      this.isSelected = isSelected;\r\n      // isSelected: 是否是按enter键保存的，是的话就保持选中状态\r\n\r\n      // 如果是在编辑状态下显示菜单则隐藏\r\n      if (this.isEditOperating) {\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n        // if (\r\n        //   this.selectedData &&\r\n        //   this.selectedData.id &&\r\n        //   this.$refs[\"operateRef\" + this.selectedData.id]\r\n        // ) {\r\n        //   this.$refs[\"operateRef\" + this.selectedData.id].style.opacity = 0;\r\n        //   this.$refs[\"operateRef\" + this.selectedData.id].style.zIndex = 0;\r\n        //   this.$refs[\"operateRef\" + this.selectedData.id].style.top = \"4px\";\r\n        //   this.$set(\r\n        //     this.selectedData,\r\n        //     \"class\",\r\n        //     this.selectedData.class.split(\" \")[0]\r\n        //   );\r\n        // }\r\n      }\r\n      this.isEdited = true;\r\n      // if (!isSelected) {\r\n      //   this.operating.isOperating = false;\r\n      // }\r\n\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = null;\r\n      // this.$set(\r\n      //   this.selectedData,\r\n      //   \"class\",\r\n      //   this.selectedData.class.split(\" \")[0]\r\n      // );\r\n      console.log(this.node, this.selectedData);\r\n      if (this.selectedData.isEdit) {\r\n        delete this.selectedData.isEdit;\r\n      }\r\n      const parent = this.node.parent;\r\n      if (parent) {\r\n        const node = parent.data.node || parent.data;\r\n        const index = node.findIndex(d => d.id === this.selectedData.id);\r\n\r\n        node.splice(index, 1, {\r\n          ...this.selectedData,\r\n          name: this.content.trim()\r\n        });\r\n        this.selectedData = node[index];\r\n        console.log(\"editNode:\", index, node);\r\n        console.log(this.datas);\r\n\r\n        let childNodes = parent.childNodes;\r\n        // if (parent.childNodes.length > 1) {\r\n        const idx = childNodes.findIndex(\r\n          d => d.data.id === this.selectedData.id\r\n        );\r\n        console.log(\"childNodes[idx]:\", childNodes[idx]);\r\n        if (childNodes[idx].level > 1) {\r\n          childNodes[idx].data.name = this.content.trim();\r\n          // this.$refs.tree.remove(this.selectedData.id);\r\n          // if (idx === 0) {\r\n          //   this.$refs.tree.insertBefore(\r\n          //     {\r\n          //       ...this.selectedData,\r\n          //       // name: this.content.trim(),\r\n          //     },\r\n          //     childNodes[idx]\r\n          //   );\r\n          // } else {\r\n          //   this.$refs.tree.insertAfter(\r\n          //     {\r\n          //       ...this.selectedData,\r\n          //       // name: this.content.trim(),\r\n          //     },\r\n          //     childNodes[idx - 1]\r\n          //   );\r\n          // }\r\n        }\r\n        // } else {\r\n        //   // this.$refs.tree.remove(this.selectedData.id);\r\n        //   // this.$refs.tree.append(\r\n        //   //   {\r\n        //   //     ...this.selectedData,\r\n        //   //     // name: this.content.trim()\r\n        //   //   },\r\n        //   //   parent\r\n        //   // );\r\n        // }\r\n\r\n        //保存到本地\r\n        this.saveMindMap();\r\n        //重置定时器\r\n        this.setSaveTimeout();\r\n        this.$nextTick(() => {\r\n          console.log(!this.isEditOperating && !isSelected);\r\n          console.log(this.isEditOperating && !isSelected);\r\n          if (!this.isEditOperating && !isSelected) {\r\n            this.selectedData = {};\r\n            this.node = {};\r\n          } else if (this.isEditOperating && !isSelected) {\r\n            this.selectedData = {};\r\n          }\r\n          let timeout = null;\r\n          timeout = setTimeout(() => {\r\n            if (isSelected) {\r\n              this.chooseNode1(this.node, this.selectedData);\r\n            }\r\n            clearTimeout(timeout);\r\n          });\r\n\r\n          this.isSelected = false;\r\n        });\r\n      } else {\r\n        if (!isSelected) {\r\n          this.selectedData = {};\r\n          this.node = {};\r\n        }\r\n      }\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 添加主题\r\n    addTheme(e) {\r\n      // if (this.selectedData.id && this.operating.isOperating) {\r\n      //   this.$refs.tree.remove(id);\r\n      // }\r\n      // this.operating.operate = 1;\r\n      // this.operating.isOperating = true;\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.addTheme1();\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.addTheme1();\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.addTheme1();\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.addTheme1();\r\n        });\r\n      } else {\r\n        this.addTheme1();\r\n      }\r\n    },\r\n    addTheme1() {\r\n      this.$set(this.selectedData, \"isShowOp\", false);\r\n      // if (\r\n      //   this.selectedData &&\r\n      //   this.selectedData.id &&\r\n      //   this.$refs[\"operateRef\" + this.selectedData.id]\r\n      // ) {\r\n      //   this.$refs[\"operateRef\" + this.selectedData.id].style.opacity = 0;\r\n      //   this.$refs[\"operateRef\" + this.selectedData.id].style.zIndex = 0;\r\n      //   this.$refs[\"operateRef\" + this.selectedData.id].style.top = \"4px\";\r\n      //   this.$set(\r\n      //     this.selectedData,\r\n      //     \"class\",\r\n      //     this.selectedData.class.split(\" \")[0]\r\n      //   );\r\n      // }\r\n      this.operating.operate = 1;\r\n      this.operating.isOperating = true;\r\n      this.content = \"\";\r\n      id = \"id\" + uuidv4();\r\n      if (this.datas.length > 1) {\r\n        let lastChild = this.datas[this.datas.length - 2];\r\n        if (lastChild.isAddTheme && lastChild.isAdd) {\r\n          return;\r\n        }\r\n      }\r\n\r\n      const newChild = {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 2,\r\n        isAdd: true,\r\n        isAddTheme: true\r\n      };\r\n      this.datas.splice(this.datas.length - 1, 0, newChild);\r\n      this.$nextTick(() => {\r\n        this.$refs[\"title\" + id].$refs.textarea.focus();\r\n      });\r\n    },\r\n    // 换行\r\n    insertNewline(e, inputId) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      console.log(this.operating.operate, this.operating.isOperating);\r\n      console.log(\"insertNewline:\", e, inputId);\r\n      // this.$refs[\"title\" + id].$refs.textarea.focus();\r\n      // const inputElement = this.$refs[\"title\" + id].$refs.textarea;\r\n      let inputElement = null;\r\n      if (document.getElementById(\"subtitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"subtitle\" + inputId);\r\n      } else if (document.getElementById(\"title\" + inputId)) {\r\n        inputElement = document.getElementById(\"title\" + inputId);\r\n      } else if (document.getElementById(\"edittextarea\" + inputId)) {\r\n        inputElement = document.getElementById(\"edittextarea\" + inputId);\r\n      } else if (document.getElementById(\"equativetitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"equativetitle\" + inputId);\r\n      }\r\n\r\n      if (!inputElement) {\r\n        return;\r\n      }\r\n      console.log(inputElement);\r\n\r\n      const start = inputElement.selectionStart;\r\n      const end = inputElement.selectionEnd;\r\n      const value = this.content;\r\n      console.log(start, end);\r\n\r\n      // // 在光标位置插入换行符\r\n      // this.content += \"\\n\";\r\n      // 在光标位置插入换行符\r\n      this.content = value.substring(0, start) + \"\\n\" + value.substring(end);\r\n      this.$nextTick(() => {\r\n        // 将光标移到新的换行位置\r\n        inputElement.selectionStart = inputElement.selectionEnd = start + 1;\r\n      });\r\n    },\r\n    // 添加主题保存\r\n    saveTitle(e) {\r\n      console.log(\"saveTitle:\", e);\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      // if (this.content === \"\") {\r\n      //   this.$refs.tree.remove(id);\r\n      //   return;\r\n      // }\r\n      // if (this.isEditOperating) {\r\n      //   return;\r\n      // }\r\n      this.isEdited = true;\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = null;\r\n      this.datas.splice(this.datas.length - 2, 1, {\r\n        id,\r\n        name: this.content.trim(),\r\n        node: [],\r\n        lock: 2\r\n      });\r\n      //保存到本地\r\n      this.saveMindMap();\r\n      //重置定时器\r\n      this.setSaveTimeout();\r\n      this.$nextTick(() => {\r\n        this.saveChooseStatus(id);\r\n      });\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 添加子主题\r\n    append(data, node, e) {\r\n      e.preventDefault();\r\n      console.log(data, node);\r\n      // 大纲模式限制5层，弹层提示“最多只能添加5级”\r\n      if (node.level === 5) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多只能添加5级\"\r\n        });\r\n        return;\r\n      }\r\n      if (!data.id) {\r\n        return;\r\n      }\r\n      this.operating.isOperating = true;\r\n      this.operating.operate = 3;\r\n      console.log(data);\r\n      // this.append1(data, node);\r\n      if (this.isEditOperating) {\r\n        this.editNode().then(() => {\r\n          this.isEditOperating = false;\r\n          this.append1(data, node);\r\n        });\r\n      } else {\r\n        this.append1(data, node);\r\n      }\r\n    },\r\n    append1(data, node) {\r\n      // 展开\r\n      let selectedNode = this.$refs.tree.getNode(data.id);\r\n      if (!selectedNode) {\r\n        return;\r\n      }\r\n      selectedNode.expanded = true;\r\n\r\n      id = \"id\" + uuidv4();\r\n      const newChild = {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 2,\r\n        isAdd: true\r\n      };\r\n      if (!data.node) {\r\n        this.$set(data, \"node\", []);\r\n      }\r\n      this.$set(data, \"isShowOp\", false);\r\n      // this.$refs[\"operateRef\" + data.id].style.opacity = 0;\r\n      // this.$refs[\"operateRef\" + data.id].style.zIndex = 0;\r\n      // this.$refs[\"operateRef\" + data.id].style.top = \"4px\";\r\n      if (data.class) {\r\n        this.$set(data, \"class\", data.class.split(\" \")[0]);\r\n      }\r\n      this.$refs.tree.append(newChild, node);\r\n      this.$nextTick(() => {\r\n        this.$refs[\"subtitle\" + id].$refs.textarea.focus();\r\n        this.content = \"\";\r\n        let selectedNodeNew = this.$refs.tree.getNode(id);\r\n        this.setFilterNode(selectedNodeNew.parent, selectedNodeNew.parent.data);\r\n        this.node = node;\r\n        this.selectedData = {};\r\n      });\r\n    },\r\n    // 保存子主题\r\n    saveSubTitle(e) {\r\n      console.log(e);\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      // if (this.content === \"\") {\r\n      //   this.$refs.tree.remove(id);\r\n      //   return;\r\n      // }\r\n      // if (this.isEditOperating) {\r\n      //   return;\r\n      // }\r\n      this.isEdited = true;\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = null;\r\n      console.log(this.node, this.selectedData);\r\n      if (this.selectedData.isAdd) {\r\n        delete this.selectedData.isAdd;\r\n      }\r\n      // 添加\r\n      // const index = node.findIndex((d) => d.id === this.selectedData.id);\r\n\r\n      // let selectedNode = this.$refs.tree.getNode(id);\r\n      // // selectedNode.data.name = this.content.trim();\r\n      // if (selectedNode.data.isAdd) {\r\n      //   delete selectedNode.data.isAdd;\r\n      // }\r\n      // selectedNode.node.splice(selectedNode.node.length - 1, 1, {\r\n      //   id,\r\n      //   name: this.content.trim(),\r\n      //   node: [],\r\n      //   lock: 2,\r\n      // });\r\n      // let parent = selectedNode.parent;\r\n      this.$refs.tree.remove(id);\r\n      this.$refs.tree.append(\r\n        {\r\n          id,\r\n          name: this.content.trim(),\r\n          node: [],\r\n          lock: 2\r\n        },\r\n        this.node\r\n      );\r\n      //保存到本地\r\n      this.saveMindMap();\r\n      //重置定时器\r\n      this.setSaveTimeout();\r\n      this.$nextTick(() => {\r\n        this.saveChooseStatus(id);\r\n      });\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 增加同级节点\r\n    addEquative(node, data, e) {\r\n      console.log(\"addEquative\");\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      let timeout = null;\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.chooseNode1(node, data);\r\n          timeout = setTimeout(() => {\r\n            this.addEquative1(this.node, this.selectedData, e);\r\n            clearTimeout(timeout);\r\n          });\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.chooseNode1(node, data);\r\n          timeout = setTimeout(() => {\r\n            this.addEquative1(this.node, this.selectedData, e);\r\n            clearTimeout(timeout);\r\n          });\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.chooseNode1(node, data);\r\n          timeout = setTimeout(() => {\r\n            this.addEquative1(this.node, this.selectedData, e);\r\n            clearTimeout(timeout);\r\n          });\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.chooseNode1(node, data);\r\n          timeout = setTimeout(() => {\r\n            this.addEquative1(this.node, this.selectedData, e);\r\n            clearTimeout(timeout);\r\n          });\r\n        });\r\n      } else {\r\n        this.chooseNode1(node, data);\r\n        timeout = setTimeout(() => {\r\n          this.addEquative1(this.node, this.selectedData, e);\r\n          clearTimeout(timeout);\r\n        });\r\n      }\r\n    },\r\n    addEquative1(node, data, e) {\r\n      this.content = \"\";\r\n      this.operating.isOperating = true;\r\n      this.operating.operate = 4;\r\n      id = \"id\" + uuidv4();\r\n      const newChild = {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 2,\r\n        isAddEquative: true\r\n      };\r\n      // 在选中节点同级后面新增一个同级节点\r\n      console.log(\"this.$refs.tree:\", this.$refs.tree);\r\n      console.log(newChild);\r\n      console.log(node);\r\n      try {\r\n        this.$refs.tree.insertAfter(newChild, node);\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n\r\n      this.$set(data, \"isShowOp\", false);\r\n      this.$nextTick(() => {\r\n        if (this.$refs[\"equativetitle\" + id]) {\r\n          this.$refs[\"equativetitle\" + id].$refs.textarea.focus();\r\n        }\r\n        let selectedNodeNew = this.$refs.tree.getNode(data.id);\r\n        this.setFilterNode(selectedNodeNew.parent, selectedNodeNew.parent.data);\r\n        this.node = node;\r\n        this.selectedData = {};\r\n        this.content = \"\";\r\n      });\r\n    },\r\n    // 保存同级\r\n    saveEquative(e) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      console.log(\"saveEquative\");\r\n      this.isEdited = true;\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = null;\r\n      console.log(this.node, this.selectedData);\r\n      // if (this.selectedData.isAddEquative) {\r\n      //   delete this.selectedData.isAddEquative;\r\n      // }\r\n      this.$refs.tree.remove(id);\r\n      this.$refs.tree.insertAfter(\r\n        {\r\n          id,\r\n          name: this.content.trim(),\r\n          node: [],\r\n          lock: 2\r\n        },\r\n        this.node\r\n      );\r\n      //保存到本地\r\n      this.saveMindMap();\r\n      //重置定时器\r\n      this.setSaveTimeout();\r\n\r\n      this.$nextTick(() => {\r\n        let selectedNodeNew = this.$refs.tree.getNode(id);\r\n        this.selectedData = selectedNodeNew.data;\r\n        this.node = selectedNodeNew;\r\n\r\n        let timeout = null;\r\n        timeout = setTimeout(() => {\r\n          this.chooseNode1(selectedNodeNew, selectedNodeNew.data);\r\n          clearTimeout(timeout);\r\n        });\r\n      });\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    toParse(arr) {\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParse(item[\"node\"]);\r\n        }\r\n        if (item.children) {\r\n          delete item.children;\r\n        }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        if (item.id) {\r\n          delete item.id;\r\n        }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    toParse1(arr) {\r\n      arr.forEach(item => {\r\n        if (item.node && Array.isArray(item.node)) {\r\n          if (item.children) {\r\n            delete item.children;\r\n          }\r\n          item[\"children\"] = item.node;\r\n          this.toParse1(item[\"children\"]);\r\n        }\r\n        item.id = \"id\" + uuidv4();\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    // 删除\r\n    remove(e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if (!this.selectedData || !this.selectedData.id) {\r\n        return;\r\n      }\r\n      this.isEdited = true;\r\n      // const parent = this.node.parent;\r\n      // const node = parent.data.children || parent.data;\r\n      // let index = -1;\r\n      // index = node.findIndex((d) => d.id === this.selectedData.id);\r\n      // if (index === -1) {\r\n      //   index = node.findIndex((d) => d.data.id === this.selectedData.id);\r\n      // }\r\n      // node.splice(index, 1);\r\n\r\n      console.log(\"removeNode:\", this.removeNode);\r\n      const parent = this.node.parent;\r\n      console.log(\"parent:\", parent);\r\n      // const children = parent.childNodes;\r\n\r\n      this.removeNode.node = this.node;\r\n      this.removeNode.parent = parent;\r\n      const data = this.node.parent.data;\r\n\r\n      this.$refs.tree.remove(this.selectedData.id);\r\n      //保存到本地\r\n      this.saveMindMap();\r\n      //重置定时器\r\n      this.setSaveTimeout();\r\n      this.$set(this.selectedData, \"isShowOp\", false);\r\n      this.$nextTick(() => {\r\n        this.setFilterNode(parent, data);\r\n        this.selectedData = {};\r\n        this.node = {};\r\n        this.isEditOperating = false;\r\n      });\r\n    },\r\n    // 撤回上一次删除\r\n    withdraw() {\r\n      if (!this.removeNode.node) {\r\n        return;\r\n      }\r\n      const parent = this.removeNode.parent;\r\n      console.log(this.removeNode);\r\n      console.log(\"parent:\", parent);\r\n      let parentNode = null;\r\n      if (parent) {\r\n        if (parent.level === 0) {\r\n          parentNode = parent;\r\n        } else {\r\n          parentNode = this.$refs.tree.getNode(parent.data.id);\r\n        }\r\n\r\n        const childNodes = parentNode.childNodes;\r\n        const index = this.removeNode.index;\r\n        // const index1 = childNodes.findIndex((d) => d.id === this.selectedData.id);\r\n        if (parentNode) {\r\n          // 如果只有一个元素或者是最后一个节点\r\n          if (index === childNodes.length) {\r\n            this.$refs.tree.append(this.removeNode.node.data, parentNode);\r\n          } else if (childNodes.length > 1) {\r\n            // 如果是节点个数大于1，找到后面一个元素\r\n            const lastNode = childNodes[index];\r\n            this.$refs.tree.insertBefore(this.removeNode.node.data, lastNode);\r\n          }\r\n          //保存到本地\r\n          this.saveMindMap();\r\n          //重置定时器\r\n          this.setSaveTimeout();\r\n        }\r\n      }\r\n      this.$nextTick(() => {\r\n        // 父节点\r\n        this.setFilterNode(parentNode, parentNode.data);\r\n        // 本节点\r\n        this.setFilterNode(this.removeNode.node, this.removeNode.node.data);\r\n        // 子节点遍历\r\n        let childNodes = this.removeNode.node.childNodes;\r\n        childNodes.forEach(item => {\r\n          this.setFilterNode1(item, item.data);\r\n        });\r\n        this.node = {};\r\n        this.selectedData = {};\r\n        this.removeNode = {};\r\n      });\r\n    },\r\n    setCollapseHeight(node, offsetHeightO) {\r\n      if (node && node.level === 1) {\r\n        return;\r\n      }\r\n      let parentNode = node.parent;\r\n      let dom = document.getElementById(node.data.id);\r\n      let selector = \"#\" + node.data.id + \"::before\";\r\n      // 收起，重新设置高度\r\n      let parent = dom.parentNode;\r\n      let prevParent = parent.parentNode;\r\n      let offsetHeight = prevParent.offsetHeight - 28;\r\n      //js代码，支持IE\r\n      document.styleSheets[0].addRule(\r\n        selector,\r\n        \"height: \" + offsetHeight + \"px;\"\r\n      );\r\n      //支持非IE的现代浏览器\r\n      document.styleSheets[0].insertRule(\r\n        selector + \" { height: \" + offsetHeight + \"px; }\",\r\n        0\r\n      );\r\n      this.setCollapseHeight(parentNode);\r\n    },\r\n    setFilterNode(node, data, collapse, idName) {\r\n      let name = \"textarea\";\r\n      if (idName) {\r\n        name = idName;\r\n      }\r\n      console.log(this.node, this.selectedData);\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n      }\r\n      const childNodes = node.childNodes;\r\n      let flag = true;\r\n      if (childNodes.length <= 0) {\r\n        flag = false;\r\n      }\r\n      if (flag) {\r\n        this.$set(data, \"class\", \"isVertival\");\r\n      }\r\n      this.$nextTick(() => {\r\n        // if (this.$refs[name + this.selectedData.id]) {\r\n        //   this.$refs[name + this.selectedData.id].resizeTextarea();\r\n        // }\r\n        if (this.$refs[name + data.id]) {\r\n          if (name !== \"textarea\") {\r\n            this.$refs[name + data.id].resizeTextarea();\r\n          }\r\n          let dom = document.getElementById(data.id);\r\n          let timeout = null;\r\n          if (dom) {\r\n            let parent = dom.parentNode;\r\n            let prevParent = parent.parentNode;\r\n            let classList = parent.classList;\r\n            // 没有子节点或者收起,要把isVertival去掉\r\n            if (classList.contains(\"isVertival\") && !flag) {\r\n              parent.classList.remove(\"isVertival\");\r\n              // if(classList.contains('isVertivall' + node.level)) {\r\n              //   parent.classList.remove('isVertivall' + node.level);\r\n              // }\r\n            } else if (!classList.contains(\"isVertival\") && flag) {\r\n              parent.classList.add(\"isVertival\");\r\n            }\r\n            // if(node.level >= 4 && classList.contains('isVertival')&& !collapse) {\r\n            //   parent.classList.add('isVertivall' + node.level);\r\n            // }\r\n            // if (classList.contains(\"is-expanded\")) {\r\n            //   prevParent.classList.remove(\"is-expanded\");\r\n            // }\r\n            console.log(\"parent.classList:\", parent.classList);\r\n            console.log(data.name);\r\n          }\r\n        }\r\n      });\r\n      this.$set(data, \"hasVertical\", flag);\r\n    },\r\n    filterNode(value, data, node) {\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      this.$set(data, \"isShowOp\", false);\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n        const childNodes = node.childNodes;\r\n        let flag = true;\r\n        if (childNodes.length <= 0) {\r\n          flag = false;\r\n        }\r\n        if (flag) {\r\n          this.$set(data, \"class\", \"isVertival\");\r\n        }\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"textarea\" + data.id]) {\r\n            // this.$refs[\"textarea\" + data.id].resizeTextarea();\r\n            let dom = document.getElementById(data.id);\r\n            if (dom && node.level > 1) {\r\n              let parent = dom.parentNode;\r\n              let prevParent = parent.parentNode;\r\n              let classList = parent.classList;\r\n              // 没有子节点,要把isVertival去掉\r\n              if (classList.contains(\"isVertival\") && !flag) {\r\n                parent.classList.remove(\"isVertival\");\r\n              } else if (!classList.contains(\"isVertival\") && flag) {\r\n                parent.classList.add(\"isVertival\");\r\n              }\r\n              // if (node.level >= 4 && classList.contains(\"isVertival\")) {\r\n              //   parent.classList.add(\"isVertivall\" + node.level);\r\n              // }\r\n            }\r\n          }\r\n        });\r\n        this.$set(data, \"hasVertical\", flag);\r\n      }\r\n      return true;\r\n    },\r\n    getChildrenLen(node, lenObj) {\r\n      const childNodes = node.childNodes;\r\n      lenObj.len += childNodes.length;\r\n      childNodes.forEach(item => {\r\n        if (item.childNodes.length > 0) {\r\n          this.getChildrenLen(item, lenObj);\r\n        }\r\n      });\r\n    },\r\n    nodeCollapse(data, node, data1) {\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.nodeCollapse1(node);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.nodeCollapse1(node);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.nodeCollapse1(node);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.nodeCollapse1(node);\r\n        });\r\n      } else {\r\n        this.nodeCollapse1(node);\r\n      }\r\n\r\n      // this.$nextTick(() => {\r\n      //   this.setFilterNode(node, node.data, true);\r\n      // })\r\n    },\r\n    nodeCollapse1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, true);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    nodeExpand(data, node, data1) {\r\n      if (this.operating.isOperating && this.operating.operate === 1) {\r\n        this.saveTitle().then(() => {\r\n          this.nodeExpand1(node);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 2) {\r\n        this.editNode().then(() => {\r\n          this.nodeExpand1(node);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 3) {\r\n        this.saveSubTitle().then(() => {\r\n          this.nodeExpand1(node);\r\n        });\r\n      } else if (this.operating.isOperating && this.operating.operate === 4) {\r\n        this.saveEquative().then(() => {\r\n          this.nodeExpand1(node);\r\n        });\r\n      } else {\r\n        this.nodeExpand1(node);\r\n      }\r\n    },\r\n    nodeExpand1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, false);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    handleDragStart(node, ev) {\r\n      console.log(\"drag start\", node);\r\n      // this.draggingNode = node;\r\n      // 之前的父节点\r\n      let timeout3 = null;\r\n      timeout3 = setTimeout(() => {\r\n        this.dragNodeParPrev = node.parent;\r\n        console.log(\"parent:\", this.dragNodeParPrev);\r\n        // this.setFilterNode(parent, parent.data);\r\n        clearTimeout(timeout3);\r\n      });\r\n    },\r\n    handleDragEnter(draggingNode, dropNode, ev) {\r\n      console.log(\"tree drag enter: \", dropNode.label);\r\n    },\r\n    handleDragLeave(draggingNode, dropNode, ev) {\r\n      console.log(\"tree drag leave: \", dropNode.label);\r\n    },\r\n    handleDragOver(draggingNode, dropNode, ev) {\r\n      console.log(\"tree drag over: \", dropNode.label);\r\n    },\r\n    handleDragEnd(draggingNode, dropNode, dropType, ev) {\r\n      console.log(\"tree drag end: \", dropNode && dropNode.label, dropType);\r\n      this.$nextTick(() => {\r\n        // 之前的父节点\r\n        this.setFilterNode(this.dragNodeParPrev, this.dragNodeParPrev.data);\r\n        //保存到本地\r\n        this.saveMindMap();\r\n        //重置定时器\r\n        this.setSaveTimeout();\r\n        let timeout1 = null;\r\n        let timeout2 = null;\r\n        let timeout4 = null;\r\n        // 本节点\r\n        timeout1 = setTimeout(() => {\r\n          console.log(\"dragNodeParPrev:\", draggingNode);\r\n          this.setFilterNode(draggingNode, draggingNode.data);\r\n          clearTimeout(timeout1);\r\n        });\r\n        // 子节点遍历重置样式\r\n        timeout4 = setTimeout(() => {\r\n          let childNodes = draggingNode.childNodes;\r\n          childNodes.forEach(item => {\r\n            this.setFilterNode1(item, item.data);\r\n          });\r\n          clearTimeout(timeout4);\r\n        });\r\n        // 现在的父节点\r\n        timeout2 = setTimeout(() => {\r\n          console.log(\"dropNode:\", dropNode);\r\n          this.setFilterNode(dropNode, dropNode.data);\r\n          clearTimeout(timeout2);\r\n        });\r\n      });\r\n    },\r\n    handleDrop(draggingNode, dropNode, dropType, ev) {\r\n      console.log(\"tree drop: \", dropNode.label, dropType);\r\n    },\r\n    allowDrop(draggingNode, dropNode, type) {\r\n      console.log(\"allowDrop: \", dropNode, type);\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return false;\r\n      } else {\r\n        // 拖拽最多只能5层级\r\n        if (dropNode.level == 5 && type == \"inner\") {\r\n          ev.preventDefault(); // 阻止拖拽动作\r\n          return false;\r\n        } else {\r\n          return true;\r\n        }\r\n      }\r\n    },\r\n    allowDrag(draggingNode) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return false;\r\n      }\r\n      console.log(draggingNode);\r\n      if (draggingNode.data.lock == 2 || draggingNode.data.isAddTheme) {\r\n        return false;\r\n      }\r\n      if (\r\n        this.selectedData.id === draggingNode.data.id &&\r\n        this.selectedData.isEdit\r\n      ) {\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    handleKeyDown(e) {\r\n      console.log(\"handleKeyDown:\", e);\r\n      // if (this.arrKey.length > 0) {\r\n      //   // a-z的按键 长按去重\r\n      //   if (this.arrKey.indexOf(e.key.toLowerCase()) >= 0) {\r\n      //     return;\r\n      //   }\r\n      // }\r\n      // if (this.arrKey.indexOf(e.key.toLowerCase()) < 0) {\r\n      //   this.arrKey.push(e.key.toLowerCase());\r\n      // }\r\n      // this.keydown = this.arrKey.join(\"+\");\r\n\r\n      // 删除win\r\n      if (e.ctrlKey && e.key.toLowerCase() === \"d\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n      // 删除mac\r\n      if (e.metaKey && e.key.toLowerCase() === \"backspace\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n      // 新增子节点win、mac\r\n      if (e.key.toLowerCase() === \"tab\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.append(this.selectedData, this.node, e);\r\n      }\r\n      // // 新增子节点mac\r\n      // if (this.keydown === \"tab\") {\r\n      //   this.keydown = \"\";\r\n      //   e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.append(this.selectedData, this.node, e);\r\n      // }\r\n\r\n      // 复制win\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy1(this.node, this.selectedData, e);\r\n      }\r\n      // 复制mac\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy1(this.node, this.selectedData, e);\r\n      }\r\n      // 粘贴win\r\n      console.log(this.operating.isOperating);\r\n      console.log(this.operating.operate);\r\n      console.log(\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        this.operating.isOperating\r\n      );\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"v\" &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        console.log(\"paste\");\r\n        this.paste(this.node, this.selectedData, e);\r\n      }\r\n      // 粘贴mac\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"v\" &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.paste(this.node, this.selectedData, e);\r\n      }\r\n      // 剪切win\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"x\" &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        console.log(this.$refs[\"edittextarea\" + this.selectedData.id]);\r\n        if (this.$refs[\"edittextarea\" + this.selectedData.id]) {\r\n          // $refs.input.select();\r\n          // console.log(\r\n          //   this.$refs[\"edittextarea\" + this.selectedData.id].select()\r\n          // );\r\n        }\r\n\r\n        this.cut(this.node, this.selectedData, e);\r\n      }\r\n      // 剪切mac\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"x\" &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.cut(this.node, this.selectedData, e);\r\n      }\r\n      // 新增同级节点win、mac\r\n      if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        !e.ctrlKey &&\r\n        !this.operating.isOperating &&\r\n        this.operating.operate === 5\r\n      ) {\r\n        e.preventDefault();\r\n        this.addEquative(this.node, this.selectedData, e);\r\n      }\r\n      // 保存win\r\n      if (e.ctrlKey && e.key.toLowerCase() === \"s\") {\r\n        console.log(\">>>>保存啦\");\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n      }\r\n      // 保存mac\r\n      if (e.metaKey && e.key.toLowerCase() === \"s\") {\r\n        console.log(\">>>>保存啦\");\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n      }\r\n      // ctrl + enter 换行 win\r\n      if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.ctrlKey &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.selectedData.id);\r\n      } else if (e.key.toLowerCase() === \"enter\" && e.ctrlKey) {\r\n        // 新增节点\r\n        this.insertNewline(e, id);\r\n      }\r\n      // meta + enter 换行 mac\r\n      if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.metaKey &&\r\n        this.operating.isOperating &&\r\n        this.operating.operate === 2\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.selectedData.id);\r\n      } else if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.metaKey &&\r\n        this.operating.isOperating\r\n      ) {\r\n        // 新增节点\r\n        this.insertNewline(e, id);\r\n      }\r\n    },\r\n    handleKeyUp(e) {\r\n      // this.arrKey = [];\r\n      // console.log(\"handleKeyUp\");\r\n      // console.log(\"e.key:\", e);\r\n      // console.log(\"this.arrKey:\", this.arrKey);\r\n      // console.log(this.arrKey.indexOf(e.key.toLowerCase()));\r\n      // this.arrKey.splice(this.arrKey.indexOf(e.key.toLowerCase()), 1);\r\n      // console.log(\"this.arrKey:\", this.arrKey);\r\n      // this.keydown = this.arrKey.join(\"+\");\r\n      // e.preventDefault(); // 取消浏览器原有的操作\r\n    },\r\n    type() {\r\n      let agent = navigator.userAgent.toLowerCase();\r\n      // this.isMac = true;\r\n      this.isMac = /macintosh|mac os x/i.test(navigator.userAgent);\r\n      if (agent.indexOf(\"win32\") >= 0 || agent.indexOf(\"wow32\") >= 0) {\r\n        this.isMac = false;\r\n      }\r\n      if (agent.indexOf(\"win64\") >= 0 || agent.indexOf(\"wow64\") >= 0) {\r\n        this.isMac = false;\r\n      }\r\n    },\r\n    handleGetMessage(event) {\r\n      console.log(\"handleGetMessage\");\r\n      if (event.data.status === \"ok\") {\r\n        console.log(event.data, \"当前事件数据\");\r\n      }\r\n    },\r\n    scrollOutline(e) {\r\n      const myMindOutline = document.getElementById(\"myMindOutline\");\r\n      const scrollTop = myMindOutline.scrollTop;\r\n      // 大纲模式时\r\n      this.$emit(\"scrollOutline\", scrollTop);\r\n    },\r\n    async compareLocalAndServe() {\r\n      console.log(\"getMindmap:\", this.course_id);\r\n      const res = await getMindmap({ course_id: this.course_id });\r\n      if (res && res.code === 0) {\r\n        const dataServer = res.data[0];\r\n        if(dataServer) {\r\n          const mindmap_content = dataServer.mindmap_content;\r\n          const mindmap_content_local = this.mindMap.mindmap_content;\r\n          const cacheString = getMindMapLo(this.course_id, this.user.user_id)\r\n          ? getMindMapLo(this.course_id, this.user.user_id)\r\n          : \"\";\r\n          console.log(\"服务端：\", mindmap_content);\r\n          console.log(cacheString)\r\n          let mindmap = \"\";\r\n          if(cacheString) {\r\n            const cacheJSON = JSON.parse(cacheString);\r\n            console.log(\"cacheJSON:\", cacheJSON);\r\n            const data = cacheJSON.data;\r\n            console.log(\"data:\", data);\r\n            mindmap = data.mindmap_content;\r\n            console.log(\"本地：\", mindmap);\r\n          }\r\n\r\n          if(mindmap_content &&  mindmap) {\r\n            const compare = await this.areNamesEqual(JSON.parse(mindmap_content), JSON.parse(mindmap));\r\n            console.log(\"compare:\", compare);\r\n            return compare;\r\n          } else if(!mindmap_content && mindmap) {\r\n            return false;\r\n          } else {\r\n            return true;\r\n          }\r\n\r\n        } else {\r\n          return true;\r\n        }\r\n\r\n      }\r\n    },\r\n    areNamesEqual(arr1, arr2) {\r\n      if (arr1.length !== arr2.length) {\r\n        return false;\r\n      }\r\n\r\n      for (let i = 0; i < arr1.length; i++) {\r\n        if (!this.compareNames(arr1[i], arr2[i])) {\r\n          return false;\r\n        }\r\n      }\r\n\r\n      return true;\r\n    },\r\n    compareNames(serveMindMap, localMindMap) {\r\n      console.log(serveMindMap, localMindMap);\r\n      console.log(serveMindMap.node, localMindMap.node)\r\n        if (serveMindMap.name !== localMindMap.name) {\r\n        return false;\r\n      }\r\n\r\n      if (serveMindMap.node && localMindMap.node) {\r\n        if (serveMindMap.node.length !== localMindMap.node.length) {\r\n          return false;\r\n        }\r\n\r\n        for (let i = 0; i < serveMindMap.node.length; i++) {\r\n          if (!this.compareNames(serveMindMap.node[i], localMindMap.node[i])) {\r\n            return false;\r\n          }\r\n        }\r\n      }\r\n\r\n      return true;\r\n    }\r\n  },\r\n  created() {\r\n    document.addEventListener(\"keyup\", this.handleKeyUp);\r\n    document.addEventListener(\"keydown\", this.handleKeyDown);\r\n    // // todo: 测试，后续删掉\r\n    // window.addEventListener(\"message\", this.handleGetMessage);\r\n  },\r\n  destroyed() {\r\n    document.removeEventListener(\"keyup\", this.handleKeyUp);\r\n    document.removeEventListener(\"keydown\", this.handleKeyDown);\r\n    // todo: 测试，后续删掉\r\n    // document.removeEventListener(\"message\", this.handleGetMessage);\r\n  },\r\n  activated() {\r\n    this.setShow(false);\r\n  },\r\n  mounted() {\r\n    const myMindOutline = document.getElementById(\"myMindOutline\");\r\n    myMindOutline.addEventListener(\"scroll\", throttle(this.scrollOutline, 50));\r\n    if (this.courseBase) {\r\n      this.course_name = this.courseBase.course_name;\r\n    } else {\r\n      this.course_name = \"\";\r\n    }\r\n    this.type();\r\n    this.init();\r\n    this.$nextTick(() => {\r\n      this.$refs.tree.filter(1);\r\n    });\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE\", async whiteCom => {\r\n      // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n      const same = await this.compareLocalAndServe();\r\n      if (!same) {\r\n        this.whiteCom = whiteCom;\r\n        this.dialogVisibleCon = true;\r\n        // 消除自动保存事件\r\n        if (this.timer) {\r\n          clearTimeout(this.timer);\r\n          this.timer = null;\r\n        }\r\n      } else {\r\n        console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"setShow\",  (status) => {\r\n      this.setShow(status);\r\n    });\r\n    EventBus.$on(\"setButton\",  () => {\r\n      this.setButton();\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n// .isVertivall(@i) when(@i <= 10) {\r\n//   // &::before {\r\n//   //   left: (@i-4) * 20 + 66px;\r\n//   // }\r\n//   // position: relative;\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     top: 18px;\r\n//     left: 66px;\r\n//     left: (@i-4) * 20 + 66px;\r\n//     width: 1px;\r\n//     height: calc(100% - 15px);\r\n//     background: #71afbb;\r\n//     min-height: 16px;\r\n//   }\r\n//   .isVertivall((@i + 1));\r\n// }\r\n// .isVertivall(1);\r\n// .isVertival {\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     width: 1px;\r\n//     // height: calc(@n * 100% - 0px);\r\n//     background: #71afbb;\r\n//     left: -12px;\r\n//     top: 22px;\r\n//   }\r\n// }\r\n.title{\r\n  margin-left: 40px;\r\n  font-size: 22px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #292929;\r\n  line-height: 18px;\r\n  -webkit-line-clamp: 1;\r\n  height: 18px;\r\n\r\n}\r\n.font(@i) when(@i <= 10) {\r\n  /deep/ .el-tree .el-tree-node.isVertivall@{i} {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 18px;\r\n      left: 66px;\r\n      left: (@i - 4) * 18 + 66px;\r\n      width: 1px;\r\n      height: calc(100% - 18px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  .font((@i + 1));\r\n}\r\n\r\n.font(1);\r\n\r\n.font2(@i) when(@i <= 10) {\r\n  .font3(@n) when(@n <= 100) {\r\n    .sisVertival@{i}@{n} {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        width: 1px;\r\n        height: calc(@n / 2 * 100% + 15px);\r\n        background: #71afbb;\r\n        left: -12px;\r\n        top: 22px;\r\n      }\r\n    }\r\n    .font3((@n + 1));\r\n  }\r\n  .font3(1);\r\n  .font2((@i + 1));\r\n}\r\n\r\n.font2(1);\r\n.collect {\r\n  position: absolute;\r\n  width: 100%;\r\n  bottom: 0;\r\n  left: 0;\r\n  background: #f2f4f5;\r\n  text-align: center;\r\n  z-index: 99;\r\n  padding-top: 25px;\r\n  img {\r\n    cursor: pointer;\r\n    width: 37px;\r\n    height: 32px;\r\n  }\r\n  p {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #71afbb;\r\n    line-height: 14px;\r\n    font-style: normal;\r\n    padding-top: 10px;\r\n  }\r\n}\r\n.content {\r\n  overflow: hidden;\r\n}\r\n.myMindOutline {\r\n  height: 100%;\r\n}\r\n.outline {\r\n  position: relative;\r\n  padding: 43px 44px 42px 73px;\r\n  // padding-top: 73px;\r\n  // padding-left: 73px;\r\n  overflow-x: auto;\r\n  height: 100%;\r\n\r\n  // padding: 0 39px;\r\n  /deep/ .el-textarea {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree {\r\n    background: #f2f4f5;\r\n  }\r\n  /deep/ .el-tree-node__content {\r\n    height: auto;\r\n    // position: relative;\r\n    align-items: flex-start;\r\n  }\r\n  /deep/ .el-tree-node .el-tree-node__children {\r\n    overflow: visible;\r\n  }\r\n  /deep/ .el-tree-node__content:hover {\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-tree-node:focus > .el-tree-node__content {\r\n    background-color: transparent;\r\n  }\r\n  .add-input {\r\n    padding-top: 5px;\r\n    padding-bottom: 13px;\r\n    /deep/ .el-input__inner {\r\n      border: none;\r\n      box-shadow: 5px 5px 14px #e9e7e7;\r\n      border-radius: 8px;\r\n    }\r\n    /deep/ .el-button {\r\n      height: 36px;\r\n      border-radius: 12px;\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 600;\r\n      color: #71afbb;\r\n      margin-top: 7px;\r\n      margin-left: 10px;\r\n      border-width: 2px;\r\n      padding: 6px 10px;\r\n    }\r\n  }\r\n  .addthemebtn {\r\n    padding-top: 0;\r\n    .el-button {\r\n      margin-top: 0;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  /deep/ .el-tree-node.is-expanded {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree-node.is-expanded > .el-tree-node__content.isVertival {\r\n    &::before {\r\n      content: \"\";\r\n      height: calc(100% - 27px);\r\n      width: 1px;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 14px;\r\n      padding-left: inherit;\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n  //四级及以上\r\n  /deep/ .el-tree .custom-tree-node .el-textarea .el-textarea__inner {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    // 光标颜色\r\n    caret-color: #71afbb; /* 光标颜色 */\r\n  }\r\n\r\n  ::selection {\r\n    background: rgba(113, 175, 187, 0.4);\r\n  }\r\n\r\n  /deep/ .is-leaf.el-tree-node__expand-icon {\r\n    &.el-icon-caret-right:before {\r\n      content: \"\";\r\n      display: block;\r\n      // position: absolute;\r\n      width: 5px;\r\n      height: 5px;\r\n      // left: 10px;\r\n      // top: 9px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      // border: 1px solid #71afbb;\r\n      background: #71afbb;\r\n      // z-index: 10;\r\n      margin: 4px 4px 5px 5px;\r\n    }\r\n  }\r\n\r\n  // ---------------------------------------------------\r\n  .custom-tree-node {\r\n    width: calc(100% - 40px);\r\n    position: relative;\r\n    margin-right: 40px;\r\n\r\n    .content {\r\n      position: relative;\r\n      width: 100%;\r\n      .node-label {\r\n        position: absolute;\r\n        white-space: pre-wrap;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n      }\r\n      .node-content {\r\n        white-space: normal;\r\n        word-wrap: break-word;\r\n        word-break: break-all;\r\n        line-height: 26px;\r\n        min-height: 26px;\r\n        pre {\r\n          white-space: break-spaces;\r\n        }\r\n      }\r\n    }\r\n    .selectedData {\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      margin-bottom: 10px;\r\n      padding: 10px;\r\n    }\r\n  }\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content .node-content {\r\n    padding-top: 5px;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon {\r\n    font-size: 14px;\r\n    padding: 6px 8px 9px 7px;\r\n    color: #71afbb;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 8px 9px 10px;\r\n  }\r\n\r\n  // -------------------------------------------------------\r\n  // 一级竖线\r\n  /deep/ .el-tree > .el-tree-node:not(:nth-last-child(2)) {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 26px;\r\n      left: 15px;\r\n      width: 1px;\r\n      height: calc(100% - 17px);\r\n      background: #71afbb;\r\n      min-height: 23px;\r\n    }\r\n  }\r\n\r\n  //一级节点选择器\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 27px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .content\r\n  > .el-textarea\r\n  > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .add-input\r\n  > .el-textarea\r\n  > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .is-leaf.el-tree-node__expand-icon {\r\n    /deep/ &.custom-tree-node {\r\n      padding-top: 5px;\r\n    }\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .content\r\n  > .node-label {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  //一级图标未展开\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon {\r\n    padding: 9px 6px 0px 6px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n    margin-bottom: 12px;\r\n  }\r\n  //一级图标展开\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon.expanded {\r\n    padding: 8px 6px 8px 4px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n  }\r\n  // 一级叶子节点图标\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .is-leaf.el-tree-node__expand-icon {\r\n    // margin-right: 9px;\r\n    &::before {\r\n      width: 10px;\r\n      height: 10px;\r\n      // left: 11px;\r\n      // top: 12px;\r\n    }\r\n  }\r\n\r\n  // 最后一个节点图标\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node.theme\r\n  > .el-tree-node__content\r\n  > .is-leaf.el-tree-node__expand-icon {\r\n    padding: 20px 0px 0px 6px;\r\n  }\r\n  // /deep/ .el-tree > .el-tree-node {\r\n  //   .theme {\r\n  //     padding-top: 0;\r\n  //     padding-bottom: 15px;\r\n  //   }\r\n  // }\r\n  // ----------------------------------------------------------\r\n  //二级节点选择器\r\n  // 二级节点竖线\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 33px;\r\n      width: 1px;\r\n      height: calc(100% - 20px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node:first-child {\r\n    margin-top: -4px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node:last-child {\r\n    margin-bottom: 4px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .content\r\n  > .el-textarea\r\n  > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .add-input\r\n  > .el-textarea\r\n  > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .content\r\n  > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  // 二级图标\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  //二级图标展开\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon.expanded {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      margin-top: 6px;\r\n      margin-left: 10px;\r\n      width: 7px;\r\n      height: 7px;\r\n    }\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon {\r\n    &::before {\r\n      // top: 6px;\r\n      // margin-left: 4px;\r\n      width: 7px;\r\n      height: 7px;\r\n    }\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon.expanded {\r\n    &::before {\r\n      margin-left: 0;\r\n    }\r\n  }\r\n\r\n  // --------------------------------------------------------------\r\n  // 三级节点\r\n\r\n  // 三级节点竖线\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 49px;\r\n      width: 1px;\r\n      height: calc(100% - 21px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .content\r\n  > .el-textarea\r\n  > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .add-input\r\n  > .el-textarea\r\n  > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .custom-tree-node\r\n  > .content\r\n  > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 25px;\r\n  }\r\n\r\n  // 三级节点图标\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon {\r\n    padding: 6px 7px 8px 7px;\r\n    color: #71afbb;\r\n    font-size: 16px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon.expanded {\r\n    padding: 7px 9px 8px 5px;\r\n  }\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 13px 8px 0px;\r\n  }\r\n\r\n  // 三级叶子节点图标\r\n  /deep/\r\n  .el-tree\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__children\r\n  > .el-tree-node\r\n  > .el-tree-node__content\r\n  > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      width: 6px;\r\n      height: 6px;\r\n      margin-left: 12px;\r\n      margin-top: 6px;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  .content {\r\n    /deep/ .el-textarea__inner {\r\n      background-color: #f2f4f5;\r\n      border: none;\r\n      min-height: 24px !important;\r\n      padding: 0;\r\n    }\r\n  }\r\n  .add-input {\r\n    /deep/ .el-textarea__inner {\r\n      border: none;\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      // margin-bottom: 10px;\r\n      padding: 10px;\r\n      // height: auto !important;\r\n    }\r\n  }\r\n\r\n  .name {\r\n    font-size: 26px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 38px;\r\n    padding-bottom: 15px;\r\n  }\r\n}\r\n\r\n.editOutline {\r\n  -webkit-animation: editOutlineAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineAni {\r\n  0% {\r\n    padding-top: 43px;\r\n    padding-left: 73px;\r\n  }\r\n  100% {\r\n    padding-top: 26px;\r\n    padding-left: 31px;\r\n  }\r\n}\r\n.editOutlineNo {\r\n  -webkit-animation: editOutlineNoAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineNoAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineNoAni {\r\n  0% {\r\n    padding-top: 56px;\r\n    padding-left: 31px;\r\n  }\r\n  100% {\r\n    padding-top: 73px;\r\n    padding-left: 73px;\r\n  }\r\n}\r\n\r\n.outlineNone {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  .none {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n}\r\n.operates-wrapper {\r\n  position: absolute;\r\n  // z-index: 1;\r\n  display: flex;\r\n  // align-items: center;\r\n  justify-content: center;\r\n  width: 100%;\r\n  // height: 46px;\r\n  padding: 2px 0px 8px 0px;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-repeat: no-repeat;\r\n  // background-size: 100% 100%;\r\n  bottom: 100%;\r\n  top: auto;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n  // background-position: top left;\r\n  .operate {\r\n    padding: 0 12px;\r\n    display: flex;\r\n    align-items: center;\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #ffffff;\r\n    line-height: 18px;\r\n    cursor: pointer;\r\n    height: 22px;\r\n    margin-top: 7px;\r\n    img {\r\n      margin-right: 7px;\r\n    }\r\n    &:not(:last-child) {\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n}\r\n.operates-wrapper-operates {\r\n  display: flex;\r\n  //flex-wrap: wrap;\r\n  align-items: center;\r\n  padding-bottom: 7px;\r\n  background-color: #4e545c;\r\n  border-radius: 7px;\r\n  position: relative;\r\n  // height: 36px;\r\n  &::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    border-top: 7px solid #4e545c;\r\n    border-left: 6px solid transparent;\r\n    border-right: 6px solid transparent;\r\n    bottom: -6px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n  }\r\n}\r\n.operates-wrapper1 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper2 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper3 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMacEdit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperEdit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac1 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac1Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper1Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac2 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac2Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper2Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac3 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n\r\n/* 在CSS中使用媒体查询 */\r\n/* 大屏幕样式 */\r\n@media (min-width: 1208px) {\r\n  /* 添加针对大屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n\r\n/* 小屏幕样式 */\r\n@media (max-width: 1208px) {\r\n  /* 添加针对小屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n\r\n/* 树形结构节点添加连线 */\r\n.tree /deep/ .el-tree-node {\r\n  position: relative;\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node__children {\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node :last-child:before {\r\n  height: 38px;\r\n}\r\n\r\n.tree /deep/ .el-tree > .el-tree-node:before {\r\n  border-left: none;\r\n}\r\n\r\n.tree-container /deep/ .el-tree > .el-tree-node:after {\r\n  border-top: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n.tree /deep/ .el-tree-node__expand-icon.is-leaf {\r\n  display: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  border-left: 1px dashed #b8b9bb;\r\n  bottom: 0px;\r\n  height: 100%;\r\n  top: -26px;\r\n  width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  border-top: 1px dashed #b8b9bb;\r\n  height: 20px;\r\n  top: 12px;\r\n  width: 24px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/GuideMyMindOutline.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"myMindOutline\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"人生五大问题\")]),_vm._v(\" \"),_c('div',{class:[\n      'outline',\n      !_vm.datas.length\n        ? 'outlineNone'\n        : _vm.editOutline\n        ? 'editOutline'\n        : _vm.isSaveMindMap\n        ? 'editOutlineNo'\n        : ''\n    ],style:({ paddingTop: _vm.courseIsuseradd == 3 ? '56px' : '73px' }),attrs:{\"id\":\"myMindOutline\"}},[(_vm.datas && !_vm.datas.length)?_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\"),\"width\":\"136px\",\"height\":\"136px\"}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_vm._e(),_vm._v(\" \"),_c('el-tree',{ref:\"tree\",attrs:{\"data\":_vm.datas,\"node-key\":\"id\",\"default-expand-all\":\"\",\"expand-on-click-node\":false,\"draggable\":\"\",\"props\":{ label: 'name', node: 'node' },\"empty-text\":'',\"filter-node-method\":_vm.filterNode},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n    var node = ref.node;\n    var data = ref.data;\nreturn _c('div',{ref:'treeNode' + data.id,staticClass:\"custom-tree-node\",class:[\n          data.class && data.hasVertical ? '' : '',\n          !data.isAdd && data.isAddTheme ? 'theme' : ''\n        ],attrs:{\"id\":data.id}},[(data.lock === 3 && _vm.isShow)?_c('div',{ref:'operateRef' + data.id,staticClass:\"operates-wrapper operates-wrapper1\",class:[\n            _vm.isMac ? 'operates-wrapperMac1' : '',\n            _vm.isMac &&\n            _vm.operating &&\n            _vm.operating.operate === 2 &&\n            _vm.operating.isOperating\n              ? 'operates-wrapperMac1Edit'\n              : '',\n            !_vm.isMac &&\n            _vm.operating &&\n            _vm.operating.operate === 2 &&\n            _vm.operating.isOperating\n              ? 'operates-wrapper1Edit'\n              : '']},[_c('div',{staticClass:\"operates-wrapper-operates\",attrs:{\"id\":\"mindMap_step4\"}},[_c('div',{staticClass:\"operate del\",on:{\"mousedown\":_vm.remove}},[_vm._v(\"\\n              删除(\"+_vm._s(_vm.isMac ? \"cmd+←\" : \"ctrl+d\")+\"\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"operate addsubtheme\",on:{\"mousedown\":function($event){return _vm.append(data, node, $event)}}},[_vm._v(\"\\n              添加子主题(tab)\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.addEquative(node, data, $event)}}},[_vm._v(\"\\n              添加同级主题(Enter)\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.tabClick1(node, data)}}},[_vm._v(\"\\n              减少缩进\\n            \")])])]):_vm._e(),_vm._v(\" \"),(!data.isAdd && data.isAddTheme)?_c('div',{staticClass:\"add-input 2 addthemebtn\"},[_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"id\":\"mind_step2\"},on:{\"click\":_vm.addTheme}},[_c('i',{staticClass:\"el-icon-plus\",staticStyle:{\"margin-right\":\"10px\"}}),_vm._v(\"添加主题\")])],1):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(data.lock === 3 && _vm.isShow),expression:\"data.lock === 3 && isShow\"}],staticClass:\"add-input 4\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates1(data)},\"touchstart\":function($event){_vm.pressTs = Date.now()},\"touchend\":function($event){return _vm.handleLongPress(node, data, $event, true)}}},[_c('el-input',{ref:'edittextarea' + data.id,staticClass:\"mindMap_step3 preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'edittextarea' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"blur\":function($event){return _vm.editNode()}},nativeOn:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.editNode(true, $event)},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.editNode()}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:data.id && _vm.selectedData.id === data.id && !_vm.operating.isOperating\n              ? 'selectedData'\n              : '',on:{\"dblclick\":function($event){return _vm.edit(node, data)},\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates1(data)},\"click\":function($event){return _vm.chooseNode(node, data)},\"touchstart\":function($event){_vm.pressTs = Date.now()},\"touchend\":function($event){return _vm.handleLongPress(node, data, $event, true)}}},[_c('div',{ref:'textarea' + data.id,staticClass:\"node-content_textarea_guide\"},[_c('pre',[_vm._v(_vm._s(node.label))])])])])}}])})],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-825263b4\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/GuideMyMindOutline.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-825263b4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./GuideMyMindOutline.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideMyMindOutline.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideMyMindOutline.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-825263b4\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GuideMyMindOutline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-825263b4\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/GuideMyMindOutline.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"myMind\">\r\n    <div\r\n      class=\"operates\"\r\n      :style=\"{ justifyContent: 'space-between'}\">\r\n      <el-dropdown\r\n        :show-timeout=\"0\"\r\n        @visible-change=\"visibleChange\"\r\n        ref=\"dropRef\"\r\n        id=\"guide-my-mind-eldropdown\"\r\n        @command=\"handleCommand\"\r\n        :trigger=\"'click'\">\r\n        <el-button id=\"guide-my-mind\" type=\"default\" class=\"bg-transparent\">\r\n          {{ commandSpan }}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n        </el-button>\r\n        <el-dropdown-menu slot=\"dropdown\" class=\"guideOutlineDropdown introjs-showElement\">\r\n          <el-dropdown-item command=\"1\">大纲模式</el-dropdown-item>\r\n          <el-dropdown-item command=\"2\">图片格式</el-dropdown-item>\r\n          <el-dropdown-item command=\"3\">PDF格式</el-dropdown-item>\r\n        </el-dropdown-menu>\r\n      </el-dropdown>\r\n      <div id=\"mind_step4\"  class=\"right\">\r\n        <el-button class=\"bg-transparent guide_mind_step4 clear\" v-show=\"showDelete\">清空</el-button>\r\n        <el-button class=\"bg-transparent guide_mind_step4\" v-show=\"showSave\">保存</el-button>\r\n        <el-button class=\"bg-transparent guide_mind_step4 exit\" v-show=\"showSave\">退出编辑</el-button>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"content\"\r\n      :class=\"command === '1' ? 'content1' : ''\"\r\n    >\r\n      <div class=\"layer\" v-if=\"showLayer && command === '1'\"></div>\r\n      <GuideMyMindOutline\r\n        ref=\"MyMindOutline\"\r\n        :dataPro=\"data\"\r\n        :editOutline=\"editOutline\"\r\n        :isSaveMindMap=\"isSaveMindMap\"\r\n        @saveMindMap=\"saveMindMap\"\r\n        @scrollOutline=\"scrollOutline\"\r\n        @setButton=\"setButton\"\r\n      />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport GuideMyMindOutline from \"./GuideMyMindOutline.vue\";\r\nimport MyMindImages from \"./MyMindImages.vue\";\r\nimport MyMindPdf from \"./MyMindPdf.vue\";\r\nimport { uploaDOSS } from \"@/utils/oss\";\r\nimport {addUserMindmap, editUserMindmap, getMindmap} from \"@/api/index\";\r\nimport {deepClone} from \"@/utils/util\";\r\nimport {EventBus} from \"@/utils/eventBus\";\r\n\r\nexport default {\r\n  components: {GuideMyMindOutline, MyMindImages, MyMindPdf},\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      guideStep: 1,\r\n      showSave: false,\r\n      showUpdate: true,\r\n      showDelete: false,\r\n      command: \"1\",\r\n      commandSpan: \"大纲模式\",\r\n      data: null,\r\n      images: [],\r\n      imagesName: [],\r\n      avatarUrl: \"\",\r\n      pdfUrl: \"\",\r\n      pdfName: \"\",\r\n      dialogVisibleCon: false,\r\n      params: {},\r\n      fileImageUrls: [],\r\n      selectedImagesIndex: [],\r\n      isEdit: false,\r\n      isDeletePdf: false,\r\n      isDeleteImage: false,\r\n      dialogVisibleDel: false,\r\n      type: 1,\r\n      newestData: null,\r\n      editOutline: false,\r\n      pdfProgress: 0,\r\n      imageProgress: 0,\r\n      isSaveMindMap: false,\r\n      showLayer: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    // 当前导图修改最新时间戳\r\n    mindMapTimeStamp() {\r\n      return this.$store.getters.mindMapTimeStamp;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n  },\r\n  watch: {\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          this.init(v);\r\n        }\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    visibleChange(status) {\r\n      if (!status && this.guideStep === 2) {\r\n        this.dropShow()\r\n      }\r\n    },\r\n    setButton() {\r\n      this.showSave = true;\r\n      this.showUpdate = false;\r\n      this.showDelete = true;\r\n    },\r\n    init(data) {\r\n      console.log(\"initinit:\", data)\r\n      this.data = data;\r\n      this.images = [];\r\n      this.imagesName = [];\r\n      this.avatarUrl = \"\";\r\n      this.pdfUrl = \"\";\r\n      this.pdfName = \"\";\r\n      this.params = {};\r\n      this.fileImageUrls = [];\r\n      this.selectedImagesIndex = [];\r\n      this.isSaveMindMap = false;\r\n      if (this.data) {\r\n        if (this.data.mindmap_image) {\r\n          this.images = this.data.mindmap_image_show.split(\",\");\r\n          const mindmap_image = this.data.mindmap_image.split(\",\");\r\n          mindmap_image.forEach(item => {\r\n            const mindmap_imageNames = item.split(\"/\");\r\n            const mindmap_imageName = mindmap_imageNames[\r\n            mindmap_imageNames.length - 1\r\n              ].split(\".\")[0];\r\n            this.imagesName.push(mindmap_imageName);\r\n            console.log(\"mindmap_imageName::::::::::\", mindmap_imageName);\r\n          });\r\n\r\n          // this.imagesName;\r\n          console.log(\"this.images:\", this.images);\r\n          console.log(this.data.mindmap_image_show.split(\",\"));\r\n          this.fileImageUrls = this.data.mindmap_image.split(\",\");\r\n        } else {\r\n          this.images = [];\r\n          this.imagesName = [];\r\n          this.fileImageUrls = [];\r\n        }\r\n        this.pdfUrl = this.data.mindmap_pdf_show;\r\n        this.pdfName = \"\";\r\n        let mindmap_pdf = this.data.mindmap_pdf;\r\n        if (mindmap_pdf) {\r\n          let pdf = mindmap_pdf.split(\"/\");\r\n          this.pdfName = pdf[pdf.length - 1];\r\n        }\r\n      } else {\r\n        this.images = [];\r\n        this.imagesName = [];\r\n        this.fileImageUrls = [];\r\n        this.pdfUrl = this.data.mindmap_pdf_show;\r\n        this.pdfName = \"\";\r\n        let mindmap_pdf = this.data.mindmap_pdf;\r\n        if (mindmap_pdf) {\r\n          let pdf = mindmap_pdf.split(\"/\");\r\n          this.pdfName = pdf[pdf.length - 1];\r\n        }\r\n      }\r\n    },\r\n    startEdit() {\r\n      this.editOutline = true;\r\n      this.showLayer = false;\r\n    },\r\n    withdraw() {\r\n      this.$refs.MyMindOutline.withdraw();\r\n    },\r\n    handleCommand(command) {\r\n      if (command === \"1\") {\r\n        this.commandSpan = \"大纲模式\";\r\n      } else if (command === \"2\") {\r\n        this.commandSpan = \"图片格式\";\r\n        // 如果之前的是大纲模式，则切换模式的时候弹出是否保存提示框\r\n        if (this.command === \"1\") {\r\n          console.log(\"MIND_OUTLINE_SAVE\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n        }\r\n      } else {\r\n        this.commandSpan = \"PDF格式\";\r\n        // 如果之前的是大纲模式，则切换模式的时候弹出是否保存提示框\r\n        if (this.command === \"1\") {\r\n          console.log(\"MIND_OUTLINE_SAVE\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n        }\r\n      }\r\n      this.command = command;\r\n    },\r\n    submitDel() {\r\n      if (this.type === 1) {\r\n        this.delUserMindmap();\r\n      } else if (this.type === 2) {\r\n        this.isDeleteImage = true;\r\n        // 将要删除的位置排序，然后从后往前删除以避免索引变化\r\n        if (this.selectedImagesIndex.length > 1) {\r\n          this.selectedImagesIndex.sort((a, b) => b - a);\r\n        }\r\n        this.selectedImagesIndex.forEach(index => {\r\n          this.images.splice(index, 1);\r\n          this.imagesName.splice(index, 1);\r\n          this.fileImageUrls.splice(index, 1);\r\n        });\r\n        this.saveMindMapImages();\r\n      } else {\r\n        this.deletePdf();\r\n      }\r\n      this.dialogVisibleDel = false;\r\n    },\r\n    delUserMindmapShow() {\r\n      if (this.data && this.data.mindmap_content) {\r\n        this.dialogVisibleDel = true;\r\n        this.type = 1;\r\n      }\r\n    },\r\n    // 清空思维导图\r\n    delUserMindmap() {\r\n      this.clickContent();\r\n      // let mindMap = JSON.parse(this.mindMap);\r\n      // let params = {\r\n      //   course_id: this.course_id,\r\n      //   mindmap_id: mindMap.mindmap_id,\r\n      //   update_device: localStorage.getItem(\"DeviceId\"),\r\n      // };\r\n      console.log(\"delUserMindmap:\", this.mindMap);\r\n      if (this.mindMap) {\r\n        this.data = deepClone(this.mindMap);\r\n        this.data.mindmap_content = \"\";\r\n        console.log(\"mindMap:\", this.data);\r\n        this.$store\r\n          .dispatch(\"setMindMap\", {\r\n            data: this.data,\r\n            isEdited: false,\r\n            timeStamp: new Date().getTime()\r\n          })\r\n          .then(() => {\r\n            this.$refs.MyMindOutline.$data.isEdited = false;\r\n            this.$refs.MyMindOutline.clearTimeout();\r\n            // this.$refs.MyMindOutline.$data.selectedData = {};\r\n            // this.$refs.MyMindOutline.$data.node = {};\r\n            // this.clickContent();\r\n            this.editOutline = false;\r\n            this.saveMap({mindmap_content: \"\"}, 1);\r\n          });\r\n      }\r\n    },\r\n    // whiteCom === \"CourseCom\",如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n    // notEdit: 是否是点击保存按钮保存的，如果是的话则要退出编辑状态\r\n    saveMindMap(whiteCom, notEdit) {\r\n      this.isSaveMindMap = true;\r\n      if (notEdit) {\r\n        this.editOutline = false;\r\n      }\r\n      this.clickContent();\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n\r\n      let params = {};\r\n      params.mindmap_content = mindMap.mindmap_content;\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params, undefined, whiteCom);\r\n    },\r\n    saveMindMapImages() {\r\n      let params = {};\r\n      params.mindmap_image = this.fileImageUrls.join(\",\");\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params);\r\n    },\r\n    editImages() {\r\n      this.isEdit = true;\r\n    },\r\n    downloadImages() {\r\n      this.$refs.myMindImages.downloadFileUrl();\r\n    },\r\n    submitCon(is_confirm) {\r\n      this.dialogVisibleCon = false;\r\n      this.saveMap(this.params, is_confirm);\r\n    },\r\n    getMindmap() {\r\n      this.parent.getMindmap(true);\r\n      // getMindmap({ course_id: this.course_id }).then((res) => {\r\n      //   if (res && res.code === 0) {\r\n      //     let data = res.data[0];\r\n      //     if (data) {\r\n      //       this.$store\r\n      //         .dispatch(\"setMindMap\", {\r\n      //           data: data,\r\n      //           timeStamp: data.last_update_at + \"000\",\r\n      //           isEdited: false,\r\n      //         })\r\n      //         .then(() => {\r\n      //           console.log(JSON.stringify(data));\r\n\r\n      //         });\r\n      //     }\r\n      //   }\r\n      // });\r\n    },\r\n    saveMap(params, is_confirm, whiteCom) {\r\n      console.log(\"is_confirm:\", is_confirm);\r\n      if (this.mindMap) {\r\n        let mindMap = deepClone(this.mindMap);\r\n        params.update_device = localStorage.getItem(\"DeviceId\");\r\n        params.course_id = this.course_id;\r\n        console.log(\"saveMap:\", params);\r\n        // 添加用户思维导图\r\n        if (!mindMap.mindmap_id) {\r\n          addUserMindmap(params).then(res => {\r\n            if (res && res.code === 0) {\r\n              let mindMapNew = {\r\n                ...mindMap\r\n              };\r\n              mindMap.mindmap_id = res.data[0].mindmap_id;\r\n              mindMap.last_update_at = res.data[0].last_update_at;\r\n              mindMap.last_update_device = res.data[0].last_update_device;\r\n              console.log(\"mindMap:\", mindMap);\r\n              this.$store\r\n                .dispatch(\"setMindMap\", {\r\n                  data: mindMap,\r\n                  isEdited: false,\r\n                  timeStamp: new Date().getTime()\r\n                })\r\n                .then(() => {\r\n                  this.data = mindMap;\r\n                  // 如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                  if (whiteCom === \"CourseCom\") {\r\n                    EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n                  }\r\n                });\r\n              // 提交完将定时器清空\r\n              this.$refs.MyMindOutline.$data.isEdited = false;\r\n              this.$refs.MyMindOutline.clearTimeout();\r\n              console.log(\"保存成功\");\r\n              this.$message({\r\n                type: \"success\",\r\n                message: \"保存成功\"\r\n              });\r\n              let courseProgress = {\r\n                ...this.courseProgress,\r\n                progress_mindmap_num:\r\n                  this.courseProgress.progress_mindmap_num + 1\r\n              };\r\n              this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n            } else {\r\n              this.$message({\r\n                type: \"error\",\r\n                message: res.msg\r\n              });\r\n            }\r\n          });\r\n        } else {\r\n          const timeStamp = new Date().getTime();\r\n          params.mindmap_id = mindMap.mindmap_id;\r\n          params.last_update_device = mindMap.last_update_device;\r\n          params.last_update_at = mindMap.last_update_at;\r\n          if (!is_confirm) {\r\n            getMindmap({course_id: this.course_id}).then(res => {\r\n              if (res && res.code === 0) {\r\n                this.newestData = res.data[0];\r\n                // 编辑用户思维导图\r\n                // params.mindmap_id = mindMap.mindmap_id;\r\n                // params.last_update_device = mindMap.last_update_device;\r\n                // params.last_update_at = mindMap.last_update_at;\r\n                // params.mindmap_content = mindMap.mindmap_content;\r\n\r\n                const last_update_at_old =\r\n                  mindMap.last_update_at && mindMap.last_update_at.length > 10\r\n                    ? mindMap.last_update_at\r\n                    : mindMap.last_update_at * 1000;\r\n                let last_update_at = 0;\r\n                if (this.newestData.last_update_at) {\r\n                  last_update_at = this.newestData.last_update_at\r\n                    ? this.newestData.last_update_at * 1000\r\n                    : this.newestData.last_update_at;\r\n                }\r\n\r\n                if (\r\n                  timeStamp >= last_update_at &&\r\n                  last_update_at_old >= last_update_at\r\n                ) {\r\n                  // 服务端最后编辑时间戳早于本地时间戳,直接提交本地json覆盖服务器json\r\n                  params.is_confirm = 1;\r\n                  params.last_update_device = localStorage.getItem(\"DeviceId\");\r\n                  params.last_update_at = timeStamp;\r\n                  // if (is_confirm === undefined) {\r\n                  //   params.is_confirm = 2;\r\n                  // } else {\r\n                  //   params.is_confirm = is_confirm;\r\n                  // }\r\n                  console.log(\"params:\", params);\r\n                  editUserMindmap(params).then(res => {\r\n                    if (res && res.code === 0) {\r\n                      let mindMapNew = {\r\n                        ...mindMap\r\n                      };\r\n                      if (res.data[0]) {\r\n                        mindMap.last_update_at = res.data[0].mindmap_update_at;\r\n                        mindMap.last_update_device =\r\n                          res.data[0].mindmap_update_device;\r\n                      } else {\r\n                        mindMap.last_update_at = timeStamp;\r\n                        mindMap.last_update_device = localStorage.getItem(\r\n                          \"DeviceId\"\r\n                        );\r\n                      }\r\n                      console.log(\"保存成功\");\r\n                      this.$message({\r\n                        type: \"success\",\r\n                        message: \"保存成功\"\r\n                      });\r\n                      console.log(\"isDeletePdf:\", this.isDeletePdf);\r\n                      console.log(\"isDeleteImage:\", this.isDeleteImage);\r\n                      if (this.isDeletePdf) {\r\n                        this.isDeletePdf = false;\r\n                        this.pdfUrl = \"\";\r\n                        this.pdfName = \"\";\r\n                        mindMap.mindmap_pdf_show = \"\";\r\n                        mindMap.mindmap_pdf = \"\";\r\n                        this.$refs.myMindPdf.$data.pdfPicturePath = [];\r\n                      }\r\n                      if (this.isDeleteImage) {\r\n                        this.selectedImagesIndex = [];\r\n                        this.isDeleteImage = false;\r\n                        console.log(\"delete images:\", this.images);\r\n                        console.log(\r\n                          \"delete fileImageUrls:\",\r\n                          this.fileImageUrls\r\n                        );\r\n                        mindMap.mindmap_image_show = this.images.join(\",\");\r\n                        mindMap.mindmap_image = this.fileImageUrls.join(\",\");\r\n                        if (this.images.length === 0) {\r\n                          this.isEdit = false;\r\n                        }\r\n                        // this.data.mindmap_image_show =\r\n                        //   mindMap.mindmap_image_show;\r\n                        // this.data.mindmap_image = mindMap.mindmap_image;\r\n                      }\r\n                      console.log(\"mindMapNew:\", mindMap);\r\n                      this.$store\r\n                        .dispatch(\"setMindMap\", {\r\n                          data: mindMap,\r\n                          isEdited: false,\r\n                          timeStamp: new Date().getTime()\r\n                        })\r\n                        .then(() => {\r\n                          // this.init(mindMap);\r\n                          this.data = mindMap;\r\n                          // 如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                          if (whiteCom === \"CourseCom\") {\r\n                            EventBus.$emit(\r\n                              \"MIND_OUTLINE_SAVE_CONFIRMED\",\r\n                              whiteCom\r\n                            );\r\n                          }\r\n                        });\r\n                      // 提交完将定时器清空\r\n                      this.$refs.MyMindOutline.$data.isEdited = false;\r\n                      this.$refs.MyMindOutline.clearTimeout();\r\n\r\n                      let progress_mindmap_num = 0;\r\n                      if (\r\n                        !mindMap.mindmap_content &&\r\n                        !mindMap.mindmap_image &&\r\n                        !mindMap.mindmap_pdf\r\n                      ) {\r\n                        progress_mindmap_num = 0;\r\n                      } else {\r\n                        progress_mindmap_num = 1;\r\n                      }\r\n                      let courseProgress = {\r\n                        ...this.courseProgress,\r\n                        progress_mindmap_num: progress_mindmap_num\r\n                      };\r\n                      this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n                    } else if (\r\n                      res && res.code === 1023 &&\r\n                      res.data[0].need_confirm === 1\r\n                    ) {\r\n                      let mindMapNew = {\r\n                        ...mindMap\r\n                      };\r\n                      mindMap.last_update_at = res.data[0].last_update_at;\r\n                      mindMap.last_update_device =\r\n                        res.data[0].last_update_device;\r\n                      console.log(\"mindMap:\", mindMap);\r\n                      this.$store\r\n                        .dispatch(\"setMindMap\", {\r\n                          data: mindMap,\r\n                          isEdited: false,\r\n                          timeStamp: new Date().getTime()\r\n                        })\r\n                        .then(() => {\r\n                          // 如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                          if (whiteCom === \"CourseCom\") {\r\n                            EventBus.$emit(\r\n                              \"MIND_OUTLINE_SAVE_CONFIRMED\",\r\n                              whiteCom\r\n                            );\r\n                          }\r\n                        });\r\n                      this.dialogVisibleCon = true;\r\n                    } else {\r\n                      this.$message({\r\n                        type: \"error\",\r\n                        message: res.msg\r\n                      });\r\n                    }\r\n                  });\r\n                } else if (\r\n                  timeStamp < last_update_at ||\r\n                  last_update_at_old < last_update_at\r\n                ) {\r\n                  // 1、web端没修改或者比客户端先修改了没提交，客户端修改提交 timeStamp < last_update_at\r\n                  // 2、web端没修改提交\r\n                  // 服务端最后编辑时间戳晚于本地时间戳，则弹出提示框\r\n                  this.dialogVisibleCon = true;\r\n                }\r\n              }\r\n            });\r\n          } else {\r\n            // 保存服务端： 2或者保留本地：1：直接提交本地json覆盖服务器json\r\n            params.is_confirm = is_confirm;\r\n            if (is_confirm === 2) {\r\n              // “保留服务端”，则取消本次提交，停留在思维导图页面，自动提交间隔时间重置，每隔2分钟仍会触发下一次自动提交数据的判定逻辑。\r\n              // this.$refs.MyMindOutline.resetTimeout();\r\n              // “保留服务端”则刷新导图\r\n              this.getMindmap();\r\n              // 提交完将定时器清空\r\n              this.$refs.MyMindOutline.$data.isEdited = false;\r\n              this.$refs.MyMindOutline.clearTimeout();\r\n            } else {\r\n              params.last_update_device = localStorage.getItem(\"DeviceId\");\r\n              params.last_update_at = timeStamp;\r\n              console.log(\"params:\", params);\r\n              editUserMindmap(params).then(res => {\r\n                if (res && res.code === 0) {\r\n                  let mindMapNew = {\r\n                    ...mindMap\r\n                  };\r\n                  if (res.data[0]) {\r\n                    mindMap.last_update_at = res.data[0].mindmap_update_at;\r\n                    mindMap.last_update_device =\r\n                      res.data[0].mindmap_update_device;\r\n                  } else {\r\n                    mindMap.last_update_at = timeStamp;\r\n                    mindMap.last_update_device = localStorage.getItem(\r\n                      \"DeviceId\"\r\n                    );\r\n                  }\r\n                  console.log(\"保存成功\");\r\n                  this.$message({\r\n                    type: \"success\",\r\n                    message: \"保存成功\"\r\n                  });\r\n                  console.log(\"isDeletePdf:\", this.isDeletePdf);\r\n                  console.log(\"isDeleteImage:\", this.isDeleteImage);\r\n                  if (this.isDeletePdf) {\r\n                    this.isDeletePdf = false;\r\n                    this.pdfUrl = \"\";\r\n                    this.pdfName = \"\";\r\n                    mindMap.mindmap_pdf_show = \"\";\r\n                    mindMap.mindmap_pdf = \"\";\r\n                    this.$refs.myMindPdf.$data.pdfPicturePath = [];\r\n                  }\r\n                  if (this.isDeleteImage) {\r\n                    this.isDeleteImage = false;\r\n                    this.selectedImagesIndex = [];\r\n                    console.log(\"delete images:\", this.images);\r\n                    console.log(\"delete fileImageUrls:\", this.fileImageUrls);\r\n                    mindMap.mindmap_image_show = this.images.join(\",\");\r\n                    mindMap.mindmap_image = this.fileImageUrls.join(\",\");\r\n                    // this.data.mindmap_image_show = mindMap.mindmap_image_show;\r\n                    // this.data.mindmap_image = mindMap.mindmap_image;\r\n                  }\r\n                  console.log(\"mindMapNew:\", mindMap);\r\n                  this.$store\r\n                    .dispatch(\"setMindMap\", {\r\n                      data: mindMap,\r\n                      isEdited: false,\r\n                      timeStamp: new Date().getTime()\r\n                    })\r\n                    .then(() => {\r\n                      // this.init(mindMap);\r\n                      // 如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                      if (whiteCom === \"CourseCom\") {\r\n                        EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n                      }\r\n                    });\r\n                  // 提交完将定时器清空\r\n                  this.$refs.MyMindOutline.$data.isEdited = false;\r\n                  this.$refs.MyMindOutline.clearTimeout();\r\n\r\n                  let progress_mindmap_num = 0;\r\n                  if (\r\n                    !mindMap.mindmap_content &&\r\n                    !mindMap.mindmap_image &&\r\n                    !mindMap.mindmap_pdf\r\n                  ) {\r\n                    progress_mindmap_num = 0;\r\n                  } else {\r\n                    progress_mindmap_num = 1;\r\n                  }\r\n                  let courseProgress = {\r\n                    ...this.courseProgress,\r\n                    progress_mindmap_num: progress_mindmap_num\r\n                  };\r\n                  this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n                } else if (\r\n                  res && res.code === 1023 &&\r\n                  res.data[0].need_confirm === 1\r\n                ) {\r\n                  let mindMapNew = {\r\n                    ...mindMap\r\n                  };\r\n                  mindMap.last_update_at = res.data[0].last_update_at;\r\n                  mindMap.last_update_device = res.data[0].last_update_device;\r\n                  console.log(\"mindMap:\", mindMap);\r\n                  this.$store\r\n                    .dispatch(\"setMindMap\", {\r\n                      data: mindMap,\r\n                      isEdited: false,\r\n                      timeStamp: new Date().getTime()\r\n                    })\r\n                    .then(() => {\r\n                      // 如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                      if (whiteCom === \"CourseCom\") {\r\n                        EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n                      }\r\n                    });\r\n                  this.dialogVisibleCon = true;\r\n                } else {\r\n                  this.$message({\r\n                    type: \"error\",\r\n                    message: res.msg\r\n                  });\r\n                }\r\n              });\r\n            }\r\n          }\r\n        }\r\n      }\r\n    },\r\n    // 上传pdf\r\n    uploadPdf() {\r\n      if (this.pdfUrl) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请先删除pdf文件\"\r\n        });\r\n        return;\r\n      }\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \".pdf\";\r\n      // input.multiple = \"multiple\";\r\n      input.onchange = e => {\r\n        console.log(input.files);\r\n        let file = input.files[0];\r\n        // if (e.path.length > 0) {\r\n\r\n        // }\r\n        if (!/\\.(pdf)$/.test(file.name)) {\r\n          this.$message.error(\"只能上传pdf文件\");\r\n          return false;\r\n        } else if (Math.round((file.size * 100) / (1024 * 1024)) / 100 > 3) {\r\n          this.$message.error(\"上传的文件不能大于3M\");\r\n          return false;\r\n        } else {\r\n          this.pdfChange(file);\r\n        }\r\n      };\r\n      // input.click();\r\n      input.dispatchEvent(new MouseEvent(\"click\"));\r\n    },\r\n    async pdfChange(file) {\r\n      let directory = localStorage.getItem(\"mindmap_pdf_ossurl\");\r\n      let res = await uploaDOSS(file, directory);\r\n      console.log(res);\r\n      this.pdfName = res.fileName;\r\n      // 调用后台接口\r\n      this.pdfUrl = await this.getBase64(file);\r\n      // this.data.mindmap_pdf = res.fileUrl;\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      let mindMapNew = {\r\n        ...mindMap\r\n      };\r\n      mindMapNew.mindmap_pdf_show = this.pdfUrl;\r\n      mindMapNew.mindmap_pdf = res.fileUrl;\r\n      this.$store\r\n        .dispatch(\"setMindMap\", {\r\n          data: mindMapNew,\r\n          isEdited: false\r\n        })\r\n        .then(() => {\r\n          console.log(\"mindMapNew:\", mindMapNew);\r\n        });\r\n      this.savePdf(res.fileUrl);\r\n    },\r\n    savePdf(fileUrl) {\r\n      let params = {};\r\n      params.mindmap_pdf = fileUrl;\r\n      this.params = params;\r\n      this.saveMap(params, 1);\r\n    },\r\n    downloadPdf() {\r\n      this.$refs.myMindPdf.fileDownload(this.pdfName);\r\n    },\r\n    deletePdfShow() {\r\n      this.dialogVisibleDel = true;\r\n      this.type = 3;\r\n    },\r\n    // 删除pdf文件\r\n    deletePdf() {\r\n      console.log(\"deletePdf\");\r\n      this.isDeletePdf = true;\r\n      let params = {\r\n        mindmap_pdf_show: \"\",\r\n        mindmap_pdf: \"\"\r\n      };\r\n      this.params = params;\r\n      this.saveMap(params, 1);\r\n    },\r\n    selectedImages(indexs) {\r\n      this.selectedImagesIndex = indexs;\r\n    },\r\n    exitImageEdit() {\r\n      this.isEdit = false;\r\n    },\r\n    // 删除图片\r\n    deleteImages() {\r\n      if (this.selectedImagesIndex.length === 0) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请选择要删除的图片\"\r\n        });\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n      this.type = 2;\r\n    },\r\n    // 上传图片\r\n    uploadImages() {\r\n      // let images = [];\r\n      // this.data = deepClone(this.mindMap);\r\n      // if (this.data.mindmap_image_show) {\r\n      //   images = this.data.mindmap_image_show.split(\",\");\r\n      // }\r\n      console.log(this.images.length);\r\n      if (this.images.length > 6) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多上传6张图片\"\r\n        });\r\n        return;\r\n      }\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \"image/png, image/jpeg, image/jpg\";\r\n      input.multiple = \"multiple\";\r\n\r\n      input.onchange = e => {\r\n        console.log(input.files);\r\n        let files = input.files;\r\n        // if (e.path.length > 0) {\r\n\r\n        // }\r\n        if (!/\\.(jpg|jpeg|png|JPG|PNG)$/.test(input.files[0].name)) {\r\n          this.$message.error(\"图片类型必须是jpeg,jpg,png中的一种\");\r\n          return false;\r\n        } else {\r\n          // this.images = [];\r\n          if (this.images.length + files.length > 6) {\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: \"最多上传6张图片\"\r\n            });\r\n            return;\r\n          }\r\n          for (let i = 0; i < files.length; i++) {\r\n            this.avatarChange(files[i], files.length + this.images.length);\r\n          }\r\n          console.log(\"this.images:\", this.images);\r\n        }\r\n      };\r\n      input.click();\r\n    },\r\n    async avatarChange(file, length) {\r\n      let directory = localStorage.getItem(\"mindmap_img_ossurl\");\r\n      let type = \".\" + file.type.split(\"/\")[1];\r\n      let res = await uploaDOSS(file, directory);\r\n      console.log(res);\r\n      this.fileImageUrls.push(res.fileUrl);\r\n      // 调用后台接口\r\n      const avatarUrl = await this.getBase64(file);\r\n      this.images.push(avatarUrl);\r\n      this.imagesName.push(res.fileName.split(\".\")[0]);\r\n      console.log(this.images);\r\n\r\n      if (this.images.length === length) {\r\n        let mindMap = {};\r\n        if (typeof this.mindMap === \"string\") {\r\n          mindMap = JSON.parse(this.mindMap);\r\n        } else {\r\n          mindMap = deepClone(this.mindMap);\r\n        }\r\n        mindMap.mindmap_image_show = this.images.join(\",\");\r\n        mindMap.mindmap_image = this.fileImageUrls.join(\",\");\r\n        this.$store\r\n          .dispatch(\"setMindMap\", {\r\n            data: mindMap,\r\n            isEdited: false\r\n          })\r\n          .then(() => {\r\n            console.log(\"mindMapNew:\", mindMap);\r\n            this.saveMindMapImages();\r\n          });\r\n      }\r\n      // console.log(\"avatarUrl:\", this.avatarUrl);\r\n    },\r\n    getBase64(file) {\r\n      return new Promise((resolve, reject) => {\r\n        const reader = new FileReader();\r\n        reader.readAsDataURL(file);\r\n        reader.onload = () => resolve(reader.result);\r\n        reader.onerror = error => reject(error);\r\n      });\r\n    },\r\n    clickContent(e) {\r\n      if (this.command === \"1\") {\r\n        // console.log(\"clickContent:::\", e);\r\n        if (!this.$refs.MyMindOutline.operating.isOperating) {\r\n          this.$refs.MyMindOutline.hideOperates();\r\n        }\r\n      }\r\n    },\r\n    scrollOutline(scrollTop) {\r\n      // 大纲模式时\r\n      if (this.command === \"1\" && scrollTop >= 50 && !this.editOutline) {\r\n        this.showLayer = true;\r\n      } else {\r\n        this.showLayer = false;\r\n      }\r\n    },\r\n    dropShow() {\r\n      this.guideStep = 2;\r\n      this.$refs.dropRef.show();\r\n    },\r\n    dropHide() {\r\n      this.guideStep = 1;\r\n      if (this.$refs.dropRef) {\r\n        this.$refs.dropRef.hide();\r\n      }\r\n    },\r\n    setGuideStep(index) {\r\n      this.guideStep = index;\r\n    }\r\n  },\r\n  created() {\r\n  },\r\n  mounted() {\r\n\r\n    setTimeout(() => {\r\n      this.startEdit();\r\n    }, 500);\r\n    EventBus.$on(\"dropShow\",  () => {\r\n      this.dropShow();\r\n    });\r\n    EventBus.$on(\"dropHide\",  () => {\r\n      this.dropHide();\r\n    });\r\n    EventBus.$on(\"setGuideStep\",  (index) => {\r\n      this.setGuideStep(index);\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.myMind {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n}\r\n\r\n.del_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n\r\n.operates {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  padding-left: 39px;\r\n  padding-right: 44px;\r\n\r\n  /deep/ .el-button {\r\n    padding: 1px 8px;\r\n    border-radius: 28px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #71afbb;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n\r\n  .right {\r\n    /deep/ .el-button {\r\n      padding: 3px 16px 2px;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      line-height: 21px;\r\n    }\r\n    .clear {\r\n      color: #FD8B65;\r\n      border-color: #FD8B65;\r\n    }\r\n    .exit {\r\n      background-color: #71AFBB;\r\n      color: #fff;\r\n    }\r\n  }\r\n\r\n  .download {\r\n    width: 18px;\r\n    height: 18px;\r\n    margin-right: 30px;\r\n  }\r\n\r\n  .del {\r\n    width: 15px;\r\n    height: 19px;\r\n  }\r\n\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover .el-button:focus,\r\n  .el-button:hover {\r\n    background-color: transparent;\r\n  }\r\n\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover {\r\n    color: #c0c4cc;\r\n    border-color: #ebeef5;\r\n  }\r\n\r\n  /deep/ .el-dropdown-menu__item {\r\n    color: #71afbb;\r\n  }\r\n\r\n  img {\r\n    cursor: pointer;\r\n  }\r\n}\r\n\r\n.content {\r\n  margin-top: 14px;\r\n  margin-bottom: 0;\r\n  flex: 1;\r\n  overflow-y: auto;\r\n  position: relative;\r\n}\r\n\r\n.content1 {\r\n  overflow-y: hidden;\r\n}\r\n\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n\r\n.layer {\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 70px;\r\n  background: linear-gradient(to bottom,\r\n  rgba(234, 237, 239, 0.9),\r\n  rgba(242, 244, 245, 0.8));\r\n  z-index: 9;\r\n  border-radius: 5px;\r\n  box-shadow: 0 5px 15px 0 #f2f4f5;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/GuideMyMind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"myMind\"},[_c('div',{staticClass:\"operates\",style:({ justifyContent: 'space-between'})},[_c('el-dropdown',{ref:\"dropRef\",attrs:{\"show-timeout\":0,\"id\":\"guide-my-mind-eldropdown\",\"trigger\":'click'},on:{\"visible-change\":_vm.visibleChange,\"command\":_vm.handleCommand}},[_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"id\":\"guide-my-mind\",\"type\":\"default\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.commandSpan)),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"guideOutlineDropdown introjs-showElement\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_vm._v(\"大纲模式\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_vm._v(\"图片格式\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"3\"}},[_vm._v(\"PDF格式\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"right\",attrs:{\"id\":\"mind_step4\"}},[_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDelete),expression:\"showDelete\"}],staticClass:\"bg-transparent guide_mind_step4 clear\"},[_vm._v(\"清空\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSave),expression:\"showSave\"}],staticClass:\"bg-transparent guide_mind_step4\"},[_vm._v(\"保存\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSave),expression:\"showSave\"}],staticClass:\"bg-transparent guide_mind_step4 exit\"},[_vm._v(\"退出编辑\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:_vm.command === '1' ? 'content1' : ''},[(_vm.showLayer && _vm.command === '1')?_c('div',{staticClass:\"layer\"}):_vm._e(),_vm._v(\" \"),_c('GuideMyMindOutline',{ref:\"MyMindOutline\",attrs:{\"dataPro\":_vm.data,\"editOutline\":_vm.editOutline,\"isSaveMindMap\":_vm.isSaveMindMap},on:{\"saveMindMap\":_vm.saveMindMap,\"scrollOutline\":_vm.scrollOutline,\"setButton\":_vm.setButton}})],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2aa585f3\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/GuideMyMind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2aa585f3\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./GuideMyMind.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideMyMind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideMyMind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2aa585f3\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GuideMyMind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2aa585f3\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/GuideMyMind.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjU2cHgiIGhlaWdodD0iNTZweCIgdmlld0JveD0iMCAwIDU2LjAgNTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY4NC4wIC00MDkuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY4NS4wIDQxMC4wKSI+PHBhdGggZD0iTTI3LDAgQzEyLjA4NzY5MjMsMCAwLDEyLjA4OTAzMjMgMCwyNyBDMCw0MS45MTIzMDc3IDEyLjA4NzY5MjMsNTQgMjcsNTQgQzQxLjkxMjMwNzcsNTQgNTQsNDEuOTEyMzA3NyA1NCwyNyBDNTQsMTIuMDg5MDMyMyA0MS45MTIzMDc3LDAgMjcsMCIgc3Ryb2tlPSIjMzM1MTYwIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5LjM3Mzg3MzAzNjIxMzkyIDE2LjIyNzEwNjMzNTE2ODQzNikiPjxwYXRoIGQ9Ik0xLjAzODQ2MTU0LDAgTDEuMDM4NDYxNTQsMjAuODYyNDQwNiIgc3Ryb2tlPSIjMzM1MTYwIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMi44NzM4NzMwMzYyMTM5MiAxNi4yMjcxMDYzMzUxNjg0MzYpIj48cGF0aCBkPSJNMS4wMzg0NjE1NCwwIEwxLjAzODQ2MTU0LDIwLjg2MjQ0MDYiIHN0cm9rZT0iIzMzNTE2MCIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/pause_big.svg\n// module id = 1rYn\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2LjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw4NDcgTDAsODQ3IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTIuNDE1MDkyLDAgQzE0LjM5NDg3NzMsMCAxNiwxLjYwNTAyMTk3IDE2LDMuNTg1Njg3MzggTDE2LDEyLjQxNTMxNyBDMTYsMTQuMzk0OTc4IDE0LjM5NDg3NzMsMTYgMTIuNDE1MDkyLDE2IEwzLjU4NDkwODAzLDE2IEMxLjYwNTEyMjczLDE2IDAsMTQuMzk0OTc4IDAsMTIuNDE1MzE3IEwwLDMuNTg1Njg3MzggQzAsMS42MDUwMjE5NyAxLjYwNTEyMjczLDAgMy41ODQ5MDgwMywwIEwxMi40MTUwOTIsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNMC43NzM0MzIxMDUsMC4wNzE5Mzg2NzI3IEw2LjU3NzE4NjI2LDMuNDk1OTE4NTggQzYuOTEyNjc1LDMuNjk0Nzg4NjQgNi45MTI2NzUsNC4xODA5MTU0NSA2LjU3NzE4NjI2LDQuMzc5Nzg1NSBMMC43NzM0MzIxMDUsNy44MDM3NjU0MSBDMC40MzE5MTY2Myw4LjAwNTY0ODY1IDAsNy43NTk1NzIwNyAwLDcuMzYyODM2MzUgTDAsMC41MTM4NzIxMzIgQzAsMC4xMTcxMzY0MTMgMC40MzE5MTY2MywtMC4xMjk5NDQ1NjYgMC43NzM0MzIxMDUsMC4wNzE5Mzg2NzI3IFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTU4LjAgLTQwNC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU4LjAgNDA0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMTIuNDE1MDkyLDE2IEwzLjU4NDkwODAzLDE2IEMxLjYwNTEyMjczLDE2IDAsMTQuMzk0OTc4IDAsMTIuNDE1MzE3IEwwLDMuNTg1Njg3MzggQzAsMS42MDUwMjE5NyAxLjYwNTEyMjczLDAgMy41ODQ5MDgwMywwIEwxMi40MTUwOTIsMCBDMTQuMzk0ODc3MywwIDE2LDEuNjA1MDIxOTcgMTYsMy41ODU2ODczOCBMMTYsMTIuNDE1MzE3IEMxNiwxNC4zOTQ5NzggMTQuMzk0ODc3MywxNiAxMi40MTUwOTIsMTYgWiIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjE4NDcwNzEzNzkyNDU0MiA0LjA2MjI0ODM5NTczMjYyOSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMikiPjxwb2x5Z29uIHBvaW50cz0iMCwyLjIyMDQ0NjA1ZS0xNiA2LjgyODgwMjgxLDIuMjIwNDQ2MDVlLTE2IDYuODI4ODAyODEsNy44NzU4NTU0OCAwLDcuODc1ODU1NDggMCwyLjIyMDQ0NjA1ZS0xNiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNzBBRUJBIj48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_video.svg\n// module id = 245j\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTIzLjUxIDMwLjkiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO30uY2xzLTJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoKTt9LmNscy0ze2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0yKTt9LmNscy00e2ZpbGw6I2ZmYjA5NTt9LmNscy01e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0zKTt9LmNscy02e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC00KTt9LmNscy03e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC01KTt9LmNscy04e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC02KTt9LmNscy05e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC03KTt9LmNscy0xMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtOCk7fS5jbHMtMTF7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTkpO30uY2xzLTEye2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMCk7fS5jbHMtMTN7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTExKTt9LmNscy0xNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTIpO30uY2xzLTE1e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMyk7fS5jbHMtMTZ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE0KTt9LmNscy0xN3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTUpO30uY2xzLTE4e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xNik7fS5jbHMtMTl7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE3KTt9LmNscy0yMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTgpO30uY2xzLTIxe2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xOSk7fS5jbHMtMjJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIwKTt9LmNscy0yM3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMjEpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTI0IiBoZWlnaHQ9IjMyIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIzOC4xNiIgeT0iMjcuMDUiIHdpZHRoPSI2LjkiIGhlaWdodD0iMC42Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTEuNDQsMjUuOHY0LjdoLS41VjI1LjhabS0uMi0yLjIuNS4yYy0uMS4xLS4xLjItLjIuM2E5LDksMCwwLDAsMy4zLDIuNSwxLDEsMCwwLDAtLjQuNSwxMS4xMSwxMS4xMSwwLDAsMS0zLjItMi42QTcuNzgsNy43OCwwLDAsMSw0OCwyN2wtLjQtLjRBNy4xNiw3LjE2LDAsMCwwLDUxLjI0LDIzLjZaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC00IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEuNTgsMjMuODl2MS41aDIuN3YuNWgtMi43djEuN0g2NHYuNWgtMi40djJoM3YuNUg1OFYzMGgzVjI4aC0yLjJ2LS40SDYxdi0xLjdoLTEuN2MtLjMuNC0uNi45LS44LDEuMi0uMS0uMS0uNC0uMi0uNS0uM2E3LjM3LDcuMzcsMCwwLDAsMS40LTIuOGwuNS4xYy0uMS41LS4zLjktLjQsMS4zSDYxdi0xLjVaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC01IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNzMuOTQsMjYuN3YyLjFhLjQ2LjQ2LDAsMCwxLS4zLjUsMi41MywyLjUzLDAsMCwxLTEuMS4xLDQuMzMsNC4zMywwLDAsMS0uMS0uNWguOWMuMSwwLC4xLDAsLjEtLjFWMjcuMmgtMS41djMuM2gtLjRWMjYuN1ptLTMuMy4xdjIuNWgtMS43di42aC0uNVYyNi44Wm0tLjQuNGgtMS4zdjEuNmgxLjNabTEtMy42LjQuM2MwLC4xLS4xLjEtLjEuMmE3LjA1LDcuMDUsMCwwLDAsMy4xLDEuOWMtLjEsMC0uMy4yLS40LjRhNy44OSw3Ljg5LDAsMCwxLTMuMS0yLDYuNzIsNi43MiwwLDAsMS0zLjIsMiwxLjY5LDEuNjksMCwwLDAtLjItLjVBNi4yMSw2LjIxLDAsMCwwLDcxLjI0LDIzLjZabTEuNCwydi41aC0zdi0uNVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MS4zLDI2Ljl2LjhjMCwuOS0uMywyLTMuMSwyLjhsLS40LS40YzIuOC0uNywyLjktMS43LDIuOS0yLjR2LS44Wm0uNiwxLjR2MS4zYzAsLjIuMS4yLjQuMmgxLjNjLjMsMCwuNC0uMS40LS44YS43Ni43NiwwLDAsMCwuNS4yYy0uMi45LS4zLDEuMS0uOSwxLjFIODIuM2MtLjcsMC0uOS0uMS0uOS0uN1YyOC4zWm0xLjMtMi4ydjIuN2gtLjVWMjYuNkg3OS4zdjIuMmgtLjVWMjYuMVptMC0yLjUuNS4yYy0uMy40LS42LjgtLjgsMS4xaDEuNHYxLjVoLS42di0xSDc4LjR2MWgtLjVWMjQuOWgxLjNhNyw3LDAsMCwwLS44LTFsLjQtLjJhMy41MSwzLjUxLDAsMCwxLC44LDFsLS4zLjJoM0E2LDYsMCwwLDAsODMuMiwyMy42Wm0tMi40LDBhNi43Myw2LjczLDAsMCwxLC43LDEuMWwtLjUuMmE2LDYsMCwwLDAtLjYtMS4xWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTkwLjM3LDIzLjg5di40aC0xdjFoLjl2NWgtLjR2LS40aC0yLjF2LjZoLS40di01LjFoLjl2LTFoLTF2LS41Wm0uOCwyLjcuNC4xYTEuODUsMS44NSwwLDAsMC0uMi43aC44di0uN2guNXYuN2gxLjR2LjRoLTEuNXYuOGgxLjNWMjloLTEuM3YuOWgxLjZ2LjRoLTMuNnYtLjRoMS42VjI5SDkxdi0uNGgxLjJ2LS44aC0xYy0uMi4yLS4zLjUtLjUuN2ExLjM4LDEuMzgsMCwwLDAtLjQtLjNBNC4xNyw0LjE3LDAsMCwwLDkxLjE3LDI2LjU5Wm0tMS4zLDIuMWgtMi4xdi44aDIuMVptLS44LTIuOWgtLjV2LjZhMiwyLDAsMCwxLS42LDEuNWMwLS4xLS4xLS4xLS4yLS4ydi42aDIuMXYtLjZoLS40Yy0uMywwLS40LS4xLS40LS40Wm0tLjgsMGgtLjV2MS44YTEuMjIsMS4yMiwwLDAsMCwuNS0xLjJabTEuNiwwaC0uNXYxLjRjMCwuMSwwLC4xLjEuMWguNFptMy45LTEuOXYyLjZoLTN2LTIuNlptLS41LDEuNWgtMnYuN2gyWm0tNC4yLTFoLS41djFoLjVabTQuMi0uMWgtMlYyNWgyWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwMS41MSwyMy42bC41LjFjLS4xLjQtLjMuOC0uNCwxLjFoMi4zdi4zYy0uMSwzLjUtLjIsNC43LS41LDUuMWEuNzEuNzEsMCwwLDEtLjYuM2gtMS4xYS43Ni43NiwwLDAsMC0uMi0uNWgxLjJjLjIsMCwuMiwwLC4zLS4xLjItLjMuMy0xLjUuNC00LjZoLTJjLS4yLjUtLjUsMS0uNywxLjQtLjEtLjEtLjMtLjItLjQtLjNBOS4wOCw5LjA4LDAsMCwwLDEwMS41MSwyMy42Wm0tMi43LDAsLjUuMWMtLjEuNC0uMy44LS40LDEuMmgxLjN2NWgtMi4xdi42aC0uNVYyNC45aC44QTYuNDcsNi40NywwLDAsMCw5OC44MSwyMy42Wm0uOSwzLjloLTEuNnYxLjloMS43VjI3LjVabTEuOC0uOWExMy42LDEzLjYsMCwwLDEsMS4yLDEuN2wtLjQuM2E5LjM5LDkuMzksMCwwLDAtMS4yLTEuOFptLTEuOC0xLjNoLTEuNlYyN2gxLjdWMjUuM1oiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMTIuODUsMjQuMTd2Ni4zaC0uNVYzMGgtMy45di41SDEwOHYtNi4zWm0tLjUsMy4xaC0zLjl2Mi4yaDMuOHYtMi4yWm0wLTIuNmgtMy45djIuMWgzLjh2LTIuMVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIzLjE1LDI0LjE5djMuNGgtLjV2LS40aC0yLjN2Mi40YzAsLjMuMS40LjYuNGgxLjdjLjUsMCwuNi0uMi42LTEuM2EuNzYuNzYsMCwwLDAsLjUuMmMtLjEsMS4zLS4zLDEuNi0xLjEsMS42aC0xLjhjLS44LDAtMS0uMi0xLS45di0yLjloMi45di0yaC0zdi0uNVptLTQuNiwxLjl2My4zbC44LS42YS43Ni43NiwwLDAsMCwuMi40LDEwLjE5LDEwLjE5LDAsMCwwLTEuNiwxLjJjMC0uMS0uMS0uMi0uMi0uM2ExLjE0LDEuMTQsMCwwLDAsLjMtLjd2LTIuOGgtMS4ydi0uNVptLS43LTIuMmE2LjgxLDYuODEsMCwwLDEsMS4yLDEuMmwtLjQuMy0xLjItMS4yWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02Mi40NCwzLjk0YS41OC41OCwwLDAsMSwuNi42LjUzLjUzLDAsMCwxLS42LjZoLTEwYS42My42MywwLDAsMS0uNS0uNi41OC41OCwwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjQsOC42OGEuNi42LDAsMSwxLDAsMS4ySDYwdjYuNGEuNDMuNDMsMCwwLDAsLjQuNGguOGEyLjQzLDIuNDMsMCwwLDAsMi40LTIuNHYtMWEuNTguNTgsMCwwLDEsLjYtLjYuNTMuNTMsMCwwLDEsLjYuNnYxYTMuNTQsMy41NCwwLDAsMS0zLjUsMy41aC0uOGExLjcyLDEuNzIsMCwwLDEtMS42LTEuNlY5Ljc4aC0zLjJjLS4xLDQuNS0xLjUsNy00LjYsNy45SDUxYS42OC42OCwwLDAsMS0uNi0uNC41Ny41NywwLDAsMSwuNC0uNyw0LjI3LDQuMjcsMCwwLDAsMi45LTIuMyw5LjQ1LDkuNDUsMCwwLDAsLjktNC41aC0zLjVhLjU4LjU4LDAsMCwxLS42LS42LjYzLjYzLDAsMCwxLC42LS41WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik05OS4wNiw0YS42MS42MSwwLDAsMSwuOCwwbDEuNywxLjVhLjYxLjYxLDAsMCwxLDAsLjhjMCwuMS0uMi4xLS4zLjFhLjYuNiwwLDAsMS0uNC0uMWwtMS43LTEuNUEuNjIuNjIsMCwwLDEsOTkuMDYsNFoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAwLjksOGEuNTguNTgsMCwwLDEsLjYuNnY2LjFsLjctLjZjLjEtLjIuNC0uMS42LjFhLjYxLjYxLDAsMCwxLDAsLjhsLTMuMSwyLjdjLS4xLDAtLjMuMS0uNC4xYS41Mi41MiwwLDAsMS0uNC0uMi42MS42MSwwLDAsMSwwLS44bDEuNC0xLjJWOS4xMUg5OC4yYy0uNCwwLS42LS4yLS42LS41YS41My41MywwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTA2LjE1LDQuMTJoMy41YTEuNTQsMS41NCwwLDAsMSwxLjUsMS41djIuOGExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtNXY2LjNhLjQzLjQzLDAsMCwwLC40LjRoMy40YTIuNDMsMi40MywwLDAsMCwyLjQtMi40di0xYS42LjYsMCwwLDEsMS4yLDB2MWEzLjU0LDMuNTQsMCwwLDEtMy41LDMuNUgxMDVhMS4zOSwxLjM5LDAsMCwxLTEuNS0xLjRWOS40MmMwLS4zLjItLjUuNi0uNWg1LjZhLjQzLjQzLDAsMCwwLC40LS40VjUuNjJhLjQzLjQzLDAsMCwwLS40LS40aC01LjVhLjg2Ljg2LDAsMCwxLS42LS4zYy0uMi0uMi0uMS0uNS4yLS43aDBjLjEtLjEuMy0uMSwxLjEtLjFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTg1LjQxLDMuODFhMS41NCwxLjU0LDAsMCwxLDEuNSwxLjV2MTAuOWExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtOC41YTEuNTQsMS41NCwwLDAsMS0xLjUtMS41VjUuMzFhMS41NCwxLjU0LDAsMCwxLDEuNS0xLjVabTAsMS4xaC04LjVhLjQzLjQzLDAsMCwwLS40LjR2MTAuOWEuNDMuNDMsMCwwLDAsLjQuNGg4LjVhLjQzLjQzLDAsMCwwLC40LS40VjUuMzFBLjQzLjQzLDAsMCwwLDg1LjQxLDQuOTFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTc3LjgsOS4yOGgwbDcsMS42YS40NC40NCwwLDAsMSwuNC42LjU0LjU0LDAsMCwxLS41LjVoLS4xbC03LTEuNmEuNTcuNTcsMCwwLDEtLjQtLjdjLjEtLjMuNC0uNS42LS40WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjEyMS43OSIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSI0MC41MyIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTQuNTUuNmExLjE3LDEuMTcsMCwwLDEsMS4xLjlWNy4xbDUuNy0xLjVoLjNhMS4xMSwxLjExLDAsMCwxLDEuMSwxLjFWMjYuMmEyLDIsMCwwLDEtMS40LDEuOUw4LjY1LDMxLjRoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjI0LjlsLTUuNiwxLjVoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjUuOUEyLDIsMCwwLDEsMS42NSw0TDE0LjI1LjZabTcuMSw1LjhoMEw5LDkuOGExLjA1LDEuMDUsMCwwLDAtLjgsMVYzMC4zYzAsLjIuMS4zLjIuM2guMWwxMi42LTMuNWExLjA1LDEuMDUsMCwwLDAsLjgtMVY2LjZBLjIyLjIyLDAsMCwwLDIxLjY1LDYuNFptLTYuOC00LjdMOS40NSw4LjhsNS40LTEuNVYxLjdaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIwLDE3LjcyYS40LjQsMCwwLDEsMCwuOGgtOS45YS4zNy4zNywwLDAsMS0uNC0uNC40My40MywwLDAsMSwuNC0uNFoiLz48L2NsaXBQYXRoPjwvZGVmcz48dGl0bGU+bG9nb19iZWhhdmlvcjwvdGl0bGU+PGcgaWQ9IuWbvuWxgl8yIiBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBpZD0i5Zu+5bGCXzEtMiIgZGF0YS1uYW1lPSLlm77lsYIgMSI+PGcgY2xhc3M9ImNscy0yIj48ZyBjbGFzcz0iY2xzLTMiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIzNy45MiAyNi40NSA0NC44MiAyNi40NSA0NC44MiAyNy4wNSAzNy45MiAyNy4wNSAzNy45MiAyNi40NSIvPjwvZz48ZyBjbGFzcz0iY2xzLTUiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI0Ny40IDIzIDU0LjYgMjMgNTQuNiAyOS45IDQ3LjQgMjkuOSA0Ny40IDIzIi8+PC9nPjxnIGNsYXNzPSJjbHMtNiI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjU3LjczIDIzLjI5IDY0LjMzIDIzLjI5IDY0LjMzIDI5Ljg5IDU3LjczIDI5Ljg5IDU3LjczIDIzLjI5Ii8+PC9nPjxnIGNsYXNzPSJjbHMtNyI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjY3LjUgMjMgNzQuNCAyMyA3NC40IDI5LjkgNjcuNSAyOS45IDY3LjUgMjMiLz48L2c+PGcgY2xhc3M9ImNscy04Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNzcuNTUgMjMgODQuMTUgMjMgODQuMTUgMjkuOSA3Ny41NSAyOS45IDc3LjU1IDIzIi8+PC9nPjxnIGNsYXNzPSJjbHMtOSI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijg3LjAzIDIzLjI5IDkzLjkzIDIzLjI5IDkzLjkzIDI5Ljg5IDg3LjAzIDI5Ljg5IDg3LjAzIDIzLjI5Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTAiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI5Ny4zNyAyMyAxMDMuNjcgMjMgMTAzLjY3IDI5LjkgOTcuMzcgMjkuOSA5Ny4zNyAyMyIvPjwvZz48ZyBjbGFzcz0iY2xzLTExIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTA3LjcgMjMuNTcgMTEyLjYxIDIzLjU3IDExMi42MSAyOS44NyAxMDcuNyAyOS44NyAxMDcuNyAyMy41NyIvPjwvZz48ZyBjbGFzcz0iY2xzLTEyIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTE2LjYxIDIzLjI5IDEyMy41MSAyMy4yOSAxMjMuNTEgMjkuODkgMTE2LjYxIDI5Ljg5IDExNi42MSAyMy4yOSIvPjwvZz48ZyBjbGFzcz0iY2xzLTEzIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNTEuNyAzLjM0IDYyLjggMy4zNCA2Mi44IDQuNDQgNTEuNyA0LjQ0IDUxLjcgMy4zNCIvPjwvZz48ZyBjbGFzcz0iY2xzLTE0Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNTAuMSA4LjA4IDY0LjUgOC4wOCA2NC41IDE3LjA4IDUwLjEgMTcuMDggNTAuMSA4LjA4Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTUiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI5OC43MiAzLjIxIDEwMS41MiAzLjIxIDEwMS41MiA1LjgxIDk4LjcyIDUuODEgOTguNzIgMy4yMSIvPjwvZz48ZyBjbGFzcz0iY2xzLTE2Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iOTcuMzYgNy40MSAxMDIuNzYgNy40MSAxMDIuNzYgMTcuMjEgOTcuMzYgMTcuMjEgOTcuMzYgNy40MSIvPjwvZz48ZyBjbGFzcz0iY2xzLTE3Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTAzLjIgMy41MiAxMTEuNyAzLjUyIDExMS43IDE3LjIxIDEwMy4yIDE3LjIxIDEwMy4yIDMuNTIiLz48L2c+PGcgY2xhc3M9ImNscy0xOCI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijc1LjE2IDMuMjEgODYuNjYgMy4yMSA4Ni42NiAxNy4xMSA3NS4xNiAxNy4xMSA3NS4xNiAzLjIxIi8+PC9nPjxnIGNsYXNzPSJjbHMtMTkiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI3Ni45NSA4LjY4IDg0Ljk1IDguNjggODQuOTUgMTEuMzggNzYuOTUgMTEuMzggNzYuOTUgOC42OCIvPjwvZz48ZyBjbGFzcz0iY2xzLTIwIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTIwLjI0IDguNTYgMTIyLjg0IDguNTYgMTIyLjg0IDExLjE2IDEyMC4yNCAxMS4xNiAxMjAuMjQgOC41NiIvPjwvZz48ZyBjbGFzcz0iY2xzLTIxIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMzguOTkgOC41NiA0MS41OSA4LjU2IDQxLjU5IDExLjE2IDM4Ljk5IDExLjE2IDM4Ljk5IDguNTYiLz48L2c+PGcgY2xhc3M9ImNscy0yMiI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjAgMCAyMi41IDAgMjIuNSAzMC45IDAgMzAuOSAwIDAiLz48L2c+PGcgY2xhc3M9ImNscy0yMyI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjkuNDEgMTcuMTEgMjAuMTEgMTcuMTEgMjAuMTEgMTcuOTEgOS40MSAxNy45MSA5LjQxIDE3LjExIi8+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_behavior.svg\n// module id = 25fy\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/logo_behavior_overseas.fea5430.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_behavior_overseas.svg\n// module id = 2JL/\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div>\r\n    <!-- // :class=\"[close_dialog, isFold ? '' : 'add_dialog1']\" -->\r\n    <el-dialog\r\n      :class=\"close_dialog\"\r\n      :style=\"{ width: dialogWidth, left: dialogLeft }\"\r\n      modal-class=\"transparent-dialog\"\r\n      :visible=\"dialogVisible\"\r\n      :width=\"'100%'\"\r\n      :modal=\"false\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"false\"\r\n      top=\"0vh\"\r\n      :show-close=\"false\"\r\n      @close=\"handleClose\"\r\n      v-loading=\"loading\"\r\n    >\r\n      <img\r\n        class=\"dialog-close\"\r\n        src=\"@/assets/img/close_problem.svg\"\r\n        @click=\"handleClose\"\r\n      />\r\n      <span slot=\"title\" class=\"dialog-title\">\r\n        <span>{{ isEdit ? \"编辑\" : \"\" }}{{ title }}</span>\r\n\r\n      </span>\r\n      <!-- <span\r\n        class=\"course_solve_content prewrap-content\"\r\n        v-if=\"isEdit\"\r\n        >{{ data.course_solve_content }}</span> -->\r\n      <el-input\r\n        type=\"textarea\"\r\n        placeholder=\"请输入500个以内字符\"\r\n        maxlength=\"500\"\r\n        :resize=\"'none'\"\r\n        v-model=\"course_solve_content\"\r\n      >\r\n      </el-input>\r\n      <span slot=\"footer\" class=\"dialog-footer\" v-if=\"!isEdit\">\r\n        <el-button v-throttle=\"[submit]\">保 存</el-button>\r\n      </span>\r\n      <span slot=\"footer\" class=\"dialog-footer\" v-else>\r\n        <span v-if=\"isEdit\" style=\"z-index: 10;\">\r\n          <!-- <el-button v-throttle=\"[submit]\">保 存</el-button>\r\n          <el-button v-if=\"course_solve_type == 1\" v-throttle=\"[clear]\">清 空</el-button> -->\r\n          <span class=\"title-text\" @click=\"submit\">保 存</span>\r\n          <span v-if=\"course_solve_type == 1\" class=\"title-text del\" @click=\"clear\">清 空</span>\r\n          <span\r\n            v-else\r\n            class=\"title-text del\"\r\n            @click=\"delShow\"\r\n            >删除</span\r\n          >\r\n        </span>\r\n      </span>\r\n\r\n    </el-dialog>\r\n    <el-dialog\r\n      class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">当前内容与服务器不一致，确定保存当前内容？</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleCon = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\" v-throttle=\"[submitCon]\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n    <el-dialog\r\n      class=\"del_dialog\"\r\n      :visible.sync=\"dialogVisibleDel\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">确定删除？</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleDel = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\" v-throttle=\"[submitDel]\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { addUserQuestionSolve, editUserQuestionSolve } from \"@/api/index\";\r\nimport { Base64 } from \"js-base64\";\r\nimport { getIsMobile } from \"@/utils/util\";\r\n\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    dialogVisible: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    title: {\r\n      type: String,\r\n      default: \"添加道理上的理解\"\r\n    },\r\n    course_solve_type: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    course_solve_isuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    isEdit: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    data: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    isFold: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      course_solve_content: \"\",\r\n      isEditing: true,\r\n      dialogVisibleCon: false,\r\n      dialogVisibleDel: false,\r\n      confirmData: {},\r\n      loading: false,\r\n      close_dialog: \"add_dialog\",\r\n      isPad: false,\r\n      dialogWidth: '100%',  // 【新增】动态弹窗宽度\r\n      dialogLeft: '0px'     // 【新增】动态弹窗左侧位置\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    moralComprehend() {\r\n      return this.$store.getters.moralComprehend;\r\n    },\r\n    problemSolve() {\r\n      return this.$store.getters.problemSolve;\r\n    },\r\n    course() {\r\n      return this.$store.getters.course;\r\n    }\r\n  },\r\n  watch: {\r\n    dialogVisible: {\r\n      immediate: true,\r\n      handler: function(visible) {\r\n        if (visible) {\r\n          // 【新增】弹窗打开时，动态获取父容器宽度\r\n          this.$nextTick(() => {\r\n            const cardBox = document.getElementById('cardBoxMoralQuestions');\r\n            if (cardBox) {\r\n              const rect = cardBox.getBoundingClientRect();\r\n              this.dialogWidth = rect.width + 'px';\r\n              this.dialogLeft = rect.left + 'px';\r\n              console.log('[ProblemSolvingDialog] 弹窗宽度:', this.dialogWidth, '左侧位置:', this.dialogLeft);\r\n            }\r\n          });\r\n        }\r\n      }\r\n    },\r\n    data: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"data:\", newVal);\r\n        if (this.isEdit) {\r\n          this.course_solve_content = this.data.course_solve_content;\r\n        } else {\r\n          this.course_solve_content = \"\";\r\n        }\r\n      }\r\n    },\r\n    course: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"course:\", this.course);\r\n        if (v && v.length) {\r\n          const course = JSON.parse(v);\r\n          this.courseObj = course[0];\r\n        } else {\r\n          this.courseObj = {};\r\n        }\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    clear() {\r\n      this.course_solve_content = \"\";\r\n    },\r\n    // edit() {\r\n    //   // 示例笔记不能新增编辑道理上的理解、摆脱错误观念这些内容\r\n    //   if (this.courseObj.course_isuseradd == 3) {\r\n    //     return;\r\n    //   }\r\n    //   this.isEditing = false;\r\n    // },\r\n    delShow() {\r\n      // 示例笔记不能新增编辑道理上的理解、摆脱错误观念这些内容\r\n      if (this.courseObj.course_isuseradd == 3) {\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n    },\r\n    submit() {\r\n      // 示例笔记不能新增编辑道理上的理解、摆脱错误观念这些内容\r\n      if (this.courseObj.course_isuseradd == 3) {\r\n        return;\r\n      }\r\n      console.log(this.course_solve_content === \"\" && !this.isEdit)\r\n      if (this.course_solve_content === \"\" && !this.isEdit) {\r\n        this.$message.warning(\"请输入500个以内的字符\");\r\n        return;\r\n      }\r\n      if (this.course_solve_content === \"\") {\r\n        if(this.course_solve_type == 1) {\r\n          this.$message.warning(\"请输入道理上的理解\");\r\n        } else if(this.course_solve_type == 2) {\r\n          this.$message.warning(\"请输入事实上的理解\");\r\n        } else {\r\n          this.$message.warning(\"请输入摆脱错误观念\");\r\n        }\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      if (!this.isEdit) {\r\n        this.addUserQuestionSolve();\r\n      } else {\r\n        this.editUserQuestionSolve();\r\n      }\r\n    },\r\n    submitDel() {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      this.dialogVisibleDel = false;\r\n      this.$emit(\"del\", this.course_solve_type, this.data.course_solve_id);\r\n    },\r\n    submitCon() {\r\n      // 示例笔记不能新增编辑道理上的理解、摆脱错误观念这些内容\r\n      if (this.courseObj.course_isuseradd == 3) {\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      this.editUserQuestionSolve(\r\n        1,\r\n        this.confirmData.last_update_device,\r\n        this.confirmData.last_update_at\r\n      );\r\n    },\r\n    // 新增道德上的理解\r\n    async addUserQuestionSolve() {\r\n      try {\r\n        let params = {\r\n          course_id: this.course_id,\r\n          question_id: this.moralComprehend.course_question_id,\r\n          course_solve_type: this.course_solve_type,\r\n          course_solve_content: Base64.encode(this.course_solve_content),\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          course_solve_isuseradd: this.course_solve_isuseradd,\r\n          course_question_isuseradd: this.moralComprehend\r\n            .course_question_isuseradd\r\n        };\r\n        if (this.course_solve_type !== 1) {\r\n          params = {\r\n            ...params,\r\n            version_new: 1,\r\n            course_solve_pid: this.problemSolve.course_solve_id, //道理上的理解id(type=2,3传)\r\n            course_solve_isuseradd: this.course_solve_isuseradd // 道理上的理解是否是用户添加1是2否(type=2,3传)\r\n          };\r\n        }\r\n        console.log(\"addUserQuestionSolve:\", params);\r\n        const res = await addUserQuestionSolve(params);\r\n        if (res && res.code === 0) {\r\n          // this.$message.success(\"添加成功\");\r\n          this.$emit(\"addUserQuestionSolveSuc\");\r\n        }\r\n        this.loading = false;\r\n      } catch (error) {\r\n        this.loading = false;\r\n        console.log(\"error:\", error);\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async editUserQuestionSolve(\r\n      is_confirm,\r\n      last_update_device,\r\n      last_update_at\r\n    ) {\r\n      if (this.course_solve_content === \"\") {\r\n        this.$message(\"内容不能为空\");\r\n        return;\r\n      }\r\n      try {\r\n        let params = {\r\n          course_id: this.course_id,\r\n          course_solve_id: this.data.course_solve_id,\r\n          course_solve_content: Base64.encode(this.course_solve_content),\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          last_update_device: last_update_device\r\n            ? last_update_device\r\n            : this.data.last_update_device,\r\n          last_update_at: last_update_at\r\n            ? last_update_at\r\n            : this.data.last_update_at,\r\n          is_confirm: is_confirm ? is_confirm : 2\r\n        };\r\n        const res = await editUserQuestionSolve(params);\r\n        if (res && res.code === 0) {\r\n          // this.$message.success(\"修改成功\");\r\n          this.$emit(\"addUserQuestionSolveSuc\");\r\n        } else if (res && res.code === 1023 && res.data[0].need_confirm === 1) {\r\n          this.confirmData = res.data[0];\r\n          this.dialogVisibleCon = true;\r\n        }\r\n        this.loading = false;\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    handleClose() {\r\n      if(this.isPad) {\r\n        this.close_dialog = \"close_dialog close_dialog_pad\";\r\n      } else {\r\n        this.close_dialog = \"close_dialog\";\r\n      }\r\n\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        this.$emit(\"handleClose\");\r\n      }, 350);\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.isEditing = true;\r\n  },\r\n  mounted() {\r\n    console.log(\"mounted\");\r\n    this.isPad = getIsMobile();\r\n    if(this.isPad) {\r\n      this.close_dialog = \"add_dialog add_dialog_pad\";\r\n    } else {\r\n      this.close_dialog = \"add_dialog\";\r\n    }\r\n    if (this.course && this.course.length) {\r\n      const course = JSON.parse(this.course);\r\n      this.courseObj = course[0];\r\n    } else {\r\n      this.courseObj = {};\r\n    }\r\n    if (this.isEdit) {\r\n      this.course_solve_content = this.data.course_solve_content;\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.dialog-title {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  font-size: 18px;\r\n  font-family: PingFangSC-Medium, PingFang SC;\r\n  font-weight: 500;\r\n  color: #65afd5;\r\n  line-height: 22px;\r\n}\r\n.title-text {\r\n  font-size: 16px;\r\n  font-weight: 400;\r\n  color: #65afd5;\r\n  line-height: 24px;\r\n  cursor: pointer;\r\n}\r\n.title-text.del {\r\n  // color: rgba(101, 175, 213, 0.6);\r\n  margin-left: 15px;\r\n}\r\n.dialog-close {\r\n  position: absolute; /* 【修复】改为 absolute，相对于 .el-dialog 定位 */\r\n  right: 15px; /* 【修复】与标题的 margin-right: 15px 对齐 */\r\n  top: 20px; /* 【修复】与标题的 padding-top: 20px 对齐 */\r\n  cursor: pointer;\r\n  width: 30px;\r\n  height: 30px;\r\n}\r\n@-webkit-keyframes activeli4Ani {\r\n  0% {\r\n    // transform: translateY(100%);\r\n    top: 100%;\r\n  }\r\n  100% {\r\n    // transform: translateY(95%);\r\n    top: calc(100% - 400px);\r\n  }\r\n}\r\n@-webkit-keyframes closeli4Ani {\r\n  0% {\r\n    top: calc(100% - 400px);\r\n    // transform: translateY(95%);\r\n  }\r\n  100% {\r\n    // transform: translateY(200%);\r\n    top: 100%;\r\n  }\r\n}\r\n@-webkit-keyframes activeli4Ani1 {\r\n  0% {\r\n    // transform: translateY(100%);\r\n    top: 100%;\r\n  }\r\n  100% {\r\n    // transform: translateY(95%);\r\n    top: calc(100% - 470px);\r\n  }\r\n}\r\n@-webkit-keyframes closeli4Ani1 {\r\n  0% {\r\n    top: calc(100% - 470px);\r\n    // transform: translateY(95%);\r\n  }\r\n  100% {\r\n    // transform: translateY(200%);\r\n    top: 100%;\r\n  }\r\n}\r\n.close_dialog {\r\n  height: 400px;\r\n  top: calc(100% - 400px); /* 【修复】设置初始位置，与动画起始状态一致，避免跳动 */\r\n  -webkit-animation: closeli4Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: closeli4Ani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  position: fixed; /* 【修复】改为 fixed，相对于视口定位，避免被父容器裁剪 */\r\n}\r\n.close_dialog_pad {\r\n  height: 400px;\r\n  top: calc(100% - 470px); /* 【修复】设置初始位置，与动画起始状态一致，避免跳动 */\r\n  -webkit-animation: closeli4Ani1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: closeli4Ani1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  position: fixed; /* 【修复】改为 fixed */\r\n}\r\n.add_dialog {\r\n  top: 100%; /* 【修复】设置初始位置，与动画起始状态一致 */\r\n  -webkit-animation: activeli4Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli4Ani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  position: fixed; /* 【修复】改为 fixed，相对于视口定位，避免被父容器裁剪 */\r\n  height: 400px;\r\n  z-index: 2000; /* 【修复】确保在最高层 */\r\n}\r\n.add_dialog_pad {\r\n  top: 100%; /* 【修复】设置初始位置，与动画起始状态一致 */\r\n  -webkit-animation: activeli4Ani1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli4Ani1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  position: fixed; /* 【修复】改为 fixed */\r\n  height: 400px;\r\n  z-index: 2000; /* 【修复】确保在最高层 */\r\n}\r\n.add_dialog, .close_dialog, add_dialog_pad, close_dialog_pad {\r\n  box-shadow: 0px 2px 47px 0px rgba(0,0,0,0.15);\r\n  border-top-left-radius: 16px;\r\n  border-top-right-radius: 16px;\r\n  .course_solve_content {\r\n    padding-top: 10px;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    color: #727A7F;\r\n    line-height: 27px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n    // padding-top: 10px;\r\n    height: 523px;\r\n    display: inline-block;\r\n    height: 100%;\r\n    overflow-y: auto;\r\n    letter-spacing: 3px;\r\n    // margin-top: -30px;\r\n  }\r\n  /deep/ .el-dialog {\r\n    height: 400px;\r\n    width: 100% !important; /* 【修复】确保内部 el-dialog 宽度 100% */\r\n    /* 【修复】移除居中定位，让弹窗跟随外层容器的动画定位 */\r\n    top: 0;\r\n    transform: none;\r\n    display: flex;\r\n    flex-direction: column;\r\n    margin: 0;\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 14px 0;\r\n    margin: 0 15px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 18px;\r\n    color: #65AFD5;\r\n    line-height: 22px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0 15px 5px;\r\n    margin-top: 2px;\r\n    flex: 1;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    padding: 18px 24px 16px 0;\r\n    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);\r\n  }\r\n  /deep/ .el-textarea {\r\n    height: 100%;\r\n    padding: 0 11px;\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding: 5px 0px;\r\n    border: none;\r\n    height: 100%;\r\n  }\r\n  /deep/ .el-button {\r\n    width: 93px;\r\n    height: 32px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    border-color: #64afd5;\r\n    background: #fff;\r\n    padding: 7px;\r\n    border-radius: 16px;\r\n  }\r\n  /deep/ .el-textarea.is-disabled .el-textarea__inner {\r\n    background: #fff;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/ProblemSolvingDialog.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-dialog',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],class:_vm.close_dialog,style:({ width: _vm.dialogWidth, left: _vm.dialogLeft }),attrs:{\"modal-class\":\"transparent-dialog\",\"visible\":_vm.dialogVisible,\"width\":'100%',\"modal\":false,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":false,\"top\":\"0vh\",\"show-close\":false},on:{\"close\":_vm.handleClose}},[_c('img',{staticClass:\"dialog-close\",attrs:{\"src\":require(\"@/assets/img/close_problem.svg\")},on:{\"click\":_vm.handleClose}}),_vm._v(\" \"),_c('span',{staticClass:\"dialog-title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('span',[_vm._v(_vm._s(_vm.isEdit ? \"编辑\" : \"\")+_vm._s(_vm.title))])]),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":\"textarea\",\"placeholder\":\"请输入500个以内字符\",\"maxlength\":\"500\",\"resize\":'none'},model:{value:(_vm.course_solve_content),callback:function ($$v) {_vm.course_solve_content=$$v},expression:\"course_solve_content\"}}),_vm._v(\" \"),(!_vm.isEdit)?_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submit]),expression:\"[submit]\"}]},[_vm._v(\"保 存\")])],1):_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.isEdit)?_c('span',{staticStyle:{\"z-index\":\"10\"}},[_c('span',{staticClass:\"title-text\",on:{\"click\":_vm.submit}},[_vm._v(\"保 存\")]),_vm._v(\" \"),(_vm.course_solve_type == 1)?_c('span',{staticClass:\"title-text del\",on:{\"click\":_vm.clear}},[_vm._v(\"清 空\")]):_c('span',{staticClass:\"title-text del\",on:{\"click\":_vm.delShow}},[_vm._v(\"删除\")])]):_vm._e()])],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"当前内容与服务器不一致，确定保存当前内容？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleCon = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submitCon]),expression:\"[submitCon]\"}],staticClass:\"comfirm-btn\"},[_vm._v(\"确 定\")])],1)]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"visible\":_vm.dialogVisibleDel,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleDel=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"确定删除？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleDel = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submitDel]),expression:\"[submitDel]\"}],staticClass:\"comfirm-btn\"},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-8d3ad6a6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/ProblemSolvingDialog.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8d3ad6a6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ProblemSolvingDialog.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ProblemSolvingDialog.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ProblemSolvingDialog.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8d3ad6a6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ProblemSolvingDialog.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-8d3ad6a6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/ProblemSolvingDialog.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuaooeW8j+a1heiJsi3np7vlhaUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNzc1IC01MTEpIj4NCiAgICA8Y2lyY2xlIGlkPSLmpK3lnIZfNSIgZGF0YS1uYW1lPSLmpK3lnIYgNSIgY3g9IjI0IiBjeT0iMjQiIHI9IjI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzc1IDUxMSkiIGZpbGw9IiNmZmYiLz4NCiAgICA8cGF0aCBpZD0i6Lev5b6EXzIyIiBkYXRhLW5hbWU9Iui3r+W+hCAyMiIgZD0iTS03NC4wNDYsODAuMTA5YTguNzI0LDguNzI0LDAsMCwwLDEuMSw2Ljg2MSw3LjY0OSw3LjY0OSwwLDAsMCw2LjQ2NSwzLjI2MiwxMC4yOTQsMTAuMjk0LDAsMCwwLDIuOTU2LS40NDgsNy41ODUsNy41ODUsMCwwLDEtNyw0Ljc1NkE3LjYzLDcuNjMsMCwwLDEtNzguMSw4Ni44N2E3LjY5MSw3LjY5MSwwLDAsMSw0LjA1My02Ljc2MU0tNzIuOCw3OC4wNGEuNzMuNzMsMCwwLDAtLjI4Ny4wNTksOS4xMzYsOS4xMzYsMCwwLDAtNi41MSw4Ljc3NSw5LjEyMiw5LjEyMiwwLDAsMCw5LjA3NSw5LjE2Niw5LjEsOS4xLDAsMCwwLDguOS03LjQxM3YwYS43MTIuNzEyLDAsMCwwLC4wMjMtLjE3OC43MjkuNzI5LDAsMCwwLS43MjQtLjczNCw5LjY1Miw5LjY1MiwwLDAsMS00LjE1MywxLjAxOWMtNC43NSwwLTcuNzk0LTQuMzcyLTUuNi05Ljk2M2EuNzIxLjcyMSwwLDAsMC0uMDU5LS4yODYuNzI4LjcyOCwwLDAsMC0uNjctLjQ0M1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4NjkuNTk5IDQ0Ny45NikiIGZpbGw9IiM2NGFmZDUiLz4NCiAgPC9nPg0KPC9zdmc+DQo=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-mode-hover.svg\n// module id = 2fe9\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE1cHgiIGhlaWdodD0iMjFweCIgdmlld0JveD0iMCAwIDE1LjAgMjEuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc5Ny4wIC0xNDkuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc3NS4zMjc4Njg4NTI0NTg5IDE0MC44NTI0NTkwMTYzOTM5NCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyLjQ5MTgwMzI3ODY4ODE2NyA5LjYzOTM0NDI2MjI5NTcwNikiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMDA1NDUyNjQwODA3NTYxNyAyLjQ1OTU4Nzg0NDU3MjUyNDgpIj48cGF0aCBkPSJNNi42NzIxOTg0LDAuNTI3ODQyNTczIEwwLDEwLjM5NDYyMDMgTDMuNjE0NjA0NjYsMTIuODA4ODExNSBMMTAuMjc4Njg4OSwyLjk1Mzk2NjM2IEMxMC42NTA5ODQxLDIuNDAyNjgzMDcgMTAuNTA0NDUyNiwxLjY1Mzc5Njk0IDkuOTUxMjYwMDcsMS4yODQzNjU1MyBMOC4zMzI3MzA1LDAuMjAyMzIyOTE0IEM3Ljc4MzgzMzcyLC0wLjE2NDI0NDY3OCA3LjA0MjEwNzExLC0wLjAxOTE0NTAwNjQgNi42NzIxOTg0LDAuNTI3ODQyNTczIFoiIHN0cm9rZT0iIzYzQUVENCIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMTQuMzU3NjYwMjcyMTY1MDUpIj48cGF0aCBkPSJNMC4yMjQxNTc3MjksMCBMMC4wMDA3ODA2MDI4NDEsMy4zNTk3MjU2MyBDLTAuMDE2ODc5NTU0NiwzLjYzMDM1NTYxIDAuMjY4NTQ2Nzc0LDMuODE2MDI1OTEgMC41MDg2Mjk0NTUsMy42ODk1NDEgTDMuNDQxMTcwMTksMi4xNDgzMzQyOSIgc3Ryb2tlPSIjNjNBRUQ0IiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjY0MTU5ODIyNDk3MDk1IDAuMCkiPjxwYXRoIGQ9Ik0yLjIxMDg2MDc5LDEuMTA1NDMwNCBDMi4yMTA4NjA3OSwxLjcxNTg5OTA4IDEuNzE1ODk5MDgsMi4yMTA4NjA3OSAxLjEwNTQzMDQsMi4yMTA4NjA3OSBDMC40OTQ5NjE3MSwyLjIxMDg2MDc5IDAsMS43MTU4OTkwOCAwLDEuMTA1NDMwNCBDMCwwLjQ5NDk2MTcxIDAuNDk0OTYxNzEsMCAxLjEwNTQzMDQsMCBDMS43MTU4OTkwOCwwIDIuMjEwODYwNzksMC40OTQ5NjE3MSAyLjIxMDg2MDc5LDEuMTA1NDMwNCBaIiBzdHJva2U9IiM2M0FFRDQiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/moral_edit.svg\n// module id = 2z5b\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xMC4zMjQ5IDEuNTQwMTFMMy44ODQ5MyAxMC4xNzgxQzMuODI4OTMgMTAuMjU1MSAzLjcyMzkzIDEwLjI2OTEgMy42NDY5MyAxMC4yMTMxTDEuNDI3OTMgOC41NjExMUMxLjE2MTkzIDguMzY1MTEgMC43OTA5MzEgOC40MjExMSAwLjU5NDkzMSA4LjY4MDExQzAuMzk4OTMxIDguOTQ2MTEgMC40NTQ5MzEgOS4zMTcxMSAwLjcxMzkzMSA5LjUxMzExTDMuNTQxOTMgMTEuNjI3MUMzLjYzMjkzIDExLjY5NzEgMy43NDQ5MyAxMS43MzkxIDMuODU2OTMgMTEuNzQ2MVYxMS43NjcxTDMuOTc1OTMgMTEuNzUzMUM0LjEyOTkzIDExLjczMjEgNC4yNjk5MyAxMS42NDgxIDQuMzY3OTMgMTEuNTIyMUwxMS4yNjk5IDIuMjYxMTFDMTEuNDY1OSAxLjk5NTExIDExLjQwOTkgMS42MjQxMSAxMS4xNTA5IDEuNDI4MTFDMTAuODkxOSAxLjIyNTExIDEwLjUyMDkgMS4yODExMSAxMC4zMjQ5IDEuNTQwMTFaTTcuMjU4OTMgMTAuNTk4MUgxMi45MjE5QzEzLjIwODkgMTAuNjMzMSAxMy40MTg5IDEwLjg5MjEgMTMuMzk3OSAxMS4xNzkxQzEzLjQyNTkgMTEuNDczMSAxMy4yMTU5IDExLjczMjEgMTIuOTIxOSAxMS43NjAxSDcuMjU4OTNDNi45NzE5MyAxMS43MjUxIDYuNzYxOTMgMTEuNDY2MSA2Ljc4OTkzIDExLjE3OTFDNi43NjE5MyAxMC44OTIxIDYuOTcxOTMgMTAuNjMzMSA3LjI1ODkzIDEwLjU5ODFaTTkuMTM0OTMgNy43NzAxMUgxMi45Mjg5QzEzLjIxNTkgNy44MDUxMSAxMy40MjU5IDguMDY0MTEgMTMuNDA0OSA4LjM1MTExQzEzLjQzMjkgOC42NDUxMSAxMy4yMjI5IDguOTA0MTEgMTIuOTI4OSA4LjkzMjExSDkuMTM0OTNDOC44NDc5MyA4Ljg5NzExIDguNjM3OTMgOC42MzgxMSA4LjY1ODkzIDguMzUxMTFDOC42Mzc5MyA4LjA1NzExIDguODQ3OTMgNy43OTgxMSA5LjEzNDkzIDcuNzcwMTFaTTExLjAzODkgNC45MzUxMUgxMi45Mjg5QzEzLjIxNTkgNC45NzAxMSAxMy40MjU5IDUuMjI5MTEgMTMuNDA0OSA1LjUxNjExQzEzLjQzMjkgNS44MTAxMSAxMy4yMjI5IDYuMDY5MTEgMTIuOTI4OSA2LjA5NzExSDExLjAzODlDMTAuNzUxOSA2LjA2MjExIDEwLjU0MTkgNS44MDMxMSAxMC41NjI5IDUuNTE2MTFDMTAuNTM0OSA1LjIyOTExIDEwLjc0NDkgNC45NzAxMSAxMS4wMzg5IDQuOTM1MTFaIiBmaWxsPSIjNjRBRkQ1Ii8+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/all_read.svg\n// module id = 3AHc\n// module chunks = 171","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/problem_done.png\n// module id = 3EeI\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM5cHgiIGhlaWdodD0iMzlweCIgdmlld0JveD0iMCAwIDM5LjAgMzkuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQ3LjM2ODQyMTElIiB5PSItNDcuMzY4NDIxMSUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE3My42ODQyMTElIiBoZWlnaHQ9IjE3My42ODQyMTElIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0xMywwIEMyMC4xNzk3MDE3LDAgMjYsNS44MjAyOTgyNSAyNiwxMyBDMjYsMjAuMTc5NzAxNyAyMC4xNzk3MDE3LDI2IDEzLDI2IEM1LjgyMDI5ODI1LDI2IDAsMjAuMTc5NzAxNyAwLDEzIEMwLDUuODIwMjk4MjUgNS44MjAyOTgyNSwwIDEzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yNy4wIC0zMzkuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxLjUgMzQzLjU5NjMyMjM0MDA0MDgpIj48ZyBvcGFjaXR5PSIxJSI+PHBhdGggZD0iTTEzLDI2IEMyMC4xNzk3MDE3LDI2IDI2LDIwLjE3OTcwMTcgMjYsMTMgQzI2LDUuODIwMjk4MjUgMjAuMTc5NzAxNywwIDEzLDAgQzUuODIwMjk4MjUsMCAwLDUuODIwMjk4MjUgMCwxMyBDMCwyMC4xNzk3MDE3IDUuODIwMjk4MjUsMjYgMTMsMjYgWiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIiBmaWx0ZXI9InVybCgjaTEpIj48L3BhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2k0KSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMjYsMCAyNiwyNiAwLDI2IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZGRkZGIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNi4wMzQ0ODI3NTg2MjA3OCAxOS43MjQxMzc5MzEwMzQ0OTUpIHJvdGF0ZSg5MC4wKSBzY2FsZSgtMS4wIDEuMCkiPjxwYXRoIGQ9Ik0xMy40NDgyNzU5LDAgTDYuNzIzODMxMSw2LjI3NTg2MjA3IEwwLDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/problem_back.svg\n// module id = 3KvB\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2LjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw4NDcgTDAsODQ3IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTIuNDE1MDkyLDAgQzE0LjM5NDg3NzMsMCAxNiwxLjYwNTAyMTk3IDE2LDMuNTg1Njg3MzggTDE2LDEyLjQxNTMxNyBDMTYsMTQuMzk0OTc4IDE0LjM5NDg3NzMsMTYgMTIuNDE1MDkyLDE2IEwzLjU4NDkwODAzLDE2IEMxLjYwNTEyMjczLDE2IDAsMTQuMzk0OTc4IDAsMTIuNDE1MzE3IEwwLDMuNTg1Njg3MzggQzAsMS42MDUwMjE5NyAxLjYwNTEyMjczLDAgMy41ODQ5MDgwMywwIEwxMi40MTUwOTIsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNNC43NTMwOTE4NSwwLjU5MTU4MDk5NyBMNC43NTMwOTE4NSw3LjE0OTI3MDg5IEM0Ljc1MzA5MTg1LDcuNTk4MjM1MTEgNC4yNzA5NTIzNSw3Ljg4MzQ4MzA3IDMuODc3MjA1MSw3LjY2NjUzMzkyIEwyLjM2NzUwNTgxLDYuMDIzMzQ0OTYgTDAuOTYxMjY1NjE2LDUuNzMwMDYxODUgQzAuNDAwNzc4NDU0LDUuNjEzNTUyMTIgMCw1LjEyMDM5NDU2IDAsNC41NDc4ODk4NSBMMCwzLjYwMDc0NjA5IEMwLDMuMDg2NDk2MjUgMC4zMjU0NDQxNTgsMi42Mjg0OTI0OCAwLjgxMTYwMTQ4MiwyLjQ1OTc1NDI1IEwyLjM3NjU0NTkyLDEuOTE2Mzc2OTggTDMuODI2OTgyMjMsMC4xMDU0NTQxOTIgQzQuMjE4NzIwNTcsLTAuMTY0NzI3ODU1IDQuNzUzMDkxODUsMC4xMTU0OTgxMzQgNC43NTMwOTE4NSwwLjU5MTU4MDk5NyBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4MS4wIC00MDQuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MS4wIDQwNC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBhdGggZD0iTTEyLjQxNTA5MiwxNiBMMy41ODQ5MDgwMywxNiBDMS42MDUxMjI3MywxNiAwLDE0LjM5NDk3OCAwLDEyLjQxNTMxNyBMMCwzLjU4NTY4NzM4IEMwLDEuNjA1MDIxOTcgMS42MDUxMjI3MywwIDMuNTg0OTA4MDMsMCBMMTIuNDE1MDkyLDAgQzE0LjM5NDg3NzMsMCAxNiwxLjYwNTAyMTk3IDE2LDMuNTg1Njg3MzggTDE2LDEyLjQxNTMxNyBDMTYsMTQuMzk0OTc4IDE0LjM5NDg3NzMsMTYgMTIuNDE1MDkyLDE2IFoiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNC4wMTMyMDg2MTMyMjExNyA0LjEyOTg3NTM3NDk4Mzg0OSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMikiPjxwb2x5Z29uIHBvaW50cz0iMCw0LjAyNDU1ODQ2ZS0xNiA0Ljc1MzA5MTg1LDQuMDI0NTU4NDZlLTE2IDQuNzUzMDkxODUsNy43NDA2NzQ1OSAwLDcuNzQwNjc0NTkgMCw0LjAyNDU1ODQ2ZS0xNiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNzBBRUJBIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC41Njk0MDE3MjAxMzMwOSA1LjU3MzI4MzExMzYyMjA5MykiPjxwYXRoIGQ9Ik0wLDQuODU0MjM3MjkgQzAuODQyNzM5NjU3LDQuMzY5MTE0ODggMS40MTcyODkyMiwzLjQ2OTE3NzY1IDEuNDE3Mjg5MjIsMi40MjY2MTY0NSBDMS40MTcyODkyMiwxLjM4NDA1NTI0IDAuODQyNzM5NjU3LDAuNDg1MTIyNDExIDAsMCIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_audio.svg\n// module id = 3VVD\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuWtl+WPt+a3seiJsi3np7vlhaUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNTA4IC04NDQpIj4NCiAgICA8Y2lyY2xlIGlkPSLmpK3lnIZfNCIgZGF0YS1uYW1lPSLmpK3lnIYgNCIgY3g9IjI0IiBjeT0iMjQiIHI9IjI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTA4IDg0NCkiIGZpbGw9InJnYmEoMCwwLDAsMC40KSIvPg0KICAgIDxwYXRoIGlkPSLot6/lvoRfMjEiIGRhdGEtbmFtZT0i6Lev5b6EIDIxIiBkPSJNLTE2OC4wNDcsOTkuMTA4aDIuNDU5bDYuNzgzLDIwaC0yLjM3OGwtMS45NzMtNi4yODVoLTcuNDA2bC0yLDYuMjg1SC0xNzQuOFptNC4zMjQsMTEuOTEyLTEuMDI3LTMuMjUxYy0uNzU3LTIuMjY3LTEuMzc4LTQuNDI3LTIuMDU0LTYuNzc1aC0uMTA4Yy0uNjQ5LDIuMzQ4LTEuMyw0LjUwOC0yLjAyNyw2Ljc3NWwtMS4wMjcsMy4yNTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjk4LjgwNCA3NTguODkyKSIgZmlsbD0iIzAwYTlmZiIvPg0KICA8L2c+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-fontsize-hover-black.svg\n// module id = 3bCR\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzNweCIgdmlld0JveD0iMCAwIDM0LjAgMzMuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTYsMCBDMjQuODM2OTIzMSwwIDMyLDcuMTYzODcwOTcgMzIsMTYgQzMyLDI0LjgzNjkyMzEgMjQuODM2OTIzMSwzMiAxNiwzMiBDNy4xNjMwNzY5MiwzMiAwLDI0LjgzNjkyMzEgMCwxNiBDMCw3LjE2Mzg3MDk3IDcuMTYzMDc2OTIsMCAxNiwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTIiPjxwYXRoIGQ9Ik05LjE2MjAxNzgzLDIuMTg3MDc0MzIgQzkuNDQ3MDk4MDQsMi4zNTcwODExOSA5LjY4NTM4NDA4LDIuNTk1MzY3MjMgOS44NTUzOTA5NiwyLjg4MDQ0NzQ1IEwxNC40NzE3MDg1LDEwLjYyMTQzMzMgQzE1LjAzNzQ1NDksMTEuNTcwMTE5MSAxNC43MjcwMjEyLDEyLjc5NzgwOSAxMy43NzgzMzU0LDEzLjM2MzU1NTQgQzEzLjQ2ODU3MjYsMTMuNTQ4MjgxNyAxMy4xMTQ2MjI1LDEzLjY0NTgwNzggMTIuNzUzOTYwOSwxMy42NDU4MDc4IEwzLjUyMTMyNTc4LDEzLjY0NTgwNzggQzIuNDE2NzU2MjgsMTMuNjQ1ODA3OCAxLjUyMTMyNTc4LDEyLjc1MDM3NzMgMS41MjEzMjU3OCwxMS42NDU4MDc4IEMxLjUyMTMyNTc4LDExLjI4NTE0NjIgMS42MTg4NTE4OSwxMC45MzExOTYxIDEuODAzNTc4MTYsMTAuNjIxNDMzMyBMNi40MTk4OTU3MSwyLjg4MDQ0NzQ1IEM2Ljk4NTY0MjEyLDEuOTMxNzYxNjMgOC4yMTMzMzIwMSwxLjYyMTMyNzkxIDkuMTYyMDE3ODMsMi4xODcwNzQzMiBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM4LjAgLTExMS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzkuMCAxMTEuNSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDMyLDAgMzIsMzIgMCwzMiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0icmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIj48L3BvbHlnb24+PC9nPjxwYXRoIGQ9Ik0xNiwwIEM3LjE2MzA3NjkyLDAgMCw3LjE2Mzg3MDk3IDAsMTYgQzAsMjQuODM2OTIzMSA3LjE2MzA3NjkyLDMyIDE2LDMyIEMyNC44MzY5MjMxLDMyIDMyLDI0LjgzNjkyMzEgMzIsMTYgQzMyLDcuMTYzODcwOTcgMjQuODM2OTIzMSwwIDE2LDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNS4xNDQ2MjczMDMyMzQzIDcuODYyMzU2NjY3NzM1MDQ0KSByb3RhdGUoOTAuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMikiPjxwYXRoIGQ9Ik05Ljg1NTM5MDk2LDIuODgwNDQ3NDUgTDE0LjQ3MTcwODUsMTAuNjIxNDMzMyBDMTUuMDM3NDU0OSwxMS41NzAxMTkxIDE0LjcyNzAyMTIsMTIuNzk3ODA5IDEzLjc3ODMzNTQsMTMuMzYzNTU1NCBDMTMuNDY4NTcyNiwxMy41NDgyODE3IDEzLjExNDYyMjUsMTMuNjQ1ODA3OCAxMi43NTM5NjA5LDEzLjY0NTgwNzggTDMuNTIxMzI1NzgsMTMuNjQ1ODA3OCBDMi40MTY3NTYyOCwxMy42NDU4MDc4IDEuNTIxMzI1NzgsMTIuNzUwMzc3MyAxLjUyMTMyNTc4LDExLjY0NTgwNzggQzEuNTIxMzI1NzgsMTEuMjg1MTQ2MiAxLjYxODg1MTg5LDEwLjkzMTE5NjEgMS44MDM1NzgxNiwxMC42MjE0MzMzIEw2LjQxOTg5NTcxLDIuODgwNDQ3NDUgQzYuOTg1NjQyMTIsMS45MzE3NjE2MyA4LjIxMzMzMjAxLDEuNjIxMzI3OTEgOS4xNjIwMTc4MywyLjE4NzA3NDMyIEM5LjQ0NzA5ODA0LDIuMzU3MDgxMTkgOS42ODUzODQwOCwyLjU5NTM2NzIzIDkuODU1MzkwOTYsMi44ODA0NDc0NSBaIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iNCIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjUiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_play.svg\n// module id = 40T8\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDZweCIgdmlld0JveD0iMCAwIDQ1LjAgNDYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQwJSIgeT0iLTQwJSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB3aWR0aD0iMTYyLjIyMjIyMiUiIGhlaWdodD0iMTYyLjIyMjIyMiUiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJpMiI+PC9mZUdhdXNzaWFuQmx1cj48ZmVPZmZzZXQgZHg9IjIiIGR5PSIyIiBpbj0iaTIiIHJlc3VsdD0iaTMiPjwvZmVPZmZzZXQ+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjA1IDAiIHR5cGU9Im1hdHJpeCIgaW49ImkzIj48L2ZlQ29sb3JNYXRyaXg+PC9maWx0ZXI+PGNsaXBQYXRoIGlkPSJpNCI+PHBhdGggZD0iTTE2LjUsMCBDMjUuNjEyNjk4NCwwIDMzLDcuMzg3MzAxNjMgMzMsMTYuNSBDMzMsMjUuNjEyNjk4NCAyNS42MTI2OTg0LDMzIDE2LjUsMzMgQzcuMzg3MzAxNjMsMzMgMCwyNS42MTI2OTg0IDAsMTYuNSBDMCw3LjM4NzMwMTYzIDcuMzg3MzAxNjMsMCAxNi41LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMS4wIC03Ni4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUuMCA4MC41KSI+PGcgb3BhY2l0eT0iMSUiPjxwYXRoIGQ9Ik0xNi41LDMzIEMyNS42MTI2OTg0LDMzIDMzLDI1LjYxMjY5ODQgMzMsMTYuNSBDMzMsNy4zODczMDE2MyAyNS42MTI2OTg0LDAgMTYuNSwwIEM3LjM4NzMwMTYzLDAgMCw3LjM4NzMwMTYzIDAsMTYuNSBDMCwyNS42MTI2OTg0IDcuMzg3MzAxNjMsMzMgMTYuNSwzMyBaIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiIGZpbHRlcj0idXJsKCNpMSkiPjwvcGF0aD48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAzMywwIDMzLDMzIDAsMzMgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNGRkZGRkYiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjM1MTQ1ODg4NTk0MTc2NCAyNS4wMzQ0ODI3NTg2MjA2OTQpIHJvdGF0ZSg5MC4wKSBzY2FsZSgtMS4wIDEuMCkiPjxwYXRoIGQ9Ik0xNy4wNjg5NjU1LDAgTDguNTM0MDkzMzIsNy45NjU1MTcyNCBMMCwwIiBzdHJva2U9IiNGRkIwOTYiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/case_back.svg\n// module id = 46kr\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI1cHgiIGhlaWdodD0iMjVweCIgdmlld0JveD0iMCAwIDI1LjAgMjUuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTM3NSwwIEwzNzUsNzY4IEwwLDc2OCBMMCwwIEwzNzUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMCwwIEw5Ljk4NzE5NzQxLDUuNzUwMzIxNDYgTDAsMTEuNSBMMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTE1LjAgLTM4OC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjYuMCAzMDQuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY2LjU1OTMyMjAzMzg5OTY2IDY2LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMy4wIDE5LjApIj48cGF0aCBkPSJNMjMsMTEuNSBDMjMsMTcuODUxNDU2NCAxNy44NTE0NTY0LDIzIDExLjUsMjMgQzUuMTQ4NTQzNjQsMjMgMCwxNy44NTE0NTY0IDAsMTEuNSBDMCw1LjE0ODU0MzY0IDUuMTQ4NTQzNjQsMCAxMS41LDAgQzE3Ljg1MTQ1NjQsMCAyMyw1LjE0ODU0MzY0IDIzLDExLjUgWiIgc3Ryb2tlPSIjRDNEOURCIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMTgwMzIwOTAzNDQ5NjgzIDUuNzQ5ODA3MTIyNDkxMzQ3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgOS45ODcxOTc0MSwwIDkuOTg3MTk3NDEsMTEuNSAwLDExLjUgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNENEQ5REIiPjwvcG9seWdvbj48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tip_detail_disabled.svg\n// module id = 4Al9\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjAgLTM1Ni4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTguMCAzNTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI3LDAgMjcsMjcgMCwyNyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAgNi45OTk5OTk5OTk5OTk5OTkpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi45OTk5OTk5OTk5OTkzNCA0LjQ0MjYyNzEwMzMxMTAxNykgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik00LjQ0MjYyNzEsNC40NDI2MjcxIEw0LjQ0MjYyNzEsMi4zNTIwODk3NCBDNC40NDI2MjcxLDEuMDUzMjY1NzkgMy4zODkzNjEzMiwwIDIuMDkwNTM3MzYsMCBMMCwwIiBzdHJva2U9IiM3MEFFQkEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNDQyNjI3MTAzMzExMDE3IDEzLjAwMDE4ODE2NzE3OTMzMSkgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik0wLDAgTDAsMi4wOTA1MzczNiBDMCwzLjM4OTM2MTMyIDEuMDUzMjY1NzksNC40NDI2MjcxIDIuMzUyMDg5NzQsNC40NDI2MjcxIEw0LjQ0MjYyNzEsNC40NDI2MjcxIiBzdHJva2U9IiM3MEFFQkEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/exit_fullscreen_culture_w.svg\n// module id = 4Fd1\n// module chunks = 171","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mediateAudio.png\n// module id = 4PKS\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjVweCIgdmlld0JveD0iMCAwIDI0LjAgMjUuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjYyIEwwLDEyNjIgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMiwwIEMxOC42Mjc0MTcsMCAyNCw1LjM3MjU4MyAyNCwxMiBDMjQsMTguNjI3NDE3IDE4LjYyNzQxNywyNCAxMiwyNCBDNS4zNzI1ODMsMjQgMCwxOC42Mjc0MTcgMCwxMiBDMCw1LjM3MjU4MyA1LjM3MjU4MywwIDEyLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01MTYuMCAtNTc2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MTYuMCA1NzYuNSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI0LDAgMjQsMjQgMCwyNCAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzYzQUZENSI+PC9wb2x5Z29uPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI0LDAgMjQsMjQgMCwyNCAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0icmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIj48L3BvbHlnb24+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMzI2MTYxMjczMDY1NTYyIDguMTgwMzcxMzUyNzg1MTU1KSI+PHBhdGggZD0iTTEyLDAgTDQuOTY3MDk5NDIsNy4yIEwwLDIuNjA4OTk1MDgiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/studylog_done.svg\n// module id = 4Xgi\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3IDI3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgMTI8L3RpdGxlPg0KICAgIDxkZWZzPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE5LjczODU0MjUlIiB5MT0iMTEuMjA1NDQwOCUiIHgyPSI3Ny40NjYzNzUzJSIgeTI9IjkyLjY1OTUwMjglIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThCIiBvZmZzZXQ9IjAlIj48L3N0b3A+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NDZCIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4NCiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI0NS4zOTI3NjIzJSIgeTE9IjExLjIwNTQ0MDglIiB4Mj0iNTQuMTgxNjkyOSUiIHkyPSI5Mi42NTk1MDI4JSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QiIgb2Zmc2V0PSIwJSI+PC9zdG9wPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+DQogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgPC9kZWZzPg0KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLkuLvpobXnmb1taW5pVjLlv4Plvpflub/lnLoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00MTAuMDAwMDAwLCAtNTg2LjAwMDAwMCkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0xMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDEyLjAwMDAwMCwgNTg4LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS42MTEyMTU5LDIwLjExMTIxNTkgQzE2LjMwNTYzNjMsMjAuMTExMjE1OSAyMC4xMTEyMTU5LDE2LjMwNTYzNjMgMjAuMTExMjE1OSwxMS42MTEyMTU5IEMyMC4xMTEyMTU5LDYuOTE2Nzk1NTYgMTYuMzA1NjM2MywzLjExMTIxNTkzIDExLjYxMTIxNTksMy4xMTEyMTU5MyBDNi45MTY3OTU1NiwzLjExMTIxNTkzIDMuMTExMjE1OTMsNi45MTY3OTU1NiAzLjExMTIxNTkzLDExLjYxMTIxNTkgQzMuMTExMjE1OTMsMTIuODY0Mzc2MyAzLjM4MjQwMzc0LDE0LjA1NDE5NzQgMy44NjkyOTQ4NywxNS4xMjUxOTQ2IiBpZD0i5qSt5ZyG5b2iIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjYxMTIxNiwgMTEuNjExMjE2KSByb3RhdGUoMzAuMDAwMDAwKSB0cmFuc2xhdGUoLTExLjYxMTIxNiwgLTExLjYxMTIxNikgIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBmaWxsPSIjRkZCMDk2IiBjeD0iNC4xMTEyMTU5MyIgY3k9IjE1LjExMTIxNTkiIHI9IjEiPjwvY2lyY2xlPg0KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBpZD0i55u057q/IiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQtMikiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHBvaW50cz0iMTEuNjExMjE1OSA2LjYxMTIxNTkzIDExLjYxMTIxNTkgMTEuNjExMjE1OSAxNC45Mjc4MjUzIDE1LjExMTIxNTkiPjwvcG9seWxpbmU+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/newest_active.svg\n// module id = 4ciE\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNy42OSAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiM2NGFmZDU7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT7otYTmupAgMTwvdGl0bGU+PGcgaWQ9IuWbvuWxgl8yIiBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBpZD0i5Zu+5bGCXzEtMiIgZGF0YS1uYW1lPSLlm77lsYIgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjcuMjkuNGwtLjEtLjA5QTEuMzUsMS4zNSwwLDAsMCwyNS4zNy40TDI0LjE0LDEuNjJBNy40MSw3LjQxLDAsMCwwLDE2LDEuMTJhNy4zOCw3LjM4LDAsMCwwLTIuMzgsMi4xN2wtLjEtLjEyLS4yNC0uMzFMMTMsMi41NGwtLjI4LS4yOEwxMi4zNywybC0uMjktLjI0LS4zNS0uMjYtLjI0LS4xNi0uMjYtLjE2LDAsMC0uMS0uMDVMMTEsMSwxMC44OCwxLDEwLjUxLjc4LDEwLjI1LjY2QzEwLC41Niw5LjcuNDYsOS40MS4zOGwtLjE1LDBMOC42Mi4yMWgtLjFsLS4zMSwwSDhjLS4xNiwwLS4zMywwLS40OSwwQTcuNDgsNy40OCwwLDAsMCwwLDcuNTlhMTAuNDUsMTAuNDUsMCwwLDAsMi4xMyw1LjY0LDMzLjI0LDMzLjI0LDAsMCwwLDQuNTksNS4yNmMxLjI1LDEuMTgsMi41MSwyLjI1LDMuNTksMy4xM2wuMzMuMjZjMSwuODMsMS44OSwxLjQ1LDIuMzUsMS43OWwuMTMuMDkuMjYuMThoMGEuMzQuMzQsMCwwLDAsLjE3LjA1aDBsLjEyLDBoMHMwLDAsMCwwaDBhNjIuNiw2Mi42LDAsMCwwLDYuNjYtNS40NUEzMy4yNCwzMy4yNCwwLDAsMCwyNSwxMy4yM2ExMC40NSwxMC40NSwwLDAsMCwyLjEzLTUuNjQsNy40OSw3LjQ5LDAsMCwwLTEuMTUtNGwxLjMtMS4zQTEuMzcsMS4zNywwLDAsMCwyNy4yOS40Wk0xMC4xOSwxOC4yMmMtMi40Mi0zLjktMy45Mi03LjM3LTQuMzMtMTBTNiwzLjA4LDcuMjYsMS44NEEyLjQ4LDIuNDgsMCwwLDEsOSwxLjA5YTIuMTgsMi4xOCwwLDAsMSwuNDQsMCw0Ljc1LDQuNzUsMCwwLDEsLjc2LjI0bC4xLDAsLjQ0LjIyLjMuMThjLjEzLjA4LjI2LjE2LjM4LjI1bC4xNS4xMWE3Ljc4LDcuNzgsMCwwLDEsMS42MiwxLjc1LjQ3LjQ3LDAsMCwxLC4wNi4wOVYyMi42OEMxMi41NiwyMS43OCwxMS40MSwyMC4xOCwxMC4xOSwxOC4yMlpNNy40My44NmE0LjExLDQuMTEsMCwwLDAtLjYzLjQ5QTUuNjgsNS42OCwwLDAsMCw1LjMxLDQuMDksMTAuNjgsMTAuNjgsMCwwLDAsNS4yLDguM2MuNDMsMi44LDEuOTMsNi4yNyw0LjQ1LDEwLjMyLjQ2LjczLjkxLDEuNDIsMS4zMywyQzEwLjI0LDE5Ljg5LDkuNDIsMTksOC42LDE4QTM2Ljc4LDM2Ljc4LDAsMCwxLDQuOTMsMTMsMTMuNjksMTMuNjksMCwwLDEsMyw3LjcyLDcuODYsNy44NiwwLDAsMSwzLjI4LDQuNCw1LjYyLDUuNjIsMCwwLDEsNC43MSwyLjExLDQuNjIsNC42MiwwLDAsMSw3LjQzLjg2Wm0tNC43NSwxMmE5Ljg0LDkuODQsMCwwLDEtMi01LjI2LDYuNzksNi43OSwwLDAsMSwzLjYyLTZzMCwwLDAsMEE2LjIyLDYuMjIsMCwwLDAsMi42NCw0LjE5YTguNTEsOC41MSwwLDAsMC0uMzQsMy42Yy40NCw0LjE0LDQuMjEsOSw3LjIyLDEyLjNDOC43NywxOS40Niw4LDE4Ljc1LDcuMTgsMThBMzIuNCwzMi40LDAsMCwxLDIuNjgsMTIuODVaTTI2LjQ3LDcuNTlhOS44NCw5Ljg0LDAsMCwxLTIsNS4yNkEzMi40LDMyLjQsMCwwLDEsMjAsMThhNjAuNDgsNjAuNDgsMCwwLDEtNi4wNiw1VjRBNyw3LDAsMCwxLDE2LjI5LDEuN2E2LjgsNi44LDAsMCwxLDcuMzguNEwxNi40Miw5LjM1YS4yOS4yOSwwLDAsMCwwLC40MmwxLjUsMS41MWEuMzEuMzEsMCwwLDAsLjQyLDBMMjUuNSw0LjEyQTYuODIsNi44MiwwLDAsMSwyNi40Nyw3LjU5WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE2LjA2LDEwLjM4YS4zLjMsMCwwLDAtLjQ5LjEyTDE1LDEyLjM3YS4yOS4yOSwwLDAsMCwuMzcuMzdsMS44Ny0uNjJhLjMuMywwLDAsMCwuMTItLjQ5WiIvPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-logo-overseas.svg\n// module id = 4fgJ\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTVweCIgdmlld0JveD0iMCAwIDE3LjAgMTUuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjkxIEwwLDEyOTEgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjM0LjAgLTU4Ni4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTIuMCAxNDIuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3MS4wIDQzNS4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIuMCAxMC4wMDAwMDAwMDAwMDAxKSI+PHBhdGggZD0iTTE1LDQuMDQxNDAwMTggQzE1LDEuODA5NTgyMTcgMTMuMTkwOTkyMywwIDEwLjk1ODU5OTgsMCBDOS40OTE5NzY1NiwwIDguMjA4MDM0OTMsMC43ODE4NTQzOTEgNy40OTk3MTI3NiwxLjk1MDkwMTkyIEM2Ljc5MTk2NTA3LDAuNzgxODU0MzkxIDUuNTA3NDQ4OTcsMCA0LjA0MDgyNTcxLDAgQzEuODA5MDA3NywwIDAsMS44MDk1ODIxNyAwLDQuMDQxNDAwMTggQzAsNy45OTM3NTc0MiA3LjQ5OTcxMjc2LDEzLjE1MTM1MzggNy40OTk3MTI3NiwxMy4xNTEzNTM4IEM3LjQ5OTcxMjc2LDEzLjE1MTM1MzggMTUsNy45OTM3NTc0MiAxNSw0LjA0MTQwMDE4IFoiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/collect_video.svg\n// module id = 5OZP\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMi4wIC0zMTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMi4wIDMxNi4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMjcsMCAyNywyNyAwLDI3IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj48L3BvbHlnb24+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMCA3LjAwMDAwMDAwMDAwMDAwMSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjk5OTk5OTk5OTk5OTM0IDQuNDQyNjI3MTAzMzExMDE3KSByb3RhdGUoLTE4MC4wKSI+PHBhdGggZD0iTTQuNDQyNjI3MSw0LjQ0MjYyNzEgTDQuNDQyNjI3MSwyLjM1MjA4OTc0IEM0LjQ0MjYyNzEsMS4wNTMyNjU3OSAzLjM4OTM2MTMyLDAgMi4wOTA1MzczNiwwIEwwLDAiIHN0cm9rZT0iIzJCNTFBRiIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNC40NDI2MjcxMDMzMTEwMTcgMTMuMDAwMTg4MTY3MTc5MzMxKSByb3RhdGUoLTE4MC4wKSI+PHBhdGggZD0iTTAsMCBMMCwyLjA5MDUzNzM2IEMwLDMuMzg5MzYxMzIgMS4wNTMyNjU3OSw0LjQ0MjYyNzEgMi4zNTIwODk3NCw0LjQ0MjYyNzEgTDQuNDQyNjI3MSw0LjQ0MjYyNzEiIHN0cm9rZT0iIzJCNTFBRiIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/exit_fullscreen_personality_b.svg\n// module id = 5Vgj\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0LjAgMjQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTEuNSwwIEMxNy44NTEyNzQ2LDAgMjMsNS4xNDg3MjUzOCAyMywxMS41IEMyMywxNy44NTEyNzQ2IDE3Ljg1MTI3NDYsMjMgMTEuNSwyMyBDNS4xNDg3MjUzOCwyMyAwLDE3Ljg1MTI3NDYgMCwxMS41IEMwLDUuMTQ4NzI1MzggNS4xNDg3MjUzOCwwIDExLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpMyI+PHBhdGggZD0iTTEuMjc3Nzc3NzgsMCBDMS45ODM0NzQ5NiwwIDIuNTU1NTU1NTYsMC41NzIwODA1OTcgMi41NTU1NTU1NiwxLjI3Nzc3Nzc4IEMyLjU1NTU1NTU2LDEuOTgzNDc0OTYgMS45ODM0NzQ5NiwyLjU1NTU1NTU2IDEuMjc3Nzc3NzgsMi41NTU1NTU1NiBDMC41NzIwODA1OTcsMi41NTU1NTU1NiAwLDEuOTgzNDc0OTYgMCwxLjI3Nzc3Nzc4IEMwLDAuNTcyMDgwNTk3IDAuNTcyMDgwNTk3LDAgMS4yNzc3Nzc3OCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik05LjU4MzMzMzMzLDAgQzkuOTM2MTgxOTIsLTYuNzg5NTE5NTllLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNSI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5MiwtOC40MTk3MzM1MmUtMTYgMTAuMjIyMjIyMiwwLjI4NjA0MDI5OSAxMC4yMjIyMjIyLDAuNjM4ODg4ODg5IEMxMC4yMjIyMjIyLDAuOTkxNzM3NDc5IDkuOTM2MTgxOTIsMS4yNzc3Nzc3OCA5LjU4MzMzMzMzLDEuMjc3Nzc3NzggTDAuNjM4ODg4ODg5LDEuMjc3Nzc3NzggQzAuMjg2MDQwMjk5LDEuMjc3Nzc3NzggNC4zMjExNDg5N2UtMTcsMC45OTE3Mzc0NzkgMCwwLjYzODg4ODg4OSBDLTQuMzIxMTQ4OTdlLTE3LDAuMjg2MDQwMjk5IDAuMjg2MDQwMjk5LDYuNDgxNzIzNDVlLTE3IDAuNjM4ODg4ODg5LDAgTDkuNTgzMzMzMzMsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9Imk2Ij48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNyI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5Miw2LjAxMzE2NThlLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NzYuMCAtMzI0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NzYuMCAzMjQuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNSAwLjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMywwIDIzLDIzIDAsMjMgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSI+PC9wb2x5Z29uPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMTEuNSwyMyBDMTcuODUxMjc0NiwyMyAyMywxNy44NTEyNzQ2IDIzLDExLjUgQzIzLDUuMTQ4NzI1MzggMTcuODUxMjc0NiwwIDExLjUsMCBDNS4xNDg3MjUzOCwwIDAsNS4xNDg3MjUzOCAwLDExLjUgQzAsMTcuODUxMjc0NiA1LjE0ODcyNTM4LDIzIDExLjUsMjMgWiIgc3Ryb2tlPSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSI1Ij48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuODMzMzMzMzMzMzMzNTM1NSA1LjExMTExMTExMTExMTEzNikiPjxnIGNsaXAtcGF0aD0idXJsKCNpMikiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDIuNTU1NTU1NTYsMCAyLjU1NTU1NTU2LDIuNTU1NTU1NTYgMCwyLjU1NTU1NTU2IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNzBBRUJBIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTAuMjIyMjIyMjIyMjIyMjIxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kzKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMi41NTU1NTU1NiwwIDIuNTU1NTU1NTYsMi41NTU1NTU1NiAwLDIuNTU1NTU1NTYgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM3MEFFQkEiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMzA1NTU1NTU1NTU0OTUgNS43NTAwMDAwMDAwMDAwMjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMC4yMjIyMjIyLDAgMTAuMjIyMjIyMiwxLjI3Nzc3Nzc4IDAsMS4yNzc3Nzc3OCAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzcwQUVCQSI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxMC44NjExMTExMTExMTExMSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNzBBRUJBIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTUuMzMzMzMzMzMzMzMzMzEpIj48ZyBjbGlwLXBhdGg9InVybCgjaTYpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyLjU1NTU1NTU2LDAgMi41NTU1NTU1NiwyLjU1NTU1NTU2IDAsMi41NTU1NTU1NiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzcwQUVCQSI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxNS45NzIyMjIyMjIyMjIxOSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNykiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNzBBRUJBIj48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/progress.svg\n// module id = 5l7x\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjAgLTMxNi4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTguMCAzMTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI3LDAgMjcsMjcgMCwyNyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAgNi45OTk5OTk5OTk5OTk5OTkpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi45OTk5OTk5OTk5OTkzNCA0LjQ0MjYyNzEwMzMxMTAxNykgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik00LjQ0MjYyNzEsNC40NDI2MjcxIEw0LjQ0MjYyNzEsMi4zNTIwODk3NCBDNC40NDI2MjcxLDEuMDUzMjY1NzkgMy4zODkzNjEzMiwwIDIuMDkwNTM3MzYsMCBMMCwwIiBzdHJva2U9IiM3MEFFQkEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNDQyNjI3MTAzMzExMDE3IDEzLjAwMDE4ODE2NzE3OTMzMSkgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik0wLDAgTDAsMi4wOTA1MzczNiBDMCwzLjM4OTM2MTMyIDEuMDUzMjY1NzksNC40NDI2MjcxIDIuMzUyMDg5NzQsNC40NDI2MjcxIEw0LjQ0MjYyNzEsNC40NDI2MjcxIiBzdHJva2U9IiM3MEFFQkEiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/exit_fullscreen_culture_b.svg\n// module id = 5wj/\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAADTSURBVDiNrZPNDYJAEIW/RY4e7ENJKAFK2ArkQB9qBTbAxQqIHWAHJIa7JdAArAdcFhAWgr7TzmT25b35EQBx+gxoIXxQOTNIpJe1P+K0UEAJIMBVsNWxBTtQt0QeIgDXJEE170rHdogjEAE488Wj6NldS+IDpe7lWhLoWP6FBHCufyARzVQ/I+6iAjYLWUqopWuC3p5MfPjCK5Fe5kId6oyR5ATAaSA9h+rSzeitFTatQ6uJ3I/WzzS2DjE2yv6NLSRp5Ko78GDRKVgQp8V5SgXAG1rEPMnt3Z2iAAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/uselesschecked.png\n// module id = 6A77\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMzcHgiIGhlaWdodD0iMzNweCIgdmlld0JveD0iMCAwIDMzLjAgMzMuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQwJSIgeT0iLTQwJSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB3aWR0aD0iMTYyLjIyMjIyMiUiIGhlaWdodD0iMTYyLjIyMjIyMiUiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJpMiI+PC9mZUdhdXNzaWFuQmx1cj48ZmVPZmZzZXQgZHg9IjIiIGR5PSIyIiBpbj0iaTIiIHJlc3VsdD0iaTMiPjwvZmVPZmZzZXQ+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjA1IDAiIHR5cGU9Im1hdHJpeCIgaW49ImkzIj48L2ZlQ29sb3JNYXRyaXg+PC9maWx0ZXI+PGNsaXBQYXRoIGlkPSJpNCI+PHBhdGggZD0iTTE2LjUsMCBDMjUuNjEyNjk4NCwwIDMzLDcuMzg3MzAxNjMgMzMsMTYuNSBDMzMsMjUuNjEyNjk4NCAyNS42MTI2OTg0LDMzIDE2LjUsMzMgQzcuMzg3MzAxNjMsMzMgMCwyNS42MTI2OTg0IDAsMTYuNSBDMCw3LjM4NzMwMTYzIDcuMzg3MzAxNjMsMCAxNi41LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDMuMCAtMjYxLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzYuMCAyNjEuMCkgc2NhbGUoLTEuMCAxLjApIj48ZyBvcGFjaXR5PSIxJSI+PHBhdGggZD0iTTE2LjUsMzMgQzI1LjYxMjY5ODQsMzMgMzMsMjUuNjEyNjk4NCAzMywxNi41IEMzMyw3LjM4NzMwMTYzIDI1LjYxMjY5ODQsMCAxNi41LDAgQzcuMzg3MzAxNjMsMCAwLDcuMzg3MzAxNjMgMCwxNi41IEMwLDI1LjYxMjY5ODQgNy4zODczMDE2MywzMyAxNi41LDMzIFoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCIgZmlsdGVyPSJ1cmwoI2kxKSI+PC9wYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNpNCkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDMzLDAgMzMsMzMgMCwzMyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAuMzUxNDU4ODg1OTQxNzI4IDI1LjAzNDQ4Mjc1ODYyMDY4KSByb3RhdGUoOTAuMCkgc2NhbGUoLTEuMCAxLjApIj48cGF0aCBkPSJNMTcuMDY4OTY1NSwwIEw4LjUzNDA5MzMyLDcuOTY1NTE3MjQgTDAsMCIgc3Ryb2tlPSIjRkZCMDk1IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/go_button_behavior.svg\n// module id = 6DYi\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/yuanriji_app_global.07b1532.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/yuanriji_app_global.png\n// module id = 6EBc\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAKBJREFUSEtjZKAxYCTF/ML1e2aC1PcHuqQTq49EC3bvh1jg6jhqAdYQKFw/GkQEksYIDqLCDXv7GP7/yyOUef4zMDCB1DAyMPwjpJaBkWlSf4BzETgnF2/a6/n//39LQpr+/2OIBVvAxLCYkFpGRsbjvX7O20eLCkIhBYov4sEIzgfEBtJoEBEMqeKNe+1Ainr9nQ8RVAxVQFIyJdZQZHUAW71kGWtn7QoAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_add.png\n// module id = 6teM\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"box-container\" :style=\"{ width, height, padding, ...otherStyle }\">\r\n    <div class=\"header\">\r\n      <slot name=\"header\">\r\n        {{ title }}\r\n      </slot>\r\n    </div>\r\n    <slot></slot>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    title: {\r\n      type: String,\r\n      default: \"标题\"\r\n    },\r\n    width: {\r\n      type: String,\r\n      default: \"100%\"\r\n    },\r\n    height: {\r\n      type: String,\r\n      default: \"100%\"\r\n    },\r\n    padding: {\r\n      type: String,\r\n      default: \"16px 21px\"\r\n    },\r\n    otherStyle: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {};\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {},\r\n  created() {},\r\n  mounted() {}\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.box-container {\r\n  border-radius: 8px;\r\n  box-shadow: 2px 2px 5px #e8e9ed;\r\n  padding: 16px 21px;\r\n  background-color: #fff;\r\n  .header {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    &>div {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #292929;\r\n      line-height: 24px;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Box.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"box-container\",style:(Object.assign({}, {width: _vm.width, height: _vm.height, padding: _vm.padding}, _vm.otherStyle))},[_c('div',{staticClass:\"header\"},[_vm._t(\"header\",function(){return [_vm._v(\"\\n      \"+_vm._s(_vm.title)+\"\\n    \")]})],2),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-15850b5f\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Box.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-15850b5f\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Box.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Box.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Box.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-15850b5f\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Box.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-15850b5f\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Box.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjQxcHgiIGhlaWdodD0iNDFweCIgdmlld0JveD0iMCAwIDQxLjAgNDEuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQ3LjM2ODQyMTElIiB5PSItNDcuMzY4NDIxMSUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE3My42ODQyMTElIiBoZWlnaHQ9IjE3My42ODQyMTElIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0xMywwIEMyMC4xNzk3MDE3LDAgMjYsNS44MjAyOTgyNSAyNiwxMyBDMjYsMjAuMTc5NzAxNyAyMC4xNzk3MDE3LDI2IDEzLDI2IEM1LjgyMDI5ODI1LDI2IDAsMjAuMTc5NzAxNyAwLDEzIEMwLDUuODIwMjk4MjUgNS44MjAyOTgyNSwwIDEzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03NTQuMCAtMTQ2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3NTQuMCAxNDYuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMCA3LjApIj48cGF0aCBkPSJNMTMsMjYgQzIwLjE3OTcwMTcsMjYgMjYsMjAuMTc5NzAxNyAyNiwxMyBDMjYsNS44MjAyOTgyNSAyMC4xNzk3MDE3LDAgMTMsMCBDNS44MjAyOTgyNSwwIDAsNS44MjAyOTgyNSAwLDEzIEMwLDIwLjE3OTcwMTcgNS44MjAyOTgyNSwyNiAxMywyNiBaIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiIGZpbHRlcj0idXJsKCNpMSkiPjwvcGF0aD48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyNiwwIDI2LDI2IDAsMjYgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM3M0I3RDkiPjwvcG9seWdvbj48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuNzU4NjIwNjg5NjU1MjYgMTkuNzI0MTM3OTMxMDM0NDkpIHJvdGF0ZSgtOTAuMCkiPjxwYXRoIGQ9Ik0xMy40NDgyNzU5LDAgTDYuNzIzODMxMSw2LjI3NTg2MjA3IEwwLDAiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/think_arrow_finish.svg\n// module id = 8L2K\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/ocean.0bfb246.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/ocean.png\n// module id = 8QfN\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAADKSURBVDiNrZLLDYJAFEXPEAuYEtwbEuyAFqYCNzRgBUoFNsDCDiZWIB1ogvRBA4ILGX0iDCRwd+935n0GJiixRZzYIh6KB+OA8giBheA6BBqFAAdAt+m9EOXv4nEGtXN2Zja9+eqdLNtUETR3CE5AJPw5PFNZnJkwB1CJLW/AWsQ0UH1H+KiSRgOVgiozm+1KFEp17T+fah9LbBFPWaxPOjNhPhcCTDuxT+kCkDqfDXEnXmQn7sTyD+iOPaDmIiD1/jfofqxfbhSAF4OGM4AFU1FeAAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/usefulchecked.png\n// module id = 8bu7\n// module chunks = 171","<template>\r\n  <el-container class=\"index-con\">\r\n    <el-main clss=\"index-main\">\r\n      <router-view></router-view>\r\n    </el-main>\r\n  </el-container>\r\n</template>\r\n<script>\r\nexport default {\r\n  name: \"index\",\r\n  data() {\r\n    return {\r\n      showclass: \"asideshow\",\r\n      showtype: false,\r\n    };\r\n  },\r\n  // 注册组件\r\n  components: {},\r\n  methods: {},\r\n  created() {\r\n    // 监听\r\n    this.$root.Bus.$on(\"toggle\", (value) => {\r\n      if (value) {\r\n        this.showclass = \"asideshow\";\r\n      } else {\r\n        setTimeout(() => {\r\n          this.showclass = \"aside\";\r\n        }, 300);\r\n      }\r\n    });\r\n  },\r\n  beforeUpdate() {},\r\n  // 挂载前状态(里面是操作)\r\n  beforeMount() {\r\n    // 弹出登录成功\r\n    // this.$message({\r\n    //   message: '登录成功',\r\n    //   type: 'success'\r\n    // })\r\n  },\r\n};\r\n</script>\r\n<style >\r\n.index-con {\r\n  height: 100%;\r\n  width: 100%;\r\n  min-width: 1024px;\r\n  box-sizing: border-box;\r\n}\r\n.index-header,\r\n.index-main {\r\n  padding: 0px;\r\n  border-left: 2px solid #333;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"index-con\"},[_c('el-main',{attrs:{\"clss\":\"index-main\"}},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7ae66224\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7ae66224\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7ae66224\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/index.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"weixin\">\r\n      <el-dialog\r\n          class=\"con_dialog remind_dialog\"\r\n          title=\"\"\r\n          :visible=\"dialogVisible\"\r\n          :modal=\"true\"\r\n          :append-to-body=\"true\"\r\n          :show-close=\"false\"\r\n          center\r\n          top=\"0vh\"\r\n      >\r\n          <div class=\"tips\">\r\n            <div class=\"tip\">本站不支持微信直接打开！！</div>\r\n            <div class=\"tip\">请复制地址：</div>\r\n            <div class=\"tip link\">{{ copyText }}</div>\r\n            <div class=\"tip\">粘贴至Chrome、Safari或Edge等浏览器打开使用。</div>\r\n            <div class=\"btn\" @click=\"copy\">复制地址</div>\r\n          </div>\r\n      </el-dialog>\r\n  </div>\r\n\r\n</template>\r\n\r\n<script>\r\nexport default {\r\ndata() {\r\n  return {\r\n    dialogVisible: true,\r\n    copyText: window.location.origin\r\n  };\r\n},\r\ncomputed: {},\r\nmethods: {\r\n  copy() {\r\n      const tempInput = document.createElement('input');\r\n\r\n      // 将文本添加到临时输入框\r\n      tempInput.value = this.copyText;\r\n      document.body.appendChild(tempInput);\r\n      tempInput.select();\r\n      tempInput.setSelectionRange(0, 99999); // 对于手机设备\r\n\r\n      // 复制文本\r\n      document.execCommand('copy');\r\n      document.body.removeChild(tempInput);\r\n      alert(\"复制成功\");\r\n  }\r\n},\r\nmounted() {\r\n  // this.copyText = window.location.origin\r\n  // let timeout = setInterval(() => {\r\n  //   const app_type = localStorage.getItem(\"app_type\");\r\n  //   if(app_type == 1 || app_type == 2) {\r\n  //     clearInterval(timeout);\r\n  //     this.copyText = app_type == 2 ? 'https://globalweb.metanoteapp.com' : 'https://web.metanoteapp.com/'\r\n  //   }\r\n  // });\r\n},\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.weixin {\r\n  width: 100%;\r\n  height: 100%;\r\n  background-image: url(\"~@/assets/img/loginBg01.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n}\r\n.tips {\r\ndisplay: flex;\r\nflex-direction: column;\r\n//   justify-content: space-between;\r\nheight: 100%;\r\nposition: relative;\r\n.tip {\r\n  font-weight: 500;\r\n  font-size: 12px;\r\n  color: #4E545C;\r\n  line-height: 20px;\r\n  text-align: left;\r\n  font-style: normal;\r\n}\r\n.link {\r\n  color: #64AFD5;\r\n  margin-bottom: 20px;\r\n}\r\n.tips-bold {\r\n  font-family: SourceHanSansCN-Medium;\r\n}\r\n.download {\r\n  cursor: pointer;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  font-size: 12px;\r\n  color: #64afd5;\r\n  line-height: 18px;\r\n  text-align: center;\r\n  font-style: normal;\r\n  text-decoration-line: underline;\r\n}\r\n.btn {\r\n  cursor: pointer;\r\n  width: 121px;\r\n  height: 33px;\r\n  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n  border-radius: 21px;\r\n  border: 1px solid #64afd5;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 16px;\r\n  color: #64afd5;\r\n  line-height: 24px;\r\n  font-style: normal;\r\n  align-self: center;\r\n  margin-top: 22px;\r\n}\r\n}\r\n.remind_dialog {\r\n/deep/ .el-dialog {\r\n  width: 295px !important;\r\n  height: 230px !important;\r\n}\r\n/deep/ .el-dialog__header {\r\n  display: none;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding: 25px 22px 30px !important;\r\n  height: 100%;\r\n  position: relative;\r\n}\r\n}\r\n\r\n.dialog-close {\r\nposition: absolute;\r\nbottom: -67px;\r\nwidth: 48px;\r\nheight: 48px;\r\ncursor: pointer;\r\nleft: 50%;\r\ntransform: translateX(-50%);\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/WeixinRemind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"weixin\"},[_c('el-dialog',{staticClass:\"con_dialog remind_dialog\",attrs:{\"title\":\"\",\"visible\":_vm.dialogVisible,\"modal\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"}},[_c('div',{staticClass:\"tips\"},[_c('div',{staticClass:\"tip\"},[_vm._v(\"本站不支持微信直接打开！！\")]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_vm._v(\"请复制地址：\")]),_vm._v(\" \"),_c('div',{staticClass:\"tip link\"},[_vm._v(_vm._s(_vm.copyText))]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_vm._v(\"粘贴至Chrome、Safari或Edge等浏览器打开使用。\")]),_vm._v(\" \"),_c('div',{staticClass:\"btn\",on:{\"click\":_vm.copy}},[_vm._v(\"复制地址\")])])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-639cd3fa\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/WeixinRemind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-639cd3fa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./WeixinRemind.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./WeixinRemind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./WeixinRemind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-639cd3fa\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./WeixinRemind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-639cd3fa\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/WeixinRemind.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"audio_wrapper\">\r\n    <img\r\n      v-if=\"!playing\"\r\n      class=\"play\"\r\n      src=\"@/assets/img/tip_detail_play.svg\"\r\n      @click=\"play()\"\r\n    />\r\n    <img\r\n      v-else\r\n      class=\"play\"\r\n      src=\"@/assets/img/tip_detail_pause.svg\"\r\n      @click=\"pause()\"\r\n    />\r\n\r\n    <div class=\"audio\">\r\n      <div\r\n        class=\"box\"\r\n        id=\"div_box\"\r\n        :style=\"{ backgroundColor: progressColor }\"\r\n        @click=\"changeCurrentTime\"\r\n      >\r\n        <div\r\n          ref=\"load\"\r\n          class=\"load\"\r\n          id=\"load\"\r\n          :style=\"{\r\n            backgroundImage:\r\n              bgColor.split(',').length > 1\r\n                ? 'linear-gradient(90deg, ' +\r\n                  bgColor.split(',')[0] +\r\n                  ' 0%, ' +\r\n                  bgColor.split(',')[1] +\r\n                  ' 100%)'\r\n                : 'linear-gradient(90deg, ' +\r\n                  bgColor +\r\n                  ' 0%, ' +\r\n                  bgColor +\r\n                  ' 100%)',\r\n            width: loadWidth + '%',\r\n          }\"\r\n        ></div>\r\n        <div\r\n          ref=\"circle\"\r\n          class=\"circle\"\r\n          id=\"circle\"\r\n          :style=\"{\r\n            backgroundImage:\r\n              bgColor.split(',').length > 1\r\n                ? 'linear-gradient(90deg, ' +\r\n                  bgColor.split(',')[0] +\r\n                  ' 0%, ' +\r\n                  bgColor.split(',')[1] +\r\n                  ' 100%)'\r\n                : 'linear-gradient(90deg, ' +\r\n                  bgColor +\r\n                  ' 0%, ' +\r\n                  bgColor +\r\n                  ' 100%)',\r\n            left: circleLeft + '%',\r\n          }\"\r\n        ></div>\r\n      </div>\r\n      <div class=\"time-wrapper\">\r\n        <div class=\"time\">{{ currentTimeFormat }}</div>\r\n        <div class=\"totalTime\">{{ totalTimeFormat }}</div>\r\n      </div>\r\n    </div>\r\n    <!-- <audio\r\n      :src=\"\r\n        require('@/assets/宋雨琦 _ Minnie (米妮) _ 美延 (미연) - 비가 오는 날엔 (下雨的日子) (Live).mp3')\r\n      \"\r\n      type=\"audio/mp3\"\r\n    ></audio> -->\r\n    <!-- <audio :src=\"url\" type=\"audio/mp3\"></audio> -->\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { secTotime } from \"@/utils/util.js\";\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    bgColor: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    progressColor: {\r\n      type: String,\r\n      default: \"#eaedef\",\r\n    },\r\n    title: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    url: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    currentTimeProp: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    needPlay: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      timer: null,\r\n      totalTime: 0,\r\n      currentTime: 0,\r\n      audio: null,\r\n      playing: false,\r\n      loadWidth: 0,\r\n      circleLeft: 0,\r\n      totalTimeFormat: \"00:00\",\r\n      currentTimeFormat: \"00:00\",\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {\r\n    url: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"audio url changed\");\r\n        if (this.audio) {\r\n          this.pause(true);\r\n        }\r\n\r\n        this.audio = null;\r\n        if (v) {\r\n          const audio = new Audio();\r\n          this.audio = audio;\r\n          audio.src = v;\r\n\r\n          // audio.ondurationchange = () => {\r\n          //   console.log(\"ondurationchange\");\r\n          //   resolve(audio.duration);\r\n          // };\r\n          // this.audio = document.querySelector(\"audio\");\r\n          audio.oncanplay = () => {\r\n            console.log(\"oncanplay\");\r\n          };\r\n          audio.ondurationchange = () => {\r\n            this.durationchange();\r\n          };\r\n          audio.onended = () => {\r\n            console.log(\"ended\");\r\n            this.ended();\r\n          };\r\n        } else {\r\n          this.totalTime = 0; //获取总播放时间\r\n          this.totalTimeFormat = secTotime(0);\r\n          const currentTimeProp = parseFloat(0);\r\n          console.log(\"this.currentTimeProp:\", currentTimeProp);\r\n          const left = 0; // 占比\r\n          // this.audio.currentTime = 0;\r\n          this.currentTime = 0; //获取播放进度\r\n          this.currentTimeFormat = secTotime(0);\r\n          this.loadWidth = left;\r\n          this.circleLeft = left;\r\n        }\r\n        console.log(\"this.audio:\", this.audio);\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    changeCurrentTime(e) {\r\n      e.stopPropagation();\r\n      if (!this.audio) {\r\n        return;\r\n      }\r\n      let offsetX = e.offsetX;\r\n      let width = e.target.offsetWidth;\r\n      const _prevClass = e.target._prevClass;\r\n      if (_prevClass === \"box\") {\r\n        offsetX = e.offsetX;\r\n        width = e.target.offsetWidth;\r\n      } else {\r\n        offsetX = e.offsetX;\r\n        width = e.target.parentElement.offsetWidth;\r\n      }\r\n      console.log(\"changeCurrentTime:\", e);\r\n\r\n      console.log(width, offsetX);\r\n      const left = parseFloat(offsetX / width).toFixed(2) * 100; // 占比\r\n      const currentTime = Math.floor((this.totalTime * left) / 100);\r\n      console.log(left, currentTime);\r\n      this.audio.currentTime = currentTime;\r\n      this.currentTime = currentTime; //获取播放进度\r\n      this.currentTimeFormat = secTotime(currentTime);\r\n      this.loadWidth = left;\r\n      this.circleLeft = left;\r\n      // 重新播放\r\n      clearInterval(this.timer);\r\n      // this.updata();\r\n      this.$emit(\"changeCurrentTime\", currentTime);\r\n    },\r\n    updata() {\r\n      console.log(\"播放\");\r\n      this.playing = true;\r\n      this.timer = null;\r\n      this.audio.play();\r\n      // 播放时长\r\n      this.timer = setInterval(() => {\r\n        try {\r\n          this.currentTime = this.audio.currentTime; //获取播放进度\r\n          this.$emit(\"setCurrentTime\", this.currentTime); //\r\n          this.currentTimeFormat = secTotime(this.currentTime);\r\n          this.loadWidth =\r\n            parseFloat(this.currentTime / this.totalTime).toFixed(2) * 100;\r\n          this.circleLeft =\r\n            parseFloat(this.currentTime / this.totalTime).toFixed(2) * 100;\r\n        } catch (error) {\r\n          this.timer = null;\r\n        }\r\n      }, 100);\r\n    },\r\n    pause(notneedEmit) {\r\n      if (!this.audio) {\r\n        return;\r\n      }\r\n      this.playing = false;\r\n      this.audio.pause();\r\n      clearInterval(this.timer);\r\n      if (!notneedEmit) {\r\n        this.$emit(\"pause\", this.audio.currentTime);\r\n      }\r\n      // this.$emit(\"changeCurrentTime\", this.audio.currentTime);\r\n    },\r\n    play(notneedEmit) {\r\n      if (!this.audio) {\r\n        return;\r\n      }\r\n      console.log(\"播放录音\", notneedEmit);\r\n      if (!notneedEmit) {\r\n        this.$emit(\"play\");\r\n      }\r\n      // this.$emit(\"play\");\r\n      this.updata();\r\n    },\r\n    durationchange() {\r\n      this.audio.pause();\r\n      this.totalTime = this.audio.duration; //获取总播放时间\r\n      this.totalTimeFormat = secTotime(this.totalTime);\r\n      const currentTimeProp = parseFloat(this.currentTimeProp);\r\n      console.log(\"this.currentTimeProp:\", currentTimeProp);\r\n      const left =\r\n        parseFloat(currentTimeProp / this.totalTime).toFixed(2) * 100; // 占比\r\n      this.audio.currentTime = currentTimeProp;\r\n      this.currentTime = currentTimeProp; //获取播放进度\r\n      this.currentTimeFormat = secTotime(currentTimeProp);\r\n      this.loadWidth = left;\r\n      this.circleLeft = left;\r\n      // 重新播放\r\n      // clearInterval(this.timer);\r\n      if (this.needPlay) {\r\n        this.updata();\r\n      }\r\n    },\r\n    ended() {\r\n      this.pause();\r\n      // this.playing = false;\r\n      // clearInterval(this.timer);\r\n      // this.$emit(\"changeCurrentTime\", this.audio.currentTime);\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    console.log(\"this.url:\", this.url);\r\n    if (this.url) {\r\n      const audio = new Audio();\r\n      this.audio = audio;\r\n      this.audio.src = this.url;\r\n      // this.audio = document.querySelector(\"audio\");\r\n      this.audio.oncanplay = () => {\r\n        console.log(\"oncanplay\");\r\n      };\r\n      this.audio.ondurationchange = () => {\r\n        this.durationchange();\r\n      };\r\n      this.audio.onended = () => {\r\n        console.log(\"ended\");\r\n        this.ended();\r\n      };\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.audio_wrapper {\r\n  position: relative;\r\n  width: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  img  {\r\n    width: 22px;\r\n    height: 26px;\r\n  }\r\n}\r\n.time-wrapper {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  padding-top: 11px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7E878C;\r\n  line-height: 18px;\r\n  text-align: right;\r\n  font-style: normal;\r\n}\r\n.audio {\r\n  width: 234px;\r\n  // min-width: 260px;\r\n  position: relative;\r\n  margin-top: 19px;\r\n}\r\n.load {\r\n  height: 2px;\r\n  width: 0;\r\n}\r\n.box {\r\n  width: 100%;\r\n  height: 2px;\r\n  background-color: #eaedef;\r\n  position: relative;\r\n  cursor: pointer;\r\n}\r\n.circle {\r\n  position: absolute;\r\n  height: 9px;\r\n  width: 9px;\r\n  margin-top: -6px;\r\n  margin-left: -5px;\r\n  border-radius: 100%;\r\n  cursor: pointer;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/TipAudioCom.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"audio_wrapper\"},[(!_vm.playing)?_c('img',{staticClass:\"play\",attrs:{\"src\":require(\"@/assets/img/tip_detail_play.svg\")},on:{\"click\":function($event){return _vm.play()}}}):_c('img',{staticClass:\"play\",attrs:{\"src\":require(\"@/assets/img/tip_detail_pause.svg\")},on:{\"click\":function($event){return _vm.pause()}}}),_vm._v(\" \"),_c('div',{staticClass:\"audio\"},[_c('div',{staticClass:\"box\",style:({ backgroundColor: _vm.progressColor }),attrs:{\"id\":\"div_box\"},on:{\"click\":_vm.changeCurrentTime}},[_c('div',{ref:\"load\",staticClass:\"load\",style:({\n          backgroundImage:\n            _vm.bgColor.split(',').length > 1\n              ? 'linear-gradient(90deg, ' +\n                _vm.bgColor.split(',')[0] +\n                ' 0%, ' +\n                _vm.bgColor.split(',')[1] +\n                ' 100%)'\n              : 'linear-gradient(90deg, ' +\n                _vm.bgColor +\n                ' 0%, ' +\n                _vm.bgColor +\n                ' 100%)',\n          width: _vm.loadWidth + '%',\n        }),attrs:{\"id\":\"load\"}}),_vm._v(\" \"),_c('div',{ref:\"circle\",staticClass:\"circle\",style:({\n          backgroundImage:\n            _vm.bgColor.split(',').length > 1\n              ? 'linear-gradient(90deg, ' +\n                _vm.bgColor.split(',')[0] +\n                ' 0%, ' +\n                _vm.bgColor.split(',')[1] +\n                ' 100%)'\n              : 'linear-gradient(90deg, ' +\n                _vm.bgColor +\n                ' 0%, ' +\n                _vm.bgColor +\n                ' 100%)',\n          left: _vm.circleLeft + '%',\n        }),attrs:{\"id\":\"circle\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"time-wrapper\"},[_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.currentTimeFormat))]),_vm._v(\" \"),_c('div',{staticClass:\"totalTime\"},[_vm._v(_vm._s(_vm.totalTimeFormat))])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-499cc732\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/TipAudioCom.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-499cc732\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TipAudioCom.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipAudioCom.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipAudioCom.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-499cc732\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./TipAudioCom.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-499cc732\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/TipAudioCom.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzcHgiIGhlaWdodD0iMjJweCIgdmlld0JveD0iMCAwIDIzLjAgMjIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTAuNzQ2Mzg5LDAgQzE2LjY4MTQ1NTcsMCAyMS40OTI3NzgsNC44MTI5Mzg5NCAyMS40OTI3NzgsMTAuNzUgQzIxLjQ5Mjc3OCwxNi42ODcwNjExIDE2LjY4MTQ1NTcsMjEuNSAxMC43NDYzODksMjEuNSBDNC44MTEzMjIyMywyMS41IDAsMTYuNjg3MDYxMSAwLDEwLjc1IEMwLDQuODEyOTM4OTQgNC44MTEzMjIyMywwIDEwLjc0NjM4OSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzM3LjAgLTQzNi4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzM3LjkyMjMwMjI0NjA5MjUgNDM2LjAzNzczNTg0OTA1NjgpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMS40OTI3NzgsMCAyMS40OTI3NzgsMjEuNSAwLDIxLjUgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNFOUVERUUiPjwvcG9seWdvbj48cG9seWdvbiBwb2ludHM9IjAsMCAyMS40OTI3NzgsMCAyMS40OTI3NzgsMjEuNSAwLDIxLjUgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjY2NTI4MjQ4MzcwNjAwNDUgNy4zMjgyNDkzMzY4NzAwMzQ1KSI+PHBhdGggZD0iTTEwLjc0NjM4OSwwIEw0LjQ0ODE5ODU0LDYuNDUgTDAsMi4zMzcyMjQ3NiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/think_unfinish.svg\n// module id = 9HxP\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMxcHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDMxLjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgyOC4wIC0xODYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgyOS4wIDE4Ny4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMCAwLjApIj48cGF0aCBkPSJNMiwwIEw3LDAgQzguMTA0NTY5NSwtMi4wMjkwNjEyNWUtMTYgOSwwLjg5NTQzMDUgOSwyIEw5LDEyIEM5LDEzLjEwNDU2OTUgOC4xMDQ1Njk1LDE0IDcsMTQgTDIsMTQgQzAuODk1NDMwNSwxNCAxLjM1MjcwNzVlLTE2LDEzLjEwNDU2OTUgMCwxMiBMMCwyIEMtMS4zNTI3MDc1ZS0xNiwwLjg5NTQzMDUgMC44OTU0MzA1LDIuMDI5MDYxMjVlLTE2IDIsMCBaIiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIG9wYWNpdHk9IjQ5LjE3MjI0NyUiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDIuMCkiPjxwYXRoIGQ9Ik0yLDAgTDUsMCBDNi4xMDQ1Njk1LC02LjQ2OTk1MzM1ZS0xNiA3LDAuODk1NDMwNSA3LDIgTDcsOC44ODg4ODg4OSBDNyw5Ljk5MzQ1ODM5IDYuMTA0NTY5NSwxMC44ODg4ODg5IDUsMTAuODg4ODg4OSBMMiwxMC44ODg4ODg5IEMwLjg5NTQzMDUsMTAuODg4ODg4OSAxLjM1MjcwNzVlLTE2LDkuOTkzNDU4MzkgMCw4Ljg4ODg4ODg5IEwwLDIgQy0xLjM1MjcwNzVlLTE2LDAuODk1NDMwNSAwLjg5NTQzMDUsLTIuNDExODMwODVlLTE2IDIsMCBaIiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIG9wYWNpdHk9IjQ5LjE3MjI0NyUiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjIuMCAyLjApIj48cGF0aCBkPSJNMiwwIEw1LDAgQzYuMTA0NTY5NSwtNi40Njk5NTMzNWUtMTYgNywwLjg5NTQzMDUgNywyIEw3LDguODg4ODg4ODkgQzcsOS45OTM0NTgzOSA2LjEwNDU2OTUsMTAuODg4ODg4OSA1LDEwLjg4ODg4ODkgTDIsMTAuODg4ODg4OSBDMC44OTU0MzA1LDEwLjg4ODg4ODkgMS4zNTI3MDc1ZS0xNiw5Ljk5MzQ1ODM5IDAsOC44ODg4ODg4OSBMMCwyIEMtMS4zNTI3MDc1ZS0xNiwwLjg5NTQzMDUgMC44OTU0MzA1LC0yLjQxMTgzMDg1ZS0xNiAyLDAgWiIgc3Ryb2tlPSIjN0U4NzhDIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBvcGFjaXR5PSI0OS4xNzIyNDclIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/course_swiper.svg\n// module id = 9yHf\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjM5cHgiIGhlaWdodD0iMzlweCIgdmlld0JveD0iMCAwIDM5IDM5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgNjwvdGl0bGU+DQogICAgPGRlZnM+DQogICAgICAgIDxjaXJjbGUgaWQ9InBhdGgtMSIgY3g9IjEzIiBjeT0iMTMiIHI9IjEzIj48L2NpcmNsZT4NCiAgICAgICAgPGZpbHRlciB4PSItMzAuOCUiIHk9Ii0zMC44JSIgd2lkdGg9IjE3Ni45JSIgaGVpZ2h0PSIxNzYuOSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4NCiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMiIgZHk9IjIiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+DQogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG16buRbWluaVYy5oCn5qC8IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjM0LjAwMDAwMCwgLTM2NC4wMDAwMDApIj4NCiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjM0LjAwMDAwMCwgMzY0LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4wMDAwMDAsIDUuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxnIGlkPSLmpK3lnIblvaIiIG9wYWNpdHk9IjAuMDEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4NCiAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlN0cm9rZS0xIiBzdHJva2U9IiMyQzUxQUYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi44OTY1NTIsIDEzLjAwMDAwMCkgc2NhbGUoLTEsIDEpIHJvdGF0ZSgtOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTEyLjg5NjU1MiwgLTEzLjAwMDAwMCkgIiBwb2ludHM9IjE5LjYyMDY4OTcgOS44NjIwNjg5NyAxMi44OTYyNDQ5IDE2LjEzNzkzMSA2LjE3MjQxMzc5IDkuODYyMDY4OTciPjwvcG9seWxpbmU+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiI+PC9yZWN0Pg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/personality_arrow_black.svg\n// module id = A/wn\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\">\r\n    <div class=\"box\" id=\"study-log-box\">\r\n      <div class=\"title 2222222222\" @click=\"back\">\r\n        <img class=\"think_back\"\r\n            src=\"@/assets/img/think_back.svg\" />\r\n          {{ app_type == 2 ? \"修学日志\" : \"学习日志\" }}\r\n      </div>\r\n      <div class=\"content-box1\">\r\n        <div class=\"swiper\">\r\n          <swiper ref=\"mySwiperTab\"\r\n            :options=\"swiperOptions1\">\r\n            <swiper-slide v-for=\"(item, i) in slidesTopClass\"\r\n              :key=\"i\"\r\n              :id=\"`slide1${i}`\">\r\n              {{ item.course_class_name }}\r\n            </swiper-slide>\r\n          </swiper>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"content-box\">\r\n        <div class=\"swiper swiper1\" id=\"swiper1\">\r\n          <swiper ref=\"mySwiper\"\r\n            :options=\"swiperOptions\">\r\n            <swiper-slide v-for=\"(item, i) in slides\"\r\n              :key=\"i\"\r\n              :id=\"`slide${i}`\">\r\n              <div class=\"card\"></div>\r\n              <div class=\"card1\"></div>\r\n              <div class=\"evp before\"\r\n                :id=\"`elBefore${i}`\"\r\n                :class=\"item.status == 1 ? 'sel' : ''\">\r\n                <div>\r\n                  <div class=\"top classCompleteRatio\">\r\n                    <span class=\"pcont\">{{ item.course_class_name }}</span>\r\n                    <div class=\"logRatio\">\r\n                      <span>日志&nbsp;&nbsp;</span>\r\n                      <span class=\"complete\">{{ item.complete_course }}</span>\r\n                      <span>{{ \"/\" + item.course_count }}</span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </swiper-slide>\r\n            <div class=\"swiper-pagination\"\r\n              slot=\"pagination\"></div>\r\n          </swiper>\r\n          <div class=\"right-btn-bg left-btn-bg\">\r\n            <div class=\"btns\">\r\n              <div class=\"swiper-button-prev\"\r\n                :class=\"!prevFlag ? 'opac' : ''\"\r\n                @click=\"prev\"></div>\r\n            </div>\r\n          </div>\r\n          <div class=\"right-btn-bg\">\r\n            <div class=\"btns\"\r\n              :style=\"{ right: $px2rem(0) }\">\r\n              <div class=\"swiper-button-next\"\r\n                :class=\"!nextFlag ? 'opac' : ''\"\r\n                @click=\"next\"></div>\r\n            </div>\r\n            <!-- <div class=\"btns btnsbg\"\r\n            :style=\"{ right: $px2rem(15) }\"></div> -->\r\n          </div>\r\n\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"content-box mask\"\r\n        v-if=\"showMask\">\r\n        <div v-if=\"(!canHover || isResizing || isToggleLayout) && !showDetail\" class=\"mask_layer\">{{ mask_layer }}</div>\r\n        <div class=\"title-box title3\">\r\n          <div class=\"title 11111111\"\r\n            @click=\"goBack\">\r\n            <img class=\"think_back\"\r\n              src=\"@/assets/img/think_back.svg\" />\r\n            {{ app_type == 2 ? \"修学日志\" : \"学习日志\" }}\r\n          </div>\r\n          <div class=\"search\"\r\n            v-if=\"!showDetail\">\r\n            <el-input placeholder=\"搜索\"\r\n              prefix-icon=\"el-icon-search\"\r\n              v-model=\"keywords\"\r\n              @input=\"changeSearch\">\r\n            </el-input>\r\n          </div>\r\n        </div>\r\n\r\n        <div>\r\n          <div class=\"content-box1 content-box2 course_class_name1\">\r\n            <span>{{ course_class_name }}</span>\r\n            <div class=\"btns1\">\r\n              <img v-if=\"showList\"\r\n                class=\"list_img\"\r\n                @click=\"showListFn(false)\"\r\n                src=\"@/assets/img/course_swiper.svg\" />\r\n              <img v-else\r\n                class=\"list_img\"\r\n                src=\"@/assets/img/course_swiper_sel.svg\" />\r\n              <img v-if=\"!showList\"\r\n                class=\"card_img\"\r\n                @click=\"showListFn(true)\"\r\n                src=\"@/assets/img/course_list.svg\" />\r\n              <img v-else\r\n                class=\"card_img\"\r\n                src=\"@/assets/img/course_list_sel.svg\" />\r\n            </div>\r\n          </div>\r\n\r\n          <div style=\"height: 100%;position: fixed;width: 100%;\">\r\n            <div ref=\"swiper3\"\r\n              class=\"swiper swiper3\"\r\n              id=\"swiper3\"\r\n              :class=\"[canHover ? 'canHover' : '', swiperScrollClass]\">\r\n              <div v-if=\"showMask\"\r\n                ref=\"cover\"\r\n                class=\"cover cover1\"\r\n                id=\"cover1\"\r\n                @click=\"hideMask\"\r\n                :class=\"coverStatus\">\r\n                <div>\r\n                  <div class=\"top classCompleteRatio\">\r\n                    <span class=\"pcont\" id=\"pcont\" >{{ slides[clickIndex].course_class_name }}</span>\r\n                    <div class=\"logRatio\" id=\"logRatio\">\r\n                      <span>日志&nbsp;&nbsp;</span>\r\n                      <span class=\"complete\">{{ slides[clickIndex].complete_course }}</span>\r\n                      <span>{{ \"/\" + slides[clickIndex].course_count }}</span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div :class=\"`swiper-wrapper ${studyLogGuideMode === 0 ? 'guideBox' : ''}`\" id=\"slidesClassTotalSwiper\" ref=\"slidesClassTotalSwiper\">\r\n                <div v-show=\"showMask\"\r\n                  id=\"coverList\"\r\n                  style=\"cursor: pointer;z-index: 99\"\r\n                  :class=\"coverListStatus\"\r\n                  @click=\"hideMask\"\r\n                  class=\"cover\">\r\n                  <div>\r\n                    <div class=\"top classCompleteRatio\">\r\n                      <span class=\"pcont\">{{ slides[clickIndex].course_class_name }}</span>\r\n                      <div class=\"logRatio\">\r\n                        <span>日志&nbsp;&nbsp;</span>\r\n                        <span class=\"complete\">{{ slides[clickIndex].complete_course }}</span>\r\n                        <span>{{ \"/\" + slides[clickIndex].course_count }}</span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"swiper-slide-sub\" v-for=\"(item, i) in slidesClassTotal\"  :key=\"i\"\r\n                  :id=\"`slide${i}`\" :style=\"{\r\n                    backgroundImage:\r\n                      'url(' + require('@/assets/img/cardBg3.png') + ')',\r\n                    backgroundSize: '100% 100%'\r\n                  }\">\r\n                  <div class=\"evp before swiping\"\r\n                    :class=\"[]\"\r\n                    :id=\"`elBefore${i}`\"\r\n                    @click=\"toDetail(i, $event, item)\">\r\n                    <div class=\"top\">\r\n                      <div class=\"content\">\r\n                        <div class=\"course_class_name\">\r\n                          <span v-if=\"item.course_class_name1\">{{  item.course_class_name1 + \"&nbsp;&nbsp;\" }}</span>\r\n                          <span>{{  item.course_class_name2 }}</span>\r\n                        </div>\r\n                        <span class=\"ellipsis-content course_name\">{{ item.course_name }}\r\n                        </span>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">思维导图</div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.mindmap_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.mindmap_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">问题意识</div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.question_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.question_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">\r\n                            {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n                          </div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.solve_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.solve_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">\r\n                            观念的禅修\r\n                          </div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.guannian_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.guannian_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">\r\n                            心态的禅修\r\n                          </div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.xintai_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.xintai_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">发布心得</div>\r\n                          <div class=\"item item-value item-value1 experience_num1\" :class=\"[item && item.experience_num > 0 ? 'experience_num' : '']\">\r\n                            {{ item.experience_num }}\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <!-- <swiper ref=\"slidesClassTotalSwiper\"\r\n                id=\"slidesClassTotalSwiper\"\r\n                :options=\"swiperOptions3\">\r\n                <div v-if=\"showMask\"\r\n                  id=\"coverList\"\r\n                  style=\"display: none; cursor: pointer;z-index: 99\"\r\n                  :class=\"coverListStatus\"\r\n                  @click=\"hideMask\"\r\n                  class=\"cover\">\r\n                  <div>\r\n                    <div class=\"top classCompleteRatio\">\r\n                      <span class=\"pcont\">{{ slides[clickIndex].course_class_name }}</span>\r\n                      <div class=\"logRatio\">\r\n                        <span>日志&nbsp;&nbsp;</span>\r\n                        <span class=\"complete\">{{ slides[clickIndex].complete_course }}</span>\r\n                        <span>{{ \"/\" + slides[clickIndex].course_count }}</span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <swiper-slide v-for=\"(item, i) in slidesClassTotal\"\r\n                  :key=\"i\"\r\n                  :id=\"`slide${i}`\"\r\n                  class=\"swiper-slide-sub no-swiping\"\r\n                  :style=\"{\r\n                    backgroundImage:\r\n                      'url(' + require('@/assets/img/cardBg3.png') + ')',\r\n                    backgroundSize: '100% 100%'\r\n                  }\">\r\n                  <div class=\"evp before swiping\"\r\n                    :class=\"[]\"\r\n                    :id=\"`elBefore${i}`\"\r\n                    @click=\"toDetail(i, $event)\">\r\n                    <div class=\"top\">\r\n                      <div class=\"content\">\r\n                        <div class=\"course_class_name\">\r\n                          {{\r\n                            item.course_class_name1 +\r\n                            \"&nbsp;&nbsp;\" +\r\n                            item.course_class_name2\r\n                          }}\r\n                        </div>\r\n                        <span class=\"ellipsis-content course_name\">{{ item.course_name }}\r\n                        </span>\r\n                        <div v-if=\"\r\n                            showDetail &&\r\n                              currentIndex == i &&\r\n                              !data.course_intro_short\r\n                          \"\r\n                          class=\"course_intro2 course_null \">\r\n                          <p class=\"none\">暂无数据</p>\r\n                        </div>\r\n                        <span v-else\r\n                          v-html=\"data.course_intro_short\"\r\n                          class=\"course_intro2 22\">\r\n                        </span>\r\n                        <div v-if=\"showDetail && currentIndex == i\"\r\n                          class=\"course_intro2_border2 course_intro2_border\"></div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">思维导图</div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.mindmap_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.mindmap_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">问题意识</div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.mindmap_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.question_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">\r\n                            {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n                          </div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.mindmap_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.solve_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">\r\n                            观念的禅修\r\n                          </div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.mindmap_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.guannian_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">\r\n                            心态的禅修\r\n                          </div>\r\n                          <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                              item.mindmap_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <span v-if=\"item.xintai_complete == 2\">未完成</span>\r\n                            <img v-else\r\n                              src=\"@/assets/img/studylog_done.svg\" />\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                          <div class=\"item item-name item-name1\">发布心得</div>\r\n                          <div class=\"item item-value item-value1\">\r\n                            {{ item.experience_num }}\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </swiper-slide>\r\n                <div class=\"swiper-pagination3\"\r\n                  slot=\"pagination\"></div>\r\n              </swiper> -->\r\n              <div class=\"right-btn-bg1\"\r\n                v-if=\"showDetail\"></div>\r\n              <div v-if=\"showLeftBtnList && !showDetail\" class=\"swiper-button prev-swiper-button\"\r\n                  :class=\"!prevFlag2 ? 'opac' : ''\"\r\n                  @click=\"prev2\"></div>\r\n              <div v-if=\"!showDetail && !showList\"\r\n                class=\"btns2\"\r\n                style=\"right: 0\">\r\n                <div class=\"swiper-button\"\r\n                  :class=\"!nextFlag2 ? 'opac' : ''\"\r\n                  @click=\"next2\"></div>\r\n              </div>\r\n\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div v-if=\"showDetail\"\r\n          class=\"detailWrapper\">\r\n          <div :style=\"{\r\n              position: 'absolute',\r\n              width: $px2rem(224),\r\n              zIndex: 999\r\n            }\"\r\n            id=\"completeData\"\r\n            @click=\"toCultureContent\">\r\n            <div class=\"evp before swiping\">\r\n              <div class=\"top\">\r\n                <div class=\"content\">\r\n                  <div class=\"course_class_name\">\r\n                     <span v-if=\"completeData.course_class_name1\">{{  completeData.course_class_name1 + \"&nbsp;&nbsp;\" }}</span>\r\n                     <span>{{  completeData.course_class_name2 }}</span>\r\n                  </div>\r\n                  <span class=\"ellipsis-content course_name\">{{ completeData.course_name }}\r\n                  </span>\r\n                  <div v-if=\"\r\n                      showDetail &&\r\n                        !data.course_intro_short\r\n                    \"\r\n                    class=\"course_intro2 course_null \">\r\n                    <p class=\"none\">暂无数据</p>\r\n                  </div>\r\n                  <span v-else\r\n                    v-html=\"data.course_intro_short\"\r\n                    class=\"course_intro2 22\">\r\n                  </span>\r\n                  <div v-if=\"showDetail\"\r\n                    class=\"course_intro2_border2 course_intro2_border\"></div>\r\n                  <div class=\"items\">\r\n                    <div class=\"item item-name item-name1\">思维导图</div>\r\n                    <div class=\"item item-value item-value1\"\r\n                      :class=\"\r\n                      completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                      \">\r\n                      <span v-if=\"completeData.mindmap_complete == 2\">未完成</span>\r\n                      <img v-else\r\n                        src=\"@/assets/img/studylog_done.svg\" />\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"items\">\r\n                    <div class=\"item item-name item-name1\">问题意识</div>\r\n                    <div class=\"item item-value item-value1\"\r\n                      :class=\"\r\n                      completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                      \">\r\n                      <span v-if=\"completeData.question_complete == 2\">未完成</span>\r\n                      <img v-else\r\n                        src=\"@/assets/img/studylog_done.svg\" />\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"items\">\r\n                    <div class=\"item item-name item-name1\">\r\n                      {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n                    </div>\r\n                    <div class=\"item item-value item-value1\"\r\n                      :class=\"\r\n                      completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                      \">\r\n                      <span v-if=\"completeData.solve_complete == 2\">未完成</span>\r\n                      <img v-else\r\n                        src=\"@/assets/img/studylog_done.svg\" />\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"items\">\r\n                    <div class=\"item item-name item-name1\">\r\n                      观念的禅修\r\n                    </div>\r\n                    <div class=\"item item-value item-value1\"\r\n                      :class=\"\r\n                      completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                      \">\r\n                      <span v-if=\"completeData.guannian_complete == 2\">未完成</span>\r\n                      <img v-else\r\n                        src=\"@/assets/img/studylog_done.svg\" />\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"items\">\r\n                    <div class=\"item item-name item-name1\">\r\n                      心态的禅修\r\n                    </div>\r\n                    <div class=\"item item-value item-value1\"\r\n                      :class=\"\r\n                      completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                      \">\r\n                      <span v-if=\"completeData.xintai_complete == 2\">未完成</span>\r\n                      <img v-else\r\n                        src=\"@/assets/img/studylog_done.svg\" />\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"items\">\r\n                    <div class=\"item item-name item-name1\">发布心得</div>\r\n                    <div class=\"item item-value item-value1 experience_num1\">\r\n                      {{ completeData.experience_num || 0 }}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            </div>\r\n          <div class=\"detail\"\r\n            id=\"completeDetail\"\r\n            v-if=\"showLogDetail\">\r\n            <Detail ref=\"detail\"\r\n              :studyLogGuideMode=\"studyLogGuideMode\"\r\n              :showDetail=\"showDetail\"\r\n              :data=\"data\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport \"swiper/dist/css/swiper.css\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nimport {\r\n  getClassCompleteRatio,\r\n  getCourseCompleteData,\r\n  getStudyCourseTopClass,\r\n  getUserGuideStatus,\r\n  getUserStudyLogDetail,\r\n  setUserGuideStatus\r\n} from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport CompleteData from \"./CompleteData.vue\";\r\nimport NoData from \"@/components/NoData\";\r\nimport Detail from \"./Detail.vue\";\r\nimport Box from \"@/components/Box\";\r\nimport { throttle } from \"@/utils/util\";\r\nimport introJs from \"intro.js\";\r\n\r\nexport default {\r\n  name: \"StudyLog\",\r\n  components: {\r\n    swiper,\r\n    swiperSlide,\r\n    CompleteData,\r\n    Detail,\r\n    Box,\r\n    NoData,\r\n  },\r\n  data() {\r\n    return {\r\n      studyLogGuideMode: 1,\r\n      app_type: 2,\r\n      showMask: false,\r\n      fullscreen: false,\r\n      slides: [],\r\n      slidesTopClass: [],\r\n      slidesClass: [],\r\n      slidesClassTotal: [],\r\n      guideSlidesClassTotal: {\r\n        course_tag_name: \"\",\r\n        course_name: \"人生五大问题\",\r\n        course_id: \"1\",\r\n        course_intro_short:\r\n          \"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。\",\r\n        course_isuseradd: \"3\",\r\n        course_class_name1: \"同喜班\",\r\n        course_class_name2: \"信仰篇\",\r\n        mindmap: [\r\n          {\r\n            mindmap_id: \"-1\",\r\n            mindmap_content:\r\n              '[{\"node\":[{\"node\":[{\"node\":[{\"node\":[],\"name\":\"禅是超越任何形式的，坐只是契入觉性的一种辅助手段\",\"lock\":\"2\"}],\"name\":\"六祖推辞\",\"lock\":2},{\"node\":[{\"node\":[],\"name\":\"1、打坐与见性的关系\",\"lock\":2},{\"node\":[],\"name\":\"5、“不生不灭”与外道不同之处\",\"lock\":2},{\"node\":[],\"name\":\"3、烦恼与智慧的关系\",\"lock\":2},{\"node\":[],\"name\":\"六祖批判：以“坐”为目的的打坐\",\"lock\":\"2\"},{\"node\":[],\"name\":\"禅可以在任何形式、任何一个当下去体认\",\"lock\":\"2\"},{\"node\":[],\"name\":\"4、什么是大乘见解\",\"lock\":\"2\"},{\"node\":[],\"name\":\"2、明与暗的关系\",\"lock\":\"2\"}],\"name\":\"使臣薛简请教佛法\",\"lock\":2}],\"name\":\"一、驰诏迎请\",\"lock\":2},{\"node\":[],\"name\":\"二、中宗赐衣钵\",\"lock\":2}],\"name\":\"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来\",\"lock\":2},{\"node\":[],\"name\":\"第十品《付嘱品》\",\"lock\":2}]',\r\n          },\r\n        ],\r\n        question_solve: [\r\n          {\r\n            course_solve_question_num: \"5\",\r\n            progress_solve_baituo_num: \"111\",\r\n            progress_solve_daoli_num: \"20\",\r\n            progress_solve_shishi_num: \"111\",\r\n          },\r\n        ],\r\n      },\r\n      course_class_name: \"\",\r\n      carouselIndex: 0,\r\n      that: this,\r\n      isClickCourse: true,\r\n      btitlesize: 0,\r\n      bratiosize: 0,\r\n      swiperOptions1: {\r\n        slidesPerView: 5,\r\n        spaceBetween: 30,\r\n        centeredSlides: true,\r\n        graCursor: true,\r\n        // pagination: {\r\n        //   el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n        //   clickable: true, //轮播按钮支持点击\r\n        // },\r\n        slidesPerView: \"auto\",\r\n        width: window.innerWidth,\r\n        on: {\r\n          tap: (e) => {\r\n            let swiper = this.$refs.mySwiperTab.swiper;\r\n            console.log(\"mySwiperTab:\",swiper.clickedIndex, swiper.activeInde, this.canAccessYouTube);\r\n            // 点击一级课程，请求二级课程\r\n            if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n              // todo: 如果是点击的后台配置的不能显示的一级课程，则提示，并返回\r\n              const topClass = this.slidesTopClass[swiper.clickedIndex]\r\n              if(this.app_type == 2 && topClass.course_class_domestic == 2 && !this.canAccessYouTube) {\r\n                this.$message.warning(\"所在区域无法阅览该内容\")\r\n                return;\r\n              }\r\n              this.clickSwiperTab(swiper.clickedIndex);\r\n            } else if (swiper.activeIndex || swiper.activeIndex === 0) {\r\n              // todo: 如果是点击的后台配置的不能显示的一级课程，则提示，并返回\r\n              const topClass = this.slidesTopClass[swiper.activeIndex]\r\n              if(this.app_type == 2 && topClass.course_class_domestic == 2 && !this.canAccessYouTube) {\r\n                this.$message.warning(\"所在区域无法阅览该内容\")\r\n                return;\r\n              }\r\n              this.swiperTab.realIndex = swiper.activeIndex;\r\n              this.swiperTab.slideTo(swiper.activeIndex);\r\n              let slides = swiper.slides;\r\n              for (let i = 0; i < slides.length; i++) {\r\n                const slide = slides[i];\r\n                slide.style.transform = `scale(${1})`;\r\n              }\r\n              swiper.slides[\r\n                swiper.activeIndex\r\n              ].style.transform = `scale(${1.2})`;\r\n              this.course_class_id = topClass.course_class_id;\r\n              if (this.course_class_id) {\r\n                this.getClassCompleteRatio();\r\n              }\r\n            }\r\n\r\n          },\r\n          slideChange: () => {\r\n            console.log(\"slideChange:\", this.swiperTab.activeIndex)\r\n            const topClass = this.slidesTopClass[this.swiperTab.activeIndex]\r\n            console.log(topClass)\r\n            if(this.app_type == 2 && topClass.course_class_domestic == 2 && !this.canAccessYouTube) {\r\n              this.$message.warning(\"所在区域无法阅览该内容\")\r\n              const currentTopClassIndex = this.currentTopClassIndex || 0;\r\n              this.swiperTab.realIndex = currentTopClassIndex;\r\n              this.swiperTab.activeIndex = currentTopClassIndex;\r\n              this.swiperTab.slideTo(currentTopClassIndex);\r\n              return;\r\n            }\r\n            this.currentTopClassIndex = this.swiperTab.activeIndex;\r\n            this.course_class_id =\r\n              this.slidesTopClass[this.swiperTab.activeIndex].course_class_id;\r\n            this.getClassCompleteRatio();\r\n          },\r\n        },\r\n      },\r\n      swiperOptions: {\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        slidesPerView: 5,\r\n        spaceBetween: 20,\r\n        centeredSlides: true,\r\n        graCursor: true,\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        slidesPerView: \"auto\",\r\n        width: window.innerWidth,\r\n        on: {\r\n          tap: (e) => {\r\n            // EventBus.$emit('STUDYLOG_IN_BOOK_LIST', false);\r\n            this.isClickCourse = true;\r\n            let index = 0;\r\n            let swiper = this.$refs.mySwiper.swiper;\r\n            let slide = null;\r\n            console.log(\"tap:\", swiper.clickedIndex, swiper.activeIndex);\r\n            // 点击小图, 大图对应切换\r\n            if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n              index = swiper.clickedIndex;\r\n              this.clickSlidesClassTotal(index);\r\n            }\r\n          },\r\n          slideChange: () => {\r\n            let swiper = this.$refs.mySwiper.swiper;\r\n            console.log(\r\n              \"slideChange:\",\r\n              swiper.clickedIndex,\r\n              swiper.activeIndex\r\n            );\r\n            // 点击小图, 大图对应切换\r\n            this.swiper.realIndex = swiper.activeIndex;\r\n            let slides = swiper.slides;\r\n            for (let i = 0; i < slides.length; i++) {\r\n              const slide = slides[i];\r\n              slide.style.transform = `scale(${1})`;\r\n            }\r\n            swiper.slides[swiper.activeIndex].style.transform = `scale(${1.2})`;\r\n            this.changeFlag(swiper.activeIndex);\r\n          },\r\n        },\r\n      },\r\n      swiperOptions3: {\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        slidesPerView: 5,\r\n        spaceBetween: 40,\r\n        centeredSlides: false,\r\n        noSwiping: true,\r\n        noSwipingClass: \"no-swiping\",\r\n        graCursor: true,\r\n        pagination: {\r\n          el: \".swiper-pagination3\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        slidesPerView: \"auto\",\r\n        on: {\r\n          init: () => {\r\n            this.init();\r\n          },\r\n          slideChange: () => {\r\n            // console.log(\"slideChange\", this.showList);\r\n            // console.log(this.$refs.slidesClassTotalSwiper.swiper.activeIndex);\r\n            // if (this.showList && this.$refs.slidesClassTotalSwiper.swiper) {\r\n            //   // this.$refs.slidesClassTotalSwiper.swiper.slideTo(0);\r\n            // }\r\n          },\r\n        },\r\n      },\r\n      prevFlag: false,\r\n      nextFlag: true,\r\n      clickIndex: null,\r\n      prevFlag2: false,\r\n      nextFlag2: true,\r\n      clickIndex2: null,\r\n      selectData: null,\r\n      selectIndex: null,\r\n      courseId: null,\r\n      isActivated: true,\r\n      course_class_id: \"\", // 选中课程的一级分类id\r\n      course_class_study1: \"\",  //当前课程一级分类id\r\n      course_class_study2: \"\", // 当前课程二级分类id\r\n      coverStatus: \"\",\r\n      coverListStatus: \"\",\r\n      showList: false,\r\n      needAni: false,\r\n      showLeftBtnList: false,\r\n      canHover: false,\r\n      completeData: {},\r\n      data: {},\r\n      showDetail: false,\r\n      showLogDetail: false,\r\n      aniFinish: true,\r\n      currentLeft: 0,\r\n      currentTop: 0,\r\n      currentWidth: 0,\r\n      currentHeight: 0,\r\n      currentIndex: 0,\r\n      swiper3ScrollTop: false,\r\n      originPosition: true,\r\n      swiperScrollClass: \"\",\r\n      keywords: \"\",\r\n      throttledScroll: throttle(this.scrollSwiper3Cards, 400),\r\n      throttledScrollList: throttle(this.scrollSwiper3List, 100),\r\n      throttledHandleWheel: throttle(this.handleWheel, 100),\r\n      // shouldInit为true表示：点击头部跳转后返回， currentSlide为当前的slide\r\n      currentSlide: null,\r\n      shouldInit: false,\r\n      initialWidth: 0,\r\n      initialHeight: 0,\r\n      isResizing: false,\r\n      checkInterval: null,\r\n      addHoverInterval: null,\r\n      isToggleLayout: false,\r\n      currentTopClassIndex: null\r\n    };\r\n  },\r\n  computed: {\r\n    swiper() {\r\n      return this.$refs.mySwiper.swiper;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    swiperTab() {\r\n      return this.$refs.mySwiperTab.swiper;\r\n    },\r\n    slidesClassTotalSwiper() {\r\n      return this.$refs.slidesClassTotalSwiper.swiper;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    },\r\n    initedCanAccessYouTube() {\r\n      return this.$store.getters.initedCanAccessYouTube;\r\n    }\r\n  },\r\n  watch: {\r\n    initedCanAccessYouTube: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        if(newVal && !oldVal) {\r\n          this.getStudyCourseTopClass();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"course_id:\", newVal);\r\n        if ((newVal || newVal == 0) && this.isActivated) {\r\n          this.courseId = newVal;\r\n          console.log(\"course_id:\", this.shouldInit);\r\n          this.getStudyCourseTopClass();\r\n        }\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"courseIsChanged:\", newVal);\r\n        if (newVal) {\r\n          this.getStudyCourseTopClass();\r\n        }\r\n      },\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function (to, from) {\r\n        if (from.name == \"index\") {\r\n          this.needAni = true;\r\n        } else if (from.name == \"StudyLogDetail\") {\r\n          this.needAni = false;\r\n          this.coverStatus = \"coverStatus3\";\r\n        } else {\r\n          this.$nextTick(() => {\r\n            this.needAni = false;\r\n            this.coverStatus = \"coverStatus3\";\r\n          });\r\n        }\r\n        console.log(\"needAni:\", this.needAni);\r\n      },\r\n    },\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    if (to.name == \"index\") {\r\n      // EventBus.$emit(\"setBlackTheme\", \"black\");\r\n    }\r\n    next();\r\n  },\r\n  methods: {\r\n    windowResize() {\r\n      if(this.$route.name == 'StudyLog') {\r\n        if(!this.isResizing) {\r\n          this.removeHover();\r\n          this.isResizing = true;\r\n          // 监听页面尺寸变化的间隔（毫秒）\r\n          const INTERVAL = 500;\r\n          // 开始监听页面尺寸变化\r\n          this.checkInterval = setInterval(this.checkResize, INTERVAL);\r\n          this.checkResize();\r\n        }\r\n      }\r\n\r\n    },\r\n    checkResize() {\r\n      let currentWidth = window.innerWidth;\r\n      let currentHeight = window.innerHeight;\r\n\r\n      // 设置一个阈值，页面尺寸变化超过这个值时，认为是有效缩放\r\n      const SIZE_THRESHOLD = 0;\r\n\r\n      // 如果页面宽度或高度变化超过阈值，则重置初始尺寸\r\n      if (Math.abs(currentWidth - this.initialWidth) > SIZE_THRESHOLD ||\r\n          Math.abs(currentHeight - this.initialHeight) > SIZE_THRESHOLD) {\r\n        this.initialWidth = currentWidth;\r\n        this.initialHeight = currentHeight;\r\n      } else {\r\n        // 如果页面尺寸长时间没有变化，则认为停止缩放\r\n        clearInterval(this.checkInterval);\r\n        console.log('停止缩放页面');\r\n        // 在这里执行你需要的操作\r\n        this.swipersResize();\r\n      }\r\n    },\r\n    swipersResize() {\r\n      console.log(\"swipersResize:\", this.showList);\r\n      const items = this.getSwiperSlides();\r\n      const len = items.length;\r\n      if (!len) {\r\n        return;\r\n      }\r\n      if(this.showList) {\r\n        this.swiper3ListInit();\r\n      } else {\r\n        this.swiper3CardsInit();\r\n      }\r\n\r\n    },\r\n    swiper3ListInit() {\r\n      const items = this.getSwiperSlides();\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      if (!items.length) {\r\n        return;\r\n      }\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const width = swiperWrapper[0].offsetWidth;\r\n      const rect = items[1].getBoundingClientRect();\r\n      // 计算一行可以放几个卡片\r\n      const cardNumPerRow = Math.floor(width / rect.width);\r\n      console.log(\"cardNumPerRow:\", cardNumPerRow);\r\n      const len = items.length;\r\n      for (let i = 0; i < len; i++) {\r\n        const item = items[i];\r\n        const rect = item.getBoundingClientRect();\r\n        const rowIndex = Math.floor(i / cardNumPerRow);\r\n        const colIndex = i % cardNumPerRow;\r\n        const translateX = colIndex * rect.width;\r\n        const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n        item.style.transform =\r\n          \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n        item.style.transition = \"all 0.8s ease-in-out\";\r\n      }\r\n      let timeout = setTimeout(() => {\r\n        this.isResizing = false;\r\n        this.addHover();\r\n        clearTimeout(timeout);\r\n        timeout = null;\r\n      }, 800);\r\n    },\r\n    swiper3CardsInit() {\r\n      const items = this.getSwiperSlides();\r\n      const len = items.length;\r\n      for (let i = 0; i < len; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const rect = slide.getBoundingClientRect();\r\n        const translate = i * rect.width;\r\n        slide.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n          51\r\n        )})`;\r\n        slide.style.transition = \"all 0.8s ease-in-out\";\r\n      }\r\n      let timeout = setTimeout(() => {\r\n        this.isResizing = false;\r\n        this.addHover();\r\n        clearTimeout(timeout);\r\n        timeout = null;\r\n      }, 800);\r\n    },\r\n    // 选中三级课程\r\n    slideTo(index) {\r\n      // const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n      // slidesClassTotalSwiper.style.transform = `translateX(${translateX - 200}px)`;\r\n      // slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n      // if(translateX - 200 < 0) {\r\n      //   this.showLeftBtnList = true;\r\n      // } else {\r\n      //   this.showLeftBtnList = false;\r\n      // }\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const items = this.getSwiperSlides();\r\n        //console.log(\"slideTo items:\", items, index);\r\n        const len = items.length;\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const swiperWrapper =\r\n          swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        let cardNumPerRow = 0;\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        if(items.length > 0) {\r\n          const slide = items[0]; // 指定匹配元素集缩减值\r\n          const rect = slide.getBoundingClientRect();\r\n          cardNumPerRow = Math.floor(width / rect.width);\r\n        }\r\n\r\n        if(cardNumPerRow < index) {\r\n          this.showLeftBtnList = true;\r\n          for (let i = 0; i < len; i++) {\r\n            const slide = items[i]; // 指定匹配元素集缩减值\r\n            if(i == index) {\r\n              const rect = slide.getBoundingClientRect();\r\n              const translateX = i * rect.width;\r\n              // const translateX = this.getTranslateValues(slide).translateX;\r\n              const translateX1 = width / 2 - translateX;\r\n              console.log(\"translateX1:\", translateX1);\r\n              slidesClassTotalSwiper.style.transform = `translateX(${translateX1}px)`;\r\n              slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n              // slide.style.transform = `translate(${translateX}px, ${this.$px2rem(\r\n              //   51\r\n              // )}) scale(1.1)`;\r\n            }\r\n\r\n          }\r\n        } else {\r\n          this.showLeftBtnList = false;\r\n        }\r\n      }, 1500);\r\n    },\r\n    // 点击一级课程\r\n    clickSwiperTab(index) {\r\n      console.log(\"clickSwiperTab:\", index, this.swiperTab);\r\n      this.$nextTick(() => {\r\n        let swiper = this.$refs.mySwiperTab.swiper;\r\n        this.swiperTab.realIndex = index;\r\n        this.swiperTab.activeIndex = index;\r\n        this.swiperTab.slideTo(index);\r\n\r\n        let slides = swiper.slides;\r\n        for (let i = 0; i < slides.length; i++) {\r\n          const slide = slides[i];\r\n          slide.style.transform = `scale(${1})`;\r\n        }\r\n        swiper.slides[\r\n          index\r\n        ].style.transform = `scale(${1.2})`;\r\n        this.course_class_id = this.slidesTopClass[index].course_class_id;\r\n        console.log(\"clickSwiperTab:\", this.course_class_id);\r\n        if (this.course_class_id) {\r\n          this.getClassCompleteRatio();\r\n        }\r\n      })\r\n\r\n\r\n    },\r\n    // 点击二级课程\r\n    clickSlidesClassTotal(index) {\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      const slide = this.slides[index];\r\n      this.swiper.realIndex = index;\r\n      this.swiper.activeIndex = index;\r\n      this.swiper.clickIndex = index;\r\n      this.swiper.slideTo(index);\r\n      this.changeFlag(index);\r\n      this.clickIndex = index;\r\n\r\n      let slides = swiper.slides;\r\n      for (let i = 0; i < slides.length; i++) {\r\n        const slide = slides[i];\r\n        slide.style.transform = `scale(${1})`;\r\n      }\r\n      swiper.slides[\r\n        index\r\n      ].style.transform = `scale(${1.2})`;\r\n      console.log(\"clickSlidesClassTotal:\", slide);\r\n      if(slide) {\r\n        this.$nextTick(() => {\r\n          this.showMask = true;\r\n          EventBus.$emit('STUDYLOG_IN_BOOK_LIST', false);\r\n          this.needAni = true;\r\n          this.course_class_name = slide.course_class_name;\r\n          this.coverStatus = \"coverStatus1\";\r\n          this.slidesClassTotal = slide[\"subList\"];\r\n          this.showList = false;\r\n\r\n          console.log(\"shouldInit:\", this.shouldInit);\r\n\r\n          this.$nextTick(() => {\r\n              this.init();\r\n            })\r\n            let timeout = null;\r\n            timeout = setTimeout(() => {\r\n              this.needAni = false;\r\n              if(!this.shouldInit) {\r\n                this.canHover = true;\r\n              }\r\n              this.isClickCourse = false;\r\n              clearTimeout(timeout);\r\n              timeout = null;\r\n            }, 1100);\r\n\r\n            if(this.shouldInit) {\r\n              let timeout1 = setTimeout(() => {\r\n                this.canHover = true;\r\n                clearTimeout(timeout1);\r\n                timeout1 = null;\r\n              }, 2500);\r\n            }\r\n\r\n        });\r\n      }\r\n    },\r\n    goBack() {\r\n      console.log(\"goBack:\", this.showDetail);\r\n      if(!this.showDetail) {\r\n        //EventBus.$emit('STUDYLOG_IN_BOOK_LIST', true);\r\n        this.hideMask();\r\n      } else {\r\n        this.backToDetail();\r\n        //EventBus.$emit('STUDYLOG_IN_BOOK_LIST', false);\r\n      }\r\n    },\r\n    scrollSwiper3(e) {\r\n      console.log(\"scrollSwiper3\");\r\n    },\r\n    handleWheel(e) {\r\n      console.log(\"handleWheel:\", e);\r\n      if(e) {\r\n        e[0].preventDefault();\r\n      }\r\n    },\r\n    removeHover() {\r\n      console.log(\"removeHover\")\r\n      const items = this.getSwiperSlides();\r\n      const len = items.length;\r\n      for (let i = 0; i < len; i++) {\r\n        const slide = items[i];\r\n        if(slide.handlerEnter) {\r\n          slide.removeEventListener('mouseenter', slide.handlerEnter);\r\n          slide.removeEventListener('mouseleave', slide.handlerLeave);\r\n        }\r\n      }\r\n    },\r\n    addHover() {\r\n      if(!this.addHoverInterval) {\r\n        this.addHoverInterval = setInterval(() => {\r\n          console.log(\"this.addHoverInterval:\", this.canHover)\r\n          if(this.canHover && !this.isResizing && !this.isToggleLayout) {\r\n            clearInterval(this.addHoverInterval);\r\n            this.addHoverInterval = null;\r\n            const items = this.getSwiperSlides();\r\n            const len = items.length;\r\n            for (let i = 0; i < len; i++) {\r\n              const slide = items[i];\r\n              let originalTransform = ''; // 保存原始transform值\r\n\r\n              // 鼠标进入事件\r\n              const handlerEnter = () => {\r\n                console.log(\"handlerEnter:\", this.canHover, this.isResizing, this.isToggleLayout)\r\n                if(!this.canHover && this.isResizing && this.isToggleLayout) {\r\n                  return;\r\n                }\r\n                // 获取当前计算后的transform值\r\n                const computedStyle = window.getComputedStyle(slide);\r\n                originalTransform = computedStyle.transform === 'none' ? '' : computedStyle.transform;\r\n                // 添加新的变换\r\n                slide.style.transform = `${originalTransform} scale(1.05)`;\r\n                slide.style.transition = \"all 0.2s ease-in-out\";\r\n              };\r\n              slide.handlerEnter = handlerEnter; // 保存到元素属性\r\n              slide.addEventListener('mouseenter', handlerEnter);\r\n\r\n              // 鼠标离开事件\r\n              const handlerLeave = () => {\r\n                console.log(\"handlerLeave:\", this.canHover, this.isResizing, this.isToggleLayout)\r\n                if(!this.canHover && this.isResizing && this.isToggleLayout) {\r\n                  return;\r\n                }\r\n                if(!originalTransform) {\r\n                  return;\r\n                }\r\n                // 恢复原始transform值\r\n                slide.style.transform = originalTransform;\r\n                let timeout = setTimeout(() =>  {\r\n                  slide.style.transition = \"all 0.8s ease-in-out\";\r\n                  clearTimeout(timeout);\r\n                }, 300);\r\n              };\r\n              slide.handlerLeave = handlerLeave; // 保存到元素属性\r\n              slide.addEventListener('mouseleave', handlerLeave);\r\n            }\r\n          } else {\r\n            // if(this.addHoverInterval) {\r\n            //   clearInterval(this.addHoverInterval);\r\n            //   this.addHoverInterval = null;\r\n            // }\r\n          }\r\n        }, 200);\r\n      }\r\n\r\n    },\r\n    init() {\r\n      const coverList = document.getElementById(\"coverList\");\r\n      coverList.style.display = `none`;\r\n      const items = this.getSwiperSlides();\r\n      console.log(\"items:\", items);\r\n      const len = items.length;\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const swiperWrapper =\r\n        swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const width = swiperWrapper[0].offsetWidth;\r\n      for (let i = 0; i < len; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const rect = slide.getBoundingClientRect();\r\n        let translate = 0;\r\n        const diff = rect.width * 0.05 * i;\r\n        translate = (width - rect.width) / 2 + diff; // 166是swiper-slide的高度\r\n        slide.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n          51\r\n        )})`;\r\n        slide.style.zIndex = len - i;\r\n      }\r\n      this.addHover();\r\n\r\n      let timeout = setTimeout(() => {\r\n        this.swiper3CardsInit();\r\n        clearTimeout(timeout);\r\n      }, 0);\r\n\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      // web端\r\n      slidesClassTotalSwiper.addEventListener(\"wheel\", this.throttledScroll);\r\n\r\n    },\r\n    scrollSwiper3Cards(e) {\r\n      console.log(\"scrollSwiper3Cards\");\r\n      console.log(e);\r\n      if(e) {\r\n        e[0].preventDefault();\r\n      }\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const swiper3Rect = slidesClassTotalSwiper.getBoundingClientRect();\r\n      console.log(\"swiper3Rect:\", swiper3Rect);\r\n      const width = swiper3Rect.width;\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      const item = items[0];\r\n      const rect = item.getBoundingClientRect();\r\n      let deltaX = e[0].deltaX;\r\n      if(deltaX === 0) {\r\n        deltaX = e[0].deltaY;\r\n      }\r\n      console.log(\"deltaX:\", deltaX  === 0, deltaX, e);\r\n      let computedStyle = getComputedStyle(slidesClassTotalSwiper);\r\n      const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n      console.log(\"translateX:\", translateX);\r\n      if(deltaX < 0) {\r\n        // 往左滚动\r\n        if(translateX <= -rect.width) {\r\n          slidesClassTotalSwiper.style.transform = `translateX(${translateX + rect.width}px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n          if(translateX <= rect.width) {\r\n            this.showLeftBtnList = true;\r\n          } else {\r\n            this.showLeftBtnList = false;\r\n          }\r\n        } else {\r\n          slidesClassTotalSwiper.style.transform = `translateX(${0}px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n          this.showLeftBtnList = false;\r\n        }\r\n\r\n      } else {\r\n        // 往右滚动\r\n        if(this.isCanScroll()) {\r\n          slidesClassTotalSwiper.style.transform = `translateX(${translateX - rect.width}px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n          if(translateX <= rect.width) {\r\n            this.showLeftBtnList = true;\r\n          } else {\r\n            this.showLeftBtnList = false;\r\n          }\r\n        }\r\n      }\r\n    },\r\n    isCanScroll() {\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n\r\n      const containerWidth = slidesClassTotalSwiper.offsetWidth;; // 容器的宽度\r\n      const items = this.getSwiperSlides();\r\n      let totalWidth = 0;\r\n      if(items.length > 0) {\r\n        const item = items[items.length - 1];\r\n        const rect = item.getBoundingClientRect();\r\n        const width = rect.width;\r\n        // 获取列表的总宽度\r\n        totalWidth = width * items.length;\r\n      }\r\n      // 最大可平移的值\r\n      const maxTranslateX = totalWidth - containerWidth;\r\n      console.log(\"totalWidth:\", totalWidth, containerWidth, maxTranslateX, translateX);\r\n      return Math.abs(translateX) < maxTranslateX;\r\n    },\r\n    prev2() {\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      const item = items[0];\r\n      const rect = item.getBoundingClientRect();\r\n      let translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n      console.log(translateX)\r\n      if(translateX <= -rect.width) {\r\n        slidesClassTotalSwiper.style.transform = `translateX(${translateX + rect.width}px)`;\r\n        slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n        if(translateX <= rect.width) {\r\n          this.showLeftBtnList = true;\r\n        } else {\r\n          this.showLeftBtnList = false;\r\n        }\r\n      } else {\r\n        slidesClassTotalSwiper.style.transform = `translateX(${0}px)`;\r\n        slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n        this.showLeftBtnList = false;\r\n      }\r\n    },\r\n    next2() {\r\n      if(!this.canHover) {\r\n        return;\r\n      }\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      const item = items[0];\r\n      const rect = item.getBoundingClientRect();\r\n      if(this.isCanScroll()) {\r\n        slidesClassTotalSwiper.style.transform = `translateX(${translateX - rect.width}px)`;\r\n        slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n        if(translateX <= rect.width) {\r\n          this.showLeftBtnList = true;\r\n        } else {\r\n          this.showLeftBtnList = false;\r\n        }\r\n      }\r\n\r\n\r\n    },\r\n    scrollSwiper3ListUp() {\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const title = document.getElementsByClassName(\"course_class_name1\");\r\n      const title3 = document.getElementsByClassName(\"title3\");\r\n      // 计算滚动位置超过上面容器的高度时的透明度\r\n      if (swiper3.classList.value.indexOf(\"swiperScrollUp\") < 0) {\r\n        title[0].style.opacity = 0;\r\n        title[0].style.transition = \"all 0.4s ease-in-out\";\r\n        title3[0].style.opacity = 0;\r\n        title3[0].style.transition = \"all 0.4s ease-in-out\";\r\n        this.swiperScrollClass = \"swiperScrollUp\";\r\n        slidesClassTotalSwiper.scrollTop = this.$px2rem(85);\r\n        this.originPosition = false;\r\n        let timeout = setTimeout(() => {\r\n          this.$nextTick(() => {\r\n            // 上移效果完成后，恢复滚轮事件\r\n            swiperWrapper[0].style.overflowY = \"auto\";\r\n          });\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n        }, 800);\r\n      }\r\n    },\r\n    scrollSwiper3ListDown() {\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const title = document.getElementsByClassName(\"course_class_name1\");\r\n      const title3 = document.getElementsByClassName(\"title3\");\r\n      // 到顶了\r\n      this.swiper3ScrollTop = true;\r\n      // 计算滚动位置超过上面容器的高度时的透明度\r\n      let timeout2 = setTimeout(() => {\r\n        title[0].style.opacity = 1;\r\n        title[0].style.transition = \"all 0.4s ease-in-out\";\r\n        title3[0].style.opacity = 1;\r\n        title3[0].style.transition = \"all 0.4s ease-in-out\";\r\n        clearTimeout(timeout2);\r\n      }, 100);\r\n\r\n      this.swiperScrollClass = \"swiperScrollDown\";\r\n      let timeout = setTimeout(() => {\r\n        this.originPosition = true;\r\n        this.swiper3ScrollTop = false;\r\n        clearTimeout(timeout);\r\n      }, 800);\r\n      let timeout1 = setTimeout(() => {\r\n        swiperWrapper[0].style.overflowY = \"hidden\";\r\n        clearTimeout(timeout1);\r\n      }, 1200);\r\n    },\r\n    scrollSwiper3List(e) {\r\n      console.log(\"scrollSwiper3List:\", e, this.swiper3ScrollTop);\r\n      if(e && this.swiper3ScrollTop) {\r\n        e[0].preventDefault();\r\n        return;\r\n      }\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      const isDown = e[0].deltaY > 0; // 滚轮向下\r\n      if (isDown && this.originPosition) {\r\n        // 向上\r\n        this.scrollSwiper3ListUp();\r\n      } else if (!isDown && slidesClassTotalSwiper.scrollTop == 0) {\r\n        // 向下\r\n        this.scrollSwiper3ListDown();\r\n      }\r\n    },\r\n    getTranslateValues(element) {\r\n      var style = window.getComputedStyle(element);\r\n      var matrix = style.transform || style.webkitTransform || style.mozTransform;\r\n      var values = matrix.split('(')[1].split(')')[0].split(',');\r\n      return {\r\n        translateX: parseFloat(values[4]),\r\n        translateY: parseFloat(values[5])\r\n      };\r\n    },\r\n    toCultureContent() {\r\n      this.$refs.detail.toCultureContent();\r\n    },\r\n    getSwiperSlides() {\r\n      const questionListSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      if(questionListSwiper) {\r\n        console.log(\"questionListSwiper:\", questionListSwiper);\r\n        const items =\r\n          questionListSwiper.getElementsByClassName(\"swiper-slide-sub\");\r\n        return items;\r\n      }\r\n      return [];\r\n\r\n    },\r\n    changeSearch() {\r\n      this.search();\r\n    },\r\n    search: throttle(function () {\r\n      this.removeHover();\r\n      this.isToggleLayout = true;\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      let clickedIndex = swiper.clickedIndex;\r\n      let slide = this.slides[this.clickIndex];\r\n      let params = {\r\n        keywords: this.keywords,\r\n        course_class_id: slide.course_class_id,\r\n        network_type: this.canAccessYouTube ? 1 : 2\r\n      };\r\n      console.log(params);\r\n      this.scrollSwiper3ToLeft();\r\n      getCourseCompleteData(params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          this.slidesClassTotal = res.data;\r\n          this.$nextTick(() => {\r\n            this.toggleLayout(0, true);\r\n          });\r\n        }\r\n      });\r\n    }, 100),\r\n    updateXY(event) {\r\n      const x = event.pageX;\r\n      const y = event.pageY;\r\n      // console.log(x,y)\r\n      const cover = document.getElementById(\"cover1\");\r\n      const coverRect = cover.getBoundingClientRect();\r\n      const pcont = document.getElementById(\"pcont\");\r\n      const pcontRect = pcont.getBoundingClientRect();\r\n      const pcontY = pcontRect.top;\r\n      const logRatio = document.getElementById(\"logRatio\");\r\n      const logRatioRect = logRatio.getBoundingClientRect();\r\n      const logRatioY = logRatioRect.top +  logRatioRect.height;\r\n      // console.log(pcontY, logRatioY);\r\n\r\n      // console.log(\"coverRect:\", coverRect);\r\n      // console.log(\"pcontRect:\", pcontRect);\r\n      // console.log(\"logRatioRect:\", logRatioRect);\r\n      // if (x >= 0 && x < 50 && y < logRatioY && y > pcontY) {\r\n      //   this.showLeftBtnList = true;\r\n      // } else {\r\n      //   this.showLeftBtnList = false;\r\n      // }\r\n    },\r\n    backToDetail() {\r\n      if(!this.aniFinish) {\r\n        return\r\n      }\r\n      this.aniFinish = false;\r\n      const completeData = document.getElementById(\"completeData\");\r\n      console.log(\"currentIndex:\", this.currentIndex);\r\n      if (completeData) {\r\n        completeData.style.transform = `translate(${this.currentLeft}px,${this.currentTop}px) scale(1,1)`;\r\n        completeData.style.paddingBottom = '0';\r\n        completeData.style.transition = \"all 0.8s ease-in-out\";\r\n        const completeDetail = document.getElementById(\"completeDetail\");\r\n        completeDetail.classList.add(\"completeDetail\");\r\n        const courseIntro =\r\n          completeData.getElementsByClassName(\"course_intro2\");\r\n        courseIntro[0].classList.add(\"course_intro1\");\r\n        courseIntro[0].classList.remove(\"course_intro\");\r\n\r\n        const courseIntroBorder = completeData.getElementsByClassName(\r\n          \"course_intro2_border2\"\r\n        );\r\n        if (courseIntroBorder && courseIntroBorder[0]) {\r\n          courseIntroBorder[0].classList.remove(\"course_intro2_border\");\r\n          courseIntroBorder[0].classList.add(\"course_intro2_border1\");\r\n        }\r\n\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const swiper3Rect = swiper3.getBoundingClientRect();\r\n        console.log(\"swiper3Rect:\", swiper3Rect);\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        // const swiperWrapper = slidesClassTotalSwiper.getElementsByClassName(\"swiper-wrapper\");\r\n        // const swiperPagination = slidesClassTotalSwiper.getElementsByClassName(\r\n        //   \"swiper-pagination3\"\r\n        // );\r\n        if((this.originPosition && this.showList) || !this.showList) {\r\n          const title = document.getElementsByClassName(\"course_class_name1\");\r\n          title[0].style.opacity = 1;\r\n          title[0].style.transition = \"all 0.8s ease-in-out\";\r\n        }\r\n\r\n        // title[0].classList.remove(\"hideTitle\");\r\n        // title[0].classList.add(\"showTitle\");\r\n        // const currentRowIndex = Math.floor(\r\n        //   (this.currentIndex + 1) / cardNumPerRow\r\n        // );\r\n        // const cureentColIndex = (this.currentIndex + 1) % cardNumPerRow;\r\n\r\n        // 重新计算每个元素的位置\r\n        if (this.showList) {\r\n          const swiperWrapper =\r\n            swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n          const width = swiperWrapper[0].offsetWidth;\r\n          // 计算一行可以放几个卡片\r\n          const cardNumPerRow = Math.floor(width / this.currentWidth);\r\n\r\n          this.coverStatus = \"coverStatus10\";\r\n          const coverList = document.getElementById(\"coverList\");\r\n          coverList.style.display = \"block\";\r\n          coverList.style.transform = `translate(${this.$px2rem(\r\n            31\r\n          )}, ${this.$px2rem(-462)}) scale(1.2)`;\r\n          coverList.style.transition = \"all 0.8s ease-in-out\";\r\n          // 多行布局\r\n          for (let i = 0; i < items.length; i++) {\r\n            if (i != 0) {\r\n              const rowIndex = Math.floor(i / cardNumPerRow);\r\n              const colIndex = i % cardNumPerRow;\r\n              const item = items[i];\r\n              const rect = item.getBoundingClientRect();\r\n              const translateX = colIndex * rect.width;\r\n\r\n              const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n              if (i !== this.currentIndex) {\r\n                item.style.transform =\r\n                  \"translate(\" + translateX + \"px, \" + translateY + \"px)\";\r\n                item.style.transition = \"all 0.8s ease-in-out\";\r\n              } else {\r\n                let timeout = setTimeout(() => {\r\n                  clearTimeout(timeout);\r\n                  item.style.display = \"block\";\r\n                  this.$nextTick(() => {\r\n                    const rect = item.getBoundingClientRect();\r\n                    const translateX = colIndex * rect.width;\r\n                    const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n                    item.style.transform =\r\n                    \"translate(\" + translateX + \"px, \" + `${translateY}px)`;\r\n                    item.style.transition = \"all 0s ease-in-out\";\r\n                  })\r\n\r\n                }, 850);\r\n              }\r\n            }\r\n          }\r\n          if (!this.originPosition) {\r\n            // 如果滚动了不在原来的位置，则休学日志要逐渐显示\r\n            const title3 = document.getElementsByClassName(\"title3\");\r\n            title3[0].style.opacity = 0;\r\n            title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n          }\r\n        } else {\r\n          // 单行布局\r\n          this.coverStatus = \"coverStatus8\";\r\n          // swiperWrapper[0].style.overflowY = \"unset\";\r\n          // swiperPagination[0].style.display = \"flex\";\r\n          console.log(\"items:\", items);\r\n          for (let i = 0; i < items.length; i++) {\r\n            const item = items[i];\r\n            const translateX = i * this.currentWidth;\r\n            if (i !== this.currentIndex) {\r\n              item.style.transform =\r\n                \"translate(\" + translateX + \"px, \" + `${this.$px2rem(51)})`;\r\n              item.style.transition = \"all 0.8s ease-in-out\";\r\n            } else {\r\n              let timeout = setTimeout(() => {\r\n                clearTimeout(timeout);\r\n                item.style.display = \"block\";\r\n                this.$nextTick(() => {\r\n                  item.style.transform =\r\n                    \"translate(\" + translateX + \"px, \" + `${this.$px2rem(51)})`;\r\n                  item.style.transition = \"all 0s ease-in-out\";\r\n                })\r\n              }, 850);\r\n            }\r\n          }\r\n        }\r\n\r\n        this.$nextTick(() => {\r\n          let timeout1 = setTimeout(() => {\r\n            this.aniFinish = true;\r\n            this.showLogDetail = false;\r\n\r\n            // 如果是竖排切滚动了，点击卡片需要把标题重新显示，回去的时候需要重新隐藏\r\n            if(!this.originPosition && this.showList) {\r\n              const title3 = document.getElementsByClassName(\"title3\");\r\n              title3[0].style.opacity = 0;\r\n              title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n            }\r\n            clearTimeout(timeout1);\r\n          }, 800);\r\n          let timeout2 = setTimeout(() => {\r\n            this.canHover = true;\r\n            this.showDetail = false;\r\n            clearTimeout(timeout2);\r\n          }, 1000);\r\n        });\r\n      }\r\n    },\r\n    async toDetail(index, e, completeData) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      if(!this.aniFinish) {\r\n        return;\r\n      }\r\n      if(completeData && completeData.course_domestic == 2) {\r\n        this.$message.warning(\"所在区域无法阅览该内容\")\r\n        return;\r\n      }\r\n      console.log(\"toDetail:\", this.originPosition, this.showList);\r\n      this.aniFinish = false;\r\n      this.canHover = false;\r\n      this.completeData = this.slidesClassTotal[index];\r\n      console.log(\"completeData:\", this.completeData);\r\n      if (this.showList) {\r\n        index = index + 1;\r\n      }\r\n      await this.getUserStudyLogDetail(\r\n        this.completeData.course_id,\r\n        this.completeData.course_isuseradd\r\n      );\r\n      this.currentIndex = index;\r\n      this.showDetail = true;\r\n      this.showLogDetail = false;\r\n      this.showLeftBtnList = false;\r\n\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const swiper3Rect = swiper3.getBoundingClientRect();\r\n      console.log(\"swiper3Rect:\", swiper3Rect, window.scrollY);\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      console.log(\"slidesClassTotalSwiper.scrollTop:\", slidesClassTotalSwiper.scrollTop);\r\n\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      const currentItem = items[index];\r\n      if (currentItem.id == \"newCover\") {\r\n        return;\r\n      }\r\n\r\n      console.log(currentItem);\r\n      const rect = currentItem.getBoundingClientRect();\r\n      console.log(\"currentItemRect:\", rect, window.scrollX, window.scrollY);\r\n      this.currentLeft = rect.left + window.scrollX;\r\n      this.currentTop = rect.top + window.scrollY - rect.height * 0.4;\r\n      this.currentWidth = rect.width;\r\n      this.currentHeight = rect.height;\r\n      console.log(rect.left + window.scrollX, rect.top + window.scrollY);\r\n      const title = document.getElementsByClassName(\"course_class_name1\");\r\n      // title[0].classList.add(\"hideTitle\");\r\n      title[0].style.opacity = 0;\r\n      title[0].style.transition = \"all 0.8s ease-in-out\";\r\n\r\n      // const currentRowIndex = Math.floor((index + 1) / cardNumPerRow);\r\n\r\n      // 重新计算每个元素的位置\r\n      if (this.showList) {\r\n        const swiperWrapper =\r\n          swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        console.log(width);\r\n        // 计算一行可以放几个卡片\r\n        const cardNumPerRow = Math.floor(width / rect.width);\r\n        console.log(cardNumPerRow);\r\n        const currentColIndex = index % cardNumPerRow;\r\n        const coverList = document.getElementById(\"coverList\");\r\n        const coverListRect = coverList.getBoundingClientRect();\r\n        console.log(coverListRect);\r\n        coverList.style.display = \"block\";\r\n        // coverList.style.transform = `translate(${-coverListRect.left}px, ${coverListRect.top}px)`;\r\n        coverList.style.transform = `translate(${\r\n          -coverListRect.width - coverListRect.left\r\n        }px, ${this.$px2rem(-462)}) scale(1.2)`;\r\n        coverList.style.transition = \"all 0.8s ease-in-out\";\r\n        // 多行布局\r\n        for (let i = 0; i < items.length; i++) {\r\n          if (i != 0) {\r\n            const rowIndex = Math.floor(i / cardNumPerRow);\r\n            const colIndex = i % cardNumPerRow;\r\n            const item = items[i];\r\n            const rect = item.getBoundingClientRect();\r\n            if (colIndex <= currentColIndex && index !== i) {\r\n              const translateX = -(index + 1) * rect.width;\r\n              const translateY = rowIndex * rect.height + 51;\r\n              // 左边的往左滑动\r\n              item.style.transform = `translate(${translateX}px,  ${translateY}px)`;\r\n              item.style.transition = \"all 0.8s ease-in-out\";\r\n            } else if (index !== i) {\r\n              // 右边的往右边滑动\r\n              const translateX = items.length * rect.width;\r\n              const translateY = rowIndex * rect.height + 51;\r\n              item.style.transform = `translate(${translateX}px,  ${translateY}px)`;\r\n              item.style.transition = \"all 0.8s ease-in-out\";\r\n            } else if (index === i) {\r\n              item.style.display = \"none\";\r\n            }\r\n          }\r\n        }\r\n        if (!this.originPosition) {\r\n          // 如果滚动了不在原来的位置，则休学日志要逐渐显示\r\n          const title3 = document.getElementsByClassName(\"title3\");\r\n          title3[0].style.opacity = 1;\r\n          title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n        }\r\n      } else {\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const translateXSwiper = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n        // 单行布局\r\n        this.coverStatus = \"coverStatus7\";\r\n        for (let i = 0; i < items.length; i++) {\r\n          const item = items[i];\r\n          const rect = item.getBoundingClientRect();\r\n          if (i < index) {\r\n            // 左边的往左滑动\r\n            const translateX = -(index + i + 1) * rect.width - translateXSwiper;\r\n            item.style.transform = `translate(${translateX}px,  ${this.$px2rem(\r\n              51\r\n            )})`;\r\n            item.style.transition = \"all 0.8s ease-in-out\";\r\n          } else if (i > index) {\r\n            // 右边的往右边滑动\r\n            const translateX = swiper3Rect.width - translateXSwiper;\r\n            item.style.transform = `translate(${translateX}px,  ${this.$px2rem(\r\n              51\r\n            )})`;\r\n            item.style.transition = \"all 0.8s ease-in-out\";\r\n          } else if (i === index) {\r\n            item.style.display = \"none\";\r\n          }\r\n        }\r\n      }\r\n\r\n      this.$nextTick(() => {\r\n        const completeData = document.getElementById(\"completeData\");\r\n        const courseIntro =\r\n          completeData.getElementsByClassName(\"course_intro2\");\r\n        // completeData.innerHTML = currentItem.innerHTML;\r\n        completeData.style.transform = `translate(${this.currentLeft}px,${this.currentTop}px) scale(1,1)`;\r\n        completeData.style.paddingBottom = this.$px2rem(45);\r\n        courseIntro[0].classList.add(\"course_intro\");\r\n        let timeout = setTimeout(() => {\r\n          completeData.style.transform = `translate(${this.$px2rem(\r\n            32\r\n          )}, ${this.$px2rem(32)}) scale(1.1,1.1)`;\r\n          completeData.style.transition = \"all 0.8s ease-in-out\";\r\n          clearTimeout(timeout);\r\n        }, 0);\r\n        let timeout1 = setTimeout(() => {\r\n          this.aniFinish = true;\r\n          this.showLogDetail = true;\r\n          // 如果是竖排切滚动了，点击卡片需要把标题重新显示，回去的时候需要重新隐藏\r\n          if(!this.originPosition && this.showList) {\r\n            const title3 = document.getElementsByClassName(\"title3\");\r\n            title3[0].style.opacity = 1;\r\n            title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n          }\r\n          clearTimeout(timeout1);\r\n        }, 800);\r\n      });\r\n\r\n      // this.getUserStudyLogDetail(\r\n      //   this.completeData.course_id,\r\n      //   this.completeData.course_isuseradd\r\n      // ).then(() => {\r\n\r\n      // });\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (guideStatus.studyLog === 0) {\r\n        this.guide('toDetail');\r\n      }\r\n    },\r\n    mouseOverSlide(index) {\r\n      if (!this.canHover) {\r\n        return;\r\n      }\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const width = swiperWrapper[0].offsetWidth;\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      const item = items[index];\r\n      const rect = item.getBoundingClientRect();\r\n\r\n      if (this.showList) {\r\n        // 多行布局\r\n        // 计算一行可以放几个卡片\r\n        const cardNumPerRow = Math.floor(width / rect.width);\r\n        const rowIndex = Math.floor(index / cardNumPerRow);\r\n        console.log(rowIndex);\r\n        const colIndex = index % cardNumPerRow;\r\n        const translateY = this.$px2rem(rowIndex * rect.height + 51);\r\n        const translateX = colIndex * rect.width;\r\n        item.style.transform =\r\n          \"translate(\" + translateX + \"px,\" + translateY + \")\";\r\n        item.style.transform =\r\n          \"translate(\" + translateX + \", \" + translateY + \") scale(1.1, 1.1)\";\r\n        item.style.transition = \"all 0.1s ease-in-out\";\r\n      } else {\r\n        // 单行布局\r\n        console.log(rect);\r\n        const translate = index * rect.width;\r\n        item.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n          51\r\n        )}) scale(1.1, 1.1)`;\r\n        item.style.transition = \"all 0.1s ease-in-out\";\r\n      }\r\n    },\r\n    mouseOutSlide(index) {\r\n      if (!this.canHover) {\r\n        return;\r\n      }\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const width = swiperWrapper[0].offsetWidth;\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      const item = items[index];\r\n      if (this.showList) {\r\n        // 多行布局\r\n        // 计算一行可以放几个卡片\r\n        const cardNumPerRow = Math.floor(width / rect.width);\r\n        const rowIndex = Math.floor(index / cardNumPerRow);\r\n        console.log(rowIndex);\r\n        const colIndex = index % cardNumPerRow;\r\n        const translateX = colIndex * rect.width;\r\n        const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n        item.style.transform =\r\n          \"translate(\" + translateX + \"px, \" + translateY + \"px) scale(1, 1)\";\r\n        item.style.transition = \"all 0.1s ease-in-out\";\r\n      } else {\r\n        // 单行布局\r\n        const rect = item.getBoundingClientRect();\r\n        const translate = index * rect.width;\r\n        item.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n          51\r\n        )}) scale(1, 1)`;\r\n        // const translateX = this.$px2rem(index * 255);\r\n        // item.style.transform =\r\n        //   \"translate(\" + translateX + \", \" + `${this.$px2rem(51)}) scale(1, 1)`;\r\n        item.style.transition = \"all 0.1s ease-in-out\";\r\n      }\r\n    },\r\n    toggleLayout(duration, isSearch = false) {\r\n      if (!this.originPosition) {\r\n        return;\r\n      }\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      console.log(items);\r\n      if (!items.length) {\r\n        return;\r\n      }\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      console.log(slidesClassTotalSwiper);\r\n      const swiperPagination =\r\n        slidesClassTotalSwiper.getElementsByClassName(\"swiper-pagination3\");\r\n      const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const width = swiperWrapper[0].offsetWidth;\r\n      console.log(width);\r\n      const rect = items[0].getBoundingClientRect();\r\n\r\n      // 重新计算每个元素的位置\r\n      console.log(this.showList);\r\n      if (this.showList) {\r\n        this.showLeftBtnList = false;\r\n        // 计算一行可以放几个卡片\r\n        const cardNumPerRow = Math.floor(width / rect.width);\r\n        console.log(cardNumPerRow);\r\n\r\n        if(!document.getElementById('newCover')) {\r\n          // 创建一个新的 div 元素\r\n          const newDiv = document.createElement(\"div\");\r\n          newDiv.className = \"swiper-slide-sub\"; // 给新 div 添加类名\r\n          newDiv.id = \"newCover\";\r\n          newDiv.innerHTML = items[0].innerHTML;\r\n          newDiv.style.opacity = 0;\r\n          // 找到第一个元素的父元素\r\n          const parent = items[0].parentNode;\r\n          // 在第一个元素之前插入新 div\r\n          parent.insertBefore(newDiv, items[0]);\r\n        }\r\n\r\n        this.$nextTick(() => {\r\n          const items1 = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n          console.log(items1);\r\n          // 多行布局\r\n          this.coverStatus = \"coverStatus4\";\r\n          this.coverListStatus = \"\";\r\n          // swiperPagination[0].style.display = \"none\";\r\n          for (let i = 0; i < items1.length; i++) {\r\n            const item = items1[i];\r\n            const rect = item.getBoundingClientRect();\r\n            console.log(item);\r\n            const rowIndex = Math.floor(i / cardNumPerRow);\r\n            console.log(rowIndex);\r\n            const colIndex = i % cardNumPerRow;\r\n            const translateX = colIndex * rect.width;\r\n            const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n            item.style.transform =\r\n              \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n            if (duration || duration == 0) {\r\n              item.style.transition = `all ${duration}s ease-in-out`;\r\n            } else {\r\n              item.style.transition = \"all 0.8s ease-in-out\";\r\n            }\r\n\r\n          }\r\n          let timeout = setTimeout(() => {\r\n            const coverList = document.getElementById(\"coverList\");\r\n            coverList.style.display = \"block\";\r\n            coverList.style.transform = `translate(${this.$px2rem(\r\n              31\r\n            )}, ${this.$px2rem(-462)}) scale(1.2)`;\r\n            const cover = document.getElementById(\"cover1\");\r\n            cover.style.display = \"none\";\r\n            this.$nextTick(() => {\r\n              swiperWrapper[0].style.overflowY = \"hidden\";\r\n            });\r\n            this.isToggleLayout = false;\r\n            this.addHover();\r\n            clearTimeout(timeout);\r\n          }, 950);\r\n          slidesClassTotalSwiper.removeEventListener(\"wheel\", this.throttledScroll);\r\n          slidesClassTotalSwiper.addEventListener(\"wheel\", this.throttledScrollList);\r\n        });\r\n      } else {\r\n        if (items[0].id == \"newCover\") {\r\n          // 找到第一个元素的父元素\r\n          const parent = items[0].parentNode;\r\n          // 在第一个元素之前插入新 div\r\n          parent.removeChild(items[0]);\r\n        }\r\n        this.$nextTick(() => {\r\n          // 单行布局\r\n          this.coverStatus = \"coverStatus5\";\r\n          const coverList = document.getElementById(\"coverList\");\r\n          coverList.style.display = \"none\";\r\n          const cover = document.getElementById(\"cover1\");\r\n          cover.style.display = \"block\";\r\n          // slidesClassTotalSwiper.style.overflowY = \"hidden\";\r\n          // swiperPagination[0].style.display = \"flex\";\r\n          for (let i = 0; i < items.length; i++) {\r\n            const item = items[i];\r\n            const rect = item.getBoundingClientRect();\r\n            const translate = i * rect.width;\r\n            item.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n              51\r\n            )})`;\r\n            if (duration || duration == 0) {\r\n              item.style.transition = `all ${duration}s ease-in-out`;\r\n            } else {\r\n              item.style.transition = \"all 0.8s ease-in-out\";\r\n            }\r\n          }\r\n          swiperWrapper[0].style.overflowY = \"unset\";\r\n          slidesClassTotalSwiper.removeEventListener(\"wheel\", this.throttledScrollList);\r\n          slidesClassTotalSwiper.addEventListener(\"wheel\", this.throttledScroll);\r\n\r\n          let timeout = setTimeout(() => {\r\n            clearTimeout(timeout);\r\n            this.isToggleLayout = false;\r\n            this.addHover();\r\n          }, 950);\r\n\r\n        });\r\n      }\r\n    },\r\n    showListFn(showList) {\r\n      // 还在动画则不能点击\r\n      if(!this.canHover) {\r\n        return\r\n      }\r\n\r\n      this.removeHover();\r\n\r\n      this.isToggleLayout = true;\r\n      console.log(\"isToggleLayout:\", this.isToggleLayout);\r\n      this.showList = showList;\r\n      this.needAni = false;\r\n      if (showList) {\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        slidesClassTotalSwiper.style.transform = `translateX(0px)`;\r\n        slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n      }\r\n      setTimeout(() => {\r\n        this.toggleLayout();\r\n      }, 300);\r\n    },\r\n    //元素在X轴上的平移动画,传入元素和目标位置\r\n    moveAnimate(element, target) {\r\n      //先清理定时器\r\n      clearInterval(element.timerId);\r\n      //给元素添加timerId属性,防止创建多个定时器以至于最后销毁不了\r\n      element.timerId = window.setInterval(function () {\r\n        //获取到元素的当前位置 没有px\r\n        var current = element.offsetLeft;\r\n        //每次走的步数\r\n        var step = 10;\r\n        //判断目标位置是否大于当前位置\r\n        step = target > current ? step : -step;\r\n        //移动到目标位置\r\n        current += step;\r\n        if (Math.abs(target - current) > Math.abs(step)) {\r\n          element.style.left = this.$px2rem(current);\r\n        } else {\r\n          //销毁定时器\r\n          window.clearInterval(element.timerId);\r\n          //让元素走到目标位置\r\n          element.style.left = this.$px2rem(target);\r\n        }\r\n      }, 20);\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n    async getStudyCourseTopClass() {\r\n      try {\r\n        const res = await getStudyCourseTopClass();\r\n        console.log(\"getStudyCourseTopClass:\",this.shouldInit);\r\n        if (res && res.code === 0) {\r\n          this.slidesTopClass = res.data;\r\n          if (this.slidesTopClass.length) {\r\n            let index = 0;\r\n            if(this.shouldInit) {\r\n              this.slidesTopClass.forEach((item, idx) => {\r\n                if(item.course_class_id == this.course_class_id) {\r\n                  index = idx;\r\n                }\r\n              })\r\n            }\r\n            // 跳转到当前一级分类\r\n            this.clickSwiperTab(index);\r\n          }\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    async getClassCompleteRatio() {\r\n      try {\r\n        console.log(\"getClassCompleteRatio:\", this.course_class_id, this.course_class_study2, this.shouldInit);\r\n        const res = await getClassCompleteRatio({ course_class_id: this.course_class_id });\r\n        if (res && res.code === 0) {\r\n          this.slides = res.data;\r\n          this.slides.forEach(async (item, index) => {\r\n            await this.getCourseCompleteData(item, item.course_class_id);\r\n            console.log(\"getClassCompleteRatio:\", index, this.slides.length - 1);\r\n            if(this.shouldInit) {\r\n                let slide = null;\r\n                if(item.course_class_id == this.course_class_study2) {\r\n                  // 选中二级分类\r\n                  slide = item;\r\n                  this.clickSlidesClassTotal(index);\r\n                  this.clickIndex = index;\r\n                  const subList = item.subList;\r\n                  if(subList) {\r\n                    subList.forEach((item1, idx) => {\r\n                      if(item1.course_id == this.course_id) {\r\n                        console.log(\"clickSlide\", idx);\r\n                        this.slideTo(idx);\r\n                      }\r\n                    })\r\n                  }\r\n                }\r\n              }\r\n          });\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    async getCourseCompleteData(item, course_class_id) {\r\n      const res = await getCourseCompleteData({ course_class_id, network_type: this.canAccessYouTube ? 1 : 2 });\r\n      if (res && res.code === 0) {\r\n        let data = res.data;\r\n        item.subList = data;\r\n        data.forEach((d) => {\r\n          if (\r\n            d.mindmap_complete == 1 &&\r\n            d.guannian_complete == 1 &&\r\n            d.xintai_complete == 1 &&\r\n            d.question_complete == 1 &&\r\n            d.solve_complete == 1 &&\r\n            d.experience_num > 0\r\n          ) {\r\n            d.status = 1;\r\n          } else {\r\n            d.status = 2;\r\n          }\r\n        });\r\n      }\r\n    },\r\n    // 日志详情\r\n    async getUserStudyLogDetail(course_id, course_isuseradd) {\r\n      try {\r\n        const res = await getUserStudyLogDetail({ course_id, course_isuseradd, is_new: 1 });\r\n        if (res && res.code === 0) {\r\n            if (res.data.length) {\r\n              this.data = res.data[0] || {};\r\n              console.log(\"getUserStudyLogDetail:\", this.data)\r\n              let experience = this.data.experience;\r\n              experience.forEach((item) => {\r\n                item.updateTime = this.$moment(\r\n                  new Date(parseFloat(item.experience_create_time + \"000\"))\r\n                ).format(\"YYYY-MM-DD\");\r\n              });\r\n              let question = this.data.question;\r\n              question.forEach((item) => {\r\n                item.percentage =\r\n                  (item.course_see_question_num / item.course_question_num) *\r\n                  100;\r\n              });\r\n              let question_solve = this.data.question_solve;\r\n              question_solve.forEach((item) => {\r\n                item.percentage =\r\n                  (item.course_question_num / item.course_solve_question_num) *\r\n                  100;\r\n              });\r\n            }\r\n          }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    // 日志列表横排时滚动到最左边\r\n    scrollSwiper3ToLeft() {\r\n      if(this.showList) {\r\n        return;\r\n      }\r\n      const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n      // 往左滚动\r\n      slidesClassTotalSwiper.style.transform = `translateX(0px)`;\r\n      slidesClassTotalSwiper.style.transition = \"all 0s ease-in-out\";\r\n    },\r\n    hideMask() {\r\n      console.log(\"hideMask:\", this.canHover);\r\n      if (this.isClickCourse) {\r\n        return;\r\n      }\r\n      if(!this.canHover) {\r\n        return;\r\n      }\r\n      if (this.showList && !this.originPosition) {\r\n        return;\r\n      }\r\n      this.shouldInit = false;\r\n      this.keywords = \"\";\r\n      this.swiperScrollClass = \"\";\r\n      this.canHover = false;\r\n      if(!this.showList) {\r\n        this.scrollSwiper3ToLeft();\r\n        let timeout = setTimeout(() => {\r\n          this.hideMask1();\r\n          clearTimeout(timeout);\r\n        }, 250);\r\n      } else {\r\n        this.hideMask1();\r\n      }\r\n    },\r\n    hideMask1() {\r\n      const swiper3 = document.getElementById(\"swiper3\");\r\n      const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n      const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      const width = swiperWrapper[0].offsetWidth;\r\n      const len = items.length;\r\n      for (let i = 0; i < len; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const rect = slide.getBoundingClientRect();\r\n        let translate = 0;\r\n        let diff = 0;\r\n        if (i >= 2) {\r\n          diff = rect.width * 0.05;\r\n        } else {\r\n          diff = rect.width * 0.05 * (i + 1);\r\n        }\r\n        if(i == 1 || i == 2) {\r\n          slide.style.zIndex = len - 1;\r\n        } else {\r\n          slide.style.zIndex = len - i;\r\n        }\r\n        translate = (width - rect.width) / 2 + diff; // 166是swiper-slide的高度\r\n        slide.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n          51\r\n        )})`;\r\n\r\n        slide.style.transition = \"all 0.8s ease-in-out\";\r\n      }\r\n      this.removeHover();\r\n\r\n      if (this.$refs.slidesClassTotalSwiper.swiper) {\r\n        this.$refs.slidesClassTotalSwiper.swiper.slideTo(0);\r\n      }\r\n      this.needAni = true;\r\n      let timeout1 = null;\r\n      let timeout2 = null;\r\n      if (this.showList) {\r\n        // 多行\r\n        const coverList = document.getElementById(\"coverList\");\r\n        const rect = coverList.getBoundingClientRect();\r\n        const translate = (width - rect.width * 0.6) / 2;\r\n        coverList.style.display = \"block\";\r\n        coverList.style.left = \"50%\";\r\n        coverList.style.transform = `translate(-50%, ${this.$px2rem(-462)}) scale(1.2)`;\r\n        coverList.style.transition = \"all 0.8s ease-in-out\";\r\n      } else {\r\n        this.coverStatus = \"coverStatus2\";\r\n      }\r\n\r\n      timeout1 = setTimeout(() => {\r\n        clearTimeout(timeout1);\r\n        timeout2 = setTimeout(() => {\r\n          this.showMask = false;\r\n          EventBus.$emit('STUDYLOG_IN_BOOK_LIST', true);\r\n          this.showList = false;\r\n          this.originPosition = true;\r\n          clearTimeout(timeout2);\r\n        }, 1200);\r\n      }, 100);\r\n    },\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    prev() {\r\n      this.changeFlag(this.swiper.activeIndex - 1);\r\n      this.swiper.slidePrev();\r\n    },\r\n    next() {\r\n      this.changeFlag(this.swiper.activeIndex + 1);\r\n      this.swiper.slideNext();\r\n    },\r\n    changeFlag(progress) {\r\n      if (progress <= 0) {\r\n        this.prevFlag = false;\r\n        this.nextFlag = true;\r\n      } else if (progress >= this.slides.length - 1) {\r\n        this.prevFlag = true;\r\n        this.nextFlag = false;\r\n      } else {\r\n        this.prevFlag = true;\r\n        this.nextFlag = true;\r\n      }\r\n    },\r\n    guide(info) {\r\n      // 关闭guide\r\n      if(this.studyLogGuideMode === 0) {\r\n        if(!this.prevShowDetail) {\r\n          this.slidesClassTotal = this.prevSlidesClassTotal;\r\n        }\r\n\r\n        this.$nextTick(() => {\r\n          this.studyLogGuideMode = 1;\r\n          if(!this.prevShowDetail) {\r\n            this.backToDetail();\r\n          }\r\n        })\r\n      }\r\n      else {\r\n        if(!this.showDetail) {\r\n          this.prevSlidesClassTotal = [].concat(this.slidesClassTotal);\r\n          this.slidesClassTotal = [this.guideSlidesClassTotal];\r\n        }\r\n\r\n        let time1 = 0;\r\n        // 先定位到最初始的位置\r\n        if(!this.showList) {\r\n          time1 = 200;\r\n          const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n          slidesClassTotalSwiper.style.transform = `translateX(${0}px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n        } else {\r\n          if(!this.originPosition) {\r\n            time1 = 800;\r\n            this.scrollSwiper3ListDown();\r\n          }\r\n        }\r\n\r\n        // 再执行引导\r\n        let timeout = setTimeout(() => {\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n          this.studyLogGuideMode = 0;\r\n          this.$nextTick(() => {\r\n            EventBus.$emit(\"enableReadOnlyMode\");\r\n\r\n            this.prevShowDetail = this.showDetail;\r\n            let time = 1000;\r\n            if(!this.showDetail) {\r\n              const el = document.querySelector('.guideBox #newCover');\r\n              let clientWidth = el ? el.clientWidth : 0;\r\n              const targetEl = document.querySelector('.guideBox #slide0.swiper-slide-sub');\r\n              clientWidth = clientWidth || targetEl.clientWidth;\r\n              if(this.showList) {\r\n                const swiper3 = document.getElementById(\"swiper3\");\r\n                const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n                let translateX = 0;\r\n                let translateY = 0;\r\n                if(items && items[1]) {\r\n                  const item = items[1];\r\n                  const rect = item.getBoundingClientRect();\r\n                  translateX = 1 * rect.width;\r\n                  translateY = 0 * rect.height + rect.height * 0.15;\r\n                }\r\n                targetEl.style.transform = `translate(${translateX}px, ${translateY})`;\r\n              } else {\r\n                targetEl.style.transform = `translate(${0}px, ${this.$px2rem(51)})`;\r\n              }\r\n              this.toDetail(0);\r\n              time = 2000;\r\n            }\r\n            if(this.timeValueToDetail) {\r\n              clearTimeout(this.timeValueToDetail);\r\n              this.timeValueToDetail = null;\r\n            }\r\n\r\n            this.timeValueToDetail = setTimeout(() => {\r\n              this.initGuide();\r\n\r\n              clearTimeout(this.timeValueToDetail);\r\n              this.timeValueToDetail = null;\r\n            }, time)\r\n          });\r\n        }, time1);\r\n      }\r\n    },\r\n    initGuide() {\r\n      this.studyLog_guide([\r\n        {\r\n          intro: \"点击查看文章内容\",\r\n          element: document.querySelector(\"#completeData\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击可以查看导图，并保存为图片\",\r\n          element: document.querySelector(\"#studyLog_step2\"),\r\n          position: \"bottom\",\r\n        },\r\n      ]);\r\n    },\r\n    studyLog_guide(introSteps) {\r\n      let count = 0;\r\n      const intro = introJs();\r\n      let that = this;\r\n      let initialStates1 = {};\r\n      let initialStates2 = {};\r\n      let initialStates3 = {};\r\n      let itemValue = [];\r\n\r\n      intro.setOptions({\r\n        steps: introSteps,\r\n        /* 当位置选择自动的时候，位置排列的优先级 */\r\n        positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n        prevLabel: \"上一条\",\r\n        nextLabel: \"下一条\",\r\n        skipLabel: \"跳过\",\r\n        // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n        doneLabel: \"下一条\",\r\n        hidePrev: true,\r\n        exitOnOverlayClick: false,\r\n        /* 是否显示说明的数据步骤*/\r\n        showStepNumbers: false,\r\n        /* 是否使用点点点显示进度 */\r\n        showBullets: false,\r\n        /* 是否使用键盘Esc退出 */\r\n        exitOnEsc: false,\r\n        /* 默认提示位置 */\r\n        hintPosition: \"top-left\",\r\n        /* 说明高亮区域的样式 */\r\n        highlightClass: \"index_customHighlight\",\r\n        /* 引导说明文本框的样式 */\r\n        tooltipClass: \"index_customTooltip\",\r\n        disableInteraction: true,\r\n        scrollToElement: false,\r\n        helperElementPadding: 0,\r\n      });\r\n      intro.onchange(function (targetElement) {\r\n        count = this.currentStep() + 1;\r\n      });\r\n      intro.onbeforechange(async (targetElement) => {\r\n        try {\r\n        } catch (error) {\r\n          console.error(\"Error in intro.onbeforechange:\", error);\r\n        }\r\n      });\r\n\r\n      intro.onafterchange(function (targetElement) {\r\n        if (count === 1) {\r\n          EventBus.$emit(\"disableReadOnlyMode\");\r\n          document.getElementsByClassName(\r\n            \"introjs-helperLayer\"\r\n          )[0].style.borderRadius = `${20 / 108}rem`;\r\n          let helperLayer = document.getElementsByClassName(\r\n            \"introjs-helperLayer\"\r\n          )[0];\r\n          let width = parseFloat(helperLayer.style.width) - 7;\r\n          let height = parseFloat(helperLayer.style.height) - 19;\r\n          helperLayer.style.width = `${width}px`;\r\n          helperLayer.style.height = `${height}px`;\r\n          document.getElementsByClassName(\r\n            \"introjs-tooltiptext\"\r\n          )[0].style.display = \"flex\";\r\n          document.getElementsByClassName(\r\n            \"introjs-tooltiptext\"\r\n          )[0].style.justifyContent = \"center\";\r\n          let detailWrapper =\r\n            document.getElementsByClassName(\"detailWrapper\")[0];\r\n          let elements1 = detailWrapper.querySelectorAll(\".course_class_name\");\r\n          elements1.forEach((element) => {\r\n            let computedStyle = getComputedStyle(element);\r\n            if (computedStyle.display !== \"none\") {\r\n              initialStates1 = {\r\n                innerHTML: element.innerHTML,\r\n              };\r\n\r\n              element.innerHTML = \"智慧人生&nbsp;&nbsp;信仰篇\";\r\n            }\r\n          });\r\n          let elements2 = detailWrapper.querySelectorAll(\r\n            \".ellipsis-content.course_name\"\r\n          );\r\n          elements2.forEach((element) => {\r\n            let computedStyle = getComputedStyle(element);\r\n            if (computedStyle.display !== \"none\") {\r\n              initialStates2 = {\r\n                innerHTML: element.innerHTML,\r\n              };\r\n\r\n              element.innerHTML = \"人生五大问题\";\r\n            }\r\n          });\r\n          let element3 = detailWrapper.querySelectorAll(\r\n            \".course_intro2.course_intro\"\r\n          );\r\n          element3.forEach((element) => {\r\n            let computedStyle = getComputedStyle(element);\r\n            if (computedStyle.display !== \"none\") {\r\n              initialStates3 = {\r\n                innerHTML: element.innerHTML,\r\n                fontSize: element.style.fontSize,\r\n              };\r\n              element.style.fontSize = `${12 / 108}rem`;\r\n              element.innerHTML =\r\n                \"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。\";\r\n            }\r\n          });\r\n\r\n          let item_elements = detailWrapper.querySelectorAll(\r\n            \".item.item-value.item-value1\"\r\n          );\r\n\r\n          let imgSrc =\r\n            \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAABQZJREFUWEfVmdtPHHUUx79nFpBSLi1QWG5tWgrEVguNbVN6SYyXCkRMk5o2Nho0Ro3GxIdd6t/Qwj4ZWzUaqw8aaxOjJOxW+9ZWaMHYGGO6CzQ2gEBpKffLwswxv1kWdpbdncsuTXaSfZk5l8+eOb9zzvx+hDguZibnVd9hSaZGhZUdBCoikJ3BdiZiiTHC4GEGD0kk3VVs3Nb6QuUNImKrbsmKoqPdWw/CSSI0MKPAjA0i3GdGOxiXXA1VbjO6QtYUsOM37xGSpXPMSq1ZR5HkiaQOtilnXC9WXTdqzxBw8699FSzLLgY3GjVsRo5AbWSzOVqOlffo6ekCi9dPEn3HzJv0jMXznIjGWeHTemkSE9jh6XWAlbMA2+KBMa5LMkj62FW30xVNJyqw0+M7z8zvG3eWOEkiutBaV/lBxLyPdDMQWbk1cQgWLJHNGSnSayIcKFnU9vjSIOrLl8HcGJ7TGmC1GijyrfVeYEbjLRYiSbYDodVDA+x0+35Zr9JlFDJcTpS81vrKV4L3V4BFU8ASrlk1vK56KTgabC6rwG5fB8AH19WxZePU6aqvVLurCrw8G7RbtmdR0UbAid2FqLZn4d74HL69PYT5JSWyNUaDWIAqsNPtvchAk0W/ltQkAppqirG7MHNF39PzAFf7xqLZu+iqr3qLxIjYfMU3bHbqskS5rCRgX68uwh57lsZMLGAx5bW8VGmnx73YxCs9XW3H3qJsDezI9AI+6eyPnhJCOgVHqdnjO6swn9GLmIjKlo1pGJtdxKJibf4WsKeetmNfiRZ2dMaP8zf7MeWXY2JIROfI4b7zI0CvxpJMlQgfHixDSXY6JheW8M2f/+He+Lzef1zz/ORThThQmqO5/3DWj09vDqh29S++TE639zoDh2MJV9sz8UZN8YqIX1ZUaO+DWX0fyxIndhWgdqt2Qh2bW1QjOz5vBFYtaTeo2e3rVcDlsTyX5aTjo9qtGhFZYXz/1zBuD0/pQh9/cguObNuskRsXsLf6MTZnDFYoS6A+EeFpBjbqeX1uRy4aKvM1YgozfvrnPjr6J6Kqv1yVj2e352qeT8wvqbAPZxf13GqeEzBDDo9vCsyrxTCGiUNlOTi+qwASaYe8aOWoviIPz5fnaSxOLQRgR2fMwapGiKYNpUSoxxp7Fl7bY4dNlI2Q69q/j/DzndGVO8d25kH8Qq8Zv6zCjkz7TUU2KBxMCd1FF269Kj8DTXuLkWaTNI+6Bydx6e9hNQXC02fWL+NC1wCGphYswaoBFovOSFmL5GHbpnS8/UwJMlK1n3vDUwuwZz2hUZlblPFZ1wAGJ63DBgzyZcONIxK0PTMN7+4rRXZ6StSozS/J+LxrEP0T5ut2uNFA44hzDs7dkIr39pcgLyNtDfTCkoIvugcsNZmIERCtORHDT1aaDe/sL0VxSCqI5vJl9yDuPpqznLOhiivDj7jpcHu/BvBmPJbTUyQ1p7dv3oBFWcFXfwyidywxsMtcgfFSBQ5s7sU9wIuZQ0xiopH4TLRtQ4EKHeCFgtPT83uiNvkMAZgQEpuGrXUVh5ZLW0Az3sVnwr950UgfoWqUk+kzXwAn3UbK6gJMkq2qYHIl1WZgEDqptlu1kU6SDe0V6GQ6MghCJ9WhTGiVDzQXakncpiF1IoWbE37sFd6a1JMlwikQ6s1ucYmpCww3M37QOzGK1BJ1j71i9dFYR7eBvk/i2DahR7f/A/8+VIuSHMGCAAAAAElFTkSuQmCC\";\r\n          let styles = {\r\n            fontSize: \"0.12962963rem\",\r\n            fontFamily: \"PingFangSC-Medium, PingFang SC\",\r\n            fontWeight: \"500\",\r\n            color: \"#7e878c\",\r\n            lineHeight: \"0.18518519rem\",\r\n            textAlign: \"center\",\r\n          };\r\n          for (let i = 0; i <= 5; i++) {\r\n            let element = item_elements[i];\r\n            itemValue[i] = {\r\n              innerHTML: element.innerHTML,\r\n              style: {},\r\n            };\r\n            let computedStyle = getComputedStyle(element);\r\n            for (let property in computedStyle) {\r\n              itemValue[i].style[property] = computedStyle[property];\r\n            }\r\n            if (computedStyle.display !== \"none\") {\r\n              if (i === 0 || i === 2 || i === 3) {\r\n                if (!element.querySelector(\"img\")) {\r\n                  let spans = element.querySelectorAll(\"span\");\r\n                  spans.forEach((span) => span.remove());\r\n                  that.addImage(element, imgSrc);\r\n                }\r\n              } else if (i === 1 || i === 4) {\r\n                if (!element.querySelector(\"span\")) {\r\n                  let imgs = element.querySelectorAll(\"img\");\r\n                  imgs.forEach((img) => img.remove());\r\n                  that.addSpan(element, \"未完成\", styles);\r\n                }\r\n              } else if (i === 5) {\r\n                element.innerHTML = \"2\";\r\n                element.style.color = \"#73b7d9\";\r\n              }\r\n            }\r\n          }\r\n        } else if (count === 2) {\r\n          let text = \"点击可以查看导图，并保存为图片\";\r\n          let width = text.length * 15;\r\n          document.getElementsByClassName(\r\n            \"index_customTooltip\"\r\n          )[0].style.minWidth = `${(width + 26) / 108}rem`;\r\n          document.getElementsByClassName(\r\n            \"introjs-tooltipReferenceLayer\"\r\n          )[0].style.marginLeft = `-${15 / 108}rem`;\r\n          document.getElementsByClassName(\r\n            \"introjs-arrow\"\r\n          )[0].style.marginLeft = `${25 / 108}rem`;\r\n          document.getElementsByClassName(\r\n            \"introjs-helperLayer\"\r\n          )[0].style.borderRadius = \"0.0462963rem\";\r\n          document.getElementsByClassName(\"introjs-nextbutton\")[0].innerHTML =\r\n            \"知道了\";\r\n        }\r\n      });\r\n\r\n      intro.oncomplete(function (targetElement) {\r\n        let detailWrapper = document.getElementsByClassName(\"detailWrapper\")[0];\r\n        let elements1 = detailWrapper.querySelectorAll(\".course_class_name\");\r\n        elements1.forEach((element) => {\r\n          element.innerHTML = initialStates1.innerHTML;\r\n        });\r\n        let elements2 = detailWrapper.querySelectorAll(\r\n          \".ellipsis-content.course_name\"\r\n        );\r\n        elements2.forEach((element) => {\r\n          element.innerHTML = initialStates2.innerHTML;\r\n        });\r\n        let element3 = detailWrapper.querySelectorAll(\r\n          \".course_intro2.course_intro\"\r\n        );\r\n        element3.forEach((element) => {\r\n          element.innerHTML = initialStates3.innerHTML;\r\n          element.style.fontSize = initialStates3.fontSize;\r\n        });\r\n        let element4 = detailWrapper.querySelectorAll(\r\n          \".item.item-value.item-value1\"\r\n        );\r\n        for (let i = 0; i <= 5; i++) {\r\n          let element = element4[i];\r\n          element.innerHTML = itemValue[i].innerHTML;\r\n          if (i === 5) {\r\n            element.style.color = itemValue[i].style.color;\r\n          }\r\n        }\r\n        // 引导完成，请求真实数据, 关闭guide\r\n        that.guide('close');\r\n        that.setUserGuideStatus();\r\n\r\n\r\n      });\r\n      intro.onexit(function (targetElement) {\r\n        // 点击完成按钮后， 执行的事件\r\n      });\r\n      intro.onskip(function (targetElement) {\r\n        // 点击跳过按钮后， 执行的事件\r\n      });\r\n      intro.start();\r\n    },\r\n    addImage(parentElement, src) {\r\n      let img = document.createElement(\"img\");\r\n      img.src = src;\r\n      img.style.width = \"0.2037037rem\";\r\n      img.style.height = \"0.2037037rem\";\r\n      parentElement.appendChild(img);\r\n    },\r\n    addSpan(parentElement, text, styles) {\r\n      let span = document.createElement(\"span\");\r\n      span.innerHTML = text;\r\n      for (let prop in styles) {\r\n        span.style[prop] = styles[prop];\r\n      }\r\n      parentElement.appendChild(span);\r\n    },\r\n\r\n    async setUserGuideStatus() {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      guideStatus.studyLog = 1;\r\n      const jsonData = {\r\n        guide_status: JSON.stringify(guideStatus),\r\n      };\r\n      // 设置用户引导状态\r\n      const setUserRes = await setUserGuideStatus(jsonData);\r\n      if (setUserRes.code === 0) {\r\n        // 再次获取用户引导状态\r\n        const updatedRes = await getUserGuideStatus();\r\n        guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n      }\r\n      if (guideStatus) {\r\n        localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n      }\r\n    },\r\n\r\n    popstate(event) {\r\n      history.pushState(null, null, location.href);\r\n    },\r\n    async initStudyLog() {\r\n      if (this.course_class_id) {\r\n        await this.getStudyCourseTopClass();\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log('inited  activated');\r\n\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  destroyed() {\r\n    EventBus.$off(\"studyLog_initGuide\", this.guide);\r\n    window.removeEventListener('popstate', this.popstate);\r\n  },\r\n  mounted() {\r\n    console.log('inited  mounted');\r\n    const box = document.getElementById(\"study-log-box\");\r\n    if(box) {\r\n      box.addEventListener(\"wheel\", this.throttledHandleWheel);\r\n    }\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.toggle();\r\n    EventBus.$on(\"studyLog_initGuide\", this.guide);\r\n    EventBus.$on(\"RESIZE\", throttle(this.windowResize, 100));\r\n\r\n    // this.courseId = this.course_id;\r\n\r\n    // 监听popstate事件，即用户试图回退的事件\r\n    window.addEventListener('popstate', this.popstate);\r\n\r\n    const course_class_study1 = this.$route.query.course_class_study1;\r\n    const course_class_study2 = this.$route.query.course_class_study2;\r\n    if(course_class_study1 && course_class_study2) {\r\n      this.shouldInit = true;\r\n      // 找到并展开\r\n      this.course_class_id = course_class_study1;\r\n      this.course_class_study1 = course_class_study1;\r\n      this.course_class_study2 = course_class_study2;\r\n      this.initStudyLog();\r\n    } else {\r\n      this.getStudyCourseTopClass();\r\n    }\r\n\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@time: 1s;\r\n// ------------------------------------------------------\r\n.goTop(@i) {\r\n  .goTopKeyframe(~` \"slideAni\" + Math.round(Math.random() * 1e8) `, @i);\r\n}\r\n\r\n.goTopKeyframe(@name, @i) {\r\n  @keyframes @name {\r\n    0% {\r\n      transform: translateX(@i * -260px);\r\n      // left: 0;\r\n    }\r\n    100% {\r\n      // transform: translateX(@i * -240px);\r\n      transform: translateX(-750px);\r\n      // left: calc(50% - 13px);\r\n      // left: @i * 250 - 750px;\r\n    }\r\n  }\r\n\r\n  animation-name: @name;\r\n  animation-duration: @time;\r\n  animation-timing-function: ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  animation-delay: @i * 0.1s;\r\n}\r\n\r\n.css3(@i) when (@i < 10) {\r\n  .item__animm@{i} {\r\n    .goTop(@i);\r\n  }\r\n  .css3((@i + 1));\r\n}\r\n\r\n.css3(0);\r\n\r\n// ---------------------------------------------------------------------\r\n\r\n.goTop1(@i) {\r\n  .goTopKeyframe1(~` \"slideAni\" + Math.round(Math.random() * 1e8) `, @i);\r\n}\r\n\r\n.goTopKeyframe1(@name, @i) {\r\n  @keyframes @name {\r\n    0% {\r\n      transform: translateX(-750px);\r\n      // left: @i * 250 - 750px;\r\n    }\r\n    100% {\r\n      transform: translateX(@i * -260px);\r\n      // transform: translateX(-750px);\r\n      // left: 0;\r\n    }\r\n  }\r\n\r\n  animation-name: @name;\r\n  animation-duration: @time;\r\n  animation-timing-function: ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  // animation-delay: @i * 0.2s;\r\n}\r\n\r\n.loop(@i) when (@i < 10) {\r\n  .item__animm1@{i} {\r\n    .goTop1(@i);\r\n  }\r\n  .loop((@i + 1));\r\n}\r\n\r\n.loop(0);\r\n\r\n.loop1(@i) when (@i < 10) {\r\n  .item__anim@{i} {\r\n    // transform: translateX(-750px);\r\n    // left: @i * 250 - 750px;\r\n  }\r\n  .loop1((@i + 1));\r\n}\r\n\r\n.loop1(0);\r\n// -------------------------------------------------\r\n\r\n.swiper3 {\r\n  .swiper-slide-sub {\r\n    // transition: all 1s ease;\r\n    // transform-origin: center; /* 设置变换的原点为中心 */\r\n  }\r\n\r\n  .swiper3-wrapper {\r\n    transition: all 2s ease;\r\n    transform: translate3d(96px, 0px, 0px);\r\n  }\r\n\r\n  .expanded {\r\n    // transform: translateX(50%) scale(1.5); /* 以中心为原点向两边展开 */\r\n    // opacity: 0.8; /* 非中间的项目降低透明度 */\r\n    // z-index: -1; /* 非中间的项目降低层级 */\r\n\r\n    transition: all 1s ease;\r\n    transform-origin: center; /* 设置变换的原点为中心 */\r\n  }\r\n\r\n  /deep/ .swiper-container {\r\n    width: calc(100% - 116px) !important;\r\n    height: 100%;\r\n    min-height: 460px !important;\r\n  }\r\n}\r\n\r\n.right-btn-bg {\r\n  width: 93px;\r\n  height: 100%;\r\n  position: absolute;\r\n  background: rgba(234, 237, 239, 0.9);\r\n  right: 0;\r\n  top: 0;\r\n  z-index: 98;\r\n}\r\n.right-btn-bg1 {\r\n  width: 93px;\r\n  height: 100%;\r\n  position: fixed;\r\n  background: rgba(234, 237, 239, 0.9);\r\n  right: 0;\r\n  top: 147px;\r\n  z-index: 98;\r\n}\r\n\r\n.left-btn-bg {\r\n  left: 0;\r\n}\r\n\r\n.main-content {\r\n  // margin-top: 60px;\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n  z-index: 105;\r\n}\r\n\r\n.list-container {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  flex-wrap: wrap;\r\n  // top: 30px !important;\r\n  overflow-y: auto;\r\n  width: 90% !important;\r\n  margin-left: 93px;\r\n  // padding-top: 26px;\r\n  margin-top: 78px;\r\n  height: calc(100% - 310px);\r\n  min-height: 330px !important;\r\n\r\n  &::-webkit-scrollbar {\r\n    /*滚动条整体样式*/\r\n    width: 5px;\r\n    /*高宽分别对应横竖滚动条的尺寸*/\r\n    height: 100px;\r\n  }\r\n\r\n  &::-webkit-scrollbar-thumb {\r\n    /*滚动条里面小方块*/\r\n    border-radius: 3px;\r\n    background: #64afd5;\r\n  }\r\n\r\n  &::-webkit-scrollbar-track {\r\n    /*滚动条里面轨道*/\r\n    border-radius: 3px;\r\n    background: #eaedef;\r\n  }\r\n\r\n  .cover1 {\r\n    top: 107px !important;\r\n  }\r\n\r\n  .list {\r\n    width: 235px;\r\n    height: 300px;\r\n    margin-right: 20px;\r\n\r\n    .content {\r\n      // margin-top: -2px;\r\n    }\r\n\r\n    .course_class_name {\r\n      padding-top: 15px;\r\n    }\r\n  }\r\n}\r\n\r\n.box {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n  background: #eaedef;\r\n  // padding-top: 60px;\r\n  .title {\r\n    display: flex;\r\n    width: 200px;\r\n    margin: 35px 32px 0;\r\n    align-items: center;\r\n    color: #64afd5;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    cursor: pointer;\r\n    font-size: 20px;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    line-height: 30px;\r\n    position: relative;\r\n\r\n    .think_back {\r\n      margin-right: 10px;\r\n      margin-top: 2px;\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n  }\r\n  .title-box {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    z-index: 13;\r\n    position: relative;\r\n  }\r\n\r\n  .search {\r\n    margin: 35px 32px 0;\r\n    /deep/ .el-input {\r\n      width: 220px;\r\n      padding-left: 0;\r\n    }\r\n\r\n    /deep/ .el-input__inner {\r\n      background-color: #eaedef;\r\n      border: 1px solid #d4d9db;\r\n      border-radius: 20px;\r\n      padding-left: 30px;\r\n      height: 30px;\r\n    }\r\n\r\n    /deep/ .el-input__prefix {\r\n      color: #64afd5;\r\n    }\r\n  }\r\n\r\n  .content-box1 {\r\n    padding: 73px 0 0 0;\r\n    width: 100%;\r\n    display: flex;\r\n    justify-content: center;\r\n\r\n    &.course_class_name1 {\r\n      font-size: 24px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 36px;\r\n      position: relative;\r\n\r\n      .btns1 {\r\n        position: absolute;\r\n        width: 200px;\r\n        top: 73px;\r\n        right: 0;\r\n        z-index: 10;\r\n\r\n        .card_img {\r\n          width: 21px;\r\n          height: 21px;\r\n        }\r\n\r\n        .list_img {\r\n          width: 31px;\r\n          height: 16px;\r\n        }\r\n\r\n        img {\r\n          cursor: pointer;\r\n\r\n          &:first-child {\r\n            margin-right: 10px;\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    .swiper {\r\n      width: 50%;\r\n      min-width: 500px;\r\n    }\r\n\r\n    /deep/ .swiper-container {\r\n      width: 100%;\r\n      height: 100%;\r\n    }\r\n\r\n    /deep/ .swiper-wrapper {\r\n      align-items: center;\r\n      left: -50%;\r\n    }\r\n\r\n    /deep/ .swiper-slide {\r\n      width: auto !important;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: rgba(100,175,213,0.5);\r\n      line-height: 36px;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .swiper-slide-active {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 20px;\r\n      color: #64AFD5;\r\n      line-height: 36px;\r\n    }\r\n  }\r\n\r\n  .content-box2 {\r\n    padding: 73px 0 0 0;\r\n  }\r\n\r\n  .content-box {\r\n    padding: 0;\r\n    min-height: 530px;\r\n    position: relative;\r\n    background: #eaedef;\r\n\r\n    .swiper2 {\r\n      // position: absolute;\r\n      background-color: #eaedef;\r\n      width: 1920px !important;\r\n      height: 400px;\r\n\r\n      /deep/ .swiper-container {\r\n        padding-left: 100px;\r\n        height: 400px;\r\n      }\r\n\r\n      /deep/ .swiper-wrapper {\r\n        position: absolute;\r\n        height: 370px;\r\n      }\r\n\r\n      .content {\r\n        margin-top: -9px;\r\n      }\r\n    }\r\n\r\n    .swiper3 {\r\n      position: relative;\r\n      background-color: #eaedef;\r\n      height: 100%;\r\n      top: 0;\r\n\r\n      .swiper-wrapper {\r\n        position: absolute;\r\n        align-items: flex-start;\r\n        width: calc(100% - 116px) !important;\r\n        height: 100%;\r\n      }\r\n    }\r\n\r\n    .swiper {\r\n      width: 100%;\r\n      // height: 600px;\r\n      // height: calc(100% - 134px);\r\n      min-height: 600px;\r\n      // margin-left: 100px;\r\n      position: relative;\r\n      // top: -134px;\r\n    }\r\n\r\n    /deep/ .swiper-container {\r\n      width: 100%;\r\n      height: 100%;\r\n      min-height: 460px;\r\n    }\r\n\r\n    /deep/ .swiper-wrapper {\r\n      align-items: flex-start;\r\n      // left: -150px;\r\n    }\r\n\r\n    .swiper1 {\r\n      /deep/ .swiper-slide {\r\n        &:hover {\r\n          transform: scale(1.2, 1.2) !important;\r\n          transition: all 0.3s ease;\r\n        }\r\n      }\r\n\r\n      .swiper-container {\r\n        height: 320px;\r\n      }\r\n\r\n      /deep/ .swiper-wrapper {\r\n        padding-top: 51px;\r\n        height: calc(100% - 120px);\r\n      }\r\n    }\r\n\r\n    /deep/ .swiper-slide {\r\n      width: auto !important;\r\n      height: 320px;\r\n      /* Center slide text vertically */\r\n      color: #292929;\r\n      font-family: \"SourceHanSansCN-Medium\";\r\n      // background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n      // background-size: 100%;\r\n      position: relative;\r\n      cursor: pointer;\r\n\r\n      .top {\r\n        width: 100%;\r\n        height: 100%;\r\n        overflow: hidden;\r\n        transition: transform 1000ms ease-in-out;\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: center;\r\n        position: absolute;\r\n      }\r\n\r\n      .classCompleteRatio {\r\n        &::before {\r\n          position: absolute;\r\n          content: \"\";\r\n          width: 1px;\r\n          background-color: #9ac5da;\r\n          left: 35px;\r\n          z-index: 30000000;\r\n          height: 253px;\r\n          top: 19px;\r\n        }\r\n      }\r\n\r\n      .top .item {\r\n        top: 0;\r\n        width: 100%;\r\n      }\r\n\r\n      // .sel .top,\r\n      // .sel .bottom {\r\n      //   background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n      //   background-repeat: no-repeat;\r\n      //   color: #fff;\r\n      // }\r\n\r\n      .evp {\r\n        // position: absolute;\r\n        // top: 0;\r\n        // left: 0;\r\n        // width: 100%;\r\n        // height: 100%;\r\n        perspective: 360px;\r\n        width: 220px !important;\r\n        height: 319px;\r\n        background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n        background-size: 100%;\r\n        background-repeat: no-repeat;\r\n        position: relative;\r\n      }\r\n\r\n      .card {\r\n        width: 20px;\r\n        padding: 116px 0;\r\n        background: #eeecec;\r\n        border-radius: 8px;\r\n        position: absolute;\r\n        top: 33px;\r\n        right: 11px;\r\n        box-shadow: 0 0 5px #ccc;\r\n        z-index: 2;\r\n      }\r\n\r\n      .card1 {\r\n        width: 30px;\r\n        padding: 114px 0;\r\n        background: #eeecec;\r\n        border-radius: 8px;\r\n        position: absolute;\r\n        top: 35px;\r\n        right: 4px;\r\n        -webkit-box-shadow: 0 0 5px #ccc;\r\n        box-shadow: 0 0 8px #ccc;\r\n        z-index: 1;\r\n      }\r\n\r\n      .subList {\r\n        top: 0;\r\n        left: 0;\r\n        height: 230px;\r\n      }\r\n\r\n      // .item {\r\n      //   position: absolute;\r\n      //   left: 0;\r\n      //   height: 200%;\r\n      //   display: flex;\r\n      //   flex-direction: column;\r\n      // }\r\n\r\n      .before {\r\n        z-index: 2;\r\n      }\r\n\r\n      .num {\r\n        font-size: 38px;\r\n        margin: 40px 40px 0 40px;\r\n        cursor: pointer;\r\n      }\r\n\r\n      .pcont {\r\n        font-family: SourceHanSansCN;\r\n        z-index: 10;\r\n        overflow: hidden;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n        white-space: pre-wrap;\r\n        text-overflow: ellipsis;\r\n        -webkit-line-clamp: 4;\r\n        -webkit-box-orient: vertical;\r\n        display: -webkit-box;\r\n        font-size: 32px;\r\n        font-weight: 200;\r\n        color: #ffffff;\r\n        line-height: 42px;\r\n        margin-left: 46px;\r\n        padding-right: 50px;\r\n      }\r\n\r\n      .logRatio {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: rgba(255, 255, 255, 0.4);\r\n        line-height: 53px;\r\n        margin-left: 46px;\r\n\r\n        .complete {\r\n          color: #fff;\r\n          font-weight: 700;\r\n        }\r\n      }\r\n\r\n      .el-icon-circle-check {\r\n        position: absolute;\r\n        font-size: 32px;\r\n        left: 90px;\r\n        bottom: 40px;\r\n        z-index: 10;\r\n        color: #d4d9db;\r\n      }\r\n\r\n      .selnum {\r\n        font-size: 26px;\r\n        margin: 30px 30px 0 30px;\r\n        color: #64afd5;\r\n      }\r\n\r\n      .selTitle {\r\n        margin: 10px 30px 0 30px;\r\n        color: #64afd5;\r\n        font-size: 14px;\r\n        font-family: \"SourceHanSansCN-Medium\";\r\n        overflow: auto;\r\n        // word-break: break-all;\r\n        // word-wrap: break-word;\r\n        // white-space: pre-wrap;\r\n        min-height: 45px;\r\n        border-bottom: 1px solid #64afd5;\r\n      }\r\n\r\n      .selCont {\r\n        margin: 10px 30px 20px 30px;\r\n        height: 108px;\r\n        overflow: hidden;\r\n        display: flex;\r\n        flex-direction: column;\r\n\r\n        .sevcont {\r\n          width: 100%;\r\n          display: flex;\r\n\r\n          .dian {\r\n            content: \"●\";\r\n            width: 4px;\r\n            height: 4px;\r\n            background-color: #64afd5;\r\n            border-radius: 50%;\r\n            margin-right: 5px;\r\n            display: block;\r\n            margin-top: 8px;\r\n          }\r\n\r\n          span {\r\n            width: 150px;\r\n            font: normal normal normal 12px/1 SourceHanSansCN, SourceHanSansCN;\r\n            white-space: pre-wrap;\r\n            word-wrap: break-word;\r\n            word-break: break-all;\r\n            line-height: 20px;\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    .swiper-slide-active {\r\n      // transform: scale(1.2, 1.2);\r\n    }\r\n\r\n    /deep/ .swiper-pagination {\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      z-index: 5;\r\n      bottom: 30px;\r\n    }\r\n\r\n    /deep/ .swiper-pagination2 {\r\n      position: absolute;\r\n      text-align: center;\r\n      transform: translate3d(0, 0, 0);\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      z-index: 5;\r\n      bottom: 0px;\r\n    }\r\n\r\n    /deep/ .swiper-pagination3 {\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      z-index: 5;\r\n      bottom: 0px;\r\n      position: absolute;\r\n    }\r\n\r\n    /deep/ .swiper-pagination-bullet {\r\n      width: 4px;\r\n      height: 4px;\r\n      border: 1px solid #64afd5;\r\n      border-radius: 50%;\r\n      margin-right: 5px;\r\n      cursor: pointer;\r\n      margin-top: 50px;\r\n      background: rgba(0, 0, 0, 0);\r\n      opacity: 1;\r\n    }\r\n\r\n    /deep/ .swiper-pagination-bullet-active {\r\n      width: 9px;\r\n      height: 9px;\r\n      background: #64afd5;\r\n      border: 1px solid #64afd5;\r\n      border-radius: 50%;\r\n    }\r\n\r\n    .btns {\r\n      width: 100%;\r\n      height: 100%;\r\n      position: absolute;\r\n      z-index: 99;\r\n    }\r\n    .btns2 {\r\n      position: absolute;\r\n      z-index: 99;\r\n      width: 93px;\r\n      height: 100%;\r\n      background-color: #eaedef;\r\n    }\r\n\r\n    .swiper-button-prev {\r\n      width: 36px;\r\n      height: 36px;\r\n      top: 38%;\r\n      // left: -50px;\r\n      background-image: url(\"~@/assets/img/think_arrow_left.png\");\r\n      background-size: 100% 100%;\r\n      // transform: rotate(180deg);\r\n    }\r\n\r\n    .opac {\r\n      opacity: 0.3;\r\n      cursor: default;\r\n    }\r\n\r\n    .swiper-button-next {\r\n      width: 52px;\r\n      height: 52px;\r\n      top: 202px;\r\n      right: 29px;\r\n      // right: -50px;\r\n      background-image: url(\"~@/assets/img/think_arrow.png\");\r\n      background-size: 100% 100%;\r\n    }\r\n  }\r\n\r\n  .mask {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    // background-color: red;\r\n    z-index: 100;\r\n    overflow: hidden;\r\n    background: #eaedef;\r\n\r\n    .mask_layer {\r\n      position: absolute;\r\n      width: 100%;\r\n      height: 100%;\r\n      z-index: 999;\r\n      background: transparent;\r\n    }\r\n\r\n    .course_class_name {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #D4D9DB;\r\n      line-height: 21px;\r\n      margin-bottom: 9px;\r\n      height: 21px;\r\n      overflow-y: hidden;\r\n      text-overflow: ellipsis;\r\n      -webkit-line-clamp: 1;\r\n      -webkit-box-orient: vertical;\r\n      display: -webkit-box;\r\n      // padding-left: 26px;\r\n    }\r\n\r\n    .course_name {\r\n      -webkit-line-clamp: 2;\r\n      height: 50px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 18px;\r\n      color: #64AFD5;\r\n      line-height: 25px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      // padding-left: 26px;\r\n      // padding-right: 23px;\r\n    }\r\n\r\n    .cover {\r\n      width: 220px !important;\r\n      height: 319px;\r\n      position: absolute;\r\n      // top: calc(63% - 10px);\r\n      // transform: scale(1.2);\r\n      left: -32px;\r\n      transform: translate(-50%, -50%) scale(1.2);\r\n      background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n      background-size: 100%;\r\n      background-repeat: no-repeat;\r\n      z-index: 12;\r\n      top: 512px;\r\n      .top {\r\n        width: 100%;\r\n        height: 100%;\r\n        overflow: hidden;\r\n        transition: transform 1000ms ease-in-out;\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: center;\r\n        position: absolute;\r\n      }\r\n\r\n      .classCompleteRatio {\r\n        &::before {\r\n          position: absolute;\r\n          content: \"\";\r\n          width: 1px;\r\n          background-color: #9ac5da;\r\n          left: 35px;\r\n          z-index: 30000000;\r\n          height: 253px;\r\n          top: 19px;\r\n        }\r\n      }\r\n\r\n      .top .item {\r\n        top: 0;\r\n        width: 100%;\r\n      }\r\n      .before {\r\n        z-index: 2;\r\n      }\r\n\r\n      .num {\r\n        font-size: 32px;\r\n        margin: 40px 40px 0 40px;\r\n        cursor: pointer;\r\n      }\r\n\r\n      .pcont {\r\n        font-family: SourceHanSansCN;\r\n        z-index: 10;\r\n        overflow: hidden;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n        white-space: pre-wrap;\r\n        text-overflow: ellipsis;\r\n        -webkit-line-clamp: 4;\r\n        -webkit-box-orient: vertical;\r\n        display: -webkit-box;\r\n        font-size: 32px;\r\n        font-weight: 200;\r\n        color: #ffffff;\r\n        line-height: 42px;\r\n        margin-left: 46px;\r\n        padding-right: 50px;\r\n      }\r\n\r\n      .logRatio {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: rgba(255, 255, 255, 0.4);\r\n        line-height: 53px;\r\n        margin-left: 46px;\r\n\r\n        .complete {\r\n          color: #fff;\r\n          font-weight: 700;\r\n        }\r\n      }\r\n    }\r\n\r\n    .cover1 {\r\n      top: 210px;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .cover2 {\r\n      top: 167px;\r\n    }\r\n\r\n    .swiper3 {\r\n      position: relative;\r\n      background-color: #eaedef;\r\n      z-index: 11;\r\n      display: flex;\r\n      justify-content: center;\r\n      // margin-left: 60px;\r\n      // width: calc(100% - 60px);\r\n      // padding-left: 60px;\r\n      // /deep/ .swiper-slide {\r\n      //   height: 340px;\r\n      // }\r\n    }\r\n\r\n    .swiper2 {\r\n      // position: absolute;\r\n      background-color: #eaedef;\r\n      z-index: 10;\r\n    }\r\n\r\n\r\n    .swiper-button {\r\n      position: absolute;\r\n      width: 52px;\r\n      height: 52px;\r\n      background-image: url(\"~@/assets/img/think_arrow.png\");\r\n      background-size: 100% 100%;\r\n      top: 180px;\r\n      right: 29px;\r\n      z-index: 100;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .prev-swiper-button  {\r\n      position: absolute;\r\n      width: 52px;\r\n      height: 52px;\r\n      background-image: url(\"~@/assets/img/think_arrow.png\");\r\n      background-size: 100% 100%;\r\n      transform: rotate(180deg);\r\n      // top: 37%;\r\n      left: 0;\r\n      z-index: 100;\r\n      cursor: pointer;\r\n\r\n    }\r\n\r\n    .btns {\r\n      width: 93px;\r\n      height: 100%;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      top: 0;\r\n      background-color: #eaedef;\r\n      // transform: translateY(-50%);\r\n    }\r\n\r\n    .swiper-slide-sub {\r\n      height: 305px;\r\n      position: absolute;\r\n      padding-top: 23px;\r\n      cursor: pointer;\r\n      .evp {\r\n        // position: absolute;\r\n        // top: 0;\r\n        // left: 0;\r\n        // width: 100%;\r\n        // height: 100%;\r\n        perspective: 360px;\r\n        width: 224px !important;\r\n        height: 300px;\r\n        background-image: none;\r\n        position: relative;\r\n      }\r\n    }\r\n\r\n    .items {\r\n      display: flex;\r\n      padding-bottom: 5px;\r\n\r\n      .item {\r\n        // width: 50%;\r\n      }\r\n\r\n      .item-name {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 21px;\r\n        text-align: right;\r\n        height: 24px;\r\n        line-height: 24px;\r\n        width: 52%;\r\n      }\r\n\r\n      .item-name1 {\r\n        // padding-right: 5px;\r\n        // padding-left: 26px;\r\n      }\r\n\r\n      .item-value {\r\n        font-size: 14px;\r\n        font-family: PingFangSC-Medium, PingFang SC;\r\n        font-weight: 500;\r\n        color: #7e878c;\r\n        line-height: 24px;\r\n        text-align: center;\r\n        padding-left: 9px;\r\n        padding-top: 1px;\r\n        height: 24px;\r\n        width: 48%;\r\n      }\r\n\r\n      .item-value1 {\r\n        padding-left: 10px;\r\n      }\r\n\r\n      .experience_num {\r\n        color: #64AFD5;\r\n      }\r\n\r\n      .experience_num1 {\r\n        font-size: 18px;\r\n      }\r\n\r\n      .complete {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n      }\r\n\r\n      .complete1 {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n\r\n        img {\r\n          margin-left: -1px;\r\n        }\r\n      }\r\n\r\n      img {\r\n        width: 20px;\r\n        height: 20px;\r\n      }\r\n    }\r\n\r\n    .coverStatus1 {\r\n      cursor: pointer;\r\n      -webkit-animation: coverStatus1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus1 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus1 {\r\n      0% {\r\n        left: calc(50%);\r\n      }\r\n      100% {\r\n        left: -60px;\r\n      }\r\n    }\r\n    @keyframes coverStatus1 {\r\n      0% {\r\n        left: calc(50%);\r\n      }\r\n      100% {\r\n        left: -60px;\r\n      }\r\n    }\r\n\r\n    .coverStatus2 {\r\n      -webkit-animation: coverStatus2 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus2 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus2 {\r\n      0% {\r\n        left: -60px;\r\n      }\r\n      100% {\r\n        left: calc(50%);\r\n      }\r\n    }\r\n    @keyframes coverStatus2 {\r\n      0% {\r\n        left: -60px;\r\n      }\r\n      100% {\r\n        left: calc(50%);\r\n      }\r\n    }\r\n\r\n    .coverStatus4 {\r\n      -webkit-animation: coverStatus4 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus4 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus4 {\r\n      0% {\r\n        left: -60px;\r\n      }\r\n      100% {\r\n        left: 167px;\r\n      }\r\n    }\r\n    @keyframes coverStatus4 {\r\n      0% {\r\n        left: -60px;\r\n      }\r\n      100% {\r\n        left: 167px;\r\n      }\r\n    }\r\n\r\n    .coverStatus5 {\r\n      -webkit-animation: coverStatus5 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus5 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus5 {\r\n      0% {\r\n        left: 167px;\r\n      }\r\n      100% {\r\n        left: -60px;\r\n      }\r\n    }\r\n    @keyframes coverStatus5 {\r\n      0% {\r\n        left: 167px;\r\n      }\r\n      100% {\r\n        left: -60px;\r\n      }\r\n    }\r\n\r\n    .coverStatus6 {\r\n      -webkit-animation: coverStatus6 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus6 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus6 {\r\n      0% {\r\n        left: 0;\r\n        transform: translate(41px, -431px);\r\n      }\r\n      0% {\r\n        left: 50%;\r\n        transform: translate(-50%, -431px);\r\n      }\r\n    }\r\n    @keyframes coverStatus6 {\r\n      0% {\r\n        left: 0;\r\n        transform: translate(41px, -431px);\r\n      }\r\n      0% {\r\n        left: 50%;\r\n        transform: translate(-50%, -431px);\r\n      }\r\n    }\r\n\r\n    .coverStatus7 {\r\n      -webkit-animation: coverStatus7 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus7 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus7 {\r\n      0% {\r\n        left: -60px;\r\n      }\r\n      100% {\r\n        left: -264px;\r\n      }\r\n    }\r\n    @keyframes coverStatus7 {\r\n      0% {\r\n        left: -60px;\r\n      }\r\n      100% {\r\n        left: -264px;\r\n      }\r\n    }\r\n\r\n    .coverStatus8 {\r\n      -webkit-animation: coverStatus8 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus8 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus8 {\r\n      0% {\r\n        left: -264px;\r\n      }\r\n      100% {\r\n        left: -60px;\r\n      }\r\n    }\r\n    @keyframes coverStatus8 {\r\n      0% {\r\n        left: -264px;\r\n      }\r\n      100% {\r\n        left: -60px;\r\n      }\r\n    }\r\n\r\n    .coverStatus9 {\r\n      -webkit-animation: coverStatus9 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus9 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus9 {\r\n      0% {\r\n        transform: translate(41px, -431px);\r\n      }\r\n      100% {\r\n        transform: translate(-200px, -431px);\r\n      }\r\n    }\r\n    @keyframes coverStatus9 {\r\n      0% {\r\n        transform: translate(41px, -431px);\r\n      }\r\n      100% {\r\n        transform: translate(-200px, -431px);\r\n      }\r\n    }\r\n\r\n    .coverStatus10 {\r\n      -webkit-animation: coverStatus10 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: coverStatus10 0.8s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes coverStatus10 {\r\n      0% {\r\n        transform: translate(-200px, -431px);\r\n      }\r\n      100% {\r\n        transform: translate(41px, -431px);\r\n      }\r\n    }\r\n    @keyframes coverStatus10 {\r\n      0% {\r\n        transform: translate(-200px, -431px);\r\n      }\r\n      100% {\r\n        transform: translate(41px, -431px);\r\n      }\r\n    }\r\n\r\n    .coverStatus3 {\r\n      left: -60px;\r\n    }\r\n\r\n    .listCover {\r\n      left: -60px;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n\r\n/deep/ .el-progress-bar__outer {\r\n  background-color: #e4e7e8;\r\n}\r\n\r\n.detailWrapper {\r\n  position: absolute;\r\n  height: calc(100% - 120px);\r\n  width: 100%;\r\n  top: 67px;\r\n}\r\n\r\n.detail {\r\n  width: calc(100% - 346px);\r\n  margin-top: 12px;\r\n  margin-left: 314px;\r\n  z-index: 999;\r\n  position: relative;\r\n  overflow-y: auto;\r\n  height: 100%;\r\n  padding-bottom: 30px;\r\n  border-radius: 16px;\r\n}\r\n\r\n.completeDetail {\r\n  -webkit-animation: completeDetail 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: completeDetail 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes completeDetail {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n@keyframes completeDetail {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n.hideTitle {\r\n  -webkit-animation: hideTitle 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideTitle 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes hideTitle {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n@keyframes hideTitle {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n.showTitle {\r\n  -webkit-animation: showTitle 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showTitle 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes showTitle {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n@keyframes showTitle {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n.no-swiping {\r\n  pointer-events: none;\r\n}\r\n\r\n.swiping {\r\n  pointer-events: all;\r\n  .content {\r\n    padding: 0 32px 0 26px;\r\n  }\r\n}\r\n\r\n.course_intro2_border {\r\n  margin: 0 26px 0 26px;\r\n  -webkit-animation: course_intro2_border 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: course_intro2_border 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  border-top: 1px solid #F3F3F4;\r\n}\r\n\r\n@-webkit-keyframes course_intro2_border {\r\n  0% {\r\n    padding-bottom: 0;\r\n    border-top: 0 solid #f3f3f4;\r\n  }\r\n  100% {\r\n    padding-bottom: 20px;\r\n    border-top: 1px solid #f3f3f4;\r\n  }\r\n}\r\n\r\n@keyframes course_intro2_border {\r\n  0% {\r\n    padding-bottom: 0;\r\n    border-top: 0 solid #f3f3f4;\r\n  }\r\n  100% {\r\n    padding-bottom: 20px;\r\n    border-top: 1px solid #f3f3f4;\r\n  }\r\n}\r\n\r\n.course_intro2_border1 {\r\n  border-top: 0 solid #f3f3f4;\r\n  margin: 0 26px 0 26px;\r\n  -webkit-animation: course_intro2_border1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: course_intro2_border1 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes course_intro2_border1 {\r\n  0% {\r\n    padding-bottom: 20px;\r\n    border-top: 0 solid #f3f3f4;\r\n  }\r\n  100% {\r\n    padding-bottom: 0;\r\n    border-top: 0 solid #f3f3f4;\r\n  }\r\n}\r\n\r\n@keyframes course_intro2_border1 {\r\n  0% {\r\n    padding-bottom: 20px;\r\n    border-top: 1px solid #f3f3f4;\r\n  }\r\n  100% {\r\n    padding-bottom: 0;\r\n    border-top: 0 solid #f3f3f4;\r\n  }\r\n}\r\n\r\n.course_null {\r\n  display: flex !important;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n\r\n  img {\r\n    width: 45px;\r\n    height: 45px;\r\n  }\r\n}\r\n\r\n.course_intro2 {\r\n  position: relative;\r\n  overflow: hidden;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7E878C;\r\n  line-height: 18px;\r\n  text-align: left;\r\n  word-break: break-all;\r\n  word-wrap: break-word;\r\n  white-space: pre-wrap;\r\n  text-overflow: ellipsis;\r\n  -webkit-line-clamp: 3;\r\n  -webkit-box-orient: vertical;\r\n  display: -webkit-box;\r\n  height: 0;\r\n  // padding: 0 26px;\r\n}\r\n\r\n.course_intro {\r\n  -webkit-animation: courseIntro 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: courseIntro 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes courseIntro {\r\n  0% {\r\n    height: 0;\r\n    margin: 0;\r\n  }\r\n  100% {\r\n    height: 54px;\r\n    margin: 0 0 20px;\r\n  }\r\n}\r\n\r\n@keyframes courseIntro {\r\n  0% {\r\n    height: 0;\r\n    margin: 0;\r\n  }\r\n  100% {\r\n    height: 54px;\r\n    margin: 0 0 20px;\r\n  }\r\n}\r\n\r\n.course_intro1 {\r\n  -webkit-animation: courseIntro1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: courseIntro1 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes courseIntro1 {\r\n  0% {\r\n    height: 63px;\r\n    margin: 0 0 20px;\r\n  }\r\n  100% {\r\n    height: 0;\r\n    margin: 0;\r\n  }\r\n}\r\n\r\n@keyframes courseIntro1 {\r\n  0% {\r\n    height: 63px;\r\n    margin: 0 0 20px;\r\n  }\r\n  100% {\r\n    height: 0;\r\n    margin: 0;\r\n  }\r\n}\r\n\r\n#completeData {\r\n  background-image: url(/static/img/cardBg3.963cba3.png);\r\n  background-size: 100% 100%;\r\n  padding: 22px 0 0 0;\r\n  min-height: 305px;\r\n\r\n  .course_class_name {\r\n    // padding-bottom: 9px;\r\n  }\r\n\r\n  .items {\r\n    // padding-bottom: 11px;\r\n  }\r\n\r\n  .item-name {\r\n    // padding-right: 6px;\r\n  }\r\n\r\n  .item-value {\r\n    padding-left: 9px;\r\n  }\r\n}\r\n\r\n// .swiperWrapperTop {\r\n//   -webkit-animation: swiperWrapperTop1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n//   animation: swiperWrapperTop1 0.8s ease-in-out;\r\n//   animation-fill-mode: forwards;\r\n// }\r\n// @keyframes swiperWrapperTop1 {\r\n//   0% {\r\n//     top: 0;\r\n//   }\r\n//   100% {\r\n//     top: 85px;\r\n//   }\r\n// }\r\n// @-webkit-keyframes swiperWrapperTop1 {\r\n//   0% {\r\n//     top: 0;\r\n//   }\r\n//   100% {\r\n//     top: 85px;\r\n//   }\r\n// }\r\n\r\n// .swiperWrapperDown {\r\n//   -webkit-animation: swiperWrapperDown 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n//   animation: swiperWrapperDown 0.8s ease-in-out;\r\n//   animation-fill-mode: forwards;\r\n// }\r\n// @keyframes swiperWrapperDown {\r\n//   0% {\r\n//     top: 85px;\r\n//   }\r\n//   100% {\r\n//     top: 0;\r\n//   }\r\n// }\r\n// @-webkit-keyframes swiperWrapperDown {\r\n//   0% {\r\n//     top: 85px;\r\n//   }\r\n//   100% {\r\n//     top: 0;\r\n//   }\r\n// }\r\n\r\n.swiperScrollUp {\r\n  -webkit-animation: swiperScrollUp 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: swiperScrollUp 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@keyframes swiperScrollUp {\r\n  0% {\r\n    // height: calc(100% - 190px);\r\n    height: 100%;\r\n    top: 0;\r\n  }\r\n  100% {\r\n    height: 100%;\r\n    top: -190px;\r\n  }\r\n}\r\n\r\n@-webkit-keyframes swiperScrollUp {\r\n  0% {\r\n    top: 0;\r\n  }\r\n  100% {\r\n    top: -190px;\r\n  }\r\n}\r\n\r\n.swiperScrollDown {\r\n  -webkit-animation: swiperScrollDown 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: swiperScrollDown 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes swiperScrollDown {\r\n  0% {\r\n    top: -190px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n  }\r\n}\r\n\r\n@keyframes swiperScrollDown {\r\n  0% {\r\n    top: -190px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n  }\r\n}\r\n\r\n/deep/ .el-input__icon {\r\n  width: 25px;\r\n  line-height: 30px;\r\n}\r\n/deep/ .detailWrapper {\r\n  // height: 100%;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/studyLog/Index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : '']},[_c('div',{staticClass:\"box\",attrs:{\"id\":\"study-log-box\"}},[_c('div',{staticClass:\"title 2222222222\",on:{\"click\":_vm.back}},[_c('img',{staticClass:\"think_back\",attrs:{\"src\":require(\"@/assets/img/think_back.svg\")}}),_vm._v(\"\\n        \"+_vm._s(_vm.app_type == 2 ? \"修学日志\" : \"学习日志\")+\"\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"content-box1\"},[_c('div',{staticClass:\"swiper\"},[_c('swiper',{ref:\"mySwiperTab\",attrs:{\"options\":_vm.swiperOptions1}},_vm._l((_vm.slidesTopClass),function(item,i){return _c('swiper-slide',{key:i,attrs:{\"id\":(\"slide1\" + i)}},[_vm._v(\"\\n            \"+_vm._s(item.course_class_name)+\"\\n          \")])}),1)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\"},[_c('div',{staticClass:\"swiper swiper1\",attrs:{\"id\":\"swiper1\"}},[_c('swiper',{ref:\"mySwiper\",attrs:{\"options\":_vm.swiperOptions}},[_vm._l((_vm.slides),function(item,i){return _c('swiper-slide',{key:i,attrs:{\"id\":(\"slide\" + i)}},[_c('div',{staticClass:\"card\"}),_vm._v(\" \"),_c('div',{staticClass:\"card1\"}),_vm._v(\" \"),_c('div',{staticClass:\"evp before\",class:item.status == 1 ? 'sel' : '',attrs:{\"id\":(\"elBefore\" + i)}},[_c('div',[_c('div',{staticClass:\"top classCompleteRatio\"},[_c('span',{staticClass:\"pcont\"},[_vm._v(_vm._s(item.course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"logRatio\"},[_c('span',[_vm._v(\"日志  \")]),_vm._v(\" \"),_c('span',{staticClass:\"complete\"},[_vm._v(_vm._s(item.complete_course))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(\"/\" + item.course_count))])])])])])])}),_vm._v(\" \"),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2),_vm._v(\" \"),_c('div',{staticClass:\"right-btn-bg left-btn-bg\"},[_c('div',{staticClass:\"btns\"},[_c('div',{staticClass:\"swiper-button-prev\",class:!_vm.prevFlag ? 'opac' : '',on:{\"click\":_vm.prev}})])]),_vm._v(\" \"),_c('div',{staticClass:\"right-btn-bg\"},[_c('div',{staticClass:\"btns\",style:({ right: _vm.$px2rem(0) })},[_c('div',{staticClass:\"swiper-button-next\",class:!_vm.nextFlag ? 'opac' : '',on:{\"click\":_vm.next}})])])],1)]),_vm._v(\" \"),(_vm.showMask)?_c('div',{staticClass:\"content-box mask\"},[((!_vm.canHover || _vm.isResizing || _vm.isToggleLayout) && !_vm.showDetail)?_c('div',{staticClass:\"mask_layer\"},[_vm._v(_vm._s(_vm.mask_layer))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"title-box title3\"},[_c('div',{staticClass:\"title 11111111\",on:{\"click\":_vm.goBack}},[_c('img',{staticClass:\"think_back\",attrs:{\"src\":require(\"@/assets/img/think_back.svg\")}}),_vm._v(\"\\n          \"+_vm._s(_vm.app_type == 2 ? \"修学日志\" : \"学习日志\")+\"\\n        \")]),_vm._v(\" \"),(!_vm.showDetail)?_c('div',{staticClass:\"search\"},[_c('el-input',{attrs:{\"placeholder\":\"搜索\",\"prefix-icon\":\"el-icon-search\"},on:{\"input\":_vm.changeSearch},model:{value:(_vm.keywords),callback:function ($$v) {_vm.keywords=$$v},expression:\"keywords\"}})],1):_vm._e()]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"content-box1 content-box2 course_class_name1\"},[_c('span',[_vm._v(_vm._s(_vm.course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"btns1\"},[(_vm.showList)?_c('img',{staticClass:\"list_img\",attrs:{\"src\":require(\"@/assets/img/course_swiper.svg\")},on:{\"click\":function($event){return _vm.showListFn(false)}}}):_c('img',{staticClass:\"list_img\",attrs:{\"src\":require(\"@/assets/img/course_swiper_sel.svg\")}}),_vm._v(\" \"),(!_vm.showList)?_c('img',{staticClass:\"card_img\",attrs:{\"src\":require(\"@/assets/img/course_list.svg\")},on:{\"click\":function($event){return _vm.showListFn(true)}}}):_c('img',{staticClass:\"card_img\",attrs:{\"src\":require(\"@/assets/img/course_list_sel.svg\")}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"100%\",\"position\":\"fixed\",\"width\":\"100%\"}},[_c('div',{ref:\"swiper3\",staticClass:\"swiper swiper3\",class:[_vm.canHover ? 'canHover' : '', _vm.swiperScrollClass],attrs:{\"id\":\"swiper3\"}},[(_vm.showMask)?_c('div',{ref:\"cover\",staticClass:\"cover cover1\",class:_vm.coverStatus,attrs:{\"id\":\"cover1\"},on:{\"click\":_vm.hideMask}},[_c('div',[_c('div',{staticClass:\"top classCompleteRatio\"},[_c('span',{staticClass:\"pcont\",attrs:{\"id\":\"pcont\"}},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"logRatio\",attrs:{\"id\":\"logRatio\"}},[_c('span',[_vm._v(\"日志  \")]),_vm._v(\" \"),_c('span',{staticClass:\"complete\"},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].complete_course))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(\"/\" + _vm.slides[_vm.clickIndex].course_count))])])])])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"slidesClassTotalSwiper\",class:(\"swiper-wrapper \" + (_vm.studyLogGuideMode === 0 ? 'guideBox' : '')),attrs:{\"id\":\"slidesClassTotalSwiper\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showMask),expression:\"showMask\"}],staticClass:\"cover\",class:_vm.coverListStatus,staticStyle:{\"cursor\":\"pointer\",\"z-index\":\"99\"},attrs:{\"id\":\"coverList\"},on:{\"click\":_vm.hideMask}},[_c('div',[_c('div',{staticClass:\"top classCompleteRatio\"},[_c('span',{staticClass:\"pcont\"},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"logRatio\"},[_c('span',[_vm._v(\"日志  \")]),_vm._v(\" \"),_c('span',{staticClass:\"complete\"},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].complete_course))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(\"/\" + _vm.slides[_vm.clickIndex].course_count))])])])])]),_vm._v(\" \"),_vm._l((_vm.slidesClassTotal),function(item,i){return _c('div',{key:i,staticClass:\"swiper-slide-sub\",style:({\n                  backgroundImage:\n                    'url(' + require('@/assets/img/cardBg3.png') + ')',\n                  backgroundSize: '100% 100%'\n                }),attrs:{\"id\":(\"slide\" + i)}},[_c('div',{staticClass:\"evp before swiping\",class:[],attrs:{\"id\":(\"elBefore\" + i)},on:{\"click\":function($event){return _vm.toDetail(i, $event, item)}}},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"course_class_name\"},[(item.course_class_name1)?_c('span',[_vm._v(_vm._s(item.course_class_name1 + \"  \"))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.course_class_name2))])]),_vm._v(\" \"),_c('span',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(item.course_name)+\"\\n                      \")]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.mindmap_complete == 1 ? 'complete' : ''},[(item.mindmap_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.question_complete == 1 ? 'complete' : ''},[(item.question_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                          \"+_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\")+\"\\n                        \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.solve_complete == 1 ? 'complete' : ''},[(item.solve_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                          观念的禅修\\n                        \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.guannian_complete == 1 ? 'complete' : ''},[(item.guannian_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                          心态的禅修\\n                        \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.xintai_complete == 1 ? 'complete' : ''},[(item.xintai_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"发布心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1 experience_num1\",class:[item && item.experience_num > 0 ? 'experience_num' : '']},[_vm._v(\"\\n                          \"+_vm._s(item.experience_num)+\"\\n                        \")])])])])])])})],2),_vm._v(\" \"),(_vm.showDetail)?_c('div',{staticClass:\"right-btn-bg1\"}):_vm._e(),_vm._v(\" \"),(_vm.showLeftBtnList && !_vm.showDetail)?_c('div',{staticClass:\"swiper-button prev-swiper-button\",class:!_vm.prevFlag2 ? 'opac' : '',on:{\"click\":_vm.prev2}}):_vm._e(),_vm._v(\" \"),(!_vm.showDetail && !_vm.showList)?_c('div',{staticClass:\"btns2\",staticStyle:{\"right\":\"0\"}},[_c('div',{staticClass:\"swiper-button\",class:!_vm.nextFlag2 ? 'opac' : '',on:{\"click\":_vm.next2}})]):_vm._e()])])]),_vm._v(\" \"),(_vm.showDetail)?_c('div',{staticClass:\"detailWrapper\"},[_c('div',{style:({\n            position: 'absolute',\n            width: _vm.$px2rem(224),\n            zIndex: 999\n          }),attrs:{\"id\":\"completeData\"},on:{\"click\":_vm.toCultureContent}},[_c('div',{staticClass:\"evp before swiping\"},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"course_class_name\"},[(_vm.completeData.course_class_name1)?_c('span',[_vm._v(_vm._s(_vm.completeData.course_class_name1 + \"  \"))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.completeData.course_class_name2))])]),_vm._v(\" \"),_c('span',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(_vm.completeData.course_name)+\"\\n                \")]),_vm._v(\" \"),(\n                    _vm.showDetail &&\n                      !_vm.data.course_intro_short\n                  )?_c('div',{staticClass:\"course_intro2 course_null\"},[_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_c('span',{staticClass:\"course_intro2 22\",domProps:{\"innerHTML\":_vm._s(_vm.data.course_intro_short)}}),_vm._v(\" \"),(_vm.showDetail)?_c('div',{staticClass:\"course_intro2_border2 course_intro2_border\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.mindmap_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.question_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                    \"+_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\")+\"\\n                  \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.solve_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                    观念的禅修\\n                  \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.guannian_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                    心态的禅修\\n                  \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.xintai_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"发布心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1 experience_num1\"},[_vm._v(\"\\n                    \"+_vm._s(_vm.completeData.experience_num || 0)+\"\\n                  \")])])])])])]),_vm._v(\" \"),(_vm.showLogDetail)?_c('div',{staticClass:\"detail\",attrs:{\"id\":\"completeDetail\"}},[_c('Detail',{ref:\"detail\",attrs:{\"studyLogGuideMode\":_vm.studyLogGuideMode,\"showDetail\":_vm.showDetail,\"data\":_vm.data}})],1):_vm._e()]):_vm._e()]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-8410d9f2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/studyLog/Index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8410d9f2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Index.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8410d9f2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-8410d9f2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/studyLog/Index.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white\"\r\n    :class=\"fullscreen ? 'full' : ''\">\r\n    <div class=\"box\">\r\n      <div class=\"content-box\"\r\n        ref=\"contentBox\">\r\n        <div class=\"types\"\r\n          ref=\"types\">\r\n          <div class=\"name\"\r\n            @click=\"back\">\r\n            <img v-if=\"fullscreen\"\r\n              class=\"full_page_eye\"\r\n              src=\"/static/img/behavior.svg\" />\r\n            <span>提交心得</span>\r\n          </div>\r\n          <div class=\"class-share\"\r\n            :class=\"[experience_type == 1 ? 'share' : '']\"\r\n            ref=\"classShare\"\r\n            @click=\"tabClick(1)\">\r\n            交流分享\r\n          </div>\r\n          <div class=\"other-share\"\r\n            :class=\"[experience_type != 1 ? 'share' : '']\"\r\n            ref=\"otherShare\"\r\n            @click=\"tabClick(2)\">\r\n            其他分享\r\n          </div>\r\n        </div>\r\n        <div class=\"my-tips\"\r\n          ref=\"myTips\">\r\n          <div class=\"head\">\r\n            <div>\r\n              <p class=\"mytip-label\">\r\n                {{ experience_type == 1 ? \"交流分享\" : \"其他分享\" }}\r\n              </p>\r\n              <p class=\"edit-time\">编辑时间 {{ time }}</p>\r\n            </div>\r\n            <!-- <div class=\"draft button_center\"\r\n              @click=\"saveDraft()\"\r\n              :class=\"{ disabled: isClicked }\"\r\n              v-if=\"experience_status == 1 && courseIsuseradd != 3\">\r\n              存草稿\r\n            </div> -->\r\n          </div>\r\n\r\n          <div class=\"tips-content tips-content1\" id=\"createTipsContent\">\r\n            <p class=\"project\"\r\n              v-if=\"app_type == 2\">课程 /</p>\r\n            <p class=\"project\"\r\n              v-else>笔记 /</p>\r\n            <p class=\"project-name\">{{ course_name }}</p>\r\n            <div class=\"textarea\">\r\n              <el-input class=\"tip-title\"\r\n                type=\"textarea\"\r\n                :rows=\"1\"\r\n                placeholder=\"输入心得标题\"\r\n                v-model=\"experience_title\"\r\n                @input=\"throttleChange\"\r\n                :resize=\"'none'\">\r\n              </el-input>\r\n            </div>\r\n            <div class=\"textarea experience_content\">\r\n              <div v-if=\"!recording\"\r\n                class=\"recording-wrapper\">\r\n                <el-input id=\"createTips_step1_1\"\r\n                  type=\"textarea\"\r\n                  maxlength=\"3000\"\r\n                  show-word-limit\r\n                  placeholder=\"输入心得\"\r\n                  v-model=\"experience_content\"\r\n                  @input=\"throttleChange\"\r\n                  @blur=\"blurTips\"\r\n                  @focus=\"focusTips\"\r\n                  :resize=\"'none'\">\r\n                </el-input>\r\n                <img class=\"experience_edit recording\"\r\n                  src=\"@/assets/img/recording.png\"\r\n                  @click=\"toggleAudio(true)\" />\r\n              </div>\r\n              <div class=\"recording-wrapper recording-tips\"\r\n                v-else>\r\n                <img v-if=\"app_type == 1\" class=\"app_erweima\" src=\"@/assets/img/yuanriji_app.png\" />\r\n                <img v-else class=\"app_erweima\" src=\"@/assets/img/yuanriji_app_global.png\" />\r\n                <div v-if=\"app_type == 1\">扫码登录<span class=\"app_name\">元日记APP</span></div>\r\n                <div v-else>扫码登录<span class=\"app_name\">元日记国际版APP</span></div>\r\n                <div>使用语音编辑</div>\r\n                <img class=\"experience_edit\"\r\n                  src=\"@/assets/img/recording_edit.png\"\r\n                  @click=\"toggleAudio(false)\" />\r\n              </div>\r\n            </div>\r\n            <div class=\"play_box\"\r\n              v-if=\"experience_audio.length > 0\">\r\n              <div class=\"title\">语音心得</div>\r\n              <div class=\"record_box\">\r\n                <img class=\"del\"\r\n                  src=\"@/assets/img/del_audio.svg\"\r\n                  @click=\"delAudio()\" />\r\n                <TipAudioCom\r\n                  ref=\"CreatTipsAudioCom\"\r\n                  :url=\"experience_audio[0].experience_audio_url_show\"\r\n                  :currentTimeProp=\"'0'\"\r\n                  :bgColor=\"'#ffae8b,#fd746b'\"\r\n                  :progressColor=\"'#D4D9DB'\" />\r\n              </div>\r\n            </div>\r\n            <div class=\"tags-wrapper\">\r\n              <p class=\"add\">添加标签</p>\r\n              <div class=\"tags\">\r\n                <div v-for=\"(item, index) in tags\"\r\n                  :id=\"'createTips_step' + index\"\r\n                  :key=\"'tag' + index\"\r\n                  class=\"tag\"\r\n                  :ref=\"'tag' + index\"\r\n                  @click=\"throttleChangeTag(index, $event)\">\r\n                  {{ item.experience_tag_title }}\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"btn-wrapper\">\r\n              <div v-loading=\"loading\" v-throttle=\"[upload]\" class=\"btn\" v-if=\"courseIsuseradd != 3\">\r\n                保 存\r\n              </div>\r\n              <div class=\"tip\" v-if=\" courseIsuseradd == 2\">\r\n                <el-radio-group v-model=\"experience_status\">\r\n                  <el-radio\r\n                    v-for=\"item in options\"\r\n                    :key=\"item.value\"\r\n                    :label=\"item.value\"\r\n                    @click.native=\"handleClick(item.value)\"\r\n                  >\r\n                    {{ item.label }}\r\n                  </el-radio>\r\n                </el-radio-group>\r\n                <el-tooltip :disabled=\"false\" :popper-class=\"'submissiontip'\" class=\"item\" effect=\"light\" placement=\"top\">\r\n                  <div class=\"content\" slot=\"content\">投稿的稿件将通过后台审核后发布至<span class=\"xinde\">心得广场</span>。</div>\r\n                  <a href=\"javascript:;\" class=\"tooltip\">什么是投稿？</a>\r\n                </el-tooltip>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <el-dialog class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\">\r\n      <div class=\"del_confirm\">当前心得与服务器不一致，确定保存当前心得？</div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer\">\r\n        <el-button @click=\"cancel\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\"\r\n          @click=\"submitCon\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n    <el-dialog class=\"del_dialog\"\r\n      :visible.sync=\"dialogVisibleDel\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\">\r\n      <div class=\"del_confirm\">确定删除？</div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleDel = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\"\r\n          @click=\"submitDel\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  getExperienceTag,\r\n  addUserExperience,\r\n  editUserExperience,\r\n  getUserExperienceDetail,\r\n} from \"@/api/index\";\r\nimport { getTip, getAddTipData } from \"@/utils/auth\";\r\nimport { throttle, getIsAndroid } from \"@/utils/util\";\r\nimport { EventBus, WHITE_CONFIRM_TIPS } from \"@/utils/eventBus\";\r\nimport { createTips_guide } from \"@/utils/intro\";\r\nimport TipAudioCom from \"@/components/TipAudioCom.vue\";\r\nimport { Base64 } from \"js-base64\";\r\nimport padInputMiddle from \"@/utils/padInputMiddle.js\";\r\n\r\nexport default {\r\n  mixins: [padInputMiddle],\r\n  components: {\r\n    TipAudioCom,\r\n  },\r\n  data() {\r\n    return {\r\n      guideMode: 0,\r\n      fullscreen: false,\r\n      activeTagIndex: \"\",\r\n      tags: [],\r\n      experience_type: 1,\r\n      experience_title: \"\",\r\n      experience_content: \"\",\r\n      experience_tag_id: \"\",\r\n      experience_status: \"\",\r\n      experience_tag_type: \"\",\r\n      experience_tag_title: \"\",\r\n      experience_isuseradd: \"\",\r\n      experience_audio: [],\r\n      time: \"\",\r\n      dialogVisibleCon: false,\r\n      dialogVisibleDel: false,\r\n      experience_statusCon: \"\",\r\n      confirmData: {},\r\n      cacheData: null,\r\n      tip: null,\r\n      app_type: 2,\r\n      recording: false,\r\n      loading: false,\r\n      isClicked: false,\r\n      isMobile: false,\r\n      isSubmission: 1,\r\n      options: [\r\n        { value: '2', label: '同时上传为投稿' },\r\n      ]\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course_name() {\r\n      console.log(this.$store.getters.course_name);\r\n      return this.$store.getters.course_name;\r\n    },\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n  },\r\n  watch: {\r\n    $route(to) {\r\n      console.log(\"$route:\", to);\r\n      if(this.$refs.CreatTipsAudioCom) {\r\n        this.$refs.CreatTipsAudioCom.pause(true);\r\n      }\r\n      this.experience_type = to.query.experience_type;\r\n    },\r\n  },\r\n  methods: {\r\n    handleClick(value) {\r\n      console.log(\"handleClick:\", value)\r\n      // 核心逻辑：点击已选中的项时取消选中\r\n      if (this.experience_status == value) {\r\n        // 延迟清空避免与radio的默认行为冲突\r\n        setTimeout(() => {\r\n          this.experience_status = '1'\r\n        }, 0)\r\n      }\r\n    },\r\n    focusTips() {\r\n      if(this.isMobile) {\r\n        const createTipsContent = document.getElementById(\"createTipsContent\");\r\n        const $createTips_step1_1 = document.getElementById('createTips_step1_1');\r\n        this.setInputMiddle($createTips_step1_1, createTipsContent);\r\n      }\r\n    },\r\n    blurTips() {\r\n      if(this.isMobile) {\r\n        const $createTipsContent = document.getElementById('createTipsContent');\r\n        $createTipsContent.style.paddingBottom = 0+'px';\r\n      }\r\n    },\r\n    delAudio() {\r\n      this.dialogVisibleDel = true;\r\n    },\r\n    toggleAudio(recording) {\r\n      this.recording = recording;\r\n    },\r\n    setCacheData() {\r\n      // 缓存当前数据\r\n      this.cacheData = {\r\n        experience_title: this.experience_title,\r\n        experience_content: this.experience_content,\r\n        experience_tag_id: this.experience_tag_id,\r\n        experience_tag_type: this.experience_tag_type,\r\n        experience_status: this.experience_status,\r\n        experience_tag_title: this.experience_tag_title,\r\n        experience_audio: this.experience_audio,\r\n      };\r\n      if (this.tip && this.tip.experience_id) {\r\n        // 编辑\r\n        this.cacheData.experience_id = this.tip.experience_id;\r\n        this.$store.dispatch(\"setTip\", {\r\n          ...this.tip,\r\n          ...this.cacheData,\r\n        });\r\n      } else {\r\n        // 新增\r\n        this.$store.dispatch(\"setAddTipData\", this.cacheData);\r\n      }\r\n    },\r\n    changeTitle: throttle(function () {\r\n      console.log(\"changeTitle\");\r\n      this.setCacheData();\r\n    }, 200),\r\n    throttleChange() {\r\n      console.log(\"throttleChange\");\r\n      this.changeTitle();\r\n    },\r\n    async init() {\r\n      // 编辑\r\n      if (this.$route.query.experience_id) {\r\n        const tip = getTip(this.$route.query.experience_id);\r\n        if (tip) {\r\n          this.tip = JSON.parse(tip);\r\n          this.experience_content = this.tip.experience_content;\r\n          this.experience_title = this.tip.experience_title;\r\n          this.experience_tag_id = this.tip.experience_tag_id;\r\n          this.experience_tag_type = this.tip.experience_tag_type;\r\n          this.experience_status = this.tip.experience_status + '';\r\n          this.experience_type = this.tip.experience_type;\r\n          this.experience_tag_title = this.tip.experience_tag_title;\r\n          this.experience_isuseradd = this.tip.experience_isuseradd;\r\n          this.experience_audio = this.tip.experience_audio;\r\n          this.initTime(this.tip.last_update_at);\r\n          this.tags.forEach((item, index) => {\r\n            if (item.experience_tag_id === this.tip.experience_tag_id) {\r\n              this.$nextTick(() => {\r\n                this.chooseTags(index);\r\n              });\r\n            }\r\n          });\r\n        } else {\r\n          try {\r\n            const res = await getUserExperienceDetail({\r\n              experience_id: this.$route.query.experience_id,\r\n              experience_isuseradd: this.$route.query.experience_isuseradd,\r\n            });\r\n            if (res && res.code === 0) {\r\n              this.tip = res.data[0];\r\n              this.experience_content = this.tip.experience_content;\r\n              this.experience_title = this.tip.experience_title;\r\n              this.experience_tag_id = this.tip.experience_tag_id;\r\n              this.experience_tag_type = this.tip.experience_tag_type;\r\n              this.experience_status = this.tip.experience_status + '';\r\n              this.experience_type = this.tip.experience_type;\r\n              this.experience_tag_title = this.tip.experience_tag_title;\r\n              this.experience_isuseradd =\r\n                this.$route.query.experience_isuseradd;\r\n              this.experience_audio = this.tip.experience_audio;\r\n              this.initTime(this.tip.last_update_at);\r\n              this.tags.forEach((item, index) => {\r\n                if (item.experience_tag_id === this.tip.experience_tag_id) {\r\n                  this.$nextTick(() => {\r\n                    this.chooseTags(index);\r\n                  });\r\n                }\r\n              });\r\n            }\r\n          } catch (error) {\r\n            // this.$notify.error({\r\n            //   title: \"错误\",\r\n            //   message: error,\r\n            // });\r\n          }\r\n        }\r\n      } else {\r\n        // 新增\r\n        const tip = getAddTipData();\r\n        if (tip) {\r\n          this.tip = JSON.parse(tip);\r\n          // 新增有缓存\r\n          this.experience_content = this.tip.experience_content;\r\n          this.experience_title = this.tip.experience_title;\r\n          this.experience_tag_id = this.tip.experience_tag_id;\r\n          this.experience_tag_type = this.tip.experience_tag_type;\r\n          this.experience_status = this.tip.experience_status + '';\r\n          this.experience_isuseradd = this.$route.query.experience_isuseradd;\r\n          this.experience_audio = this.tip.experience_audio;\r\n          this.initTime(this.tip.last_update_at);\r\n          if (this.tip && this.tip.experience_tag_id) {\r\n            this.tags.forEach((item, index) => {\r\n              if (item.experience_tag_id === this.tip.experience_tag_id) {\r\n                this.$nextTick(() => {\r\n                  this.chooseTags(index);\r\n                });\r\n              }\r\n            });\r\n          }\r\n        } else {\r\n          this.tip = null;\r\n          this.initTime();\r\n          // 新增无缓存\r\n          this.experience_content = \"\";\r\n          this.experience_title = \"\";\r\n          this.experience_tag_id = \"\";\r\n          this.experience_tag_type = \"\";\r\n          this.experience_status = \"1\";\r\n          this.experience_isuseradd = this.$route.query.experience_isuseradd;\r\n          this.experience_audio = [];\r\n          this.chooseTags(-1);\r\n        }\r\n      }\r\n    },\r\n    // 存草稿\r\n    // saveDraft() {\r\n    //   if (this.isClicked) return;\r\n    //   this.isClicked = true; // 标记为已点击\r\n    //   // 示例笔记不能新增编辑心得\r\n    //   if (this.courseIsuseradd == 3) {\r\n    //     return;\r\n    //   }\r\n    //   if (this.tip && this.tip.experience_id) {\r\n    //     this.editUserExperience(1);\r\n    //   } else {\r\n    //     this.addUserExperience(1);\r\n    //   }\r\n    //   // 可以设置延时来确保用户不会在短时间内连续点击\r\n    //   setTimeout(() => {\r\n    //     this.isClicked = false; // 重置点击状态\r\n    //   }, 3000); // 延时时间可以根据需要调整\r\n    // },\r\n    // 上传\r\n    upload() {\r\n      console.log(\"上传\", this.experience_status);\r\n      // 示例笔记不能新增编辑心得\r\n      if (this.isClicked) return;\r\n      this.isClicked = true; // 标记为已点击\r\n      if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n      if (this.tip && this.tip.experience_id) {\r\n        this.editUserExperience(this.experience_status);\r\n      } else {\r\n        this.addUserExperience(this.experience_status);\r\n      }\r\n      // 可以设置延时来确保用户不会在短时间内连续点击\r\n      setTimeout(() => {\r\n        this.isClicked = false; // 重置点击状态\r\n      }, 3000); // 延时时间可以根据需要调整\r\n    },\r\n    async addUserExperience(experience_status) {\r\n      if (!this.validate()) {\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      this.$store.dispatch(\"setIsLoading\", true);\r\n      let params = {\r\n        experience_status,\r\n        course_id: this.course_id,\r\n        experience_title: Base64.encode(this.experience_title),\r\n        experience_content: Base64.encode(this.experience_content),\r\n        experience_tag_id: this.experience_tag_id,\r\n        experience_tag_type: this.experience_tag_type,\r\n        experience_isuseradd: this.experience_isuseradd,\r\n        experience_audio: this.experience_audio,\r\n        update_device: localStorage.getItem(\"DeviceId\"),\r\n        experience_type: this.experience_type,\r\n        is_new: 1\r\n      };\r\n      try {\r\n        // 新增不用添加缓存\r\n        const res = await addUserExperience(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            message: \"提交成功\",\r\n            type: \"success\",\r\n          });\r\n          this.loading = false;\r\n          this.$store.dispatch(\"setIsLoading\", false);\r\n          this.experience_title = \"\";\r\n          this.experience_content = \"\";\r\n          this.experience_status = \"1\";\r\n          this.chooseTags(-1);\r\n          if (this.courseProgress) {\r\n            let courseProgress = {\r\n              ...this.courseProgress,\r\n              progress_experience_num:\r\n                this.courseProgress.progress_experience_num + 1,\r\n            };\r\n            this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n          }\r\n          this.$store.dispatch(\"setAddTipData\", null);\r\n          this.toConfirmTips(true);\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        this.$store.dispatch(\"setIsLoading\", false);\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async editUserExperience(\r\n      experience_status,\r\n      is_confirm,\r\n      last_update_device,\r\n      last_update_at\r\n    ) {\r\n      if (!this.validate()) {\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      this.$store.dispatch(\"setIsLoading\", true);\r\n      let experience_audio = [];\r\n      for (let i = 0; i < this.experience_audio.length; i++) {\r\n        experience_audio.push({\r\n          experience_id: this.experience_audio[i].experience_id,\r\n          experience_audio_id: this.experience_audio[i].experience_audio_id,\r\n          experience_audio_url: this.experience_audio[i].experience_audio_url,\r\n          experience_audio_long: this.experience_audio[i].experience_audio_long,\r\n          experience_audio_time: this.experience_audio[i].experience_audio_time\r\n        })\r\n      }\r\n      let audios = \"\";\r\n      if(experience_audio.length > 0) {\r\n        audios = JSON.stringify(experience_audio);\r\n      } else {\r\n        audios = \"\";\r\n      }\r\n      let experience_statusPre = this.tip.experience_status + '';\r\n      let params = {\r\n        is_confirm: is_confirm ? is_confirm : 2, // 是否确认覆盖1是 2否\r\n        experience_id: this.tip.experience_id,\r\n        experience_status,\r\n        course_id: this.course_id,\r\n        experience_title: Base64.encode(this.experience_title),\r\n        experience_content: Base64.encode(this.experience_content),\r\n        experience_tag_id: this.experience_tag_id,\r\n        experience_tag_type: this.experience_tag_type,\r\n        experience_tag_title: this.experience_tag_title,\r\n        experience_isuseradd: this.experience_isuseradd,\r\n        experience_audio: audios,\r\n        update_device: localStorage.getItem(\"DeviceId\"),\r\n        experience_type: this.experience_type,\r\n        last_update_device: last_update_device\r\n          ? last_update_device\r\n          : this.tip.last_update_device,\r\n        last_update_at: last_update_at\r\n          ? last_update_at\r\n          : this.tip.last_update_at,\r\n        is_new: 1\r\n      };\r\n      try {\r\n        const res = await editUserExperience(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"编辑成功\",\r\n          });\r\n          this.loading = false;\r\n          this.$store.dispatch(\"setIsLoading\", false);\r\n          this.dialogVisibleCon = false;\r\n          this.dialogVisibleDel = false;\r\n          this.experience_status = \"1\";\r\n          delete params.is_confirm;\r\n          // params.last_update_device = res.data[0].last_update_device;\r\n          // params.last_update_at = res.data[0].last_update_at;\r\n          const res = await getUserExperienceDetail({\r\n            experience_id: this.tip.experience_id,\r\n            experience_isuseradd: this.$route.query.experience_isuseradd,\r\n          });\r\n          if (res && res.code === 0) {\r\n            this.$store.dispatch(\"setTip\", res.data[0]).then(() => {\r\n              if (experience_statusPre == 1 && experience_status == 2) {\r\n                let courseProgress = {\r\n                  ...this.courseProgress,\r\n                  progress_experience_num:\r\n                    this.courseProgress.progress_experience_num + 1,\r\n                };\r\n                this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n              }\r\n              this.$store.dispatch(\"setEditTip\", true).then(() => {\r\n                this.$store\r\n                  .dispatch(\"setConfirmTipType\", this.experience_type)\r\n                  .then(() => {\r\n                    // this.$router.replace(\"/\");\r\n                    this.toConfirmTips(true);\r\n                  });\r\n              });\r\n            });\r\n          }\r\n        } else if (res && res.code === 1023 && res.data[0].need_confirm === 1) {\r\n          this.confirmData = res.data[0];\r\n          this.experience_statusCon = experience_status;\r\n          this.dialogVisibleCon = true;\r\n          this.loading = false;\r\n          this.$store.dispatch(\"setIsLoading\", false);\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        this.$store.dispatch(\"setIsLoading\", false);\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    cancel() {\r\n      this.dialogVisibleCon = false;\r\n      this.loading = false;\r\n      this.$store.dispatch(\"setIsLoading\", false);\r\n    },\r\n    submitCon() {\r\n      this.editUserExperience(\r\n        this.experience_statusCon,\r\n        1,\r\n        this.confirmData.last_update_device,\r\n        this.confirmData.last_update_at\r\n      );\r\n    },\r\n    submitDel() {\r\n      this.experience_audio = [];\r\n      this.dialogVisibleDel = false;\r\n      // this.editUserExperience(\r\n      //   this.experience_status,\r\n      //   1,\r\n      //   this.confirmData.last_update_device,\r\n      //   this.confirmData.last_update_at\r\n      // );\r\n    },\r\n    async getExperienceTag() {\r\n      try {\r\n        const res = await getExperienceTag();\r\n        if (res && res.code === 0) {\r\n          this.tags = res.data;\r\n          if (this.$route.query.experience_id) {\r\n            // 编辑\r\n            if (this.tip) {\r\n              this.tags.forEach((item, index) => {\r\n                if (item.experience_tag_id === this.tip.experience_tag_id) {\r\n                  this.$nextTick(() => {\r\n                    this.chooseTags(index);\r\n                  });\r\n                }\r\n              });\r\n            }\r\n          } else {\r\n            if (this.tip && this.tip.experience_tag_id) {\r\n              this.tags.forEach((item, index) => {\r\n                if (item.experience_tag_id === this.tip.experience_tag_id) {\r\n                  this.$nextTick(() => {\r\n                    this.chooseTags(index);\r\n                  });\r\n                }\r\n              });\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    tabClick(experience_type) {\r\n      this.initTime();\r\n      this.experience_type = experience_type;\r\n    },\r\n    validate() {\r\n      if (!this.experience_title) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请输入心得标题\",\r\n        });\r\n        return false;\r\n      }\r\n      if (!this.experience_content && !this.experience_audio.length) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请输入心得\",\r\n        });\r\n        return false;\r\n      }\r\n      if (!this.experience_tag_id) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请选择标签\",\r\n        });\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    back() {\r\n      this.toConfirmTips(false);\r\n    },\r\n    // 提交心得\r\n    toConfirmTips(editTip) {\r\n      // 新增/编辑返回\r\n      this.$store.dispatch(\"setEditTip\", editTip).then(() => {\r\n        this.$store\r\n          .dispatch(\"setConfirmTipType\", this.experience_type)\r\n          .then(() => {\r\n            this.$router.back();\r\n          });\r\n      });\r\n    },\r\n    initTime(time) {\r\n      if(time) {\r\n        this.time = this.$moment.unix(time).format('YYYY-MM-DD HH:mm');\r\n      } else {\r\n        this.time = this.$moment(new Date()).format(\"YYYY-MM-DD HH:mm\");\r\n      }\r\n    },\r\n    toggle() {\r\n      this.$store.dispatch(\"setWhiteFullScreenPages\", \"CreateTips\").then(() => {\r\n        this.fullscreen = !this.fullscreen;\r\n        if (this.fullscreen) {\r\n          this.$refs.contentBox.style.display = \"flex\";\r\n          this.$refs.types.style.justifyContent = \"flex-start\";\r\n          this.$refs.types.style.flexDirection = \"column\";\r\n          this.$refs.types.style.height = \"100%\";\r\n          this.$refs.types.style.width = \"20%\";\r\n          // this.$refs.classShare.style.width = \"90%\";\r\n          this.$refs.classShare.style.height = \"137px\";\r\n          this.$refs.classShare.style.maxHeight = \"155px\";\r\n          // this.$refs.otherShare.style.width = \"90%\";\r\n          this.$refs.otherShare.style.height = \"89px\";\r\n          this.$refs.otherShare.style.maxHeight = \"155px\";\r\n          this.$refs.otherShare.style.marginTop = \"25px\";\r\n          this.$refs.myTips.style.marginTop = \"0\";\r\n          this.$refs.myTips.style.height = \"calc(100% - 50px)\";\r\n        } else {\r\n          this.$refs.contentBox.style = {};\r\n          this.$refs.types.style = {};\r\n          this.$refs.classShare.style = {};\r\n          this.$refs.otherShare.style = {};\r\n          this.$refs.myTips.style = {};\r\n        }\r\n      });\r\n    },\r\n    throttleChangeTag(index) {\r\n      this.chooseTags(index);\r\n    },\r\n    chooseTags(index) {\r\n      for (let i = 0; i < this.tags.length; i++) {\r\n        this.$refs[\"tag\" + i][0].className = \"tag\";\r\n      }\r\n      if (index < 0) {\r\n        this.experience_tag_id = \"\";\r\n        this.experience_tag_type = \"\";\r\n        return;\r\n      }\r\n      this.experience_tag_id = this.tags[index].experience_tag_id;\r\n      this.experience_tag_type = this.tags[index].experience_tag_type;\r\n      this.experience_tag_title = this.tags[index].experience_tag_title;\r\n      this.$refs[\"tag\" + index][0].className = \"tag tagActive\";\r\n      this.changeTitle();\r\n    },\r\n    setGuideMode(status) {\r\n      this.guideMode = status;\r\n    },\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.setGuideMode(0);\r\n      let timeout = setTimeout(() => {\r\n        this.initGuide();\r\n        clearTimeout(timeout);\r\n      }, 1000);\r\n    },\r\n    initGuide() {\r\n      createTips_guide(this, [\r\n        {\r\n          intro: \"在文字框输入<b>心得</b>\",\r\n          element: document.querySelector(\"#createTips_step1_1\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro:\r\n            \"对自己的心得<b>添加标签</b>，比如已经完成了观念的转变，就可以选 “观念禅修”\",\r\n          element: document.querySelector(\"#createTips_step2\"),\r\n          position: \"top\",\r\n        },\r\n      ]);\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.init();\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if (\r\n      guideStatus.confirmTips_1 == \"0\" ||\r\n      guideStatus.confirmTips_1 == undefined\r\n    ) {\r\n      this.guide();\r\n    }\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.fullscreen = true;\r\n    this.getExperienceTag();\r\n    // this.isMobile = getIsAndroid();\r\n    this.experience_type = this.$route.query.experience_type;\r\n    EventBus.$on(\"createTips_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n    // if (this.course && this.course.length) {\r\n    //   const course = JSON.parse(this.course);\r\n    //   const cou = course[0];\r\n    //   this.course_name = cou.course_name;\r\n    // } else {\r\n    //   this.course_name = \"\";\r\n    // }\r\n    // this.init();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n  height: calc(100% - 54px);\r\n  .content-box {\r\n    height: calc(100% - 24px);\r\n    overflow: hidden;\r\n  }\r\n}\r\n.full {\r\n  background: #eaedef;\r\n  overflow-y: auto;\r\n  .content-box {\r\n    height: 100%;\r\n    border-radius: 0;\r\n  }\r\n}\r\n.box {\r\n  height: 100%;\r\n  padding: 26px 32px 36px 32px;\r\n}\r\n.content-box {\r\n  display: flex;\r\n  background-color: #eaedef;\r\n  .project {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n  }\r\n  .project-name {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 27px;\r\n    padding-top: 8px;\r\n    padding-bottom: 25px;\r\n  }\r\n  .textarea {\r\n    width: 100%;\r\n    &:first-of-type {\r\n      margin-bottom: 14px;\r\n    }\r\n  }\r\n  .experience_content {\r\n    height: 206px;\r\n    min-height: 170px;\r\n    position: relative;\r\n    background: #fafbfb;\r\n    /deep/ .el-textarea {\r\n      height: 100%;\r\n    }\r\n    .recording-wrapper {\r\n      width: 100%;\r\n      height: 100%;\r\n      .experience_edit {\r\n        position: absolute;\r\n        right: 13px;\r\n        bottom: 20px;\r\n        width: 35px;\r\n        height: 35px;\r\n        cursor: pointer;\r\n        box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n        border-radius: 50%;\r\n      }\r\n      /deep/ .el-textarea__inner {\r\n        padding: 5px 15px 54px 15px;\r\n      }\r\n    }\r\n    .recording-tips {\r\n      width: 100%;\r\n      height: 100%;\r\n      background: #fafbfb;\r\n      border-radius: 8px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n      align-items: center;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #7e878c;\r\n      line-height: 22px;\r\n      text-align: right;\r\n      font-style: normal;\r\n      .app_erweima {\r\n        width: 73px;\r\n        height: 73px;\r\n        margin-bottom: 5px;\r\n      }\r\n      .app_name {\r\n        color: #292929;\r\n        font-family: SourceHanSansCN-Medium;\r\n      }\r\n    }\r\n  }\r\n  .play_box {\r\n    width: 100%;\r\n    height: 247px;\r\n    background: #fafbfb;\r\n    border-radius: 8px;\r\n    margin-top: 28px;\r\n    padding: 24px 23px;\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 14px;\r\n      color: #7e878c;\r\n      line-height: 21px;\r\n      font-style: normal;\r\n    }\r\n    .record_box {\r\n      width: 293px;\r\n      height: 140px;\r\n      margin: 0 auto;\r\n      margin-top: 24px;\r\n      padding: 11px 20px;\r\n      background: #fdfdfd;\r\n      box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n        3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n      border-radius: 4px;\r\n      border: 1px solid #ffffff;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      .del {\r\n        width: 20px;\r\n        height: 22px;\r\n        margin-bottom: 16px;\r\n        align-self: flex-end;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    border: none;\r\n    height: 100%;\r\n    padding: 5px 15px;\r\n    background: #fafbfb;\r\n  }\r\n  /deep/ .el-input__count {\r\n    bottom: 2px;\r\n  }\r\n  .tip-title {\r\n    /deep/ .el-textarea__inner {\r\n      height: 43px;\r\n      padding: 10px 15px;\r\n    }\r\n  }\r\n  .tags-wrapper {\r\n    margin-top: 35px;\r\n    .add {\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #292929;\r\n      line-height: 18px;\r\n    }\r\n    .tags {\r\n      display: flex;\r\n      width: 100%;\r\n      margin-top: 16px;\r\n      .tag {\r\n        margin-right: 23px;\r\n        width: 100px;\r\n        height: 32px;\r\n        line-height: 32px;\r\n        background: #eaedef;\r\n        border-radius: 8px;\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        padding-left: 25px;\r\n        position: relative;\r\n        // margin-top: 10px;\r\n        cursor: pointer;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 13px;\r\n          left: 7px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          border: 1px solid #d4d9db;\r\n          background: #d4d9db;\r\n        }\r\n      }\r\n      .tagActive {\r\n        background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n        color: #fff;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 13px;\r\n          left: 7px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          border: 1px solid #fff;\r\n          background: #fff;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  .btn-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    flex-direction: column;\r\n    margin-top: 28px;\r\n    .btn {\r\n      width: 202px;\r\n      height: 43px;\r\n      background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n      border-radius: 8px;\r\n      text-align: center;\r\n      line-height: 43px;\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #ffffff;\r\n      cursor: pointer;\r\n      box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n      margin-bottom: 22px;\r\n    }\r\n    /deep/ .el-radio {\r\n      display: flex;\r\n      align-items: center;\r\n    }\r\n    /deep/ .el-radio__input {\r\n      // line-height: 1.4;\r\n      width: 20px;\r\n      height: 20px;\r\n    }\r\n    /deep/ .el-radio__inner {\r\n      width: 20px;\r\n      height: 20px;\r\n      background: #ECECEC;\r\n      border: 2px solid #FD8B65;\r\n    }\r\n    /deep/ .el-radio__inner::after {\r\n      width: 12px;\r\n      height: 12px;\r\n      background: #ECECEC;\r\n    }\r\n    /deep/ .el-radio.is-checked {\r\n      .el-radio__inner::after {\r\n        width: 12px;\r\n        height: 12px;\r\n        background: #FD8B65;\r\n      }\r\n    }\r\n    /deep/ .el-radio__label {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #7E878C;\r\n      line-height: 24px;\r\n      text-align: center;\r\n      font-style: normal;\r\n    }\r\n    .tip {\r\n      display: flex;\r\n      align-items: center;\r\n    }\r\n    .tooltip {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #7E878C;\r\n      line-height: 27px;\r\n      text-align: center;\r\n      font-style: normal;\r\n      text-decoration: underline;\r\n      padding-left: 10px;\r\n    }\r\n  }\r\n\r\n}\r\n.types {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  flex-direction: column;\r\n  padding-right: 39px;\r\n  // height: 20%;\r\n  .class-share {\r\n    width: 145px;\r\n    height: 126px;\r\n    margin-top: 40px;\r\n    background: #fff;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    color: @behavior;\r\n    border-radius: 10px;\r\n    cursor: pointer;\r\n    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n    // cursor: pointer;\r\n  }\r\n  .other-share {\r\n    width: 145px;\r\n    height: 77px;\r\n    background: #fff;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    color: @behavior;\r\n    border-radius: 10px;\r\n    margin-top: 12px;\r\n    cursor: pointer;\r\n    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n    // cursor: pointer;\r\n  }\r\n  .share {\r\n    background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n    color: #fff;\r\n  }\r\n}\r\n.my-tips {\r\n  width: 100%;\r\n  height: 100%;\r\n  margin-top: 0;\r\n  overflow-y: auto;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .mytip-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: @behavior;\r\n    line-height: 24px;\r\n    padding-left: 39px;\r\n  }\r\n  .head {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    padding-bottom: 19px;\r\n  }\r\n  .edit-time {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    margin-top: 2px;\r\n    // margin-bottom: 22px;\r\n    padding-left: 39px;\r\n  }\r\n  .draft {\r\n    width: 58px;\r\n    height: 24px;\r\n    line-height: 24px;\r\n    border-radius: 4px;\r\n    border: 1px solid #d4d9db;\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    text-align: center;\r\n    cursor: pointer;\r\n    margin-right: 39px;\r\n  }\r\n  .tips-content {\r\n    background: #f2f4f5;\r\n    border-radius: 16px;\r\n    padding: 35px 36px 20px 39px;\r\n    position: relative;\r\n    flex: 1;\r\n    &.tips-content1 {\r\n      // margin-bottom: 99px;\r\n    }\r\n    // display: flex;\r\n    // flex-direction: column;\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n/deep/ el-textarea {\r\n  border: 1px dashed #a9aeae;\r\n}\r\n/deep/ .el-row {\r\n  width: 100%;\r\n}\r\n.fullscreen {\r\n  position: absolute;\r\n  right: 10px;\r\n  top: -12px;\r\n  cursor: pointer;\r\n}\r\n.name {\r\n  color: @behavior;\r\n  font-size: 16px;\r\n  font-family: \"SourceHanSansCN-Medium\";\r\n  font-weight: bold;\r\n  display: flex;\r\n  padding-left: 36px;\r\n  line-height: 24px;\r\n  cursor: pointer;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CreateTips.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{staticClass:\"box\"},[_c('div',{ref:\"contentBox\",staticClass:\"content-box\"},[_c('div',{ref:\"types\",staticClass:\"types\"},[_c('div',{staticClass:\"name\",on:{\"click\":_vm.back}},[(_vm.fullscreen)?_c('img',{staticClass:\"full_page_eye\",attrs:{\"src\":\"/static/img/behavior.svg\"}}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(\"提交心得\")])]),_vm._v(\" \"),_c('div',{ref:\"classShare\",staticClass:\"class-share\",class:[_vm.experience_type == 1 ? 'share' : ''],on:{\"click\":function($event){return _vm.tabClick(1)}}},[_vm._v(\"\\n          交流分享\\n        \")]),_vm._v(\" \"),_c('div',{ref:\"otherShare\",staticClass:\"other-share\",class:[_vm.experience_type != 1 ? 'share' : ''],on:{\"click\":function($event){return _vm.tabClick(2)}}},[_vm._v(\"\\n          其他分享\\n        \")])]),_vm._v(\" \"),_c('div',{ref:\"myTips\",staticClass:\"my-tips\"},[_c('div',{staticClass:\"head\"},[_c('div',[_c('p',{staticClass:\"mytip-label\"},[_vm._v(\"\\n              \"+_vm._s(_vm.experience_type == 1 ? \"交流分享\" : \"其他分享\")+\"\\n            \")]),_vm._v(\" \"),_c('p',{staticClass:\"edit-time\"},[_vm._v(\"编辑时间 \"+_vm._s(_vm.time))])])]),_vm._v(\" \"),_c('div',{staticClass:\"tips-content tips-content1\",attrs:{\"id\":\"createTipsContent\"}},[(_vm.app_type == 2)?_c('p',{staticClass:\"project\"},[_vm._v(\"课程 /\")]):_c('p',{staticClass:\"project\"},[_vm._v(\"笔记 /\")]),_vm._v(\" \"),_c('p',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.course_name))]),_vm._v(\" \"),_c('div',{staticClass:\"textarea\"},[_c('el-input',{staticClass:\"tip-title\",attrs:{\"type\":\"textarea\",\"rows\":1,\"placeholder\":\"输入心得标题\",\"resize\":'none'},on:{\"input\":_vm.throttleChange},model:{value:(_vm.experience_title),callback:function ($$v) {_vm.experience_title=$$v},expression:\"experience_title\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"textarea experience_content\"},[(!_vm.recording)?_c('div',{staticClass:\"recording-wrapper\"},[_c('el-input',{attrs:{\"id\":\"createTips_step1_1\",\"type\":\"textarea\",\"maxlength\":\"3000\",\"show-word-limit\":\"\",\"placeholder\":\"输入心得\",\"resize\":'none'},on:{\"input\":_vm.throttleChange,\"blur\":_vm.blurTips,\"focus\":_vm.focusTips},model:{value:(_vm.experience_content),callback:function ($$v) {_vm.experience_content=$$v},expression:\"experience_content\"}}),_vm._v(\" \"),_c('img',{staticClass:\"experience_edit recording\",attrs:{\"src\":require(\"@/assets/img/recording.png\")},on:{\"click\":function($event){return _vm.toggleAudio(true)}}})],1):_c('div',{staticClass:\"recording-wrapper recording-tips\"},[(_vm.app_type == 1)?_c('img',{staticClass:\"app_erweima\",attrs:{\"src\":require(\"@/assets/img/yuanriji_app.png\")}}):_c('img',{staticClass:\"app_erweima\",attrs:{\"src\":require(\"@/assets/img/yuanriji_app_global.png\")}}),_vm._v(\" \"),(_vm.app_type == 1)?_c('div',[_vm._v(\"扫码登录\"),_c('span',{staticClass:\"app_name\"},[_vm._v(\"元日记APP\")])]):_c('div',[_vm._v(\"扫码登录\"),_c('span',{staticClass:\"app_name\"},[_vm._v(\"元日记国际版APP\")])]),_vm._v(\" \"),_c('div',[_vm._v(\"使用语音编辑\")]),_vm._v(\" \"),_c('img',{staticClass:\"experience_edit\",attrs:{\"src\":require(\"@/assets/img/recording_edit.png\")},on:{\"click\":function($event){return _vm.toggleAudio(false)}}})])]),_vm._v(\" \"),(_vm.experience_audio.length > 0)?_c('div',{staticClass:\"play_box\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"语音心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"record_box\"},[_c('img',{staticClass:\"del\",attrs:{\"src\":require(\"@/assets/img/del_audio.svg\")},on:{\"click\":function($event){return _vm.delAudio()}}}),_vm._v(\" \"),_c('TipAudioCom',{ref:\"CreatTipsAudioCom\",attrs:{\"url\":_vm.experience_audio[0].experience_audio_url_show,\"currentTimeProp\":'0',\"bgColor\":'#ffae8b,#fd746b',\"progressColor\":'#D4D9DB'}})],1)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tags-wrapper\"},[_c('p',{staticClass:\"add\"},[_vm._v(\"添加标签\")]),_vm._v(\" \"),_c('div',{staticClass:\"tags\"},_vm._l((_vm.tags),function(item,index){return _c('div',{key:'tag' + index,ref:'tag' + index,refInFor:true,staticClass:\"tag\",attrs:{\"id\":'createTips_step' + index},on:{\"click\":function($event){return _vm.throttleChangeTag(index, $event)}}},[_vm._v(\"\\n                \"+_vm._s(item.experience_tag_title)+\"\\n              \")])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"btn-wrapper\"},[(_vm.courseIsuseradd != 3)?_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.upload]),expression:\"[upload]\"}],staticClass:\"btn\"},[_vm._v(\"\\n              保 存\\n            \")]):_vm._e(),_vm._v(\" \"),( _vm.courseIsuseradd == 2)?_c('div',{staticClass:\"tip\"},[_c('el-radio-group',{model:{value:(_vm.experience_status),callback:function ($$v) {_vm.experience_status=$$v},expression:\"experience_status\"}},_vm._l((_vm.options),function(item){return _c('el-radio',{key:item.value,attrs:{\"label\":item.value},nativeOn:{\"click\":function($event){return _vm.handleClick(item.value)}}},[_vm._v(\"\\n                  \"+_vm._s(item.label)+\"\\n                \")])}),1),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"disabled\":false,\"popper-class\":'submissiontip',\"effect\":\"light\",\"placement\":\"top\"}},[_c('div',{staticClass:\"content\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"投稿的稿件将通过后台审核后发布至\"),_c('span',{staticClass:\"xinde\"},[_vm._v(\"心得广场\")]),_vm._v(\"。\")]),_vm._v(\" \"),_c('a',{staticClass:\"tooltip\",attrs:{\"href\":\"javascript:;\"}},[_vm._v(\"什么是投稿？\")])])],1):_vm._e()])])])])]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"当前心得与服务器不一致，确定保存当前心得？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.cancel}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",on:{\"click\":_vm.submitCon}},[_vm._v(\"确 定\")])],1)]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"visible\":_vm.dialogVisibleDel,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleDel=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"确定删除？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleDel = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",on:{\"click\":_vm.submitDel}},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-619a4827\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CreateTips.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-619a4827\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CreateTips.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CreateTips.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CreateTips.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-619a4827\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CreateTips.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-619a4827\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CreateTips.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0LjAgMjQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTM3NSwwIEwzNzUsODEyIEwwLDgxMiBMMCwwIEwzNzUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9ImkxIiB4MT0iLTAuNDQ4NTM3NDk5cHgiIHkxPSI1LjEzNDMxMDk3cHgiIHgyPSIxMy4yMjIyMjIycHgiIHkyPSI2LjU2NTAwODZweCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGRkFFOEEiIG9mZnNldD0iMCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NDZBIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaTIiIHgxPSItMC44NjcxMDMxODdweCIgeTE9IjEuNTU1NTU1NTZweCIgeDI9IjdweCIgeTI9IjEuNTU1NTU1NTZweCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGRkE4ODgiIG9mZnNldD0iMCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NzZDIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaTMiIHgxPSItMC44MzAwNjE1NjRweCIgeTE9IjEuNTU1NTU1NTZweCIgeDI9IjcuOTYwOTY0NjRweCIgeTI9IjEuNTU1NTU1NTZweCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGRkFBODkiIG9mZnNldD0iMCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NDZCIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTEyLjAgLTM2OC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEyLjAgMzY4LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0Ljc5Nzc5MjQ5NjA1MjM1MiA2LjA5MTA5NjM5MjgzNzI0NCkiPjxwYXRoIGQ9Ik0xMy4yMjIyMjIyLDMuNTYyNDE5NDEgQzEzLjIyMjIyMjIsMS41OTUxMTMxNyAxMS42Mjc2MTU0LDAgOS42NTk4MDI4MSwwIEM4LjM2NzAwMTU2LDAgNy4yMzUyMzA3OSwwLjY4OTE5MDE2NyA2LjYxMDg1NzkyLDEuNzE5NjgzOTEgQzUuOTg2OTkxNDMsMC42ODkxOTAxNjcgNC44NTQ3MTQyOCwwIDMuNTYxOTEzMDMsMCBDMS41OTQ2MDY3OSwwIDAsMS41OTUxMTMxNyAwLDMuNTYyNDE5NDEgQzAsNy4wNDYzNDkxMyA2LjYxMDg1NzkyLDExLjU5MjY3NDkgNi42MTA4NTc5MiwxMS41OTI2NzQ5IEM2LjYxMDg1NzkyLDExLjU5MjY3NDkgMTMuMjIyMjIyMiw3LjA0NjM0OTEzIDEzLjIyMjIyMjIsMy41NjI0MTk0MSBaIiBzdHJva2U9InVybCgjaTEpIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC40NDQ0NDQ0NDQ0NDI4NCA1Ljk5OTk5OTk5OTk5OTY4NCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTU1NTU1NTU1NTU1MzQwOSAtMy4xNjE5MTUxNzQxMzI0NDZlLTEzKSByb3RhdGUoOTAuMCkiPjxwYXRoIGQ9Ik03LDEuNTA5MDgzNzcgQzYuMjM4NTIxMTUsMC41OTc1NzQ0MzEgNC45NjM0ODM1MiwwIDMuNTE5MDc4ODcsMCBDMi4wNTAyNjg2NiwwIDAuNzU2NTk3MjkyLDAuNjE3OTM5MDA5IDAsMS41NTU1NTU1NiIgc3Ryb2tlPSJ1cmwoI2kyKSIgc3Ryb2tlLXdpZHRoPSIxLjY2IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi41NTU1NTU1NTU1NTg5ODQgNS45OTk5OTk5OTk5OTk2ODkpIHNjYWxlKC0xLjAgMS4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS41NTU1NTU1NTU1NTUzNDYyIC0zLjEwNDE4MzU3Njg1MTkzNzdlLTEzKSByb3RhdGUoOTAuMCkiPjxwYXRoIGQ9Ik03LDEuNTA5MDgzNzcgQzYuMjM4NTIxMTUsMC41OTc1NzQ0MzEgNC45NjM0ODM1MiwwIDMuNTE5MDc4ODcsMCBDMi4wNTAyNjg2NiwwIDAuNzU2NTk3MjkyLDAuNjE3OTM5MDA5IDAsMS41NTU1NTU1NiIgc3Ryb2tlPSJ1cmwoI2kzKSIgc3Ryb2tlLXdpZHRoPSIxLjY2IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/hot_active.svg\n// module id = ATsf\n// module chunks = 171","<template>\r\n  <div class=\"reset-wrapper\">\r\n    <p class=\"reset-label\">设置密码</p>\r\n    <div class=\"reset-box\">\r\n      <el-form\r\n        :model=\"resetFormFirst\"\r\n        :rules=\"resetRulesFirst\"\r\n        ref=\"resetFormFirst\"\r\n        autocomplete=\"off\"\r\n        label-width=\"0px\"\r\n        class=\"resetForm\"\r\n      >\r\n        <div class=\"form_row form_row4\">\r\n          <el-form-item label=\"\" prop=\"user_pass\">\r\n            <el-input\r\n              v-if=\"!showPwdFirst\"\r\n              type=\"password\"\r\n              ref=\"password\"\r\n              class=\"code\"\r\n              v-model=\"resetFormFirst.user_password\"\r\n              placeholder=\"请输入至少6位密码\"\r\n            ></el-input>\r\n            <el-input\r\n              v-else\r\n              type=\"text\"\r\n              ref=\"password\"\r\n              class=\"code\"\r\n              v-model=\"resetFormFirst.user_password\"\r\n              placeholder=\"请输入至少6位密码\"\r\n            ></el-input>\r\n            <img\r\n              v-if=\"!showPwdFirst\"\r\n              class=\"show_pwd\"\r\n              src=\"@/assets/img/look.png\"\r\n              @click=\"showPwdFnFirst\"\r\n            />\r\n            <img\r\n              v-else\r\n              class=\"show_pwd\"\r\n              src=\"@/assets/img/show_pwd.png\"\r\n              @click=\"showPwdFnFirst\"\r\n            />\r\n          </el-form-item>\r\n        </div>\r\n        <div class=\"form_row form_row4\">\r\n          <el-form-item label=\"\" prop=\"user_confirm_password\">\r\n            <el-input\r\n              type=\"password\"\r\n              ref=\"password\"\r\n              class=\"code\"\r\n              v-model=\"resetFormFirst.user_confirm_password\"\r\n              placeholder=\"请再次输入密码\"\r\n            ></el-input>\r\n            <!-- <el-input\r\n              v-else\r\n              type=\"text\"\r\n              ref=\"password\"\r\n              class=\"code\"\r\n              v-model=\"resetFormFirst.user_confirm_password\"\r\n              placeholder=\"请再次输入密码\"\r\n            ></el-input> -->\r\n            <!-- <img\r\n              v-if=\"!showPwdResetFirst\"\r\n              class=\"show_pwd\"\r\n              src=\"@/assets/img/look.png\"\r\n              @click=\"showPwdFnResetFirst\"\r\n            />\r\n            <img\r\n              v-else\r\n              class=\"show_pwd\"\r\n              src=\"@/assets/img/show_pwd.png\"\r\n              @click=\"showPwdFnResetFirst\"\r\n            /> -->\r\n          </el-form-item>\r\n        </div>\r\n        <p class=\"tip\">*密码只能由数字、大小写字母、英文特殊字符组成。</p>\r\n        <p class=\"tip tip1\">请牢记密码，后续推荐使用密码登录。</p>\r\n        <el-form-item class=\"btn-login reset-btn-login\">\r\n          <el-button\r\n            :disabled=\"resetFormBtnDisFirst\"\r\n            type=\"primary\"\r\n            @click=\"onSubmitResetCreate('resetFormFirst')\"\r\n            >提 交</el-button\r\n          >\r\n          <p class=\"cancel\" @click=\"backToLogin\">取消</p>\r\n        </el-form-item>\r\n      </el-form>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  createPassword\r\n} from \"@/api/index\";\r\nimport { removeWhiteCom, removeBlackCom, removeWhiteActiveIndex, removeBlackActiveIndex,removePageName, removeCaseInfo,removeProblemSolveList, removeProblemSolve } from \"@/utils/auth\";\r\nexport default {\r\n    computed: {\r\n        user() {\r\n            let user = this.$store.getters.user;\r\n            if (typeof user == \"string\") {\r\n                return JSON.parse(user);\r\n            } else {\r\n                return user;\r\n            }\r\n        }\r\n    },\r\n    data() {\r\n        return {\r\n            showPwdFirst: false,\r\n            showPwdResetFirst: false,\r\n            resetFormFirst: {\r\n                device_id: localStorage.getItem(\"DeviceId\"),\r\n                user_password: \"\",\r\n                user_confirm_password: \"\",\r\n            },\r\n            resetRulesFirst: {\r\n                user_mobile: [\r\n                // { required: true, message: \"请输入手机号\", trigger: \"change\" },\r\n                // { required: false, validator: this.vPhone, trigger: \"change\" },\r\n                ],\r\n                // code: [{ required: true, message: \"请输入验证码\", trigger: \"change\" }],\r\n                user_password: [\r\n                // {\r\n                //   required: true,\r\n                //   message: \"请输入长度至少六位的密码\",\r\n                //   trigger: \"change\",\r\n                // },\r\n                // { min: 6, message: \"请输入长度至少六位的密码\", trigger: \"change\" },\r\n                ],\r\n                user_confirm_password: [\r\n                // { required: true, message: \"请再次输入密码\", trigger: \"change\" },\r\n                ],\r\n            },\r\n            resetFormBtnDisFirst: true,\r\n            resetCodeBtnDisFirst: false,\r\n            dialogVisible: true,\r\n        }\r\n    },\r\n    watch: {\r\n        resetFormFirst: {\r\n            deep: true,\r\n            handler: function (form) {\r\n                if (\r\n                    form.user_password &&\r\n                    form.user_password.length >= 6 &&\r\n                    form.user_confirm_password &&\r\n                    form.user_confirm_password.length >= 6\r\n                ) {\r\n                    this.resetFormBtnDisFirst = false;\r\n                } else {\r\n                    this.resetFormBtnDisFirst = true;\r\n                }\r\n                // if (\r\n                //   form.user_mobile &&\r\n                //   /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n                //     form.user_mobile\r\n                //   )\r\n                // ) {\r\n                //   this.resetCodeBtnDisFirst = false;\r\n                // } else {\r\n                //   this.resetCodeBtnDisFirst = true;\r\n                // }\r\n            },\r\n        },\r\n    },\r\n    methods: {\r\n      backToLogin() {\r\n        this.$router.replace(\"/login\");\r\n      },\r\n      redirectRouter(user) {\r\n          removeWhiteCom();\r\n          removeBlackCom();\r\n          removeBlackActiveIndex();\r\n          removeCaseInfo();\r\n          removePageName();\r\n          removeProblemSolve();\r\n          removeProblemSolveList();\r\n          removeWhiteActiveIndex();\r\n          // 其中user_status用户状态 1启用2未激活，如果为2未激活，需要跳转到一个课程进度选择页面，设置用户当前课程。\r\n          if (user.user_status == 2) {\r\n              this.$router.replace(\"/CourseSelect\");\r\n          } else {\r\n              this.$router.replace(\"/\");\r\n          }\r\n          this.dialogVisible = false;\r\n      },\r\n      showPwdFnFirst() {\r\n          this.showPwdFirst = !this.showPwdFirst;\r\n      },\r\n      showPwdFnResetFirst() {\r\n          this.showPwdResetFirst = !this.showPwdResetFirst;\r\n      },\r\n      onSubmitResetCreate(formName) {\r\n        this.$refs[formName].validate(async (valid) => {\r\n          try {\r\n            if (valid) {\r\n              if(this.resetFormFirst.user_password != this.resetFormFirst.user_confirm_password) {\r\n                this.$message.warning(\"密码不一致\")\r\n                return;\r\n              }\r\n              const params = {\r\n              ...this.resetFormFirst,\r\n              };\r\n              console.log(params);\r\n              const res = await createPassword(params);\r\n              if (res && res.code === 0) {\r\n                this.$message(res.msg);\r\n                this.$refs.resetFormFirst.resetFields();\r\n                const user = {\r\n                  ...this.user,\r\n                  user_password_reset: 2\r\n                };\r\n                this.$store.dispatch(\"login\", user).then(() => {\r\n                  this.redirectRouter(user);\r\n                });\r\n              } else {\r\n                // this.$message(res.msg);\r\n              }\r\n\r\n            } else {\r\n                console.log(\"error submit!!\");\r\n                return false;\r\n            }\r\n          } catch (error) {\r\n            // this.$notify.error({\r\n            //     title: \"错误\",\r\n            //     message: error\r\n            // });\r\n          }\r\n        });\r\n      },\r\n    }\r\n}\r\n</script>\r\n<style scoped lang=\"less\">\r\n.reset-wrapper {\r\n  position: absolute;\r\n  top: 50%;\r\n  left: 50%;\r\n  transform: translate(-50%, -50%);\r\n}\r\n.reset-box {\r\n  width: 314px;\r\n  height: 310px;\r\n  background: rgba(255,255,255,0.7);\r\n  box-shadow: 0px 2px 20px 0px rgba(0,0,0,0.05);\r\n  border-radius: 16px;\r\n  padding: 30px 46px 0 46px;\r\n}\r\n.reset-label {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 300;\r\n  font-size: 32px;\r\n  color: #6FB4D7;\r\n  line-height: 48px;\r\n  text-align: center;\r\n  font-style: normal;\r\n  padding-bottom: 30px;\r\n}\r\n.loginBg {\r\n  height: 100%;\r\n  background-image: url(\"~@/assets/img/loginBg01.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n  display: flex;\r\n  overflow-y: auto;\r\n\r\n\r\n  /deep/ .el-checkbox__inner {\r\n    border-radius: 50%;\r\n    border: 1px solid #64afd5;\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-checkbox__input.is-checked .el-checkbox__inner {\r\n    // background-color: #fff;\r\n    border-color: #64afd5;\r\n  }\r\n  /deep/ .is-checked .el-checkbox__inner::after {\r\n    border: 1px solid #64afd5;\r\n    border-left: 0;\r\n    border-top: 0;\r\n    width: 3px;\r\n    height: 7px;\r\n    left: 4px;\r\n    top: 1px;\r\n  }\r\n}\r\n\r\n// input\r\n/deep/ .el-form-item {\r\n  margin-bottom: 0;\r\n  border-bottom: 1px solid rgba(100, 175, 213, 0.2);\r\n  width: 100%;\r\n  // height: 100%;\r\n}\r\n/deep/ .el-form-item__content {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: flex-end;\r\n  height: 100%;\r\n  line-height: 40px;\r\n  font-size: 14px;\r\n}\r\n/deep/ .el-input__inner {\r\n  border-radius: 0;\r\n  border: 0;\r\n  background-color: #f5f9fb;\r\n  background-color: rgba(255, 255, 255, 0);\r\n  padding: 0;\r\n  height: 40px;\r\n  line-height: 40px;\r\n}\r\n/deep/ .el-input {\r\n  font-size: 14px;\r\n  color: #4e545c;\r\n  line-height: 21px;\r\n}\r\n/deep/ .el-select > .el-input {\r\n  width: 80px;\r\n}\r\n/deep/ .el-select .el-input__inner {\r\n  padding-left: 5px !important;\r\n  // padding-right: 10px !important;\r\n}\r\n/deep/ .el-input__suffix {\r\n  right: 12px;\r\n  // padding-left: 10px;\r\n}\r\n\r\n/deep/ .el-button--primary {\r\n  border-color: #64afd5;\r\n}\r\n/deep/ .el-button:hover {\r\n  background: #64afd5;\r\n}\r\n/deep/ .el-button--primary.is-disabled {\r\n  background: #eaedef !important;\r\n  border-color: #eaedef;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n}\r\n/deep/ .el-select .el-input .el-select__caret {\r\n  color: #64afd5;\r\n  font-size: 14px;\r\n}\r\n/deep/ .el-select .el-input .el-input__icon {\r\n  width: 25px;\r\n  line-height: 25px;\r\n}\r\n.form_row {\r\n  display: flex;\r\n  align-items: flex-end;\r\n  justify-content: space-between;\r\n  height: 74px;\r\n}\r\n.form_row2 {\r\n  height: 75px;\r\n  justify-content: flex-end;\r\n  display: block;\r\n}\r\n.form_row3 {\r\n  padding: 0 30px;\r\n}\r\n.form_row4 {\r\n  height: 48px !important;\r\n}\r\n.btn-login {\r\n  border-bottom: none;\r\n  /deep/ .el-form-item__content {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: flex-start;\r\n    align-items: center;\r\n  }\r\n  .cancel {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #64AFD5;\r\n    line-height: 24px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    padding-top: 19px;\r\n    cursor: pointer;\r\n  }\r\n}\r\n.tip {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7E878C;\r\n  line-height: 18px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n  &:first-of-type {\r\n    padding-top: 5px;\r\n  }\r\n}\r\n.btn-login /deep/ .el-button {\r\n  width: 223px;\r\n  height: 40px;\r\n  background: #64afd5;\r\n  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n  border-radius: 8px;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding: 12px 20px;\r\n  color: #fff;\r\n}\r\n.back {\r\n  background: #eaedef !important;\r\n  color: #7e878c;\r\n  border-color: #eaedef;\r\n  &:hover {\r\n    border-color: #eaedef;\r\n  }\r\n}\r\n.reset-btn-login /deep/ .el-button {\r\n  margin-top: 15px;\r\n  width: 225px;\r\n}\r\n.show_pwd {\r\n  margin-bottom: 10px;\r\n  width: 17px;\r\n  height: 17px;\r\n}\r\n.forgetPwd {\r\n  font-size: 12px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #64AFD5;\r\n  line-height: 18px;\r\n  cursor: pointer;\r\n  // text-decoration: underline;\r\n  position: absolute;\r\n  right: 0;\r\n  border-bottom: 1px solid #64AFD5;\r\n}\r\n\r\n\r\n/* 隐藏左侧箭头 */\r\n/deep/ .el-icon-arrow-left::before {\r\n  display: none !important;\r\n}\r\n\r\n/* 隐藏右侧箭头 */\r\n/deep/ .el-icon-arrow-right::before {\r\n  display: none !important;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/resetPwd.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reset-wrapper\"},[_c('p',{staticClass:\"reset-label\"},[_vm._v(\"设置密码\")]),_vm._v(\" \"),_c('div',{staticClass:\"reset-box\"},[_c('el-form',{ref:\"resetFormFirst\",staticClass:\"resetForm\",attrs:{\"model\":_vm.resetFormFirst,\"rules\":_vm.resetRulesFirst,\"autocomplete\":\"off\",\"label-width\":\"0px\"}},[_c('div',{staticClass:\"form_row form_row4\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_pass\"}},[(!_vm.showPwdFirst)?_c('el-input',{ref:\"password\",staticClass:\"code\",attrs:{\"type\":\"password\",\"placeholder\":\"请输入至少6位密码\"},model:{value:(_vm.resetFormFirst.user_password),callback:function ($$v) {_vm.$set(_vm.resetFormFirst, \"user_password\", $$v)},expression:\"resetFormFirst.user_password\"}}):_c('el-input',{ref:\"password\",staticClass:\"code\",attrs:{\"type\":\"text\",\"placeholder\":\"请输入至少6位密码\"},model:{value:(_vm.resetFormFirst.user_password),callback:function ($$v) {_vm.$set(_vm.resetFormFirst, \"user_password\", $$v)},expression:\"resetFormFirst.user_password\"}}),_vm._v(\" \"),(!_vm.showPwdFirst)?_c('img',{staticClass:\"show_pwd\",attrs:{\"src\":require(\"@/assets/img/look.png\")},on:{\"click\":_vm.showPwdFnFirst}}):_c('img',{staticClass:\"show_pwd\",attrs:{\"src\":require(\"@/assets/img/show_pwd.png\")},on:{\"click\":_vm.showPwdFnFirst}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"form_row form_row4\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_confirm_password\"}},[_c('el-input',{ref:\"password\",staticClass:\"code\",attrs:{\"type\":\"password\",\"placeholder\":\"请再次输入密码\"},model:{value:(_vm.resetFormFirst.user_confirm_password),callback:function ($$v) {_vm.$set(_vm.resetFormFirst, \"user_confirm_password\", $$v)},expression:\"resetFormFirst.user_confirm_password\"}})],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"tip\"},[_vm._v(\"*密码只能由数字、大小写字母、英文特殊字符组成。\")]),_vm._v(\" \"),_c('p',{staticClass:\"tip tip1\"},[_vm._v(\"请牢记密码，后续推荐使用密码登录。\")]),_vm._v(\" \"),_c('el-form-item',{staticClass:\"btn-login reset-btn-login\"},[_c('el-button',{attrs:{\"disabled\":_vm.resetFormBtnDisFirst,\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onSubmitResetCreate('resetFormFirst')}}},[_vm._v(\"提 交\")]),_vm._v(\" \"),_c('p',{staticClass:\"cancel\",on:{\"click\":_vm.backToLogin}},[_vm._v(\"取消\")])],1)],1)],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-28fca7f3\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/resetPwd.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-28fca7f3\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./resetPwd.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./resetPwd.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./resetPwd.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-28fca7f3\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./resetPwd.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-28fca7f3\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/resetPwd.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/headimage5.5ba0de3.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage5.png\n// module id = B4Uq\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"recommendming\" id=\"recommendming\">\r\n    <div\r\n      class=\"operates\"\r\n      v-if=\"\r\n        data &&\r\n          !data.course_recommend_studythink &&\r\n          data.course_recommend_studythinkpdf_show\r\n      \"\r\n    >\r\n      <div>\r\n        <el-button class=\"bg-transparent\" @click=\"downloadPdf\"\r\n          >下载</el-button\r\n        >\r\n      </div>\r\n      <!-- <el-tooltip\r\n        class=\"item\"\r\n        effect=\"light\"\r\n        content=\"下载文件\"\r\n        placement=\"bottom\"\r\n      >\r\n        <img\r\n          src=\"@/assets/img/mind_download.png\"\r\n          width=\"18\"\r\n          height=\"18\"\r\n          @click=\"downloadFileUrl\"\r\n        />\r\n      </el-tooltip> -->\r\n    </div>\r\n    <div style=\"flex: 1\" v-if=\"data.course_recommend_studythink\">\r\n      <PadMyMindOutline\r\n        v-if=\"isMobile\"\r\n        :myMindOutlineId=\"'recommend_studythink'\"\r\n        ref=\"MyMindOutlineRecommend\"\r\n        :dataPro=\"course_recommend_studythink\"\r\n        :editOutline=\"false\"\r\n        :readOnly=\"true\"\r\n      />\r\n      <MyMindOutline\r\n        v-else\r\n        :myMindOutlineId=\"'recommend_studythink'\"\r\n        ref=\"MyMindOutlineRecommend\"\r\n        :dataPro=\"course_recommend_studythink\"\r\n        :editOutline=\"false\"\r\n        :readOnly=\"true\"\r\n      />\r\n\r\n      <!-- <div class=\"image\" v-for=\"(item, index) in images\" :key=\"'image' + index\">\r\n        <el-image :src=\"item\" :preview-src-list=\"images\" :fit=\"'fill'\">\r\n          <div slot=\"placeholder\" class=\"image-slot\">\r\n            加载中<span class=\"dot\">...</span>\r\n          </div>\r\n        </el-image>\r\n      </div> -->\r\n    </div>\r\n\r\n    <MyMindPdf\r\n      ref=\"myMindPdfRecommend\"\r\n      :key=\"'myMindPdfRecommend'\"\r\n      v-if=\"\r\n          !data.course_recommend_studythink &&\r\n            data.course_recommend_studythinkpdf_show\r\n        \"\r\n      :showFooter=\"false\"\r\n      :showUpload=\"false\"\r\n      :mindPdfWidth=\"mindPdfWidth\"\r\n      :pdfUrl=\"course_recommend_studythinkpdf_show_base64\"\r\n      :mindmap_pdf_show=\"data.course_recommend_studythinkpdf_show\"\r\n      :course_id=\"course_id\"\r\n      :course_name=\"course_name\"\r\n      :imageViewerCanvas=\"'imageViewerCanvasRecommend'\"\r\n    />\r\n    <!-- <MyMindPdf\r\n      :mindPdfWidth=\"mindPdfWidth\"\r\n      :pdfUrl=\"pdfUrl\"\r\n      :course_id=\"data.course_id\"\r\n      :courseIsuseradd=\"data.course_isuseradd\"\r\n      :imageViewerCanvas=\"'imageViewerCanvasStudyLog'\"\r\n      /> -->\r\n\r\n    <div\r\n      class=\"none_wrapper\"\r\n      v-if=\"\r\n        !data.course_recommend_studythink &&\r\n          !data.course_recommend_studythinkpdf_show\r\n      \"\r\n    >\r\n      <img src=\"@/assets/img/recommend_none.svg\" />\r\n      <p>暂无推荐导图</p>\r\n    </div>\r\n\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"\r\n        is_collect == 2 &&\r\n          (data.course_recommend_studythink ||\r\n            data.course_recommend_studythinkpdf_show)\r\n      \"\r\n      @click=\"addUserCollection(1)\"\r\n    >\r\n      <img src=\"@/assets/img/mind_collect.svg\"/>\r\n      <p>收藏导图</p>\r\n    </div>\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"\r\n        is_collect == 1 &&\r\n          (data.course_recommend_studythink ||\r\n            data.course_recommend_studythinkpdf_show)\r\n      \"\r\n      @click=\"addUserCollection(2)\"\r\n    >\r\n      <img src=\"@/assets/img/mind_collected.svg\"/>\r\n      <p>取消收藏</p>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { addUserCollection } from \"@/api/index\";\r\nimport MyMindOutline from \"./MyMindOutline.vue\";\r\nimport PadMyMindOutline from \"@/views/pad/Mind/MyMindOutline.vue\";\r\nimport MyMindPdf from \"./MyMindPdf.vue\";\r\nimport {\r\n  getOssConfig,\r\n  getBase64ByFile,\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile\r\n} from \"@/utils/indexDb\";\r\nimport { getIsMobile } from \"@/utils/util\";\r\n\r\n\r\nexport default {\r\n  components: { MyMindOutline, PadMyMindOutline, MyMindPdf },\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    activeName: {\r\n      type: String,\r\n      default: \"\"\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      ids: [],\r\n      checks: [],\r\n      imagesName: [],\r\n      images: [],\r\n      is_collect: false,\r\n      data: {},\r\n      course_recommend_studythink: {\r\n        mindmap_content: \"\"\r\n      },\r\n      inited: false,\r\n      mindPdfWidth:  0,\r\n      pdfName: \"\",\r\n      course_recommend_studythinkpdf: '',\r\n      course_recommend_studythinkpdf_show_base64: \"\",\r\n      isMobile: getIsMobile(),\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course_name() {\r\n      return this.$store.getters.course_name;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    // course_recommend_studythinkpdf() {\r\n    //   return this.dataPro.course_recommend_studythinkpdf\r\n    // }\r\n  },\r\n  watch: {\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"推荐思维导图：\", this.dataPro);\r\n        if (v) {\r\n          this.data = v;\r\n          this.init();\r\n        }\r\n      }\r\n    },\r\n    course_recommend_studythinkpdf: {\r\n      deep: true,\r\n      handler: function(newVal, oldVal) {\r\n        console.log(\"推荐思维导图course_recommend_studythinkpdf：\", this.course_recommend_studythinkpdf);\r\n        if (newVal != oldVal) {\r\n          this.initPdf();\r\n\r\n        }\r\n      }\r\n    },\r\n    activeName(newVal) {\r\n      if (this.activeName) {\r\n        if(this.whiteCom == \"Mind\" && !this.data.course_recommend_studythink && this.data.course_recommend_studythinkpdf_show && this.activeName == \"2\") {\r\n          this.$refs.myMindPdfRecommend.init();\r\n        }\r\n      }\r\n    },\r\n    whiteCom(newVal) {\r\n      if (newVal) {\r\n        if(newVal == \"Mind\" && !this.data.course_recommend_studythink && this.data.course_recommend_studythinkpdf_show && this.activeName == \"2\") {\r\n          this.$refs.myMindPdfRecommend.init();\r\n        }\r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    downloadPdf() {\r\n      this.$refs.myMindPdfRecommend.fileDownload(this.pdfName);\r\n    },\r\n    async addUserCollection(operate_type) {\r\n      try {\r\n        let params = {\r\n          collect_type: 5,\r\n          operate_type,\r\n          course_id: this.course_id,\r\n          course_isuseradd: 2,\r\n          mindmap_isuseradd: 2,\r\n          mindmap_type: 1,\r\n          mindmap_id: this.dataPro.mindmap_id\r\n        };\r\n        const res = await addUserCollection(params);\r\n        if (res && res.code === 0) {\r\n          this.is_collect = operate_type;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async initPdf() {\r\n      const course_recommend_studythinkpdf_show = this.data.course_recommend_studythinkpdf_show;\r\n      const course_recommend_studythinkpdf = this.data.course_recommend_studythinkpdf;\r\n      if (course_recommend_studythinkpdf) {\r\n        let pdf = course_recommend_studythinkpdf.split(\"/\");\r\n        this.pdfName = pdf[pdf.length - 1];\r\n      }\r\n      // 从indexDb拿数据\r\n      const url = course_recommend_studythinkpdf_show.split(\"?\")[0];\r\n      const pdf = await getFile(url);\r\n      if (pdf) {\r\n        this.course_recommend_studythinkpdf_show_base64 = pdf.fileData;\r\n        this.$set(this.data, \"course_recommend_studythinkpdf_show_base64\", pdf.fileData);\r\n      } else {\r\n        // 存入indexDb\r\n        const pdfBase64 = await getBase64ByUrl(course_recommend_studythinkpdf_show);\r\n        const studythinkpdf = course_recommend_studythinkpdf.split(\"/\");\r\n        const fileName = studythinkpdf[studythinkpdf.length - 1];\r\n        this.course_recommend_studythinkpdf_show_base64 = pdfBase64;\r\n        this.$set(this.data, \"course_recommend_studythinkpdf_show_base64\", pdfBase64);\r\n        // 保存到indexDb\r\n        await saveFile(url, fileName, pdfBase64);\r\n      }\r\n    },\r\n    async init() {\r\n      const recommendming = document.getElementById(\"recommendming\");\r\n      if(recommendming) {\r\n        this.mindPdfWidth = recommendming.clientWidth * 0.88;\r\n        console.log(\"recommendMind init:\", this.mindPdfWidth);\r\n        this.images = [];\r\n        this.checks = [];\r\n        this.ids = [];\r\n        this.imagesName = [];\r\n        this.course_recommend_studythink.mindmap_content = \"\";\r\n        if (this.data && this.data.course_recommend_studythink) {\r\n          this.course_recommend_studythink.mindmap_content = this.data.course_recommend_studythink;\r\n          console.log(\r\n            \"course_recommend_studythink:\",\r\n            this.course_recommend_studythink\r\n          );\r\n        } else if(this.data.course_recommend_studythinkpdf_show) {\r\n          this.course_recommend_studythinkpdf = this.data.course_recommend_studythinkpdf;\r\n        }\r\n        this.is_collect = this.data.is_collect;\r\n      }\r\n    },\r\n    downloadFileUrl() {\r\n      this.$refs.recommendPdf.fileDownload(\"推荐思维导图\");\r\n      // if (this.data.course_recommend_studythink_show) {\r\n      //   const url = this.images[0];\r\n      //   const fileName = this.imagesName[0];\r\n\r\n      //   const elink = document.createElement(\"a\");\r\n      //   elink.href = url;\r\n      //   elink.setAttribute(\"download\", fileName);\r\n      //   elink.style.display = \"none\";\r\n      //   document.body.appendChild(elink);\r\n      //   setTimeout(() => {\r\n      //     elink.click();\r\n      //     document.body.removeChild(elink);\r\n      //   }, 66);\r\n      // } else if (\r\n      //   !this.data.course_recommend_studythink &&\r\n      //   this.data.course_recommend_studythinkpdf_show\r\n      // ) {\r\n      //   this.$refs.recommendPdf.fileDownload(\"推荐思维导图\");\r\n      // }\r\n    },\r\n    changeCheck(index) {\r\n      this.checks[index] = !this.checks[index];\r\n      if (this.checks[index]) {\r\n        this.ids.push(index);\r\n      } else {\r\n        let id = index;\r\n        let idx = this.ids.indexOf(id);\r\n        this.ids.splice(idx, 1);\r\n      }\r\n      this.$emit(\"selectedImages\", this.ids);\r\n      console.log(this.ids);\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log(\"recommend\")\r\n  },\r\n  mounted() {\r\n    this.data = this.dataPro;\r\n    console.log(\"推荐思维导图：\", this.dataPro);\r\n    this.init();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.recommendming {\r\n  width: 100%;\r\n  height: 100%;\r\n  overflow-y: auto;\r\n  padding: 0;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.images {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  padding: 0 39px;\r\n  width: 100%;\r\n  height: calc(100% - 85px);\r\n}\r\n.image {\r\n  position: relative;\r\n  cursor: pointer;\r\n  display: flex;\r\n  justify-content: center;\r\n  overflow-y: auto;\r\n  margin: 0 auto;\r\n  width: 350px;\r\n  height: 281px;\r\n  border: 1px solid #ccc;\r\n  border-radius: 8px;\r\n  padding-top: 10px;\r\n  .check {\r\n    position: absolute;\r\n    top: 13px;\r\n    right: 13px;\r\n    z-index: 10;\r\n    cursor: pointer;\r\n  }\r\n}\r\n.none_wrapper {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  p {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n  img {\r\n    width: 136px;\r\n    height: 136px;\r\n  }\r\n}\r\n/deep/ .el-image {\r\n  width: 1125px !important;\r\n  height: 2436px !important;\r\n  transform: scale(1);\r\n  transform-origin: 0 0;\r\n  // transform: scale(1);\r\n  //   transform-origin: 0 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  img {\r\n    // transform: scale(1);\r\n    // transform-origin: 0 0;\r\n    // border-radius: 16px;\r\n  }\r\n}\r\n.el-image {\r\n  .image-slot {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    font-size: 14px;\r\n    color: #c0c4cc;\r\n    vertical-align: middle;\r\n  }\r\n}\r\n.collect {\r\n  display: flex;\r\n  align-items: center;\r\n  flex-direction: column;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #71afbb;\r\n  line-height: 21px;\r\n  padding-top: 22px;\r\n  cursor: pointer;\r\n  p {\r\n    margin-top: 6px;\r\n  }\r\n  img {\r\n    cursor: pointer;\r\n    width: 37px;\r\n    height: 32px;\r\n    margin-top: 1px;\r\n  }\r\n}\r\n\r\n/deep/ .el-tabs {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tabs__content {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n/deep/ .pdf {\r\n  padding-bottom: 0;\r\n  height: calc(100% - 126px);\r\n}\r\n\r\n.operates {\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  align-items: center;\r\n  padding-right: 39px;\r\n  padding-bottom: 14px;\r\n  /deep/ .el-button {\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding: 3px 16px 3px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #74b0bc;\r\n    border-radius: 28px;\r\n  }\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover .el-button:focus,\r\n  .el-button:hover {\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover {\r\n    color: #c0c4cc;\r\n    border-color: #ebeef5;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/RecommendMind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"recommendming\",attrs:{\"id\":\"recommendming\"}},[(\n      _vm.data &&\n        !_vm.data.course_recommend_studythink &&\n        _vm.data.course_recommend_studythinkpdf_show\n    )?_c('div',{staticClass:\"operates\"},[_c('div',[_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.downloadPdf}},[_vm._v(\"下载\")])],1)]):_vm._e(),_vm._v(\" \"),(_vm.data.course_recommend_studythink)?_c('div',{staticStyle:{\"flex\":\"1\"}},[(_vm.isMobile)?_c('PadMyMindOutline',{ref:\"MyMindOutlineRecommend\",attrs:{\"myMindOutlineId\":'recommend_studythink',\"dataPro\":_vm.course_recommend_studythink,\"editOutline\":false,\"readOnly\":true}}):_c('MyMindOutline',{ref:\"MyMindOutlineRecommend\",attrs:{\"myMindOutlineId\":'recommend_studythink',\"dataPro\":_vm.course_recommend_studythink,\"editOutline\":false,\"readOnly\":true}})],1):_vm._e(),_vm._v(\" \"),(\n        !_vm.data.course_recommend_studythink &&\n          _vm.data.course_recommend_studythinkpdf_show\n      )?_c('MyMindPdf',{key:'myMindPdfRecommend',ref:\"myMindPdfRecommend\",attrs:{\"showFooter\":false,\"showUpload\":false,\"mindPdfWidth\":_vm.mindPdfWidth,\"pdfUrl\":_vm.course_recommend_studythinkpdf_show_base64,\"mindmap_pdf_show\":_vm.data.course_recommend_studythinkpdf_show,\"course_id\":_vm.course_id,\"course_name\":_vm.course_name,\"imageViewerCanvas\":'imageViewerCanvasRecommend'}}):_vm._e(),_vm._v(\" \"),(\n      !_vm.data.course_recommend_studythink &&\n        !_vm.data.course_recommend_studythinkpdf_show\n    )?_c('div',{staticClass:\"none_wrapper\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"暂无推荐导图\")])]):_vm._e(),_vm._v(\" \"),(\n      _vm.is_collect == 2 &&\n        (_vm.data.course_recommend_studythink ||\n          _vm.data.course_recommend_studythinkpdf_show)\n    )?_c('div',{staticClass:\"collect\",on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"收藏导图\")])]):_vm._e(),_vm._v(\" \"),(\n      _vm.is_collect == 1 &&\n        (_vm.data.course_recommend_studythink ||\n          _vm.data.course_recommend_studythinkpdf_show)\n    )?_c('div',{staticClass:\"collect\",on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"取消收藏\")])]):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5f1e51d9\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/RecommendMind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5f1e51d9\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./RecommendMind.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RecommendMind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RecommendMind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5f1e51d9\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./RecommendMind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5f1e51d9\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/RecommendMind.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMy45OSAxMS42NCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT7otYTmupAgMjwvdGl0bGU+PGcgaWQ9IuWbvuWxgl8yIiBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBpZD0i5Zu+5bGCXzEtMiIgZGF0YS1uYW1lPSLlm77lsYIgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMy43OCw1YTIsMiwwLDAsMS0xLjIyLjM3QTIuNTEsMi41MSwwLDAsMSwwLDIuNjksMi42NywyLjY3LDAsMCwxLDIuNzcsMEM0LjU0LDAsNiwxLjY0LDYsMy45MUE4LjcsOC43LDAsMCwxLC44OCwxMS42NEwwLDEwLjE3QTYuMzUsNi4zNSwwLDAsMCwzLjc4LDVabTgsMGEyLjA4LDIuMDgsMCwwLDEtMS4yMi4zN0EyLjUxLDIuNTEsMCwwLDEsOCwyLjY5LDIuNjcsMi42NywwLDAsMSwxMC43NSwwQzEyLjUyLDAsMTQsMS42NCwxNCwzLjkxYTguNjcsOC42NywwLDAsMS01LjE3LDcuNzNMOCwxMC4xN0E2LjUxLDYuNTEsMCwwLDAsMTEuNzYsNVoiLz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/black_quotes_right.svg\n// module id = BZje\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE3LjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg5OC4wIC0xODQuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY4NC4wIDE1Ny42MTcwMjEyNzY1OTU5KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjE0Ljk0Mjk2NTE0MzQ2OTM0IDI2LjY4OTEzMjc3MjczNDQxKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMDAxMTAzNDcyMTAwNTAyMzIzIDAuNzA2MDAzMzA5MDg5MzQ4Nykgcm90YXRlKC00NC45OTk5OTk5OTk5OTk5OSkiPjxwYXRoIGQ9Ik0wLjUsMCBMMC41LDIwLjIxNjMyNDUiIHN0cm9rZT0iIzdFODc4QyIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNS4wMDExMDM0NzIwOTc2MiAwLjcwNjAwMzMwOTA4NTY2MDEpIHJvdGF0ZSg0NC45OTk5OTk5OTk5OTk5OSkgc2NhbGUoLTEuMCAxLjApIj48cGF0aCBkPSJNMC41LDAgTDAuNSwyMC4yMTYzMjQ1IiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/case_card_close.svg\n// module id = BaIU\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzMHB4IiBoZWlnaHQ9IjUycHgiIHZpZXdCb3g9IjAgMCAyMzAuMCA1Mi4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImkwIj48cGF0aCBkPSJNNDQxLDAgTDQ0MSw4MTIgTDAsODEyIEwwLDAgTDQ0MSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xNTIuNjM2MjY5LDAgQzE2MS4xNDE5MDcsMCAxNjUuNzQwMjg2LDEwLjI2MTEwNDggMTcyLjM4NzE1NSwxMC4yNjExMDQ4IEMxNzkuMDM0MDI0LDEwLjI2MTEwNDggMTgzLjIzMDA0MSw5LjE0OTc3NTc5IDE4Ny45ODQ0NDMsOS4xNDk3NzU3OSBDMTkyLjczODg0Niw5LjE0OTc3NTc5IDE5NC44Nzc2NTIsMTMuMjYxMTA0OCAyMDAuNTAwMjc2LDEzLjI2MTEwNDggQzIwNi4xMjI5LDEzLjI2MTEwNDggMjEzLjExNzcxMiw4IDIxNyw4IEwyMTcsMjIgQzIxMy4xMTc3MTIsMjIgMjA2LjEyMjksMTYuNzM4ODk1MiAyMDAuNTAwMjc2LDE2LjczODg5NTIgQzE5NC44Nzc2NTIsMTYuNzM4ODk1MiAxOTIuNzM4ODQ2LDIwLjg1MDIyNDIgMTg3Ljk4NDQ0MywyMC44NTAyMjQyIEMxODMuMjMwMDQxLDIwLjg1MDIyNDIgMTc5LjAzNDAyNCwxOS43Mzg4OTUyIDE3Mi4zODcxNTUsMTkuNzM4ODk1MiBDMTY1Ljc0MDI4NiwxOS43Mzg4OTUyIDE2MS4xNDE5MDcsMzAgMTUyLjYzNjI2OSwzMCBDMTQ0LjEzMDYzMSwzMCAxMzEuMTI5MjAzLDI1LjAwMjk4NzUgMTIzLjUwODYyOSwyMy43Mzg4OTUyIEMxMTkuMTkzNzE3LDIzLjAyMzE0MjQgMTEwLjkxMTAxOSwyMC44MTQwMDcyIDk4LjY2MDUzNTcsMTcuMTExNDg5NSBDOTUuODAxMDE1MSwxNy41ODY3NTUxIDkzLjU0MDkyNjksMTguMTI1MjYzMyA5MS44Nzk0NTA5LDE4LjcyNjIwMzkgQzg0LjM5MDI2NjQsMjEuNDM0OTczMiA3MS42MTMwMDAyLDIyIDYzLjI1NDAxMTUsMjIgQzU0Ljg5NTAyMjcsMjIgNTAuMzc1OTI1NywxNy43MjYyMDM5IDQzLjg0MzY1OCwxNy43MjYyMDM5IEMzNy4zMTEzOTAzLDE3LjcyNjIwMzkgMzMuMTg3NzE4NSwyNy41MzYxOTQ3IDI4LjUxNTI4ODQsMjcuNTM2MTk0NyBDMjMuODQyODU4MywyNy41MzYxOTQ3IDIxLjc0MDkyODcsMTguNzI2MjAzOSAxNi4yMTUyNDY0LDE4LjcyNjIwMzkgQzEzLjUwMjYzODcsMTguNzI2MjAzOSAxMC40NjUwNDY1LDIxLjQ0MzA5NTYgNy42MjM4ODYxOCwyNC4yMDkzODUzIEw2Ljk5NTk2MjU5LDI0LjgyMzg0NTMgQzQuMjkwODA4NjcsMjcuNDgwNjMyNyAxLjgwMzYyMDk5LDMwIDAsMzAgTDAsMCBDMS44MDM2MjA5OSwwIDQuMjkwODA4NjcsMi41MTkzNjczMiA2Ljk5NTk2MjU5LDUuMTc2MTU0NjcgTDcuNjIzODg2MTgsNS43OTA2MTQ2NyBDMTAuNDY1MDQ2NSw4LjU1NjkwNDM4IDEzLjUwMjYzODcsMTEuMjczNzk2MSAxNi4yMTUyNDY0LDExLjI3Mzc5NjEgQzIxLjc0MDkyODcsMTEuMjczNzk2MSAyMy44NDI4NTgzLDIuNDYzODA1MjcgMjguNTE1Mjg4NCwyLjQ2MzgwNTI3IEMzMy4xODc3MTg1LDIuNDYzODA1MjcgMzcuMzExMzkwMywxMi4yNzM3OTYxIDQzLjg0MzY1OCwxMi4yNzM3OTYxIEM1MC4zNzU5MjU3LDEyLjI3Mzc5NjEgNTQuODk1MDIyNyw4IDYzLjI1NDAxMTUsOCBDNzEuNjEzMDAwMiw4IDg0LjM5MDI2NjQsOC41NjUwMjY3NyA5MS44Nzk0NTA5LDExLjI3Mzc5NjEgQzkzLjU0MDkyNjksMTEuODc0NzM2NyA5NS44MDEwMTUxLDEyLjQxMzI0NDkgOTguNjU5NzE1OCwxMi44ODkzMjA3IEMxMTAuOTExMDE5LDkuMTg1OTkyODQgMTE5LjE5MzcxNyw2Ljk3Njg1NzYxIDEyMy41MDg2MjksNi4yNjExMDQ4MyBDMTMxLjEyOTIwMyw0Ljk5NzAxMjQ5IDE0NC4xMzA2MzEsMCAxNTIuNjM2MjY5LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJpMiIgeDE9Ii0yLjA4NDk2ODEycHgiIHkxPSIxcHgiIHgyPSIxOTguMjY5MTAzcHgiIHkyPSIxcHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDIzNSwgMjM4LCAyMzksIDApIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUQ4QSIgb2Zmc2V0PSI0LjYxMTAxMzk5JSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDdFNzAiIG9mZnNldD0iOTMuMTk1NDc2NCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDIxMSwgMjE3LCAyMTgsIDApIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQuMCAtMjAwLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4wIDIwMC4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi41IDExLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wIDE1LjApIj48cGF0aCBkPSJNMC4zMjIyNTkxMzYsMC41IEwxOTMuNjc3NzQxLDAuNSIgc3Ryb2tlPSJ1cmwoI2kyKSIgc3Ryb2tlLXdpZHRoPSIzNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIgMS4wIDUuMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/voice-wave5.svg\n// module id = BbPt\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEwcHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDEwLjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMxLjAgLTkxLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOS4yNzU4NjIwNjg5NjQ1ODUgOTIuMjc1ODYyMDY4OTY2NCkgc2NhbGUoLTEuMCAxLjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMi42MzcwMDE3MjgwODk2NzJlLTEyIDEzLjQ0ODI3NTg2MjA2OTc3OCkgcm90YXRlKC05MC4wKSI+PHBhdGggZD0iTTEzLjQ0ODI3NTksMCBMNi43MjM4MzExLDYuMjc1ODYyMDcgTDAsMCIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/think_back.svg\n// module id = Bc7I\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/load_img.cc7b12f.webp\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/load_img.webp\n// module id = C7ph\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI2cHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDI2IDI2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgM+Wkh+S7vTwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIwLjUiPg0KICAgICAgICA8ZyBpZD0i5Li76aG155m9bWluaVYy5oCd57u05a+85Zu+Lee8lui+kSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ3OCwgLTE4MSkiIHN0cm9rZT0iIzcxQUZCQiI+DQogICAgICAgICAgICA8ZyBpZD0i57yW57uELTPlpIfku70iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ5MSwgMTk0KSBzY2FsZSgtMSwgMSkgdHJhbnNsYXRlKC00OTEsIC0xOTQpdHJhbnNsYXRlKDQ3OCwgMTgxKSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0xNuWkh+S7vS0zIj4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEzLDAuNSBDMTYuNDUxNzc5NywwLjUgMTkuNTc2Nzc5NywxLjg5OTExMDE2IDIxLjgzODgzNDgsNC4xNjExNjUyNCBDMjQuMTAwODg5OCw2LjQyMzIyMDMxIDI1LjUsOS41NDgyMjAzMSAyNS41LDEzIEMyNS41LDE2LjQ1MTc3OTcgMjQuMTAwODg5OCwxOS41NzY3Nzk3IDIxLjgzODgzNDgsMjEuODM4ODM0OCBDMTkuNTc2Nzc5NywyNC4xMDA4ODk4IDE2LjQ1MTc3OTcsMjUuNSAxMywyNS41IEM5LjU0ODIyMDMxLDI1LjUgNi40MjMyMjAzMSwyNC4xMDA4ODk4IDQuMTYxMTY1MjQsMjEuODM4ODM0OCBDMS44OTkxMTAxNiwxOS41NzY3Nzk3IDAuNSwxNi40NTE3Nzk3IDAuNSwxMyBDMC41LDkuNTQ4MjIwMzEgMS44OTkxMTAxNiw2LjQyMzIyMDMxIDQuMTYxMTY1MjQsNC4xNjExNjUyNCBDNi40MjMyMjAzMSwxLjg5OTExMDE2IDkuNTQ4MjIwMzEsMC41IDEzLDAuNSBaIiBpZD0i55+p5b2i5aSH5Lu9LTgiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC00IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjU4MTUsIDYuNzU3NCkiIHN0cm9rZS13aWR0aD0iMS41Ij4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTEuMzkyNjI4NiBMMTAuMzQwMTQ3MiwxMS4zOTI2Mjg2IEMxMi4zNjE0MjgxLDExLjM5MjYyODYgMTQsOS43NTQwNTY2NSAxNCw3LjczMjc3NTc2IEMxNCw1LjcxMTQ5NDg3IDEyLjM2MTQyODEsNC4wNzI5MjI5NSAxMC4zNDAxNDcyLDQuMDcyOTIyOTUgTDAsNC4wNzI5MjI5NSBMMCw0LjA3MjkyMjk1IiBpZD0i6Lev5b6ELTQiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIGlkPSLot6/lvoQtNSIgcG9pbnRzPSI0LjQxODUyNDgyIDAgMC4xNzU4ODQxMzMgNC4yNDI2NDA2OSA0LjQxODUyNDgyIDguNTQ5OTM4MTUiPjwvcG9seWxpbmU+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/withdraw1-disabled.svg\n// module id = CKjU\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjYzcHgiIGhlaWdodD0iNjNweCIgdmlld0JveD0iMCAwIDYzIDYzIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7mj5DkuqTlv4PlvpdpY29uQDN4PC90aXRsZT4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGNpcmNsZSBpZD0icGF0aC0xIiBjeD0iMTkuNSIgY3k9IjE5LjUiIHI9IjE5LjUiPjwvY2lyY2xlPg0KICAgICAgICA8ZmlsdGVyIHg9Ii00Ny40JSIgeT0iLTM3LjIlIiB3aWR0aD0iMjEwLjMlIiBoZWlnaHQ9IjIxMC4zJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPg0KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIzIiBkeT0iNyIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4NCiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjYiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUdhdXNzaWFuQmx1cj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjIgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4Pg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyOS43MjQ0NjEzJSIgeTE9IjExLjIwNTQ0MDglIiB4Mj0iNjguNDAyODAwMiUiIHkyPSI5Mi42NTk1MDI4JSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QiIgb2Zmc2V0PSIwJSI+PC9zdG9wPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+DQogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjQuMjQ1MjMzJSIgeTE9IjExLjIwNTQ0MDglIiB4Mj0iNzMuMzc1OTQyOCUiIHkyPSI5Mi42NTk1MDI4JSIgaWQ9ImxpbmVhckdyYWRpZW50LTQiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QiIgb2Zmc2V0PSIwJSI+PC9zdG9wPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+DQogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTkuNzM4NTQyNSUiIHkxPSIxMS4yMDU0NDA4JSIgeDI9Ijc3LjQ2NjM3NTMlIiB5Mj0iOTIuNjU5NTAyOCUiIGlkPSJsaW5lYXJHcmFkaWVudC01Ij4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkFFOEIiIG9mZnNldD0iMCUiPjwvc3RvcD4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRDc0NkIiIG9mZnNldD0iMTAwJSI+PC9zdG9wPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgIDwvZGVmcz4NCiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG16buRbWluaVYy5oCn5qC8IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuMDAwMDAwLCAtNjg0LjAwMDAwMCkiPg0KICAgICAgICAgICAgPGcgaWQ9IuaPkOS6pOW/g+W+l2ljb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMyLjAwMDAwMCwgNjg5LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLmpK3lnIblvaIiPg0KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPg0KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiMxRDIyMjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjQ0NjgwOSwgOS4xMjc2NjApIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04LjgwNTQxNzc2LDMuNDI2MjUyNzMgTDEuMTUzMTQzMTMsMTQuNzQyMzU3IEw1LjI5ODY5NTQ0LDE3LjUxMTE2NzcgTDEyLjk0MTY2NDEsNi4yMDg3NDg3NiBDMTMuMzY4NjQ1Niw1LjU3NjQ4NzcxIDEzLjIwMDU5LDQuNzE3NTk4MDIgMTIuNTY2MTM5Myw0LjI5MzkwMTAxIEwxMC43MDk4NjQ3LDMuMDUyOTE3NjQgQzEwLjA4MDM0MDcsMi42MzI1MDUwOSA5LjIyOTY2MjE5LDIuNzk4OTE4MzkgOC44MDU0MTc3NiwzLjQyNjI1MjczIFoiIGlkPSJTdHJva2UtMSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50LTMpIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjI1NzA4NDE1OCwxNi40NjY2NTA1IEwwLjAwMDg5NTI2NTI0MiwyMC4zMTk4ODQ4IEMtMC4wMTkzNTg5ODQ4LDIwLjYzMDI2NzUgMC4zMDc5OTM0ODksMjAuODQzMjEwOCAwLjU4MzM0MTgwNywyMC42OTgxNDY2IEwzLjk0NjY0MjE0LDE4LjkzMDU1MjciIGlkPSJTdHJva2UtMyIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50LTQpIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNC43NDAzNTEsMS4yNjc4MDY1NyBDMTQuNzQwMzUxLDEuOTY3OTQ2NzMgMTQuMTcyNjg0NSwyLjUzNTYxMzE0IDEzLjQ3MjU0NDQsMi41MzU2MTMxNCBDMTIuNzcyNDA0MiwyLjUzNTYxMzE0IDEyLjIwNDczNzgsMS45Njc5NDY3MyAxMi4yMDQ3Mzc4LDEuMjY3ODA2NTcgQzEyLjIwNDczNzgsMC41Njc2NjY0MTQgMTIuNzcyNDA0MiwwIDEzLjQ3MjU0NDQsMCBDMTQuMTcyNjg0NSwwIDE0Ljc0MDM1MSwwLjU2NzY2NjQxNCAxNC43NDAzNTEsMS4yNjc4MDY1NyBaIiBpZD0iU3Ryb2tlLTUiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudC01KSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/confirm_tips.svg\n// module id = CSki\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjU5cHgiIGhlaWdodD0iNThweCIgdmlld0JveD0iMCAwIDU5LjAgNTguMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTMxLjAzNDQ4MjglIiB5PSItMzEuMDM0NDgyOCUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE0OC4yNzU4NjIlIiBoZWlnaHQ9IjE0OC4yNzU4NjIlIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0yMywwIEMzNS43MDI1NDkyLDAgNDYsMTAuMjk3NDUwOCA0NiwyMyBDNDYsMzUuNzAyNTQ5MiAzNS43MDI1NDkyLDQ2IDIzLDQ2IEMxMC4yOTc0NTA4LDQ2IDAsMzUuNzAyNTQ5MiAwLDIzIEMwLDEwLjI5NzQ1MDggMTAuMjk3NDUwOCwwIDIzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01OTkuMCAtNjY3LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDMuNSA2NzEuMCkiPjxwYXRoIGQ9Ik0yMyw0NiBDMzUuNzAyNTQ5Miw0NiA0NiwzNS43MDI1NDkyIDQ2LDIzIEM0NiwxMC4yOTc0NTA4IDM1LjcwMjU0OTIsMCAyMywwIEMxMC4yOTc0NTA4LDAgMCwxMC4yOTc0NTA4IDAsMjMgQzAsMzUuNzAyNTQ5MiAxMC4yOTc0NTA4LDQ2IDIzLDQ2IFoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCIgZmlsdGVyPSJ1cmwoI2kxKSI+PC9wYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNpNCkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDQ2LDAgNDYsNDYgMCw0NiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zODc4NDE5NDUyODg1MjggMTIuNDMwMzk1MTM2Nzc3OTcpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjgzMzQ4MzEwNjQ3MDY0NCAzLjY1MDcyMDIzMjU4ODYzMjUpIj48cGF0aCBkPSJNMCwwIEwwLjAwMzc0NDMyODQ0LDEzLjc4MDYyNjQgQzAuMDA0NDkzMTk0MTMsMTUuMjAwNDc1NyAxLjE1NTQ5OTc2LDE2LjM1MjIzMTIgMi41NzYwOTc5NywxNi4zNTM3Mjg5IEw4Ljc1MTI0NDQ0LDE2LjM1OTcyMTMgQzEwLjE3MzM0MDQsMTYuMzYxMjE3NiAxMS4zMjgwOTEzLDE1LjIwNzk2NDQgMTEuMzI4MDkxMywxMy43ODUxMTk2IEwxMS4zMjgwOTEzLDAiIHN0cm9rZT0iI0ZGNzE3MSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDMuMjc2Mjg3Mzg4MjIxMTA5KSI+PHBhdGggZD0iTTAsMC4zNzQ0MzI4NDQgTDE3LDAuMzc0NDMyODQ0IiBzdHJva2U9IiNGRjcxNzEiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMzgzOTMwMjIzMzM3OTg4IDAuMCkiPjxwYXRoIGQ9Ik0wLDAuMzc0NDMyODQ0IEw0LjIzMTA5MTE0LDAuMzc0NDMyODQ0IiBzdHJva2U9IiNGRjcxNzEiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuNDg2ODk5MjU1NTM5NzMxIDYuNjQ0MTYxMDUwMTczNzU3KSI+PHBhdGggZD0iTTAuMzc0NDMyODQ0LDEzLjM2ODc1MDMgTDAuMzc0NDMyODQ0LDAiIHN0cm9rZT0iI0ZGNzE3MSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS43NjMxODY2NDM3NjA4NCA2LjY0NDE2MTA1MDE3Mzc1NykiPjxwYXRoIGQ9Ik0wLjM3NDQzMjg0NCwxMy4zNjg3NTAzIEwwLjM3NDQzMjg0NCwwIiBzdHJva2U9IiNGRjcxNzEiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/problem_del.svg\n// module id = CcTo\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/headimage4.8e7db3c.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage4.png\n// module id = CrZE\n// module chunks = 171","import { getStsToken } from '@/api/index';\r\n\r\nconst OSS = require(\"ali-oss\");\r\nconsole.log(\"oss environment:\", localStorage.getItem(\"environment\"));\r\n\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nlet endpoint = '';\r\nlet region = '';\r\nlet bucket = '';\r\nif (localStorage.getItem(\"endpoint\")) {\r\n  endpoint = decrypt(localStorage.getItem(\"endpoint\"));\r\n  console.log(\"endpoint:\", endpoint);\r\n  region = endpoint.split(\".\")[0];\r\n}\r\n\r\nif (localStorage.getItem(\"bucket\")) {\r\n  bucket = decrypt(localStorage.getItem(\"bucket\"));\r\n  console.log(\"bucket:\", bucket);\r\n}\r\n\r\nconst OSSconfig = {\r\n  uploadHost: `https://${decrypt(localStorage.getItem(\"bucket\"))}.${decrypt(localStorage.getItem(\"endpoint\"))}`, //OSS上传地址\r\n  ossParams: {\r\n    region: region,\r\n    success_action_status: \"200\", // 默认200\r\n    accessKeyId: localStorage.getItem(\"accesskey\") ? decrypt(localStorage.getItem(\"accesskey\")) : '',\r\n    accessKeySecret: localStorage.getItem(\"accesssecret\") ? decrypt(localStorage.getItem(\"accesssecret\")) : '',\r\n    bucket: decrypt(localStorage.getItem(\"bucket\"))\r\n  }\r\n};\r\n\r\nconst OverseasOSSconfig = {\r\n  uploadHost: `https://${decrypt(localStorage.getItem(\"bucket\"))}.${decrypt(localStorage.getItem(\"endpoint\"))}`, //OSS上传地址\r\n  ossParams: {\r\n    region: region,\r\n    success_action_status: \"200\", // 默认200\r\n    accessKeyId: localStorage.getItem(\"accesskey\") ? decrypt(localStorage.getItem(\"accesskey\")) : '',\r\n    accessKeySecret: localStorage.getItem(\"accesssecret\") ? decrypt(localStorage.getItem(\"accesssecret\")) : '',\r\n    bucket: decrypt(localStorage.getItem(\"bucket\"))\r\n  }\r\n};\r\n\r\nfunction random_string(len) {\r\n  len = len || 32;\r\n  var chars = \"abcDEFGHJKMNPQRSTWXYZabcdefhijkmnPRstwxyz2345678\";\r\n  var maxpos = chars.length;\r\n  var pwd = \"\";\r\n  for (let i = 0; i < len; i++) {\r\n    pwd += chars.charAt(Math.floor(Math.random() * maxpos));\r\n  }\r\n  return pwd;\r\n}\r\n\r\nfunction randomNum(n) {\r\n  var res = \"\";\r\n  for (var i = 0; i < n; i++) {\r\n    res += Math.floor(Math.random() * 10);\r\n  }\r\n  return res;\r\n}\r\n\r\nfunction iscredentialsExpired(credentials) {\r\n  const expiration = credentials.Expiration;\r\n   // 将字符串转换为Date对象（自动解析为UTC时间）\r\n   const expirationDate = new Date(expiration);\r\n   // 获取当前时间（UTC时间戳）\r\n   const currentTime = new Date();\r\n   // 比较当前时间是否大于过期时间\r\n   console.log(\"iscredentialsExpired:\", currentTime > expirationDate);\r\n   return currentTime > expirationDate;\r\n}\r\n\r\nlet credentials = null;\r\n\r\nasync function uploaDOSS(file, directory) {\r\n  const app_type = localStorage.getItem(\"app_type\");\r\n  const type = file.name.split(\".\")[1];\r\n  console.log(\"oss app_type:\", app_type);\r\n  let config = {};\r\n  // if (app_type == 1) {\r\n  //   // 国内\r\n  //   config = OSSconfig;\r\n  // } else {\r\n  //   config = OverseasOSSconfig;\r\n  // }\r\n  config = OSSconfig;\r\n  if (!directory) {\r\n    directory = \"head_icon\";\r\n  }\r\n  console.log(\"uploaDOSS OSSconfig:\", OSSconfig);\r\n  let accesskey = '';\r\n  let accesssecret = '';\r\n  let securityToken = ''\r\n  // /1 临时凭证过期时，才重新获取，减少对STS服务的调用\r\n  if(!credentials || (credentials && iscredentialsExpired(credentials))) {\r\n    const res = await getStsToken();\r\n    if(res.code == 0) {\r\n      credentials = res.data[0];\r\n    }\r\n  }\r\n  accesskey = credentials.AccessKeyId;\r\n  accesssecret = credentials.AccessKeySecret;\r\n  securityToken = credentials.SecurityToken;\r\n\r\n  return new Promise(async (resolve, reject) => {\r\n    // const fileName = randomNum(15);\r\n    const name = file.name.split(\".\");\r\n    const fileName = name[0] + new Date().getTime() + randomNum(5);\r\n    // const accesskey = decrypt(localStorage.getItem(\"accesskey\"));\r\n    // const accesssecret = decrypt(localStorage.getItem(\"accesssecret\"));\r\n    let client = new OSS({\r\n      region: config.ossParams.region,\r\n      bucket: config.ossParams.bucket,\r\n      accessKeyId: accesskey,\r\n      accessKeySecret: accesssecret,\r\n      stsToken: securityToken,\r\n    });\r\n    const res = await client.put(\r\n      \"/\" + directory + \"/\" + fileName + \".\" + type,\r\n      file\r\n    );\r\n    // resolve(res);\r\n    // 或者返回如下：\r\n    resolve({\r\n      fileUrl: `${directory}/${fileName}.${type}`,\r\n      fileName: `${fileName}.${type}`\r\n    });\r\n  });\r\n}\r\n\r\nexport { uploaDOSS, randomNum, OSSconfig, OverseasOSSconfig };\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/oss.js","import { getIsXiaomi } from \"@/utils/util\";\r\n\r\nlet padInputMiddle = {\r\n    methods: {\r\n        setInputMiddle($currInputEl, $parentBox, paddingBottom =200) {\r\n          const isXiaomi = getIsXiaomi();\r\n          if(isXiaomi) {\r\n            paddingBottom = 310;\r\n          }\r\n          const scrollTop = $parentBox.scrollTop;\r\n          const boxOffset = $parentBox.getBoundingClientRect();\r\n          const inputOffset = $currInputEl.getBoundingClientRect();\r\n          const windowHeight = window.innerHeight;\r\n          $parentBox.style.paddingBottom = paddingBottom+'px';\r\n          let count = 0;\r\n    \r\n          // 通过对比window的高度变化，ios键盘弹出后，window高度会变化，自动会弹到中间，而Android却不会改变window，所以需要手动设置scrollTop\r\n          if(this.InputMiddleTimeValue) {\r\n            clearInterval(this.InputMiddleTimeValue);\r\n            this.InputMiddleTimeValue = null;\r\n          }\r\n          this.InputMiddleTimeValue = setInterval(() => {\r\n            \r\n            if(windowHeight == window.innerHeight) {\r\n              $parentBox.scrollTo(0, inputOffset.y > 250 ? scrollTop + (inputOffset.y - 250) : scrollTop);\r\n            }\r\n            else {\r\n              count = 10;\r\n              $parentBox.scrollTo(0, scrollTop);\r\n            }\r\n            if(count >= 3) {\r\n              if(this.InputMiddleTimeValue) {\r\n                clearInterval(this.InputMiddleTimeValue);\r\n                this.InputMiddleTimeValue = null;\r\n              }\r\n            }\r\n            count ++;\r\n          }, 100)\r\n        },\r\n    }\r\n}\r\n\r\nexport default padInputMiddle;\n\n\n// WEBPACK FOOTER //\n// ./src/utils/padInputMiddle.js","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuaooeW8j+a1heiJsiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE3NzUgLTUxMSkiPg0KICAgIDxjaXJjbGUgaWQ9IuakreWchl81IiBkYXRhLW5hbWU9IuakreWchiA1IiBjeD0iMjQiIGN5PSIyNCIgcj0iMjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3NzUgNTExKSIgZmlsbD0iI2ZmZiIvPg0KICAgIDxwYXRoIGlkPSLot6/lvoRfMjIiIGRhdGEtbmFtZT0i6Lev5b6EIDIyIiBkPSJNLTc0LjA0Niw4MC4xMDlhOC43MjQsOC43MjQsMCwwLDAsMS4xLDYuODYxLDcuNjQ5LDcuNjQ5LDAsMCwwLDYuNDY1LDMuMjYyLDEwLjI5NCwxMC4yOTQsMCwwLDAsMi45NTYtLjQ0OCw3LjU4NSw3LjU4NSwwLDAsMS03LDQuNzU2QTcuNjMsNy42MywwLDAsMS03OC4xLDg2Ljg3YTcuNjkxLDcuNjkxLDAsMCwxLDQuMDUzLTYuNzYxTS03Mi44LDc4LjA0YS43My43MywwLDAsMC0uMjg3LjA1OSw5LjEzNiw5LjEzNiwwLDAsMC02LjUxLDguNzc1LDkuMTIyLDkuMTIyLDAsMCwwLDkuMDc1LDkuMTY2LDkuMSw5LjEsMCwwLDAsOC45LTcuNDEzdjBhLjcxMi43MTIsMCwwLDAsLjAyMy0uMTc4LjcyOS43MjksMCwwLDAtLjcyNC0uNzM0LDkuNjUyLDkuNjUyLDAsMCwxLTQuMTUzLDEuMDE5Yy00Ljc1LDAtNy43OTQtNC4zNzItNS42LTkuOTYzYS43MjEuNzIxLDAsMCwwLS4wNTktLjI4Ni43MjguNzI4LDAsMCwwLS42Ny0uNDQzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTg2OS41OTkgNDQ3Ljk2KSIgZmlsbD0iIzdlODc4YyIvPg0KICA8L2c+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-mode.svg\n// module id = DjgV\n// module chunks = 171","<template>\r\n  <div\r\n    class=\"read-box\"\r\n    :style=\"{\r\n      background: mode == 'white' ? readBoxBg : readBoxBlackBg,\r\n      color: mode == 'white' ? '#292929' : '#fff',\r\n    }\"\r\n    v-loading=\"loading\"\r\n  >\r\n\r\n    <template v-if=\"course_pdf\">\r\n      <ReadPdf :pdfUrl=\"pdfUrl\" :mode=\"mode\" :name=\"course_name\" :canDownload=\"canDownload\"  @changeMode=\"changeMode\" />\r\n    </template>\r\n    <div class=\"operates\" v-if=\"mode == 'white' && !course_pdf\">\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-if=\"showFontSizeHover || showFontSizeDialog\"\r\n        src=\"@/assets/img/read-fontsize-hover.svg\"\r\n        @mouseleave=\"handleMouseLeaveFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-else\r\n        src=\"@/assets/img/read-fontsize.svg\"\r\n        @mouseenter=\"handleMouseEnterFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-if=\"!showModeHover\"\r\n        src=\"@/assets/img/read-mode.svg\"\r\n        @mouseenter=\"handleMouseEnterMode\"\r\n        @click=\"changeMode('black')\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-else\r\n        src=\"@/assets/img/read-mode-hover.svg\"\r\n        @mouseleave=\"handleMouseLeaveMode\"\r\n        @click=\"changeMode('black')\"\r\n      />\r\n    </div>\r\n    <div class=\"operates\" v-else-if=\"!course_pdf\">\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-if=\"showFontSizeHover || showFontSizeDialog\"\r\n        src=\"@/assets/img/read-fontsize-hover-black.svg\"\r\n        @mouseleave=\"handleMouseLeaveFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-else\r\n        src=\"@/assets/img/read-fontsize-black.svg\"\r\n        @mouseenter=\"handleMouseEnterFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-if=\"!showModeHover\"\r\n        src=\"@/assets/img/read-mode-black.svg\"\r\n        @mouseenter=\"handleMouseEnterMode\"\r\n        @click=\"changeMode('white')\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-else\r\n        src=\"@/assets/img/read-mode-hover-black.svg\"\r\n        @mouseleave=\"handleMouseLeaveMode\"\r\n        @click=\"changeMode('white')\"\r\n      />\r\n    </div>\r\n    <div class=\"readFontsize\" v-if=\"showFontSizeDialog\" @click=\"hideFontSize\">\r\n      <div class=\"readFontsize1\">\r\n        <ReadFontsize\r\n          v-if=\"isHorizontalScreen == 1\"\r\n          ref=\"readFontsize\"\r\n          @changeFontSize=\"changeFontSize\"\r\n          :mode=\"mode\"\r\n          :defaultValue=\"defaultFontSize\"\r\n          :readMode=\"mode\"\r\n          :isHorizontalScreen=\"isHorizontalScreen\"\r\n        />\r\n        <ReadFontsize\r\n          v-else\r\n          ref=\"readFontsize\"\r\n          @changeFontSize=\"changeFontSize\"\r\n          :mode=\"mode\"\r\n          :defaultValue=\"defaultFontSize\"\r\n          :readMode=\"mode\"\r\n          :isHorizontalScreen=\"isHorizontalScreen\"\r\n        />\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { getCourseBase } from \"@/api/index\";\r\nimport ReadFontsize from \"@/components/ReadFontsize\";\r\nimport ReadPdf from \"@/components/ReadPdf\";\r\nimport { getIsMobile }  from '@/utils/util';\r\nimport {\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile\r\n} from \"@/utils/indexDb\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\n\r\nexport default {\r\n    components: { ReadFontsize, ReadPdf },\r\n    data() {\r\n      return {\r\n        showFontSizeHover: false,\r\n        showModeHover: false,\r\n        mode: 'white',\r\n        readBoxBg: '#F4F6F6',\r\n        readDetailWrapperBg: '#fff',\r\n        readBoxBlackBg: '#1D2223',\r\n        readDetailWrapperBlackBg: 'rgba(0,0,0,0.4)',\r\n        // fontSize: this.$px2rem('18px'),\r\n        // lineHeight: this.$px2rem('36px'),\r\n        defaultFontSize: 18,\r\n        fontSize: '18px',\r\n        lineHeight: '36px',\r\n        course_id: \"\",\r\n        showFontSizeDialog: false,\r\n        isMobile: false,\r\n        pdfUrl: \"\",\r\n        app_type: 1,\r\n        url: '',\r\n        loading: false,\r\n        isHorizontalScreen: 1,\r\n        showReadFontSize: true,\r\n        course_pdf: '',\r\n        course_name: '',\r\n        canDownload: 1\r\n      }\r\n    },\r\n    computed: {\r\n    },\r\n    watch: {\r\n      isHorizontalScreen: {\r\n        deep: true,\r\n        handler: function(v) {\r\n        }\r\n      }\r\n    },\r\n    methods: {\r\n      // toEssenceReadWeb() {\r\n      //   window.open(this.url, '_blank');\r\n      // },\r\n      hideFontSize(e) {\r\n          e.stopPropagation();\r\n          this.showFontSizeDialog = false;\r\n      },\r\n      changeFontSize(fontSize) {\r\n          this.defaultFontSize = fontSize;\r\n          localStorage.setItem(\"defaultFontSize\", fontSize);\r\n          this.fontSize = fontSize + 'px';\r\n          this.lineHeight = fontSize * 1.8 + 'px'\r\n      },\r\n      showChangeFontsize() {\r\n          this.showFontSizeDialog = !this.showFontSizeDialog;\r\n      },\r\n      handleMouseLeaveFontSize() {\r\n          this.showFontSizeHover = false;\r\n      },\r\n      handleMouseEnterFontSize() {\r\n          this.showFontSizeHover = true;\r\n      },\r\n      handleMouseEnterMode() {\r\n          this.showModeHover = true;\r\n      },\r\n      handleMouseLeaveMode() {\r\n          this.showModeHover = false;\r\n      },\r\n      changeMode(mode) {\r\n        this.mode = mode;\r\n        localStorage.setItem(\"readMode\", mode);\r\n        if(this.isMobile) {\r\n            this.showModeHover = true;\r\n            let timeout = setTimeout(() => {\r\n                this.showModeHover = false;\r\n                clearTimeout(timeout);\r\n            }, 300);\r\n        }\r\n      },\r\n      async getPdf() {\r\n        // 从indexDb拿数据\r\n        this.course_pdf = this.$route.query.course_pdf;\r\n        this.course_name = this.$route.query.course_name;\r\n        const course_pdf_shows = this.course_pdf.split(\"?\");\r\n        if(course_pdf_shows) {\r\n          const url = course_pdf_shows[0];\r\n          const pdf = await getFile(url);\r\n          if (pdf) {\r\n              this.pdfUrl = pdf.fileData;\r\n          } else {\r\n            // 存入indexDb\r\n            this.pdfUrl = await getBase64ByUrl(this.course_pdf);\r\n            // 保存到indexDb\r\n            await saveFile(url, this.course_name, this.pdfUrl);\r\n          }\r\n        } else {\r\n          this.pdfUrl = \"\";\r\n        }\r\n      }\r\n    },\r\n    mounted() {\r\n        this.course_id = this.$route.query.course_id;\r\n        this.canDownload = this.$route.query.canDownload;\r\n        this.getPdf();\r\n        const app_type = localStorage.getItem(\"app_type\");\r\n        if (app_type) {\r\n            this.app_type = app_type;\r\n        }\r\n        const defaultFontSize = localStorage.getItem(\"defaultFontSize\");\r\n        if(defaultFontSize) {\r\n            this.defaultFontSize = parseInt(defaultFontSize);\r\n            this.fontSize = defaultFontSize + 'px';\r\n            this.lineHeight = defaultFontSize * 1.8 + 'px'\r\n        }\r\n        const readMode = localStorage.getItem(\"readMode\");\r\n        if(readMode) {\r\n            this.mode = readMode;\r\n        }\r\n        this.isMobile = getIsMobile();\r\n        EventBus.$on(\"RESIZE\", () => {\r\n          const isHorizontalScreen = localStorage.getItem('isHorizontalScreen');\r\n          if(isHorizontalScreen != this.isHorizontalScreen) {\r\n            this.showReadFontSize = false;\r\n          } else {\r\n            this.showReadFontSize = true;\r\n          }\r\n          this.isHorizontalScreen = localStorage.getItem('isHorizontalScreen');\r\n          console.log(\"isHorizontalScreen:\", localStorage.getItem('isHorizontalScreen'));\r\n          // this.$refs.readFontsize.getHeight();\r\n        });\r\n    }\r\n}\r\n</script>\r\n<style scoped lang=\"less\">\r\n.read-box {\r\n  width: 100%;\r\n  height: 100%;\r\n  position: relative;\r\n  background: #f4f6f6;\r\n  overflow-y: hidden;\r\n}\r\n.title {\r\n  width: 80%;\r\n  padding: 24px;\r\n  margin: 0 auto;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  font-family: Source Han Sans CN, Source Han Sans CN;\r\n  font-weight: 400;\r\n  font-size: 16px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  text-transform: none;\r\n  border-bottom: 1px solid #e5e9eb;\r\n  .title-wrapper {\r\n    display: flex;\r\n    align-items: center;\r\n  }\r\n  .logo {\r\n    width: 24px;\r\n    height: 24px;\r\n    margin-right: 10px;\r\n  }\r\n}\r\n.read-detail-wrapper {\r\n  position: absolute;\r\n  // width: calc(100% - 224px);\r\n  width: 80%;\r\n  height: 100%;\r\n  overflow-y: hidden;\r\n  left: 10%;\r\n  background: #ffffff;\r\n  box-shadow: 0px 6px 18px 1px rgba(0, 0, 0, 0.05);\r\n  display: flex;\r\n  flex-direction: column;\r\n  .title {\r\n    width: 100%;\r\n  }\r\n  .content {\r\n    // flex: 1;\r\n    height: auto;\r\n    overflow-y: auto;\r\n    padding: 39px 72px 32px 72px;\r\n    font-family: Source Han Sans CN, Source Han Sans CN;\r\n    font-weight: 400;\r\n    text-align: left;\r\n    font-style: normal;\r\n    text-transform: none;\r\n  }\r\n}\r\n.operates {\r\n  position: absolute;\r\n  bottom: 0;\r\n  right: calc(10% - 60px);\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: flex-end;\r\n  z-index: 11;\r\n  .operate {\r\n    width: 48px;\r\n    height: 48px;\r\n    background: #ffffff;\r\n    box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.05);\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n  }\r\n  .read-mode {\r\n    margin-top: 40px;\r\n    margin-bottom: 100px;\r\n  }\r\n}\r\n.readFontsize {\r\n  z-index: 10;\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: rgba(0, 0, 0, 0.1);\r\n  .readFontsize1 {\r\n    bottom: 153px;\r\n    right: 10%;;\r\n    position: absolute;\r\n  }\r\n}\r\n.link-btn {\r\n  cursor: pointer;\r\n  // position: absolute;\r\n  // right: calc(10% - 60px);\r\n  // top: 20px;\r\n  img {\r\n    width: 138px;\r\n    height: 32px;\r\n  }\r\n}\r\n// *::-webkit-scrollbar {\r\n//   /*滚动条整体样式*/\r\n//   width: 3px;\r\n// }\r\n// *::-webkit-scrollbar-thumb {\r\n//   /*滚动条里面小方块*/\r\n//   border-radius: 10px;\r\n//   background: #64afd5;\r\n// }\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Pdf.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"read-box\",style:({\n    background: _vm.mode == 'white' ? _vm.readBoxBg : _vm.readBoxBlackBg,\n    color: _vm.mode == 'white' ? '#292929' : '#fff',\n  })},[(_vm.course_pdf)?[_c('ReadPdf',{attrs:{\"pdfUrl\":_vm.pdfUrl,\"mode\":_vm.mode,\"name\":_vm.course_name,\"canDownload\":_vm.canDownload},on:{\"changeMode\":_vm.changeMode}})]:_vm._e(),_vm._v(\" \"),(_vm.mode == 'white' && !_vm.course_pdf)?_c('div',{staticClass:\"operates\"},[(_vm.showFontSizeHover || _vm.showFontSizeDialog)?_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize-hover.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveFontSize,\"click\":_vm.showChangeFontsize}}):_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterFontSize,\"click\":_vm.showChangeFontsize}}),_vm._v(\" \"),(!_vm.showModeHover)?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterMode,\"click\":function($event){return _vm.changeMode('black')}}}):_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-hover.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveMode,\"click\":function($event){return _vm.changeMode('black')}}})]):(!_vm.course_pdf)?_c('div',{staticClass:\"operates\"},[(_vm.showFontSizeHover || _vm.showFontSizeDialog)?_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize-hover-black.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveFontSize,\"click\":_vm.showChangeFontsize}}):_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize-black.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterFontSize,\"click\":_vm.showChangeFontsize}}),_vm._v(\" \"),(!_vm.showModeHover)?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-black.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterMode,\"click\":function($event){return _vm.changeMode('white')}}}):_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-hover-black.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveMode,\"click\":function($event){return _vm.changeMode('white')}}})]):_vm._e(),_vm._v(\" \"),(_vm.showFontSizeDialog)?_c('div',{staticClass:\"readFontsize\",on:{\"click\":_vm.hideFontSize}},[_c('div',{staticClass:\"readFontsize1\"},[(_vm.isHorizontalScreen == 1)?_c('ReadFontsize',{ref:\"readFontsize\",attrs:{\"mode\":_vm.mode,\"defaultValue\":_vm.defaultFontSize,\"readMode\":_vm.mode,\"isHorizontalScreen\":_vm.isHorizontalScreen},on:{\"changeFontSize\":_vm.changeFontSize}}):_c('ReadFontsize',{ref:\"readFontsize\",attrs:{\"mode\":_vm.mode,\"defaultValue\":_vm.defaultFontSize,\"readMode\":_vm.mode,\"isHorizontalScreen\":_vm.isHorizontalScreen},on:{\"changeFontSize\":_vm.changeFontSize}})],1)]):_vm._e()],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-886b12c8\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pdf.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-886b12c8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Pdf.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Pdf.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Pdf.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-886b12c8\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Pdf.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-886b12c8\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pdf.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTM3NSwwIEwzNzUsODEyIEwwLDgxMiBMMCwwIEwzNzUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMSwwIEMxLjU1MjI4NDc1LDAgMiwwLjQ0NzcxNTI1IDIsMSBDMiwxLjU1MjI4NDc1IDEuNTUyMjg0NzUsMiAxLDIgQzAuNDQ3NzE1MjUsMiAwLDEuNTUyMjg0NzUgMCwxIEMwLDAuNDQ3NzE1MjUgMC40NDc3MTUyNSwwIDEsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMC4wIC0zMTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMS45OTk5OTk5OTk5OTkyIDMxNy45OTk5OTk5OTk5OTk3KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC40OTk5OTk5OTk5OTk2NjYgLTMuMzA0MDIzNzIxMjg0NDY2ZS0xMykgcm90YXRlKDI5Ljk5OTk5OTk5OTk5OTk5NikiPjxwYXRoIGQ9Ik04LjUsMTcgQzEzLjE5NDQyMDQsMTcgMTcsMTMuMTk0NDIwNCAxNyw4LjUgQzE3LDMuODA1NTc5NjMgMTMuMTk0NDIwNCwwIDguNSwwIEMzLjgwNTU3OTYzLDAgMCwzLjgwNTU3OTYzIDAsOC41IEMwLDkuNzUzMTYwMzYgMC4yNzExODc4MDgsMTAuOTQyOTgxNCAwLjc1ODA3ODkzNywxMi4wMTM5Nzg3IiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjExMTIxNTkzMjE2NzM5NyAxNC4xMTEyMTU5MzIxNjc0KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMiwwIDIsMiAwLDIgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM3RTg3OEMiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjYxMTIxNTkzMjE2NzQgNi42MTEyMTU5MzIxNjczOTcpIj48cGF0aCBkPSJNMCwwIEwwLDUgTDMuMzE2NjA5MzIsOC41IiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/newest.svg\n// module id = DrPq\n// module chunks = 171","<template>\r\n  <div\r\n    class=\"main-content  bg-white\"\r\n    :class=\"[\r\n      !isContained\r\n        ? isOpen\r\n          ? 'big-view-box-page'\r\n          : 'outof-big-view-box-page'\r\n        : ''\r\n    ]\"\r\n  >\r\n    <div class=\"box\">\r\n      <div\r\n        class=\"box-content-name name\"\r\n        :class=\"isContained ? 'isContained' : ''\"\r\n        :style=\"{ color: meditate_type == 1 ? '#64afd5' : '#ffb096' }\"\r\n      >\r\n        <img\r\n          v-if=\"isContained && meditate_type == 1\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/thinking.svg'\"\r\n          @click=\"back\"\r\n        />\r\n        <img\r\n          v-if=\"isContained && meditate_type == 2\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/behavior.svg'\"\r\n          @click=\"back\"\r\n        />\r\n        <span @click=\"back\">添加观修文</span>\r\n      </div>\r\n      <div class=\"content-box\" ref=\"\">\r\n        <p class=\"project\" v-if=\"app_type == 2\">课程 /</p>\r\n        <p class=\"project\" v-else>笔记 /</p>\r\n        <p class=\"project-name\">{{ course_name }}</p>\r\n        <div class=\"meditate_text\">\r\n          <div class=\"meditate_guancha_text\">\r\n            <p class=\"title\" :class=\"'title' + meditate_type\">观察修</p>\r\n            <p class=\"text\">{{ meditate_guancha_text_default }}</p>\r\n          </div>\r\n          <div class=\"meditate_guancha_text\">\r\n            <p class=\"title\" :class=\"'title' + meditate_type\">安住修</p>\r\n            <p class=\"text\">{{ meditate_anzhu_text_default }}</p>\r\n          </div>\r\n        </div>\r\n        <div class=\"recording-wrapper recording-tips\">\r\n          <img v-if=\"app_type == 1\" class=\"app_erweima\" src=\"@/assets/img/yuanriji_app.png\" />\r\n          <img v-else class=\"app_erweima\" src=\"@/assets/img/yuanriji_app_global.png\" />\r\n          <div v-if=\"app_type == 1\">扫码登录<span class=\"app_name\">元日记APP</span></div>\r\n          <div v-else>扫码登录<span class=\"app_name\">元日记国际版APP</span></div>\r\n          <div>使用语音编辑</div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nexport default {\r\n  mixins: [openOtherPageMixins],\r\n  data() {\r\n    return {\r\n      meditate_type: 1,\r\n      meditate_id: \"\",\r\n      meditate_guancha_text: \"\",\r\n      meditate_guancha_text_prefix: \"\",\r\n      meditate_anzhu_text: \"\",\r\n      meditate_anzhu_text_prefix: \"\",\r\n      dialogVisibleCon: false,\r\n      confirmData: null,\r\n      meditate_guancha_text_default:\r\n        \"通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\",\r\n      meditate_anzhu_text_default:\r\n        \"我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\",\r\n      isEdited: false,\r\n      isOpen: true,\r\n      isContained: false,\r\n      app_type: 2\r\n    };\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next(vm => {\r\n      if (from.name == \"index\") {\r\n        const isContained = vm.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        if (!isContained) {\r\n          vm.isOpen = true;\r\n        }\r\n      }\r\n    });\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    console.log(\"TipsviewAdd beforeRouteLeave:\", this.isEdited, this.isOpen);\r\n    if (to.name == \"index\") {\r\n      this.isOpen = false;\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      let timeout = setTimeout(() => {\r\n        next();\r\n        clearTimeout(timeout);\r\n      }, 550);\r\n    } else {\r\n      next();\r\n    }\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course_name() {\r\n      return this.$store.getters.course_name;\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    }\r\n  },\r\n  watch: {\r\n    meditate_type: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.meditate_type = v;\r\n          if (this.meditate_type == 1) {\r\n            // 思维\r\n            this.meditate_guancha_text_default =\r\n              \"通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\";\r\n            this.meditate_anzhu_text_default =\r\n              \"我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\";\r\n          } else {\r\n            // 心态\r\n            this.meditate_guancha_text_default =\r\n              \"通过运用本期学习所获得的正确观念（正见），我摆脱了什么不良心念？建立什么正向心念（正念）？\";\r\n            this.meditate_anzhu_text_default =\r\n              \"我调整出了哪些正向心念？安住在这些正向心念（正念）中的时间越久越好。\";\r\n          }\r\n        }\r\n      }\r\n    },\r\n    historyOperate: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.isContained = this.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        console.log(this.isContained);\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    back() {\r\n      if (this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.back();\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n\r\n    toggle() {\r\n      this.$emit(\"toggle\");\r\n    }\r\n  },\r\n  activated() {\r\n    this.meditate_type = this.$route.query.meditate_type;\r\n    // this.init();\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.meditate_type = this.$route.query.meditate_type;\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.box-content-name {\r\n  span {\r\n    cursor: pointer;\r\n  }\r\n}\r\n.main-content {\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n}\r\n.box {\r\n  height: calc(100% - 44px);\r\n  padding: 26px 32px 0 32px;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.content-box {\r\n  width: 100%;\r\n  padding: 43px 37px 33px 39px;\r\n  background-color: #f2f4f5;\r\n  min-height: 388px;\r\n  position: relative;\r\n  flex: 1;\r\n}\r\n.project {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 21px;\r\n}\r\n.project-name {\r\n  font-size: 21px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #292929;\r\n  line-height: 32px;\r\n  padding-top: 5px;\r\n}\r\n.meditate_text {\r\n  display: flex;\r\n  align-items: center;\r\n  flex-direction: column;\r\n  padding-bottom: 44px;\r\n  .meditate_guancha_text {\r\n    text-align: center;\r\n    &:first-of-type {\r\n      padding-top: 37px;\r\n    }\r\n    &:last-of-type {\r\n      padding-top: 40px;\r\n    }\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 14px;\r\n      line-height: 21px;\r\n      font-style: normal;\r\n      padding-bottom: 5px;\r\n    }\r\n    .title2 {\r\n      color: #ffb096;\r\n    }\r\n    .title1 {\r\n      color: #64afd5;\r\n    }\r\n    .text {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: rgba(126, 135, 140, 0.5);\r\n      line-height: 21px;\r\n      font-style: normal;\r\n    }\r\n  }\r\n}\r\n.recording-wrapper {\r\n  width: 100%;\r\n  height: 176px;\r\n  .experience_edit {\r\n    position: absolute;\r\n    right: 13px;\r\n    bottom: 20px;\r\n    width: 35px;\r\n    height: 35px;\r\n    cursor: pointer;\r\n    box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 50%;\r\n  }\r\n}\r\n.recording-tips {\r\n  background: #fafbfb;\r\n  border-radius: 8px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #7e878c;\r\n  line-height: 22px;\r\n  text-align: right;\r\n  font-style: normal;\r\n  .app_erweima {\r\n    width: 73px;\r\n    height: 73px;\r\n    margin-bottom: 5px;\r\n  }\r\n  .app_name {\r\n    color: #292929;\r\n    font-family: SourceHanSansCN-Medium;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/TAudioAdd.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content bg-white\",class:[\n    !_vm.isContained\n      ? _vm.isOpen\n        ? 'big-view-box-page'\n        : 'outof-big-view-box-page'\n      : ''\n  ]},[_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"box-content-name name\",class:_vm.isContained ? 'isContained' : '',style:({ color: _vm.meditate_type == 1 ? '#64afd5' : '#ffb096' })},[(_vm.isContained && _vm.meditate_type == 1)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/thinking.svg'},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.isContained && _vm.meditate_type == 2)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/behavior.svg'},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),_c('span',{on:{\"click\":_vm.back}},[_vm._v(\"添加观修文\")])]),_vm._v(\" \"),_c('div',{ref:\"\",staticClass:\"content-box\"},[(_vm.app_type == 2)?_c('p',{staticClass:\"project\"},[_vm._v(\"课程 /\")]):_c('p',{staticClass:\"project\"},[_vm._v(\"笔记 /\")]),_vm._v(\" \"),_c('p',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.course_name))]),_vm._v(\" \"),_c('div',{staticClass:\"meditate_text\"},[_c('div',{staticClass:\"meditate_guancha_text\"},[_c('p',{staticClass:\"title\",class:'title' + _vm.meditate_type},[_vm._v(\"观察修\")]),_vm._v(\" \"),_c('p',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.meditate_guancha_text_default))])]),_vm._v(\" \"),_c('div',{staticClass:\"meditate_guancha_text\"},[_c('p',{staticClass:\"title\",class:'title' + _vm.meditate_type},[_vm._v(\"安住修\")]),_vm._v(\" \"),_c('p',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.meditate_anzhu_text_default))])])]),_vm._v(\" \"),_c('div',{staticClass:\"recording-wrapper recording-tips\"},[(_vm.app_type == 1)?_c('img',{staticClass:\"app_erweima\",attrs:{\"src\":require(\"@/assets/img/yuanriji_app.png\")}}):_c('img',{staticClass:\"app_erweima\",attrs:{\"src\":require(\"@/assets/img/yuanriji_app_global.png\")}}),_vm._v(\" \"),(_vm.app_type == 1)?_c('div',[_vm._v(\"扫码登录\"),_c('span',{staticClass:\"app_name\"},[_vm._v(\"元日记APP\")])]):_c('div',[_vm._v(\"扫码登录\"),_c('span',{staticClass:\"app_name\"},[_vm._v(\"元日记国际版APP\")])]),_vm._v(\" \"),_c('div',[_vm._v(\"使用语音编辑\")])])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1341fde6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/TAudioAdd.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1341fde6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TAudioAdd.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TAudioAdd.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TAudioAdd.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1341fde6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TAudioAdd.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1341fde6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/TAudioAdd.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuWtl+WPt+a1heiJsi3np7vlhaUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNzczIC00MzQpIj4NCiAgICA8Y2lyY2xlIGlkPSLmpK3lnIZfNCIgZGF0YS1uYW1lPSLmpK3lnIYgNCIgY3g9IjI0IiBjeT0iMjQiIHI9IjI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzczIDQzNCkiIGZpbGw9IiNmZmYiLz4NCiAgICA8ZyBpZD0i57uEXzQzIiBkYXRhLW5hbWU9Iue7hCA0MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTk2My44MDQgMzQ4Ljg5MikiPg0KICAgICAgPHBhdGggaWQ9Iui3r+W+hF8yMSIgZGF0YS1uYW1lPSLot6/lvoQgMjEiIGQ9Ik0tMTY4LjA0Nyw5OS4xMDhoMi40NTlsNi43ODMsMjBoLTIuMzc4bC0xLjk3My02LjI4NWgtNy40MDZsLTIsNi4yODVILTE3NC44Wm00LjMyNCwxMS45MTItMS4wMjctMy4yNTFjLS43NTctMi4yNjctMS4zNzgtNC40MjctMi4wNTQtNi43NzVoLS4xMDhjLS42NDksMi4zNDgtMS4zLDQuNTA4LTIuMDI3LDYuNzc1bC0xLjAyNywzLjI1MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9IiM2NGFmZDUiLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-fontsize-hover.svg\n// module id = ED8E\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE1cHgiIGhlaWdodD0iMTFweCIgdmlld0JveD0iMCAwIDE1LjAgMTEuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjYyIEwwLDEyNjIgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzI0LjAgLTI0MS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzI1LjAgMjQyLjApIj48cGF0aCBkPSJNMTMsMCBMNS4zODEwMjQzNyw4IEwwLDIuODk4ODgzNDMiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/guide_done_gou.svg\n// module id = EH81\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMxcHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDMxLjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgyOC4wIC0xODYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgyOS4wIDE4Ny4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMCAwLjApIj48cGF0aCBkPSJNMiwwIEw3LDAgQzguMTA0NTY5NSwtMi4wMjkwNjEyNWUtMTYgOSwwLjg5NTQzMDUgOSwyIEw5LDEyIEM5LDEzLjEwNDU2OTUgOC4xMDQ1Njk1LDE0IDcsMTQgTDIsMTQgQzAuODk1NDMwNSwxNCAxLjM1MjcwNzVlLTE2LDEzLjEwNDU2OTUgMCwxMiBMMCwyIEMtMS4zNTI3MDc1ZS0xNiwwLjg5NTQzMDUgMC44OTU0MzA1LDIuMDI5MDYxMjVlLTE2IDIsMCBaIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDIuMCkiPjxwYXRoIGQ9Ik0yLDAgTDUsMCBDNi4xMDQ1Njk1LC02LjQ2OTk1MzM1ZS0xNiA3LDAuODk1NDMwNSA3LDIgTDcsOC44ODg4ODg4OSBDNyw5Ljk5MzQ1ODM5IDYuMTA0NTY5NSwxMC44ODg4ODg5IDUsMTAuODg4ODg4OSBMMiwxMC44ODg4ODg5IEMwLjg5NTQzMDUsMTAuODg4ODg4OSAxLjM1MjcwNzVlLTE2LDkuOTkzNDU4MzkgMCw4Ljg4ODg4ODg5IEwwLDIgQy0xLjM1MjcwNzVlLTE2LDAuODk1NDMwNSAwLjg5NTQzMDUsLTIuNDExODMwODVlLTE2IDIsMCBaIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjIuMCAyLjApIj48cGF0aCBkPSJNMiwwIEw1LDAgQzYuMTA0NTY5NSwtNi40Njk5NTMzNWUtMTYgNywwLjg5NTQzMDUgNywyIEw3LDguODg4ODg4ODkgQzcsOS45OTM0NTgzOSA2LjEwNDU2OTUsMTAuODg4ODg4OSA1LDEwLjg4ODg4ODkgTDIsMTAuODg4ODg4OSBDMC44OTU0MzA1LDEwLjg4ODg4ODkgMS4zNTI3MDc1ZS0xNiw5Ljk5MzQ1ODM5IDAsOC44ODg4ODg4OSBMMCwyIEMtMS4zNTI3MDc1ZS0xNiwwLjg5NTQzMDUgMC44OTU0MzA1LC0yLjQxMTgzMDg1ZS0xNiAyLDAgWiIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/course_swiper_sel.svg\n// module id = ELK0\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIzLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTQuODgzNDU5NSwwIEMxNy45MTUzOTA5LDAgMjAuMzcyMzAwOCwyLjQ1NzY5MDE1IDIwLjM3MjMwMDgsNS40ODg4NDEzNCBDMjAuMzcyMzAwOCwxMC44NTY3NDg3IDEwLjE4NTc2MDMsMTcuODYxNTU1OCAxMC4xODU3NjAzLDE3Ljg2MTU1NTggQzEwLjE4NTc2MDMsMTcuODYxNTU1OCAwLDEwLjg1Njc0ODcgMCw1LjQ4ODg0MTM0IEMwLDIuNDU3NjkwMTUgMi40NTY5MDk5MywwIDUuNDg4MDYxMTIsMCBDNy40Nzk5NjA0NywwIDkuMjI0NTMwMzcsMS4wNjE4NzgxOSAxMC4xODU3NjAzLDIuNjQ5NjI0MDUgQzExLjE0Nzc3MDQsMS4wNjE4NzgxOSAxMi44OTE1NjAxLDAgMTQuODgzNDU5NSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI0LjAgLTQyMS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTMuMCA0MDQuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzMi4zNDI1MTY3NTM1Mzg4IDE3Ljg0NTEyMjg1OTI2OTM5NSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDIwLjM3MjMwMDgsMCAyMC4zNzIzMDA4LDE3Ljg2MTU1NTggMCwxNy44NjE1NTU4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZGRkZGIj48L3BvbHlnb24+PC9nPjxwYXRoIGQ9Ik0yMC4zNzIzMDA4LDUuNDg4ODQxMzQgQzIwLjM3MjMwMDgsMi40NTc2OTAxNSAxNy45MTUzOTA5LDAgMTQuODgzNDU5NSwwIEMxMi44OTE1NjAxLDAgMTEuMTQ3NzcwNCwxLjA2MTg3ODE5IDEwLjE4NTc2MDMsMi42NDk2MjQwNSBDOS4yMjQ1MzAzNywxLjA2MTg3ODE5IDcuNDc5OTYwNDcsMCA1LjQ4ODA2MTEyLDAgQzIuNDU2OTA5OTMsMCAwLDIuNDU3NjkwMTUgMCw1LjQ4ODg0MTM0IEMwLDEwLjg1Njc0ODcgMTAuMTg1NzYwMywxNy44NjE1NTU4IDEwLjE4NTc2MDMsMTcuODYxNTU1OCBDMTAuMTg1NzYwMywxNy44NjE1NTU4IDIwLjM3MjMwMDgsMTAuODU2NzQ4NyAyMC4zNzIzMDA4LDUuNDg4ODQxMzQgWiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/audio_collected.svg\n// module id = Es5A\n// module chunks = 171","<template>\r\n  <div class=\"my-pdf\">\r\n    <div class=\"top-bar\">\r\n      <div class=\"name\" :id=\"pdfId\">\r\n        <img class=\"logo\" src=\"@/assets/img/read-logo-overseas.svg\" />\r\n        {{ name }}\r\n      </div>\r\n      <!-- 页码 -->\r\n      <div class=\"pagination\">\r\n        <div class=\"page pre-page\" @click=\"prePage\">\r\n            <i class=\"el-icon-caret-left\"></i>\r\n        </div>\r\n        <div class=\"current-page\">\r\n            <el-input-number\r\n                v-model=\"currentPageNum\"\r\n                :controls=\"false\"\r\n                :min=\"1\"\r\n                :max=\"numPages\"\r\n                @change=\"pageNumChange\"\r\n                />\r\n        </div>\r\n        <div class=\"page next-page\" @click=\"nextPage\">\r\n            <i class=\"el-icon-caret-right\"></i>\r\n        </div>\r\n        <div class=\"total-page\">of {{ numPages }}</div>\r\n        <div\r\n          class=\"zoom\"\r\n        >\r\n          <i class=\"el-icon-plus\" @click=\"changeSize('big')\"></i>\r\n          <span\r\n            class=\"curentPer\"\r\n          >\r\n          <el-input\r\n            v-model=\"sizePercentShow\"\r\n            @change=\"inputSize\"\r\n            >\r\n            <template slot=\"append\">&nbsp;%</template>\r\n          </el-input>\r\n          </span>\r\n          <i class=\"el-icon-minus\" @click=\"changeSize('small')\"></i>\r\n        </div>\r\n        <img src=\"@/assets/img/pdf-rotate.svg\" class=\"rotate\" @click=\"changeRotate\" />\r\n        <!-- <i class=\"el-icon-rank\" @click=\"changeRotate\"></i> -->\r\n      </div>\r\n      <!-- 模式 -->\r\n      <div class=\"operates\">\r\n        <div v-if=\"canDownload == 1\" class=\"download\" @click=\"fileDownload\">下载PDF</div>\r\n        <img\r\n          class=\"operate read-mode\"\r\n          v-if=\"!showModeHover && mode == 'white'\"\r\n          src=\"@/assets/img/read-mode.svg\"\r\n          @mouseenter=\"handleMouseEnterMode\"\r\n          @click=\"changeMode('black')\"\r\n        />\r\n        <img\r\n          class=\"operate read-mode\"\r\n          v-if=\"showModeHover && mode == 'white'\"\r\n          src=\"@/assets/img/read-mode-hover.svg\"\r\n          @mouseleave=\"handleMouseLeaveMode\"\r\n          @click=\"changeMode('black')\"\r\n        />\r\n        <img\r\n          class=\"operate read-mode\"\r\n          v-if=\"!showModeHover && mode == 'black'\"\r\n          src=\"@/assets/img/read-mode-black.svg\"\r\n          @mouseenter=\"handleMouseEnterMode\"\r\n          @click=\"changeMode('white')\"\r\n        />\r\n        <img\r\n          class=\"operate read-mode\"\r\n          v-if=\"showModeHover && mode == 'black'\"\r\n          src=\"@/assets/img/read-mode-hover-black.svg\"\r\n          @mouseleave=\"handleMouseLeaveMode\"\r\n          @click=\"changeMode('white')\"\r\n        />\r\n      </div>\r\n    </div>\r\n    <!-- :style=\"{\r\n      backgroundColor: mode == 'white' ? '#F4F6F6' : '#323639',\r\n      }\" -->\r\n    <div class=\"my-dialog-content-box\" >\r\n      <div v-if=\"!isMobile\" class=\"thumbnail-container\" :id=\"thumbnailContainerId\" :style=\"{ marginTop: currentPageNum == 1 ? '5px' : '' }\">\r\n        <div\r\n          v-for=\"page in numPages\"\r\n          :key=\"'thumbnail' + page\"\r\n          :id=\"'thumbnail' + page\"\r\n          @click=\"pageNumChange(page, false)\"\r\n          class=\"thumbnail\"\r\n        >\r\n          <img :class=\"currentPageNum == page ? 'currentPage' : 'otherPage'\" v-if=\"pageCacheThumbnail[page]\" :src=\"pageCacheThumbnail[page]\" alt=\"Cached Page\">\r\n          <!-- <div v-if=\"isThumbnailVisible(page)\" ><pdf :src=\"pdfUrl1\" :page=\"page\" :scale=\"thumbnailScale\" @error=\"onPdfError\" @page-loaded=\"onPageThumbnaiLoaded\"></pdf></div> -->\r\n          <div class=\"thumbnail_none\" v-else :style=\"{ width: thumbnailWidth > 0 ? thumbnailWidth + 'px' : $px2rem(100), height: thumbnailHeight > 0 ? thumbnailHeight + 'px' : $px2rem(150) }\">\r\n            加载中...\r\n          </div>\r\n          <div class=\"index\">{{ page }}</div>\r\n        </div>\r\n      </div>\r\n      <div\r\n        class=\"pdf-box\"\r\n        :id=\"pdfBoxId\"\r\n        :style=\"{\r\n          background: mode == 'white' ? '#F4F6F6' : '#525659',\r\n          color: mode == 'white' ? '#292929' : '#fff',\r\n        }\"\r\n      >\r\n        <div\r\n          v-for=\"page in numPages\"\r\n          :key=\"page + 'page'\"\r\n          :id=\"page\"\r\n          class=\"pdf-item\"\r\n          :style=\"{ minWidth: pdfBoxWidthOrigin + 'px', width: maxWidth + 'px', height: currentRotate ==0 || currentRotate == 180 ? pdfItemWidthHeightCache[page] ? pdfItemWidthHeightCache[page].height + 'px' : 0 : pdfItemWidthHeightCache[page] ? pdfItemWidthHeightCache[page].width + 'px' : 0, transform: `rotate(${0}deg)`}\"\r\n        >\r\n          <!-- <canvas v-if=\"!pageCache[page]\" ref=\"canvas\" :data-page=\"page\"></canvas> -->\r\n          <img\r\n          :style=\"{ width: pdfItemWidthHeightCache[page] ? pdfItemWidthHeightCache[page].width + 'px' : 0, height: pdfItemWidthHeightCache[page] ? pdfItemWidthHeightCache[page].height + 'px' : 0, transform: `rotate(${currentRotate}deg)`  }\"\r\n          v-if=\"pageCache[page]\" :src=\"pageCache[page]\" alt=\"Cached Page\">\r\n          <!-- <pdf ref=\"pdf\" class=\"pdf-item\" :src=\"pdfUrl1\" :page=\"page\" /> -->\r\n          <!-- <pdf v-if=\"isPageVisible(page)\" :page=\"page\" :src=\"pdfUrl1\" :rotate=\"currentRotate\" @page-loaded=\"onPageLoaded\"  /> -->\r\n          <div v-else class=\"pdf-item-none\" v-loading.fullscreen.lock=\"true\" :style=\"{ width: pdfItemWidthHeightCache[page] ? pdfItemWidthHeightCache[page].width + 'px' : 0, height: pdfItemWidthHeightCache[page] ? pdfItemWidthHeightCache[page].height + 'px' : 0 }\"></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport pdf from \"vue-pdf\";\r\nimport { throttle } from \"@/utils/util\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { generateRandomString, getIsMobile } from \"@/utils/util\";\r\nimport { getFileByUrl, base64ToFile } from \"@/utils/indexDb\";\r\nwindow.pdfjsWorker = require(\"pdfjs-dist/build/pdf.worker\");\r\nimport * as PDFJS from \"pdfjs-dist\";\r\nimport CMapReaderFactory from \"vue-pdf/src/CMapReaderFactory.js\";\r\n\r\nexport default {\r\n  components: { pdf },\r\n  props: {\r\n    // 当前pdf路径\r\n    pdfUrl: {\r\n        type: String,\r\n        default: \"\"\r\n        // http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf\r\n    },\r\n    mode: {\r\n        type: String,\r\n        default: \"white\"\r\n        // http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf\r\n    },\r\n    name: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    canDownload: {\r\n      type: Number,\r\n      default: 1\r\n    }\r\n  },\r\n  watch: {\r\n    pdfUrl: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.pdfUrl1.url = v;\r\n          this.loadTotalPages();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      remindShow: \"加载文件中，文件较大请耐心等待...\",\r\n      numPages: 0, // PDF 总页数\r\n      currentPageNum: 1, // 当前显示的页码\r\n      thumbnailScale: 0.05, // 缩略图缩放比例\r\n      pdfSrc: \"\",\r\n      pdfShow: false, // pdf 显示刷新\r\n      sizeMultiple: 1,\r\n      sizes: [25, 33, 50, 67, 75, 80, 90, 100, 110, 125, 150, 175, 200, 250, 300, 400, 500],\r\n      sizeIndex: 7,\r\n      isFullScreen: false, // 全屏\r\n      deviceListIsFinish: false, // 是否加载完成\r\n      deviceListIsLoad: false, // 是否加载更多\r\n      deviceTip: \"\",\r\n      pdfItemWidthOrigin: 0,\r\n      pdfItemHeightOrigin: 0,\r\n      pdfBoxWidthOrigin: 0,\r\n      pdfItemHeight: 0, // 单页高度\r\n      pdfItemWidth: 0, //单页宽度\r\n      thumbnailHeight: 0, // 缩略图高度\r\n      thumbnailWidth: 0,\r\n      cutHeight: 0, // 切换高度\r\n      styleObj: {\r\n        width: 80,\r\n      },\r\n      pageMargin: 10,\r\n      thumbnailMargin: 10,\r\n      showModeHover: false,\r\n      pdfId: generateRandomString(5),\r\n      pdfBoxId: generateRandomString(5),\r\n      thumbnailContainerId: generateRandomString(5),\r\n      visiblePages: [],\r\n      visibleThumbnails: [],\r\n      loadedPages: new Set(), // 已加载的页码\r\n      pageSize: 10,\r\n      isMobile: getIsMobile(),\r\n      thumbnailScrollTop: 0,\r\n      isThumbnailBoxScrolling: false,\r\n      currentRotate: 0, // 旋转角度\r\n      pdfUrl1: {\r\n        url: '',\r\n        withAnnotations: false, // 禁用注释\r\n      },\r\n      sizePercent: 100,\r\n      sizePercentShow: 100,\r\n      initThumbnail: false,\r\n      initPdfBox: false,\r\n      isPageNumChanging: false, // 输入页码跳转时\r\n      isScrollEvent: false, // 右侧滚动预览区域时\r\n      isScrollUp: 0, // 右侧滚动\r\n      lastScroll: 0,\r\n      pageCache: {}, // 缓存已渲染的页面\r\n      pageCacheThumbnail: {}, // 缓存已渲染的页面\r\n      pdfItemMarginBottom: 0,\r\n      pdfItemMargins: {},\r\n      pdfItemMarginTop: 0,\r\n      pdfBoxStart: 0,\r\n      pdfBoxEnd: 0,\r\n      thumbnailStart: 5,\r\n      thumbnailEnd: 15,\r\n      pdfItemWidthHeightCache: {},\r\n      pdfItemWidthHeightCacheOrigin: {},\r\n      maxWidth: 0\r\n    };\r\n  },\r\n  async mounted() {\r\n    this.calStartAndEnd();\r\n    const _dom = document.querySelector(\"body\");\r\n    // 将当前组件挂载到body下的最后\r\n    _dom.insertBefore(this.$el, _dom.lastChild);\r\n    EventBus.$on(\"RESIZE\", throttle(this.resize, 200));\r\n    this.$nextTick(() => {\r\n      const thumbnailContainer = document.getElementById(this.thumbnailContainerId);\r\n      const pdfBox = document.getElementById(this.pdfBoxId);\r\n      pdfBox.addEventListener(\"scroll\", throttle(this.scrollEvent, 100));\r\n      console.log(\"thumbnailContainer:\", thumbnailContainer);\r\n      if(thumbnailContainer) {\r\n        thumbnailContainer.addEventListener(\"scroll\", throttle(this.scrollThumbnailsEvent, 100));\r\n      }\r\n    })\r\n  },\r\n  methods: {\r\n    //下载PDF\r\n    fileDownload() {\r\n      // iOS端用buffer处理\r\n      // if (isAppleDevice()) {\r\n      //   let xhr = new XMLHttpRequest()\r\n      //   const url = this.dataPro.mindmap_pdf_show\r\n      //   console.log({url, pdfXHRUrl: this.pdfXHRUrl});\r\n      //   xhr.open('get', this.pdfXHRUrl, true)\r\n      //   xhr.responseType = 'arraybuffer'\r\n      //   xhr.onload = function () {\r\n      //     if (this.status == 200) {\r\n      //       //接受二进制文件流\r\n      //       let blob = this.response;\r\n      //       const blobRes = this.response;\r\n      //         blob = new Blob([blobRes], {\r\n      //           type: 'application/octet-stream',\r\n      //           'Content-Disposition': 'attachment'\r\n      //         });\r\n      //       const blobUrl = window.URL.createObjectURL(blob);\r\n      //       let a = document.createElement('a');\r\n      //       let event = new MouseEvent('click');\r\n      //       a.download = fileName || 'pdf-' + new Date().getTime();\r\n      //       a.href = blobUrl;\r\n      //       a.dispatchEvent(event); // 触发a的单击事件\r\n      //     }\r\n      //   }\r\n      //   xhr.send()\r\n      //   return\r\n      // }\r\n      const fileName = this.name;\r\n\r\n      // 将 Base64 数据解码为字节数组\r\n      const base64Pdf = this.pdfUrl.split(\"base64,\")[1];\r\n      const binaryString = atob(base64Pdf);\r\n      const len = binaryString.length;\r\n      const bytes = new Uint8Array(len);\r\n      for (let i = 0; i < len; i++) {\r\n          bytes[i] = binaryString.charCodeAt(i);\r\n      }\r\n\r\n      // 创建 Blob 对象\r\n      const blob = new Blob([bytes], { type: 'application/pdf' });\r\n\r\n      // 创建下载链接\r\n      const link = document.createElement('a');\r\n      link.href = URL.createObjectURL(blob);\r\n      link.download = fileName; // 设置下载文件名\r\n\r\n      // 触发点击事件进行下载\r\n      document.body.appendChild(link);\r\n      link.click();\r\n      document.body.removeChild(link);\r\n      URL.revokeObjectURL(link.href); // 释放 Blob 对象 URL\r\n\r\n      // 可下载，名称也有效 -- 推荐\r\n      // const x = new window.XMLHttpRequest();\r\n      // x.open(\"GET\", this.pdfUrl, true);\r\n      // x.responseType = \"blob\";\r\n      // x.onload = () => {\r\n      //   const url = window.URL.createObjectURL(x.response);\r\n      //   const a = document.createElement(\"a\");\r\n      //   a.href = url;\r\n      //   a.download = fileName;\r\n      //   a.click();\r\n      // };\r\n      // x.send();\r\n    },\r\n    onPdfError(error) {\r\n      console.log(\"onPdfError:\", error);\r\n    },\r\n    handleMouseEnterMode() {\r\n      this.showModeHover = true;\r\n    },\r\n    handleMouseLeaveMode() {\r\n      this.showModeHover = false;\r\n    },\r\n    changeMode(mode) {\r\n      this.$emit(\"changeMode\", mode);\r\n      if(this.isMobile) {\r\n        this.showModeHover = true;\r\n        let timeout = setTimeout(() => {\r\n            this.showModeHover = false;\r\n            clearTimeout(timeout);\r\n        }, 200);\r\n      }\r\n    },\r\n    isPageVisible(page) {\r\n      if(this.visiblePages.includes(page)) {\r\n        return true;\r\n      }\r\n      return false;\r\n    },\r\n    isThumbnailVisible(page) {\r\n      if(this.visibleThumbnails.includes(page)) {\r\n        return true;\r\n      }\r\n      return false;\r\n    },\r\n    // 滚动缩略图计算可见的缩略图页码\r\n    loadThumbnailsPageScroll(scrollTop) {\r\n      // 当通过代码设置scrollTop，触发了滚动，返回，不做处理\r\n      // if(this.isThumbnailBoxScrolling) {\r\n      //   return;\r\n      // }\r\n      if (scrollTop > 0) {\r\n        const parent = document.getElementById(this.thumbnailContainerId);\r\n        let flag = false;\r\n        let start = 1;\r\n        let end = 1;\r\n        let middle = 1;\r\n        let pages = [];\r\n        for (let index = 1; index <= this.numPages; index++) {\r\n          if(flag) {\r\n            break;\r\n          }\r\n          const child = document.getElementById(\"thumbnail\" + index);\r\n          const parentRect = parent.getBoundingClientRect();\r\n          const childRect = child.getBoundingClientRect();\r\n          const parentCenterY = parentRect.top + parentRect.height / 2;\r\n          const parentCenterX = parentRect.left + parentRect.width / 2;\r\n          // 判断子元素是否部分位于父元素中间位置\r\n          const isInCenterY = childRect.top <= parentCenterY && childRect.bottom >= parentCenterY;\r\n          const isInCenterX = childRect.left <= parentCenterX && childRect.right >= parentCenterX;\r\n          if(isInCenterX && isInCenterY) {\r\n            flag = true;\r\n            middle = index;\r\n            console.log(\"middle is:\", middle);\r\n          }\r\n        }\r\n        start = Math.max(1, middle - this.thumbnailStart);\r\n        end = Math.min(this.numPages, start + this.thumbnailEnd);\r\n        console.log(\"loadThumbnailsPageScroll start end:\", start, end);\r\n        this.renderPagesThumbnail(start, end);\r\n        // pages = Array.from({ length: end - start + 1 }, (_, i) => start + i);\r\n        // this.visibleThumbnails = Array.from(pages);\r\n        // console.log(this.visibleThumbnails);\r\n      }\r\n    },\r\n    // 滚动左侧缩略图\r\n    scrollThumbnailsEvent(e) {\r\n      // 当通过代码设置scrollTop，触发了滚动，返回，不做处理\r\n      if(this.isThumbnailBoxScrolling) {\r\n        return;\r\n      }\r\n      // console.log(\"scrollThumbnailsEvent\");\r\n      if (e[0] instanceof Event) {\r\n        const el = e[0].target;\r\n        const scrollTop = el.scrollTop;\r\n        this.loadThumbnailsPageScroll(scrollTop);\r\n      }\r\n    },\r\n    // 滚动右侧预览区域\r\n    async scrollEvent(e) {\r\n      if (e[0] instanceof Event && !this.isPageNumChanging) {\r\n        this.isScrollEvent = true;\r\n        const el = e[0].target;\r\n        const scrollTop = el.scrollTop;\r\n        console.log(\"scrollEvent:\", scrollTop)\r\n        if(scrollTop < this.scrollTop) {\r\n          // 往上滚动\r\n          this.isScrollUp = true;\r\n        } else {\r\n          // 往下滚动\r\n          this.isScrollUp = false;\r\n        }\r\n        this.scrollTop = scrollTop;\r\n        if (scrollTop >= 0) {\r\n          let heights = [];\r\n          if(this.currentRotate == 90 || this.currentRotate == 270) {\r\n            // 计算scrollTop在哪个区间内\r\n            heights = Object.entries(this.pdfItemWidthHeightCache).map(([key, value]) => value.width);\r\n           } else {\r\n            // 计算scrollTop在哪个区间内\r\n            heights = Object.entries(this.pdfItemWidthHeightCache).map(([key, value]) => value.height);\r\n          }\r\n          if(scrollTop <= heights[0] / 3) {\r\n            this.currentPageNum = 1;\r\n          } else {\r\n            heights.reduce((acc, currentValue, index) => {\r\n              console.log(acc <= scrollTop + this.cutHeight && scrollTop + this.cutHeight < acc + currentValue)\r\n              if(acc <= scrollTop + this.cutHeight && scrollTop + this.cutHeight < acc + currentValue) {\r\n                console.log(acc, scrollTop + this.cutHeight, acc + currentValue)\r\n                this.currentPageNum = index + 1;\r\n              }\r\n              return acc + currentValue;\r\n            }, 0);\r\n          }\r\n\r\n          console.log(\"currentPageNum: \", this.currentPageNum)\r\n          const keys = Object.keys(this.pageCache);\r\n          if(this.isScrollUp && this.isScrollEvent && !this.isPageNumChanging) {\r\n            // 向上滚动预览区\r\n            // 向上滚如果当前页的前面两页不在则加载\r\n            if(keys.indexOf(this.currentPageNum - this.pdfBoxStart) == -1) {\r\n              const start = Math.max(1, this.currentPageNum - this.pdfBoxStart);\r\n              const end = Math.min(this.numPages, start + this.pdfBoxEnd);\r\n              console.log(\"scrollEvent start end::\", start, end);\r\n              this.renderPages(start, end);\r\n            }\r\n          } else if(!this.isScrollUp && this.isScrollEvent && !this.isPageNumChanging) {\r\n            // 向下滚如果当前页的后两页不在则加载\r\n            if(keys.indexOf(this.currentPageNum + this.pdfBoxStart) == -1) {\r\n              const start = Math.max(1, this.currentPageNum - this.pdfBoxStart);\r\n              const end = Math.min(this.numPages, start + this.pdfBoxEnd);\r\n              console.log(\"scrollEvent start end::\", start, end);\r\n              this.renderPages(start, end);\r\n            }\r\n          }\r\n          // 滚动右侧预览图时变化左边的缩略图\r\n          if(!this.isMobile) {\r\n            const thumbnailLen = Object.keys(this.pageCacheThumbnail).length;\r\n            let thumbnailPage = 0;\r\n            if(this.isScrollUp) {\r\n              thumbnailPage = Math.floor(thumbnailLen / 3);\r\n              if(this.currentPageNum <= thumbnailPage) {\r\n                const start = Math.max(1, this.currentPageNum - this.thumbnailStart);\r\n                const end = Math.min(this.numPages, start + this.thumbnailEnd);\r\n                console.log(\"scrollEvent:: Thumbnail\", start, end);\r\n                await this.renderPagesThumbnail(start, end);\r\n              }\r\n              const currentThumbnailItem = document.getElementById('thumbnail' + this.currentPageNum);\r\n              if(currentThumbnailItem) {\r\n                const thumbnailContainer = document.getElementById(this.thumbnailContainerId);\r\n                thumbnailContainer.scrollTop = currentThumbnailItem.offsetTop - 5;\r\n                // currentThumbnailItem.scrollIntoView();\r\n              }\r\n            } else {\r\n              thumbnailPage = Math.floor(thumbnailLen / 3 * 2);\r\n              if(this.currentPageNum >= thumbnailPage) {\r\n                const start = Math.max(1, this.currentPageNum - this.thumbnailStart);\r\n                const end = Math.min(this.numPages, start + this.thumbnailEnd);\r\n                console.log(\"scrollEvent:: Thumbnail\", start, end);\r\n                await this.renderPagesThumbnail(start, end);\r\n              }\r\n              const currentThumbnailItem = document.getElementById('thumbnail' + this.currentPageNum);\r\n              if(currentThumbnailItem) {\r\n                const thumbnailContainer = document.getElementById(this.thumbnailContainerId);\r\n                thumbnailContainer.scrollTop = currentThumbnailItem.offsetTop - 5;\r\n                // currentThumbnailItem.scrollIntoView();\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    },\r\n    // 跳转页面\r\n    pageNumChange(e, needChangeThumbnail = true) {\r\n      if(e > this.currentPageNum) {\r\n        // 往下滚动\r\n        this.isScrollUp = false;\r\n      } else {\r\n        // 往上滚动\r\n        this.isScrollUp = true;\r\n      }\r\n      this.currentPageNum = e;\r\n      const currentPdfItem = document.getElementById(this.currentPageNum);\r\n      this.isPageNumChanging = true;\r\n      const pdfBox = document.getElementById(this.pdfBoxId);\r\n      if (e !== 1) {\r\n        const start = Math.max(1, this.currentPageNum - this.pdfBoxStart);\r\n        const end = Math.min(this.numPages, start + this.pdfBoxEnd);\r\n        this.renderPages(start, end);\r\n        pdfBox.scrollTop = currentPdfItem.offsetTop;\r\n        if(needChangeThumbnail && !this.isMobile) {\r\n          const currentThumbnailItem = document.getElementById('thumbnail' + this.currentPageNum);\r\n          if(currentThumbnailItem) {\r\n            const thumbnailContainer = document.getElementById(this.thumbnailContainerId);\r\n            thumbnailContainer.scrollTop = currentThumbnailItem.offsetTop - 5;\r\n            const start = Math.max(1, this.currentPageNum - this.thumbnailStart);\r\n            const end = Math.min(this.numPages, start + this.thumbnailEnd);\r\n            this.renderPagesThumbnail(start, end);\r\n          }\r\n        }\r\n      } else {\r\n        pdfBox.scrollTop = 1;\r\n        this.renderPages(1, 7);\r\n        if(!this.isMobile) {\r\n          const thumbnailContainer = document.getElementById(this.thumbnailContainerId);\r\n          thumbnailContainer.scrollTop = 0;\r\n          this.renderPagesThumbnail(1, 10);\r\n        }\r\n      }\r\n      let timeout = setTimeout(() => {\r\n        this.isPageNumChanging = false;\r\n        clearTimeout(timeout);\r\n      }, 300);\r\n    },\r\n    // 上一页\r\n    prePage() {\r\n      const pdfBox = document.getElementById(this.pdfBoxId);\r\n      this.isPageNumChanging = true;\r\n      if (this.currentPageNum > 1) {\r\n        this.currentPageNum = this.currentPageNum - 1;\r\n        const start = Math.max(1, this.currentPageNum - this.pdfBoxStart);\r\n        const end = Math.min(this.numPages, start + this.pdfBoxEnd);\r\n        this.renderPages(start, end);\r\n        let scrollTop = 0;\r\n        scrollTop = Object.keys(this.pdfItemWidthHeightCache).slice(0, this.currentPageNum - 1).reduce((acc, key) => {\r\n          // acc[key] = { width: this.pdfItemWidthOrigin * this.sizeMultiple, height: this.pdfItemHeightOrigin * this.sizeMultiple };\r\n          let height = 0;\r\n          if(this.currentRotate == 90 || this.currentRotate == 270) {\r\n            height = this.pdfItemWidthHeightCache[key].width;\r\n          } else {\r\n            height = this.pdfItemWidthHeightCache[key].height + this.pageMargin;\r\n          }\r\n          return acc + height;\r\n        }, 0);\r\n        pdfBox.scrollTop = scrollTop;\r\n        if(!this.isMobile) {\r\n          const start1 = Math.max(1, this.currentPageNum - this.thumbnailStart);\r\n          const end1 = Math.min(this.numPages, start + this.thumbnailEnd);\r\n          this.renderPagesThumbnail(start1, end1);\r\n        }\r\n      } else {\r\n        const end = Math.min(this.numPages, this.pdfBoxEnd);\r\n        this.renderPages(1, end);\r\n        if(!this.isMobile) {\r\n          const start1 = Math.max(1, this.currentPageNum - this.thumbnailStart);\r\n          const end1 = Math.min(this.numPages, start1 + this.thumbnailEnd);\r\n          this.renderPagesThumbnail(start1, end1);\r\n        }\r\n      }\r\n      if(!this.isMobile) {\r\n        const currentThumbnailItem = document.getElementById('thumbnail' + this.currentPageNum);\r\n        if(currentThumbnailItem) {\r\n          const thumbnailContainer = document.getElementById(this.thumbnailContainerId);\r\n          thumbnailContainer.scrollTop = currentThumbnailItem.offsetTop - 5;\r\n          // currentThumbnailItem.scrollIntoView();\r\n        }\r\n      }\r\n      let timeout = window.setTimeout(() => {\r\n        this.isPageNumChanging = false;\r\n        clearTimeout(timeout);\r\n      }, 100);\r\n    },\r\n    // 下一页\r\n    nextPage() {\r\n      const pdfBox = document.getElementById(this.pdfBoxId);\r\n      this.isPageNumChanging = true;\r\n      if (this.currentPageNum < this.numPages) {\r\n        let scrollTop = 0;\r\n        scrollTop = Object.keys(this.pdfItemWidthHeightCache).slice(0, this.currentPageNum).reduce((acc, key) => {\r\n          // acc[key] = { width: this.pdfItemWidthOrigin * this.sizeMultiple, height: this.pdfItemHeightOrigin * this.sizeMultiple };\r\n          let height = 0;\r\n          if(this.currentRotate == 90 || this.currentRotate == 270) {\r\n            height = this.pdfItemWidthHeightCache[key].width;\r\n          } else {\r\n            height = this.pdfItemWidthHeightCache[key].height + this.pageMargin;\r\n          }\r\n          return acc + height;\r\n        }, 0);\r\n        // pdfBox.scrollTop = this.pdfItemHeight * (this.currentPageNum - 1);\r\n        pdfBox.scrollTop = scrollTop;\r\n        // pdfBox.scrollTop = this.pdfItemHeight * this.currentPageNum;\r\n        this.currentPageNum = this.currentPageNum + 1;\r\n        const start = Math.max(1, this.currentPageNum - this.pdfBoxStart);\r\n        const end = Math.min(this.numPages, start + this.pdfBoxEnd);\r\n        this.renderPages(start, end);\r\n        if(!this.isMobile) {\r\n          const start1 = Math.max(1, this.currentPageNum - this.thumbnailStart);\r\n          const end1 = Math.min(this.numPages, start + this.thumbnailEnd);\r\n          this.renderPagesThumbnail(start1, end1);\r\n        }\r\n      } else {\r\n        const start = Math.max(1, this.currentPageNum - this.pdfBoxStart);\r\n        this.renderPages(start, this.numPages);\r\n        if(!this.isMobile) {\r\n          const start1 = Math.max(1, this.currentPageNum - this.thumbnailStart);\r\n          const end1 = Math.min(this.numPages, start + this.thumbnailEnd);\r\n          console.log(\"prePage:: Thumbnail\", start1, end1);\r\n          this.renderPagesThumbnail(start1, end1);\r\n        }\r\n      }\r\n      if(!this.isMobile) {\r\n        const currentThumbnailItem = document.getElementById('thumbnail' + this.currentPageNum);\r\n        if(currentThumbnailItem) {\r\n          const thumbnailContainer = document.getElementById(this.thumbnailContainerId);\r\n          thumbnailContainer.scrollTop = currentThumbnailItem.offsetTop - 5;\r\n          // currentThumbnailItem.scrollIntoView();\r\n        }\r\n      }\r\n      let timeout = window.setTimeout(() => {\r\n        this.isPageNumChanging = false;\r\n        clearTimeout(timeout);\r\n      }, 100);\r\n    },\r\n    resize() {\r\n      // if (!this._checkFull()) {\r\n      //   this.isFullScreen = false;\r\n      //   setTimeout(() => {\r\n      //     const pdfItem = document.getElementsByClassName(\"pdf-item\")[0];\r\n      //     const pdfItemStyle = getComputedStyle(pdfItem);\r\n      //     this.pageMargin = parseInt(pdfItemStyle.marginBottom);\r\n      //     this.cutHeight =\r\n      //       (document.documentElement.clientHeight * 0.85 - 65) * 0.5;\r\n      //     if(this.currentRotate == 90 || this.currentRotate == 270) {\r\n      //       this.pdfItemHeight = pdfItem.offsetWidth + this.pageMargin;\r\n      //     } else {\r\n      //       this.pdfItemHeight = pdfItem.offsetHeight + this.pageMargin;\r\n      //     }\r\n      //     // this.pdfItemHeight = pdfItem.offsetHeight + this.pageMargin;\r\n      //     const pdfBox = document.getElementById(this.pdfBoxId);\r\n      //     this.currentPageNum = Math.ceil(\r\n      //       (pdfBox.scrollTop + this.cutHeight) / this.pdfItemHeight\r\n      //     );\r\n      //     const thumbnailItem = document.getElementsByClassName(\"thumbnail\")[0];\r\n      //     // const thumbnailItemStyle = getComputedStyle(thumbnailItem);\r\n      //     // this.thumbnailMargin = parseInt(thumbnailItemStyle.marginBottom);\r\n      //     this.thumbnailHeight = thumbnailItem.offsetHeight;\r\n      //   }, 200);\r\n      // }\r\n    },\r\n    findClosestIndex(arr, target) {\r\n      if (arr.length === 0) return -1; // 如果数组为空，返回 -1\r\n\r\n      let closestIndex = 0; // 初始化最接近的索引\r\n      let minDiff = Math.abs(arr[0] - target); // 初始化最小差值\r\n\r\n      for (let i = 1; i < arr.length; i++) {\r\n        const currentDiff = Math.abs(arr[i] - target); // 计算当前差值\r\n        if (currentDiff < minDiff) {\r\n          minDiff = currentDiff; // 更新最小差值\r\n          closestIndex = i; // 更新最接近的索引\r\n        }\r\n      }\r\n\r\n      return closestIndex; // 返回最接近的索引\r\n    },\r\n    inputSize() {\r\n      console.log(this.sizePercent, this.sizePercentShow);\r\n      const isNum = /^-?\\d*\\.?\\d+$/.test(this.sizePercentShow);\r\n      if(!isNum) {\r\n        this.sizePercentShow = this.sizePercent;\r\n        return;\r\n      }\r\n      this.sizePercent = this.sizePercentShow;\r\n      this.sizeMultiple = Number(this.sizePercent / 100).toFixed(2);\r\n      const index = this.findClosestIndex(this.sizes, this.sizePercent);\r\n      this.sizeIndex = index;\r\n      console.log(`最接近 ${this.sizePercent} 的索引是: ${index}`);\r\n      this.styleObj.width = 0.8 * this.sizePercent;\r\n\r\n      this.changeSize1();\r\n    },\r\n    // 变更pdf 大小\r\n    changeSize(type) {\r\n      if (type === \"big\") {\r\n        if(this.sizeIndex < this.sizes.length - 1) {\r\n          this.sizeIndex += 1;\r\n        } else {\r\n          return;\r\n        }\r\n      } else {\r\n        if(this.sizeIndex > 0) {\r\n          this.sizeIndex -= 1;\r\n        } else {\r\n          return;\r\n        }\r\n      }\r\n      this.sizePercent = this.sizes[this.sizeIndex];\r\n      this.sizePercentShow = this.sizePercent;\r\n      this.sizeMultiple = Number(this.sizePercent / 100).toFixed(2);\r\n      this.styleObj.width = 0.8 * this.sizePercent;\r\n\r\n      this.changeSize1();\r\n    },\r\n    changeSize1() {\r\n      // this.pdfItemWidth = this.pdfItemWidthOrigin * this.sizeMultiple;\r\n      // this.pdfItemHeight = this.pdfItemHeightOrigin * this.sizeMultiple;\r\n      const newData = Object.keys(this.pdfItemWidthHeightCache).reduce((acc, key) => {\r\n        const item = this.pdfItemWidthHeightCacheOrigin[key];\r\n        acc[key] = { width: item.width * this.sizeMultiple, height: item.height * this.sizeMultiple };\r\n        return acc;\r\n      }, {});\r\n      this.pdfItemWidthHeightCache = newData;\r\n      this.calcuLatePdfItemStyle();\r\n      this.$nextTick(() => {\r\n        const pdfBox = document.getElementById(this.pdfBoxId);\r\n        const currentPdfItem = document.getElementById(this.currentPageNum);\r\n        pdfBox.scrollTop = currentPdfItem.offsetTop;\r\n      })\r\n    },\r\n    // 旋转\r\n    changeRotate() {\r\n      this.currentRotate += 90;\r\n      if(this.currentRotate == 360) {\r\n        this.currentRotate = 0;\r\n      }\r\n      this.$nextTick(() => {\r\n        if(this.currentRotate == 90 || this.currentRotate == 270) {\r\n          let heights = [];\r\n          let maxHeight = 0;\r\n          heights = Object.entries(this.pdfItemWidthHeightCache).map(([key, value]) => value.height);\r\n          if(heights.length > 0) {\r\n            maxWidth = heights[0]\r\n          }\r\n          for (let i = 1; i < heights.length; i++) {\r\n            if (heights[i] > maxHeight) {\r\n              maxHeight = heights[i];\r\n            }\r\n          }\r\n          this.maxWidth = maxHeight;\r\n        } else {\r\n          let widths = [];\r\n          let maxWidth = 0;\r\n          widths = Object.entries(this.pdfItemWidthHeightCache).map(([key, value]) => value.width);\r\n          if(widths.length > 0) {\r\n            maxWidth = widths[0]\r\n          }\r\n          for (let i = 1; i < widths.length; i++) {\r\n            if (widths[i] > maxWidth) {\r\n              maxWidth = widths[i];\r\n            }\r\n          }\r\n          this.maxWidth = maxWidth;\r\n        }\r\n\r\n        this.$nextTick(() => {\r\n          const pdfBox = document.getElementById(this.pdfBoxId);\r\n          const currentPdfItem = document.getElementById(this.currentPageNum);\r\n          pdfBox.scrollTop = currentPdfItem.offsetTop - this.cutHeight;\r\n        });\r\n      });\r\n    },\r\n    calcuLatePdfItemStyle() {\r\n      if(this.currentRotate == 90 || this.currentRotate == 270) {\r\n        let heights = [];\r\n        let maxHeight = 0;\r\n        heights = Object.entries(this.pdfItemWidthHeightCache).map(([key, value]) => value.height);\r\n        if(heights.length > 0) {\r\n          maxWidth = heights[0]\r\n        }\r\n        for (let i = 1; i < heights.length; i++) {\r\n          if (heights[i] > maxHeight) {\r\n            maxHeight = heights[i];\r\n          }\r\n        }\r\n        this.maxWidth = maxHeight;\r\n      } else {\r\n        let widths = [];\r\n        let maxWidth = 0;\r\n        widths = Object.entries(this.pdfItemWidthHeightCache).map(([key, value]) => value.width);\r\n        if(widths.length > 0) {\r\n          maxWidth = widths[0]\r\n        }\r\n        for (let i = 1; i < widths.length; i++) {\r\n          if (widths[i] > maxWidth) {\r\n            maxWidth = widths[i];\r\n          }\r\n        }\r\n        this.maxWidth = maxWidth;\r\n      }\r\n    },\r\n    calStartAndEnd() {\r\n      this.thumbnailStart = 5;\r\n      this.thumbnailEnd = 15;\r\n      if(this.currentRotate == 0 || this.currentRotate == 180) {\r\n        if(this.sizePercent > 200) {\r\n          this.pdfBoxStart = 1;\r\n          this.pdfBoxEnd = 2;\r\n        }else if(this.sizePercent > 100) {\r\n          this.pdfBoxStart = 1;\r\n          this.pdfBoxEnd = 3;\r\n        } else {\r\n          this.pdfBoxStart = 2;\r\n          this.pdfBoxEnd = 7;\r\n        }\r\n      } else {\r\n        if(this.sizePercent > 200) {\r\n          this.pdfBoxStart = 1;\r\n          this.pdfBoxEnd = 3;\r\n        }else if(this.sizePercent > 100) {\r\n          this.pdfBoxStart = 2;\r\n          this.pdfBoxEnd = 5;\r\n        } else {\r\n          this.pdfBoxStart = 3;\r\n          this.pdfBoxEnd = 5;\r\n        }\r\n      }\r\n    },\r\n     // 渲染 PDF 页面\r\n    async renderPagesThumbnail(start, end) {\r\n      for (let i = start; i <= end; i++) {\r\n        await this.renderPageThumbnail(i);\r\n      }\r\n    },\r\n    // 渲染单个页面\r\n    async renderPageThumbnail(pageNum) {\r\n      if (this.pageCacheThumbnail[pageNum]) {\r\n        return; // 如果页面已缓存，则跳过渲染\r\n      }\r\n\r\n      const page = await this.pdfSrc.getPage(pageNum);\r\n      const canvas = document.createElement(\"canvas\");\r\n      const ctx = canvas.getContext(\"2d\");\r\n      const viewport = page.getViewport({ scale: 0.2 });\r\n      let width = viewport.width;\r\n      let height = viewport.height;\r\n      canvas.height = height;\r\n      canvas.width = width;\r\n      const pdfThumbnail = document.getElementById(this.pdfId);\r\n      const pdfThumbnailWidth = pdfThumbnail.offsetWidth;\r\n      if(pdfThumbnailWidth && pdfThumbnailWidth <= width) {\r\n        const thumbnail = document.getElementById(\"thumbnail\" + pageNum);\r\n        width = pdfThumbnailWidth * 0.8;\r\n        const scale = width / viewport.width;\r\n        height = viewport.height * scale;\r\n        thumbnail.style.width = width + \"px\";\r\n        thumbnail.style.height = height + \"px\";\r\n        thumbnail.style.overflow = 'hidden';\r\n      }\r\n      this.thumbnailHeight = height + this.pageMargin;\r\n      this.thumbnailWidth = width;\r\n\r\n      await page.render({\r\n        canvasContext: ctx,\r\n        viewport: viewport,\r\n      }).promise;\r\n\r\n      // 将 Canvas 转换为图片并缓存\r\n      this.$set(this.pageCacheThumbnail, pageNum, canvas.toDataURL());\r\n    },\r\n     // 渲染 PDF 页面\r\n    async renderPages(start, end) {\r\n      for (let i = start; i <= end; i++) {\r\n        await this.renderPage(i);\r\n      }\r\n    },\r\n    // 渲染单个页面\r\n    async renderPage(pageNum) {\r\n      if (this.pageCache[pageNum]) {\r\n        return; // 如果页面已缓存，则跳过渲染\r\n      }\r\n\r\n      const page = await this.pdfSrc.getPage(pageNum);\r\n      const canvas = document.createElement(\"canvas\");\r\n      const ctx = canvas.getContext(\"2d\");\r\n      const viewport = page.getViewport({ scale: 5 });\r\n      canvas.height = viewport.height;\r\n      canvas.width = viewport.width;\r\n      // 使用 CSS 旋转 canvas\r\n      // const pdfItemWidth = this.pdfBoxWidthOrigin * this.styleObj.width / 100;\r\n      // const scale = Number(pdfItemWidth / viewport.width).toFixed(2);\r\n      // this.pdfItemHeight = viewport.height * scale + this.pageMargin;\r\n      // this.pdfItemWidth = viewport.width * scale + this.pageMargin;\r\n\r\n      await page.render({\r\n        canvasContext: ctx,\r\n        viewport: viewport,\r\n      }).promise;\r\n\r\n      // 将 Canvas 转换为图片并缓存\r\n      this.$set(this.pageCache, pageNum, canvas.toDataURL());\r\n      // this.$set(this.pdfItemWidthHeightCache, pageNum, {\r\n      //   width: viewport.width * scale + this.pageMargin,\r\n      //   height: viewport.height * scale + this.pageMargin\r\n      // });\r\n    },\r\n    async loadTotalPages() {\r\n      const file = base64ToFile(this.pdfUrl);\r\n      const arrayBuffer = await file.arrayBuffer();\r\n      const loadingTask = PDFJS.getDocument({\r\n        data: arrayBuffer,\r\n        CMapReaderFactory\r\n      });\r\n      loadingTask.promise\r\n        .then(async pdf => {\r\n          console.log(\"loadingTask pdf:\", pdf);\r\n          self.pdfData = pdf;\r\n          if (pdf) {\r\n            const pdfBox = document.getElementById(this.pdfBoxId);\r\n            console.log(\"pdfBox width:\", pdfBox.offsetHeight, pdfBox.offsetWidth);\r\n            this.pdfBoxWidthOrigin = pdfBox.offsetWidth;\r\n            this.pdfSrc = pdf;\r\n            // pdf 总页数\r\n            const pageNum = pdf.numPages;\r\n            console.log(\"pageNum:\", pageNum);\r\n            this.numPages = pageNum;\r\n            const start = Math.min(this.numPages, this.pdfBoxEnd);\r\n            console.log(\"start:\", start);\r\n            for (let i = 1; i <= pageNum; i++) {\r\n              const page = await this.pdfSrc.getPage(i);\r\n              const viewport = page.getViewport({ scale: 5 });\r\n              const pdfItemWidth = this.pdfBoxWidthOrigin * this.styleObj.width / 100;\r\n              const scale = Number(pdfItemWidth / viewport.width).toFixed(2);\r\n              console.log(\"viewport.height:\", viewport.height * scale)\r\n              const pdfItemHeight1 = viewport.height * scale;\r\n              const pdfItemWidth1 = viewport.width * scale;\r\n              this.pdfItemWidthHeightCache[i] = {\r\n                width: pdfItemWidth1,\r\n                height: pdfItemHeight1\r\n              };\r\n              this.pdfItemWidthHeightCacheOrigin[i] = {\r\n                width: pdfItemWidth1,\r\n                height: pdfItemHeight1\r\n              }\r\n            }\r\n            this.calcuLatePdfItemStyle();\r\n            await this.renderPages(1, start);\r\n            const pdfItem = document.getElementsByClassName(\"pdf-item\")[0];\r\n            this.pdfItemHeightOrigin = pdfItem.offsetHeight;\r\n            this.pdfItemWidthOrigin = pdfItem.offsetWidth;\r\n            this.cutHeight = (document.documentElement.clientHeight - 65) * 0.5;\r\n            console.log(this.pdfItemHeightOrigin, this.pdfItemWidthOrigin);\r\n            if(!this.isMobile) {\r\n              const start1 = Math.min(this.numPages, this.thumbnailEnd);\r\n              await this.renderPagesThumbnail(1, start1);\r\n            }\r\n          }\r\n        })\r\n        .catch(function(reason) {\r\n          console.error(\"Error: \" + reason);\r\n        });\r\n    },\r\n    // 全屏\r\n    fullScreenToggle() {\r\n      const $pdf = this.$el;\r\n      if (this._checkFull()) {\r\n        const eventOut =\r\n          document.cancelFullScreen ||\r\n          document.webkitCancelFullScreen ||\r\n          document.mozCancelFullScreen ||\r\n          document.msExitFullScreen;\r\n        if (typeof eventOut !== \"undefined\" && eventOut) {\r\n          eventOut.call(document);\r\n        }\r\n        this.isFullScreen = false;\r\n      } else {\r\n        if ($pdf.requestFullscreen) {\r\n          $pdf.requestFullscreen();\r\n        } else if ($pdf.webkitRequestFullscreen) {\r\n          $pdf.webkitRequestFullscreen();\r\n        } else if ($pdf.mozRequestFullscreen) {\r\n          $pdf.mozRequestFullscreen();\r\n        } else if ($pdf.msRequestFullscreen()) {\r\n          $pdf.msRequestFullscreen();\r\n        } else {\r\n          this.$message.warning(\"该浏览器不支持全屏！\");\r\n          this.isFullScreen = false;\r\n          return;\r\n        }\r\n        this.isFullScreen = true;\r\n        setTimeout(() => {\r\n          const pdfItem = document.getElementsByClassName(\"pdf-item\")[0];\r\n          const pdfItemStyle = getComputedStyle(pdfItem);\r\n          this.pageMargin = parseInt(pdfItemStyle.marginBottom);\r\n          this.cutHeight = (document.documentElement.clientHeight - 65) * 0.5;\r\n          this.pdfItemHeight = pdfItem.offsetHeight + this.pageMargin;\r\n          const pdfBox = document.getElementById(this.pdfBoxId);\r\n          this.currentPageNum = Math.ceil(\r\n            (pdfBox.scrollTop + this.cutHeight) / this.pdfItemHeight\r\n          );\r\n        }, 200);\r\n      }\r\n    },\r\n    // 检查是否为全屏状态\r\n    _checkFull() {\r\n      let isFull =\r\n        document.fullscreenElement ||\r\n        document.mozFullScreenElement ||\r\n        document.webkitFullscreenElement ||\r\n        document.msFullscreenElement;\r\n      if (isFull === undefined) isFull = false;\r\n      return isFull;\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.my-pdf {\r\n    position: absolute;\r\n    top: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n.top-bar {\r\n  width: 100%;\r\n  height: 60px;\r\n  padding: 0 20px;\r\n  position: fixed;\r\n  z-index: 99;\r\n  top: 0;\r\n  background: #323639;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.5);\r\n  .name {\r\n    color: #fff;\r\n    font-size: 16px;\r\n    line-height: 16px;\r\n    display: flex;\r\n    align-items: center;\r\n    position: absolute;\r\n    left: 20px;\r\n  }\r\n  .logo {\r\n    width: 24px;\r\n    height: 24px;\r\n    margin-right: 10px;\r\n  }\r\n}\r\n/deep/ .el-input__inner {\r\n  font-size: 14px;\r\n}\r\n.progress {\r\n  position: absolute;\r\n  right: 50%;\r\n  top: 50%;\r\n  text-align: center;\r\n}\r\n.progress > span {\r\n  color: #199edb;\r\n  font-size: 14px;\r\n}\r\n\r\n.pdf-item {\r\n  // margin: 0 auto;\r\n  // text-align: center;\r\n  // width: 80%;\r\n  overflow: hidden;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  margin-top: 10px;\r\n  img {\r\n    // width: 100%;\r\n  }\r\n  .pdf-item-none {\r\n    background-color: #fff;\r\n  }\r\n}\r\n.pdf-box {\r\n  width: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n  flex: 1;\r\n  height: 100%;\r\n  overflow-y: auto;\r\n  display: block;\r\n  background-color: #525659;\r\n}\r\n/deep/ .my-dialog-content-box {\r\n  // padding: 0 112px !important;\r\n  background: #323639;\r\n  position: relative;\r\n  top: 60px;\r\n  height: calc(100% - 60px);\r\n  width: 100%;\r\n  display: flex;\r\n  .thumbnail-container {\r\n    width: 245px;\r\n    overflow-y: auto;\r\n    // padding: 20px 70px;\r\n    text-align: center;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    .thumbnail {\r\n      cursor: pointer;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      .index {\r\n        color: #fff;\r\n        padding-bottom: 5px;\r\n        text-align: center;\r\n        font-size: 12px;\r\n      }\r\n      .currentPage {\r\n        border: 3px solid #8ab4f8;\r\n      }\r\n      .otherPage {\r\n        border: 3px solid transparent;\r\n      }\r\n      .thumbnail_none {\r\n        background-color: #fff;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        color: #ccc;\r\n        font-size: 12px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.pdf-box::-webkit-scrollbar {\r\n  display: block;\r\n}\r\n.pagination {\r\n    height: 100%;\r\n    z-index: 3000;\r\n    display: flex;\r\n    align-items: center;\r\n    .page {\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        cursor: pointer;\r\n        i {\r\n            color:  #BCC4C8\r\n        }\r\n    }\r\n    .pre-page {\r\n        width: 24px;\r\n        height: 24px;\r\n        background: #3A474E;\r\n        border-radius: 4px 0px 0px 4px;\r\n        margin-right: 1px;\r\n    }\r\n    .current-page {\r\n        width: 48px;\r\n        height: 24px;\r\n        background: #3A474E;\r\n        border-radius: 0px 0px 0px 0px;\r\n        margin-right: 1px;\r\n    }\r\n    .next-page {\r\n        width: 24px;\r\n        height: 24px;\r\n        background: #3A474E;\r\n        border-radius: 0px 4px 4px 0px;\r\n    }\r\n    .total-page {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #BCC4C8;\r\n        line-height: 36px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        text-transform: none;\r\n        padding: 0 20px 0 10px;\r\n    }\r\n    .zoom {\r\n      padding: 0 20px;\r\n      border-left: 1px solid #777;\r\n      border-right: 1px solid #777;\r\n      color: #fff;\r\n      i {\r\n        cursor: pointer;\r\n        user-select: none;\r\n        -webkit-user-select: none;\r\n        -moz-user-select: none;\r\n        -ms-user-select: none;\r\n      }\r\n      .curentPer {\r\n        width: 50px;\r\n        display: inline-block;\r\n        text-align: center;\r\n        margin: 0 5px;\r\n        /deep/ .el-input__inner {\r\n          background-color: #1e1e1e;\r\n          border-radius: 0;\r\n          height: 24px;\r\n          line-height: 24px;\r\n        }\r\n      }\r\n    }\r\n    .rotate {\r\n      width: 16px;\r\n      height: 16px;\r\n      margin-left: 20px;\r\n      cursor: pointer;\r\n    }\r\n    /deep/ .el-input-number {\r\n        width: 48px;\r\n        height: 24px;\r\n        vertical-align: middle\r\n    }\r\n    /deep/ .el-input {\r\n        height: 100%;\r\n        line-height: 24px;\r\n    }\r\n    /deep/ .el-input__inner {\r\n        height: 24px;\r\n        line-height: 24px;\r\n        padding: 5px;\r\n        border: none;\r\n        background-color: transparent;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: rgba(255,255,255,0.8);\r\n        line-height: 24px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        text-transform: none;\r\n    }\r\n    /deep/ .el-input-group__append {\r\n      border: none;\r\n      background-color: transparent;\r\n      color: rgba(255,255,255,0.8);\r\n      padding: 0;\r\n    }\r\n}\r\n.operates {\r\n  text-align: right;\r\n  position: absolute;\r\n  right: 20px;\r\n  display: flex;\r\n  align-items: center;\r\n  .download {\r\n    padding-right: 20px;\r\n    cursor: pointer;\r\n    color: #fff;\r\n  }\r\n  .operate {\r\n    width: 28px;\r\n    height: 28px;\r\n    background: #ffffff;\r\n    box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.05);\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n  }\r\n}\r\n.pdf_btn {\r\n  height: 46px;\r\n  line-height: 46px;\r\n  width: 100%;\r\n  position: absolute;\r\n  top: 63px;\r\n  left: 0;\r\n  background-color: #fff;\r\n  z-index: 3000;\r\n  border-top: 1px solid #dcdee2;\r\n  box-shadow: 0 1px 3px #e8eaec;\r\n  padding: 0 20px;\r\n  display: flex;\r\n  justify-content: space-between;\r\n}\r\n.custom-button {\r\n  width: 90px;\r\n  height: 46px;\r\n  line-height: 46px;\r\n  font-size: 14px;\r\n  display: flex;\r\n  padding: 0;\r\n  justify-content: center;\r\n  margin: 0 16px;\r\n}\r\n*::-webkit-scrollbar {\r\n  /*滚动条整体样式*/\r\n  width: 0px;\r\n  height: 8px;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 4px;\r\n  background: #64afd5;\r\n}\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 0;\r\n  background: #eaedef;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/ReadPdf.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-pdf\"},[_c('div',{staticClass:\"top-bar\"},[_c('div',{staticClass:\"name\",attrs:{\"id\":_vm.pdfId}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"@/assets/img/read-logo-overseas.svg\")}}),_vm._v(\"\\n      \"+_vm._s(_vm.name)+\"\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"pagination\"},[_c('div',{staticClass:\"page pre-page\",on:{\"click\":_vm.prePage}},[_c('i',{staticClass:\"el-icon-caret-left\"})]),_vm._v(\" \"),_c('div',{staticClass:\"current-page\"},[_c('el-input-number',{attrs:{\"controls\":false,\"min\":1,\"max\":_vm.numPages},on:{\"change\":_vm.pageNumChange},model:{value:(_vm.currentPageNum),callback:function ($$v) {_vm.currentPageNum=$$v},expression:\"currentPageNum\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"page next-page\",on:{\"click\":_vm.nextPage}},[_c('i',{staticClass:\"el-icon-caret-right\"})]),_vm._v(\" \"),_c('div',{staticClass:\"total-page\"},[_vm._v(\"of \"+_vm._s(_vm.numPages))]),_vm._v(\" \"),_c('div',{staticClass:\"zoom\"},[_c('i',{staticClass:\"el-icon-plus\",on:{\"click\":function($event){return _vm.changeSize('big')}}}),_vm._v(\" \"),_c('span',{staticClass:\"curentPer\"},[_c('el-input',{on:{\"change\":_vm.inputSize},model:{value:(_vm.sizePercentShow),callback:function ($$v) {_vm.sizePercentShow=$$v},expression:\"sizePercentShow\"}},[_c('template',{slot:\"append\"},[_vm._v(\" %\")])],2)],1),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-minus\",on:{\"click\":function($event){return _vm.changeSize('small')}}})]),_vm._v(\" \"),_c('img',{staticClass:\"rotate\",attrs:{\"src\":require(\"@/assets/img/pdf-rotate.svg\")},on:{\"click\":_vm.changeRotate}})]),_vm._v(\" \"),_c('div',{staticClass:\"operates\"},[(_vm.canDownload == 1)?_c('div',{staticClass:\"download\",on:{\"click\":_vm.fileDownload}},[_vm._v(\"下载PDF\")]):_vm._e(),_vm._v(\" \"),(!_vm.showModeHover && _vm.mode == 'white')?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterMode,\"click\":function($event){return _vm.changeMode('black')}}}):_vm._e(),_vm._v(\" \"),(_vm.showModeHover && _vm.mode == 'white')?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-hover.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveMode,\"click\":function($event){return _vm.changeMode('black')}}}):_vm._e(),_vm._v(\" \"),(!_vm.showModeHover && _vm.mode == 'black')?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-black.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterMode,\"click\":function($event){return _vm.changeMode('white')}}}):_vm._e(),_vm._v(\" \"),(_vm.showModeHover && _vm.mode == 'black')?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-hover-black.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveMode,\"click\":function($event){return _vm.changeMode('white')}}}):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"my-dialog-content-box\"},[(!_vm.isMobile)?_c('div',{staticClass:\"thumbnail-container\",style:({ marginTop: _vm.currentPageNum == 1 ? '5px' : '' }),attrs:{\"id\":_vm.thumbnailContainerId}},_vm._l((_vm.numPages),function(page){return _c('div',{key:'thumbnail' + page,staticClass:\"thumbnail\",attrs:{\"id\":'thumbnail' + page},on:{\"click\":function($event){return _vm.pageNumChange(page, false)}}},[(_vm.pageCacheThumbnail[page])?_c('img',{class:_vm.currentPageNum == page ? 'currentPage' : 'otherPage',attrs:{\"src\":_vm.pageCacheThumbnail[page],\"alt\":\"Cached Page\"}}):_c('div',{staticClass:\"thumbnail_none\",style:({ width: _vm.thumbnailWidth > 0 ? _vm.thumbnailWidth + 'px' : _vm.$px2rem(100), height: _vm.thumbnailHeight > 0 ? _vm.thumbnailHeight + 'px' : _vm.$px2rem(150) })},[_vm._v(\"\\n          加载中...\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"index\"},[_vm._v(_vm._s(page))])])}),0):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"pdf-box\",style:({\n        background: _vm.mode == 'white' ? '#F4F6F6' : '#525659',\n        color: _vm.mode == 'white' ? '#292929' : '#fff',\n      }),attrs:{\"id\":_vm.pdfBoxId}},_vm._l((_vm.numPages),function(page){return _c('div',{key:page + 'page',staticClass:\"pdf-item\",style:({ minWidth: _vm.pdfBoxWidthOrigin + 'px', width: _vm.maxWidth + 'px', height: _vm.currentRotate ==0 || _vm.currentRotate == 180 ? _vm.pdfItemWidthHeightCache[page] ? _vm.pdfItemWidthHeightCache[page].height + 'px' : 0 : _vm.pdfItemWidthHeightCache[page] ? _vm.pdfItemWidthHeightCache[page].width + 'px' : 0, transform: (\"rotate(\" + (0) + \"deg)\")}),attrs:{\"id\":page}},[(_vm.pageCache[page])?_c('img',{style:({ width: _vm.pdfItemWidthHeightCache[page] ? _vm.pdfItemWidthHeightCache[page].width + 'px' : 0, height: _vm.pdfItemWidthHeightCache[page] ? _vm.pdfItemWidthHeightCache[page].height + 'px' : 0, transform: (\"rotate(\" + _vm.currentRotate + \"deg)\")  }),attrs:{\"src\":_vm.pageCache[page],\"alt\":\"Cached Page\"}}):_c('div',{directives:[{name:\"loading\",rawName:\"v-loading.fullscreen.lock\",value:(true),expression:\"true\",modifiers:{\"fullscreen\":true,\"lock\":true}}],staticClass:\"pdf-item-none\",style:({ width: _vm.pdfItemWidthHeightCache[page] ? _vm.pdfItemWidthHeightCache[page].width + 'px' : 0, height: _vm.pdfItemWidthHeightCache[page] ? _vm.pdfItemWidthHeightCache[page].height + 'px' : 0 })})])}),0)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-52730494\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ReadPdf.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-52730494\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ReadPdf.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ReadPdf.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ReadPdf.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-52730494\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./ReadPdf.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-52730494\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/ReadPdf.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMzcHgiIGhlaWdodD0iMzNweCIgdmlld0JveD0iMCAwIDMzLjAgMzMuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQwJSIgeT0iLTQwJSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB3aWR0aD0iMTYyLjIyMjIyMiUiIGhlaWdodD0iMTYyLjIyMjIyMiUiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJpMiI+PC9mZUdhdXNzaWFuQmx1cj48ZmVPZmZzZXQgZHg9IjIiIGR5PSIyIiBpbj0iaTIiIHJlc3VsdD0iaTMiPjwvZmVPZmZzZXQ+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjA1IDAiIHR5cGU9Im1hdHJpeCIgaW49ImkzIj48L2ZlQ29sb3JNYXRyaXg+PC9maWx0ZXI+PGNsaXBQYXRoIGlkPSJpNCI+PHBhdGggZD0iTTE2LjUsMCBDMjUuNjEyNjk4NCwwIDMzLDcuMzg3MzAxNjMgMzMsMTYuNSBDMzMsMjUuNjEyNjk4NCAyNS42MTI2OTg0LDMzIDE2LjUsMzMgQzcuMzg3MzAxNjMsMzMgMCwyNS42MTI2OTg0IDAsMTYuNSBDMCw3LjM4NzMwMTYzIDcuMzg3MzAxNjMsMCAxNi41LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01Ny4wIC0yNjEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkwLjAgMjYxLjApIHNjYWxlKC0xLjAgMS4wKSI+PGcgb3BhY2l0eT0iMSUiPjxwYXRoIGQ9Ik0xNi41LDMzIEMyNS42MTI2OTg0LDMzIDMzLDI1LjYxMjY5ODQgMzMsMTYuNSBDMzMsNy4zODczMDE2MyAyNS42MTI2OTg0LDAgMTYuNSwwIEM3LjM4NzMwMTYzLDAgMCw3LjM4NzMwMTYzIDAsMTYuNSBDMCwyNS42MTI2OTg0IDcuMzg3MzAxNjMsMzMgMTYuNSwzMyBaIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiIGZpbHRlcj0idXJsKCNpMSkiPjwvcGF0aD48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAzMywwIDMzLDMzIDAsMzMgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNGRkZGRkYiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjM1MTQ1ODg4NTk0MTc2NCAyNS4wMzQ0ODI3NTg2MjA2OCkgcm90YXRlKDkwLjApIHNjYWxlKC0xLjAgMS4wKSI+PHBhdGggZD0iTTE3LjA2ODk2NTUsMCBMOC41MzQwOTMzMiw3Ljk2NTUxNzI0IEwwLDAiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/go_button_cultrue.svg\n// module id = F+9a\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"content-box big-view bg-white full\"\r\n    :class=\"[fullscreen ? 'full' : '', pageName == 'black' ? 'bgShadow' : '']\"\r\n    v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n    <div class=\"nav\"\r\n      @click=\"back\">\r\n      <img src=\"@/assets/img/culture_back.svg\"\r\n        v-if=\"case_tag_type == 1\" />\r\n      <img src=\"@/assets/img/think_back.svg\"\r\n        v-if=\"case_tag_type == 2\" />\r\n      <img src=\"@/assets/img/behavior_back.svg\"\r\n        v-if=\"case_tag_type == 3\" />\r\n      <img src=\"@/assets/img/personality_back.svg\"\r\n        v-if=\"case_tag_type == 4\" />\r\n      <span class=\"experienceType\"\r\n        v-if=\"case_tag_type == 1\">文化</span>\r\n      <span class=\"experienceType\"\r\n        v-if=\"case_tag_type == 2\">思维 &bull; 观念</span>\r\n      <span class=\"experienceType\"\r\n        v-if=\"case_tag_type == 3\">行为 &bull; 习惯</span>\r\n      <span class=\"experienceType\"\r\n        v-if=\"case_tag_type == 4\">性格 &bull; 人格</span>\r\n    </div>\r\n    <div class=\"tips\"\r\n      ref=\"tips\">\r\n      <el-card class=\"box-card\"\r\n        v-for=\"(item, index) in datas\"\r\n        :key=\"'box' + index\">\r\n        <div>\r\n          <div class=\"header\"\r\n            @click=\"toDetail(item)\">\r\n            <span class=\"title ellipsis-content\">{{\r\n              item.experience_title\r\n            }}</span>\r\n            <p class=\"subtitle ellipsis-content\">{{ item.course_name }}</p>\r\n          </div>\r\n          <div class=\"tip\"\r\n            @click=\"toDetail(item)\">\r\n            <span class=\"content ellipsis-content\">{{ item.experience_content }}\r\n            </span>\r\n            <div class=\"tag-wrapper\">\r\n              <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\">{{ item.experience_tag_title }}</div>\r\n              <div class=\"time\" style=\"min-width: 20px;\">{{ item.updateTime }}</div>\r\n            </div>\r\n          </div>\r\n          <div class=\"footer\">\r\n            <div class=\"avatar\"\r\n              @click=\"toDetail(item)\">\r\n              <img :src=\"\r\n                  item.user_headimage\r\n                    ? require('@/assets/img/avatarList/' + item.user_headimage)\r\n                    : require('@/assets/img/avatarList/headimage1.png')\r\n                \" />\r\n              <span class=\"nickname\">{{ item.user_nickname }}</span>\r\n            </div>\r\n            <div class=\"like\"\r\n              v-if=\"course_isuseradd != 3\">\r\n              <span class=\"num\"\r\n                @click=\"toDetail(item)\">{{\r\n                item.experience_collection_num\r\n              }}</span>\r\n              <img v-if=\"item.experience_iscollection == '1'\"\r\n                src=\"@/assets/img/collected.svg\"\r\n                @click=\"addUserCollection(item, 2)\" />\r\n              <img v-else\r\n                src=\"@/assets/img/not_collect.svg\"\r\n                @click=\"addUserCollection(item, 1)\" />\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </el-card>\r\n      <p v-if=\"loading && datas.length\"\r\n        class=\"loading\">加载中...</p>\r\n      <p v-if=\"noMore && datas.length\"\r\n        class=\"loading\">--到底啦--</p>\r\n    </div>\r\n    <NoData v-if=\"!loading && datas.length === 0\" />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getWhiteExperienceList } from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport NoData from \"@/components/NoData\";\r\nimport { ensurePngSuffix } from \"@/utils/util.js\";\r\nexport default {\r\n  components: { NoData },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      datas: [],\r\n      loading: false,\r\n      noMore: false,\r\n      page: 0,\r\n      pageSize: 10,\r\n      courseId: \"\",\r\n      isActivated: true,\r\n      experienceTagType: \"\",\r\n      // 上一页是否是用户心得\r\n      experience_isuseradd: null,\r\n      course_isuseradd: 2,\r\n      case_tag_type: 1\r\n    };\r\n  },\r\n  computed: {\r\n    caseInfo() {\r\n      return this.$store.getters.caseInfo;\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n  },\r\n  watch: {\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        this.course_isuseradd = this.courseBase.course_isuseradd;\r\n      },\r\n    },\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    if (to.name == \"index\") {\r\n      EventBus.$emit(\"setBlackTheme\", \"black\");\r\n    }\r\n    next();\r\n  },\r\n  methods: {\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n    init() {\r\n      this.datas = [];\r\n      this.page = 0;\r\n      this.noMore = false;\r\n      this.loading = false;\r\n    },\r\n    load() {\r\n      console.log(\"load:\", this.noMore, this.loading);\r\n      if (this.noMore || this.loading) {\r\n        return;\r\n      }\r\n      this.page += 1;\r\n      console.log(\"getWhiteExperienceList\")\r\n      this.getWhiteExperienceList();\r\n    },\r\n    // 查看详情\r\n    toDetail(data) {\r\n      if (this.pageName == \"black\") {\r\n        let timeout = setTimeout(() => {\r\n          EventBus.$emit(\"setBlackTheme\", \"white\");\r\n          clearTimeout(timeout);\r\n        }, 100);\r\n      }\r\n      this.$router.push({\r\n        path: \"/white/EditTips\",\r\n        query: {\r\n          experience_id: data.experience_id,\r\n          experience_isuseradd: data.experience_isuseradd,\r\n        },\r\n      });\r\n    },\r\n    async getWhiteExperienceList() {\r\n      try {\r\n        this.loading = true;\r\n        let params = {\r\n          experience_tag_type: this.case_tag_type,\r\n          course_id: this.courseId,\r\n          page: this.page,\r\n          pageSize: this.pageSize,\r\n          course_isuseradd: this.course_isuseradd,\r\n          experience_isuseradd: this.experience_isuseradd,\r\n          is_new: 1\r\n        };\r\n        console.log(\"getWhiteExperienceList1111:\", params)\r\n        const res = await getWhiteExperienceList(params);\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          if (data && data.length) {\r\n            const experience_isuseradd = data[0].experience_isuseradd;\r\n            this.experience_isuseradd = experience_isuseradd;\r\n            if (this.experience_isuseradd != 2 && experience_isuseradd == 2) {\r\n              // 如果返回的是官方心得，则刷新重置清除原来用户的数据，显示第一页官方数据\r\n              this.datas = [];\r\n              this.page = 0;\r\n              this.experience_isuseradd = 2;\r\n            }\r\n          }\r\n          data.forEach((item) => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n            item.user_headimage = ensurePngSuffix(item.user_headimage);\r\n          });\r\n          this.datas.push(...data);\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n        this.loading = false;\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    if (this.pageName == \"black\") {\r\n      let timeout = setTimeout(() => {\r\n        EventBus.$emit(\"setBlackTheme\", \"white\");\r\n        clearTimeout(timeout);\r\n      }, 100);\r\n    }\r\n    this.isActivated = true;\r\n    this.case_tag_type = this.$route.query.case_tag_type;\r\n    this.course_isuseradd = this.$route.query.course_case_isuseradd;\r\n    this.experience_isuseradd = this.$route.query.course_case_isuseradd;\r\n    this.experienceTagType = this.case_tag_type;\r\n    this.courseId = this.$route.query.course_id;\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    this.fullscreen = true;\r\n    if (this.pageName == \"black\") {\r\n      let timeout = setTimeout(() => {\r\n        EventBus.$emit(\"setBlackTheme\", \"white\");\r\n        clearTimeout(timeout);\r\n      }, 100);\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.full {\r\n  width: 100%;\r\n  height: 100%;\r\n  padding: 51px 32px 20px 22px;\r\n  background: #eaedef;\r\n}\r\n.content-box {\r\n  border-radius: 0;\r\n  z-index: 1000;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.nav {\r\n  padding-left: 17px;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #292929;\r\n  line-height: 24px;\r\n  height: 22px;\r\n  display: flex;\r\n  align-items: center;\r\n  img {\r\n    margin-right: 13px;\r\n    cursor: pointer;\r\n    width: 12px;\r\n    height: 22px;\r\n  }\r\n  span {\r\n    cursor: pointer;\r\n  }\r\n}\r\n.tips {\r\n  // padding: 27px 0;\r\n  flex: 1;\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  flex-wrap: wrap;\r\n  align-content: baseline;\r\n  // height: 100%;\r\n  max-height: 100%;\r\n  overflow-y: auto;\r\n  width: 100%;\r\n  margin-top: 23px;\r\n  padding-bottom: 50px;\r\n  /deep/ .el-card__body {\r\n    padding: 0;\r\n  }\r\n  .box-card {\r\n    // min-width: 340px;\r\n    // max-width: 500px;\r\n    // width: 30%;\r\n    margin-bottom: 20px;\r\n    margin-left: 10px;\r\n    cursor: pointer;\r\n    border-radius: 8px;\r\n    width: 306px;\r\n  }\r\n  .header {\r\n    padding: 20px 20px 10px 20px;\r\n    .title {\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #292929;\r\n      line-height: 18px;\r\n      -webkit-line-clamp: 1;\r\n      height: 18px;\r\n      overflow-y: auto;\r\n    }\r\n    .subtitle {\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #bcc4c8;\r\n      line-height: 18px;\r\n      padding-top: 7px;\r\n      -webkit-line-clamp: 1;\r\n    }\r\n  }\r\n  .tip {\r\n    padding: 10px 0 7px 0;\r\n    border-top: 1px solid #f3f3f4;\r\n    border-bottom: 1px solid #f3f3f4;\r\n    .content {\r\n      height: 40px;\r\n      padding: 0 20px;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 20px;\r\n      max-height: 40px;\r\n      overflow-y: hidden;\r\n      margin-bottom: 10px;\r\n      -webkit-line-clamp: 2;\r\n    }\r\n    .tag-wrapper {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      padding: 0 20px;\r\n      .time {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #d4d9db;\r\n        line-height: 18px;\r\n      }\r\n    }\r\n    .tag {\r\n      width: 72px;\r\n      height: 23px;\r\n      border-radius: 4px;\r\n      border: 1px solid #FFB096;\r\n      line-height: 23px;\r\n      text-align: center;\r\n      padding-left: 15px;\r\n      position: relative;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #FFB096;\r\n      line-height: 12px;\r\n      display: flex;\r\n      align-items: center;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 5px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: #FFB096;\r\n      }\r\n    }\r\n  }\r\n  .footer {\r\n    padding: 4px 20px 8px;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    .avatar {\r\n      display: flex;\r\n      align-items: center;\r\n      height: 41px;\r\n      line-height: 41px;\r\n      .nickname {\r\n        padding-left: 5px;\r\n      }\r\n      img {\r\n        width: 41px;\r\n        height: 41px;\r\n        border-radius: 50%;\r\n      }\r\n    }\r\n    .like {\r\n      display: flex;\r\n      align-items: center;\r\n      .num {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #bcc4c8;\r\n        line-height: 18px;\r\n        padding-left: 10px;\r\n        padding-right: 10px;\r\n      }\r\n      img {\r\n        width: 23px;\r\n        height: 21px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.loading {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 26px;\r\n  width: 100%;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/TipsList.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"content-box big-view bg-white full\",class:[_vm.fullscreen ? 'full' : '', _vm.pageName == 'black' ? 'bgShadow' : ''],attrs:{\"infinite-scroll-distance\":1}},[_c('div',{staticClass:\"nav\",on:{\"click\":_vm.back}},[(_vm.case_tag_type == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_back.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 2)?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_back.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 3)?_c('img',{attrs:{\"src\":require(\"@/assets/img/behavior_back.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 4)?_c('img',{attrs:{\"src\":require(\"@/assets/img/personality_back.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 1)?_c('span',{staticClass:\"experienceType\"},[_vm._v(\"文化\")]):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 2)?_c('span',{staticClass:\"experienceType\"},[_vm._v(\"思维 • 观念\")]):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 3)?_c('span',{staticClass:\"experienceType\"},[_vm._v(\"行为 • 习惯\")]):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 4)?_c('span',{staticClass:\"experienceType\"},[_vm._v(\"性格 • 人格\")]):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"tips\",staticClass:\"tips\"},[_vm._l((_vm.datas),function(item,index){return _c('el-card',{key:'box' + index,staticClass:\"box-card\"},[_c('div',[_c('div',{staticClass:\"header\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('span',{staticClass:\"title ellipsis-content\"},[_vm._v(_vm._s(item.experience_title))]),_vm._v(\" \"),_c('p',{staticClass:\"subtitle ellipsis-content\"},[_vm._v(_vm._s(item.course_name))])]),_vm._v(\" \"),_c('div',{staticClass:\"tip\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('span',{staticClass:\"content ellipsis-content\"},[_vm._v(_vm._s(item.experience_content)+\"\\n          \")]),_vm._v(\" \"),_c('div',{staticClass:\"tag-wrapper\"},[_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"}},[_vm._v(_vm._s(item.experience_tag_title))]),_vm._v(\" \"),_c('div',{staticClass:\"time\",staticStyle:{\"min-width\":\"20px\"}},[_vm._v(_vm._s(item.updateTime))])])]),_vm._v(\" \"),_c('div',{staticClass:\"footer\"},[_c('div',{staticClass:\"avatar\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('img',{attrs:{\"src\":item.user_headimage\n                  ? require('@/assets/img/avatarList/' + item.user_headimage)\n                  : require('@/assets/img/avatarList/headimage1.png')}}),_vm._v(\" \"),_c('span',{staticClass:\"nickname\"},[_vm._v(_vm._s(item.user_nickname))])]),_vm._v(\" \"),(_vm.course_isuseradd != 3)?_c('div',{staticClass:\"like\"},[_c('span',{staticClass:\"num\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_vm._v(_vm._s(item.experience_collection_num))]),_vm._v(\" \"),(item.experience_iscollection == '1')?_c('img',{attrs:{\"src\":require(\"@/assets/img/collected.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(item, 2)}}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/not_collect.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(item, 1)}}})]):_vm._e()])])])}),_vm._v(\" \"),(_vm.loading && _vm.datas.length)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMore && _vm.datas.length)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],2),_vm._v(\" \"),(!_vm.loading && _vm.datas.length === 0)?_c('NoData'):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-16c0ebec\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/TipsList.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-16c0ebec\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TipsList.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-16c0ebec\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TipsList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-16c0ebec\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/TipsList.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIycHgiIGhlaWdodD0iMTJweCIgdmlld0JveD0iMCAwIDIyLjAgMTIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQyOS4wIC0zODAuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0NC41IDExNS4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjg1Ljc5MTI2MjEzNTkyMjM1IDI2Ni4wMDExNDA3NzExNjEzKSI+PHBhdGggZD0iTTE5LjQxNzQ3NTcsMCBMOS43MDgyOTQ4NSw5Ljk5NzcxODQ2IEwwLDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/medidate_more_down_1.svg\n// module id = F664\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTIzLjUxIDMwLjkiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO30uY2xzLTJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoKTt9LmNscy0ze2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0yKTt9LmNscy00e2ZpbGw6IzYzYWZkNTt9LmNscy01e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0zKTt9LmNscy02e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC00KTt9LmNscy03e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC01KTt9LmNscy04e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC02KTt9LmNscy05e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC03KTt9LmNscy0xMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtOCk7fS5jbHMtMTF7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTkpO30uY2xzLTEye2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMCk7fS5jbHMtMTN7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTExKTt9LmNscy0xNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTIpO30uY2xzLTE1e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMyk7fS5jbHMtMTZ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE0KTt9LmNscy0xN3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTUpO30uY2xzLTE4e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xNik7fS5jbHMtMTl7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE3KTt9LmNscy0yMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTgpO30uY2xzLTIxe2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xOSk7fS5jbHMtMjJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIwKTt9LmNscy0yM3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMjEpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTI0IiBoZWlnaHQ9IjMyIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIzOC4xNiIgeT0iMjcuMDUiIHdpZHRoPSI2LjkiIGhlaWdodD0iMC42Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTEuNDQsMjUuOHY0LjdoLS41VjI1LjhabS0uMi0yLjIuNS4yYy0uMS4xLS4xLjItLjIuM2E5LDksMCwwLDAsMy4zLDIuNSwxLDEsMCwwLDAtLjQuNSwxMS4xMSwxMS4xMSwwLDAsMS0zLjItMi42QTcuNzgsNy43OCwwLDAsMSw0OCwyN2wtLjQtLjRBNy4xNiw3LjE2LDAsMCwwLDUxLjI0LDIzLjZaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC00IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEuNTgsMjMuODl2MS41aDIuN3YuNWgtMi43djEuN0g2NHYuNWgtMi40djJoM3YuNUg1OFYzMGgzVjI4aC0yLjJ2LS40SDYxdi0xLjdoLTEuN2MtLjMuNC0uNi45LS44LDEuMi0uMS0uMS0uNC0uMi0uNS0uM2E3LjM3LDcuMzcsMCwwLDAsMS40LTIuOGwuNS4xYy0uMS41LS4zLjktLjQsMS4zSDYxdi0xLjVaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC01IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNzMuOTQsMjYuN3YyLjFhLjQ2LjQ2LDAsMCwxLS4zLjUsMi41MywyLjUzLDAsMCwxLTEuMS4xLDQuMzMsNC4zMywwLDAsMS0uMS0uNWguOWMuMSwwLC4xLDAsLjEtLjFWMjcuMmgtMS41djMuM2gtLjRWMjYuN1ptLTMuMy4xdjIuNWgtMS43di42aC0uNVYyNi44Wm0tLjQuNGgtMS4zdjEuNmgxLjNabTEtMy42LjQuM2MwLC4xLS4xLjEtLjEuMmE3LjA1LDcuMDUsMCwwLDAsMy4xLDEuOWMtLjEsMC0uMy4yLS40LjRhNy44OSw3Ljg5LDAsMCwxLTMuMS0yLDYuNzIsNi43MiwwLDAsMS0zLjIsMiwxLjY5LDEuNjksMCwwLDAtLjItLjVBNi4yMSw2LjIxLDAsMCwwLDcxLjI0LDIzLjZabTEuNCwydi41aC0zdi0uNVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MS4zLDI2Ljl2LjhjMCwuOS0uMywyLTMuMSwyLjhsLS40LS40YzIuOC0uNywyLjktMS43LDIuOS0yLjR2LS44Wm0uNiwxLjR2MS4zYzAsLjIuMS4yLjQuMmgxLjNjLjMsMCwuNC0uMS40LS44YS43Ni43NiwwLDAsMCwuNS4yYy0uMi45LS4zLDEuMS0uOSwxLjFIODIuM2MtLjcsMC0uOS0uMS0uOS0uN1YyOC4zWm0xLjMtMi4ydjIuN2gtLjVWMjYuNkg3OS4zdjIuMmgtLjVWMjYuMVptMC0yLjUuNS4yYy0uMy40LS42LjgtLjgsMS4xaDEuNHYxLjVoLS42di0xSDc4LjR2MWgtLjVWMjQuOWgxLjNhNyw3LDAsMCwwLS44LTFsLjQtLjJhMy41MSwzLjUxLDAsMCwxLC44LDFsLS4zLjJoM0E2LDYsMCwwLDAsODMuMiwyMy42Wm0tMi40LDBhNi43Myw2LjczLDAsMCwxLC43LDEuMWwtLjUuMmE2LDYsMCwwLDAtLjYtMS4xWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTkwLjM3LDIzLjg5di40aC0xdjFoLjl2NWgtLjR2LS40aC0yLjF2LjZoLS40di01LjFoLjl2LTFoLTF2LS41Wm0uOCwyLjcuNC4xYTEuODUsMS44NSwwLDAsMC0uMi43aC44di0uN2guNXYuN2gxLjR2LjRoLTEuNXYuOGgxLjNWMjloLTEuM3YuOWgxLjZ2LjRoLTMuNnYtLjRoMS42VjI5SDkxdi0uNGgxLjJ2LS44aC0xYy0uMi4yLS4zLjUtLjUuN2ExLjM4LDEuMzgsMCwwLDAtLjQtLjNBNC4xNyw0LjE3LDAsMCwwLDkxLjE3LDI2LjU5Wm0tMS4zLDIuMWgtMi4xdi44aDIuMVptLS44LTIuOWgtLjV2LjZhMiwyLDAsMCwxLS42LDEuNWMwLS4xLS4xLS4xLS4yLS4ydi42aDIuMXYtLjZoLS40Yy0uMywwLS40LS4xLS40LS40Wm0tLjgsMGgtLjV2MS44YTEuMjIsMS4yMiwwLDAsMCwuNS0xLjJabTEuNiwwaC0uNXYxLjRjMCwuMSwwLC4xLjEuMWguNFptMy45LTEuOXYyLjZoLTN2LTIuNlptLS41LDEuNWgtMnYuN2gyWm0tNC4yLTFoLS41djFoLjVabTQuMi0uMWgtMlYyNWgyWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwMS41MSwyMy42bC41LjFjLS4xLjQtLjMuOC0uNCwxLjFoMi4zdi4zYy0uMSwzLjUtLjIsNC43LS41LDUuMWEuNzEuNzEsMCwwLDEtLjYuM2gtMS4xYS43Ni43NiwwLDAsMC0uMi0uNWgxLjJjLjIsMCwuMiwwLC4zLS4xLjItLjMuMy0xLjUuNC00LjZoLTJjLS4yLjUtLjUsMS0uNywxLjQtLjEtLjEtLjMtLjItLjQtLjNBOS4wOCw5LjA4LDAsMCwwLDEwMS41MSwyMy42Wm0tMi43LDAsLjUuMWMtLjEuNC0uMy44LS40LDEuMmgxLjN2NWgtMi4xdi42aC0uNVYyNC45aC44QTYuNDcsNi40NywwLDAsMCw5OC44MSwyMy42Wm0uOSwzLjloLTEuNnYxLjloMS43VjI3LjVabTEuOC0uOWExMy42LDEzLjYsMCwwLDEsMS4yLDEuN2wtLjQuM2E5LjM5LDkuMzksMCwwLDAtMS4yLTEuOFptLTEuOC0xLjNoLTEuNlYyN2gxLjdWMjUuM1oiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMTIuODUsMjQuMTd2Ni4zaC0uNVYzMGgtMy45di41SDEwOHYtNi4zWm0tLjUsMy4xaC0zLjl2Mi4yaDMuOHYtMi4yWm0wLTIuNmgtMy45djIuMWgzLjh2LTIuMVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIzLjE1LDI0LjE5djMuNGgtLjV2LS40aC0yLjN2Mi40YzAsLjMuMS40LjYuNGgxLjdjLjUsMCwuNi0uMi42LTEuM2EuNzYuNzYsMCwwLDAsLjUuMmMtLjEsMS4zLS4zLDEuNi0xLjEsMS42aC0xLjhjLS44LDAtMS0uMi0xLS45di0yLjloMi45di0yaC0zdi0uNVptLTQuNiwxLjl2My4zbC44LS42YS43Ni43NiwwLDAsMCwuMi40LDEwLjE5LDEwLjE5LDAsMCwwLTEuNiwxLjJjMC0uMS0uMS0uMi0uMi0uM2ExLjE0LDEuMTQsMCwwLDAsLjMtLjd2LTIuOGgtMS4ydi0uNVptLS43LTIuMmE2LjgxLDYuODEsMCwwLDEsMS4yLDEuMmwtLjQuMy0xLjItMS4yWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02Mi40NCwzLjk0YS41OC41OCwwLDAsMSwuNi42LjUzLjUzLDAsMCwxLS42LjZoLTEwYS42My42MywwLDAsMS0uNS0uNi41OC41OCwwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjQsOC42OGEuNi42LDAsMSwxLDAsMS4ySDYwdjYuNGEuNDMuNDMsMCwwLDAsLjQuNGguOGEyLjQzLDIuNDMsMCwwLDAsMi40LTIuNHYtMWEuNTguNTgsMCwwLDEsLjYtLjYuNTMuNTMsMCwwLDEsLjYuNnYxYTMuNTQsMy41NCwwLDAsMS0zLjUsMy41aC0uOGExLjcyLDEuNzIsMCwwLDEtMS42LTEuNlY5Ljc4aC0zLjJjLS4xLDQuNS0xLjUsNy00LjYsNy45SDUxYS42OC42OCwwLDAsMS0uNi0uNC41Ny41NywwLDAsMSwuNC0uNyw0LjI3LDQuMjcsMCwwLDAsMi45LTIuMyw5LjQ1LDkuNDUsMCwwLDAsLjktNC41aC0zLjVhLjU4LjU4LDAsMCwxLS42LS42LjYzLjYzLDAsMCwxLC42LS41WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik05OS4wNiw0YS42MS42MSwwLDAsMSwuOCwwbDEuNywxLjVhLjYxLjYxLDAsMCwxLDAsLjhjMCwuMS0uMi4xLS4zLjFhLjYuNiwwLDAsMS0uNC0uMWwtMS43LTEuNUEuNjIuNjIsMCwwLDEsOTkuMDYsNFoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAwLjksOGEuNTguNTgsMCwwLDEsLjYuNnY2LjFsLjctLjZjLjEtLjIuNC0uMS42LjFhLjYxLjYxLDAsMCwxLDAsLjhsLTMuMSwyLjdjLS4xLDAtLjMuMS0uNC4xYS41Mi41MiwwLDAsMS0uNC0uMi42MS42MSwwLDAsMSwwLS44bDEuNC0xLjJWOS4xMUg5OC4yYy0uNCwwLS42LS4yLS42LS41YS41My41MywwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTA2LjE1LDQuMTJoMy41YTEuNTQsMS41NCwwLDAsMSwxLjUsMS41djIuOGExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtNXY2LjNhLjQzLjQzLDAsMCwwLC40LjRoMy40YTIuNDMsMi40MywwLDAsMCwyLjQtMi40di0xYS42LjYsMCwwLDEsMS4yLDB2MWEzLjU0LDMuNTQsMCwwLDEtMy41LDMuNUgxMDVhMS4zOSwxLjM5LDAsMCwxLTEuNS0xLjRWOS40MmMwLS4zLjItLjUuNi0uNWg1LjZhLjQzLjQzLDAsMCwwLC40LS40VjUuNjJhLjQzLjQzLDAsMCwwLS40LS40aC01LjVhLjg2Ljg2LDAsMCwxLS42LS4zYy0uMi0uMi0uMS0uNS4yLS43aDBjLjEtLjEuMy0uMSwxLjEtLjFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTg1LjQxLDMuODFhMS41NCwxLjU0LDAsMCwxLDEuNSwxLjV2MTAuOWExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtOC41YTEuNTQsMS41NCwwLDAsMS0xLjUtMS41VjUuMzFhMS41NCwxLjU0LDAsMCwxLDEuNS0xLjVabTAsMS4xaC04LjVhLjQzLjQzLDAsMCwwLS40LjR2MTAuOWEuNDMuNDMsMCwwLDAsLjQuNGg4LjVhLjQzLjQzLDAsMCwwLC40LS40VjUuMzFBLjQzLjQzLDAsMCwwLDg1LjQxLDQuOTFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTc3LjgsOS4yOGgwbDcsMS42YS40NC40NCwwLDAsMSwuNC42LjU0LjU0LDAsMCwxLS41LjVoLS4xbC03LTEuNmEuNTcuNTcsMCwwLDEtLjQtLjdjLjEtLjMuNC0uNS42LS40WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjEyMS43OSIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSI0MC41MyIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTQuNTUuNmExLjE3LDEuMTcsMCwwLDEsMS4xLjlWNy4xbDUuNy0xLjVoLjNhMS4xMSwxLjExLDAsMCwxLDEuMSwxLjFWMjYuMmEyLDIsMCwwLDEtMS40LDEuOUw4LjY1LDMxLjRoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjI0LjlsLTUuNiwxLjVoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjUuOUEyLDIsMCwwLDEsMS42NSw0TDE0LjI1LjZabTcuMSw1LjhoMEw5LDkuOGExLjA1LDEuMDUsMCwwLDAtLjgsMVYzMC4zYzAsLjIuMS4zLjIuM2guMWwxMi42LTMuNWExLjA1LDEuMDUsMCwwLDAsLjgtMVY2LjZBLjIyLjIyLDAsMCwwLDIxLjY1LDYuNFptLTYuOC00LjdMOS40NSw4LjhsNS40LTEuNVYxLjdaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIwLDE3LjcyYS40LjQsMCwwLDEsMCwuOGgtOS45YS4zNy4zNywwLDAsMS0uNC0uNC40My40MywwLDAsMSwuNC0uNFoiLz48L2NsaXBQYXRoPjwvZGVmcz48dGl0bGU+bG9nb190aGlua2luZzwvdGl0bGU+PGcgaWQ9IuWbvuWxgl8yIiBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBpZD0i5Zu+5bGCXzEtMiIgZGF0YS1uYW1lPSLlm77lsYIgMSI+PGcgY2xhc3M9ImNscy0yIj48ZyBjbGFzcz0iY2xzLTMiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIzNy45MiAyNi40NSA0NC44MiAyNi40NSA0NC44MiAyNy4wNSAzNy45MiAyNy4wNSAzNy45MiAyNi40NSIvPjwvZz48ZyBjbGFzcz0iY2xzLTUiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI0Ny40IDIzIDU0LjYgMjMgNTQuNiAyOS45IDQ3LjQgMjkuOSA0Ny40IDIzIi8+PC9nPjxnIGNsYXNzPSJjbHMtNiI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjU3LjczIDIzLjI5IDY0LjMzIDIzLjI5IDY0LjMzIDI5Ljg5IDU3LjczIDI5Ljg5IDU3LjczIDIzLjI5Ii8+PC9nPjxnIGNsYXNzPSJjbHMtNyI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjY3LjUgMjMgNzQuNCAyMyA3NC40IDI5LjkgNjcuNSAyOS45IDY3LjUgMjMiLz48L2c+PGcgY2xhc3M9ImNscy04Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNzcuNTUgMjMgODQuMTUgMjMgODQuMTUgMjkuOSA3Ny41NSAyOS45IDc3LjU1IDIzIi8+PC9nPjxnIGNsYXNzPSJjbHMtOSI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijg3LjAzIDIzLjI5IDkzLjkzIDIzLjI5IDkzLjkzIDI5Ljg5IDg3LjAzIDI5Ljg5IDg3LjAzIDIzLjI5Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTAiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI5Ny4zNyAyMyAxMDMuNjcgMjMgMTAzLjY3IDI5LjkgOTcuMzcgMjkuOSA5Ny4zNyAyMyIvPjwvZz48ZyBjbGFzcz0iY2xzLTExIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTA3LjcgMjMuNTcgMTEyLjYxIDIzLjU3IDExMi42MSAyOS44NyAxMDcuNyAyOS44NyAxMDcuNyAyMy41NyIvPjwvZz48ZyBjbGFzcz0iY2xzLTEyIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTE2LjYxIDIzLjI5IDEyMy41MSAyMy4yOSAxMjMuNTEgMjkuODkgMTE2LjYxIDI5Ljg5IDExNi42MSAyMy4yOSIvPjwvZz48ZyBjbGFzcz0iY2xzLTEzIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNTEuNyAzLjM0IDYyLjggMy4zNCA2Mi44IDQuNDQgNTEuNyA0LjQ0IDUxLjcgMy4zNCIvPjwvZz48ZyBjbGFzcz0iY2xzLTE0Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNTAuMSA4LjA4IDY0LjUgOC4wOCA2NC41IDE3LjA4IDUwLjEgMTcuMDggNTAuMSA4LjA4Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTUiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI5OC43MiAzLjIxIDEwMS41MiAzLjIxIDEwMS41MiA1LjgxIDk4LjcyIDUuODEgOTguNzIgMy4yMSIvPjwvZz48ZyBjbGFzcz0iY2xzLTE2Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iOTcuMzYgNy40MSAxMDIuNzYgNy40MSAxMDIuNzYgMTcuMjEgOTcuMzYgMTcuMjEgOTcuMzYgNy40MSIvPjwvZz48ZyBjbGFzcz0iY2xzLTE3Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTAzLjIgMy41MiAxMTEuNyAzLjUyIDExMS43IDE3LjIxIDEwMy4yIDE3LjIxIDEwMy4yIDMuNTIiLz48L2c+PGcgY2xhc3M9ImNscy0xOCI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijc1LjE2IDMuMjEgODYuNjYgMy4yMSA4Ni42NiAxNy4xMSA3NS4xNiAxNy4xMSA3NS4xNiAzLjIxIi8+PC9nPjxnIGNsYXNzPSJjbHMtMTkiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI3Ni45NSA4LjY4IDg0Ljk1IDguNjggODQuOTUgMTEuMzggNzYuOTUgMTEuMzggNzYuOTUgOC42OCIvPjwvZz48ZyBjbGFzcz0iY2xzLTIwIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTIwLjI0IDguNTYgMTIyLjg0IDguNTYgMTIyLjg0IDExLjE2IDEyMC4yNCAxMS4xNiAxMjAuMjQgOC41NiIvPjwvZz48ZyBjbGFzcz0iY2xzLTIxIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMzguOTkgOC41NiA0MS41OSA4LjU2IDQxLjU5IDExLjE2IDM4Ljk5IDExLjE2IDM4Ljk5IDguNTYiLz48L2c+PGcgY2xhc3M9ImNscy0yMiI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjAgMCAyMi41IDAgMjIuNSAzMC45IDAgMzAuOSAwIDAiLz48L2c+PGcgY2xhc3M9ImNscy0yMyI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjkuNDEgMTcuMTEgMjAuMTEgMTcuMTEgMjAuMTEgMTcuOTEgOS40MSAxNy45MSA5LjQxIDE3LjExIi8+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_thinking.svg\n// module id = FE0O\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAATCAYAAABPwleqAAAAAXNSR0IArs4c6QAAAXFJREFUOE/llDFPwkAcxd//ioTEQTejwURNiA7q4myAQB1YBA2GOPkFUNpPwBeQOujq6gLSMmhsiSQuOrg5uBgHHU0UBhdp+zcdRNE2GgcXb7z3fnfvcu+O4DeYSTGaG28SObiurMoXn63kx5ZbrVCnbXc/aLtaTi7+CPZM3gI9cyLhloncL7BaN1MgkfeN/80kKbq1Tkwqg2MMdgTEbRDD4DCAOYBvCKLTO7NStywQPWnZ9FoQXKy1oiFh3wuIzHYudewLF2tHUYnCcSfyUh1wIjPcdSa0Fdn4Eaw0rGU40CV2R1ySSgwuaDl5KhBW602TCW0v9t/DILQrv935v8GlQ9MkITpaNp0PuipVPxlnFncMkdnpa5hu7YMRR3dwFpHnJb+SKEazAJcPQJjXsvJVr55bxum0cJ1LEB6Z+YFACwy2CDTJ4DECnQNYBFHDS+f1v+8z2KyaMUmQCsIoM0iI9yfCDBugs6Fhaa+cTNqe8grLu0RC7U81TQAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mind_del.png\n// module id = FJ4C\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3IDI3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT5mdWxsIHNjcmVlbkAzeDwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhtem7kW1pbmlWMuaAnee7tCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMi4wMDAwMDAsIC0xMjEuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iZnVsbC1zY3JlZW4iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMi4wMDAwMDAsIDEyMS4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGZpbGw9IiMwMDAwMDAiIGN4PSIxMy41IiBjeT0iMTMuNSIgcj0iMTMuNSI+PC9jaXJjbGU+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4wMDAwMDAsIDcuMDAwMDAwKSIgc3Ryb2tlPSIjNjRBRkQ1IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNiI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMyw0LjQ0MjYyNzEgTDEzLDIuMzUyMDg5NzQgQzEzLDEuMDUzMjY1NzkgMTEuOTQ2NzM0MiwwIDEwLjY0NzkxMDMsMCBMOC41NTczNzI5LDAiIGlkPSJTdHJva2UtMSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNS4yMjI2ODgzN2UtMTYsOC41NTc1NjEwNiBMNS4yMjI2ODgzN2UtMTYsMTAuNjQ4MDk4NCBDNS4yMjI2ODgzN2UtMTYsMTEuOTQ2OTIyNCAxLjA1MzI2NTc5LDEzLjAwMDE4ODIgMi4zNTIwODk3NCwxMy4wMDAxODgyIEw0LjQ0MjYyNzEsMTMuMDAwMTg4MiIgaWQ9IlN0cm9rZS0zIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/fullscreen_thinking_black.svg\n// module id = FWqS\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"\">\r\n    <p>使用 render-content</p>\r\n    <el-tree\r\n      :data=\"data\"\r\n      show-checkbox\r\n      node-key=\"id\"\r\n      default-expand-all\r\n      :expand-on-click-node=\"false\"\r\n      :render-content=\"renderContent\"\r\n      @node-drag-start=\"handleDragStart\"\r\n      @node-drag-enter=\"handleDragEnter\"\r\n      @node-drag-leave=\"handleDragLeave\"\r\n      @node-drag-over=\"handleDragOver\"\r\n      @node-drag-end=\"handleDragEnd\"\r\n      @node-drop=\"handleDrop\"\r\n      draggable\r\n      :allow-drop=\"allowDrop\"\r\n      :allow-drag=\"allowDrag\"\r\n    >\r\n    </el-tree>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nlet id = 1000;\r\nexport default {\r\n  components: {},\r\n  data() {\r\n    return {\r\n      data: [\r\n        {\r\n          id: 1,\r\n          label: \"一级 1\",\r\n          children: [\r\n            {\r\n              id: 4,\r\n              label: \"二级 1-1\",\r\n              children: [\r\n                {\r\n                  id: 9,\r\n                  label: \"三级 1-1-1\",\r\n                },\r\n                {\r\n                  id: 10,\r\n                  label: \"三级 1-1-2\",\r\n                },\r\n              ],\r\n            },\r\n          ],\r\n        },\r\n        {\r\n          id: 2,\r\n          label: \"一级 2\",\r\n          children: [\r\n            {\r\n              id: 5,\r\n              label: \"二级 2-1\",\r\n            },\r\n            {\r\n              id: 6,\r\n              label: \"二级 2-2\",\r\n            },\r\n          ],\r\n        },\r\n        {\r\n          id: 3,\r\n          label: \"一级 3\",\r\n          children: [\r\n            {\r\n              id: 7,\r\n              label: \"二级 3-1\",\r\n            },\r\n            {\r\n              id: 8,\r\n              label: \"二级 3-2\",\r\n            },\r\n          ],\r\n        },\r\n      ],\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {\r\n    append(data) {\r\n      const newChild = { id: id++, label: \"testtest\", children: [] };\r\n      if (!data.children) {\r\n        this.$set(data, \"children\", []);\r\n      }\r\n      data.children.push(newChild);\r\n    },\r\n\r\n    remove(node, data) {\r\n      const parent = node.parent;\r\n      const children = parent.data.children || parent.data;\r\n      const index = children.findIndex((d) => d.id === data.id);\r\n      children.splice(index, 1);\r\n    },\r\n\r\n    renderContent(h, { node, data, store }) {\r\n      return (\r\n        <span class=\"custom-tree-node\">\r\n          <span>{node.label}</span>\r\n          <span>\r\n            <el-button\r\n              size=\"mini\"\r\n              type=\"text\"\r\n              on-click={() => this.append(data)}\r\n            >\r\n              Append\r\n            </el-button>\r\n            <el-button\r\n              size=\"mini\"\r\n              type=\"text\"\r\n              on-click={() => this.remove(node, data)}\r\n            >\r\n              Delete\r\n            </el-button>\r\n          </span>\r\n        </span>\r\n      );\r\n    },\r\n    handleDragStart(node, ev) {\r\n      console.log(\"drag start\", node);\r\n    },\r\n    handleDragEnter(draggingNode, dropNode, ev) {\r\n      console.log(\"tree drag enter: \", dropNode.label);\r\n    },\r\n    handleDragLeave(draggingNode, dropNode, ev) {\r\n      console.log(\"tree drag leave: \", dropNode.label);\r\n    },\r\n    handleDragOver(draggingNode, dropNode, ev) {\r\n      console.log(\"tree drag over: \", dropNode.label);\r\n    },\r\n    handleDragEnd(draggingNode, dropNode, dropType, ev) {\r\n      console.log(\"tree drag end: \", dropNode && dropNode.label, dropType);\r\n    },\r\n    handleDrop(draggingNode, dropNode, dropType, ev) {\r\n      console.log(\"tree drop: \", dropNode.label, dropType);\r\n    },\r\n    allowDrop(draggingNode, dropNode, type) {\r\n      if (dropNode.data.label === \"二级 3-1\") {\r\n        return type !== \"inner\";\r\n      } else {\r\n        return true;\r\n      }\r\n    },\r\n    allowDrag(draggingNode) {\r\n      return draggingNode.data.label.indexOf(\"三级 3-1-1\") === -1;\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {},\r\n};\r\n</script>\r\n<style scoped>\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/test/TreeMind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{},[_c('p',[_vm._v(\"使用 render-content\")]),_vm._v(\" \"),_c('el-tree',{attrs:{\"data\":_vm.data,\"show-checkbox\":\"\",\"node-key\":\"id\",\"default-expand-all\":\"\",\"expand-on-click-node\":false,\"render-content\":_vm.renderContent,\"draggable\":\"\",\"allow-drop\":_vm.allowDrop,\"allow-drag\":_vm.allowDrag},on:{\"node-drag-start\":_vm.handleDragStart,\"node-drag-enter\":_vm.handleDragEnter,\"node-drag-leave\":_vm.handleDragLeave,\"node-drag-over\":_vm.handleDragOver,\"node-drag-end\":_vm.handleDragEnd,\"node-drop\":_vm.handleDrop}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3a97ef4f\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/test/TreeMind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3a97ef4f\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TreeMind.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TreeMind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TreeMind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3a97ef4f\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TreeMind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3a97ef4f\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/test/TreeMind.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAmCAYAAADAzmuWAAAAAXNSR0IArs4c6QAAA1tJREFUSEu11ltsDGEUB/BzZnZbdUuTJpW6JISys+WBCA88UJeI0s5KXEJSicsqIiVBRESaiAfhiQR7iRCCB9JdlaZF60EiEjx46G5LEapSEaSKbXd35i8zO90tupeZxjxNMvl+38k5Z873Mf2nhzW3Nvhmwi+1/yyYvhfk2Y+eW136eaT76fDOQNtBgE5r78zcZrcXLD9fMa1nJLgO7wq2z1dU9QkRRB1j7rCJ4rKLa2d1W8V1WMcDoY0q4RpANt0mes3iqHJv5fT3VvAknEhJyAXgJhHlJTB+Z7fbyi+smfnGLP4HrC12B0MVAN0GkG/kvJvsXO6rkF6awf+BEzkPrVBVCoJQkAicekTKW+aRS0O54sPC2uKa+vCSOKt3CTTGSMtn0Sau8Kyd9SIXPC2s48H2RQrURgDjDewrkbDS75KeZ8Mzwjre0LEgrsSbCVSYyAr3QqRV/krnk0x4VjgRedvcuMr3iVBk9HkfESr8ctmjdHhOsI7fDc1WYmgBUXGiW+iXAKr0uMpahsNzhvVWbOhwqIrSQsBEI/J+kQWXp8rR9DduCtYW7wl2zohioJVAUwwsyoK43lfluDMUNw0brThVYbQCmJYoKMXA4ma/7Lg1iFuCtcU7Gl9N5oFYKwilRp8rAnO1V5auG5tl68j0391NoRI1Aq14ktGKKhFv8Lmk25YjHtxOOyR+ItKe6nN66nOVLRgRDIDdwbAHwM5kbplP+WTnEctwHSB8CIQvEWFrqmB8Y1KhVF23lOOW4LqHsHX3hq8C2JSqAF+ZLEvb6phVS8VzP4Nd7QrfJMK6IWX1+mRnDTPDUrvta3yV3z8QuwXCmlRO6Zy3ylk7FDUV8YHHXQU/PvUFQFiZQoUzPlk6ZHlWHGzuGdMb+dIA0NIkwnzSLzuPWZ5uh4Pt476pSiOIFg8iAvFxr8t5ItOvlbEr9te/LfzJkSYAC5OIwIf9VU79cmMJ3vsgXBTtwz0Q5iUjZar1ymVns6Fpi1fT3FmsRKIPAMzREWYIxLu9suTJBR0WTjNYtvtc0uVc0X/gPYHOKTFEW9KNQktwTX046/A2DRuj72m248Y0PPR+TMxpD0jTsH4/hnKfiPpJELf4Kx2tZpCMv7S74ePoiWNLotosHSlqagiZ3ew317RpNgupISgAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/silent_arrow.png\n// module id = FeXR\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAxOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtvcGFjaXR5OjAuMDE7fS5jbHMtMntmaWxsOiNmZmY7fS5jbHMtM3tmaWxsOm5vbmU7c3Ryb2tlOiNhM2IxYjk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLXdpZHRoOjJweDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPui1hOa6kCAxPC90aXRsZT48ZyBpZD0i5Zu+5bGCXzIiIGRhdGEtbmFtZT0i5Zu+5bGCIDIiPjxnIGlkPSLlm77lsYJfMS0yIiBkYXRhLW5hbWU9IuWbvuWxgiAxIj48ZyBpZD0i6aG16Z2iLTEiPjxnIGlkPSLkuLvpobXnmb1taW5pVjLmnKzor77pl67popjop6PlhrMt6Zeu6aKY5YiX6KGoIj48ZyBpZD0i57yW57uELTE3Ij48ZyBpZD0i57yW57uELTciPjxnIGlkPSLmpK3lnIblvaIiIGNsYXNzPSJjbHMtMSI+PGNpcmNsZSBpZD0icGF0aC0xIiBjeD0iOS41IiBjeT0iOS41IiByPSI5LjUiLz48Y2lyY2xlIGlkPSJwYXRoLTEtMiIgZGF0YS1uYW1lPSJwYXRoLTEiIGNsYXNzPSJjbHMtMiIgY3g9IjkuNSIgY3k9IjkuNSIgcj0iOS41Ii8+PC9nPjxwb2x5bGluZSBpZD0iU3Ryb2tlLTEiIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSI3LjMgNC42IDExLjkgOS41IDcuMyAxNC40Ii8+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/question_history_arrow.svg\n// module id = G9LH\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUwLjAgLTM1Ni4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAuMCAzNTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI3LDAgMjcsMjcgMCwyNyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAgNy4wMDAwMDAwMDAwMDAwMDEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi45OTk5OTk5OTk5OTkzNCA0LjQ0MjYyNzEwMzMxMTAxNykgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik00LjQ0MjYyNzEsNC40NDI2MjcxIEw0LjQ0MjYyNzEsMi4zNTIwODk3NCBDNC40NDI2MjcxLDEuMDUzMjY1NzkgMy4zODkzNjEzMiwwIDIuMDkwNTM3MzYsMCBMMCwwIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNDQyNjI3MTAzMzExMDE3IDEzLjAwMDE4ODE2NzE3OTMzMSkgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik0wLDAgTDAsMi4wOTA1MzczNiBDMCwzLjM4OTM2MTMyIDEuMDUzMjY1NzksNC40NDI2MjcxIDIuMzUyMDg5NzQsNC40NDI2MjcxIEw0LjQ0MjYyNzEsNC40NDI2MjcxIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/exit_fullscreen_thinking_w.svg\n// module id = GRtB\n// module chunks = 171","import introJs from 'intro.js'\r\nimport 'intro.js/introjs.css'\r\nimport {EventBus} from \"@/utils/eventBus\";\r\nimport {getUserGuideStatus, setUserGuideStatus} from \"@/api/index\";\r\n\r\n\r\nlet state = 0 // skip: 0 ,done: 1；\r\nlet context = this\r\n\r\n//首页引导模块\r\nexport function index_guide_1(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    tooltipPosition: 'top-middle',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'index_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 0) {\r\n        that.guideUpdateXY();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 1) {\r\n        // 等待动画加载完毕\r\n        that.tsClick();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 2) {\r\n        // 触发回到白牌\r\n        that.goWhite();\r\n        await new Promise(resolve => setTimeout(resolve, 100));\r\n      } else if (count === 12) {\r\n        EventBus.$emit(\"menuSwitching\", 1);\r\n        await new Promise(resolve => setTimeout(resolve, 600));\r\n      } else if (count === 15) {\r\n        EventBus.$emit(\"menuSwitching\", 2);\r\n        await new Promise(resolve => setTimeout(resolve, 600));\r\n      } else if (count === 18) {\r\n        EventBus.$emit(\"menuSwitching\", 3);\r\n        await new Promise(resolve => setTimeout(resolve, 600));\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-tooltip')[0].style.marginTop = '3rem';\r\n      document.getElementsByClassName('introjs-tooltip')[0].classList.add('show-pseudo-class');\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '1px';\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n    } else if (count === 4) {\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '1px';\r\n    } else if (count === 5) {\r\n    } else if (count === 6) {\r\n      let helperLayer = document.getElementsByClassName('introjs-helperLayer')[0];\r\n      let width = parseFloat(helperLayer.style.width) - 18;\r\n      let height = parseFloat(helperLayer.style.height) - 18;\r\n      let top = parseFloat(helperLayer.style.top) + 9;\r\n      let left = parseFloat(helperLayer.style.left) + 9;\r\n      helperLayer.style.width = `${width}px`;\r\n      helperLayer.style.height = `${height}px`;\r\n      helperLayer.style.top = `${top}px`;\r\n      helperLayer.style.left = `${left}px`;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '10px'\r\n    } else if (count === 7) {\r\n    } else if (count === 8) {\r\n    } else if (count === 9) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${50 / 108}rem`\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '10px';\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n    } else if (count === 11) {\r\n\r\n    } else if (count === 12) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium'\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n    } else if (count === 13) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n    } else if (count === 14) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n    } else if (count === 15) {\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium'\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n    } else if (count === 16) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '200px'\r\n    } else if (count === 17) {\r\n      document.getElementsByClassName('guide_line')[0].style.transform = \"rotate(260deg)\";\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '10px'\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n    } else if (count === 18) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium'\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    } else if (count === 19) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '200px'\r\n    } else if (count === 20) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '10px'\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium'\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    // 点击完成以及跳过按钮后执行的事件，不区分完成和跳过。\r\n    EventBus.$emit(\"setCultureGuideMode\", 1);\r\n    EventBus.$emit(\"setThinkingGuideMode\", 1);\r\n    EventBus.$emit(\"setBehaviorGuideMode\", 1);\r\n    that.$store.dispatch(\"setGuideName\", '');\r\n    EventBus.$emit(\"RESIZE\");\r\n    //todo 更新用户菜单组件信息\r\n    that.setUserGuideStatus();\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function index_guide_2(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let new_cultrueContent_step2;\r\n  let cultrueContent_step2;\r\n  let newImageArrowArrowAni;\r\n  let imageArrowArrowAni;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    tooltipPosition: 'top-middle',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'index_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      // alert(count)\r\n      if (count === 0) {\r\n        EventBus.$emit(\"index_guide_2\")\r\n      } else if (count === 1) {\r\n        // 触发鼠标侧面悬停效果\r\n        that.guideUpdateXY();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 2) {\r\n        // 等待动画加载完毕\r\n        that.tsClick();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 3) {\r\n        // 触发回到白牌\r\n        that.goWhite();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 10) {\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  // 观念禅修\r\n  intro.onafterchange(function (targetElement) {\r\n    // alert(count)\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '-0.18518518rem';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '1px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 2) {\r\n      // debugger\r\n      document.querySelectorAll('#index_step3')[0].style.visibility = 'hidden';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '3rem';\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.visibility = 'visible';\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].classList.add('show-pseudo-class');\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '1px';\r\n    } else if (count === 3) {\r\n      document.querySelectorAll('#index_step3')[0].style.visibility = 'visible';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = null;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].classList.remove('show-pseudo-class');\r\n    } else if (count === 4) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${50 / 108}rem`\r\n    } else if (count === 5) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      // document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '-10px';\r\n    } else if (count === 6) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      let helperLayer = document.getElementsByClassName('introjs-helperLayer')[0];\r\n      let width = parseFloat(helperLayer.style.width) - 18;\r\n      let height = parseFloat(helperLayer.style.height) - 18;\r\n      let top = parseFloat(helperLayer.style.top) + 9;\r\n      let left = parseFloat(helperLayer.style.left) + 9;\r\n      helperLayer.style.width = `${width}px`;\r\n      helperLayer.style.height = `${height}px`;\r\n      helperLayer.style.top = `${top}px`;\r\n      helperLayer.style.left = `${left}px`;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = `${8/108}rem`\r\n    } else if (count === 7) {\r\n      let index_step9 = document.querySelectorAll('#index_step9')[0];\r\n      const rect1 = index_step9.getBoundingClientRect();\r\n      let helperLayer = document.getElementsByClassName('introjs-helperLayer')[0];\r\n      let top = `${rect1.top + window.scrollY}px`;\r\n      let left = `${rect1.left + window.scrollX}px`;\r\n      let width = `${rect1.width}`;\r\n      let height = `${rect1.height}`;\r\n      let value = height - width;\r\n      helperLayer.style.width = `${width}px`;\r\n      helperLayer.style.height = `${width}px`;\r\n      helperLayer.style.top = `${top + value}px`;\r\n      helperLayer.style.left = `${left}px`;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '0px'\r\n    } else if (count === 8) {\r\n      let index_step10 = document.querySelectorAll('#index_step10')[0];\r\n      const rect1 = index_step10.getBoundingClientRect();\r\n      let helperLayer = document.getElementsByClassName('introjs-helperLayer')[0];\r\n      let top = `${rect1.top + window.scrollY}px`;\r\n      let left = `${rect1.left + window.scrollX}px`;\r\n      let width = `${rect1.width}`;\r\n      let height = `${rect1.height}`;\r\n      let value = height - width;\r\n      helperLayer.style.width = `${width}px`;\r\n      helperLayer.style.height = `${width}px`;\r\n      helperLayer.style.top = `${top + value}px`;\r\n      helperLayer.style.left = `${left}px`;\r\n    } else if (count === 9) {\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = `-${8/108}rem`\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 10) {\r\n      let text = \"点击查看 “观念禅修” 具体内涵\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '0px'\r\n    } else if (count === 11) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n\r\n      imageArrowArrowAni = document.querySelectorAll('.imageArrow')[0];\r\n      let rect1 = imageArrowArrowAni.getBoundingClientRect();\r\n      newImageArrowArrowAni = document.createElement('img');\r\n      newImageArrowArrowAni.classList.add('guide_imageArrow');\r\n      newImageArrowArrowAni.src = 'data:image/png;base64,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';\r\n      newImageArrowArrowAni.style.zIndex = '9999998';\r\n      newImageArrowArrowAni.style.position = 'absolute';\r\n      newImageArrowArrowAni.style.left = `${rect1.left + window.scrollX}px`;\r\n      newImageArrowArrowAni.style.top = `${rect1.top + window.scrollY}px`;\r\n      document.body.appendChild(newImageArrowArrowAni);\r\n      imageArrowArrowAni.style.visibility = 'hidden';\r\n    } else if (count === 12) {\r\n      if (newImageArrowArrowAni && newImageArrowArrowAni.parentNode) {\r\n        newImageArrowArrowAni.parentNode.removeChild(newImageArrowArrowAni);\r\n      }\r\n      imageArrowArrowAni.style.visibility = 'visible';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopLeftRadius = '0.14814815rem';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopRightRadius = '0.14814815rem';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderBottomRightRadius = '0px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderBottomLeftRadius = '0px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-bottom-left-aligned')[0].style.marginLeft = '-35%';\r\n    } else if (count === 14) {\r\n      cultrueContent_step2 = document.querySelectorAll('#cultrueContent_step2_1')[0];\r\n      let cultrueContent_step2_2 = document.querySelectorAll('#cultrueContent_step2')[0];\r\n      let rect1 = cultrueContent_step2.getBoundingClientRect();\r\n      let rect2 = cultrueContent_step2_2.getBoundingClientRect();\r\n      let divElement = document.createElement('div');\r\n      divElement.classList.add('guide_collect');\r\n      divElement.style.zIndex = '9999998';\r\n      divElement.style.position = 'absolute';\r\n      divElement.style.left = `${rect1.left + window.scrollX}px`;\r\n      divElement.style.top = `${rect2.top + window.scrollY}px`;\r\n      divElement.style.width = `${rect1.width}px`;\r\n      divElement.style.height = `${rect1.height}px`;\r\n      divElement.style.backgroundColor = 'transparent';\r\n      let collectDiv = document.createElement(\"div\");\r\n      collectDiv.style.width = `${rect2.width}px`;\r\n      collectDiv.style.height = `${rect2.height}px`;\r\n      collectDiv.style.margin = \"0 auto\";\r\n      collectDiv.style.display = \"flex\";\r\n      collectDiv.style.justifyContent = \"center\";\r\n      collectDiv.style.alignItems = \"center\";\r\n      // collectDiv.style.border= \"1px solid #71AFBB\";\r\n      // collectDiv.style.borderRadius = `${16/108}rem`;\r\n      let imgElement = document.createElement('img');\r\n      imgElement.src = 'data:image/png;base64,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';\r\n      imgElement.style.marginRight = `${7/108}rem`;\r\n      imgElement.style.width = `${17/108}rem`;\r\n      imgElement.style.height = `${15/108}rem`;\r\n      let pElement2 = document.createElement('p');\r\n      pElement2.textContent = '收藏';\r\n      collectDiv.appendChild(imgElement);\r\n      collectDiv.appendChild(pElement2);\r\n      divElement.appendChild(collectDiv);\r\n      document.body.appendChild(divElement);\r\n      new_cultrueContent_step2 = divElement;\r\n      cultrueContent_step2.style.visibility = 'hidden';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium'\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"setCultureGuideMode\", 1);\r\n    // 点击完成以及跳过按钮后执行的事件，不区分完成和跳过。\r\n    if (new_cultrueContent_step2 && new_cultrueContent_step2.parentNode) {\r\n      new_cultrueContent_step2.parentNode.removeChild(new_cultrueContent_step2);\r\n    }\r\n    cultrueContent_step2.style.visibility = 'visible';\r\n    EventBus.$emit(\"setCourseContentGuideStatus\", 1);\r\n    EventBus.$emit(\"RESIZE\");\r\n    userGuideStatus('index');\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n//黑牌引导模块\r\nexport function layoutBlack_guide(that, index, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'layoutBlack_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // 触发回到白牌\r\n        await new Promise(resolve => setTimeout(resolve, 300));\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    // 点击完成以及跳过按钮后执行的事件，不区分完成和跳过。\r\n    that.setLayoutBlackGuideStatus(1);\r\n    userGuideStatus('blackIndex')\r\n    // if (index === 1) {\r\n    //   userGuideStatus('black1')\r\n    // } else if (index === 2) {\r\n    //   userGuideStatus('black2')\r\n    // } else if (index === 3) {\r\n    //   userGuideStatus('black3')\r\n    // } else if (index === 4) {\r\n    //   userGuideStatus('black4')\r\n    // }\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n//笔记目录引导模块\r\nexport function courseClassName_guide_1(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'courseClassName_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.boxShadow = 'rgba(0, 0, 0, 0) 0 0 1px 2px, rgba(33, 33, 33, 0.5) 0 0 0 5000px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 2) {\r\n      let text = \"点击查看【示例笔记】（只读）\";\r\n      let width = text.length * 18;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 14)/108}rem`;\r\n      const targetElement2 = document.getElementsByClassName('guideSubCourseUser')[0];\r\n      const rect2 = targetElement2.getBoundingClientRect();\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `${rect2.width}px`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '1px';\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.boxShadow = 'rgba(255, 255, 255, 1) 0 0 20px, rgba(33, 33, 33, 0.5) 0 0 0 5000px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    // 引导完成，请求真实数据\r\n    that.setCourseClassNameGuideMode(1);\r\n\r\n    if (that.$route.name !== 'CourseSelect') {\r\n      userGuideStatus('courseClassName');\r\n    }\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function courseClassName_guide_2(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let step_targetElement1;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'courseClassName_customHighlight_2',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 0) {\r\n\r\n      }\r\n      if (count === 2) {\r\n        const tab1 = document.getElementsByClassName('is-active')[0];\r\n        const classes = Array.from(tab1.classList);\r\n        const classNameToRemove = 'is-active';\r\n        if (classes.includes(classNameToRemove)) {\r\n          tab1.classList.remove(classNameToRemove);\r\n        }\r\n        that.setGuideStep(3);\r\n        document.querySelector('#tab--1-guide').classList.add('is-active');\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.boxShadow = 'rgba(0, 0, 0, 0) 0 0 1px 2px, rgba(33, 33, 33, 0.5) 0 0 0 5000px';\r\n      document.getElementsByClassName('introjs-bottom-left-aligned')[0].style.marginLeft = '-30%';\r\n      step_targetElement1 = document.querySelector('#step1_2');\r\n      step_targetElement1.style.color = '#65afd5';\r\n      const targetElement2 = document.getElementsByClassName('guideSubCourseUser')[0];\r\n      const rect2 = targetElement2.getBoundingClientRect();\r\n      const pixelWidth = `${rect2.width + 10}px`;\r\n      const relativeWidth = `${70 / 108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `calc(${pixelWidth} + ${relativeWidth})`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.left = `calc(${rect2.left + window.scrollX - 10}px - ${50 / 108}rem)`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '1px';\r\n    }\r\n    if (count === 2) {\r\n      let text = \"点击查看【示例笔记】（只读）\";\r\n      let width = text.length * 18;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 14)/108}rem`;\r\n      step_targetElement1.style.color = '';\r\n      let targetElement3 = null;\r\n      const isLeft = document.getElementsByClassName('is-left');\r\n      for (let i = 0; i < isLeft.length; i++) {\r\n        const rect = isLeft[i].getBoundingClientRect();\r\n        if (rect.width > 0) {\r\n          targetElement3 = isLeft[i];\r\n          break;\r\n        }\r\n      }\r\n      let targetElement2 = null;\r\n      const dialogBodies = document.getElementsByClassName('el-dialog__body');\r\n      for (let i = 0; i < dialogBodies.length; i++) {\r\n        const rect = dialogBodies[i].getBoundingClientRect();\r\n        if (rect.left > 0) {\r\n          targetElement2 = dialogBodies[i];\r\n          break;\r\n        }\r\n      }\r\n      const rect3 = targetElement3.getBoundingClientRect();\r\n      const rect2 = targetElement2.getBoundingClientRect();\r\n      const pixelWidth = `${rect3.width}px`;\r\n      const relativeWidth = `${61 / 108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `calc(${pixelWidth} + ${relativeWidth})`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.left = `${rect2.left + +window.scrollX}px`;\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${20 / 108}rem`\r\n    } else if (count === 4) {\r\n\r\n      let text = \"也可自定义添加其他阅读笔记\";\r\n      let width = text.length * 18;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 14)/108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0rem`\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.boxShadow = 'rgba(255, 255, 255, 1) 0 0 20px, rgba(33, 33, 33, 0.5) 0 0 0 5000px';\r\n      let targetElement1 = null;\r\n      const tabElements = document.querySelectorAll('#tab--1-guide');\r\n      for (let el of tabElements) {\r\n        if (el.getBoundingClientRect().width > 0 && el.getBoundingClientRect().height > 0) {\r\n          targetElement1 = el;\r\n          break;\r\n        }\r\n      }\r\n      let targetElement2 = null;\r\n      const dialogBodyElements = document.getElementsByClassName('el-dialog__body');\r\n      for (let el of dialogBodyElements) {\r\n        if (el.getBoundingClientRect().width > 0 && el.getBoundingClientRect().height > 0) {\r\n          targetElement2 = el;\r\n          break;\r\n        }\r\n      }\r\n      let targetElement3 = null;\r\n      const leftElements = document.getElementsByClassName('is-left');\r\n      for (let el of leftElements) {\r\n        if (el.getBoundingClientRect().width > 0 && el.getBoundingClientRect().height > 0) {\r\n          targetElement3 = el;\r\n          break;\r\n        }\r\n      }\r\n      if (targetElement1 && targetElement2 && targetElement3) {\r\n        this.dynamicDiv = document.createElement('div');\r\n        this.dynamicDiv.style.zIndex = '9999998';\r\n        this.dynamicDiv.style.position = 'absolute';\r\n        this.dynamicDiv.style.borderRadius = '1px';\r\n        const rect1 = targetElement1.getBoundingClientRect();\r\n        const rect2 = targetElement2.getBoundingClientRect();\r\n        const rect3 = targetElement3.getBoundingClientRect();\r\n        this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n        this.dynamicDiv.style.left = `${rect2.left + +window.scrollX}px`;\r\n        const pixelWidth = `${rect3.width}px`;\r\n        const relativeWidth = `${61 / 108}rem`;\r\n        this.dynamicDiv.style.width = `calc(${pixelWidth} + ${relativeWidth})`;\r\n        this.dynamicDiv.style.height = `${rect1.height}px`;\r\n        this.dynamicDiv.style.backgroundColor = '#fff';\r\n\r\n        const contentDiv = document.createElement('div');\r\n        contentDiv.style.fontSize = (16 / 108) + 'rem';\r\n        contentDiv.style.color = '#65afd5';\r\n        // contentDiv.style.borderBottom = '1px solid #65afd5';\r\n        contentDiv.style.fontFamily = 'PingFangSC-Regular, PingFang SC';\r\n        contentDiv.textContent = '其他阅读笔记';\r\n        contentDiv.style.display = 'flex';\r\n        contentDiv.style.justifyContent = 'center';\r\n        contentDiv.style.alignItems = 'center';\r\n        contentDiv.style.height = '100%';\r\n        this.dynamicDiv.appendChild(contentDiv);\r\n        document.body.appendChild(this.dynamicDiv);\r\n        dynamicDiv = this.dynamicDiv;\r\n      }\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"getCourseList\")\r\n    that.setCourseClassNameGuideMode(1);\r\n    that.setGuideStep(1);\r\n    // 销毁dynamicDiv\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    // todo 修改为只在未激活页面只引导一次\r\n    // if (that.$route.name !== 'CourseSelect') {\r\n    //   userGuideStatus('courseClassName');\r\n    // }\r\n    userGuideStatus('courseClassName');\r\n    // setTimeout(() => {\r\n    //\r\n    // },1000);\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n// 思维导图(大纲)\r\nexport function mindMap_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let tabElement1;\r\n  let newImageArrowArrowAni;\r\n  let imageArrowArrowAni;\r\n  let mind_step2;\r\n  let dynamicButton;\r\n  let timeValueClickNext = null;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'mindMap_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        EventBus.$emit(\"dropShow\");\r\n      } else if (count === 2) {\r\n        EventBus.$emit(\"setButton\");\r\n        EventBus.$emit(\"dropHide\");\r\n      } else if (count === 3) {\r\n        EventBus.$emit(\"setShow\", true);\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      let text = \"通过填写简单的思维导图(大纲)，\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      imageArrowArrowAni = document.querySelectorAll('.guide_imageArrow_1')[0];\r\n      let rect1 = imageArrowArrowAni.getBoundingClientRect();\r\n      newImageArrowArrowAni = document.createElement('img');\r\n      newImageArrowArrowAni.classList.add('guide_imageArrow');\r\n      newImageArrowArrowAni.src = 'data:image/png;base64,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';\r\n      newImageArrowArrowAni.style.zIndex = '9999998';\r\n      newImageArrowArrowAni.style.position = 'absolute';\r\n      newImageArrowArrowAni.style.left = `${rect1.left + window.scrollX}px`;\r\n      newImageArrowArrowAni.style.top = `${rect1.top + window.scrollY}px`;\r\n      document.body.appendChild(newImageArrowArrowAni);\r\n      imageArrowArrowAni.style.visibility = 'hidden';\r\n    } else if (count === 2) {\r\n      let text = \"思维导图默认大纲模式，点击\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 30)/108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${16 / 108}rem`\r\n      if (newImageArrowArrowAni && newImageArrowArrowAni.parentNode) {\r\n        newImageArrowArrowAni.parentNode.removeChild(newImageArrowArrowAni);\r\n      }\r\n      imageArrowArrowAni.style.visibility = 'visible';\r\n      // const tabElement1 = document.querySelectorAll('.el-dropdown')[2];\r\n      const tabElement1 = document.getElementById(\"guide-my-mind-eldropdown\");\r\n      console.log('tabElement1:', tabElement1);\r\n      const rect1 = tabElement1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.classList.add(\"el-dropdown\")\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + +window.scrollX}px`;\r\n      this.dynamicDiv.style.backgroundColor = 'rgba(0, 0, 0, 0)';\r\n      const contentDiv = document.createElement('button');\r\n      contentDiv.classList.add(\"bg-transparent\")\r\n      contentDiv.innerHTML = '<span>大纲模式<i class=\"el-icon-arrow-down el-icon--right\"></i></span>';\r\n      contentDiv.style.fontSize = (16 / 108) + 'rem';\r\n      contentDiv.style.color = '#71afbb';\r\n      contentDiv.style.fontFamily = 'PingFangSC-Regular, PingFang SC';\r\n      contentDiv.style.padding = `${1 / 108}rem ${8 / 108}rem`\r\n      contentDiv.style.borderRadius = `${28 / 108}rem`;\r\n      contentDiv.style.fontWeight = '400';\r\n      contentDiv.style.lineHeight = `${24 / 108}rem`;\r\n      contentDiv.style.textAlign = 'left';\r\n      contentDiv.style.fontSize = 'normal';\r\n      contentDiv.style.border = '1px solid #71afbb';\r\n      this.dynamicDiv.appendChild(contentDiv);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      const tabElement3 = document.querySelectorAll('#guide-my-mind')[0];\r\n      tabElement3.style.visibility = 'hidden';\r\n\r\n      //\r\n      const tooltipEl = document.querySelector('.introjs-tooltipReferenceLayer');\r\n      tooltipEl.style.transition = 'all 0s';\r\n      if(timeValueClickNext) {\r\n        clearTimeout(timeValueClickNext);\r\n        timeValueClickNext = null;\r\n      }\r\n      timeValueClickNext = setTimeout(() => {\r\n        clearTimeout(timeValueClickNext);\r\n        timeValueClickNext = null;\r\n        const rect1 = document.querySelector('.guideOutlineDropdown').getBoundingClientRect();\r\n        tooltipEl.style.top = rect1.y + 'px';\r\n        tooltipEl.style.left = (rect1.x + rect1.width/2) + 'px';\r\n      }, 300)\r\n\r\n    } else if (count === 3) {\r\n      let text = \"点击添加主题，进行填写\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 30)/108}rem`;\r\n      const tabElement3 = document.querySelectorAll('#guide-my-mind')[0];\r\n      tabElement3.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${12 / 108}rem`;\r\n      mind_step2 = document.querySelectorAll('#mind_step2')[0];\r\n      mind_step2.style.visibility = 'hidden';\r\n      const rect1 = mind_step2.getBoundingClientRect();\r\n      dynamicButton = document.createElement('button');\r\n      dynamicButton.style.zIndex = '9999998';\r\n      dynamicButton.style.position = 'absolute';\r\n      dynamicButton.className = \"el-button bg-transparent el-button--default\";\r\n      dynamicButton.style.top = `${rect1.top + window.scrollY}px`;\r\n      dynamicButton.style.left = `${rect1.left + +window.scrollX}px`;\r\n      dynamicButton.style.height = '0.33333333rem';\r\n      dynamicButton.style.borderRadius = '0.11111111rem';\r\n      dynamicButton.style.fontSize = '0.16666667rem';\r\n      dynamicButton.style.fontFamily = 'SourceHanSansCN-Medium, SourceHanSansCN';\r\n      dynamicButton.style.fontWeight = '600';\r\n      dynamicButton.style.background = '#fff';\r\n      dynamicButton.style.color = '#71afbb';\r\n      dynamicButton.style.borderColor = '#71afbb';\r\n      dynamicButton.style.borderWidth = '0.01851852rem';\r\n      dynamicButton.style.padding = '0.05555556rem 0.09259259rem';\r\n      dynamicButton.innerHTML = '<span><i class=\"el-icon-plus\" style=\"margin-right: 10px;\"></i>添加主题</span>';\r\n      document.body.appendChild(dynamicButton);\r\n\r\n    } else if (count === 4) {\r\n      let text = \"点击已有标题，可出现格式选\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 30)/108}rem`;\r\n      mind_step2.style.visibility = 'visible';\r\n      if (dynamicButton && dynamicButton.parentNode) {\r\n        dynamicButton.parentNode.removeChild(dynamicButton);\r\n      }\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${10 / 108}rem`;\r\n      tabElement1 = document.querySelectorAll('#mindMap_step4')[0];\r\n      const rect1 = tabElement1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.classList.add(\"guide-operates-wrapper-operates\")\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      const innerHTML = `<div data-v-9444acd8=\"\" class=\"operate del\">\r\n                                  删除(ctrl+d)\r\n                                </div>\r\n                                <div data-v-9444acd8=\"\" class=\"operate addsubtheme\">\r\n                                  添加子主题(tab)\r\n                                </div>\r\n                                <div data-v-9444acd8=\"\" class=\"operate\">\r\n                                  添加同级主题(Enter)\r\n                                </div>\r\n                                <div data-v-9444acd8=\"\" class=\"operate\">\r\n                                  减少缩进\r\n                                </div>`;\r\n      const divsContainer = document.createElement('div');\r\n      divsContainer.innerHTML = innerHTML;\r\n      while (divsContainer.firstChild) {\r\n        this.dynamicDiv.appendChild(divsContainer.firstChild);\r\n      }\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      tabElement1.style.visibility = 'hidden';\r\n    } else if (count === 5) {\r\n      let text = \"进行保存或清空思维导图\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 30)/108}rem`;\r\n      tabElement1.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      const tabElement1_1 = document.querySelectorAll('#mind_step4')[0];\r\n      const rect1 = tabElement1_1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.backgroundColor = 'rgba(0, 0, 0, 0)';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n\r\n      const saveButton = document.createElement('button');\r\n      saveButton.className = 'el-button bg-transparent el-button--default';\r\n      saveButton.style = `  padding: 0.02777778rem 0.14814815rem 0.01851852rem;\r\n      font-size: 0.12962963rem;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      background: #fff;\r\n      border-color: #74b0bc;\r\n      border-radius: 0.25925926rem;\r\n      line-height: 0.19444444rem;`;\r\n      saveButton.innerHTML = '<span>保存</span>';\r\n      const deleteButton = document.createElement('button');\r\n      deleteButton.className = 'el-button bg-transparent el-button--default';\r\n      deleteButton.style = `  padding: 0.02777778rem 0.14814815rem 0.01851852rem;\r\n      font-size: 0.12962963rem;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #FD8B65;\r\n      background: #fff;\r\n      border-color: #FD8B65;\r\n      border-radius: 0.25925926rem;\r\n      line-height: 0.19444444rem;`;\r\n      deleteButton.innerHTML = '<span>清空</span>';\r\n      const exitButton = document.createElement('button');\r\n      exitButton.className = 'el-button el-button--default';\r\n      exitButton.style = `  padding: 0.02777778rem 0.14814815rem 0.01851852rem;\r\n      font-size: 0.12962963rem;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #fff;\r\n      background: #71AFBB;\r\n      border-color: #71AFBB;\r\n      border-radius: 0.25925926rem;\r\n      line-height: 0.19444444rem;`;\r\n      exitButton.innerHTML = '<span>退出编辑</span>'\r\n      this.dynamicDiv.appendChild(deleteButton);\r\n      this.dynamicDiv.appendChild(saveButton);\r\n      this.dynamicDiv.appendChild(exitButton);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      const tabElement2 = document.querySelectorAll('.guide_mind_step4');\r\n      tabElement2.forEach(element => {\r\n        element.style.visibility = 'hidden';\r\n      });\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${28 / 108}rem`;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"setCultureGuideMode\", 1);\r\n    EventBus.$emit(\"setShow\", false);\r\n    that.setMindMapGuideMode(1);\r\n    // 销毁dynamicDiv\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    userGuideStatus('mindMap');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n\r\n//问题意识\r\nexport function problemConsciousness_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'problemConsciousness_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  that.$refs.commitProblem.setCommitProblemGuideStatus(0);\r\n  that.$refs.commitProblem.setGuideButton(0);\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      let text = \"文章中要说明和要解决的问题\";\r\n      let width = text.length * 16;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 14)/108}rem`;\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      let text = \"发现文章中要说明的问题，这跟后\";\r\n      let width = text.length * 16;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 14)/108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0.09259259rem`;\r\n    } else if (count === 3) {\r\n      // let text = \"下一步，进入 “问题推荐”\";\r\n      // let width = text.length * 16;\r\n      // document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 14)/108}rem`;\r\n      // document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      // document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      // document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0.10185185rem`;\r\n      // document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      // document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    // EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"setThinkingGuideMode\", 1);\r\n    that.setProblemConsciousnessGuideMode(1)\r\n    userGuideStatus('problemConsciousness')\r\n    EventBus.$emit(\"commitProblem_initGuide\");\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function commitProblem_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"right\", \"bottom\", \"top\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'commitProblem_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    disableInteraction: true,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    // if (count === 1) {\r\n    //   document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0.14814815rem`;\r\n    //   that.setGuideButton(0);\r\n    // } else if (count === 2) {\r\n    //   let text = \"大问题、小问题，可以自己填写\";\r\n    //   let width = text.length * 16;\r\n    //   document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 13)/108}rem`;\r\n    //   document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n    //   document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    // }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    that.guide2();\r\n    // EventBus.$emit(\"disableReadOnlyMode\");\r\n    // that.setCommitProblemGuideStatus(1)\r\n    // that.setGuideButton(1);\r\n    // userGuideStatus('commitProblem');\r\n    // that.init();\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function commitProblem_guide2(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"right\", \"bottom\", \"top\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'commitProblem_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    disableInteraction: true,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      const lll = document.getElementsByClassName('introjs-arrow');\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0.14814815rem`;\r\n      document.getElementsByClassName('index_customTooltip')[0].classList.remove(\"introjs-right\");\r\n      document.getElementsByClassName('index_customTooltip')[0].classList.add(\"introjs-bottom-left-aligned\");\r\n      document.getElementsByClassName('index_customTooltip')[0].style.top = '78%';\r\n      document.getElementsByClassName('index_customTooltip')[0].style.left = '50%';\r\n      document.getElementsByClassName('index_customTooltip')[0].style.transform = 'translate(-50%, -50%)';\r\n      document.getElementsByClassName('index_customTooltip')[0].style.marginLeft = '0';\r\n      document.getElementsByClassName('index_customTooltip')[0].style.position = 'fixed';\r\n      document.getElementsByClassName('introjs-arrow')[0].classList.remove('left');\r\n      document.getElementsByClassName('introjs-arrow')[0].classList.add('top');\r\n      document.getElementsByClassName('introjs-arrow')[0].style.display = 'block';\r\n\r\n      // that.setGuideButton(0);\r\n    } else if (count === 2) {\r\n      let text = \"大问题、小问题，可以自己填写\";\r\n      let width = text.length * 16;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 13)/108}rem`;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    that.setCommitProblemGuideStatus(1)\r\n    that.setGuideButton(1);\r\n    // userGuideStatus('commitProblem');\r\n    that.init();\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function question_guide_1(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'question_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.14814815rem';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"setThinkingGuideMode\", 1);\r\n    that.setQuestionListGuideMode(1)\r\n    userGuideStatus('problemWorkOut_1');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function question_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'question_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.14814815rem'\r\n    }\r\n    if (count === 2) {\r\n      let text = \"点击可以阅读/收起推荐问题详情\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 24)/108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.14814815rem'\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      let text = \" 解决问题的过程（点击卡片填写：道\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 17)/108}rem`;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    that.setQuestionListGuideMode(1)\r\n    userGuideStatus('problemWorkOut');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function tipsView_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let tipsView_step1;\r\n  let tipsView_step2;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'tipsView_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      var text = \"可以添加自己的观修文 (音频/文字)\";\r\n      var width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      tipsView_step1 = document.querySelectorAll('#tipsView_step1')[0];\r\n      const rect1 = tipsView_step1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.width = '1.64814815rem';\r\n      this.dynamicDiv.style.height = '0.46296296rem';\r\n      this.dynamicDiv.style.borderRadius = '0.23148148rem';\r\n      this.dynamicDiv.style.border = '0.00925926rem solid #64afd5';\r\n      this.dynamicDiv.style.color = '#64afd5';\r\n      this.dynamicDiv.style.textAlign = 'center';\r\n      this.dynamicDiv.style.lineHeight = '0.49074074rem';\r\n      this.dynamicDiv.style.fontSize = '0.14814815rem';\r\n      this.dynamicDiv.style.fontFamily = 'SourceHanSansCN-Medium, SourceHanSansCN';\r\n      this.dynamicDiv.style.fontWeight = '400';\r\n      this.dynamicDiv.style.cursor = 'pointer';\r\n      this.dynamicDiv.innerHTML = '添加观修文';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      tipsView_step1.style.visibility = 'hidden';\r\n    } else if (count === 3) {\r\n      tipsView_step1.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${230/108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      tipsView_step2 = document.querySelectorAll('#tipsView_step2')[0];\r\n      const spanElement = document.createElement('span');\r\n      spanElement.innerHTML = ` 进入止静\r\n                                <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAA9tJREFUaEPt2V1oHFUUB/Bz7qabpDZNQMlDkz5UiXamvghFQR80qWs1sZmsYAp+VNTdTYkYDRSsILogWhBMUWNtJotVsH6XnQ2lNo1F8EF90AcfZgatVdQGUpRiaUzitpm/zGZ3s4jYJjP31pa9T/twmfP/3XNn54vpMhl8mTioCvm/dbLakWpHJK1A4K2VsuwBD3x3RIihEWP9YUk5z3vYQJDUxPFG/Dn3O0A1zHQOQmzLdGvvnbeqhAmBIH6epOV8BeAm/zcTeyz4EdPQ3paQ9T8PGRiyffyH5nMz+aNEuL5QiRkE3p6Ja6ZKTGCIH/axT90r/5rGBAE3lDCCecA0tGFVmFAgftgnsz81TdPMOBHdWAovSOww49rLKjChQfywjx86tno2nz9EoFvKGOZnzB79BdmYUCF+2B3jU1f8MXvqIAG3lcMLfj5j6M/KxIQO8cMOfvFr/ZmTZ3JEiJXCs+CXRg39KVkYKZDiNqudy589AKCrHJ7Fq5ke7QkZGGkQP2zaRnTymPs+gHi5M8x7TUPrZ/9vOsQhFVLAfIaaE6fddwjYutgZ2tdq6Ik0sxeWRTrED/ohEJnIufsAPFiBefcOQ9/WyzwfBkYJpNAZQJzIuSMEJBa3GX3Mrfp95kY+GxSjDOIHBcCpnDsMoL8CM9bSpt+b3sD5IBilkFLQpOUMARis2GaHWxtXxtPt6+aWi7koED9sMmu/CKKny50hPjIa1zdfchA/cMKy3yTQw4vhxcZMXPtmOZiL15Ex91aa9w6CaFUhONNUQ/Pqq3ffvHb2koH05ZyYB1gArSwiTrKgTaPdG+zlIBbWQfHos5zOeaIDBNQVAjBP1rDY9Iax/rsgUZRCUlmnxyN8QETRBQT9wtFoh9nZdjwIQmlHkmN2L3m0339RUQz9Y22UO17v0n8OilAG6cvZD8x7/BYRIgtF+ftITaRj75brJsNAKIEkss6jTGSCIIrnhL1iRf3te7rWTYWFkA5JWk4/iIYJKJyLTPRtXW009lpn229hIqRCUpYz6AFD5cDMXzfUNWzefefaU2EjpEFSlrvTg7drMTB/KVbV3mXGrjktAyEFksi5z5HnpSs68Xm08aquPe3N07IQoUMSlr2LQDsrEEdFpKnb3LJmRiYiVMg/b82Z+JOWpvp7gtyaLwUf+Mr+rw9LxLmWa7XeoA9LSiEJy32F4A2UijLTR9yq3x/G46sySOX3keK90/6YoT8U1gsFZRC/UCLrHGFGOxOPrDG0gTBf8SiF+MX8zsi8RlwIKPDJfiFFVMypQlSs8lJqVDuylNVSMbfaERWrvJQafwNYPktCGGfJbQAAAABJRU5ErkJggg==\">`\r\n      const rect1 = tipsView_step2.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.style.width = rect1.width + 'px';\r\n      this.dynamicDiv.appendChild(spanElement);\r\n      this.dynamicDiv.classList.add('guide_meditate_silent');\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      tipsView_step2.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    tipsView_step2.style.visibility = 'visible';\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    EventBus.$emit(\"setThinkingGuideMode\", 1);\r\n    that.setTipsViewGuideMode(1)\r\n    userGuideStatus('meditate_1');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function behavior_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let behavior_step1;\r\n  let behavior_step2;\r\n  let dynamicDiv;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'behavior_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      let text = \"点击查看 “心态禅修” 具体内涵\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${50 / 108}rem`;\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('guide_line')[0].style.transform = \"rotate(260deg)\";\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 3) {\r\n      let text = \"可以添加自己的观修文 (音频/文字)\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width - 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      behavior_step1 = document.querySelectorAll('#behavior_step1')[0];\r\n      const rect1 = behavior_step1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.width = '1.64814815rem';\r\n      this.dynamicDiv.style.height = '0.46296296rem';\r\n      this.dynamicDiv.style.borderRadius = '0.23148148rem';\r\n      this.dynamicDiv.style.border = '0.00925926rem solid #fd8b65';\r\n      this.dynamicDiv.style.color = '#fd8b65';\r\n      this.dynamicDiv.style.textAlign = 'center';\r\n      this.dynamicDiv.style.lineHeight = '0.49074074rem';\r\n      this.dynamicDiv.style.fontSize = '0.14814815rem';\r\n      this.dynamicDiv.style.fontFamily = 'SourceHanSansCN-Medium, SourceHanSansCN';\r\n      this.dynamicDiv.style.fontWeight = '400';\r\n      this.dynamicDiv.style.cursor = 'pointer';\r\n      this.dynamicDiv.innerHTML = '添加观修文';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      behavior_step1.style.visibility = 'hidden';\r\n    } else if (count === 4) {\r\n      behavior_step1.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${230/108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      behavior_step2 = document.querySelectorAll('#behavior_step2')[0];\r\n      const spanElement = document.createElement('span');\r\n      spanElement.innerHTML = ` 进入止静\r\n                                <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAA5pJREFUaEPt2U9oFFccB/Dfd2ZNTNOooPSwBQXPXgSxBw/aaJDWUmqhW6itxdbMhgS3ZndCLYgulFbozm6ojX92DlWhWmsVahHrvyD0Ug968ODBQgWFiKIIirbxz75vmdnNZqGlmsy8Z5Wd0x6G+X0/7/dm3rxZyHNy4DlxSBPyf+tksyPNjmgagchTiwUnQ/ANWFYJ2fIxTTkfe9lIEJad6bwjNylMQPAIwGq45e8fW1XDCZEgQR7lOWdIvhL8hkAB8hFcf4+GrP95ycgQFnpeItQwyXkhBkIIeuD6vklMZEgQlkN9Mzn68CTJ+XUMkcGAP2QKEwskxAyun8HKveOkLBwLbwEuXL9oAhMbJMRsXTeN90ePUmRRHWNhI3L+F7oxsUJCTMFtJ24fIWXJeHh8bg/4m3RiYoeEmFJ/G9Xdw6R01cMDX9mu/6kujBZIbZq18sH9QyRX1MNb2Grn/E90YLRBQsyBfAsvj+ynyMrxzshOK+f3AmCcIK2QEHM6n1Dnrn4n5LsN02yXlUuuBfIqLox2SLUzB2x15dQuIT9oeADss+YsW41UqhIHxggkxDBvqeLVspBrx4IDchAdeA9p/2FUjDFIFUOoYs+QUPWOY/AzZiffQSr/IArGKGQsaMVzSkL21zGCY5iVXIk1+dHJYp4KJAhbKaa/FKU+a8CcsAb85c8cJMR4zrdCrhkLbyGxAO6Oc5PBPLWOsNS9mApHSL4YBIfgGuz2ucgO/vXMQOilu0j+ROELIQJyHVbLUmS3XZgMojoQhg8W069TqUMUmVpFYAQJeynW77gYJYpRCD3nLZI/UKSlNp2uoFU6kfH/iIIw2hEWelIUtTf4UFHrxCXIlE642y5HRRiDsJh+n1S7SbFr98TvsOxOZHeOxIEwAmEh/TGFPoVWDXEBbVOWoW/7tbgQ2iH0unspMkRWHyoAzqOltQuZb27EidAKoef0K7LUsHKfhd2+HNnBW3EjtEHoORsUuaUB8RumyWtI+7d1ILRAWHQ2K8V8HQH8irbECvRtv6sLETuk4jlbhNzQgBhGh7yJtP+nTkSskH+8mgO/YGby7Siv5hPBR17Z/3WzJHIYc15ORd0sGYVUis7XophpmE4/okNWxbF9NQZp/H8kLArZa83u+jCuDwrGIEEh5XWfEOJVQspWLpmJ8xOPUUhQLOiMzjXiSUCRb/YnKWLinCbExChPpEazIxMZLRPnNjtiYpQnUuNvrJpVQs41F9wAAAAASUVORK5CYII=\">`\r\n      const rect1 = behavior_step2.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.appendChild(spanElement);\r\n      this.dynamicDiv.classList.add('guide_meditate_silent_1');\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      behavior_step2.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    behavior_step2.style.visibility = 'visible';\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    EventBus.$emit(\"setBehaviorGuideMode\", 1);\r\n    that.setBehaviorGuideMode(1)\r\n    userGuideStatus('meditate_2');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function conformTips_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'conformTips_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    disableInteraction: true,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      // document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      // document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      let text = \"其他分享：每周学习过程中的记录\";\r\n      let width = text.length * 16;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 11)/108}rem`;\r\n      const targetElement1 = document.getElementsByClassName('main-content')[0];\r\n      const rect1 = targetElement1.getBoundingClientRect();\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `${rect1.width}px`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.left = `${rect1.left + window.scrollX}px`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${0}px`;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"setBehaviorGuideMode\", 1);\r\n    that.setConformTipsGuideMode(1)\r\n    userGuideStatus('confirmTips');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n\r\nexport function silence_guide(that, meditate_type, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let silence_step1;\r\n  let silence_step2;\r\n  let dynamicDiv;\r\n  let dynamicDiv2;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'index_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      let text = \"可选择止静时间（5/10/15分钟）\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width - 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '80px';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      silence_step1 = document.querySelectorAll('.el-input--suffix')[0];\r\n      console.log(\"silence_step1 :\", silence_step1);\r\n      const rect1 = silence_step1.getBoundingClientRect();\r\n      console.log(rect1)\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.style.width = `${153 / 108}rem`;\r\n      this.dynamicDiv.style.height = `${43 / 108}rem`;\r\n      this.dynamicDiv.style.borderRadius = `${29 / 108}rem`;\r\n      this.dynamicDiv.style.border = `${1 / 108}rem solid #fff`;\r\n      this.dynamicDiv.style.background = `transparent`;\r\n\r\n      this.dynamicDiv.style.display = 'flex';\r\n      this.dynamicDiv.style.justifyContent = 'center';\r\n      this.dynamicDiv.style.alignItems = 'center';\r\n\r\n      const spanElement = document.createElement('span');\r\n      spanElement.style.fontSize = `${16 / 108}rem`;\r\n      spanElement.style.fontFamily = 'SourceHanSansCN, SourceHanSansCN';\r\n      spanElement.style.fontWeight = '300';\r\n      spanElement.style.color = '#fff';\r\n      spanElement.style.letterSpacing = '0.01rem';\r\n      spanElement.style.lineHeight = 'normal';\r\n      spanElement.style.marginLeft = `${10 / 108}rem`;\r\n      spanElement.innerHTML = '止静5分钟<i class=\"el-icon-arrow-down el-icon--right\"></i>';\r\n      this.dynamicDiv.appendChild(spanElement);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      silence_step1.style.visibility = 'hidden';\r\n\r\n      silence_step2 = document.querySelectorAll('.dropdown-silence')[0];\r\n      console.log(\"silence_step2 :\", silence_step2);\r\n      const rect2 = silence_step2.getBoundingClientRect();\r\n      console.log(rect2);\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.className = 'el-select-dropdown el-popper dropdown dropdown1'\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect2.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect2.left + window.scrollX}px`;\r\n      // 创建一个新的 div 元素作为容器\r\n      const parentDiv = document.createElement('div');\r\n      parentDiv.className = 'el-scrollbar'; // 添加类名 el-scrollbar\r\n      // 创建内部的各个子元素\r\n      const dropdownWrap = document.createElement('div');\r\n      dropdownWrap.className = 'el-select-dropdown__wrap el-scrollbar__wrap el-scrollbar__wrap--hidden-default';\r\n      const ul = document.createElement('ul');\r\n      ul.className = 'el-scrollbar__view el-select-dropdown__list';\r\n      // 创建列表项\r\n      const li1 = document.createElement('li');\r\n      li1.className = 'el-select-dropdown__item selected';\r\n      if (meditate_type === '1') {\r\n        li1.innerHTML = '<span style=\"color: #64afd5\">止静5分钟</span>';\r\n      } else if (meditate_type === '2') {\r\n        li1.innerHTML = '<span style=\"color: #fd8b65\">止静5分钟</span>';\r\n      }\r\n      const li2 = document.createElement('li');\r\n      li2.className = 'el-select-dropdown__item';\r\n      li2.innerHTML = '<span>止静10分钟</span>';\r\n      const li3 = document.createElement('li');\r\n      li3.className = 'el-select-dropdown__item';\r\n      li3.innerHTML = '<span>止静15分钟</span>';\r\n      // 将列表项添加到 ul 中\r\n      ul.appendChild(li1);\r\n      ul.appendChild(li2);\r\n      ul.appendChild(li3);\r\n      // 创建水平滚动条\r\n      const horizontalBar = document.createElement('div');\r\n      horizontalBar.className = 'el-scrollbar__bar is-horizontal';\r\n      const horizontalThumb = document.createElement('div');\r\n      horizontalThumb.className = 'el-scrollbar__thumb';\r\n      horizontalThumb.style.transform = 'translateX(0%)';\r\n      horizontalBar.appendChild(horizontalThumb);\r\n      // 创建垂直滚动条\r\n      const verticalBar = document.createElement('div');\r\n      verticalBar.className = 'el-scrollbar__bar is-vertical';\r\n      const verticalThumb = document.createElement('div');\r\n      verticalThumb.className = 'el-scrollbar__thumb';\r\n      verticalThumb.style.transform = 'translateY(0%)';\r\n      verticalBar.appendChild(verticalThumb);\r\n      // 将所有子元素添加到 dropdownWrap 中\r\n      dropdownWrap.appendChild(ul);\r\n      dropdownWrap.appendChild(horizontalBar);\r\n      dropdownWrap.appendChild(verticalBar);\r\n      // 将 dropdownWrap 添加到 parentDiv 中\r\n      parentDiv.appendChild(dropdownWrap);\r\n      // 将 parentDiv 添加到 this.dynamicDiv 中\r\n      this.dynamicDiv.appendChild(parentDiv);\r\n      // 将 this.dynamicDiv 添加到 document.body 中\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv2 = this.dynamicDiv;\r\n      silence_step2.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    // that.setConformTipsGuideMode(1)\r\n    // alert(meditate_type)\r\n    that.selectHide();\r\n    silence_step1.style.visibility = 'visible';\r\n    silence_step2.style.visibility = 'visible';\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    if (dynamicDiv2 && dynamicDiv2.parentNode) {\r\n      dynamicDiv2.parentNode.removeChild(dynamicDiv2);\r\n    }\r\n    if (meditate_type === '1') {\r\n      userGuideStatus('silence_1');\r\n    } else if (meditate_type === '2') {\r\n      userGuideStatus('silence_2');\r\n    }\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function createTips_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let tip_title;\r\n  let createTips_step0;\r\n  let createTips_step1;\r\n  let createTips_step3;\r\n  let createTips_step4;\r\n  let new_createTips_step0;\r\n  let new_createTips_step1;\r\n  let new_createTips_step3;\r\n  let new_createTips_step4;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'index_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n        that.$refs[\"tag\" + 2][0].className = \"tag tagActive\";\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      tip_title = document.querySelectorAll('.tip-title')[0];\r\n      const rect1 = tip_title.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.style.width = `${rect1.width}px`;\r\n      this.dynamicDiv.style.height = `${rect1.height}px`;\r\n      this.dynamicDiv.style.borderRadius = `${4 / 108}rem`;\r\n      this.dynamicDiv.style.backgroundColor = '#fff';\r\n\r\n      const span = document.createElement('span');\r\n      span.textContent = '输入心得标题';\r\n      // span.style.color = '#d4d9db';\r\n      span.style.color = '#bbb';\r\n      span.style.display = 'flex';\r\n      span.style.alignItems = 'center';\r\n      span.style.marginLeft = `${16 / 108}rem`\r\n      span.style.height = '100%';\r\n\r\n      this.dynamicDiv.appendChild(span);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      tip_title.style.visibility = 'hidden';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${4 / 108}rem`;\r\n    } else if (count === 2) {\r\n      tip_title.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      createTips_step0 = document.querySelectorAll('#createTips_step0')[0];\r\n      createTips_step1 = document.querySelectorAll('#createTips_step1')[0];\r\n      createTips_step3 = document.querySelectorAll('#createTips_step3')[0];\r\n      createTips_step4 = document.querySelectorAll('#createTips_step4')[0];\r\n      const rect0 = createTips_step0.getBoundingClientRect();\r\n      const rect1 = createTips_step1.getBoundingClientRect();\r\n      const rect3 = createTips_step3.getBoundingClientRect();\r\n      const rect4 = createTips_step4.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect0.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect0.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '智慧文化';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step0 = this.dynamicDiv;\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '如理思维';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step1 = this.dynamicDiv;\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect3.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect3.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '心态禅修';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step3 = this.dynamicDiv;\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect4.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect4.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '品质禅修';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step4 = this.dynamicDiv;\r\n\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${8 / 108}rem`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      createTips_step0.style.visibility = 'hidden';\r\n      createTips_step1.style.visibility = 'hidden';\r\n      createTips_step3.style.visibility = 'hidden';\r\n      createTips_step4.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    if (new_createTips_step0 && new_createTips_step0.parentNode) {\r\n      new_createTips_step0.parentNode.removeChild(new_createTips_step0);\r\n    }\r\n    if (new_createTips_step1 && new_createTips_step1.parentNode) {\r\n      new_createTips_step1.parentNode.removeChild(new_createTips_step1);\r\n    }\r\n    if (new_createTips_step3 && new_createTips_step3.parentNode) {\r\n      new_createTips_step3.parentNode.removeChild(new_createTips_step3);\r\n    }\r\n    if (new_createTips_step4 && new_createTips_step4.parentNode) {\r\n      new_createTips_step4.parentNode.removeChild(new_createTips_step4);\r\n    }\r\n    createTips_step0.style.visibility = 'visible';\r\n    createTips_step1.style.visibility = 'visible';\r\n    createTips_step3.style.visibility = 'visible';\r\n    createTips_step4.style.visibility = 'visible';\r\n    that.$refs[\"tag\" + 2][0].className = \"tag\";\r\n    userGuideStatus('confirmTips_1')\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function cultrueContent_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let new_cultrueContent_step2;\r\n  let cultrueContent_step2;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'cultrue_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopLeftRadius = '20px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopRightRadius = '20px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-bottom-left-aligned')[0].style.marginLeft = '-35%';\r\n    } else if (count === 2) {\r\n\r\n    } else if (count === 3) {\r\n      cultrueContent_step2 = document.querySelectorAll('#cultrueContent_step2_1')[0];\r\n      let cultrueContent_step2_2 = document.querySelectorAll('#cultrueContent_step2')[0];\r\n      let rect1 = cultrueContent_step2.getBoundingClientRect();\r\n      let rect2 = cultrueContent_step2_2.getBoundingClientRect();\r\n      let divElement = document.createElement('div');\r\n      divElement.classList.add('guide_collect');\r\n      divElement.style.zIndex = '9999998';\r\n      divElement.style.position = 'absolute';\r\n      divElement.style.left = `${rect1.left + window.scrollX}px`;\r\n      divElement.style.top = `${rect2.top + window.scrollY}px`;\r\n      divElement.style.width = `${rect1.width}px`;\r\n      divElement.style.height = `${rect1.height}px`;\r\n      divElement.style.backgroundColor = 'transparent';\r\n      let collectDiv = document.createElement(\"div\");\r\n      collectDiv.style.width = `${rect2.width}px`;\r\n      collectDiv.style.height = `${rect2.height}px`;\r\n      let imgElement = document.createElement('img');\r\n      imgElement.src = 'data:image/png;base64,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';\r\n      let pElement2 = document.createElement('p');\r\n      pElement2.textContent = '收藏';\r\n      collectDiv.appendChild(imgElement);\r\n      collectDiv.appendChild(pElement2);\r\n      divElement.appendChild(collectDiv);\r\n      document.body.appendChild(divElement);\r\n      new_cultrueContent_step2 = divElement;\r\n      cultrueContent_step2.style.visibility = 'hidden';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    if (new_cultrueContent_step2 && new_cultrueContent_step2.parentNode) {\r\n      new_cultrueContent_step2.parentNode.removeChild(new_cultrueContent_step2);\r\n    }\r\n    cultrueContent_step2.style.visibility = 'visible';\r\n    that.setCourseContentGuideStatus(1)\r\n    userGuideStatus('courseContent')\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function heartPlaza_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'cultrue_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    helperElementPadding: 0,\r\n    scrollToElement: false,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '50px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopLeftRadius = '0.14814815rem';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopRightRadius = '0px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderBottomRightRadius = '0px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderBottomLeftRadius = '0px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 4) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0px';\r\n    } else if (count === 5) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"setBehaviorGuideMode\",1)\r\n    that.setHeartPlazaGuideStatus(1)\r\n    userGuideStatus('heartPlaza')\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function ocean_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"知道了\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'ocean_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    helperElementPadding: 0,\r\n    scrollToElement: false,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      let text = \"点击查看 “品质禅修” 具体内涵\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${50 / 108}rem`;\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    userGuideStatus('ocean');\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport async function userGuideStatus(propertyName) {\r\n  EventBus.$emit(\"CLOSE_PROGRESS_THEN_COMPLETE\");\r\n  let guideStatus = JSON.parse(localStorage.getItem('guideStatus'));\r\n  if (guideStatus) {\r\n    guideStatus[propertyName] = 1; // 设置对应属性的值为 1，可以根据实际需要进行修改\r\n    const jsonData = {\r\n      guide_status: JSON.stringify(guideStatus)\r\n    };\r\n\r\n    try {\r\n      // 设置用户引导状态\r\n      const setUserRes = await setUserGuideStatus(jsonData); // 假设这里是一个异步函数来设置用户状态\r\n      if (setUserRes.code === 0) {\r\n        // 再次获取用户引导状态\r\n        const updatedRes = await getUserGuideStatus(); // 假设这里是一个异步函数来获取更新后的用户状态\r\n        guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n        if (guideStatus) {\r\n          localStorage.setItem('guideStatus', JSON.stringify(guideStatus));\r\n        }\r\n      } else {\r\n        console.error('Failed to set user guide status:', setUserRes.message);\r\n      }\r\n    } catch (error) {\r\n      console.error('Error setting or retrieving user guide status:', error);\r\n    }\r\n  } else {\r\n    console.error('guideStatus not found in localStorage');\r\n  }\r\n}\r\n\r\n\r\nexport function guide_3(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'customHighlight_3',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'customTooltip_3',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    // alert(count)\r\n\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    // 点击完成以及跳过按钮后执行的事件，不区分完成和跳过。\r\n    state = 1\r\n\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n// 黑版-提交案例\r\nexport function blackCreateCase(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"bottom\", \"top\",\"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"知道了\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'blackCreateCaseLayer',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip index_customTooltip_textCenter',\r\n    helperElementPadding: 0,\r\n    scrollToElement: false,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"blackCreateCaseGuide\", false);\r\n    userGuideStatus('blackCreateCase');\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n// 黑版-案例列表\r\nexport function blackMyCasea(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"bottom\", \"top\",\"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"知道了\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'myCasesGuideLayer',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip index_customTooltip_textCenter',\r\n    helperElementPadding: 0,\r\n    scrollToElement: false,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 2) {\r\n      const layer = document.querySelector('.myCasesGuideLayer')\r\n      layer.style.borderRadius = '16px';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"blackMyCaseaGuide\", false);\r\n    userGuideStatus('blackMyCasea');\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/intro.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjE1Ljc1MjQ5NDZweCIgaGVpZ2h0PSIyMC45ODg5NDEzcHgiIHZpZXdCb3g9IjAgMCAxNS43NTI0OTQ2IDIwLjk4ODk0MTMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQogICAgPHRpdGxlPue8lue7hDwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG155m9bWluaVYy5pys6K++6Zeu6aKY6Kej5YazLemBk+eQhuS4iueahOeQhuino+WujOaIkO+8iOmimOebrui/h+mVv+aXtu+8iSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgxOS42MTk2MzcsIC05My4zOTAxNjQpIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS40Ij4NCiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIwLjMxOTY3MiwgOTMuNDgzNjA3KSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDAuNjA2NTU3KSI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04LjE3NzY1MTA0LDMuOTg3NDMwNDIgTDEuNTA1NDUyNjQsMTMuODU0MjA4MSBMNS4xMjAwNTczLDE2LjI2ODM5OTQgTDExLjc4NDE0MTYsNi40MTM1NTQyMSBDMTIuMTU2NDM2OCw1Ljg2MjI3MDkyIDEyLjAwOTkwNTIsNS4xMTMzODQ3OCAxMS40NTY3MTI3LDQuNzQzOTUzMzggTDkuODM4MTgzMTUsMy42NjE5MTA3NiBDOS4yODkyODYzNiwzLjI5NTM0MzE3IDguNTQ3NTU5NzUsMy40NDA0NDI4NCA4LjE3NzY1MTA0LDMuOTg3NDMwNDIgWiIgaWQ9IlN0cm9rZS0xIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjIyNDE1NzcyOSwxNS44NTc2NjAzIEwwLjAwMDc4MDYwMjg0MSwxOS4yMTczODU5IEMtMC4wMTY4Nzk1NTQ2LDE5LjQ4ODAxNTkgMC4yNjg1NDY3NzQsMTkuNjczNjg2MiAwLjUwODYyOTQ1NSwxOS41NDcyMDEzIEwzLjQ0MTE3MDE5LDE4LjAwNTk5NDYiIGlkPSJTdHJva2UtMyI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQuMzUyNDU5LDEuMTA1NDMwNCBDMTQuMzUyNDU5LDEuNzE1ODk5MDggMTMuODU3NDk3MywyLjIxMDg2MDc5IDEzLjI0NzAyODYsMi4yMTA4NjA3OSBDMTIuNjM2NTU5OSwyLjIxMDg2MDc5IDEyLjE0MTU5ODIsMS43MTU4OTkwOCAxMi4xNDE1OTgyLDEuMTA1NDMwNCBDMTIuMTQxNTk4MiwwLjQ5NDk2MTcxIDEyLjYzNjU1OTksMCAxMy4yNDcwMjg2LDAgQzEzLjg1NzQ5NzMsMCAxNC4zNTI0NTksMC40OTQ5NjE3MSAxNC4zNTI0NTksMS4xMDU0MzA0IFoiIGlkPSJTdHJva2UtNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/moral_edit_done.svg\n// module id = Gy+w\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUwLjAgLTMxNi4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAuMCAzMTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI3LDAgMjcsMjcgMCwyNyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAgNi45OTk5OTk5OTk5OTk5OTkpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi45OTk5OTk5OTk5OTkzNCA0LjQ0MjYyNzEwMzMxMTAxNykgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik00LjQ0MjYyNzEsNC40NDI2MjcxIEw0LjQ0MjYyNzEsMi4zNTIwODk3NCBDNC40NDI2MjcxLDEuMDUzMjY1NzkgMy4zODkzNjEzMiwwIDIuMDkwNTM3MzYsMCBMMCwwIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNDQyNjI3MTAzMzExMDE3IDEzLjAwMDE4ODE2NzE3OTMzMSkgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik0wLDAgTDAsMi4wOTA1MzczNiBDMCwzLjM4OTM2MTMyIDEuMDUzMjY1NzksNC40NDI2MjcxIDIuMzUyMDg5NzQsNC40NDI2MjcxIEw0LjQ0MjYyNzEsNC40NDI2MjcxIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/exit_fullscreen_thinking_b.svg\n// module id = HQIJ\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM5cHgiIGhlaWdodD0iMzlweCIgdmlld0JveD0iMCAwIDM5LjAgMzkuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQ3LjM2ODQyMTElIiB5PSItNDcuMzY4NDIxMSUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE3My42ODQyMTElIiBoZWlnaHQ9IjE3My42ODQyMTElIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0xMywwIEMyMC4xNzk3MDE3LDAgMjYsNS44MjAyOTgyNSAyNiwxMyBDMjYsMjAuMTc5NzAxNyAyMC4xNzk3MDE3LDI2IDEzLDI2IEM1LjgyMDI5ODI1LDI2IDAsMjAuMTc5NzAxNyAwLDEzIEMwLDUuODIwMjk4MjUgNS44MjAyOTgyNSwwIDEzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MzQuMCAtMzY0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MzQuMCAzNjQuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMCA1LjApIj48ZyBvcGFjaXR5PSIxJSI+PHBhdGggZD0iTTEzLDI2IEMyMC4xNzk3MDE3LDI2IDI2LDIwLjE3OTcwMTcgMjYsMTMgQzI2LDUuODIwMjk4MjUgMjAuMTc5NzAxNywwIDEzLDAgQzUuODIwMjk4MjUsMCAwLDUuODIwMjk4MjUgMCwxMyBDMCwyMC4xNzk3MDE3IDUuODIwMjk4MjUsMjYgMTMsMjYgWiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIiBmaWx0ZXI9InVybCgjaTEpIj48L3BhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2k0KSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMjYsMCAyNiwyNiAwLDI2IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZGRkZGIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNi4wMzQ0ODI3NTg2MjA3OCAxOS43MjQxMzc5MzEwMzQ0OTUpIHJvdGF0ZSg5MC4wKSBzY2FsZSgtMS4wIDEuMCkiPjxwYXRoIGQ9Ik0xMy40NDgyNzU5LDAgTDYuNzIzODMxMSw2LjI3NTg2MjA3IEwwLDAiIHN0cm9rZT0iI0ZGQjA5NSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/behavior_arrow_black.svg\n// module id = IJ/6\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTVweCIgdmlld0JveD0iMCAwIDE3LjAgMTUuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjgxIEwwLDEyODEgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDE1LjAgLTkxOS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDE1LjYwODYxOTcxMjQ2NTggOTE4LjA4NTYyNDAyNjYyOTQpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMTQuOTk4MDg5MTQ0OTgzMDU1KSBzY2FsZSgxLjAgLTEuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCA0LjIyMTQ2NjM4MDE3MjgzODUpIj48cG9seWdvbiBwb2ludHM9IjAsOC40Mzk5NzI1IDMuNzA1Nzg1MzEsOC40Mzk5NzI1IDMuNzA1Nzg1MzEsMCAwLDAgMCw4LjQzOTk3MjUgMCw4LjQzOTk3MjUiIHN0cm9rZT0iIzkyOUE5RiIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BvbHlnb24+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuNzA2MDI2OTYxNjk3NzczNSAwLjApIj48cGF0aCBkPSJNMTAuMzE2ODcyNSw2LjMzMTYwNjk0IEMxMC45NTA2MTM3LDYuMzMxNjA2OTQgMTEuNDU2ODgxNyw1Ljc5OTY0ODY1IDExLjM5MjIzODksNS4xNjgwMjE4OSBDMTEuMzM2MDU0LDQuNjE4OTYwNzIgMTAuODIwNzIzOSw0LjIyMTQ2NjM4IDEwLjI1NTI1MDMsNC4yMjE0NjYzOCBMOC43NDMwOTE3OCw0LjIyMTQ2NjM4IEw3LjUxMDA0NTE4LDQuMjIxNDY2MzggTDUuMzQ4NDM3NzgsNC4yMjE0NjYzOCBMNi40OTIwNzE4OCwxLjQzMzEwODQ4IEM2Ljc3Mjk5NjI2LDAuNzQ3ODE0MDg1IDYuMjU3MDYyMDIsMC4wMDIzNjQ3NjMzNiA1LjUwMTI4NDgxLDAgQzUuMTM2Mzg1MTgsLTAuMDAxMTczNzYxOSA0Ljc5Njg1OTM2LDAuMTc5MjkxMDI2IDQuNTk4NzAxOTUsMC40NzgyOTY0MTEgTDMuMDU2OTQwNiwyLjgxMDc3NDMxIEMyLjQ3NTc1OTQsMy42OTAwOTc4NCAxLjQ3NzExODUzLDQuMjIxNDY2MzggMC40MDUzNzY5MDYsNC4yMjE0NjYzOCBMMCw0LjIyMTQ2NjM4IEwwLjAyNDc2OTY3NjgsMTIuNjYxNDM4OSBMNi4yMDMyOTM3LDEyLjY2MTQzODkgQzYuMjA0NTAxOTcsMTIuNjYxNDM4OSA2LjIwNTcxMDI1LDEyLjY2MjAyODYgNi4yMDY5MTg1MywxMi42NjIwMjg2IEw5LjAxMzc0NTgxLDEyLjY2MjAyODYgQzkuNjEwNjM0NiwxMi42NjIwMjg2IDEwLjA5NDU0OTUsMTIuMzAyODY4MyAxMC4wOTQ1NDk1LDExLjYwNjk1ODMgQzEwLjA5NDU0OTUsMTEuMDE0ODQ1MSA5LjQ2Njg0OTY1LDEwLjU1MTg4ODEgOS40NjY4NDk2NSwxMC41NTE4ODgxIEMxMC4wNjM3Mzg0LDEwLjU1MTg4ODEgMTAuNDYwNjU3NCwxMC4xNjM4Mjk4IDEwLjUzNDM2MjMsOS41ODU4NzA2NyBDMTAuNjExNjkyLDguOTczMTE2MDUgMTAuMDAxNTEyMiw4LjQ0MTc0NzUxIDEwLjAwMTUxMjIsOC40NDE3NDc1MSBDMTAuNTk4NDAxLDguNDQxNzQ3NTEgMTEuMDY0Nzk1OSw3Ljk2OTM1NDM4IDExLjA4MjMxNTksNy4zODY2NzcyMiBDMTEuMTA0NjY5LDYuNjU4MzMwNzggMTAuMzE2ODcyNSw2LjMzMTYwNjk0IDEwLjMxNjg3MjUsNi4zMzE2MDY5NCBaIiBzdHJva2U9IiM5MjlBOUYiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/useless.svg\n// module id = IKJs\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"main-content big-view bg-white full contentBlack-box\"\r\n    :class=\"fullscreen ? 'full' : ''\"\r\n  >\r\n    <div class=\"content-box contentBlack-box\" ref=\"contentBox\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n      <div class=\"types\" ref=\"types\">\r\n        <div class=\"name\" @click=\"back()\">\r\n          <img class=\"back\" v-if=\"fullscreen\" src=\"@/assets/img/case_back.svg\" />\r\n          <img class=\"write\" src=\"@/assets/img/write.svg\" />\r\n          <span>填写/编辑案例</span>\r\n        </div>\r\n        <div class=\"add-wrapper\" @click=\"toCreateCase()\" id=\"addCreateCase\">\r\n          <img src=\"@/assets/img/publish_case.png\" />\r\n          <span>案例分享</span>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"my-tips\" ref=\"myTips\">\r\n        <p class=\"mytip-label\">我的案例</p>\r\n        <div class=\"tips-content\" ref=\"tipsContent\">\r\n          <NoDataBlack v-if=\"!loading && datas.length === 0\" />\r\n          <div class=\"tips list\" >\r\n            <el-card\r\n              class=\"box-card\"\r\n              v-for=\"(item, index) in datas\"\r\n              :key=\"'class' + index\"\r\n              shadow=\"never\"\r\n              :id=\"`myCasesEidtContent${index}`\"\r\n            >\r\n              <div @click=\"toEditCase($event, item)\" >\r\n                <div class=\"header\" v-if=\"item.course_case_status === 2 && item.course_isuseradd == 2\">\r\n                  <div class=\"draft\">已投稿</div>\r\n                  <!-- <p class=\"subtitle\">\r\n                      {{ item.updateTime }}\r\n                    </p> -->\r\n                </div>\r\n                <div class=\"tip\">\r\n                  <span\r\n                    class=\"content prewrap-content\"\r\n                    v-if=\"item.course_case_content\"\r\n                    >{{ item.course_case_content }}\r\n                  </span>\r\n                  <div\r\n                    class=\"player-wrapper\"\r\n                    v-if=\"\r\n                      item.case_audio &&\r\n                        item.case_audio.length &&\r\n                        item.case_audio[0].case_audio_url_show\r\n                    \"\r\n                  >\r\n                    <PlayerAnalyseData\r\n                      :ref=\"'PlayerAnalyseData' + index\"\r\n                      @changePlaying=\"changePlaying\"\r\n                      :bgColor=\"'#0c0e0e'\"\r\n                      :timeColor=\"'#7E878C'\"\r\n                      :clickPlay=\"true\"\r\n                      :url=\"\r\n                        item.case_audio.length\r\n                          ? item.case_audio[0].case_audio_url_show\r\n                          : ''\r\n                      \"\r\n                      :id=\"'classExperienceAudio' + index\"\r\n                      :experienceAudioLong=\"\r\n                        item.case_audio.length\r\n                          ? item.case_audio[0].case_audio_long\r\n                          : 0\r\n                      \"\r\n                    />\r\n                  </div>\r\n                  <div class=\"tag-wrapper\">\r\n                    <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\">\r\n                      {{ item.case_tag_title }}\r\n                    </div>\r\n                    <p class=\"subtitle\" v-if=\"courseIsuseradd != 3\">\r\n                      {{ item.updateTime }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </el-card>\r\n            <p v-if=\"loading\" class=\"loading\">加载中...</p>\r\n            <p v-if=\"!loading && noMore && datas.length > 0\" class=\"loading\">\r\n              --到底啦--\r\n            </p>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getUserCaseList } from \"@/api/index\";\r\nimport PlayerAnalyseData from \"@/components/PlayerAnalyseData\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport NoDataBlack from \"@/components/NoDataBlack\";\r\nimport { blackMyCasea } from \"@/utils/intro\";\r\nexport default {\r\n  components: { PlayerAnalyseData, NoDataBlack },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      datas: [],\r\n      loading: false,\r\n      noMore: false,\r\n      page: 0,\r\n      pageSize: 10,\r\n      courseId: \"\",\r\n      isActivated: true,\r\n      playing: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    caseInfo() {\r\n      return this.$store.getters.caseInfo;\r\n    },\r\n    editCase() {\r\n      return this.$store.getters.editCase;\r\n    },\r\n    delCase() {\r\n      return this.$store.getters.delCase;\r\n    },\r\n    cases() {\r\n      console.log(\"cases:\", this.$store.getters.case);\r\n      return this.$store.getters.case;\r\n    },\r\n    prevCom() {\r\n      return this.$store.getters.prevCom;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    }\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"caseInfo:\", newVal);\r\n        console.log(\"getUserCaseList\")\r\n        if (newVal || newVal == 0) {\r\n          this.courseId = newVal;\r\n          this.init();\r\n        }\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"getUserCaseList\")\r\n        if (newVal) {\r\n          this.init();\r\n\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    guide(isShow) {\r\n      if(isShow === true) {\r\n        console.log(33333, this.datas)\r\n        this.beforeData = this.datas;\r\n        this.datas = [{\r\n          case_create_at: +new Date('2012-12-12'),\r\n          case_tag_id: 2,\r\n          case_tag_title: '非理思维',\r\n          case_tag_type: 4,\r\n          course_case_content: '以为赚很多钱就能幸福，但在当初设定的目标一-实现时，除了带来一些暂时...',\r\n          course_case_id: 1001,\r\n          course_case_isuseradd: 1,\r\n          course_case_status: 2,\r\n          course_id: 1001,\r\n          course_isuseradd: 1,\r\n          course_name: '',\r\n          last_update_at: +new Date('2012-12-12'),\r\n          last_update_device: \"3a8ab110-890e-11ef-a697-5749ed\",\r\n          updateTime: '2012-12-12'\r\n        },{\r\n          case_create_at: +new Date('2012-12-12'),\r\n          case_tag_id: 6,\r\n          case_tag_title: '凡夫性格',\r\n          case_tag_type: 6,\r\n          course_case_content: '孙莉性格懒散，缺乏自律和动力。她容易满足于现状，不愿意接受挑战和变化...',\r\n          course_case_id: 1001,\r\n          course_case_isuseradd: 1,\r\n          course_case_status: 1,\r\n          course_id: 1001,\r\n          course_isuseradd: 1,\r\n          course_name: '',\r\n          last_update_at: +new Date('2012-12-12'),\r\n          last_update_device: \"3a8ab110-890e-11ef-a697-5749ed\",\r\n          updateTime: '2012-12-12'\r\n        },{\r\n          case_create_at: +new Date('2012-12-12'),\r\n          case_tag_id: 7,\r\n          case_tag_title: '凡夫人格',\r\n          case_tag_type: 7,\r\n          course_case_content: '李明性格内向，缺乏自信，容易陷入自我怀疑和焦虑中。他害怕失败，因此...',\r\n          course_case_id: 1001,\r\n          course_case_isuseradd: 1,\r\n          course_case_status: 2,\r\n          course_id: 1001,\r\n          course_isuseradd: 1,\r\n          course_name: '',\r\n          last_update_at: +new Date('2012-12-12'),\r\n          last_update_device: \"3a8ab110-890e-11ef-a697-5749ed\",\r\n          updateTime: '2012-12-12'\r\n        }];\r\n      }\r\n      else if(isShow === false) {\r\n        this.datas = this.beforeData;\r\n        return;\r\n      }\r\n\r\n      this.$nextTick(() => {\r\n        blackMyCasea(this, [\r\n          {\r\n            intro:\r\n              \"点击添加案例\",\r\n            element: document.querySelector(\"#addCreateCase\"),\r\n            position: \"bottom\"\r\n          },\r\n          {\r\n            intro:\r\n              \"点击可以进入编辑\",\r\n            element: document.querySelector(\"#myCasesEidtContent0\"),\r\n            position: \"bottom\"\r\n          },\r\n        ]);\r\n      })\r\n    },\r\n    back() {\r\n      // EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n      this.$router.replace(\"/\");\r\n    },\r\n    init() {\r\n      this.datas = [];\r\n      this.page = 0;\r\n      this.noMore = false;\r\n      this.loading = false;\r\n      this.getUserCaseList();\r\n    },\r\n    load() {\r\n      console.log(\"load mycases:\", this.noMore, this.loading);\r\n      if (this.noMore || this.loading) {\r\n        return;\r\n      }\r\n      this.page += 1;\r\n      this.getUserCaseList();\r\n    },\r\n    changePlaying(playing) {\r\n      this.playing = playing;\r\n    },\r\n    toCreateCase() {\r\n      this.$router.push({\r\n        path: \"/black/CreateCase\"\r\n      });\r\n    },\r\n    // 编辑案例\r\n    toEditCase(e, data) {\r\n      if (e.target.localName === \"img\") {\r\n        return;\r\n      }\r\n      this.$store.dispatch(\"setEditCase\", false);\r\n      this.$router.push({\r\n        path: \"/black/EditCase\",\r\n        query: {\r\n          course_case_id: data.course_case_id,\r\n          course_case_isuseradd: data.course_case_isuseradd\r\n        }\r\n      });\r\n    },\r\n    async getUserCaseList() {\r\n      if(!this.course_id) {\r\n        return;\r\n      }\r\n      if(this.page == 1) {\r\n        this.datas = [];\r\n      }\r\n      let params = {\r\n        // case_tag_type: this.caseInfo.case_tag_type,\r\n        course_id: this.course_id,\r\n        page: this.page,\r\n        pageSize: this.pageSize,\r\n        course_isuseradd: this.courseIsuseradd\r\n      };\r\n\r\n      this.loading = true;\r\n      console.log(\"getUserCaseList:\", params)\r\n      try {\r\n        const res = await getUserCaseList(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          data.forEach(item => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.case_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n          this.datas.push(...data);\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log(\"activated\", this.courseId);\r\n    this.isActivated = true;\r\n    this.courseId = this.course_id;\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    this.fullscreen = true;\r\n\r\n    EventBus.$on(\"blackMyCaseaGuide\", (isShow) => {\r\n      this.guide(isShow);\r\n    });\r\n\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if( guideStatus.blackMyCasea !== 1) {\r\n      setTimeout(() => {\r\n        this.guide(true);\r\n      }, 500)\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n  .content-box {\r\n    display: flex;\r\n  }\r\n}\r\n.full {\r\n  padding: 0;\r\n  // height: calc(100% -60px);\r\n  // margin-top: 60px;\r\n  .content-box {\r\n    // height: 100%;\r\n    // border-radius: 0;\r\n  }\r\n}\r\n.box {\r\n  height: 100%;\r\n}\r\n.content-box {\r\n  padding: 19px 33px 0 23px;\r\n  overflow-y: hidden;\r\n}\r\n\r\n.types {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  flex-direction: column;\r\n  padding-right: 22px;\r\n  .add-wrapper {\r\n    width: 307px;\r\n    height: 77px;\r\n    background: rgba(0, 0, 0, 0.4);\r\n    border-radius: 16px;\r\n    margin-left: 48px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    margin-top: 14px;\r\n    img {\r\n      width: 18px;\r\n      height: 18px;\r\n      margin-right: 13px;\r\n    }\r\n    span {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 14px;\r\n      color: #ffb096;\r\n      line-height: 21px;\r\n      text-align: right;\r\n      font-style: normal;\r\n    }\r\n  }\r\n}\r\n.my-tips {\r\n  flex: 1;\r\n  height: 100%;\r\n  padding-top: 28px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  overflow-y: auto;\r\n  .mytip-label {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #d4d9db;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding-left: 32px;\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 10px;\r\n      left: 20px;\r\n      width: 4px;\r\n      height: 4px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: @behavior;\r\n    }\r\n  }\r\n  .tips-content {\r\n    flex: 1;\r\n    margin-top: 11px;\r\n    padding: 22px 40px 20px 40px;\r\n\r\n    border-radius: 16px;\r\n    background: #111414;\r\n    // padding-top: 33px;\r\n    .tips {\r\n      display: flex;\r\n      justify-content: flex-start;\r\n      flex-wrap: wrap;\r\n      max-height: 100%;\r\n      overflow-y: auto;\r\n      .box-card {\r\n        min-width: 410px;\r\n        margin-bottom: 20px;\r\n        width: 100%;\r\n        cursor: pointer;\r\n        // min-height: 164px;\r\n        border-radius: 16px;\r\n        background: #151818;\r\n        border-color: #151818;\r\n      }\r\n      .header {\r\n        padding-bottom: 13px;\r\n        padding-right: 20px;\r\n        display: flex;\r\n        justify-content: flex-end;\r\n      }\r\n      .draft {\r\n        width: 47px;\r\n        height: 18px;\r\n        line-height: 18px;\r\n        border-radius: 4px;\r\n        border: 1px solid #7e878c;\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        text-align: center;\r\n        margin-left: 17px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n      }\r\n      .tip {\r\n        .content {\r\n          padding: 0 19px 0 17px;\r\n          overflow: hidden;\r\n          text-overflow: ellipsis;\r\n          -webkit-line-clamp: 3;\r\n          -webkit-box-orient: vertical;\r\n          display: -webkit-box;\r\n          margin-bottom: 13px;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n          color: #d4d9db;\r\n          line-height: 26px;\r\n          text-align: justify;\r\n          font-style: normal;\r\n          // white-space: pre;\r\n        }\r\n        .player-wrapper {\r\n          display: flex;\r\n          align-items: center;\r\n          height: 84px;\r\n          padding: 0 36px;\r\n          position: relative;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 40px;\r\n            left: 22px;\r\n            width: 6px;\r\n            height: 6px;\r\n            border-radius: 50%;\r\n            background: #7e878c;\r\n          }\r\n        }\r\n        .tag-wrapper {\r\n          display: flex;\r\n          justify-content: space-between;\r\n          align-items: center;\r\n          padding: 13px 25px 15px 22px;\r\n          border-top: 1px solid rgba(212, 217, 219, 0.1);\r\n        }\r\n        .tag {\r\n          width: 75px;\r\n          height: 25px;\r\n          border-radius: 4px;\r\n          border: 1px solid #7e878c;\r\n          line-height: 25px;\r\n          padding-left: 15px;\r\n          // padding-right: 6px;\r\n          display: flex;\r\n          align-items: center;\r\n          position: relative;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #7e878c;\r\n          text-align: left;\r\n          font-style: normal;\r\n          color: #7e878c;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 11px;\r\n            left: 7px;\r\n            width: 5px;\r\n            height: 5px;\r\n            background: #7e878c;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n          }\r\n        }\r\n        .subtitle {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #7e878c;\r\n          line-height: 18px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          padding-right: 18px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n/deep/ .el-tabs {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tabs__content {\r\n  overflow-y: auto;\r\n  height: calc(100% - 55px);\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tabs__item {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 45px;\r\n}\r\n/deep/ .el-card__body {\r\n  padding: 0;\r\n  padding-top: 27px;\r\n  // background: #f6f6f6;\r\n}\r\n/deep/ .el-tabs__nav-wrap {\r\n  &::after {\r\n    background-color: #f3f3f7;\r\n  }\r\n}\r\n/deep/ .el-tabs__item.is-active {\r\n  color: @behavior;\r\n}\r\n/deep/ .el-tabs__active-bar {\r\n  background-color: @behavior;\r\n}\r\n.fullscreen {\r\n  position: absolute;\r\n  right: 16px;\r\n  top: 0px;\r\n  cursor: pointer;\r\n}\r\n.name {\r\n  display: flex;\r\n  cursor: pointer;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  font-size: 18px;\r\n  color: #ffb096;\r\n  line-height: 27px;\r\n  text-align: right;\r\n  font-style: normal;\r\n  .back {\r\n    width: 45px;\r\n    height: 45px;\r\n  }\r\n  .write {\r\n    width: 17px;\r\n    height: 23px;\r\n    margin-left: 6px;\r\n    margin-right: 7px;\r\n    margin-top: 8px;\r\n  }\r\n  span {\r\n    padding-top: 6px;\r\n  }\r\n}\r\n\r\n.loading {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 28px;\r\n  width: 100%;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/MyCases.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white full contentBlack-box\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],ref:\"contentBox\",staticClass:\"content-box contentBlack-box\",attrs:{\"infinite-scroll-distance\":1}},[_c('div',{ref:\"types\",staticClass:\"types\"},[_c('div',{staticClass:\"name\",on:{\"click\":function($event){return _vm.back()}}},[(_vm.fullscreen)?_c('img',{staticClass:\"back\",attrs:{\"src\":require(\"@/assets/img/case_back.svg\")}}):_vm._e(),_vm._v(\" \"),_c('img',{staticClass:\"write\",attrs:{\"src\":require(\"@/assets/img/write.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"填写/编辑案例\")])]),_vm._v(\" \"),_c('div',{staticClass:\"add-wrapper\",attrs:{\"id\":\"addCreateCase\"},on:{\"click\":function($event){return _vm.toCreateCase()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/publish_case.png\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"案例分享\")])])]),_vm._v(\" \"),_c('div',{ref:\"myTips\",staticClass:\"my-tips\"},[_c('p',{staticClass:\"mytip-label\"},[_vm._v(\"我的案例\")]),_vm._v(\" \"),_c('div',{ref:\"tipsContent\",staticClass:\"tips-content\"},[(!_vm.loading && _vm.datas.length === 0)?_c('NoDataBlack'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tips list\"},[_vm._l((_vm.datas),function(item,index){return _c('el-card',{key:'class' + index,staticClass:\"box-card\",attrs:{\"shadow\":\"never\",\"id\":(\"myCasesEidtContent\" + index)}},[_c('div',{on:{\"click\":function($event){return _vm.toEditCase($event, item)}}},[(item.course_case_status === 2 && item.course_isuseradd == 2)?_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"draft\"},[_vm._v(\"已投稿\")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[(item.course_case_content)?_c('span',{staticClass:\"content prewrap-content\"},[_vm._v(_vm._s(item.course_case_content)+\"\\n                \")]):_vm._e(),_vm._v(\" \"),(\n                    item.case_audio &&\n                      item.case_audio.length &&\n                      item.case_audio[0].case_audio_url_show\n                  )?_c('div',{staticClass:\"player-wrapper\"},[_c('PlayerAnalyseData',{ref:'PlayerAnalyseData' + index,refInFor:true,attrs:{\"bgColor\":'#0c0e0e',\"timeColor\":'#7E878C',\"clickPlay\":true,\"url\":item.case_audio.length\n                        ? item.case_audio[0].case_audio_url_show\n                        : '',\"id\":'classExperienceAudio' + index,\"experienceAudioLong\":item.case_audio.length\n                        ? item.case_audio[0].case_audio_long\n                        : 0},on:{\"changePlaying\":_vm.changePlaying}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tag-wrapper\"},[_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"}},[_vm._v(\"\\n                    \"+_vm._s(item.case_tag_title)+\"\\n                  \")]),_vm._v(\" \"),(_vm.courseIsuseradd != 3)?_c('p',{staticClass:\"subtitle\"},[_vm._v(\"\\n                    \"+_vm._s(item.updateTime)+\"\\n                  \")]):_vm._e()])])])])}),_vm._v(\" \"),(_vm.loading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(!_vm.loading && _vm.noMore && _vm.datas.length > 0)?_c('p',{staticClass:\"loading\"},[_vm._v(\"\\n            --到底啦--\\n          \")]):_vm._e()],2)],1)])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-075aa768\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/MyCases.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-075aa768\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyCases.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyCases.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyCases.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-075aa768\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyCases.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-075aa768\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/MyCases.vue\n// module id = null\n// module chunks = ","<template>\n  <label\n    class=\"el-checkbox\"\n    :class=\"[\n      border && checkboxSize ? 'el-checkbox--' + checkboxSize : '',\n      { 'is-disabled': isDisabled },\n      { 'is-bordered': border },\n      { 'is-checked': isChecked }\n    ]\"\n    :id=\"id\"\n  >\n    <span class=\"el-checkbox__input\"\n      :class=\"{\n        'is-disabled': isDisabled,\n        'is-checked': isChecked,\n        'is-indeterminate': indeterminate,\n        'is-focus': focus\n      }\"\n      :tabindex=\"indeterminate ? 0 : false\"\n      :role=\"indeterminate ? 'checkbox' : false\"\n      :aria-checked=\"indeterminate ? 'mixed' : false\"\n    >\n      <span class=\"el-checkbox__inner\"></span>\n      <input\n        v-if=\"trueLabel || falseLabel\"\n        class=\"el-checkbox__original\"\n        type=\"checkbox\"\n        :aria-hidden=\"indeterminate ? 'true' : 'false'\"\n        :name=\"name\"\n        :disabled=\"isDisabled\"\n        :true-value=\"trueLabel\"\n        :false-value=\"falseLabel\"\n        v-model=\"model\"\n        @change=\"handleChange\"\n        @focus=\"focus = true\"\n        @blur=\"focus = false\">\n      <input\n        v-else\n        class=\"el-checkbox__original\"\n        type=\"checkbox\"\n        :aria-hidden=\"indeterminate ? 'true' : 'false'\"\n        :disabled=\"isDisabled\"\n        :value=\"label\"\n        :name=\"name\"\n        v-model=\"model\"\n        @change=\"handleChange\"\n        @focus=\"focus = true\"\n        @blur=\"focus = false\">\n    </span>\n    <span class=\"el-checkbox__label\" v-if=\"$slots.default || label\">\n      <slot></slot>\n      <template v-if=\"!$slots.default\">{{label}}</template>\n    </span>\n  </label>\n</template>\n<script>\n  import Emitter from 'element-ui/src/mixins/emitter';\n\n  export default {\n    name: 'ElCheckbox',\n\n    mixins: [Emitter],\n\n    inject: {\n      elForm: {\n        default: ''\n      },\n      elFormItem: {\n        default: ''\n      }\n    },\n\n    componentName: 'ElCheckbox',\n\n    data() {\n      return {\n        selfModel: false,\n        focus: false,\n        isLimitExceeded: false\n      };\n    },\n\n    computed: {\n      model: {\n        get() {\n          return this.isGroup\n            ? this.store : this.value !== undefined\n              ? this.value : this.selfModel;\n        },\n\n        set(val) {\n          if (this.isGroup) {\n            this.isLimitExceeded = false;\n            (this._checkboxGroup.min !== undefined &&\n              val.length < this._checkboxGroup.min &&\n              (this.isLimitExceeded = true));\n\n            (this._checkboxGroup.max !== undefined &&\n              val.length > this._checkboxGroup.max &&\n              (this.isLimitExceeded = true));\n\n            this.isLimitExceeded === false &&\n            this.dispatch('ElCheckboxGroup', 'input', [val]);\n          } else {\n            this.$emit('input', val);\n            this.selfModel = val;\n          }\n        }\n      },\n\n      isChecked() {\n        if ({}.toString.call(this.model) === '[object Boolean]') {\n          return this.model;\n        } else if (Array.isArray(this.model)) {\n          return this.model.indexOf(this.label) > -1;\n        } else if (this.model !== null && this.model !== undefined) {\n          return this.model === this.trueLabel;\n        }\n      },\n\n      isGroup() {\n        let parent = this.$parent;\n        while (parent) {\n          if (parent.$options.componentName !== 'ElCheckboxGroup') {\n            parent = parent.$parent;\n          } else {\n            this._checkboxGroup = parent;\n            return true;\n          }\n        }\n        return false;\n      },\n\n      store() {\n        return this._checkboxGroup ? this._checkboxGroup.value : this.value;\n      },\n\n      /* used to make the isDisabled judgment under max/min props */\n      isLimitDisabled() {\n        const { max, min } = this._checkboxGroup;\n        return !!(max || min) &&\n          (this.model.length >= max && !this.isChecked) ||\n          (this.model.length <= min && this.isChecked);\n      },\n\n      isDisabled() {\n        return this.isGroup\n          ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled\n          : this.disabled || (this.elForm || {}).disabled;\n      },\n\n      _elFormItemSize() {\n        return (this.elFormItem || {}).elFormItemSize;\n      },\n\n      checkboxSize() {\n        const temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n        return this.isGroup\n          ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize\n          : temCheckboxSize;\n      }\n    },\n\n    props: {\n      value: {},\n      label: {},\n      indeterminate: Boolean,\n      disabled: Boolean,\n      checked: Boolean,\n      name: String,\n      trueLabel: [String, Number],\n      falseLabel: [String, Number],\n      id: String, /* 当indeterminate为真时，为controls提供相关连的checkbox的id，表明元素间的控制关系*/\n      controls: String, /* 当indeterminate为真时，为controls提供相关连的checkbox的id，表明元素间的控制关系*/\n      border: Boolean,\n      size: String\n    },\n\n    methods: {\n      addToStore() {\n        if (\n          Array.isArray(this.model) &&\n          this.model.indexOf(this.label) === -1\n        ) {\n          this.model.push(this.label);\n        } else {\n          this.model = this.trueLabel || true;\n        }\n      },\n      handleChange(ev) {\n        if (this.isLimitExceeded) return;\n        let value;\n        if (ev.target.checked) {\n          value = this.trueLabel === undefined ? true : this.trueLabel;\n        } else {\n          value = this.falseLabel === undefined ? false : this.falseLabel;\n        }\n        this.$emit('change', value, ev);\n        this.$nextTick(() => {\n          if (this.isGroup) {\n            this.dispatch('ElCheckboxGroup', 'change', [this._checkboxGroup.value]);\n          }\n        });\n      }\n    },\n\n    created() {\n      this.checked && this.addToStore();\n    },\n    mounted() { // 为indeterminate元素 添加aria-controls 属性\n      if (this.indeterminate) {\n        this.$el.setAttribute('aria-controls', this.controls);\n      }\n    },\n\n    watch: {\n      value(value) {\n        this.dispatch('ElFormItem', 'el.form.change', value);\n      }\n    }\n  };\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/element-ui/packages/checkbox/src/checkbox.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"el-checkbox\",class:[\n    _vm.border && _vm.checkboxSize ? 'el-checkbox--' + _vm.checkboxSize : '',\n    { 'is-disabled': _vm.isDisabled },\n    { 'is-bordered': _vm.border },\n    { 'is-checked': _vm.isChecked }\n  ],attrs:{\"id\":_vm.id}},[_c('span',{staticClass:\"el-checkbox__input\",class:{\n      'is-disabled': _vm.isDisabled,\n      'is-checked': _vm.isChecked,\n      'is-indeterminate': _vm.indeterminate,\n      'is-focus': _vm.focus\n    },attrs:{\"tabindex\":_vm.indeterminate ? 0 : false,\"role\":_vm.indeterminate ? 'checkbox' : false,\"aria-checked\":_vm.indeterminate ? 'mixed' : false}},[_c('span',{staticClass:\"el-checkbox__inner\"}),_vm._v(\" \"),(_vm.trueLabel || _vm.falseLabel)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model),expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{\"type\":\"checkbox\",\"aria-hidden\":_vm.indeterminate ? 'true' : 'false',\"name\":_vm.name,\"disabled\":_vm.isDisabled,\"true-value\":_vm.trueLabel,\"false-value\":_vm.falseLabel},domProps:{\"checked\":Array.isArray(_vm.model)?_vm._i(_vm.model,null)>-1:_vm._q(_vm.model,_vm.trueLabel)},on:{\"change\":[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?(_vm.trueLabel):(_vm.falseLabel);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]))}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.model=$$c}},_vm.handleChange],\"focus\":function($event){_vm.focus = true},\"blur\":function($event){_vm.focus = false}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model),expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{\"type\":\"checkbox\",\"aria-hidden\":_vm.indeterminate ? 'true' : 'false',\"disabled\":_vm.isDisabled,\"name\":_vm.name},domProps:{\"value\":_vm.label,\"checked\":Array.isArray(_vm.model)?_vm._i(_vm.model,_vm.label)>-1:(_vm.model)},on:{\"change\":[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.label,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]))}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.model=$$c}},_vm.handleChange],\"focus\":function($event){_vm.focus = true},\"blur\":function($event){_vm.focus = false}}})]),_vm._v(\" \"),(_vm.$slots.default || _vm.label)?_c('span',{staticClass:\"el-checkbox__label\"},[_vm._t(\"default\"),_vm._v(\" \"),(!_vm.$slots.default)?[_vm._v(_vm._s(_vm.label))]:_vm._e()],2):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2f16cb9e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/element-ui/packages/checkbox/src/checkbox.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2f16cb9e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./checkbox.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/element-ui/packages/checkbox/src/checkbox.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/cardBg3.963cba3.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/cardBg3.png\n// module id = Iy+A\n// module chunks = 171","<template>\r\n  <div\r\n    class=\"main-content  bg-white\"\r\n    :class=\"[\r\n      !isContained\r\n        ? isOpen\r\n          ? 'big-view-box-page'\r\n          : 'outof-big-view-box-page'\r\n        : ''\r\n    ]\"\r\n  >\r\n    <div class=\"box\">\r\n      <div\r\n        class=\"box-content-name name\"\r\n        :class=\"isContained ? 'isContained' : ''\"\r\n      >\r\n        <img\r\n          v-if=\"isContained\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/culture.svg'\"\r\n          @click=\"back\"\r\n        />\r\n        <span @click=\"back\">课程内容</span>\r\n      </div>\r\n      <div class=\"content-box\">\r\n        <div class=\"wrapper\">\r\n          <div class=\"detail-wrapper\">\r\n            <div v-if=\"canAccessYouTube && isYtVideoLoadedSuccess\" class=\"play-box\">\r\n              <div v-if=\"showVideoLoad\" class=\"load-box\">\r\n                <img class=\"load-img\" src=\"@/assets/img/load_img.webp\"  />\r\n                <p>加载中，请稍后...</p>\r\n              </div>\r\n              <div id=\"player\"></div>\r\n              <!-- <iframe id=\"test\" ref=\"videoIframe\" width=\"100%\" height=\"100%\" @load=\"onVideoLoad\" @error=\"onVideoError\" :src=\"course_video_url\" frameborder=\"0\" allowfullscreen allowtransparency='yes' allow=\"autoplay\"></iframe> -->\r\n              <!-- <iframe\r\n                :key=\"course_video_url\"\r\n                :src=\"course_video_url\"\r\n                frameborder=\"0\"\r\n                allowfullscreen\r\n                allowtransparency=\"yes\"\r\n                allow=\"autoplay\"\r\n                @error=\"onVideoError\"\r\n                @load=\"onVideoLoad\"\r\n                ref=\"videoIframe\"\r\n              ></iframe> -->\r\n            </div>\r\n            <div v-else-if=\"!videoSupport\" class=\"play-box-canNotAccess-support\">\r\n              <p>您当前的浏览器，不支持视频播放，请<a :href=\"chromeUrl\" target=\"_blank\"> 下载并使用chrome浏览器 </a>播放。</p>\r\n            </div>\r\n            <div v-else class=\"play-box-canNotAccess\">\r\n              <!-- <img v-if=\"!playing\" src=\"@/assets/img/youtube_play.png\" @click=\"playVideo\" /> -->\r\n              <div v-if=\"showVideoLoad\" class=\"load-box\">\r\n                <img class=\"load-img\" src=\"@/assets/img/load_img.webp\"  />\r\n                <p v-if=\"!isDownload\">加载中，请稍后...</p>\r\n                <p v-else>视频加载中，请稍后...{{ percentComplete }}%</p>\r\n              </div>\r\n              <video v-for=\"(item, index) in videoDatasKeys\" v-show=\"currentVideo.course_video_url == item\" :key=\"index\"  :ref=\"'videoPlayer' + item\" controls=\"controls\" preload=\"metadata\" >\r\n                <source :key=\"item\" :src=\"videoDatas[item]\" type=\"video/mp4\">\r\n                </source>\r\n              </video>\r\n            </div>\r\n            <div v-if=\"isShowRemaining\" ref=\"quataWarning\" class=\"quata-warning\">\r\n              <i class=\"el-icon-warning\"></i>\r\n              <span>系统盘空间已满，请清理出3G 以上的剩余空间以获得更好的播放效果。</span>\r\n              <i class=\"el-icon-close\" @click=\"closeWarning\"></i>\r\n            </div>\r\n            <div class=\"detail-wrapper-overflow\">\r\n              <div class=\"title-wrapper\">\r\n                <div class=\"title\">\r\n                  {{ currentVideo && currentVideo.course_video_title ?\r\n                    currentVideo.course_video_title +\r\n                      \"  \" +\r\n                      currentVideo.course_video_title_alias\r\n                      : ''\r\n                  }}\r\n                </div>\r\n                <div class=\"course_video_intro ellipsis-content\">\r\n                  {{ currentVideo && currentVideo.course_video_intro ? currentVideo.course_video_intro : '' }}\r\n                </div>\r\n                <div class=\"btns\">\r\n                  <div\r\n                    class=\"collect\"\r\n                    @click=\"\r\n                      addUserCollection(\r\n                        currentVideo.course_video_id,\r\n                        currentVideo.is_collect == 1 ? 2 : 1,\r\n                        currentAlias\r\n                      )\r\n                    \"\r\n                  >\r\n                    <img\r\n                      v-if=\"currentVideo.is_collect == 1\"\r\n                      src=\"@/assets/img/collection.svg\"\r\n                    />\r\n                    <img v-else src=\"@/assets/img/collect_video.svg\" />\r\n                    {{ currentVideo.is_collect == 1 ? \"取消收藏\" : \"收藏视频\" }}\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"alias-detail\" v-if=\"!noShowALias\">\r\n                <div class=\"alias-wrapper\">\r\n                  <div class=\"alias-title\">\r\n                    <span class=\"audio-select\">选集</span>\r\n                    <span class=\"audio-num\">共{{ videos.length }}集</span>\r\n                  </div>\r\n                  <div class=\"alias\">\r\n                    <div\r\n                      class=\"ellipsis-content alia\"\r\n                      :class=\"[currentAlias === index ? 'alias-active' : '']\"\r\n                      v-for=\"(item, index) in videos\"\r\n                      :key=\"'alias' + index\"\r\n                      @click=\"selectVideo(item, index)\"\r\n                    >\r\n                      {{ item.course_video_title_alias }}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <video ref=\"video\" type=\"video/mp4\" controls=\"controls\" preload=\"metadata\" width=\"0\" height=\"0\"></video>\r\n          </div>\r\n          <div class=\"list\">\r\n            <div class=\"related-title\">相关视频</div>\r\n            <div class=\"list-box\" v-if=\"relatedVideos.length && !noShowALias\">\r\n              <div\r\n                class=\"list-item\"\r\n                v-for=\"(item, index) in relatedVideos\"\r\n                :key=\"'list' + index\"\r\n              >\r\n                <div class=\"list-item-cover\">\r\n                  <img\r\n                    src=\"@/assets/img/play_detail.svg\"\r\n                    @click=\"selectVideo1(item)\"\r\n                  />\r\n                </div>\r\n                <div class=\"list-item-content\">\r\n                  <div class=\"title ellipsis-content\">\r\n                    {{\r\n                      item.course_video_title +\r\n                        \"  \" +\r\n                        item.course_video_title_alias\r\n                    }}\r\n                  </div>\r\n                  <div class=\"operates-wrapper\">\r\n                    <div class=\"course_name\">{{ item.course_name }}</div>\r\n                    <div class=\"operates\">\r\n                      <img\r\n                        v-if=\"item.is_collect == 1\"\r\n                        src=\"@/assets/img/collection.svg\"\r\n                      />\r\n                      <img v-else src=\"@/assets/img/collect_video.svg\" />\r\n                      <span>{{ item.course_video_collection_num }}</span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <NoData v-if=\"!relatedVideos.length || noShowALias\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport NoData from \"@/components/NoData\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { getCourseVedioList, addUserCollection, setCourseComplete, getUserCourseProgress } from \"@/api/index\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport {\r\n  saveFile,\r\n  getFile\r\n} from \"@/utils/indexDb\";\r\nimport { getChromeUrl, randomNum, deepClone } from \"@/utils/util\";\r\n\r\nexport default {\r\n  name: \"CultrueContentAudioDetail\",\r\n  mixins: [openOtherPageMixins],\r\n  components: { NoData },\r\n  data() {\r\n    return {\r\n      isContained: false,\r\n      isOpen: true,\r\n      videos: [],\r\n      relatedVideos: [],\r\n      otherVideos: [],\r\n      currentVideo: {},\r\n      currentAlias: 0,\r\n      playing: false,\r\n      course_video_id: \"\",\r\n      noShowALias: false,\r\n      courseId: \"\",\r\n      app_type: \"\",\r\n      courseCompleteInterval: null,\r\n      progress_fayi_read_num: 0,\r\n      courseProgress: null,\r\n      showVideoLoad: true, // 显示loading\r\n      course_video_url: \"\", // oss或者本地视频url\r\n      playing: false, // 播放视频\r\n      videoSupport: true, // 是否支持video视频播放\r\n      chromeUrl: \"\", // chrome下载地址\r\n      isShowRemaining: false,\r\n      fileData: \"\",\r\n      videoKey: randomNum(5),\r\n      videoDatas: {},\r\n      videoDatasKeys: [],\r\n      percentComplete: 0,\r\n      isDownload: false,\r\n      currentXHR: null,\r\n      isYtVideoLoadedSuccess: false,\r\n      player: null\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    },\r\n    initedCanAccessYouTube() {\r\n      return this.$store.getters.initedCanAccessYouTube;\r\n    }\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next((vm) => {\r\n      // if (from.name == \"index\" || from.name == \"PersonalCenter\") {\r\n      //   const isContained = vm.historyOperate.some((item) => {\r\n      //     return item.type === \"fullscreen\";\r\n      //   });\r\n      //   if (!isContained) {\r\n      //     vm.isOpen = true;\r\n      //   }\r\n      // }\r\n      const isContained = vm.historyOperate.some((item) => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      if (!isContained) {\r\n        vm.isOpen = true;\r\n      }\r\n    });\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    console.log(\"beforeRouteLeave:\", to.name);\r\n    if (to.path != from.path) {\r\n      if (to.name == \"index\") {\r\n        this.isOpen = false;\r\n        EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n        let timeout1 = setTimeout(() => {\r\n          this.course_video_id = \"\";\r\n          next();\r\n          this.$store.dispatch(\"popHistoryOperate\", {\r\n            type: \"openOtherPage\",\r\n          });\r\n          clearTimeout(timeout1);\r\n        }, 550);\r\n      } else {\r\n        next();\r\n      }\r\n    }\r\n  },\r\n  watch: {\r\n    initedCanAccessYouTube: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        console.log(\"initedCanAccessYouTube:\", newVal)\r\n        if(newVal && !oldVal && this.course_id) {\r\n          this.getCourseVedioList();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    courseId: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.getCourseVedioList();\r\n          this.getUserCourseProgress();\r\n        }\r\n      }\r\n    },\r\n    historyOperate: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.isContained = this.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    onVideoError() {\r\n      console.log(\"onVideoError\");\r\n      this.$nextTick(() => {\r\n        console.log(\"getOssVideo4444\")\r\n        this.getOssVideo();\r\n      })\r\n    },\r\n    onVideoLoad() {\r\n      console.log(\"onVideoLoad\");\r\n      // 尝试检测跨域错误\r\n      this.detectCrossOriginError();\r\n    },\r\n    detectCrossOriginError() {\r\n      const iframe = this.$refs.videoIframe;\r\n      console.log(iframe.contentWindow)\r\n      // try {\r\n      //   console.log(\"detectCrossOriginError\");\r\n      //   // 尝试访问iframe的内容，如果跨域则会抛出错误\r\n      //   const iframe = this.$refs.videoIframe;\r\n      //   if (iframe && iframe.contentWindow) {\r\n      //     // 尝试访问iframe的document属性\r\n      //     // 如果跨域，这会抛出SecurityError\r\n      //     const doc = iframe.contentWindow.document;\r\n      //     console.log('可以访问iframe内容:', doc);\r\n\r\n      //     // 检查iframe内容是否正常加载\r\n      //     // if (doc.body.children.length === 0) {\r\n      //     //   this.isYtVideoLoadedSuccess = false;\r\n      //     //   this.$nextTick(() => {\r\n      //     //     console.log(\"getOssVideo1111\")\r\n      //     //     this.getOssVideo();\r\n      //     //   })\r\n      //     //   // iframe内容为空，可能是跨域限制\r\n      //     //   // showCrossOriginError.value = true;\r\n      //     //   // statusMessage.value = '检测到可能的跨域限制';\r\n      //     // }\r\n      //   } else {\r\n      //     console.log(\"getOssVideo44444\")\r\n      //     // this.getOssVideo();\r\n      //   }\r\n      // } catch (error) {\r\n      //   if (error.name === 'SecurityError') {\r\n      //     // 捕获到安全错误，说明存在跨域限制\r\n      //     // showCrossOriginError.value = true;\r\n      //     // statusMessage.value = '检测到跨域限制';\r\n      //     console.error('检测到跨域限制:', error);\r\n      //     // this.isYtVideoLoadedSuccess = false;\r\n      //     // this.getOssVideo();\r\n      //   } else {\r\n      //     this.$nextTick(() => {\r\n      //       console.log(\"getOssVideo2222\")\r\n      //       this.isYtVideoLoadedSuccess = false;\r\n      //       this.getOssVideo();\r\n      //     })\r\n      //     console.error('检测跨域错误时发生异常:', error);\r\n      //   }\r\n      // }\r\n    },\r\n    closeWarning() {\r\n      this.$refs.quataWarning.style.height = 0;\r\n      this.$refs.quataWarning.style.opacity = 0;\r\n      this.$refs.quataWarning.style.transition = `all 0.5s`;\r\n      let timeout = setTimeout(() => {\r\n        this.isShowRemaining = false;\r\n        clearTimeout(timeout);\r\n        timeout = null;\r\n      }, 550);\r\n    },\r\n    checkVideoSupport() {\r\n      const video = document.createElement('video');\r\n      const mimeTypes = [\r\n        'video/mp4; codecs=\"hev1.1.6.L93.B0\"', // HEVC通用格式\r\n        'video/mp4; codecs=\"hvc1.1.6.L93.B0\"', // Apple的HEVC格式\r\n        'video/mp4; codecs=\"hev1\"',\r\n        'video/mp4; codecs=\"hvc1\"'\r\n      ];\r\n\r\n      return mimeTypes.some(type => {\r\n        return video.canPlayType(type) === 'probably' ||\r\n              video.canPlayType(type) === 'maybe';\r\n      });\r\n    },\r\n    playVideo() {\r\n      this.playing = true;\r\n    },\r\n  async checkQuota() {\r\n      try {\r\n        if (navigator.storage && navigator.storage.estimate) {\r\n          const estimation = await navigator.storage.estimate();\r\n          const remaining = estimation.quota - estimation.usage;\r\n          const decimals = 2;\r\n          // this.quotaInfo = {\r\n          //   quota: estimation.quota,\r\n          //   usage: estimation.usage,\r\n          //   remaining: estimation.quota - estimation.usage\r\n          // };\r\n          const k = 1024;\r\n          const dm = decimals < 0 ? 0 : decimals;\r\n          const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n          const i = Math.floor(Math.log(remaining) / Math.log(k));\r\n          const rem = (remaining / Math.pow(k, i)).toFixed(dm);\r\n          if((rem && parseFloat(rem) <= 3 && i == 3) || i < 3) {\r\n            this.isShowRemaining = true;\r\n          } else {\r\n            this.isShowRemaining = false;\r\n          }\r\n          // console.log(\"checkQuota:\", this.formatBytes(this.quotaInfo.quota), this.formatBytes(this.quotaInfo.usage), this.formatBytes(this.quotaInfo.remaining));\r\n        } else {\r\n          this.$message.warning('您的浏览器不支持存储配额查询');\r\n        }\r\n      } catch (error) {\r\n        console.error(error);\r\n        this.$message.error('查询存储配额失败');\r\n      }\r\n    },\r\n    formatBytes(bytes, decimals = 2) {\r\n      if (bytes === 0) return '0 Bytes';\r\n      const k = 1024;\r\n      const dm = decimals < 0 ? 0 : decimals;\r\n      const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n      const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n      console.log(\"formatBytes:\", i)\r\n      return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + sizes[i];\r\n    },\r\n    showNetworkErrorToast() {\r\n      // 显示toast或弹出框，提示网络错误\r\n      alert(\"视频加载异常，请检查网络设置\");\r\n    },\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    fileDownload(course_video_url, fileName) {\r\n      // 可下载，名称也有效 -- 推荐\r\n      const url =\r\n        \"https://drive.google.com/uc?export=download&id=\" + course_video_url;\r\n      const link = document.createElement(\"a\");\r\n      link.href = url;\r\n      link.download = fileName + \".mp3\";\r\n      link.style.display = \"none\";\r\n      document.body.appendChild(link);\r\n      link.click();\r\n      document.body.removeChild(link);\r\n    },\r\n    async addUserCollection(course_video_id, operate_type, index) {\r\n      let params = {\r\n        collect_type: 2,\r\n        operate_type,\r\n        course_video_id,\r\n        course_id: this.courseId\r\n      };\r\n      try {\r\n        const res = await addUserCollection(params);\r\n        if (res && res.code === 0) {\r\n          const currentIndex = this.videos.findIndex(item => {\r\n            return item.course_video_id === course_video_id;\r\n          });\r\n          this.videos[currentIndex].is_collect = operate_type;\r\n          if (operate_type === 1) {\r\n            this.videos[currentIndex].course_video_collection_num += 1;\r\n          } else {\r\n            this.videos[currentIndex].course_video_collection_num -= 1;\r\n          }\r\n          const currentIndex1 = this.relatedVideos.findIndex(item => {\r\n            return item.course_video_id === course_video_id;\r\n          });\r\n          if (currentIndex1 > -1) {\r\n            this.relatedVideos[currentIndex1].is_collect = operate_type;\r\n          }\r\n          if (params.operate_type === 1) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"收藏成功\"\r\n            });\r\n          } else {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"取消收藏成功\"\r\n            });\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    selectVideo1(audio) {\r\n      const currentIndex = this.videos.findIndex(item => {\r\n        return item.course_video_id === audio.course_video_id;\r\n      });\r\n      this.selectVideo(audio, currentIndex);\r\n    },\r\n    selectVideo(audio, index) {\r\n      if (this.currentVideo.course_video_id !== audio.course_video_id) {\r\n        // 2. 释放之前的对象URL\r\n        // if (this.course_video_url) {\r\n        //   URL.revokeObjectURL(this.course_video_url);\r\n        //   this.course_video_url = null;\r\n        // }\r\n        if(this.$refs['videoPlayer' + this.currentVideo.course_video_url] && !this.canAccessYouTube && this.videoSupport) {\r\n          this.$refs['videoPlayer' + this.currentVideo.course_video_url][0].pause();\r\n        }\r\n        this.$router.replace({\r\n          path: \"/white/CultrueContentVideoDetail\",\r\n          query: {\r\n            course_video_id: audio.course_video_id,\r\n            course_id: audio.course_id\r\n          }\r\n        });\r\n        this.setCourseVideoUrl(audio, index);\r\n      }\r\n    },\r\n    async setCourseVideoUrl(audio, index) {\r\n      try {\r\n        this.currentVideo = audio;\r\n        this.currentAlias = index;\r\n        this.relatedVideos = this.videos.slice();\r\n        this.relatedVideos.splice(index, 1);\r\n        // 可以访问youtube则直接访问youtube\r\n        if(this.canAccessYouTube) {\r\n          this.isYtVideoLoadedSuccess = true;\r\n          console.log(\"isYtVideoLoadedSuccess = true\")\r\n          this.course_video_url = 'https://www.youtube.com/embed/' + this.currentVideo.course_video_url + `?cc_load_policy=${this.currentVideo.course_video_subtitle == 1 ? 1 : 0}&cc_lang_pref=zh`;\r\n          // this.course_video_url = 'https://www.youtube.com/embed/dQw4w9WgXcQ'\r\n          let timeout = setTimeout(() => {\r\n            this.onYouTubeIframeAPIReady();\r\n            this.showVideoLoad = false;\r\n            clearTimeout(timeout);\r\n          }, 300);\r\n        } else {\r\n          // 不行，则访问oss\r\n          console.log(\"getOssVideo33333\")\r\n          this.getOssVideo();\r\n        }\r\n      } catch (error) {\r\n        console.log(\"setCourseVideoUrl:\", error);\r\n      }\r\n    },\r\n    onPlayerReady(event) {\r\n      event.target.playVideo();\r\n    },\r\n    onPlayerStateChange(event) {\r\n      // 视频播放状态改变时的处理逻辑\r\n      console.log('onPlayerStateChange:', event)\r\n    },\r\n    onPlayerError(err) {\r\n      try {\r\n        if(this.player) {\r\n          this.player.destroy()\r\n          this.player = null;\r\n        }\r\n        console.log('onPlayerError:', err)\r\n        this.isYtVideoLoadedSuccess = false;\r\n        this.getOssVideo();\r\n      } catch (error) {\r\n        console.log(\"onPlayerError:\", error)\r\n      }\r\n    },\r\n    onYouTubeIframeAPIReady() {\r\n      try {\r\n        if(this.player) {\r\n          this.player.destroy()\r\n          this.player = null;\r\n        }\r\n        this.player = new YT.Player('player', {\r\n          height: '100%',\r\n          width: '100%',\r\n          videoId: this.currentVideo.course_video_url, // 替换为您的 YouTube 视频 ID\r\n          playerVars: {\r\n            'playsinline': 1 // 确保视频在移动设备上内联播放\r\n          },\r\n          events: {\r\n            'onReady': this.onPlayerReady,\r\n            'onStateChange': this.onPlayerStateChange,\r\n            'onError': this.onPlayerError\r\n          }\r\n        });\r\n      } catch (error) {\r\n        console.log(\"onYouTubeIframeAPIReady:\", error)\r\n      }\r\n\r\n    },\r\n    async getOssVideo() {\r\n      this.isYtVideoLoadedSuccess = false;\r\n      console.log(\"isYtVideoLoadedSuccess = false\")\r\n      console.log(\"videoDatas exit:\", this.videoDatas[this.currentVideo.course_video_url], this.videoDatas[this.currentVideo.course_video_url] && this.videoSupport)\r\n      if(!this.videoDatas[this.currentVideo.course_video_url] && this.videoSupport) {\r\n        this.percentComplete = 0;\r\n        this.showVideoLoad = true;\r\n        await this.getVideo();\r\n      } else {\r\n        this.showVideoLoad = false;\r\n        this.isDownload = false;\r\n      }\r\n    },\r\n    async getVideo() {\r\n      // 从本地拿数据，如果没有的话，则从oss上拿，然后存到本地\r\n      // 从indexDb拿数据\r\n      const currentVideo = deepClone(this.currentVideo);\r\n      const course_video_url_show = currentVideo.course_video_url_ossweb;\r\n      if(!course_video_url_show) {\r\n        return;\r\n      }\r\n      const course_video_url_shows = course_video_url_show.split(\"?\");\r\n      if(course_video_url_shows.length > 1) {\r\n        const url = course_video_url_shows[0];\r\n        const video = await getFile(url, 'global_videos');\r\n        if (video) {\r\n          const fileData = video.fileData;\r\n          if(this.videoSupport) {\r\n            console.log(\"fileData course_video_url_show:\", fileData);\r\n            const course_video_url = URL.createObjectURL(fileData);\r\n            if(!this.videoDatas[currentVideo.course_video_url]) {\r\n              this.$set(this.videoDatas, currentVideo.course_video_url, course_video_url);\r\n              this.videoDatasKeys.push(currentVideo.course_video_url);\r\n              console.log(\"videoDatas:\", this.videoDatas);\r\n              console.log(this.videoDatasKeys)\r\n            }\r\n            // this.course_video_url = course_video_url_show;\r\n            console.log(\"course_video_url:\", this.course_video_url);\r\n            this.showVideoLoad = false;\r\n            this.videoKey = randomNum(5);\r\n          }\r\n        } else {\r\n          this.isDownload = true;\r\n          if(this.currentXHR) {\r\n            this.currentXHR.abort();\r\n          }\r\n          // 存入indexDb\r\n          const fileData = await this.getBlobByUrl(course_video_url_show);\r\n          const fileName = this.currentVideo.course_video_title + this.currentVideo.course_video_title_alias;\r\n          this.currentXHR = null;\r\n          if(this.videoSupport) {\r\n            console.log(\"fileData course_video_url_show:\", fileData);\r\n            // 保存到indexDb\r\n            await saveFile(url, fileName, fileData, 'global_videos');\r\n            const course_video_url = URL.createObjectURL(fileData);\r\n            this.isDownload = false;\r\n            if(!this.videoDatas[this.currentVideo.course_video_url]) {\r\n              this.$set(this.videoDatas, this.currentVideo.course_video_url, course_video_url);\r\n              this.videoDatasKeys.push(this.currentVideo.course_video_url);\r\n              console.log(\"videoDatas:\", this.videoDatas);\r\n            }\r\n            this.showVideoLoad = false;\r\n            this.videoKey = randomNum(5);\r\n          }\r\n        }\r\n      } else {\r\n        this.course_video_url = \"\";\r\n      }\r\n    },\r\n    getBlobByUrl(url) {\r\n      return new Promise((resolve, reject) => {\r\n        try {\r\n          const xhr = new XMLHttpRequest();\r\n          this.currentXHR = xhr;\r\n          xhr.open(\"GET\", url, true);\r\n          xhr.responseType = \"blob\";\r\n          // 进度事件处理\r\n          xhr.onprogress = (event) => {\r\n            if (event.lengthComputable) {\r\n                var percentComplete = (event.loaded / event.total) * 100;\r\n                this.percentComplete = parseFloat(percentComplete).toFixed(0);\r\n            }\r\n          };\r\n          xhr.onload = () => {\r\n            if (xhr.status === 200) {\r\n              resolve(xhr.response);\r\n            } else {\r\n              reject(new Error(`Request failed with status ${xhr.status}`));\r\n            }\r\n          };\r\n          xhr.onerror = function() {\r\n            reject(new Error('Network error'));\r\n          };\r\n          xhr.onabort = () => {\r\n            reject(new Error('请求被中断'));\r\n          };\r\n          xhr.send();\r\n        } catch (error) {\r\n          console.log(error);\r\n        }\r\n      });\r\n    },\r\n    back() {\r\n      console.log(\"openOtherPageIng:\", this.openOtherPageIng);\r\n      if (this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.back();\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    async getIndexedDbVideoDatas(videoData) {\r\n      const course_video_url_show = videoData.course_video_url_ossweb;\r\n      const course_video_url_shows = course_video_url_show.split(\"?\");\r\n      const url = course_video_url_shows[0];\r\n      const video = await getFile(url, 'global_videos');\r\n      if (video) {\r\n        const fileData = video.fileData;\r\n        if(this.videoSupport) {\r\n          const course_video_url = URL.createObjectURL(fileData);\r\n          if(!this.videoDatas[videoData.course_video_url]) {\r\n            this.$set(this.videoDatas, videoData.course_video_url, course_video_url);\r\n            this.videoDatasKeys.push(videoData.course_video_url);\r\n            console.log(\"getIndexedDbVideoDatas videoDatas:\", this.videoDatas);\r\n            console.log(this.videoDatasKeys)\r\n          }\r\n        }\r\n      }\r\n    },\r\n    async getCourseVedioList() {\r\n      try {\r\n        console.log(\"getCourseVedioList:\", this.courseId, this.initedCanAccessYouTube)\r\n        if(!this.courseId) {\r\n          return;\r\n        }\r\n        if(this.initedCanAccessYouTube) {\r\n          // todo: 把判断先去掉，播h264\r\n          // if(!this.canAccessYouTube) {\r\n          //   // 视频需要检查浏览器是否支持h265格式播放\r\n          //   if(this.$refs.video.canPlayType('video/mp4; codecs=\"hvc1.1.6.L150.B0\"') == \"\" && this.$refs.video.canPlayType('video/mp4; codecs=\"hevc\"') == \"\") {\r\n          //     console.log(\"不支持!!\");\r\n          //     this.videoSupport = false;\r\n          //     this.showVideoLoad = false;\r\n          //   } else {\r\n          //     this.videoSupport = true;\r\n          //   }\r\n          // }\r\n        }\r\n        const res = await getCourseVedioList({\r\n          course_id: this.courseId,\r\n          is_detail: true,\r\n          network_type: this.canAccessYouTube ? 1 : 2\r\n        });\r\n        if (res && res.code == 0) {\r\n          this.videos = res.data;\r\n          if (this.videos.length) {\r\n            const currentIndex = this.videos.findIndex(item => {\r\n              return item.course_video_id == this.course_video_id;\r\n            });\r\n\r\n            this.currentVideo = this.videos[currentIndex];\r\n            this.otherVideos = this.videos.slice();\r\n            this.otherVideos.splice(currentIndex, 1);\r\n            this.noShowALias = this.videos.every(item => item.course_video_title_alias == \"\");\r\n            if(this.videoSupport) {\r\n              this.setCourseVideoUrl(this.videos[currentIndex], currentIndex);\r\n              this.otherVideos.forEach(video => {\r\n                this.getIndexedDbVideoDatas(video);\r\n              });\r\n            } else {\r\n              this.relatedVideos = this.videos.slice();\r\n              this.relatedVideos.splice(currentIndex, 1);\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        console.log(\"getCourseVedioList error:\", error)\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      console.log(\"getUserCourseProgress:\")\r\n      if(this.courseId == \"\" || this.courseId == null || this.courseId == undefined) {\r\n        return;\r\n      }\r\n      try {\r\n        const res = await getUserCourseProgress({ course_id: this.courseId });\r\n        if (res && res.code === 0) {\r\n          this.courseProgress = res.data[0];\r\n          this.initCourseComplete();\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async setCourseComplete() {\r\n      try {\r\n        const params = {\r\n          course_id: this.courseId,\r\n          progress_fayi_read_num: this.progress_fayi_read_num\r\n        };\r\n        setCourseComplete(params).then((res) => {\r\n          if (res && res.code === 0) {\r\n            if(this.courseId != this.course_id) {\r\n              return;\r\n            }\r\n            const courseProgress = {\r\n              ...this.courseProgress,\r\n              progress_course_complete: 1,\r\n              progress_fayi_read_num: this.progress_fayi_read_num\r\n            };\r\n            this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n          }\r\n        });\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    initCourseComplete() {\r\n      // 进入时计算修学时长\r\n      if(this.courseProgress) {\r\n        this.progress_fayi_read_num = 0;\r\n        this.clearCompleteInterval();\r\n        this.courseCompleteInterval = setInterval(() => {\r\n          this.progress_fayi_read_num += 1;\r\n        }, 1000);\r\n      }\r\n    },\r\n    clearCompleteInterval() {\r\n      if(this.courseCompleteInterval) {\r\n        clearInterval(this.courseCompleteInterval);\r\n        this.courseCompleteInterval = null;\r\n      }\r\n    },\r\n  },\r\n  async activated() {\r\n    this.course_video_id = this.$route.query.course_video_id;\r\n    this.courseId = this.$route.query.course_id;\r\n    await this.getCourseVedioList();\r\n    this.initCourseComplete();\r\n    this.checkQuota();\r\n  },\r\n  deactivated() {\r\n    console.log(\"cultrueContent deactivated\")\r\n    this.clearCompleteInterval();\r\n    this.setCourseComplete();\r\n  },\r\n  mounted() {\r\n    this.course_video_id = this.$route.query.course_video_id;\r\n    this.courseId = this.$route.query.course_id;\r\n    this.toggle();\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n      this.chromeUrl = getChromeUrl();\r\n    }\r\n  }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.box {\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.content-box {\r\n  flex: 1;\r\n  background: rgba(255, 255, 255, 0.4);\r\n}\r\n\r\n.box-content-name {\r\n  color: #71afbb;\r\n  cursor: pointer;\r\n  font-weight: 500;\r\n  // margin-bottom: 20px;\r\n}\r\n.big-view-box-page {\r\n  .name {\r\n    // padding-left: 46px;\r\n    cursor: pointer;\r\n  }\r\n}\r\n// .isContained {\r\n//   display: flex;\r\n//   padding-left: 42px;\r\n// }\r\n.main-content {\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n}\r\n.box {\r\n  height: 100%;\r\n  padding: 26px 32px 0 32px;\r\n}\r\n.wrapper {\r\n  display: flex;\r\n  padding-top: 19px;\r\n  padding-left: 20px;\r\n  height: 100%;\r\n  .detail-wrapper {\r\n    flex: 1;\r\n    height: 100%;\r\n    background: #fff;\r\n    // box-shadow: 0px 0px 166px 0px rgba(0, 0, 0, 0.1);\r\n    .play-box {\r\n      width: 100%;\r\n      height: 77%;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      // border-top-left-radius: 8px;\r\n      // border-top-right-radius: 8px;\r\n      position: relative;\r\n      background-color: #000;\r\n      // background: #64afd5 url(\"~@/assets/img/loading.gif\") no-repeat center;\r\n      // background-size: 70px;\r\n      iframe {\r\n        width: 100%;\r\n        height: 100%;\r\n        border-top-left-radius: 8px;\r\n        border-top-right-radius: 8px;\r\n        z-index: 1;\r\n      }\r\n      .load-box {\r\n        z-index: 2;\r\n      }\r\n      p {\r\n        color: #fff;\r\n      }\r\n    }\r\n    .play-box-canNotAccess-support {\r\n      width: 100%;\r\n      height: 77%;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      background-color: #f0faff;\r\n      p {\r\n        font-size: 16px;\r\n        color: #353333;\r\n      }\r\n      a {\r\n        text-decoration: underline;\r\n      }\r\n    }\r\n    .play-box-canNotAccess-load {\r\n      width: 100%;\r\n      height: 77%;\r\n      background: #64afd5;\r\n\r\n    }\r\n    .play-box-canNotAccess {\r\n      width: 100%;\r\n      height: 77%;\r\n      background: #000;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      flex-direction: column;\r\n      position: relative;\r\n      overflow-y: auto;\r\n      img {\r\n        width: 70px;\r\n        height: 40px;\r\n        cursor: pointer;\r\n      }\r\n      video {\r\n        width: 100%;\r\n        height: 100%;\r\n      }\r\n\r\n      .course_video_url_none {\r\n        position: absolute;\r\n        top: 0;\r\n        color: #fff;\r\n      }\r\n    }\r\n    .load-box {\r\n      position: absolute;\r\n      width: 100%;\r\n      height: 100%;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      flex-direction: column;\r\n      color: #ffffffcc;\r\n      .load-img {\r\n        width: 100px;\r\n        height: 100px;\r\n      }\r\n    }\r\n    .quata-warning {\r\n      padding: 0 20px;\r\n      height: 34px;\r\n      // border: 1px solid #5cb6ff;\r\n      border-radius: 5px;\r\n      background-color: #f0faff;\r\n      position: relative;\r\n      display: flex;\r\n      align-items: center;\r\n      .el-icon-warning {\r\n        color: #2d8cf0;\r\n        width: 14px;\r\n        height: 14px;\r\n      }\r\n      .el-icon-close {\r\n        position: absolute;\r\n        right: 10px;\r\n        top: 13px;\r\n        color: #898484;\r\n        cursor: pointer;\r\n      }\r\n      span {\r\n        font-size: 12px;\r\n        line-height: 12px;\r\n        padding-left: 5px;\r\n        color: #353333;\r\n      }\r\n    }\r\n    .detail-wrapper-overflow {\r\n      background: #fff;\r\n      min-height: 260px;\r\n    }\r\n    .title-wrapper {\r\n      padding: 36px 38px 27px 40px;\r\n      .title {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 18px;\r\n        color: #292929;\r\n        line-height: 27px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      .course_video_intro {\r\n        height: 40px;\r\n        margin: 11px 0 23px 0;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #7e878c;\r\n        line-height: 20px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        -webkit-line-clamp: 2;\r\n      }\r\n      .btns {\r\n        display: flex;\r\n        .download,\r\n        .collect {\r\n          width: 100px;\r\n          height: 32px;\r\n          display: flex;\r\n          justify-content: center;\r\n          align-items: center;\r\n          border-radius: 16px;\r\n          border: 1px solid #64afd5;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #64afd5;\r\n          line-height: 18px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          cursor: pointer;\r\n          img {\r\n            width: 17px;\r\n            height: 15px;\r\n            margin-right: 6px;\r\n          }\r\n        }\r\n      }\r\n    }\r\n    .alias-detail {\r\n      border-top: 1px solid #d4d9db;\r\n      padding-bottom: 30px;\r\n    }\r\n    .alias-wrapper {\r\n      padding: 24px 41px 42px;\r\n      .alias-title {\r\n        .audio-select {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 16px;\r\n          color: #292929;\r\n          line-height: 24px;\r\n          padding-left: 10px;\r\n          padding-right: 14px;\r\n          position: relative;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 10px;\r\n            left: 0;\r\n            width: 4px;\r\n            height: 4px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #64afd5;\r\n          }\r\n        }\r\n        .audio-num {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n          color: #7e878c;\r\n          line-height: 21px;\r\n        }\r\n      }\r\n      .alias {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        padding-top: 15px;\r\n        .alia {\r\n          width: 77px;\r\n          height: 32px;\r\n          border-radius: 16px;\r\n          border: 1px solid #7e878c;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n          line-height: 32px;\r\n          color: #7e878c;\r\n          text-align: center;\r\n          font-style: normal;\r\n          margin-right: 20px;\r\n          cursor: pointer;\r\n          // display: flex;\r\n          justify-content: center;\r\n          align-items: center;\r\n          margin-top: 10px;\r\n          -webkit-line-clamp: 1;\r\n        }\r\n        .alias-active {\r\n          background: #64afd5;\r\n          color: #ffffff;\r\n          border: 1px solid #64afd5;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  .list {\r\n    width: 388px;\r\n    padding: 11px 33px 11px 42px;\r\n    height: 100%;\r\n    .related-title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n    .list-box {\r\n      height: 100%;\r\n      .list-item {\r\n        display: flex;\r\n        padding-bottom: 22px;\r\n        padding-top: 23px;\r\n        &:not(:last-of-type) {\r\n          border-bottom: 1px solid #eaedef;\r\n        }\r\n        .list-item-cover {\r\n          width: 162px;\r\n          height: 98px;\r\n          background: #64afd5 url(\"~@/assets/img/white_yuanriji.svg\") no-repeat\r\n            center;\r\n          background-size: 60px 60px;\r\n          box-shadow: -3px -3px 18px 0 rgba(255, 255, 255, 0.9),\r\n            3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n          border-radius: 4px;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          cursor: pointer;\r\n          img {\r\n            cursor: pointer;\r\n            width: 30px;\r\n            height: 30px;\r\n          }\r\n        }\r\n        .list-item-content {\r\n          width: 145px;\r\n          display: flex;\r\n          flex-direction: column;\r\n          justify-content: space-between;\r\n          padding-left: 7px;\r\n          .title {\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            font-weight: 500;\r\n            font-size: 14px;\r\n            color: #292929;\r\n            line-height: 21px;\r\n            text-align: left;\r\n            font-style: normal;\r\n          }\r\n          .operates-wrapper {\r\n            .course_name {\r\n              font-family: SourceHanSansCN, SourceHanSansCN;\r\n              font-weight: 400;\r\n              font-size: 12px;\r\n              color: #7e878c;\r\n              line-height: 18px;\r\n              text-align: left;\r\n              font-style: normal;\r\n            }\r\n            .operates {\r\n              padding-top: 4px;\r\n              display: flex;\r\n              align-items: center;\r\n              img {\r\n                width: 11px;\r\n                height: 10px;\r\n                cursor: pointer;\r\n                &:last-of-type {\r\n                  margin-right: 5px;\r\n                }\r\n              }\r\n              span {\r\n                font-family: SourceHanSansCN, SourceHanSansCN;\r\n                font-weight: 400;\r\n                font-size: 12px;\r\n                color: #64afd5;\r\n                line-height: 18px;\r\n                text-align: left;\r\n                font-style: normal;\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentVideoDetail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content bg-white\",class:[\n    !_vm.isContained\n      ? _vm.isOpen\n        ? 'big-view-box-page'\n        : 'outof-big-view-box-page'\n      : ''\n  ]},[_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"box-content-name name\",class:_vm.isContained ? 'isContained' : ''},[(_vm.isContained)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/culture.svg'},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),_c('span',{on:{\"click\":_vm.back}},[_vm._v(\"课程内容\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\"},[_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"detail-wrapper\"},[(_vm.canAccessYouTube && _vm.isYtVideoLoadedSuccess)?_c('div',{staticClass:\"play-box\"},[(_vm.showVideoLoad)?_c('div',{staticClass:\"load-box\"},[_c('img',{staticClass:\"load-img\",attrs:{\"src\":require(\"@/assets/img/load_img.webp\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"加载中，请稍后...\")])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"player\"}})]):(!_vm.videoSupport)?_c('div',{staticClass:\"play-box-canNotAccess-support\"},[_c('p',[_vm._v(\"您当前的浏览器，不支持视频播放，请\"),_c('a',{attrs:{\"href\":_vm.chromeUrl,\"target\":\"_blank\"}},[_vm._v(\" 下载并使用chrome浏览器 \")]),_vm._v(\"播放。\")])]):_c('div',{staticClass:\"play-box-canNotAccess\"},[(_vm.showVideoLoad)?_c('div',{staticClass:\"load-box\"},[_c('img',{staticClass:\"load-img\",attrs:{\"src\":require(\"@/assets/img/load_img.webp\")}}),_vm._v(\" \"),(!_vm.isDownload)?_c('p',[_vm._v(\"加载中，请稍后...\")]):_c('p',[_vm._v(\"视频加载中，请稍后...\"+_vm._s(_vm.percentComplete)+\"%\")])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.videoDatasKeys),function(item,index){return _c('video',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentVideo.course_video_url == item),expression:\"currentVideo.course_video_url == item\"}],key:index,ref:'videoPlayer' + item,refInFor:true,attrs:{\"controls\":\"controls\",\"preload\":\"metadata\"}},[_c('source',{key:item,attrs:{\"src\":_vm.videoDatas[item],\"type\":\"video/mp4\"}})])})],2),_vm._v(\" \"),(_vm.isShowRemaining)?_c('div',{ref:\"quataWarning\",staticClass:\"quata-warning\"},[_c('i',{staticClass:\"el-icon-warning\"}),_vm._v(\" \"),_c('span',[_vm._v(\"系统盘空间已满，请清理出3G 以上的剩余空间以获得更好的播放效果。\")]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-close\",on:{\"click\":_vm.closeWarning}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"detail-wrapper-overflow\"},[_c('div',{staticClass:\"title-wrapper\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n                \"+_vm._s(_vm.currentVideo && _vm.currentVideo.course_video_title ?\n                  _vm.currentVideo.course_video_title +\n                    \"  \" +\n                    _vm.currentVideo.course_video_title_alias\n                    : '')+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"course_video_intro ellipsis-content\"},[_vm._v(\"\\n                \"+_vm._s(_vm.currentVideo && _vm.currentVideo.course_video_intro ? _vm.currentVideo.course_video_intro : '')+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"btns\"},[_c('div',{staticClass:\"collect\",on:{\"click\":function($event){return _vm.addUserCollection(\n                      _vm.currentVideo.course_video_id,\n                      _vm.currentVideo.is_collect == 1 ? 2 : 1,\n                      _vm.currentAlias\n                    )}}},[(_vm.currentVideo.is_collect == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/collection.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/collect_video.svg\")}}),_vm._v(\"\\n                  \"+_vm._s(_vm.currentVideo.is_collect == 1 ? \"取消收藏\" : \"收藏视频\")+\"\\n                \")])])]),_vm._v(\" \"),(!_vm.noShowALias)?_c('div',{staticClass:\"alias-detail\"},[_c('div',{staticClass:\"alias-wrapper\"},[_c('div',{staticClass:\"alias-title\"},[_c('span',{staticClass:\"audio-select\"},[_vm._v(\"选集\")]),_vm._v(\" \"),_c('span',{staticClass:\"audio-num\"},[_vm._v(\"共\"+_vm._s(_vm.videos.length)+\"集\")])]),_vm._v(\" \"),_c('div',{staticClass:\"alias\"},_vm._l((_vm.videos),function(item,index){return _c('div',{key:'alias' + index,staticClass:\"ellipsis-content alia\",class:[_vm.currentAlias === index ? 'alias-active' : ''],on:{\"click\":function($event){return _vm.selectVideo(item, index)}}},[_vm._v(\"\\n                    \"+_vm._s(item.course_video_title_alias)+\"\\n                  \")])}),0)])]):_vm._e()]),_vm._v(\" \"),_c('video',{ref:\"video\",attrs:{\"type\":\"video/mp4\",\"controls\":\"controls\",\"preload\":\"metadata\",\"width\":\"0\",\"height\":\"0\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"list\"},[_c('div',{staticClass:\"related-title\"},[_vm._v(\"相关视频\")]),_vm._v(\" \"),(_vm.relatedVideos.length && !_vm.noShowALias)?_c('div',{staticClass:\"list-box\"},_vm._l((_vm.relatedVideos),function(item,index){return _c('div',{key:'list' + index,staticClass:\"list-item\"},[_c('div',{staticClass:\"list-item-cover\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/play_detail.svg\")},on:{\"click\":function($event){return _vm.selectVideo1(item)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"list-item-content\"},[_c('div',{staticClass:\"title ellipsis-content\"},[_vm._v(\"\\n                  \"+_vm._s(item.course_video_title +\n                      \"  \" +\n                      item.course_video_title_alias)+\"\\n                \")]),_vm._v(\" \"),_c('div',{staticClass:\"operates-wrapper\"},[_c('div',{staticClass:\"course_name\"},[_vm._v(_vm._s(item.course_name))]),_vm._v(\" \"),_c('div',{staticClass:\"operates\"},[(item.is_collect == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/collection.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/collect_video.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.course_video_collection_num))])])])])])}),0):_vm._e(),_vm._v(\" \"),(!_vm.relatedVideos.length || _vm.noShowALias)?_c('NoData'):_vm._e()],1)])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-533ef520\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentVideoDetail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-533ef520\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentVideoDetail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentVideoDetail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentVideoDetail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-533ef520\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentVideoDetail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-533ef520\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentVideoDetail.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white\"\r\n    :class=\"fullscreen ? 'full' : ''\">\r\n    <div class=\"box\"\r\n      :class=\"fullscreen ? (meditate_type == 1 ? 'thinkBg' : 'behaviorBg') : ''\">\r\n      <img v-if=\"!fullscreen && meditate_type == 1\"\r\n        class=\"fullscreen\"\r\n        src=\"@/assets/img/fullscreen.svg\"\r\n        @click=\"toggle(true)\" />\r\n      <!-- <img\r\n        v-if=\"fullscreen && meditate_type == 1\"\r\n        class=\"fullscreen\"\r\n        src=\"@/assets/img/exit_fullscreen_thinking_w.svg\"\r\n        @click=\"toggle(false)\"\r\n      /> -->\r\n      <img v-if=\"!fullscreen && meditate_type == 2\"\r\n        class=\"fullscreen\"\r\n        src=\"@/assets/img/fullscreen01.svg\"\r\n        @click=\"toggle(true)\" />\r\n      <div class=\"box-content-name name\"\r\n        :class=\"[\r\n          meditate_type == 1 ? 'think' : 'behavior',\r\n          !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view-name-ani' : ''\r\n        ]\">\r\n        <span v-if=\"!fullscreen\">观修文</span>\r\n        <span v-else class=\"cursor-pointer\" @click=\"toggle(true)\">观修文</span>\r\n      </div>\r\n      <div class=\"content-box\"\r\n        :class=\"!fullscreen && isNeedOutFullscreenAni ? 'contentBoxOut' : ''\"\r\n        ref=\"contentBox\">\r\n        <!-- <div class=\"header\">\r\n          <div class=\"name\" :class=\"meditate_type == 1 ? 'think' : 'behavior'\">\r\n            观修文\r\n          </div>\r\n        </div> -->\r\n        <div class=\"tips-content\"\r\n          ref=\"tipsContent\"\r\n          :class=\"[\r\n            meditate_type == 1 ? 'think-content' : 'behavior-content',\r\n            meditate && meditate.meditate_isuseradd != 2 && courseIsuseradd != 3\r\n              ? ''\r\n              : 'tips-content1'\r\n          ]\">\r\n          <div class=\"guanchaWrapperRef\"\r\n            :class=\"guanchaWrapperRefClass\"\r\n            ref=\"guanchaWrapperRef\">\r\n            <div class=\"title\"\r\n              id=\"guanchaTitle\"\r\n              ref=\"guanchaTitle\"\r\n              :class=\"meditate_type == 1 ? 'think' : 'behavior'\">\r\n              观察修\r\n            </div>\r\n            <span ref=\"guanchaRef\"\r\n              id=\"guanchaRef\"\r\n              class=\"content ellipsis-content\"\r\n              :class=\"`${guanchaRefClass} ${showGuanchaLines ? 'overflowAuto' : ''}`\"\r\n              >\r\n              {{ meditate && meditate.meditate_guancha_text }}\r\n            </span>\r\n            <div class=\"medidate-more medidate-more_bottom\" ref=\"guanchaMoreRef\"\r\n              v-if=\"showGuanchaLines\">\r\n              <img @click=\"showMoreGuancha(true)\"\r\n                v-if=\"meditate_type == 1 && !isShowMoreGuancha\"\r\n                src=\"@/assets/img/medidate_more_down_1.svg\" />\r\n              <img @click=\"showMoreGuancha(false)\"\r\n                v-else-if=\"meditate_type == 1 && isShowMoreGuancha\"\r\n                src=\"@/assets/img/medidate_more_up_1.svg\" />\r\n              <img @click=\"showMoreGuancha(true)\"\r\n                v-if=\"meditate_type == 2 && !isShowMoreGuancha\"\r\n                src=\"@/assets/img/medidate_more_down_2.png\" />\r\n              <img @click=\"showMoreGuancha(false)\"\r\n                v-else-if=\"meditate_type == 2 && isShowMoreGuancha\"\r\n                src=\"@/assets/img/medidate_more_up_2.png\" />\r\n            </div>\r\n            <div class=\"medidate-more\"\r\n              v-else-if=\"isMobileDevice\"\r\n              ref=\"guanchaMoreRef\"\r\n              style=\"border-bottom-width: 0;\"></div>\r\n          </div>\r\n\r\n          <div class=\"guanchaWrapperRef\"\r\n            :class=\"anzhuWrapperRefClass\"\r\n            ref=\"anzhuWrapperRef\">\r\n            <div class=\"title anzhuxiuTitle\"\r\n              id=\"anzhuTitle\"\r\n              ref=\"anzhuTitle\"\r\n              :class=\"meditate_type == 1 ? 'think' : 'behavior'\">\r\n              安住修\r\n            </div>\r\n            <span ref=\"anzhuRef\"\r\n              id=\"anzhuRef\"\r\n              class=\"content ellipsis-content\"\r\n              :class=\"`${anzhuRefClass} ${showAnzhuLines ? 'overflowAuto' : ''}`\"\r\n            >\r\n              {{ meditate && meditate.meditate_anzhu_text }}\r\n            </span>\r\n            <div class=\"medidate-more medidate-more_bottom\" ref=\"anzhuMoreRef\"\r\n              v-if=\"showAnzhuLines\">\r\n              <img @click=\"showMoreAnzhu(true)\"\r\n                v-if=\"meditate_type == 1 && !isShowMoreAnzhu\"\r\n                src=\"@/assets/img/medidate_more_down_1.svg\" />\r\n              <img @click=\"showMoreAnzhu(false)\"\r\n                v-else-if=\"meditate_type == 1 && isShowMoreAnzhu\"\r\n                src=\"@/assets/img/medidate_more_up_1.svg\" />\r\n              <img @click=\"showMoreAnzhu(true)\"\r\n                v-if=\"meditate_type == 2 && !isShowMoreAnzhu\"\r\n                src=\"@/assets/img/medidate_more_down_2.png\" />\r\n              <img @click=\"showMoreAnzhu(false)\"\r\n                v-else-if=\"meditate_type == 2 && isShowMoreAnzhu\"\r\n                src=\"@/assets/img/medidate_more_up_2.png\" />\r\n            </div>\r\n            <div class=\"medidate-more\"\r\n              v-else-if=\"isMobileDevice\"\r\n              ref=\"anzhuMoreRef\"\r\n              style=\"border-bottom-width: 0;\"></div>\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n      <div :ref=\"'operates' + meditate_type\"\r\n        class=\"operates\"\r\n        :class=\"[fullscreen ? 'operatesFull' : '', !fullscreen && isNeedOutFullscreenAni ? 'operatesFullOut' : '']\">\r\n        <div class=\"btn-wrapper\">\r\n          <div v-if=\"\r\n                meditate_type == 1 &&\r\n                  meditate &&\r\n                  meditate.meditate_isuseradd != 2 &&\r\n                  courseIsuseradd != 3\r\n              \"\r\n            class=\"btn bg-transparent\"\r\n            @click=\"edit\"\r\n            :style=\"{\r\n                border: '1px solid #64afd5',\r\n                color: '#64afd5'\r\n              }\">\r\n            编辑观修文\r\n          </div>\r\n          <div v-if=\"\r\n                meditate_type == 2 &&\r\n                  meditate &&\r\n                  meditate.meditate_isuseradd != 2 &&\r\n                  courseIsuseradd != 3\r\n              \"\r\n            class=\"btn bg-transparent\"\r\n            @click=\"edit\"\r\n            :style=\"{\r\n                border: '1px solid #FD8B65',\r\n                color: '#FD8B65'\r\n              }\">\r\n            编辑观修文\r\n          </div>\r\n        </div>\r\n        <div class=\"meditate_silent\"\r\n          :style=\"{\r\n              color: meditate_type == 2 ? '#FD8B65' : '#64afd5'\r\n            }\">\r\n          <span @click=\"toSilencePage\">\r\n            进入止静\r\n            <img v-if=\"meditate_type == 2\"\r\n              src=\"@/assets/img/silent_arrow1.png\" />\r\n            <img v-else\r\n              src=\"@/assets/img/silent_arrow.png\" />\r\n          </span>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { setMeditateTextComplete } from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { throttle } from \"@/utils/util\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: {},\r\n  props: {\r\n    meditate_type_prop: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    fullscreen: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isNeedOutFullscreenAni: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      meditate_type: 1,\r\n      meditate_id: \"\",\r\n      meditate_guancha_text: \"\",\r\n      meditate_anzhu_text: \"\",\r\n      timeout: null,\r\n      isShowMoreTop: false,\r\n      isShowMoreBottom: false,\r\n      showGuanchaLines: false,\r\n      showAnzhuLines: false,\r\n      webkitLineClamp: 0,\r\n      isMobileDevice: false,\r\n      guanchaWrapperRefClass: \"\",\r\n      guanchaRefClass: \"\",\r\n      anzhuWrapperRefClass: \"\",\r\n      anzhuRefClass: \"\",\r\n      shouldInit: false,\r\n      interval: null,\r\n      lineNum: 4,\r\n      isShowMoreGuancha: false,\r\n      isShowMoreAnzhu: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    meditate() {\r\n      console.log(\"aaaaaaa:\" + this.meditate_type);\r\n      if (this.meditate_type == 1) {\r\n        return this.$store.getters.thinkMeditate;\r\n      } else {\r\n        return this.$store.getters.mindMeditate;\r\n      }\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          this.shouldInit = true;\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n    meditate_type_prop: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          this.meditate_type = v;\r\n        }\r\n      },\r\n    },\r\n    meditate: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          this.isShowMoreGuancha = false;\r\n          this.isShowMoreAnzhu = false;\r\n          this.showGuanchaLines = false;\r\n          this.showAnzhuLines = false;\r\n          this.guanchaWrapperRefClass = \"\";\r\n          this.guanchaRefClass = \"\";\r\n          this.anzhuWrapperRefClass = \"\";\r\n          this.anzhuRefClass = \"\";\r\n\r\n          if(this.timeValueA) {\r\n            clearTimeout(this.timeValueA);\r\n            this.timeValueA = null;\r\n          }\r\n          this.timeValueA = setTimeout(() => {\r\n            this.initMedidateText();\r\n          }, 500)\r\n\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n  },\r\n  methods: {\r\n    // 初始化\r\n    initMedidateText() {\r\n      this.$nextTick(() => {\r\n        const $tipsContent = this.$refs.tipsContent;\r\n        if(this.$refs['operates' + this.meditate_type]) {\r\n          const $operatesRect = this.$refs['operates' + this.meditate_type].getBoundingClientRect();\r\n          $tipsContent.style.height = `calc(100% - ${$operatesRect.height}px)`\r\n        }\r\n        if(this.interval) {\r\n          clearInterval(this.interval);\r\n          this.interval = null;\r\n        }\r\n         this.interval = setInterval(() => {\r\n          const $tipsContentRect = $tipsContent.getBoundingClientRect();\r\n          if(!$tipsContentRect) {\r\n            clearInterval(this.interval);\r\n            this.interval = null;\r\n            return;\r\n          }\r\n          const totalHeight = $tipsContentRect.height;\r\n          console.log(\"$tipsContent:\", $tipsContent);\r\n          console.log(this.whiteCom, this.meditate_type_prop)\r\n          if((this.whiteCom != \"TipsView\" && this.meditate_type_prop == 1) || (this.whiteCom != \"BehaviorAudio\" && this.meditate_type_prop == 2)) {\r\n            clearInterval(this.interval);\r\n            this.interval = null;\r\n            return;\r\n          }\r\n          if(totalHeight > 0) {\r\n            clearInterval(this.interval);\r\n            this.interval = null;\r\n          }\r\n          if(!totalHeight) {\r\n            return;\r\n          }\r\n          this.$refs.guanchaWrapperRef.style.height = totalHeight / 2 + \"px\";\r\n          this.$refs.anzhuWrapperRef.style.height = totalHeight / 2 + \"px\";\r\n\r\n          const $guanchaRef = this.$refs.guanchaRef;\r\n          const $anzhuRef = this.$refs.anzhuRef;\r\n          const $guanchaTitle = this.$refs.guanchaTitle;\r\n          const $anzhuTitle = this.$refs.anzhuTitle;\r\n          const $anzhuMoreRef = this.$refs.anzhuMoreRef;\r\n          const $guanchaMoreRef = this.$refs.guanchaMoreRef;\r\n\r\n          const guanchaTitleHeight = $guanchaTitle.offsetHeight;\r\n          const anzhuTitleHeight = $anzhuTitle.offsetHeight;\r\n\r\n          $guanchaRef.style.height = totalHeight / 2 - guanchaTitleHeight + \"px\";\r\n          $anzhuRef.style.height = totalHeight / 2 - anzhuTitleHeight + \"px\";\r\n          $guanchaRef.style.overflowY = 'hidden';\r\n          $anzhuRef.style.overflowY = 'hidden';\r\n\r\n          this.$nextTick(() => {\r\n            const webkitLineClamp = this.getWebkitLineClamp(\"guanchaRef\", totalHeight / 2 - guanchaTitleHeight);\r\n            const webkitLineClamp1 = this.getWebkitLineClamp(\"anzhuRef\", totalHeight / 2 - anzhuTitleHeight);\r\n            console.log(\"bbbbbb:\" + webkitLineClamp);\r\n            if (webkitLineClamp) {\r\n              this.webkitLineClamp = webkitLineClamp;\r\n              this.initShowLines(webkitLineClamp, webkitLineClamp1);\r\n\r\n              this.$nextTick(() => {\r\n                if(this.showGuanchaLines && this.showAnzhuLines) {\r\n                  const $anzhuMoreRef = this.$refs.anzhuMoreRef;\r\n                  const $guanchaMoreRef = this.$refs.guanchaMoreRef;\r\n                  let $guanchaMoreRefHeight = 0;\r\n                  if($guanchaMoreRef) {\r\n                    $guanchaMoreRefHeight = $guanchaMoreRef.offsetHeight;\r\n                  }\r\n                  const webkitLineClamp = this.getWebkitLineClamp(\"guanchaRef\", totalHeight / 2 - guanchaTitleHeight - $guanchaMoreRefHeight);\r\n                  let $anzhuMoreRefHeight = 0;\r\n                  if($anzhuMoreRef) {\r\n                    $anzhuMoreRefHeight = $anzhuMoreRef.offsetHeight;\r\n                  }\r\n                  const webkitLineClamp1 = this.getWebkitLineClamp(\"anzhuRef\", totalHeight / 2 - anzhuTitleHeight - $anzhuMoreRefHeight);\r\n                } else if(this.showGuanchaLines && !this.showAnzhuLines) {\r\n                  const $guanchaMoreRef = this.$refs.guanchaMoreRef;\r\n                  let $guanchaMoreRefHeight = 0;\r\n                  if($guanchaMoreRef) {\r\n                    $guanchaMoreRefHeight = $guanchaMoreRef.offsetHeight;\r\n                  }\r\n                  const webkitLineClamp = this.getWebkitLineClamp(\"guanchaRef\", totalHeight / 2 - guanchaTitleHeight - $guanchaMoreRefHeight);\r\n                  const webkitLineClamp1 = this.getWebkitLineClamp(\"anzhuRef\", totalHeight / 2 - anzhuTitleHeight - $guanchaMoreRefHeight);\r\n                } else if(!this.showGuanchaLines && this.showAnzhuLines) {\r\n                  let $anzhuMoreRefHeight = 0;\r\n                  const $anzhuMoreRef = this.$refs.anzhuMoreRef;\r\n                  if($anzhuMoreRef) {\r\n                    $anzhuMoreRefHeight = $anzhuMoreRef.offsetHeight;\r\n                  }\r\n                  const webkitLineClamp = this.getWebkitLineClamp(\"anzhuRef\", totalHeight / 2 - anzhuTitleHeight - $anzhuMoreRefHeight);\r\n                  const webkitLineClamp1 = this.getWebkitLineClamp(\"guanchaRef\", totalHeight / 2 - guanchaTitleHeight - $anzhuMoreRefHeight);\r\n                }\r\n              })\r\n            }\r\n          });\r\n        }, 200);\r\n      });\r\n    },\r\n    // 设置是否显示图片\r\n    initShowLines(topWebkitLine, bottomWebkitLine) {\r\n      const guanchaLines = this.getLines(\"guanchaRef\");\r\n      const anzhuLines = this.getLines(\"anzhuRef\");\r\n      this.showGuanchaLines = false;\r\n      this.showAnzhuLines = false;\r\n      if (guanchaLines >= topWebkitLine) {\r\n        this.showGuanchaLines = true;\r\n      }\r\n      if(anzhuLines >= bottomWebkitLine) {\r\n        this.showAnzhuLines = true;\r\n      }\r\n    },\r\n    getWebkitLineClamp(id, height) {\r\n      if (window.getComputedStyle) {\r\n        const target = document.getElementById(id);\r\n        if (target) {\r\n          // const height = parseInt(window.getComputedStyle(target).height);\r\n          const lineHeight = parseInt(\r\n            window.getComputedStyle(target).lineHeight\r\n          );\r\n          const webkitLineClamp = Math.floor(height / lineHeight);\r\n          // 算出能放置多少行再重新设置高度，避免出现多余的空间截取了下面的字\r\n          target.style.height = lineHeight * webkitLineClamp + 'px';\r\n          target.style.webkitLineClamp = webkitLineClamp;\r\n          console.log(`id=${id}: height=${height} lineHeight=${lineHeight} 内容可以放置${webkitLineClamp}行`);\r\n          return webkitLineClamp;\r\n        } else {\r\n          return 0;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    // 内容需要几行显示\r\n    getLines(id) {\r\n      const target = document.getElementById(id);\r\n      let numLines = 0;\r\n      if (target) {\r\n        const div = document.createElement(\"div\");\r\n        div.style.position = \"absolute\";\r\n        div.style.visibility = \"hidden\";\r\n        div.style.width = target.offsetWidth + \"px\";\r\n        div.style.fontSize = window.getComputedStyle(target).fontSize;\r\n        div.style.lineHeight = window.getComputedStyle(target).lineHeight;\r\n        div.innerText = target.innerText;\r\n        document.body.appendChild(div);\r\n\r\n        const lineHeight = parseInt(window.getComputedStyle(div).lineHeight);\r\n        const height = parseInt(window.getComputedStyle(div).height);\r\n        numLines = Math.ceil(height / lineHeight);\r\n\r\n        document.body.removeChild(div);\r\n      } else {\r\n        numLines = 0;\r\n      }\r\n\r\n      console.log(`内容需要占用${numLines}行`);\r\n      return numLines;\r\n    },\r\n    showMoreGuancha(isShowMoreGuancha) {\r\n      this.isShowMoreGuancha = isShowMoreGuancha;\r\n      const $guanchaWrapperRef = this.$refs.guanchaWrapperRef;\r\n      const $guanchaRef = this.$refs.guanchaRef;\r\n      const $guanchaTitle = this.$refs.guanchaTitle;\r\n      const $guanchaMoreRef = this.$refs.guanchaMoreRef;\r\n\r\n      if (isShowMoreGuancha) {\r\n        // 观察修动画\r\n        const lineHeight = parseInt(\r\n          window.getComputedStyle($guanchaRef).lineHeight\r\n        );\r\n        const guanchaLines = this.getLines(\"guanchaRef\");\r\n        const $guanchaTitleHeight = $guanchaTitle.offsetHeight;\r\n        let $guanchaMoreRefHeight = 0;\r\n        if($guanchaMoreRef) {\r\n          $guanchaMoreRefHeight = $guanchaMoreRef.offsetHeight;\r\n        }\r\n\r\n        $guanchaWrapperRef.style.height = $guanchaTitleHeight + lineHeight * guanchaLines + $guanchaMoreRefHeight + 'px';\r\n        $guanchaWrapperRef.style.transition = 'all 0.5s ease 0s';\r\n        // 计算观察修的高度\r\n        const guanchaHeight = lineHeight * guanchaLines;\r\n        $guanchaRef.style.height = guanchaHeight + 'px';\r\n        $guanchaRef.style.overflowY = 'auto';\r\n        $guanchaRef.style.webkitLineClamp = 'unset';\r\n        $guanchaRef.style.transition = 'all 0.5s ease 0s';\r\n\r\n      } else {\r\n       // 观察修动画\r\n       const $guanchaTitleHeight = $guanchaTitle.offsetHeight;\r\n       let $guanchaMoreRefHeight = 0;\r\n       if($guanchaMoreRef) {\r\n        $guanchaMoreRefHeight = $guanchaMoreRef.offsetHeight\r\n       }\r\n        const lineHeight = parseInt(\r\n          window.getComputedStyle($guanchaRef).lineHeight\r\n        );\r\n        console.log('-----lineHeight:', lineHeight);\r\n        const $guanchaWrapperRefHeight = $guanchaTitleHeight + $guanchaMoreRefHeight + lineHeight * this.lineNum;\r\n        $guanchaWrapperRef.style.height = $guanchaWrapperRefHeight + 'px';\r\n        $guanchaWrapperRef.style.transition = 'all 0.5s ease 0s';\r\n        $guanchaRef.style.height = lineHeight * this.lineNum + 'px';\r\n        $guanchaRef.style.transition = 'all 0.5s ease 0s';\r\n        $guanchaRef.style.webkitLineClamp = this.lineNum;\r\n        $guanchaRef.style.overflowY = 'hidden';\r\n      }\r\n\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        if(isShowMoreGuancha) {\r\n          this.initShowLines(this.webkitLineClamp, 1);\r\n        }\r\n        else {\r\n          this.initShowLines(1, this.webkitLineClamp);\r\n        }\r\n        document.querySelectorAll('.overflowAuto').forEach(el => {\r\n          el.scrollTo(0,0);\r\n        })\r\n      }, 300);\r\n    },\r\n    showMoreAnzhu(isShowMoreAnzhu) {\r\n      this.isShowMoreAnzhu = isShowMoreAnzhu;\r\n      const $anzhuWrapperRef = this.$refs.anzhuWrapperRef;\r\n      const $guanchaRef = this.$refs.guanchaRef;\r\n      const $anzhuRef = this.$refs.anzhuRef;\r\n      const $anzhuTitle = this.$refs.anzhuTitle;\r\n      const $anzhuMoreRef = this.$refs.anzhuMoreRef;\r\n\r\n      if (isShowMoreAnzhu) {\r\n        // 安住修动画\r\n        const lineHeight = parseInt(\r\n          window.getComputedStyle($guanchaRef).lineHeight\r\n        );\r\n        const anzhuLines = this.getLines(\"anzhuRef\");\r\n        const $anzhuTitleHeight = $anzhuTitle.offsetHeight;\r\n        let $anzhuMoreRefHeight = 0;\r\n        if($anzhuMoreRef) {\r\n          $anzhuMoreRefHeight = $anzhuMoreRef.offsetHeight;\r\n        }\r\n\r\n        const anzhuHeight = anzhuLines * lineHeight;\r\n        $anzhuWrapperRef.style.height = $anzhuTitleHeight + anzhuHeight + $anzhuMoreRefHeight + 'px';\r\n        $anzhuWrapperRef.style.transition = 'all 0.5s ease 0s';\r\n        // 计算安住修的高度\r\n        $anzhuRef.style.height = anzhuHeight + 'px';\r\n        $anzhuRef.style.transition = 'all 0.5s ease 0s';\r\n        $anzhuRef.style.webkitLineClamp = 'unset';\r\n      } else {\r\n        // 安住修动画\r\n        const $anzhuTitleHeight = $anzhuTitle.offsetHeight;\r\n        let $anzhuMoreRefHeight = 0;\r\n        if($anzhuMoreRef) {\r\n          $anzhuMoreRefHeight = $anzhuMoreRef.offsetHeight;\r\n        }\r\n        const lineHeight = parseInt(\r\n          window.getComputedStyle($anzhuRef).lineHeight\r\n        );\r\n        const $anzhuWrapperRefHeight = $anzhuTitleHeight + $anzhuMoreRefHeight + lineHeight * this.lineNum\r\n        $anzhuWrapperRef.style.height = $anzhuWrapperRefHeight + 'px';\r\n        $anzhuWrapperRef.style.transition = 'all 0.5s ease 0s';\r\n        $anzhuRef.style.height = lineHeight * this.lineNum + 'px';\r\n        $anzhuRef.style.transition = 'all 0.5s ease 0s';\r\n        $anzhuRef.style.webkitLineClamp = this.lineNum;\r\n        $anzhuRef.style.overflowY = 'hidden';\r\n      }\r\n\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        if(isShowMoreAnzhu) {\r\n          this.initShowLines(1, this.webkitLineClamp);\r\n        }\r\n        else {\r\n          this.initShowLines(this.webkitLineClamp, 1);\r\n        }\r\n\r\n        document.querySelectorAll('.overflowAuto').forEach(el => {\r\n          el.scrollTo(0,0);\r\n        })\r\n      }, 300);\r\n    },\r\n    init() {\r\n      this.meditate_type = this.meditate_type_prop;\r\n      if (this.timeout) {\r\n        clearTimeout(this.timeout);\r\n      }\r\n    },\r\n    async setMeditateTextComplete() {\r\n      try {\r\n        const params = {\r\n          course_id: this.course_id,\r\n          type: this.meditate_type,\r\n        };\r\n        const res = await setMeditateTextComplete(params);\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    edit() {\r\n      const isContained = this.historyOperate.some((item) => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      if (isContained) {\r\n        this.$router.push({\r\n          path: \"/white/TipsViewAdd\",\r\n          query: {\r\n            meditate_type: this.meditate_type,\r\n          },\r\n        });\r\n      } else {\r\n        this.$router.push({\r\n          path: \"/white/TipsViewAdd\",\r\n          query: {\r\n            meditate_type: this.meditate_type,\r\n          },\r\n        });\r\n      }\r\n    },\r\n    toggle(fullscreen) {\r\n      this.$emit(\"toggle\");\r\n      if (fullscreen) {\r\n      }\r\n    },\r\n    toSilencePage() {\r\n      this.$emit(\"toSilencePage\");\r\n    },\r\n    handleResize() {\r\n      this.initMedidateText();\r\n    },\r\n  },\r\n  activated() {\r\n    this.init();\r\n    if(this.shouldInit) {\r\n      this.shouldInit = false;\r\n      this.initMedidateText();\r\n    }\r\n  },\r\n  deactivated() {\r\n    if(this.interval) {\r\n      clearInterval(this.interval);\r\n      this.interval = null;\r\n    }\r\n  },\r\n  created() {},\r\n  beforeDestroy() {\r\n    if(this.interval) {\r\n      clearInterval(this.interval);\r\n    }\r\n  },\r\n  mounted() {\r\n    console.log(\"meditate_type_prop:\", this.meditate_type_prop);\r\n    this.meditate_type = this.meditate_type_prop;\r\n    this.isMobileDevice = this.checkMobileDevice();\r\n\r\n    if (this.fullscreen) {\r\n      this.toggle(false);\r\n    }\r\n\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.handleResize();\r\n      // if (this.$refs.guanchaRef) {\r\n      //   throttle(this.handleResize, 200);\r\n      // }\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n\r\n.full {\r\n  height: 100%;\r\n  width: 100%;\r\n  .content-box {\r\n    height: calc(100% - 122px);\r\n    width: 60%;\r\n    // padding: 20px 31px 0;\r\n    margin: 14px auto;\r\n    margin-bottom: 70px;\r\n    border-radius: 16px;\r\n    background: rgba(255, 255, 255, 0.65);\r\n    -webkit-animation: contentBoxFull 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: contentBoxFull 0.5s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n    flex: none;\r\n  }\r\n  @-webkit-keyframes contentBoxFull {\r\n    0% {\r\n      margin: 14px auto;\r\n    }\r\n    100% {\r\n      margin-left: 145px;\r\n    }\r\n  }\r\n  @keyframes contentBoxFull {\r\n    0% {\r\n      margin: 14px auto;\r\n    }\r\n    100% {\r\n      margin-left: 145px;\r\n    }\r\n  }\r\n  .tips-content {\r\n    background: transparent;\r\n    overflow-y: auto;\r\n    // height: calc(100% - 230px);\r\n    // background: none;\r\n    // background-image: url(\"~@/assets/img/tips_content_bg.png\");\r\n    // background-size: 100% 100%;\r\n    // background-repeat: no-repeat;\r\n  }\r\n}\r\n.fullscreen {\r\n  top: 60px;\r\n}\r\n.box {\r\n  height: 100%;\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.thinkBg {\r\n  background-image: url(\"~@/assets/img/tipsview_bg.png\");\r\n  // background-size: 100% 100%;\r\n  background-size: contain;\r\n  background-position: center center;\r\n  background-repeat: no-repeat;\r\n  .box-content-name {\r\n    display: flex;\r\n    align-items: center;\r\n    img {\r\n      cursor: pointer;\r\n      margin-right: 5px;\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n  }\r\n}\r\n.behaviorBg {\r\n  background-image: url(\"~@/assets/img/behavioraudio.png\");\r\n  // background-size: 100% 100%;\r\n  background-size: contain;\r\n  background-position: center center;\r\n  background-repeat: no-repeat;\r\n  .box-content-name {\r\n    display: flex;\r\n    align-items: center;\r\n    img {\r\n      cursor: pointer;\r\n      padding-right: 5px;\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n  }\r\n}\r\n.content-box {\r\n  padding: 0;\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n //  padding: 52px 30px;\r\n  padding: 20px 30px 52px 30px;\r\n  overflow-y: hidden;\r\n  &.contentBoxOut {\r\n    -webkit-animation: contentBoxOut 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: contentBoxOut 0.5s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes contentBoxOut {\r\n    0% {\r\n      margin-left: 145px;\r\n    }\r\n    100% {\r\n      margin: 14px auto;\r\n    }\r\n  }\r\n  @keyframes contentBoxOut {\r\n    0% {\r\n      margin-left: 145px;\r\n    }\r\n    100% {\r\n      margin: 14px auto;\r\n    }\r\n  }\r\n  .header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    .name {\r\n      font-size: 16px;\r\n      font-family: \"\\601D\\6E90\\9ED1\\4F53 CN Medium\";\r\n      font-weight: 500;\r\n      margin-bottom: 11px;\r\n      margin-left: 18px;\r\n      display: flex;\r\n      align-items: center;\r\n      img {\r\n        margin-right: 10px;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n    /deep/ .el-button {\r\n      padding: 8px 20px;\r\n    }\r\n  }\r\n}\r\n.think {\r\n  color: #64afd5 !important;\r\n}\r\n.behavior {\r\n  color: #ffb096;\r\n}\r\n.tips-content {\r\n  background: #f2f4f5;\r\n  border-radius: 16px;\r\n  position: relative;\r\n  height: calc(100% - 25px);\r\n  overflow-y: auto;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .guanchaWrapperRef {\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 50%;\r\n    transition: all 0.3s ease-in-out;\r\n  }\r\n  .guanchaWrapperRef1 {\r\n    flex: 1;\r\n    transition: all 0.3s ease-in-out;\r\n  }\r\n  .guanchaWrapperRef2 {\r\n    height: 130px;\r\n    transition: all 0.3s ease-in-out;\r\n    .guanchaRef2{\r\n      overflow: hidden;\r\n    }\r\n  }\r\n  .guanchaRef1 {\r\n    -webkit-line-clamp: inherit !important;\r\n  }\r\n  .guanchaRef2 {\r\n    //-webkit-line-clamp: 2 !important;\r\n  }\r\n  .anzhuWrapperRef1 {\r\n    flex: 1;\r\n    transition: all 0.3s ease-in-out;\r\n  }\r\n  .anzhuWrapperRef2 {\r\n    height: 130px;\r\n    transition: all 0.3s ease-in-out;\r\n    .anzhuRef2{\r\n      overflow: hidden;\r\n    }\r\n  }\r\n  .anzhuRef1 {\r\n    -webkit-line-clamp: inherit !important;\r\n  }\r\n  .anzhuRef2 {\r\n    //-webkit-line-clamp: 2 !important;\r\n  }\r\n  .medidate-more {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    padding: 12px 0 14px 0;\r\n    margin-bottom: 14px;\r\n    border-bottom: 1px solid rgba(126, 135, 140, 0.1);\r\n    img {\r\n      width: 21px;\r\n      height: 12px;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n  .medidate-more_bottom {\r\n    border-bottom: none;\r\n    margin-bottom: 0;\r\n  }\r\n  // margin-left: 20%;\r\n  .title {\r\n    height: 65px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 24px;\r\n    color: #ffb096;\r\n    line-height: 30px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n    padding-top: 15px;\r\n  }\r\n\r\n  .content {\r\n    // margin: 20px 0;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    line-height: 30px;\r\n    -webkit-line-clamp: 5;\r\n    // scrollbar-width: thin !important;\r\n    // border-radius: 10px;\r\n    // background: #64afd5;\r\n    // scrollbar-color: #64afd5 rgb(241, 241, 241);\r\n    // flex: 1;\r\n  }\r\n}\r\n.tips-content1 {\r\n  // height: 520px;\r\n}\r\n.operates {\r\n  position: absolute;\r\n  bottom: 20px;\r\n  transform: translateX(-50%);\r\n  left: 50%;\r\n  &.operatesFull {\r\n    -webkit-animation: operatesFull 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: operatesFull 0.5s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes operatesFull {\r\n    0% {\r\n      left: 50%;\r\n      bottom: 30px;\r\n    }\r\n    100% {\r\n      left: 88%;\r\n      bottom: 30px;\r\n    }\r\n  }\r\n  @keyframes operatesFull {\r\n    0% {\r\n      left: 50%;\r\n      bottom: 90px;\r\n    }\r\n    100% {\r\n      left: 88%;\r\n      bottom: 90px;\r\n    }\r\n  }\r\n  &.operatesFullOut {\r\n    -webkit-animation: operatesFullOut 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: operatesFullOut 0.5s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes operatesFullOut {\r\n    0% {\r\n      left: 88%;\r\n      bottom: 90px;\r\n    }\r\n    100% {\r\n      left: 50%;\r\n      bottom: 10px;\r\n    }\r\n  }\r\n  @keyframes operatesFullOut {\r\n    0% {\r\n      left: 88%;\r\n      bottom: 90px;\r\n    }\r\n    100% {\r\n      left: 50%;\r\n      bottom: 10px;\r\n    }\r\n  }\r\n  .btn-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n  .btn {\r\n    width: 178px;\r\n    height: 53px;\r\n    border-radius: 28px;\r\n    text-align: center;\r\n    line-height: 53px;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    margin-bottom: 15px;\r\n    // position: absolute;\r\n    // bottom: 33px;\r\n    // left: 50%;\r\n    // transform: translateX(-50%);\r\n    cursor: pointer;\r\n  }\r\n  .meditate_silent {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    line-height: 32px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    // padding-bottom: 20px;\r\n    // margin-top: 25px;\r\n    span {\r\n      cursor: pointer;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n    }\r\n    img {\r\n      width: 11px;\r\n      height: 19px;\r\n      margin-top: 2px;\r\n      margin-left: 16px;\r\n    }\r\n  }\r\n}\r\n\r\n// *::-webkit-scrollbar {\r\n//   /*滚动条整体样式*/\r\n//   width: 3px;\r\n// }\r\n// .think-content {\r\n//   *::-webkit-scrollbar-thumb {\r\n//     /*滚动条里面小方块*/\r\n//     border-radius: 10px;\r\n//     background: #64afd5;\r\n//   }\r\n// }\r\n// .behavior-content {\r\n//   *::-webkit-scrollbar-thumb {\r\n//     /*滚动条里面小方块*/\r\n//     border-radius: 10px;\r\n//     background: #ffb096;\r\n//   }\r\n// }\r\n\r\n.guanchaWrapperRef1,\r\n.anzhuWrapperRef1{\r\n  .overflowAuto{\r\n    overflow-y: auto;\r\n  }\r\n}\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/TipsViewDetail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{staticClass:\"box\",class:_vm.fullscreen ? (_vm.meditate_type == 1 ? 'thinkBg' : 'behaviorBg') : ''},[(!_vm.fullscreen && _vm.meditate_type == 1)?_c('img',{staticClass:\"fullscreen\",attrs:{\"src\":require(\"@/assets/img/fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle(true)}}}):_vm._e(),_vm._v(\" \"),(!_vm.fullscreen && _vm.meditate_type == 2)?_c('img',{staticClass:\"fullscreen\",attrs:{\"src\":require(\"@/assets/img/fullscreen01.svg\")},on:{\"click\":function($event){return _vm.toggle(true)}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"box-content-name name\",class:[\n        _vm.meditate_type == 1 ? 'think' : 'behavior',\n        !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view-name-ani' : ''\n      ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"观修文\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle(true)}}},[_vm._v(\"观修文\")])]),_vm._v(\" \"),_c('div',{ref:\"contentBox\",staticClass:\"content-box\",class:!_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'contentBoxOut' : ''},[_c('div',{ref:\"tipsContent\",staticClass:\"tips-content\",class:[\n          _vm.meditate_type == 1 ? 'think-content' : 'behavior-content',\n          _vm.meditate && _vm.meditate.meditate_isuseradd != 2 && _vm.courseIsuseradd != 3\n            ? ''\n            : 'tips-content1'\n        ]},[_c('div',{ref:\"guanchaWrapperRef\",staticClass:\"guanchaWrapperRef\",class:_vm.guanchaWrapperRefClass},[_c('div',{ref:\"guanchaTitle\",staticClass:\"title\",class:_vm.meditate_type == 1 ? 'think' : 'behavior',attrs:{\"id\":\"guanchaTitle\"}},[_vm._v(\"\\n            观察修\\n          \")]),_vm._v(\" \"),_c('span',{ref:\"guanchaRef\",staticClass:\"content ellipsis-content\",class:(_vm.guanchaRefClass + \" \" + (_vm.showGuanchaLines ? 'overflowAuto' : '')),attrs:{\"id\":\"guanchaRef\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.meditate && _vm.meditate.meditate_guancha_text)+\"\\n          \")]),_vm._v(\" \"),(_vm.showGuanchaLines)?_c('div',{ref:\"guanchaMoreRef\",staticClass:\"medidate-more medidate-more_bottom\"},[(_vm.meditate_type == 1 && !_vm.isShowMoreGuancha)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_down_1.svg\")},on:{\"click\":function($event){return _vm.showMoreGuancha(true)}}}):(_vm.meditate_type == 1 && _vm.isShowMoreGuancha)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_up_1.svg\")},on:{\"click\":function($event){return _vm.showMoreGuancha(false)}}}):_vm._e(),_vm._v(\" \"),(_vm.meditate_type == 2 && !_vm.isShowMoreGuancha)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_down_2.png\")},on:{\"click\":function($event){return _vm.showMoreGuancha(true)}}}):(_vm.meditate_type == 2 && _vm.isShowMoreGuancha)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_up_2.png\")},on:{\"click\":function($event){return _vm.showMoreGuancha(false)}}}):_vm._e()]):(_vm.isMobileDevice)?_c('div',{ref:\"guanchaMoreRef\",staticClass:\"medidate-more\",staticStyle:{\"border-bottom-width\":\"0\"}}):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"anzhuWrapperRef\",staticClass:\"guanchaWrapperRef\",class:_vm.anzhuWrapperRefClass},[_c('div',{ref:\"anzhuTitle\",staticClass:\"title anzhuxiuTitle\",class:_vm.meditate_type == 1 ? 'think' : 'behavior',attrs:{\"id\":\"anzhuTitle\"}},[_vm._v(\"\\n            安住修\\n          \")]),_vm._v(\" \"),_c('span',{ref:\"anzhuRef\",staticClass:\"content ellipsis-content\",class:(_vm.anzhuRefClass + \" \" + (_vm.showAnzhuLines ? 'overflowAuto' : '')),attrs:{\"id\":\"anzhuRef\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.meditate && _vm.meditate.meditate_anzhu_text)+\"\\n          \")]),_vm._v(\" \"),(_vm.showAnzhuLines)?_c('div',{ref:\"anzhuMoreRef\",staticClass:\"medidate-more medidate-more_bottom\"},[(_vm.meditate_type == 1 && !_vm.isShowMoreAnzhu)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_down_1.svg\")},on:{\"click\":function($event){return _vm.showMoreAnzhu(true)}}}):(_vm.meditate_type == 1 && _vm.isShowMoreAnzhu)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_up_1.svg\")},on:{\"click\":function($event){return _vm.showMoreAnzhu(false)}}}):_vm._e(),_vm._v(\" \"),(_vm.meditate_type == 2 && !_vm.isShowMoreAnzhu)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_down_2.png\")},on:{\"click\":function($event){return _vm.showMoreAnzhu(true)}}}):(_vm.meditate_type == 2 && _vm.isShowMoreAnzhu)?_c('img',{attrs:{\"src\":require(\"@/assets/img/medidate_more_up_2.png\")},on:{\"click\":function($event){return _vm.showMoreAnzhu(false)}}}):_vm._e()]):(_vm.isMobileDevice)?_c('div',{ref:\"anzhuMoreRef\",staticClass:\"medidate-more\",staticStyle:{\"border-bottom-width\":\"0\"}}):_vm._e()])])]),_vm._v(\" \"),_c('div',{ref:'operates' + _vm.meditate_type,staticClass:\"operates\",class:[_vm.fullscreen ? 'operatesFull' : '', !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'operatesFullOut' : '']},[_c('div',{staticClass:\"btn-wrapper\"},[(\n              _vm.meditate_type == 1 &&\n                _vm.meditate &&\n                _vm.meditate.meditate_isuseradd != 2 &&\n                _vm.courseIsuseradd != 3\n            )?_c('div',{staticClass:\"btn bg-transparent\",style:({\n              border: '1px solid #64afd5',\n              color: '#64afd5'\n            }),on:{\"click\":_vm.edit}},[_vm._v(\"\\n          编辑观修文\\n        \")]):_vm._e(),_vm._v(\" \"),(\n              _vm.meditate_type == 2 &&\n                _vm.meditate &&\n                _vm.meditate.meditate_isuseradd != 2 &&\n                _vm.courseIsuseradd != 3\n            )?_c('div',{staticClass:\"btn bg-transparent\",style:({\n              border: '1px solid #FD8B65',\n              color: '#FD8B65'\n            }),on:{\"click\":_vm.edit}},[_vm._v(\"\\n          编辑观修文\\n        \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"meditate_silent\",style:({\n            color: _vm.meditate_type == 2 ? '#FD8B65' : '#64afd5'\n          })},[_c('span',{on:{\"click\":_vm.toSilencePage}},[_vm._v(\"\\n          进入止静\\n          \"),(_vm.meditate_type == 2)?_c('img',{attrs:{\"src\":require(\"@/assets/img/silent_arrow1.png\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/silent_arrow.png\")}})])])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7ee53b80\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/TipsViewDetail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7ee53b80\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TipsViewDetail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsViewDetail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsViewDetail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7ee53b80\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TipsViewDetail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7ee53b80\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/TipsViewDetail.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/loading.045a136.gif\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/loading.gif\n// module id = JRsF\n// module chunks = 171","<template>\r\n  <div :class=\"[\r\n    fullscreen ? 'big-view bg-white' : '',\r\n    showIcon ? 'showIcon' : 'hideIcon',\r\n    'icon_culture'\r\n  ]\">\r\n    <div class=\"container\">\r\n      <el-container>\r\n        <el-header class=\"el-header\">\r\n          <!-- <Hearder /> -->\r\n        </el-header>\r\n        <el-main class=\"main\">\r\n          <!-- 观念的禅修 -->\r\n          <div class=\"concept\">\r\n            <h3>{{ content[type].title }}</h3>\r\n          </div>\r\n          <!-- 内容 -->\r\n          <div class=\"content\">\r\n            <h3>{{ content[type].smallT }}</h3>\r\n            <div>{{ content[type].content }}</div>\r\n            <div>{{ content[type].content1 }}</div>\r\n          </div>\r\n          <!-- 关闭 -->\r\n          <div class=\"close\" @click=\"close\">\r\n            <img src=\"@/assets/img/icon_close.svg\" alt=\"\" />\r\n          </div>\r\n        </el-main>\r\n      </el-container>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport Hearder from \"@/components/Hearder.vue\";\r\nimport { EventBus, WHITE_PREV_COM, WHITE_ICON } from \"@/utils/eventBus\";\r\nexport default {\r\n  components: {\r\n    Hearder,\r\n  },\r\n\r\n  data() {\r\n    return {\r\n      styleImg: [\r\n        \"/static/img/culture.svg\",\r\n        \"/static/img/thinking.svg\",\r\n        \"/static/img/behavior.svg\",\r\n        \"/static/img/personality.svg\",\r\n      ],\r\n      content: {\r\n        0: {\r\n          title: \"观念的禅修\",\r\n          smallT: \"1-4步\",\r\n          content: \"运用所学法义，结合现实人生思考，完成观念的改变。\",\r\n          content1:\r\n            \"观念的禅修是通过法义的学习树立正见。从理论层面的学习到事实层面的认识和运用。\",\r\n        },\r\n        1: {\r\n          title: \"观念的禅修\",\r\n          smallT: \"1-4步\",\r\n          content: \"运用所学法义，结合现实人生思考，完成观念的改变。\",\r\n          content1:\r\n            \"观念的禅修是通过法义的学习树立正见。从理论层面的学习到事实层面的认识和运用。\",\r\n        },\r\n        2: {\r\n          title: \"心态的禅修\",\r\n          smallT: \"5-6步\",\r\n          content: \"运用正确观念指导人生，处理问题，完成心态的转变。\",\r\n          content1: \"心态的禅修是建立正念。通过正见再选择正念。\",\r\n        },\r\n        3: {\r\n          title: \"品质的禅修\",\r\n          smallT: \"7-8步\",\r\n          content:\r\n            \"不断摆脱错误观念和心态，重复正确观念和心态，完成生命品质的转变。\",\r\n          content1: \"生命品质的禅修是正念的累积。\",\r\n        },\r\n      },\r\n      fullscreen: false,\r\n      showIcon: true\r\n    };\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"icon course_id:\", this.showIcon)\r\n        if(this.showIcon) {\r\n          this.close(false);\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    close(isKeepPrevCom) {\r\n      this.showIcon = false;\r\n      EventBus.$emit('HIDE_WHITE_ICON_ANI');\r\n      let timeout = setTimeout(() => {\r\n        EventBus.$emit('HIDE_WHITE_ICON');\r\n        if(isKeepPrevCom !== false) {\r\n          EventBus.$emit(WHITE_PREV_COM);\r\n        }\r\n        clearTimeout(timeout);\r\n      }, 300);\r\n    },\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    type() {\r\n      return this.$store.getters.menuType;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.fullscreen = true;\r\n    EventBus.$on(WHITE_ICON, () => {\r\n      this.showIcon = true;\r\n    });\r\n    EventBus.$on(\"CLOSE_ICON\", (type) => {\r\n      // 先关闭，再跳转到头部点击页面\r\n      this.close();\r\n      let timeout = setTimeout(() => {\r\n        console.log(\"CLOSE_ICON_FINISH\");\r\n        EventBus.$emit('CLOSE_ICON_FINISH', type);\r\n        clearTimeout(timeout);\r\n      }, 400);\r\n    });\r\n    EventBus.$on(\"closeIconPage\", () => {\r\n      this.close();\r\n    })\r\n    EventBus.$on(\"CLOSE_ICON_EYE\", () => {\r\n      // 简介页时点击眼睛关闭简介页\r\n      this.close();\r\n    });\r\n    EventBus.$on(\"toIndex\", () => {\r\n      if (this.whiteCom === \"Icon\") {\r\n        // 如果当前是简介页，点击时则要先关闭简介页然后再跳转到其他页\r\n        this.close(false);\r\n      }\r\n    });\r\n    \r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.icon_culture {\r\n  width: 100%;\r\n  height: 100%;\r\n  left: 0;\r\n}\r\n.showIcon {\r\n  -webkit-animation: showIconani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showIconani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes showIconani {\r\n  0% {\r\n    opacity: 0.1;\r\n    background-color: rgba(242,245,247, 0.1);\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n    background-color: rgba(242,245,247, 1);\r\n  }\r\n}\r\n.hideIcon {\r\n  -webkit-animation: hideIconani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideIconani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hideIconani {\r\n  0% {\r\n    opacity: 1;\r\n    background-color: rgba(242,245,247, 1);\r\n    display: block;\r\n  }\r\n  100% {\r\n    opacity: 0.1;\r\n    background-color: rgba(242,245,247, 0.1);\r\n    display: none;\r\n  }\r\n}\r\n\r\n.container {\r\n  width: 100%;\r\n  height: 100%;\r\n  margin-top: -25px;\r\n  background-color: #f2f5f7;\r\n}\r\n// /deep/ .el-header {\r\n//   padding: 0;\r\n//   position: fixed;\r\n//   width: 100%;\r\n//   background: #eaedef;\r\n//   box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);\r\n//   padding: 10px 32px;\r\n//   height: auto !important;\r\n//   z-index: 100;\r\n// }\r\n\r\n.main {\r\n  margin-top: 60px;\r\n  width: 100%;\r\n  height: 100%;\r\n\r\n  //   background-color: rgb(125, 125, 125);\r\n}\r\n\r\n.icon {\r\n  width: 50px;\r\n  height: 50px;\r\n  //   margin-top: 106px;\r\n  position: absolute;\r\n  top: 106px;\r\n  left: 50%;\r\n  transform: translate(-50%, 0);\r\n}\r\n.icon img {\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n\r\n.concept {\r\n  position: absolute;\r\n  // width: 110px;\r\n  // height: 22px;\r\n  //   background-color: grey;\r\n  display: flex;\r\n  align-items: center;\r\n  top: 192px;\r\n  left: 50%;\r\n  transform: translate(-50%, 0);\r\n}\r\n\r\n.concept h3 {\r\n  font-size: 22px;\r\n  font-weight: lighter;\r\n  padding-bottom: 35px;\r\n}\r\n\r\n.content {\r\n  width: 344px;\r\n  height: 182px;\r\n  position: absolute;\r\n  top: 293px;\r\n  left: 50%;\r\n  transform: translate(-50%, 0);\r\n  //   background-color: greenyellow;\r\n  color: #7e878c;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  line-height: 22px;\r\n}\r\n\r\n.content h3 {\r\n  text-align: center;\r\n  font-size: 21px;\r\n  font-weight: normal;\r\n  padding-bottom: 35px;\r\n}\r\n\r\n.content div {\r\n  font-size: 14px;\r\n  text-align: center;\r\n  &:first-of-type {\r\n    padding-bottom: 35px;\r\n  }\r\n}\r\n\r\n.close {\r\n  width: 42px;\r\n  height: 42px;\r\n  position: absolute;\r\n  top: 557px;\r\n  left: 50%;\r\n  transform: translate(-50%, 0);\r\n  cursor: pointer;\r\n  img {\r\n    width: 49px;\r\n    height: 49px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Icon_culture.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  _vm.fullscreen ? 'big-view bg-white' : '',\n  _vm.showIcon ? 'showIcon' : 'hideIcon',\n  'icon_culture'\n]},[_c('div',{staticClass:\"container\"},[_c('el-container',[_c('el-header',{staticClass:\"el-header\"}),_vm._v(\" \"),_c('el-main',{staticClass:\"main\"},[_c('div',{staticClass:\"concept\"},[_c('h3',[_vm._v(_vm._s(_vm.content[_vm.type].title))])]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('h3',[_vm._v(_vm._s(_vm.content[_vm.type].smallT))]),_vm._v(\" \"),_c('div',[_vm._v(_vm._s(_vm.content[_vm.type].content))]),_vm._v(\" \"),_c('div',[_vm._v(_vm._s(_vm.content[_vm.type].content1))])]),_vm._v(\" \"),_c('div',{staticClass:\"close\",on:{\"click\":_vm.close}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/icon_close.svg\"),\"alt\":\"\"}})])])],1)],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ba2536c2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Icon_culture.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ba2536c2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Icon_culture.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Icon_culture.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Icon_culture.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ba2536c2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Icon_culture.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-ba2536c2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Icon_culture.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjUwcHgiIGhlaWdodD0iNTBweCIgdmlld0JveD0iMCAwIDUwIDUwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT5wYXVzZTwvdGl0bGU+DQogICAgPGRlZnM+DQogICAgICAgIDxjaXJjbGUgaWQ9InBhdGgtMSIgY3g9IjE5IiBjeT0iMTkiIHI9IjE5Ij48L2NpcmNsZT4NCiAgICAgICAgPGZpbHRlciB4PSItMjEuMSUiIHk9Ii0yMS4xJSIgd2lkdGg9IjE1Mi42JSIgaGVpZ2h0PSIxNTIuNiUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4NCiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMiIgZHk9IjIiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+DQogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+DQogICAgICAgIDwvZmlsdGVyPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE5LjczODU0MjUlIiB5MT0iMjIuNzI4MzExNCUiIHgyPSI3Ny40NjYzNzUzJSIgeTI9Ijc5Ljk4ODY1NTclIiBpZD0ibGluZWFyR3JhZGllbnQtMyI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThCIiBvZmZzZXQ9IjAlIj48L3N0b3A+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NDZCIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4NCiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICA8L2RlZnM+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhteeZvW1pbmlWMuW/g+aAgeaPkOS6pOW/g+W+l2Z1bGwtc2NyZWVuIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzc5LjAwMDAwMCwgLTYwOS4wMDAwMDApIj4NCiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNuWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQwLjAwMDAwMCwgNDQ0LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcuMDAwMDAwLCAxNjUuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJwYXVzZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzI2LjAwMDAwMCwgNC4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSLmpK3lnIblvaIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxLjAzNTE2MTMsMTQuNzQxMjM2NiBDMjEuMjgzMjc0NSwxNC42Nzg0OTg3IDIxLjU1NTMyMTUsMTQuNzEwNDEyNyAyMS43OTI0OTI5LDE0Ljg1MTg0OTMgTDIxLjc5MjQ5MjksMTQuODUxODQ5MyBMMjYuODA3NTA4OSwyMy4wMjY3MzkxIEMyNi45NDg5NDU1LDIzLjI2MzkxMDYgMjYuOTgwODU5NiwyMy41MzU5NTc1IDI2LjkxODEyMTYsMjMuNzg0MDcwOCBDMjYuODU1MzgzNywyNC4wMzIxODQgMjYuNjk3OTkzOCwyNC4yNTYzNjM2IDI2LjQ2MDgyMjMsMjQuMzk3ODAwMiBDMjYuMzA1OTQwOSwyNC40OTAxNjMzIDI2LjEyODk2NTksMjQuNTM4OTI2NCAyNS45NDg2MzUxLDI0LjUzODkyNjQgTDI1Ljk0ODYzNTEsMjQuNTM4OTI2NCBMMTYuNjExOTc2MywyNC41Mzg5MjY0IEMxNi4zMzU4MzM5LDI0LjUzODkyNjQgMTYuMDg1ODMzOSwyNC40MjY5OTc2IDE1LjkwNDg2OTUsMjQuMjQ2MDMzMiBDMTUuNzIzOTA1MSwyNC4wNjUwNjg3IDE1LjYxMTk3NjMsMjMuODE1MDY4NyAxNS42MTE5NzYzLDIzLjUzODkyNjQgQzE1LjYxMTk3NjMsMjMuMzU4NTk1NiAxNS42NjA3MzkzLDIzLjE4MTYyMDUgMTUuNzUzMTAyNSwyMy4wMjY3MzkxIEwxNS43NTMxMDI1LDIzLjAyNjczOTEgTDIwLjQyMTQzMTksMTUuMTk4NTM1OSBDMjAuNTYyODY4NSwxNC45NjEzNjQ1IDIwLjc4NzA0OCwxNC44MDM5NzQ1IDIxLjAzNTE2MTMsMTQuNzQxMjM2NiBaIiBpZD0i5LiJ6KeS5b2iIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQtMykiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjEuMjgwMzA2LCAxOC42NzI0MTQpIHJvdGF0ZSg5MC4wMDAwMDApIHRyYW5zbGF0ZSgtMjEuMjgwMzA2LCAtMTguNjcyNDE0KSAiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tip_audio_play.svg\n// module id = Jenz\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3IDI3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT5mdWxsIHNjcmVlbkAzeDwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhteeZvW1pbmlWMumXrumimOaEj+ivhu+8iOmAieaLqemUmeivr++8iSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTk0OC4wMDAwMDAsIC0xMzEuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iZnVsbC1zY3JlZW4iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDk0OC4wMDAwMDAsIDEzMS4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGZpbGw9IiNGRkZGRkYiIGN4PSIxMy41IiBjeT0iMTMuNSIgcj0iMTMuNSI+PC9jaXJjbGU+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4wMDAwMDAsIDcuMDAwMDAwKSIgc3Ryb2tlPSIjNjRBRkQ1IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNiI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMyw0LjQ0MjYyNzEgTDEzLDIuMzUyMDg5NzQgQzEzLDEuMDUzMjY1NzkgMTEuOTQ2NzM0MiwwIDEwLjY0NzkxMDMsMCBMOC41NTczNzI5LDAiIGlkPSJTdHJva2UtMSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMCw4LjU1NzU2MTA2IEwwLDEwLjY0ODA5ODQgQzAsMTEuOTQ2OTIyNCAxLjA1MzI2NTc5LDEzLjAwMDE4ODIgMi4zNTIwODk3NCwxMy4wMDAxODgyIEw0LjQ0MjYyNzEsMTMuMDAwMTg4MiIgaWQ9IlN0cm9rZS0zIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/fullscreen.svg\n// module id = JrP7\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTIzLjUxIDMwLjkiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO30uY2xzLTJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoKTt9LmNscy0ze2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0yKTt9LmNscy00e2ZpbGw6IzJjNTFhZTt9LmNscy01e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0zKTt9LmNscy02e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC00KTt9LmNscy03e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC01KTt9LmNscy04e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC02KTt9LmNscy05e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC03KTt9LmNscy0xMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtOCk7fS5jbHMtMTF7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTkpO30uY2xzLTEye2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMCk7fS5jbHMtMTN7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTExKTt9LmNscy0xNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTIpO30uY2xzLTE1e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMyk7fS5jbHMtMTZ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE0KTt9LmNscy0xN3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTUpO30uY2xzLTE4e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xNik7fS5jbHMtMTl7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE3KTt9LmNscy0yMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTgpO30uY2xzLTIxe2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xOSk7fS5jbHMtMjJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIwKTt9LmNscy0yM3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMjEpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTI0IiBoZWlnaHQ9IjMyIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIzOC4xNiIgeT0iMjcuMDUiIHdpZHRoPSI2LjkiIGhlaWdodD0iMC42Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTEuNDQsMjUuOHY0LjdoLS41VjI1LjhabS0uMi0yLjIuNS4yYy0uMS4xLS4xLjItLjIuM2E5LDksMCwwLDAsMy4zLDIuNSwxLDEsMCwwLDAtLjQuNSwxMS4xMSwxMS4xMSwwLDAsMS0zLjItMi42QTcuNzgsNy43OCwwLDAsMSw0OCwyN2wtLjQtLjRBNy4xNiw3LjE2LDAsMCwwLDUxLjI0LDIzLjZaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC00IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEuNTgsMjMuODl2MS41aDIuN3YuNWgtMi43djEuN0g2NHYuNWgtMi40djJoM3YuNUg1OFYzMGgzVjI4aC0yLjJ2LS40SDYxdi0xLjdoLTEuN2MtLjMuNC0uNi45LS44LDEuMi0uMS0uMS0uNC0uMi0uNS0uM2E3LjM3LDcuMzcsMCwwLDAsMS40LTIuOGwuNS4xYy0uMS41LS4zLjktLjQsMS4zSDYxdi0xLjVaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC01IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNzMuOTQsMjYuN3YyLjFhLjQ2LjQ2LDAsMCwxLS4zLjUsMi41MywyLjUzLDAsMCwxLTEuMS4xLDQuMzMsNC4zMywwLDAsMS0uMS0uNWguOWMuMSwwLC4xLDAsLjEtLjFWMjcuMmgtMS41djMuM2gtLjRWMjYuN1ptLTMuMy4xdjIuNWgtMS43di42aC0uNVYyNi44Wm0tLjQuNGgtMS4zdjEuNmgxLjNabTEtMy42LjQuM2MwLC4xLS4xLjEtLjEuMmE3LjA1LDcuMDUsMCwwLDAsMy4xLDEuOWMtLjEsMC0uMy4yLS40LjRhNy44OSw3Ljg5LDAsMCwxLTMuMS0yLDYuNzIsNi43MiwwLDAsMS0zLjIsMiwxLjY5LDEuNjksMCwwLDAtLjItLjVBNi4yMSw2LjIxLDAsMCwwLDcxLjI0LDIzLjZabTEuNCwydi41aC0zdi0uNVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MS4zLDI2Ljl2LjhjMCwuOS0uMywyLTMuMSwyLjhsLS40LS40YzIuOC0uNywyLjktMS43LDIuOS0yLjR2LS44Wm0uNiwxLjR2MS4zYzAsLjIuMS4yLjQuMmgxLjNjLjMsMCwuNC0uMS40LS44YS43Ni43NiwwLDAsMCwuNS4yYy0uMi45LS4zLDEuMS0uOSwxLjFIODIuM2MtLjcsMC0uOS0uMS0uOS0uN1YyOC4zWm0xLjMtMi4ydjIuN2gtLjVWMjYuNkg3OS4zdjIuMmgtLjVWMjYuMVptMC0yLjUuNS4yYy0uMy40LS42LjgtLjgsMS4xaDEuNHYxLjVoLS42di0xSDc4LjR2MWgtLjVWMjQuOWgxLjNhNyw3LDAsMCwwLS44LTFsLjQtLjJhMy41MSwzLjUxLDAsMCwxLC44LDFsLS4zLjJoM0E2LDYsMCwwLDAsODMuMiwyMy42Wm0tMi40LDBhNi43Myw2LjczLDAsMCwxLC43LDEuMWwtLjUuMmE2LDYsMCwwLDAtLjYtMS4xWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTkwLjM3LDIzLjg5di40aC0xdjFoLjl2NWgtLjR2LS40aC0yLjF2LjZoLS40di01LjFoLjl2LTFoLTF2LS41Wm0uOCwyLjcuNC4xYTEuODUsMS44NSwwLDAsMC0uMi43aC44di0uN2guNXYuN2gxLjR2LjRoLTEuNXYuOGgxLjNWMjloLTEuM3YuOWgxLjZ2LjRoLTMuNnYtLjRoMS42VjI5SDkxdi0uNGgxLjJ2LS44aC0xYy0uMi4yLS4zLjUtLjUuN2ExLjM4LDEuMzgsMCwwLDAtLjQtLjNBNC4xNyw0LjE3LDAsMCwwLDkxLjE3LDI2LjU5Wm0tMS4zLDIuMWgtMi4xdi44aDIuMVptLS44LTIuOWgtLjV2LjZhMiwyLDAsMCwxLS42LDEuNWMwLS4xLS4xLS4xLS4yLS4ydi42aDIuMXYtLjZoLS40Yy0uMywwLS40LS4xLS40LS40Wm0tLjgsMGgtLjV2MS44YTEuMjIsMS4yMiwwLDAsMCwuNS0xLjJabTEuNiwwaC0uNXYxLjRjMCwuMSwwLC4xLjEuMWguNFptMy45LTEuOXYyLjZoLTN2LTIuNlptLS41LDEuNWgtMnYuN2gyWm0tNC4yLTFoLS41djFoLjVabTQuMi0uMWgtMlYyNWgyWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwMS41MSwyMy42bC41LjFjLS4xLjQtLjMuOC0uNCwxLjFoMi4zdi4zYy0uMSwzLjUtLjIsNC43LS41LDUuMWEuNzEuNzEsMCwwLDEtLjYuM2gtMS4xYS43Ni43NiwwLDAsMC0uMi0uNWgxLjJjLjIsMCwuMiwwLC4zLS4xLjItLjMuMy0xLjUuNC00LjZoLTJjLS4yLjUtLjUsMS0uNywxLjQtLjEtLjEtLjMtLjItLjQtLjNBOS4wOCw5LjA4LDAsMCwwLDEwMS41MSwyMy42Wm0tMi43LDAsLjUuMWMtLjEuNC0uMy44LS40LDEuMmgxLjN2NWgtMi4xdi42aC0uNVYyNC45aC44QTYuNDcsNi40NywwLDAsMCw5OC44MSwyMy42Wm0uOSwzLjloLTEuNnYxLjloMS43VjI3LjVabTEuOC0uOWExMy42LDEzLjYsMCwwLDEsMS4yLDEuN2wtLjQuM2E5LjM5LDkuMzksMCwwLDAtMS4yLTEuOFptLTEuOC0xLjNoLTEuNlYyN2gxLjdWMjUuM1oiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMTIuODUsMjQuMTd2Ni4zaC0uNVYzMGgtMy45di41SDEwOHYtNi4zWm0tLjUsMy4xaC0zLjl2Mi4yaDMuOHYtMi4yWm0wLTIuNmgtMy45djIuMWgzLjh2LTIuMVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIzLjE1LDI0LjE5djMuNGgtLjV2LS40aC0yLjN2Mi40YzAsLjMuMS40LjYuNGgxLjdjLjUsMCwuNi0uMi42LTEuM2EuNzYuNzYsMCwwLDAsLjUuMmMtLjEsMS4zLS4zLDEuNi0xLjEsMS42aC0xLjhjLS44LDAtMS0uMi0xLS45di0yLjloMi45di0yaC0zdi0uNVptLTQuNiwxLjl2My4zbC44LS42YS43Ni43NiwwLDAsMCwuMi40LDEwLjE5LDEwLjE5LDAsMCwwLTEuNiwxLjJjMC0uMS0uMS0uMi0uMi0uM2ExLjE0LDEuMTQsMCwwLDAsLjMtLjd2LTIuOGgtMS4ydi0uNVptLS43LTIuMmE2LjgxLDYuODEsMCwwLDEsMS4yLDEuMmwtLjQuMy0xLjItMS4yWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02Mi40NCwzLjk0YS41OC41OCwwLDAsMSwuNi42LjUzLjUzLDAsMCwxLS42LjZoLTEwYS42My42MywwLDAsMS0uNS0uNi41OC41OCwwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjQsOC42OGEuNi42LDAsMSwxLDAsMS4ySDYwdjYuNGEuNDMuNDMsMCwwLDAsLjQuNGguOGEyLjQzLDIuNDMsMCwwLDAsMi40LTIuNHYtMWEuNTguNTgsMCwwLDEsLjYtLjYuNTMuNTMsMCwwLDEsLjYuNnYxYTMuNTQsMy41NCwwLDAsMS0zLjUsMy41aC0uOGExLjcyLDEuNzIsMCwwLDEtMS42LTEuNlY5Ljc4aC0zLjJjLS4xLDQuNS0xLjUsNy00LjYsNy45SDUxYS42OC42OCwwLDAsMS0uNi0uNC41Ny41NywwLDAsMSwuNC0uNyw0LjI3LDQuMjcsMCwwLDAsMi45LTIuMyw5LjQ1LDkuNDUsMCwwLDAsLjktNC41aC0zLjVhLjU4LjU4LDAsMCwxLS42LS42LjYzLjYzLDAsMCwxLC42LS41WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik05OS4wNiw0YS42MS42MSwwLDAsMSwuOCwwbDEuNywxLjVhLjYxLjYxLDAsMCwxLDAsLjhjMCwuMS0uMi4xLS4zLjFhLjYuNiwwLDAsMS0uNC0uMWwtMS43LTEuNUEuNjIuNjIsMCwwLDEsOTkuMDYsNFoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAwLjksOGEuNTguNTgsMCwwLDEsLjYuNnY2LjFsLjctLjZjLjEtLjIuNC0uMS42LjFhLjYxLjYxLDAsMCwxLDAsLjhsLTMuMSwyLjdjLS4xLDAtLjMuMS0uNC4xYS41Mi41MiwwLDAsMS0uNC0uMi42MS42MSwwLDAsMSwwLS44bDEuNC0xLjJWOS4xMUg5OC4yYy0uNCwwLS42LS4yLS42LS41YS41My41MywwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTA2LjE1LDQuMTJoMy41YTEuNTQsMS41NCwwLDAsMSwxLjUsMS41djIuOGExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtNXY2LjNhLjQzLjQzLDAsMCwwLC40LjRoMy40YTIuNDMsMi40MywwLDAsMCwyLjQtMi40di0xYS42LjYsMCwwLDEsMS4yLDB2MWEzLjU0LDMuNTQsMCwwLDEtMy41LDMuNUgxMDVhMS4zOSwxLjM5LDAsMCwxLTEuNS0xLjRWOS40MmMwLS4zLjItLjUuNi0uNWg1LjZhLjQzLjQzLDAsMCwwLC40LS40VjUuNjJhLjQzLjQzLDAsMCwwLS40LS40aC01LjVhLjg2Ljg2LDAsMCwxLS42LS4zYy0uMi0uMi0uMS0uNS4yLS43aDBjLjEtLjEuMy0uMSwxLjEtLjFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTg1LjQxLDMuODFhMS41NCwxLjU0LDAsMCwxLDEuNSwxLjV2MTAuOWExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtOC41YTEuNTQsMS41NCwwLDAsMS0xLjUtMS41VjUuMzFhMS41NCwxLjU0LDAsMCwxLDEuNS0xLjVabTAsMS4xaC04LjVhLjQzLjQzLDAsMCwwLS40LjR2MTAuOWEuNDMuNDMsMCwwLDAsLjQuNGg4LjVhLjQzLjQzLDAsMCwwLC40LS40VjUuMzFBLjQzLjQzLDAsMCwwLDg1LjQxLDQuOTFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTc3LjgsOS4yOGgwbDcsMS42YS40NC40NCwwLDAsMSwuNC42LjU0LjU0LDAsMCwxLS41LjVoLS4xbC03LTEuNmEuNTcuNTcsMCwwLDEtLjQtLjdjLjEtLjMuNC0uNS42LS40WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjEyMS43OSIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSI0MC41MyIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTQuNTUuNmExLjE3LDEuMTcsMCwwLDEsMS4xLjlWNy4xbDUuNy0xLjVoLjNhMS4xMSwxLjExLDAsMCwxLDEuMSwxLjFWMjYuMmEyLDIsMCwwLDEtMS40LDEuOUw4LjY1LDMxLjRoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjI0LjlsLTUuNiwxLjVoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjUuOUEyLDIsMCwwLDEsMS42NSw0TDE0LjI1LjZabTcuMSw1LjhoMEw5LDkuOGExLjA1LDEuMDUsMCwwLDAtLjgsMVYzMC4zYzAsLjIuMS4zLjIuM2guMWwxMi42LTMuNWExLjA1LDEuMDUsMCwwLDAsLjgtMVY2LjZBLjIyLjIyLDAsMCwwLDIxLjY1LDYuNFptLTYuOC00LjdMOS40NSw4LjhsNS40LTEuNVYxLjdaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIwLDE3LjcyYS40LjQsMCwwLDEsMCwuOGgtOS45YS4zNy4zNywwLDAsMS0uNC0uNC40My40MywwLDAsMSwuNC0uNFoiLz48L2NsaXBQYXRoPjwvZGVmcz48dGl0bGU+bG9nb19wZXJzb25hbGl0eTwvdGl0bGU+PGcgaWQ9IuWbvuWxgl8yIiBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBpZD0i5Zu+5bGCXzEtMiIgZGF0YS1uYW1lPSLlm77lsYIgMSI+PGcgY2xhc3M9ImNscy0yIj48ZyBjbGFzcz0iY2xzLTMiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIzNy45MiAyNi40NSA0NC44MiAyNi40NSA0NC44MiAyNy4wNSAzNy45MiAyNy4wNSAzNy45MiAyNi40NSIvPjwvZz48ZyBjbGFzcz0iY2xzLTUiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI0Ny40IDIzIDU0LjYgMjMgNTQuNiAyOS45IDQ3LjQgMjkuOSA0Ny40IDIzIi8+PC9nPjxnIGNsYXNzPSJjbHMtNiI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjU3LjczIDIzLjI5IDY0LjMzIDIzLjI5IDY0LjMzIDI5Ljg5IDU3LjczIDI5Ljg5IDU3LjczIDIzLjI5Ii8+PC9nPjxnIGNsYXNzPSJjbHMtNyI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjY3LjUgMjMgNzQuNCAyMyA3NC40IDI5LjkgNjcuNSAyOS45IDY3LjUgMjMiLz48L2c+PGcgY2xhc3M9ImNscy04Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNzcuNTUgMjMgODQuMTUgMjMgODQuMTUgMjkuOSA3Ny41NSAyOS45IDc3LjU1IDIzIi8+PC9nPjxnIGNsYXNzPSJjbHMtOSI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijg3LjAzIDIzLjI5IDkzLjkzIDIzLjI5IDkzLjkzIDI5Ljg5IDg3LjAzIDI5Ljg5IDg3LjAzIDIzLjI5Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTAiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI5Ny4zNyAyMyAxMDMuNjcgMjMgMTAzLjY3IDI5LjkgOTcuMzcgMjkuOSA5Ny4zNyAyMyIvPjwvZz48ZyBjbGFzcz0iY2xzLTExIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTA3LjcgMjMuNTcgMTEyLjYxIDIzLjU3IDExMi42MSAyOS44NyAxMDcuNyAyOS44NyAxMDcuNyAyMy41NyIvPjwvZz48ZyBjbGFzcz0iY2xzLTEyIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTE2LjYxIDIzLjI5IDEyMy41MSAyMy4yOSAxMjMuNTEgMjkuODkgMTE2LjYxIDI5Ljg5IDExNi42MSAyMy4yOSIvPjwvZz48ZyBjbGFzcz0iY2xzLTEzIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNTEuNyAzLjM0IDYyLjggMy4zNCA2Mi44IDQuNDQgNTEuNyA0LjQ0IDUxLjcgMy4zNCIvPjwvZz48ZyBjbGFzcz0iY2xzLTE0Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNTAuMSA4LjA4IDY0LjUgOC4wOCA2NC41IDE3LjA4IDUwLjEgMTcuMDggNTAuMSA4LjA4Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTUiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI5OC43MiAzLjIxIDEwMS41MiAzLjIxIDEwMS41MiA1LjgxIDk4LjcyIDUuODEgOTguNzIgMy4yMSIvPjwvZz48ZyBjbGFzcz0iY2xzLTE2Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iOTcuMzYgNy40MSAxMDIuNzYgNy40MSAxMDIuNzYgMTcuMjEgOTcuMzYgMTcuMjEgOTcuMzYgNy40MSIvPjwvZz48ZyBjbGFzcz0iY2xzLTE3Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTAzLjIgMy41MiAxMTEuNyAzLjUyIDExMS43IDE3LjIxIDEwMy4yIDE3LjIxIDEwMy4yIDMuNTIiLz48L2c+PGcgY2xhc3M9ImNscy0xOCI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijc1LjE2IDMuMjEgODYuNjYgMy4yMSA4Ni42NiAxNy4xMSA3NS4xNiAxNy4xMSA3NS4xNiAzLjIxIi8+PC9nPjxnIGNsYXNzPSJjbHMtMTkiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI3Ni45NSA4LjY4IDg0Ljk1IDguNjggODQuOTUgMTEuMzggNzYuOTUgMTEuMzggNzYuOTUgOC42OCIvPjwvZz48ZyBjbGFzcz0iY2xzLTIwIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMTIwLjI0IDguNTYgMTIyLjg0IDguNTYgMTIyLjg0IDExLjE2IDEyMC4yNCAxMS4xNiAxMjAuMjQgOC41NiIvPjwvZz48ZyBjbGFzcz0iY2xzLTIxIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMzguOTkgOC41NiA0MS41OSA4LjU2IDQxLjU5IDExLjE2IDM4Ljk5IDExLjE2IDM4Ljk5IDguNTYiLz48L2c+PGcgY2xhc3M9ImNscy0yMiI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjAgMCAyMi41IDAgMjIuNSAzMC45IDAgMzAuOSAwIDAiLz48L2c+PGcgY2xhc3M9ImNscy0yMyI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjkuNDEgMTcuMTEgMjAuMTEgMTcuMTEgMjAuMTEgMTcuOTEgOS40MSAxNy45MSA5LjQxIDE3LjExIi8+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_personality.svg\n// module id = JsAn\n// module chunks = 171","<template>\r\n  <div class=\"mindContent\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n    <NoData v-if=\"mindList.length == 0 && !mindLoading\" />\r\n    <div\r\n      class=\"evMind\"\r\n      v-for=\"(item, index) in mindList\"\r\n      :key=\"index\"\r\n      @click=\"toMindMap(item)\"\r\n    >\r\n      <div class=\"left\">\r\n        <label class=\"btitle\">{{ item.course_class_name1 }}</label>\r\n        <label class=\"stitle\">{{ item.course_class_name2 }}</label>\r\n        <span class=\"cont prewrap-content\">{{ item.course_name }}</span>\r\n        <div class=\"account\">\r\n          <label>{{ item.course_mindmap_collection_num }}</label>\r\n          <img src=\"@/assets/img/collection.svg\" />\r\n        </div>\r\n      </div>\r\n      <div class=\"right\">\r\n        <div class=\"layer\"></div>\r\n        <MyMindOutline\r\n          v-if=\"item && item.mindmap_type == 1\"\r\n          :myMindOutlineId=\"'collectMindmap' + index\"\r\n          :dataPro=\"{\r\n            mindmap_content: item.course_recommend_studythink\r\n          }\"\r\n          :readonly=\"true\"\r\n        />\r\n        <div class=\"rightWrapper\" :id=\"'rightWrapper-' + index\" v-else-if=\"item && item.mindmap_type == 3\">\r\n          <PdfCover\r\n            v-if=\"item.course_recommend_studythinkpdf_show_base64\"\r\n            :pdfUrl=\"item.course_recommend_studythinkpdf_show_base64\"\r\n            :showTag=\"false\"\r\n            :mindPdfWidth=\"mindPdfCoverWidth\"\r\n          />\r\n          <div v-else class=\"pdf-placeholder\">加载中...</div>\r\n          <div class=\"tag\">PDF</div>\r\n        </div>\r\n        <div class=\"rightWrapper\" v-else-if=\"item && item.mindmap_type == 2\">\r\n          <img :src=\"images[item.mindmap_collection_id] ? images[item.mindmap_collection_id][0] : require('@/assets/img/recommend_none.svg')\" />\r\n          <div class=\"tag\">\r\n            {{\r\n              item.course_recommend_studythinkimg_show.split(\",\").length + \"张\"\r\n            }}\r\n          </div>\r\n        </div>\r\n        <span v-else>暂无数据</span>\r\n        <!-- <img :src=\"item.course_recommend_studythinkpdf_show\" /> -->\r\n      </div>\r\n    </div>\r\n\r\n    <p v-if=\"mindLoading\" class=\"loading\">加载中...</p>\r\n    <p v-if=\"noMoreClass && mindList.length > 0\" class=\"loading\">--到底啦--</p>\r\n    <el-dialog\r\n      v-if=\"dialogVisible\"\r\n      class=\"dialog\"\r\n      :visible.sync=\"dialogVisible\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"false\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"mymind\" id=\"mymind\">\r\n        <div class=\"mymind-label\">思维导图</div>\r\n        <MyMindOutline\r\n          :myMindOutlineId=\"'collectMindmapDetail'\"\r\n          v-if=\"data && data.mindmap_type == 1\"\r\n          :course_id=\"data.course_id\"\r\n          :courseIsuseradd=\"data.course_isuseradd\"\r\n          :dataPro=\"{\r\n            mindmap_content: data.course_recommend_studythink\r\n          }\"\r\n          :readonly=\"true\"\r\n        />\r\n        <MyMindPdf\r\n          v-else-if=\"data && data.mindmap_type == 3\"\r\n          :showFooter=\"false\"\r\n          :showUpload=\"false\"\r\n          :mindPdfWidth=\"mindPdfWidth\"\r\n          :pdfUrl=\"data.course_recommend_studythinkpdf_show_base64\"\r\n          :course_id=\"data.course_id\"\r\n          :courseIsuseradd=\"data.course_isuseradd\"\r\n          :imageViewerCanvas=\"'imageViewerCanvas'\"\r\n        />\r\n        <div class=\"images\" v-if=\"data && data.mindmap_type == 2\">\r\n          <div\r\n            class=\"image\"\r\n            v-for=\"(item, index) in images[currentMindmapId]\"\r\n            :key=\"'image' + index\"\r\n          >\r\n            <el-image :src=\"item\" :preview-src-list=\"images[currentMindmapId]\" :fit=\"'fill'\">\r\n              <div slot=\"placeholder\" class=\"image-slot\">\r\n                加载中<span class=\"dot\">...</span>\r\n              </div>\r\n            </el-image>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisible = false\">关 闭</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { getUserMindmapCollection } from \"@/api/index\";\r\nimport { EventBus, WHITE_CULTURE_MIND } from \"@/utils/eventBus\";\r\nimport MyMindPdf from \"../MyMindPdf.vue\";\r\nimport MyMindOutline from \"../MyMindOutline.vue\";\r\nimport NoData from \"@/components/NoData\";\r\nimport PdfCover from '@/components/PdfCover';\r\nimport {\r\n  getOssConfig,\r\n  getBase64ByFile,\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile\r\n} from \"@/utils/indexDb\";\r\nexport default {\r\n  components: { MyMindPdf, MyMindOutline, NoData, PdfCover },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      mindList: [],\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      mindLoading: false,\r\n      noMoreClass: false,\r\n      dialogVisible: false,\r\n      data: {},\r\n      images: {},\r\n      course_recommend_studythinkimg_show_base64: [],\r\n      mindPdfCoverWidth: 0,\r\n      mindPdfWidth: 0,\r\n      currentMindmapId: \"\"\r\n    };\r\n  },\r\n  mounted() {\r\n    this.init();\r\n  },\r\n  methods: {\r\n    getImages(data, config) {\r\n      const id = data.mindmap_collection_id;\r\n      const images = [];\r\n      console.log(\"getImages:\", data.course_recommend_studythinkimg_show)\r\n      if(data.course_recommend_studythinkimg_show) {\r\n        // 从indexDb拿数据\r\n        const course_recommend_studythinkimg_show_urls = data.course_recommend_studythinkimg_show.split(\",\");\r\n        const course_recommend_studythinkimgs = data.course_recommend_studythinkimg.split(\",\");\r\n        console.log(\"course_recommend_studythinkimg_show_urls:\",course_recommend_studythinkimgs)\r\n        course_recommend_studythinkimg_show_urls.forEach(async (studythinkimg, index) => {\r\n        const course_recommend_studythinkimg_show = studythinkimg;\r\n        // console.log(course_recommend_studythinkimg_show.split(\"?\"));\r\n        // const course_recommend_studythinkimg_shows = course_recommend_studythinkimg_show.split(\"?\");\r\n        const url = config.uploadHost + \"/\" + course_recommend_studythinkimgs[index];\r\n        console.log(\"url:\", url);\r\n        const image = await getFile(url);\r\n        if (image) {\r\n          data.course_recommend_studythinkimg_show_base64 = image.fileData;\r\n          images.push(image.fileData);\r\n        } else {\r\n          // 存入indexDb\r\n          const imageBase64 = await getBase64ByUrl(course_recommend_studythinkimg_show);\r\n          const imageUrl = url.split(\"/\");\r\n          const fileName = imageUrl[imageUrl.length - 1];\r\n          data.course_recommend_studythinkimg_show_base64 = imageBase64;\r\n          images.push(imageBase64);\r\n          // 保存到indexDb\r\n          await saveFile(url, fileName, imageBase64);\r\n        }\r\n        console.log(\"images:::\", images);\r\n        this.images[id] = images;\r\n        console.log(\"this.images:\", this.images);\r\n      });\r\n    }\r\n    },\r\n    toMindMap(data) {\r\n      this.currentMindmapId = data.mindmap_collection_id;\r\n      console.log(this.images[this.currentMindmapId])\r\n      if (\r\n        !data.course_recommend_studythink &&\r\n        !data.course_recommend_studythinkpdf_show &&\r\n        !data.course_recommend_studythinkimg_show\r\n      ) {\r\n        return;\r\n      }\r\n      this.data = data;\r\n      if(data.mindmap_type == 3) {\r\n        const resolved = this.$router.resolve({ path: 'PdfRead', query: {\r\n          course_id: data.course_id,\r\n          course_name: data.course_name,\r\n          course_pdf: data.course_recommend_studythinkpdf_show\r\n        } });\r\n        const url = window.location.origin + resolved.href;\r\n        window.open(url, '_blank');\r\n      } else {\r\n        this.dialogVisible = true;\r\n      }\r\n      // this.$nextTick(() => {\r\n      //   if(data.mindmap_type == 3) {\r\n      //     const mymind = document.getElementById(\"mymind\");\r\n      //     console.log(\"mymind:\", mymind);\r\n      //     if(mymind) {\r\n      //       this.mindPdfWidth = mymind.clientWidth;\r\n      //       console.log(\"mindPdfWidth:\", this.mindPdfWidth)\r\n      //     }\r\n      //   }\r\n      // })\r\n    },\r\n    init() {\r\n      this.mindList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.mindLoading = false;\r\n    },\r\n    getUserMindmapCollection() {\r\n      this.mindLoading = true;\r\n      const userInfo = this.$store.getters.user;\r\n      if(this.classPage == 1) {\r\n        this.mindList = [];\r\n        this.mindListCache = {};\r\n      }\r\n      console.log(\"mindList: aa\", this.classPage, this.mindList);\r\n      const params = {\r\n        page: this.classPage,\r\n        pageSize: this.pageSize\r\n      };\r\n      console.log(\"getUserMindmapCollection:\", params);\r\n      getUserMindmapCollection(params).then(res => {\r\n        console.log(res);\r\n        this.mindLoading = false;\r\n        if (res && res.code === 0) {\r\n          let config = getOssConfig();\r\n          res.data.forEach(async item => {\r\n            item.experience_create_at = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n\r\n            if(item.course_recommend_studythinkpdf_show) {\r\n                // 从indexDb拿数据\r\n                const url = item.course_recommend_studythinkpdf_show.split(\"?\")[0];\r\n                const pdf = await getFile(url);\r\n                console.log(\"pdf:\", pdf);\r\n                if (pdf) {\r\n                  // item.course_recommend_studythinkpdf_show_base64 = pdf.fileData;\r\n                  this.$set(item, \"course_recommend_studythinkpdf_show_base64\", pdf.fileData);\r\n                } else {\r\n                  // 存入indexDb\r\n                  const pdfBase64 = await getBase64ByUrl(item.course_recommend_studythinkpdf_show);\r\n                  const studythinkpdf = item.course_recommend_studythinkpdf.split(\"/\");\r\n                  const fileName = studythinkpdf[studythinkpdf.length - 1];\r\n                  this.$set(item, \"course_recommend_studythinkpdf_show_base64\", pdfBase64);\r\n                  // item.course_recommend_studythinkpdf_show_base64 = pdfBase64;\r\n                  // 保存到indexDb\r\n                  await saveFile(url, fileName, pdfBase64);\r\n                }\r\n            }\r\n            if(item.course_recommend_studythinkimg_show) {\r\n              this.getImages(item, config);\r\n            }\r\n\r\n          });\r\n          if(this.classPage == 1) {\r\n            this.mindList = [];\r\n            this.mindListCache = {};\r\n            if(res.data.length) {\r\n              this.parent.dtNum =\r\n                res.data[0] && res.data[0].count ? res.data[0].count : 0;\r\n            }\r\n          }\r\n\r\n          this.mindListCache = this.mindListCache || {};\r\n          if(res.data && res.data.length) {\r\n            res.data.forEach(item => {\r\n              if(!this.mindListCache[item.mindmap_collection_id]) {\r\n                this.mindList.push(item);\r\n              }\r\n              this.mindListCache[item.mindmap_collection_id] = true;\r\n            })\r\n          }\r\n\r\n          console.log(\"mindList: bb\", this.classPage, this.mindList)\r\n          console.log(\"res.data.length < this.pageSiz:\", res.data.length < this.pageSize)\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n          this.$nextTick(() => {\r\n            const rightWrapper = document.getElementById(\"rightWrapper-0\");\r\n            if(rightWrapper) {\r\n              console.log(\"mindmap rightWrapper:\", rightWrapper);\r\n              this.mindPdfCoverWidth = rightWrapper.clientWidth;\r\n            }\r\n          });\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n      });\r\n    },\r\n    load() {\r\n      console.log(\"load mind\", this.classPage, this.noMoreClass, this.mindLoading);\r\n      if (this.noMoreClass || this.mindLoading) {\r\n        return;\r\n      }\r\n      this.classPage += 1;\r\n      this.getUserMindmapCollection();\r\n    }\r\n  },\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.mymind {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n}\r\n.mymind-label {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: bold;\r\n  padding-bottom: 20px;\r\n}\r\n/deep/ .tag {\r\n  right: 0 !important;\r\n}\r\n.mindContent {\r\n  display: flex;\r\n  // flex-direction: column;\r\n  flex-wrap: wrap;\r\n  align-content: flex-start;\r\n  width: 100%;\r\n  height: 100%;\r\n  padding-bottom: 100px;\r\n  // height: 100%;\r\n  .loading {\r\n    text-align: center;\r\n    width: 100%;\r\n  }\r\n  .collections {\r\n    flex: 1;\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    align-content: flex-start;\r\n  }\r\n  .evMind {\r\n    display: flex;\r\n    width: 306px;\r\n    height: 172px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 8px;\r\n    border: 1px solid #ffffff;\r\n    margin-right: 20px;\r\n    margin-bottom: 20px;\r\n    cursor: pointer;\r\n    .left {\r\n      width: 140px;\r\n      padding: 12px 15px 8px;\r\n      border-right: 1px solid #f3f3f4;\r\n      display: flex;\r\n      flex-direction: column;\r\n      .btitle {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 12px;\r\n        color: #D4D9DB;\r\n        line-height: 16px;\r\n      }\r\n      .stitle {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 12px;\r\n        color: #D4D9DB;\r\n        line-height: 16px;\r\n        border-left: 1px solid #d4d9db;\r\n        padding-left: 5px;\r\n        margin-top: 5px;\r\n        font-family: SourceHanSansCN;\r\n      }\r\n      .cont {\r\n        height: 80px;\r\n        font-size: 14px;\r\n        color: #292929;\r\n        font-family: SourceHanSansCN-Medium;\r\n        margin-top: 10px;\r\n        flex: 1;\r\n\r\n      }\r\n      .account {\r\n        display: flex;\r\n        align-items: center;\r\n        label {\r\n          font-size: 14px;\r\n          color: #d4d9db;\r\n          font-family: SourceHanSansCN;\r\n        }\r\n        img {\r\n          width: 20px;\r\n          height: 18px;\r\n          margin-left: 10px;\r\n        }\r\n      }\r\n    }\r\n    .right {\r\n      margin: 8px;\r\n      width: 156px;\r\n      height: 156px;\r\n      background-color: #f6f6f6;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      position: relative;\r\n      border: 1px solid #f3f3f4;\r\n      span {\r\n        font-size: 16px;\r\n        color: #ccc;\r\n      }\r\n      .layer {\r\n        position: absolute;\r\n        width: 100%;\r\n        height: 100%;\r\n        z-index: 999;\r\n        background: transparent;\r\n      }\r\n    }\r\n  }\r\n}\r\n.rightWrapper {\r\n  width: 100%;\r\n  height: 100%;\r\n  position: relative;\r\n  img {\r\n    width: 151px;\r\n    height: 100%;\r\n  }\r\n  .pdf-placeholder {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    font-size: 14px;\r\n    color: #999;\r\n  }\r\n  .tag {\r\n    width: 47px;\r\n    height: 22px;\r\n    line-height: 22px;\r\n    text-align: center;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #ffffff;\r\n    font-style: normal;\r\n    background: #71afbb;\r\n    position: absolute;\r\n    top: 13px;\r\n    right: 0;\r\n    border-top-left-radius: 5px;\r\n    border-bottom-left-radius: 5px;\r\n  }\r\n}\r\n/deep/ .myMindOutline {\r\n  width: 100%;\r\n  padding: 0 !important;\r\n}\r\n/deep/ .outline {\r\n  padding: 0 !important;\r\n  height: 100% !important;\r\n  border-radius: 10px;\r\n}\r\n/deep/ .show {\r\n  height: 100% !important;\r\n  width: 100% !important;\r\n  border-radius: 0 !important;\r\n}\r\n/deep/ .pdf {\r\n  height: 100% !important;\r\n  width: 100% !important;\r\n  position: relative;\r\n}\r\n/deep/ .el-dialog {\r\n  width: 80% !important;\r\n  border-radius: 16px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  margin-left: 10%;\r\n}\r\n/deep/ .el-dialog__headerbtn .el-dialog__close {\r\n  color: #64afd5;\r\n  font-size: 22px;\r\n}\r\n/deep/ .el-dialog__footer {\r\n  display: flex;\r\n  justify-content: space-evenly;\r\n  padding: 15px 20px 20px;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding: 0 10%;\r\n  height: 600px;\r\n  overflow-y: auto;\r\n}\r\n/deep/ .el-tree {\r\n  background: #f6f6f6 !important;\r\n  min-height: 100%;\r\n  padding: 20px;\r\n}\r\n.dialog-footer {\r\n  /deep/ .el-button:hover {\r\n    color: #71afbb;\r\n    border-color: #71afbb;\r\n    background-color: #fff;\r\n  }\r\n  /deep/ .el-button {\r\n    padding: 10px 25px;\r\n    font-size: 14px;\r\n    border-radius: 4px;\r\n  }\r\n}\r\n\r\n.images {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  /deep/ .el-image {\r\n    width: 249px;\r\n    height: 249px;\r\n    border-radius: 16px;\r\n    margin-right: 15px;\r\n    border-bottom: 15px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/mind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"mindContent\",attrs:{\"infinite-scroll-distance\":1}},[(_vm.mindList.length == 0 && !_vm.mindLoading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_vm._l((_vm.mindList),function(item,index){return _c('div',{key:index,staticClass:\"evMind\",on:{\"click\":function($event){return _vm.toMindMap(item)}}},[_c('div',{staticClass:\"left\"},[_c('label',{staticClass:\"btitle\"},[_vm._v(_vm._s(item.course_class_name1))]),_vm._v(\" \"),_c('label',{staticClass:\"stitle\"},[_vm._v(_vm._s(item.course_class_name2))]),_vm._v(\" \"),_c('span',{staticClass:\"cont prewrap-content\"},[_vm._v(_vm._s(item.course_name))]),_vm._v(\" \"),_c('div',{staticClass:\"account\"},[_c('label',[_vm._v(_vm._s(item.course_mindmap_collection_num))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/collection.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"layer\"}),_vm._v(\" \"),(item && item.mindmap_type == 1)?_c('MyMindOutline',{attrs:{\"myMindOutlineId\":'collectMindmap' + index,\"dataPro\":{\n          mindmap_content: item.course_recommend_studythink\n        },\"readonly\":true}}):(item && item.mindmap_type == 3)?_c('div',{staticClass:\"rightWrapper\",attrs:{\"id\":'rightWrapper-' + index}},[(item.course_recommend_studythinkpdf_show_base64)?_c('PdfCover',{attrs:{\"pdfUrl\":item.course_recommend_studythinkpdf_show_base64,\"showTag\":false,\"mindPdfWidth\":_vm.mindPdfCoverWidth}}):_c('div',{staticClass:\"pdf-placeholder\"},[_vm._v(\"加载中...\")]),_vm._v(\" \"),_c('div',{staticClass:\"tag\"},[_vm._v(\"PDF\")])],1):(item && item.mindmap_type == 2)?_c('div',{staticClass:\"rightWrapper\"},[_c('img',{attrs:{\"src\":_vm.images[item.mindmap_collection_id] ? _vm.images[item.mindmap_collection_id][0] : require('@/assets/img/recommend_none.svg')}}),_vm._v(\" \"),_c('div',{staticClass:\"tag\"},[_vm._v(\"\\n          \"+_vm._s(item.course_recommend_studythinkimg_show.split(\",\").length + \"张\")+\"\\n        \")])]):_c('span',[_vm._v(\"暂无数据\")])],1)])}),_vm._v(\" \"),(_vm.mindLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass && _vm.mindList.length > 0)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e(),_vm._v(\" \"),(_vm.dialogVisible)?_c('el-dialog',{staticClass:\"dialog\",attrs:{\"visible\":_vm.dialogVisible,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',{staticClass:\"mymind\",attrs:{\"id\":\"mymind\"}},[_c('div',{staticClass:\"mymind-label\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),(_vm.data && _vm.data.mindmap_type == 1)?_c('MyMindOutline',{attrs:{\"myMindOutlineId\":'collectMindmapDetail',\"course_id\":_vm.data.course_id,\"courseIsuseradd\":_vm.data.course_isuseradd,\"dataPro\":{\n          mindmap_content: _vm.data.course_recommend_studythink\n        },\"readonly\":true}}):(_vm.data && _vm.data.mindmap_type == 3)?_c('MyMindPdf',{attrs:{\"showFooter\":false,\"showUpload\":false,\"mindPdfWidth\":_vm.mindPdfWidth,\"pdfUrl\":_vm.data.course_recommend_studythinkpdf_show_base64,\"course_id\":_vm.data.course_id,\"courseIsuseradd\":_vm.data.course_isuseradd,\"imageViewerCanvas\":'imageViewerCanvas'}}):_vm._e(),_vm._v(\" \"),(_vm.data && _vm.data.mindmap_type == 2)?_c('div',{staticClass:\"images\"},_vm._l((_vm.images[_vm.currentMindmapId]),function(item,index){return _c('div',{key:'image' + index,staticClass:\"image\"},[_c('el-image',{attrs:{\"src\":item,\"preview-src-list\":_vm.images[_vm.currentMindmapId],\"fit\":'fill'}},[_c('div',{staticClass:\"image-slot\",attrs:{\"slot\":\"placeholder\"},slot:\"placeholder\"},[_vm._v(\"\\n              加载中\"),_c('span',{staticClass:\"dot\"},[_vm._v(\"...\")])])])],1)}),0):_vm._e()],1),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"关 闭\")])],1)]):_vm._e()],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-bfebc940\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/mind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-bfebc940\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mind.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./mind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./mind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-bfebc940\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-bfebc940\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/mind.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"main-content big-view bg-white\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n    <div class=\"classWrapper\">\r\n      <div class=\"topClass\" @click=\"searchAll()\">全部</div>\r\n      <div class=\"topClass\" @click=\"showClassFn()\" v-if=\"app_type == 2\">\r\n        课程<img src=\"@/assets/img/xinde_down.png\" />\r\n      </div>\r\n      <div class=\"topClass\" @click=\"showClassFn()\" v-else>\r\n        笔记<img src=\"@/assets/img/xinde_down.png\" />\r\n      </div>\r\n      <div class=\"topClass\" @click=\"showTagFn()\">\r\n        标签<img src=\"@/assets/img/xinde_down.png\" />\r\n      </div>\r\n      <div class=\"classMenu\" v-if=\"showClass\">\r\n        <div class=\"triangle\"></div>\r\n        <ul>\r\n          <li\r\n            :class=\"\r\n              course_class1 == item.course_station_id ? 'activeClass1' : ''\r\n            \"\r\n            v-for=\"(item, index) in menuList\"\r\n            :key=\"index\"\r\n            @click=\"showSubMenu($event, index, item)\"\r\n          >\r\n            {{ item.name }}\r\n          </li>\r\n        </ul>\r\n        <ul v-if=\"showSub\">\r\n          <li\r\n            :class=\"\r\n              course_class2 == item.course_station_id ? 'activeClass2' : ''\r\n            \"\r\n            v-for=\"(item, index) in submenu\"\r\n            :key=\"index\"\r\n            @click=\"handleSelect($event, index, item)\"\r\n          >\r\n            {{ item.name }}\r\n          </li>\r\n        </ul>\r\n      </div>\r\n      <div class=\"classMenu classTag\" v-if=\"showTag\">\r\n        <div class=\"triangle\"></div>\r\n        <ul>\r\n          <li\r\n            :class=\"\r\n              experience_tag_id == item.experience_tag_id\r\n                ? 'activeClass1 activeTagClass'\r\n                : ''\r\n            \"\r\n            v-for=\"(item, index) in tags\"\r\n            :key=\"index\"\r\n            @click=\"selectTag(item)\"\r\n          >\r\n            {{ item.experience_tag_title }}\r\n          </li>\r\n        </ul>\r\n      </div>\r\n    </div>\r\n    <NoData v-if=\"exprList.length == 0 && !whiteExperienceLoading\" />\r\n    <div class=\"mindContent\">\r\n      <div\r\n        class=\"evExper\"\r\n        v-for=\"(item, index) in exprList\"\r\n        :key=\"index\"\r\n        @click=\"collectedMess(item)\"\r\n      >\r\n        <label class=\"btitle ellipsis-content\">{{\r\n          item.experience_title\r\n        }}</label>\r\n        <label class=\"stitle ellipsis-content\">{{ item.course_name }}</label>\r\n        <p class=\"content\">{{ item.experience_content }}</p>\r\n        <div class=\"typeArea\">\r\n          <label class=\"type\">{{ item.experience_tag_title }}</label>\r\n          <label class=\"timer\">{{ item.experience_create_at }}</label>\r\n        </div>\r\n        <div class=\"userArea\">\r\n          <div class=\"userMess\">\r\n            <img\r\n              :src=\"\r\n                item.user_headimage\r\n                  ? require(`@/assets/img/avatarList/${item.user_headimage}`)\r\n                  : require('@/assets/img/avatarList/headimage1.png')\r\n              \"\r\n            />\r\n            <label>{{ item.user_nickname }}</label>\r\n          </div>\r\n          <div class=\"collectArea\">\r\n            <label>{{ item.experience_collection_num }}</label>\r\n            <img\r\n              v-if=\"item.experience_iscollection == '1'\"\r\n              src=\"@/assets/img/collected.svg\"\r\n            />\r\n            <img\r\n              v-else\r\n              src=\"@/assets/img/not_collect.svg\"\r\n            />\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <p v-if=\"whiteExperienceLoading\" class=\"loading\">加载中...</p>\r\n      <p v-if=\"noMoreClass && exprList.length\" class=\"loading\">--到底啦--</p>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getUserExperienceCollection,\r\n  getCourseClassList,\r\n  getExperienceTag\r\n} from \"@/api/index\";\r\nimport NoData from \"@/components/NoData\";\r\nimport { ensurePngSuffix } from \"@/utils/util.js\";\r\nexport default {\r\n  components: { NoData },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      exprList: [],\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      whiteExperienceLoading: false,\r\n      noMoreClass: false,\r\n      menuList: [],\r\n      tags: [],\r\n      activeIndex: \"1\",\r\n      course_class1: \"\",\r\n      course_class2: \"\",\r\n      experience_tag_id: \"\",\r\n      showClass: false,\r\n      showTag: false,\r\n      app_type: 2,\r\n      showSub: false,\r\n      showTag: false,\r\n      submenu: []\r\n    };\r\n  },\r\n  methods: {\r\n    showSubMenu(e, index, menu) {\r\n      console.log(\"showSubMenu:\", menu.subMenu.length);\r\n      this.course_class1 = menu.course_station_id;\r\n      this.showSub = true;\r\n      if (menu.subMenu.length == 1) {\r\n        // this.showClass = false;\r\n        // this.showTag = false;\r\n        this.course_class2 = \"\";\r\n        this.exprList = [];\r\n        this.classPage = 0;\r\n        this.noMoreClass = false;\r\n        this.whiteExperienceLoading = false;\r\n      }\r\n      this.submenu = this.menuList[index].subMenu;\r\n    },\r\n    showClassFn() {\r\n      this.showClass = !this.showClass;\r\n      this.showTag = false;\r\n    },\r\n    showTagFn() {\r\n      this.showClass = false;\r\n      this.showTag = !this.showTag;\r\n    },\r\n    searchAll() {\r\n      this.course_class1 = \"\";\r\n      this.course_class2 = \"\";\r\n      this.experience_tag_id = \"\";\r\n      this.showClass = false;\r\n      this.showTag = false;\r\n      this.showSub = false;\r\n      this.noMoreClass = false;\r\n      this.whiteExperienceLoading = false;\r\n      if(this.exprList.length == 0) {\r\n        this.classPage = 1;\r\n        this.getUserExperienceCollection();\r\n      } else {\r\n        this.exprList = [];\r\n        this.classPage = 0;\r\n      }\r\n    },\r\n    handleSelect(e, index, menu) {\r\n      console.log(menu, this.course_class1);\r\n      this.course_class2 = menu.course_station_id;\r\n      this.showClass = false;\r\n      this.showTag = false;\r\n      this.exprList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.whiteExperienceLoading = false;\r\n    },\r\n    selectTag(tag) {\r\n      this.experience_tag_id = tag.experience_tag_id;\r\n      this.showClass = false;\r\n      this.showTag = false;\r\n      this.exprList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.whiteExperienceLoading = false;\r\n    },\r\n    getCourseClassList() {\r\n      getCourseClassList().then(res => {\r\n        console.log(res);\r\n        this.menuList = [];\r\n        if (res && res.code == 0) {\r\n          res.data.forEach(item => {\r\n            let evmenu = {\r\n              name: item.course_class_name,\r\n              course_station_id: item.course_class_id + \"\",\r\n              subMenu: []\r\n            };\r\n            item.course_class1.forEach(item1 => {\r\n              evmenu.subMenu.push({\r\n                name: item1.course_class_name,\r\n                course_station_id: item1.course_class_id + \"\"\r\n              });\r\n            });\r\n            evmenu.subMenu.unshift({\r\n              name: \"全部\",\r\n              course_station_id: \"\"\r\n            });\r\n            this.menuList.push(evmenu);\r\n          });\r\n        }\r\n      });\r\n    },\r\n    getExperienceTag() {\r\n      getExperienceTag().then(res => {\r\n        if (res && res.code === 0) {\r\n          this.tags = res.data;\r\n        }\r\n      });\r\n    },\r\n    init() {\r\n      this.exprList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.whiteExperienceLoading = false;\r\n    },\r\n    getUserExperienceCollection() {\r\n      this.whiteExperienceLoading = true;\r\n      const userInfo = this.$store.getters.user;\r\n      const params = {\r\n        page: this.classPage,\r\n        pageSize: this.pageSize,\r\n        course_class1: this.course_class1,\r\n        course_class2: this.course_class2,\r\n        experience_tag_id: this.experience_tag_id\r\n      };\r\n      console.log(\"getUserExperienceCollection:\", params);\r\n      getUserExperienceCollection(params).then(res => {\r\n        this.whiteExperienceLoading = false;\r\n        if (res && res.code === 0) {\r\n          res.data.forEach(item => {\r\n            item.experience_create_at = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n            item.user_headimage = ensurePngSuffix(item.user_headimage);\r\n          });\r\n          this.exprList.push(...res.data);\r\n          if(this.classPage == 1 && res.data.length) {\r\n            this.parent.xdNum = res.data[0] && res.data[0].count ? res.data[0].count : 0;\r\n          }\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n      });\r\n    },\r\n    load() {\r\n      console.log(\"load experience\");\r\n      if (this.noMoreClass || this.whiteExperienceLoading) {\r\n        return;\r\n      }\r\n      this.classPage += 1;\r\n      if(this.classPage == 1) {\r\n        this.exprList = [];\r\n      }\r\n      this.getUserExperienceCollection();\r\n    },\r\n    collectedMess(item) {\r\n      // this.$router.push(\"/white/ExperienceMess?id=\" + item.experience_id);\r\n      this.$router.push({\r\n        path: \"/white/EditTips\",\r\n        query: {\r\n          experience_id: item.experience_id,\r\n          experience_isuseradd: item.experience_isuseradd\r\n        }\r\n      });\r\n    }\r\n  },\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  mounted() {\r\n    this.init();\r\n    this.getCourseClassList();\r\n    this.getExperienceTag();\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.main-content {\r\n  height: 100%;\r\n}\r\n.loading {\r\n  text-align: center;\r\n  width: 100%;\r\n}\r\n.mindContent {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  align-content: flex-start;\r\n  overflow: hidden;\r\n  overflow-y: auto;\r\n  align-content: flex-start;\r\n  padding-top: 26px;\r\n  padding-bottom: 100px;\r\n  .evExper {\r\n    cursor: pointer;\r\n    display: flex;\r\n    flex-direction: column;\r\n    width: 306px;\r\n    height: 195px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 8px;\r\n    border: 1px solid #ffffff;\r\n    margin-right: 20px;\r\n    margin-bottom: 20px;\r\n    .btitle {\r\n      font-size: 14px;\r\n      color: #292929;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      padding: 10px 15px 0 15px;\r\n      -webkit-line-clamp: 1;\r\n      margin-bottom: 5px;\r\n      height: 30px;\r\n    }\r\n    .stitle {\r\n      font-size: 12px;\r\n      color: #bcc4c8;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      padding: 0 15px;\r\n      -webkit-line-clamp: 1;\r\n      height: 17px;\r\n    }\r\n    .content {\r\n      margin-top: 5px;\r\n      border-top: 1px solid #f3f3f4;\r\n      font-size: 12px;\r\n      color: #7e878c;\r\n      padding: 10px 15px 0 15px;\r\n      height: 50px;\r\n      line-height: 20px;\r\n      display: -webkit-box;\r\n      word-break: break-all;\r\n      text-overflow: ellipsis;\r\n      -webkit-box-orient: vertical;\r\n      -webkit-line-clamp: 2;\r\n      overflow: hidden;\r\n    }\r\n    .typeArea {\r\n      padding: 0px 15px 10px 10px;\r\n      border-bottom: 1px solid #f3f3f4;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      margin-top: 10px;\r\n      .type {\r\n        border: 1px solid #FFB096;\r\n        border-radius: 4px;\r\n        height: 23px;\r\n        line-height: 23px;\r\n        font-size: 12px;\r\n        color: #FFB096;\r\n        padding: 0 7px 0 5px;\r\n        display: flex;\r\n        align-items: center;\r\n        &::before {\r\n          content: \"\";\r\n          width: 5px;\r\n          height: 5px;\r\n          border-radius: 50%;\r\n          background-color: #FFB096;\r\n          display: block;\r\n          margin-right: 5px;\r\n        }\r\n      }\r\n      .timer {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN;\r\n        color: #d4d9db;\r\n      }\r\n    }\r\n    .userArea {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      padding: 5px 15px;\r\n      .userMess {\r\n        display: flex;\r\n        align-items: center;\r\n        img {\r\n          width: 30px;\r\n          height: 30px;\r\n          border-radius: 50%;\r\n        }\r\n        label {\r\n          margin-left: 6px;\r\n          font-size: 12px;\r\n          color: #292929;\r\n          font-family: SourceHanSansCN-Medium;\r\n        }\r\n      }\r\n      .collectArea {\r\n        display: flex;\r\n        align-items: center;\r\n        label {\r\n          font-size: 12px;\r\n          color: #bcc4c8;\r\n          margin-right: 5px;\r\n        }\r\n        img {\r\n          width: 21px;\r\n          height: 19px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n.classWrapper {\r\n  display: flex;\r\n  padding-top: 15px;\r\n  .topClass {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 14px;\r\n    color: #64afd5;\r\n    line-height: 21px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    margin-right: 33px;\r\n    cursor: pointer;\r\n    display: flex;\r\n    align-items: center;\r\n    position: relative;\r\n    img {\r\n      margin-left: 10px;\r\n      width: 13px;\r\n      height: 8px;\r\n    }\r\n  }\r\n  .classMenu {\r\n    padding: 30px 20px;\r\n    position: absolute;\r\n    top: 40px;\r\n    left: 20px;\r\n    background: #fff;\r\n    border-radius: 16px;\r\n    display: flex;\r\n    box-shadow: 3px 3px 14px rgba(0, 0, 0, 0.05);\r\n    ul {\r\n      width: 135px;\r\n      list-style: none;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 16px;\r\n      color: #7e878c;\r\n      line-height: 24px;\r\n      text-align: right;\r\n      font-style: normal;\r\n      text-align: center;\r\n      cursor: pointer;\r\n      li {\r\n        padding: 0 12px 9px;\r\n        &:not(:last-child) {\r\n          margin-bottom: 26px;\r\n        }\r\n      }\r\n    }\r\n    .activeClass1 {\r\n      font-weight: bold;\r\n      font-size: 16px;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      font-style: normal;\r\n    }\r\n    .activeClass2 {\r\n      border-bottom: 1px solid #64afd5;\r\n    }\r\n    .activeTagClass {\r\n      &::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 10px;\r\n        left: 23px;\r\n        width: 7px;\r\n        height: 7px;\r\n        border-radius: 50%;\r\n        background: #64afd5;\r\n      }\r\n    }\r\n    .triangle {\r\n      width: 0;\r\n      height: 0;\r\n      border-bottom: 10px solid #fff;\r\n      border-right: 6px solid transparent;\r\n      border-left: 6px solid transparent;\r\n      position: absolute;\r\n      top: -9px;\r\n      left: 68px;\r\n    }\r\n  }\r\n  .classTag {\r\n    left: 80px;\r\n    ul {\r\n      width: 135px;\r\n      li {\r\n        position: relative;\r\n        &::before {\r\n          content: \"\";\r\n          position: absolute;\r\n          top: 10px;\r\n          left: 23px;\r\n          width: 7px;\r\n          height: 7px;\r\n          border-radius: 50%;\r\n          background: #d4d9db;\r\n        }\r\n      }\r\n    }\r\n    .triangle {\r\n      width: 0;\r\n      height: 0;\r\n      border-bottom: 10px solid #fff;\r\n      border-right: 6px solid transparent;\r\n      border-left: 6px solid transparent;\r\n      position: absolute;\r\n      top: -9px;\r\n      left: 73px;\r\n    }\r\n  }\r\n  /deep/ .el-menu--horizontal {\r\n    background-color: rgb(234, 237, 239);\r\n    border-bottom: none;\r\n  }\r\n  /deep/ .el-menu--horizontal .el-menu-item {\r\n    height: 46px;\r\n    line-height: 46px;\r\n  }\r\n  /deep/ .el-menu--horizontal .el-submenu {\r\n    height: 46px;\r\n    line-height: 46px;\r\n  }\r\n  /deep/ .el-menu--horizontal > .el-menu-item.is-active {\r\n    border-bottom: none;\r\n  }\r\n  /deep/ .el-menu--horizontal .el-menu-item:not(.is-disabled):focus,\r\n  .el-menu--horizontal .el-menu-item:not(.is-disabled):hover {\r\n    background: rgba(234, 237, 239, 0.4);\r\n  }\r\n  /deep/ .el-submenu.is-opened {\r\n    background: rgba(234, 237, 239, 0.4);\r\n  }\r\n  /deep/ .el-submenu__title {\r\n    height: 46px;\r\n    line-height: 46px;\r\n    text-align: center;\r\n  }\r\n  /deep/ .el-menu--horizontal > .el-submenu.is-active .el-submenu__title {\r\n    border-bottom: none;\r\n  }\r\n  /deep/ .el-submenu__title:hover {\r\n    background: transparent;\r\n  }\r\n  /deep/ .el-submenu__title:active {\r\n    background: transparent;\r\n  }\r\n\r\n  /deep/ .el-menu--popup {\r\n    min-width: 140px;\r\n    text-align: center;\r\n    border-radius: 16px;\r\n  }\r\n  /deep/ .el-menu-item {\r\n    border-radius: 16px;\r\n  }\r\n\r\n  /deep/ .el-submenu__title i {\r\n    color: #64afd5;\r\n  }\r\n}\r\n/deep/ .el-submenu__title i {\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-submenu__title {\r\n  text-align: center;\r\n}\r\n/deep/ .el-menu {\r\n  min-width: 140px !important;\r\n  text-align: center;\r\n  border-radius: 16px;\r\n}\r\n// /deep/ .el-menu-item {\r\n//   min-width: 140px;\r\n// }\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/whiteExperience.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"main-content big-view bg-white\",attrs:{\"infinite-scroll-distance\":1}},[_c('div',{staticClass:\"classWrapper\"},[_c('div',{staticClass:\"topClass\",on:{\"click\":function($event){return _vm.searchAll()}}},[_vm._v(\"全部\")]),_vm._v(\" \"),(_vm.app_type == 2)?_c('div',{staticClass:\"topClass\",on:{\"click\":function($event){return _vm.showClassFn()}}},[_vm._v(\"\\n      课程\"),_c('img',{attrs:{\"src\":require(\"@/assets/img/xinde_down.png\")}})]):_c('div',{staticClass:\"topClass\",on:{\"click\":function($event){return _vm.showClassFn()}}},[_vm._v(\"\\n      笔记\"),_c('img',{attrs:{\"src\":require(\"@/assets/img/xinde_down.png\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"topClass\",on:{\"click\":function($event){return _vm.showTagFn()}}},[_vm._v(\"\\n      标签\"),_c('img',{attrs:{\"src\":require(\"@/assets/img/xinde_down.png\")}})]),_vm._v(\" \"),(_vm.showClass)?_c('div',{staticClass:\"classMenu\"},[_c('div',{staticClass:\"triangle\"}),_vm._v(\" \"),_c('ul',_vm._l((_vm.menuList),function(item,index){return _c('li',{key:index,class:_vm.course_class1 == item.course_station_id ? 'activeClass1' : '',on:{\"click\":function($event){return _vm.showSubMenu($event, index, item)}}},[_vm._v(\"\\n          \"+_vm._s(item.name)+\"\\n        \")])}),0),_vm._v(\" \"),(_vm.showSub)?_c('ul',_vm._l((_vm.submenu),function(item,index){return _c('li',{key:index,class:_vm.course_class2 == item.course_station_id ? 'activeClass2' : '',on:{\"click\":function($event){return _vm.handleSelect($event, index, item)}}},[_vm._v(\"\\n          \"+_vm._s(item.name)+\"\\n        \")])}),0):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showTag)?_c('div',{staticClass:\"classMenu classTag\"},[_c('div',{staticClass:\"triangle\"}),_vm._v(\" \"),_c('ul',_vm._l((_vm.tags),function(item,index){return _c('li',{key:index,class:_vm.experience_tag_id == item.experience_tag_id\n              ? 'activeClass1 activeTagClass'\n              : '',on:{\"click\":function($event){return _vm.selectTag(item)}}},[_vm._v(\"\\n          \"+_vm._s(item.experience_tag_title)+\"\\n        \")])}),0)]):_vm._e()]),_vm._v(\" \"),(_vm.exprList.length == 0 && !_vm.whiteExperienceLoading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"mindContent\"},[_vm._l((_vm.exprList),function(item,index){return _c('div',{key:index,staticClass:\"evExper\",on:{\"click\":function($event){return _vm.collectedMess(item)}}},[_c('label',{staticClass:\"btitle ellipsis-content\"},[_vm._v(_vm._s(item.experience_title))]),_vm._v(\" \"),_c('label',{staticClass:\"stitle ellipsis-content\"},[_vm._v(_vm._s(item.course_name))]),_vm._v(\" \"),_c('p',{staticClass:\"content\"},[_vm._v(_vm._s(item.experience_content))]),_vm._v(\" \"),_c('div',{staticClass:\"typeArea\"},[_c('label',{staticClass:\"type\"},[_vm._v(_vm._s(item.experience_tag_title))]),_vm._v(\" \"),_c('label',{staticClass:\"timer\"},[_vm._v(_vm._s(item.experience_create_at))])]),_vm._v(\" \"),_c('div',{staticClass:\"userArea\"},[_c('div',{staticClass:\"userMess\"},[_c('img',{attrs:{\"src\":item.user_headimage\n                ? require((\"@/assets/img/avatarList/\" + (item.user_headimage)))\n                : require('@/assets/img/avatarList/headimage1.png')}}),_vm._v(\" \"),_c('label',[_vm._v(_vm._s(item.user_nickname))])]),_vm._v(\" \"),_c('div',{staticClass:\"collectArea\"},[_c('label',[_vm._v(_vm._s(item.experience_collection_num))]),_vm._v(\" \"),(item.experience_iscollection == '1')?_c('img',{attrs:{\"src\":require(\"@/assets/img/collected.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/not_collect.svg\")}})])])])}),_vm._v(\" \"),(_vm.whiteExperienceLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass && _vm.exprList.length)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],2)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4aa996ba\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/whiteExperience.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4aa996ba\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./whiteExperience.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./whiteExperience.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./whiteExperience.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4aa996ba\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./whiteExperience.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4aa996ba\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/whiteExperience.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"mindContent\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n    <NoData v-if=\"audios.length == 0 && !personalLoading\" />\r\n    <div class=\"collections\">\r\n      <div\r\n        class=\"audioCollect\"\r\n        v-for=\"(item, index) in audios\"\r\n        :key=\"index\"\r\n        @click=\"goDetail(item)\"\r\n      >\r\n        <div class=\"title\">\r\n          {{ item.course_class_name1 + \" | \" + item.course_class_name2 }}\r\n        </div>\r\n        <div class=\"content\">\r\n          <div class=\"left\">\r\n            <div class=\"list-item-cover\">\r\n              <div class=\"course_name\">\r\n                <span class=\"ellipsis-content\">{{ item.course_name }}</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"right\">\r\n            <div class=\"cont\">\r\n              <span class=\"ellipsis-content\">{{\r\n                item.course_audio_title + \"  \" + item.course_audio_title_alias\r\n              }}</span>\r\n            </div>\r\n            <div class=\"account\">\r\n              <label>{{ item.course_audio_collection_num }}</label>\r\n              <img src=\"@/assets/img/collection.svg\" />\r\n            </div>\r\n            <!-- <span v-else>暂无数据</span> -->\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <p v-if=\"personalLoading\" class=\"loading\">加载中...</p>\r\n      <p v-if=\"noMoreClass\" class=\"loading\">--到底啦--</p>\r\n    </div>\r\n    <el-dialog\r\n      class=\"dialog\"\r\n      :visible.sync=\"dialogVisible\"\r\n      width=\"340px\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"false\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div>\r\n        <div class=\"mymind-label\">音频</div>\r\n      </div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisible = false\">关 闭</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { getUserAudioCollection } from \"@/api/index\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport NoData from \"@/components/NoData\";\r\nexport default {\r\n  mixins: [openOtherPageMixins],\r\n  components: { NoData },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      audios: [],\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      personalLoading: false,\r\n      noMoreClass: false,\r\n      dialogVisible: false,\r\n      data: {},\r\n      images: []\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    }\r\n  },\r\n  mounted() {\r\n    this.init();\r\n  },\r\n  methods: {\r\n    goDetail(data) {\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push({\r\n        path: \"/white/CultrueContentAudioDetail\",\r\n        query: {\r\n          course_audio_id: data.course_audio_id,\r\n          course_id: data.course_id\r\n        }\r\n      });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    init() {\r\n      this.audios = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.personalLoading = false;\r\n    },\r\n    getUserAudioCollection() {\r\n      this.personalLoading = true;\r\n      const params = {\r\n        page: this.classPage,\r\n        pageSize: this.pageSize\r\n      };\r\n      getUserAudioCollection(params).then(res => {\r\n        if(this.classPage == 1) {\r\n          this.audios = [];\r\n        }\r\n        if (res && res.code === 0) {\r\n          if (res.data.length > 0) {\r\n            this.audios.push(...res.data);\r\n            this.parent.audioNum =\r\n                res.data[0] && res.data[0].count ? res.data[0].count : 0;\r\n          } else if(this.classPage == 1){\r\n            this.parent.audioNum = 0;\r\n          }\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n        this.personalLoading = false;\r\n      });\r\n    },\r\n    load() {\r\n      if (this.noMoreClass || this.personalLoading) {\r\n        return;\r\n      }\r\n      this.classPage += 1;\r\n      this.getUserAudioCollection();\r\n    }\r\n  },\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.mymind-label {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: bold;\r\n  padding-bottom: 20px;\r\n}\r\n/deep/ .tag {\r\n  right: 0 !important;\r\n}\r\n.mindContent {\r\n  // display: flex;\r\n  // flex-wrap: wrap;\r\n  width: 100%;\r\n  height: 100%;\r\n  .loading {\r\n    width: 100%;\r\n    text-align: center;\r\n  }\r\n  .collections {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    max-height: 100%;\r\n  }\r\n  .audioCollect {\r\n    width: 200px;\r\n    height: 148px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 8px;\r\n    border: 1px solid #ffffff;\r\n    margin-right: 16px;\r\n    margin-bottom: 20px;\r\n    cursor: pointer;\r\n    padding: 12px 7px 12px 15px;\r\n    .content {\r\n      display: flex;\r\n      padding-top: 9px;\r\n    }\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #d4d9db;\r\n      line-height: 16px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n    .left {\r\n      border-right: 1px solid #f3f3f4;\r\n      display: flex;\r\n      flex-direction: column;\r\n      .list-item-cover {\r\n        width: 96px;\r\n        height: 96px;\r\n        background: #64afd5;\r\n        border-radius: 4px;\r\n        padding: 10px 8px;\r\n        display: flex;\r\n        flex-direction: column;\r\n        .course_class_name {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #ffffff;\r\n          line-height: 12px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          -webkit-line-clamp: 1;\r\n        }\r\n        .course_name {\r\n          flex: 1;\r\n          padding: 8px 0;\r\n          display: flex;\r\n          align-items: center;\r\n          span {\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            font-weight: 300;\r\n            font-size: 14px;\r\n            color: #ffffff;\r\n            text-align: left;\r\n            font-style: normal;\r\n            -webkit-line-clamp: 3;\r\n          }\r\n        }\r\n      }\r\n    }\r\n    .right {\r\n      display: flex;\r\n      flex-direction: column;\r\n      position: relative;\r\n      margin-left: 8px;\r\n      .cont {\r\n        flex: 1;\r\n        display: flex;\r\n        align-items: center;\r\n        span {\r\n          -webkit-line-clamp: 4;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 500;\r\n          font-size: 14px;\r\n          color: #292929;\r\n          line-height: 19px;\r\n          text-align: left;\r\n          font-style: normal;\r\n        }\r\n        // height: calc(100% - 19px);\r\n      }\r\n      .account {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: flex-end;\r\n        label {\r\n          font-size: 14px;\r\n          color: #d4d9db;\r\n          font-family: SourceHanSansCN;\r\n        }\r\n        img {\r\n          width: 20px;\r\n          height: 18px;\r\n          margin-left: 7px;\r\n        }\r\n      }\r\n      span {\r\n        font-size: 16px;\r\n        color: #ccc;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n/deep/ .el-dialog {\r\n  width: 80% !important;\r\n  border-radius: 16px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  margin-left: 10%;\r\n}\r\n/deep/ .el-dialog__headerbtn .el-dialog__close {\r\n  color: #64afd5;\r\n  font-size: 22px;\r\n}\r\n/deep/ .el-dialog__footer {\r\n  display: flex;\r\n  justify-content: space-evenly;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding-left: 10%;\r\n  padding-right: 10%;\r\n  height: 600px;\r\n  overflow-y: auto;\r\n}\r\n/deep/ .el-tree {\r\n  background: #f6f6f6 !important;\r\n}\r\n.dialog-footer {\r\n  /deep/ .el-button:hover {\r\n    color: #71afbb;\r\n    border-color: #71afbb;\r\n    background-color: #fff;\r\n  }\r\n}\r\n\r\n.images {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  /deep/ .el-image {\r\n    width: 249px;\r\n    height: 249px;\r\n    border-radius: 16px;\r\n    margin-right: 15px;\r\n    border-bottom: 15px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/Audios.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"mindContent\",attrs:{\"infinite-scroll-distance\":1}},[(_vm.audios.length == 0 && !_vm.personalLoading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"collections\"},[_vm._l((_vm.audios),function(item,index){return _c('div',{key:index,staticClass:\"audioCollect\",on:{\"click\":function($event){return _vm.goDetail(item)}}},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n        \"+_vm._s(item.course_class_name1 + \" | \" + item.course_class_name2)+\"\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"left\"},[_c('div',{staticClass:\"list-item-cover\"},[_c('div',{staticClass:\"course_name\"},[_c('span',{staticClass:\"ellipsis-content\"},[_vm._v(_vm._s(item.course_name))])])])]),_vm._v(\" \"),_c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"cont\"},[_c('span',{staticClass:\"ellipsis-content\"},[_vm._v(_vm._s(item.course_audio_title + \"  \" + item.course_audio_title_alias))])]),_vm._v(\" \"),_c('div',{staticClass:\"account\"},[_c('label',[_vm._v(_vm._s(item.course_audio_collection_num))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/collection.svg\")}})])])])])}),_vm._v(\" \"),(_vm.personalLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],2),_vm._v(\" \"),_c('el-dialog',{staticClass:\"dialog\",attrs:{\"visible\":_vm.dialogVisible,\"width\":\"340px\",\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',[_c('div',{staticClass:\"mymind-label\"},[_vm._v(\"音频\")])]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"关 闭\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-37e1f640\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/Audios.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-37e1f640\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Audios.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Audios.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Audios.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-37e1f640\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Audios.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-37e1f640\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/Audios.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"mindContent\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n    <NoData v-if=\"videos.length == 0 && !videosLoading\" />\r\n    <div class=\"collections\">\r\n      <div\r\n        class=\"videoCollect\"\r\n        v-for=\"(item, index) in videos\"\r\n        :key=\"index\"\r\n        @click=\"goDetail(item)\"\r\n      >\r\n        <div class=\"title\">\r\n          <span class=\"\">\r\n            {{ item.course_class_name1 + \" | \" + item.course_class_name2 }}\r\n          </span>\r\n          <div class=\"account\">\r\n            <label>{{ item.course_video_collection_num }}</label>\r\n            <img src=\"@/assets/img/collection.svg\" />\r\n          </div>\r\n        </div>\r\n        <div class=\"course_name ellipsis-content\">{{ item.course_name }}</div>\r\n        <div class=\"content\">\r\n          <div class=\"course_class_name ellipsis-content\">\r\n            {{ item.course_audio_title }}\r\n          </div>\r\n          <div class=\"cover\">\r\n            <div class=\"course_video_title\">\r\n              {{\r\n                item.course_video_title + \"  \" + item.course_video_title_alias\r\n              }}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <p v-if=\"videosLoading\" class=\"loading\">加载中...</p>\r\n      <p v-if=\"noMoreClass\" class=\"loading\">--到底啦--</p>\r\n    </div>\r\n\r\n\r\n    <el-dialog\r\n      class=\"dialog\"\r\n      :visible.sync=\"dialogVisible\"\r\n      width=\"340px\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"false\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div>\r\n        <div class=\"mymind-label\">音频</div>\r\n      </div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisible = false\">关 闭</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { getUserVideoCollection } from \"@/api/index\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport NoData from \"@/components/NoData\";\r\n\r\nexport default {\r\n  mixins: [openOtherPageMixins],\r\n  components: { NoData },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      videos: [],\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      videosLoading: false,\r\n      noMoreClass: false,\r\n      dialogVisible: false,\r\n      data: {},\r\n      images: []\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    },\r\n    initedCanAccessYouTube() {\r\n      return this.$store.getters.initedCanAccessYouTube;\r\n    }\r\n  },\r\n  watch: {\r\n  },\r\n  mounted() {\r\n    this.init();\r\n  },\r\n  methods: {\r\n    goDetail(data) {\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push({\r\n        path: \"/white/CultrueContentVideoDetail\",\r\n        query: {\r\n          course_video_id: data.course_video_id,\r\n          course_id: data.course_id\r\n        }\r\n      });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    init() {\r\n      this.videos = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.videosLoading = false;\r\n    },\r\n    async getUserVideoCollection() {\r\n      try {\r\n        this.videosLoading = true;\r\n        if(this.pageSize == 1) {\r\n          this.videos = [];\r\n        }\r\n        console.log(\"getUserVideoCollection:\", this.classPage)\r\n        const params = {\r\n          page: this.classPage,\r\n          pageSize: this.pageSize,\r\n          network_type: this.canAccessYouTube ? 1 : 2\r\n        };\r\n        const res = await getUserVideoCollection(params);\r\n        if (res && res.code === 0) {\r\n          if(this.classPage == 1) {\r\n            this.videos = [];\r\n          }\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n          if (res.data.length > 0) {\r\n            this.videos.push(...res.data);\r\n            this.parent.videoNum =\r\n                res.data[0] && res.data[0].count ? res.data[0].count : 0;\r\n          } else if(this.classPage == 1){\r\n            this.parent.videoNum = 0;\r\n          }\r\n\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n        this.videosLoading = false;\r\n      } catch (error) {\r\n        this.videosLoading = false;\r\n      }\r\n    },\r\n    load() {\r\n      console.log(\"load:\", this.noMoreClass, this.classPage)\r\n      if (this.noMoreClass || this.videosLoading) {\r\n        return;\r\n      }\r\n      this.classPage += 1;\r\n      this.getUserVideoCollection();\r\n    }\r\n  },\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.mymind-label {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: bold;\r\n  padding-bottom: 20px;\r\n}\r\n/deep/ .tag {\r\n  right: 0 !important;\r\n}\r\n.mindContent {\r\n  // display: flex;\r\n  // flex-wrap: wrap;\r\n  width: 100%;\r\n  height: 100%;\r\n  .loading {\r\n    width: 100%;\r\n    text-align: center;\r\n  }\r\n  .collections {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    max-height: 100%;\r\n    height: 101%;\r\n  }\r\n  .videoCollect {\r\n    width: 200px;\r\n    height: 148px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 8px;\r\n    border: 1px solid #ffffff;\r\n    margin-right: 16px;\r\n    margin-bottom: 20px;\r\n    cursor: pointer;\r\n    padding: 12px 7px 9px 15px;\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #d4d9db;\r\n      line-height: 16px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      .account {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: flex-end;\r\n        label {\r\n          font-size: 14px;\r\n          color: #d4d9db;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n        }\r\n        img {\r\n          width: 20px;\r\n          height: 18px;\r\n          margin-left: 7px;\r\n        }\r\n      }\r\n    }\r\n    .course_name {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 14px;\r\n      color: #292929;\r\n      line-height: 19px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      -webkit-line-clamp: 1;\r\n    }\r\n    .content {\r\n      padding-top: 6px;\r\n      .course_class_name {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 14px;\r\n        color: #292929;\r\n        line-height: 19px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        padding-bottom: 6px;\r\n      }\r\n      .cover {\r\n        width: 169px;\r\n        height: 75px;\r\n        padding: 6px 8px;\r\n        background: #64afd5 url(\"~@/assets/img/white_yuanriji.svg\") no-repeat\r\n          center 22px;\r\n        background-size: 33px;\r\n        .course_video_title {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #ffffff;\r\n          line-height: 19px;\r\n          text-align: left;\r\n          font-style: normal;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n/deep/ .el-dialog {\r\n  width: 80% !important;\r\n  border-radius: 16px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  margin-left: 10%;\r\n}\r\n/deep/ .el-dialog__headerbtn .el-dialog__close {\r\n  color: #64afd5;\r\n  font-size: 22px;\r\n}\r\n/deep/ .el-dialog__footer {\r\n  display: flex;\r\n  justify-content: space-evenly;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding-left: 10%;\r\n  padding-right: 10%;\r\n  height: 600px;\r\n  overflow-y: auto;\r\n}\r\n/deep/ .el-tree {\r\n  background: #f6f6f6 !important;\r\n}\r\n.dialog-footer {\r\n  /deep/ .el-button:hover {\r\n    color: #71afbb;\r\n    border-color: #71afbb;\r\n    background-color: #fff;\r\n  }\r\n}\r\n\r\n.images {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  /deep/ .el-image {\r\n    width: 249px;\r\n    height: 249px;\r\n    border-radius: 16px;\r\n    margin-right: 15px;\r\n    border-bottom: 15px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/Videos.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"mindContent\",attrs:{\"infinite-scroll-distance\":1}},[(_vm.videos.length == 0 && !_vm.videosLoading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"collections\"},[_vm._l((_vm.videos),function(item,index){return _c('div',{key:index,staticClass:\"videoCollect\",on:{\"click\":function($event){return _vm.goDetail(item)}}},[_c('div',{staticClass:\"title\"},[_c('span',{},[_vm._v(\"\\n          \"+_vm._s(item.course_class_name1 + \" | \" + item.course_class_name2)+\"\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"account\"},[_c('label',[_vm._v(_vm._s(item.course_video_collection_num))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/collection.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"course_name ellipsis-content\"},[_vm._v(_vm._s(item.course_name))]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"course_class_name ellipsis-content\"},[_vm._v(\"\\n          \"+_vm._s(item.course_audio_title)+\"\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"cover\"},[_c('div',{staticClass:\"course_video_title\"},[_vm._v(\"\\n            \"+_vm._s(item.course_video_title + \"  \" + item.course_video_title_alias)+\"\\n          \")])])])])}),_vm._v(\" \"),(_vm.videosLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],2),_vm._v(\" \"),_c('el-dialog',{staticClass:\"dialog\",attrs:{\"visible\":_vm.dialogVisible,\"width\":\"340px\",\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',[_c('div',{staticClass:\"mymind-label\"},[_vm._v(\"音频\")])]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"关 闭\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-253f77ce\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/Videos.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-253f77ce\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Videos.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Videos.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Videos.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-253f77ce\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Videos.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-253f77ce\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/Videos.vue\n// module id = null\n// module chunks = ","<template>\r\n    <div class=\"mindContent\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n      <NoData v-if=\"fayis.length == 0 && !fayiLoading\" />\r\n      <div class=\"collections\">\r\n        <div\r\n          class=\"fayiCollect\"\r\n          v-for=\"(item, index) in fayis\"\r\n          :key=\"index\"\r\n          @click=\"toFayi(item)\"\r\n        >\r\n          <div class=\"course_class_name ellipsis-content\" v-if=\"item.course_class_name2\">\r\n            {{ item.course_class_name1 + \" | \" + item.course_class_name2 }}\r\n          </div>\r\n          <div class=\"course_class_name ellipsis-content\" v-else>\r\n            {{ item.course_class_name1 }}\r\n          </div>\r\n          <div class=\"course_fayi_title ellipsis-content\">\r\n            {{ item.course_name }}\r\n          </div>\r\n          <div class=\"content ellipsis-content\">\r\n            {{ item.course_intro_short }}\r\n          </div>\r\n          <!-- <div class=\"account\">\r\n            <label>{{ item.course_fayi_collection_num }}</label>\r\n            <img src=\"@/assets/img/collection.svg\" />\r\n          </div> -->\r\n        </div>\r\n      </div>\r\n      <p v-if=\"fayiLoading\" class=\"loading\">加载中...</p>\r\n      <p v-if=\"noMoreClass && fayis.length > 0\" class=\"loading\">--到底啦--</p>\r\n      <el-dialog\r\n        class=\"dialog\"\r\n        :visible.sync=\"dialogVisible\"\r\n        width=\"340px\"\r\n        :modal=\"true\"\r\n        :close-on-click-modal=\"false\"\r\n        :destroy-on-close=\"true\"\r\n        :append-to-body=\"true\"\r\n        :show-close=\"false\"\r\n        center\r\n        top=\"0vh\"\r\n      >\r\n        <div>\r\n          <div class=\"mymind-label\">法义</div>\r\n          <div class=\"contentFayi ql-editor\" v-html=\"data.course_intro\"></div>\r\n        </div>\r\n        <span slot=\"footer\" class=\"dialog-footer\">\r\n          <el-button @click=\"dialogVisible = false\">关 闭</el-button>\r\n        </span>\r\n      </el-dialog>\r\n    </div>\r\n  </template>\r\n  <script>\r\n  import { getUserFayiCollection } from \"@/api/index\";\r\n  import { EventBus, WHITE_CULTURE_MIND } from \"@/utils/eventBus\";\r\n  import NoData from \"@/components/NoData\";\r\n  export default {\r\n    components: { NoData },\r\n    props: {\r\n      parent: {\r\n        type: Object,\r\n        default: () => {\r\n          return {};\r\n        }\r\n      }\r\n    },\r\n    computed: {\r\n      course_id() {\r\n        return this.$store.getters.course_id;\r\n      }\r\n    },\r\n    data() {\r\n      return {\r\n        fayis: [],\r\n        pageSize: 10,\r\n        classPage: 0,\r\n        fayiLoading: false,\r\n        noMoreClass: false,\r\n        dialogVisible: false,\r\n        data: {},\r\n        images: []\r\n      };\r\n    },\r\n    mounted() {\r\n      this.init();\r\n    },\r\n    methods: {\r\n      toFayi(data) {\r\n        this.data = data;\r\n        this.dialogVisible = true;\r\n      },\r\n      init() {\r\n        this.fayis = [];\r\n        this.classPage = 0;\r\n        this.noMoreClass = false;\r\n        this.fayiLoading = false;\r\n      },\r\n      getUserFayiCollection() {\r\n        this.fayiLoading = true;\r\n        const params = {\r\n          page: this.classPage,\r\n          pageSize: this.pageSize,\r\n          type: 2\r\n        };\r\n        getUserFayiCollection(params).then(res => {\r\n          console.log(res);\r\n          if(this.classPage == 1) {\r\n            this.fayis = [];\r\n          }\r\n          if (res && res.code === 0) {\r\n            if (res.data.length > 0) {\r\n              this.fayis.push(...res.data);\r\n            }\r\n            if (res.data.length < this.pageSize) {\r\n              this.noMoreClass = true;\r\n            }\r\n          } else {\r\n            this.noMoreClass = true;\r\n          }\r\n          this.fayiLoading = false;\r\n        });\r\n      },\r\n      load() {\r\n        if (this.noMoreClass || this.fayiLoading) {\r\n          return;\r\n        }\r\n        this.classPage += 1;\r\n        this.getUserFayiCollection();\r\n      }\r\n    },\r\n    activated() {\r\n      this.init();\r\n      // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n      this.$nextTick(() => {\r\n        this.load();\r\n      });\r\n    }\r\n  };\r\n  </script>\r\n  <style scoped lang=\"less\">\r\n  .mymind-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: bold;\r\n    padding-bottom: 20px;\r\n  }\r\n  .contentFayi {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    text-align: justify;\r\n  }\r\n  /deep/ .tag {\r\n    right: 0 !important;\r\n  }\r\n  .mindContent {\r\n    // display: flex;\r\n    // flex-wrap: wrap;\r\n    width: 100%;\r\n    height: 100%;\r\n    .loading {\r\n      text-align: center;\r\n    }\r\n    .collections {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      max-height: 100%;\r\n    }\r\n    .fayiCollect {\r\n      width: 200px;\r\n      height: 148px;\r\n      background: #fdfdfd;\r\n      box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n        3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n      border-radius: 8px;\r\n      margin-right: 16px;\r\n      margin-bottom: 20px;\r\n      cursor: pointer;\r\n      padding: 9px 15px;\r\n      .course_class_name {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 12px;\r\n        color: #D4D9DB;\r\n        line-height: 18px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      .course_fayi_title {\r\n        padding-top: 5px;\r\n        margin-bottom: 5px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #292929;\r\n        line-height: 20px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        -webkit-line-clamp: 1;\r\n      }\r\n      .content {\r\n        // height: 64px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 12px;\r\n        color: #7E878C;\r\n        line-height: 20px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        overflow-y: hidden;\r\n        -webkit-line-clamp: 4;\r\n      }\r\n      .account {\r\n        padding-top: 12px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: flex-end;\r\n        label {\r\n          font-size: 14px;\r\n          color: #d4d9db;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n        }\r\n        img {\r\n          width: 20px;\r\n          height: 18px;\r\n          margin-left: 10px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  /deep/ .el-dialog {\r\n    width: 80% !important;\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n    margin-left: 10%;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding-left: 10%;\r\n    padding-right: 10%;\r\n    height: 600px;\r\n    overflow-y: auto;\r\n  }\r\n  /deep/ .el-tree {\r\n    background: #f6f6f6 !important;\r\n  }\r\n  .dialog-footer {\r\n    /deep/ .el-button:hover {\r\n      color: #71afbb;\r\n      border-color: #71afbb;\r\n      background-color: #fff;\r\n    }\r\n  }\r\n\r\n  .images {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    /deep/ .el-image {\r\n      width: 249px;\r\n      height: 249px;\r\n      border-radius: 16px;\r\n      margin-right: 15px;\r\n      border-bottom: 15px;\r\n    }\r\n  }\r\n  </style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/fayiDomestic.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"mindContent\",attrs:{\"infinite-scroll-distance\":1}},[(_vm.fayis.length == 0 && !_vm.fayiLoading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"collections\"},_vm._l((_vm.fayis),function(item,index){return _c('div',{key:index,staticClass:\"fayiCollect\",on:{\"click\":function($event){return _vm.toFayi(item)}}},[(item.course_class_name2)?_c('div',{staticClass:\"course_class_name ellipsis-content\"},[_vm._v(\"\\n        \"+_vm._s(item.course_class_name1 + \" | \" + item.course_class_name2)+\"\\n      \")]):_c('div',{staticClass:\"course_class_name ellipsis-content\"},[_vm._v(\"\\n        \"+_vm._s(item.course_class_name1)+\"\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"course_fayi_title ellipsis-content\"},[_vm._v(\"\\n        \"+_vm._s(item.course_name)+\"\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"content ellipsis-content\"},[_vm._v(\"\\n        \"+_vm._s(item.course_intro_short)+\"\\n      \")])])}),0),_vm._v(\" \"),(_vm.fayiLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass && _vm.fayis.length > 0)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e(),_vm._v(\" \"),_c('el-dialog',{staticClass:\"dialog\",attrs:{\"visible\":_vm.dialogVisible,\"width\":\"340px\",\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',[_c('div',{staticClass:\"mymind-label\"},[_vm._v(\"法义\")]),_vm._v(\" \"),_c('div',{staticClass:\"contentFayi ql-editor\",domProps:{\"innerHTML\":_vm._s(_vm.data.course_intro)}})]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"关 闭\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-117881e4\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/fayiDomestic.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-117881e4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./fayiDomestic.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./fayiDomestic.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./fayiDomestic.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-117881e4\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./fayiDomestic.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-117881e4\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/fayiDomestic.vue\n// module id = null\n// module chunks = ","<template>\r\n    <div class=\"mindContent\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n      <NoData v-if=\"fayis.length == 0 && !fayiLoading\" />\r\n      <div class=\"collections\">\r\n        <div\r\n          class=\"fayiCollect\"\r\n          v-for=\"(item, index) in fayis\"\r\n          :key=\"index\"\r\n          @click=\"toFayi(item)\"\r\n        >\r\n          <div v-if=\"item && item.course_cover_show\" class=\"cover\">\r\n            <img :src=\"item.course_cover_show\" />\r\n          </div>\r\n          <div v-else class=\"cover cover_none\">\r\n            <p class=\"ellipsis-content\">{{ item.course_name }}</p>\r\n          </div>\r\n          <div class=\"ellipsis-content course_name\">{{ item.course_name }}</div>\r\n        </div>\r\n      </div>\r\n      <p v-if=\"fayiLoading\" class=\"loading\">加载中...</p>\r\n      <p v-if=\"noMoreClass && fayis.length > 0\" class=\"loading\">--到底啦--</p>\r\n      <el-dialog\r\n        class=\"dialog\"\r\n        :visible.sync=\"dialogVisible\"\r\n        :modal=\"true\"\r\n        :close-on-click-modal=\"false\"\r\n        :destroy-on-close=\"true\"\r\n        :append-to-body=\"true\"\r\n        :show-close=\"false\"\r\n        center\r\n        top=\"0vh\"\r\n      >\r\n        <div class=\"erweima-wrapper\">\r\n          <!-- <img class=\"app_erweima\" src=\"@/assets/img/yuandushu.png\" /> -->\r\n          <img v-if=\"qrCodeImage\" class=\"app_erweima\" :src=\"qrCodeImage\" />\r\n          <div class=\"row1\">扫码下载<span class=\"app_name\"> 元读书APP</span>查看电子书</div>\r\n          <div class=\"row2\">已下载 APP，可以直接在手机、平板中打开来阅读内容</div>\r\n        </div>\r\n        <span slot=\"footer\" class=\"dialog-footer\">\r\n          <img class=\"close\" src=\"@/assets/img/close.svg\" @click=\"dialogVisible = false\" />\r\n        </span>\r\n      </el-dialog>\r\n    </div>\r\n  </template>\r\n  <script>\r\n  import QRCode from 'qrcode';\r\n  import { getUserFayiCollection } from \"@/api/index\";\r\n  import NoData from \"@/components/NoData\";\r\n  import { decrypt } from \"@/utils/auth\";\r\n\r\n  export default {\r\n    components: { NoData },\r\n    props: {\r\n      parent: {\r\n        type: Object,\r\n        default: () => {\r\n          return {};\r\n        }\r\n      }\r\n    },\r\n    computed: {\r\n      course_id() {\r\n        return this.$store.getters.course_id;\r\n      }\r\n    },\r\n    data() {\r\n      return {\r\n        fayis: [],\r\n        pageSize: 10,\r\n        classPage: 0,\r\n        fayiLoading: false,\r\n        noMoreClass: false,\r\n        dialogVisible: false,\r\n        data: {},\r\n        images: [],\r\n        qrCodeImage: \"\",\r\n        url: \"\"\r\n      };\r\n    },\r\n    mounted() {\r\n      this.init();\r\n    },\r\n    methods: {\r\n      async generateQRCode() {\r\n        if (this.url) {\r\n          try {\r\n            this.qrCodeImage = await QRCode.toDataURL(this.url);\r\n          } catch (err) {\r\n            console.error('生成二维码失败:', err);\r\n          }\r\n        } else {\r\n        }\r\n      },\r\n      toFayi(data) {\r\n        const scan_url = decrypt(localStorage.getItem(\"scan_url\"));\r\n        this.data = data;\r\n        this.url = scan_url + \"?bookId=\" + data.book_id + \"&chapterId=\" + data.chapter_id + \"&startIndex=\" + data.start_index;\r\n        this.generateQRCode();\r\n        this.dialogVisible = true;\r\n      },\r\n      init() {\r\n        this.fayis = [];\r\n        this.classPage = 0;\r\n        this.noMoreClass = false;\r\n        this.fayiLoading = false;\r\n      },\r\n      getUserFayiCollection() {\r\n        this.fayiLoading = true;\r\n        const params = {\r\n          page: this.classPage,\r\n          pageSize: this.pageSize,\r\n          type: 1\r\n        };\r\n        getUserFayiCollection(params).then(res => {\r\n          console.log(res);\r\n          if(this.classPage == 1) {\r\n            this.fayis = [];\r\n          }\r\n          if (res && res.code === 0) {\r\n            if (res.data.length > 0) {\r\n              this.fayis.push(...res.data);\r\n            }\r\n            if (res.data.length < this.pageSize) {\r\n              this.noMoreClass = true;\r\n            }\r\n          } else {\r\n            this.noMoreClass = true;\r\n          }\r\n          this.fayiLoading = false;\r\n        });\r\n      },\r\n      load() {\r\n        if (this.noMoreClass || this.fayiLoading) {\r\n          return;\r\n        }\r\n        this.classPage += 1;\r\n        this.getUserFayiCollection();\r\n      }\r\n    },\r\n    activated() {\r\n      this.init();\r\n      // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n      this.$nextTick(() => {\r\n        this.load();\r\n      });\r\n    }\r\n  };\r\n  </script>\r\n  <style scoped lang=\"less\">\r\n  .mymind-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: bold;\r\n    padding-bottom: 20px;\r\n  }\r\n  /deep/ .tag {\r\n    right: 0 !important;\r\n  }\r\n  .mindContent {\r\n    width: 100%;\r\n    height: 100%;\r\n    .loading {\r\n      text-align: center;\r\n    }\r\n    .collections {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      max-height: 100%;\r\n    }\r\n    .fayiCollect {\r\n      width: 105px;\r\n      cursor: pointer;\r\n      margin-right: 35px;\r\n      margin-bottom: 20px;\r\n     .cover {\r\n      width: 98px;\r\n      height: 145px;\r\n      background: #64AFD5;\r\n      box-shadow: 0px 10px 9px 0px rgba(0,0,0,0.11);\r\n      img {\r\n        width: 100%;\r\n        height: 100%;\r\n      }\r\n     }\r\n     .cover_none {\r\n      padding: 10px;\r\n      background: #64AFD5;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      color: #FFFFFF;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      line-height: 24px;\r\n      p {\r\n        -webkit-line-clamp: 3;\r\n      }\r\n    }\r\n     .course_name {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 16px;\r\n      color: #292929;\r\n      line-height: 24px;\r\n      text-align: center;\r\n      font-style: normal;\r\n      padding-top: 13px;\r\n      -webkit-line-clamp: 2;\r\n     }\r\n    }\r\n  }\r\n\r\n  /deep/ .el-dialog {\r\n    width: 280px;\r\n    height: 450px;\r\n    background: transparent;\r\n    box-shadow: none;\r\n    top: 50%;\r\n    transform: translate(-50%, -50%);\r\n    margin-left: 50%;\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    display: none;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n    padding-top: 19px;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 38px 20px 0 20px;\r\n    overflow-y: auto;\r\n    height: 340px;\r\n    background: #FDFDFD;\r\n    border-radius: 16px;\r\n  }\r\n  /deep/ .el-tree {\r\n    background: #f6f6f6 !important;\r\n  }\r\n  .dialog-footer {\r\n    /deep/ .el-button:hover {\r\n      color: #71afbb;\r\n      border-color: #71afbb;\r\n      background-color: #fff;\r\n    }\r\n  }\r\n\r\n  .images {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    /deep/ .el-image {\r\n      width: 249px;\r\n      height: 249px;\r\n      border-radius: 16px;\r\n      margin-right: 15px;\r\n      border-bottom: 15px;\r\n    }\r\n  }\r\n  .erweima-wrapper {\r\n    width: 100%;\r\n    border-radius: 8px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    align-items: center;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #7E878C;\r\n    line-height: 25px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    .app_erweima {\r\n      width: 153px;\r\n      height: 153px;\r\n      margin-bottom: 10px;\r\n    }\r\n    .row1 {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #7E878C;\r\n      line-height: 25px;\r\n      font-style: normal;\r\n      padding-bottom: 21px;\r\n      .app_name {\r\n        color: #34896A;\r\n        font-family: SourceHanSansCN-Medium;\r\n      }\r\n    }\r\n    .row2 {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #7E878C;\r\n      line-height: 20px;\r\n      text-align: center;\r\n      font-style: normal;\r\n    }\r\n}\r\n.close {\r\n  width: 48px;\r\n  height: 48px;\r\n  cursor: pointer;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/fayiOverseas.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"mindContent\",attrs:{\"infinite-scroll-distance\":1}},[(_vm.fayis.length == 0 && !_vm.fayiLoading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"collections\"},_vm._l((_vm.fayis),function(item,index){return _c('div',{key:index,staticClass:\"fayiCollect\",on:{\"click\":function($event){return _vm.toFayi(item)}}},[(item && item.course_cover_show)?_c('div',{staticClass:\"cover\"},[_c('img',{attrs:{\"src\":item.course_cover_show}})]):_c('div',{staticClass:\"cover cover_none\"},[_c('p',{staticClass:\"ellipsis-content\"},[_vm._v(_vm._s(item.course_name))])]),_vm._v(\" \"),_c('div',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(item.course_name))])])}),0),_vm._v(\" \"),(_vm.fayiLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass && _vm.fayis.length > 0)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e(),_vm._v(\" \"),_c('el-dialog',{staticClass:\"dialog\",attrs:{\"visible\":_vm.dialogVisible,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',{staticClass:\"erweima-wrapper\"},[(_vm.qrCodeImage)?_c('img',{staticClass:\"app_erweima\",attrs:{\"src\":_vm.qrCodeImage}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"row1\"},[_vm._v(\"扫码下载\"),_c('span',{staticClass:\"app_name\"},[_vm._v(\" 元读书APP\")]),_vm._v(\"查看电子书\")]),_vm._v(\" \"),_c('div',{staticClass:\"row2\"},[_vm._v(\"已下载 APP，可以直接在手机、平板中打开来阅读内容\")])]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('img',{staticClass:\"close\",attrs:{\"src\":require(\"@/assets/img/close.svg\")},on:{\"click\":function($event){_vm.dialogVisible = false}}})])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-37e31cce\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/fayiOverseas.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-37e31cce\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./fayiOverseas.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./fayiOverseas.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./fayiOverseas.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-37e31cce\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./fayiOverseas.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-37e31cce\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/fayiOverseas.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div>\r\n    <div class=\"fayi-tabs\" v-if=\"app_type  == 2\">\r\n      <div class=\"fayi-tab\" :class=\"[activeName == 1 ? 'fayi-tab-active' : '']\" @click=\"toggle(1)\">\r\n        元读书\r\n      </div>\r\n      <div class=\"fayi-tab\" :class=\"[activeName == 2 ? 'fayi-tab-active' : '']\" @click=\"toggle(2)\">\r\n        自定义内容\r\n      </div>\r\n    </div>\r\n    <fayiDomestic v-show=\"app_type  == 2 && activeName == 2\" />\r\n    <fayiOverseas v-show=\"app_type  == 2 && activeName == 1\"/>\r\n  </div>\r\n\r\n</template>\r\n<script>\r\nimport fayiDomestic from './fayiDomestic.vue';\r\nimport fayiOverseas from './fayiOverseas.vue';\r\nimport { getUserFayiCollection } from \"@/api/index\";\r\n\r\nexport default {\r\n  components: { fayiDomestic, fayiOverseas },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  computed: {\r\n  },\r\n  data() {\r\n    return {\r\n      activeName: 1,\r\n      app_type: \"\"\r\n    };\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    this.app_type = app_type;\r\n    this.getUserFayiCollection();\r\n  },\r\n  methods: {\r\n    toggle(activeName) {\r\n      this.activeName = activeName;\r\n    },\r\n    getUserFayiCollection() {\r\n      const params = {\r\n        page: 1,\r\n        pageSize: 1,\r\n        type: 3\r\n      };\r\n      console.log(\"getUserFayiCollectiongetUserFayiCollection\")\r\n      getUserFayiCollection(params).then(res => {\r\n        if (res && res.code == 0) {\r\n          if (res.data.length > 0) {\r\n            console.log(\"res.data[0].count:\", res.data[0].count);\r\n            this.parent.fayiNum =\r\n              res.data[0] && res.data[0].count ? res.data[0].count : 0;\r\n          } else {\r\n            this.parent.fayiNum = 0;\r\n          }\r\n        }\r\n      });\r\n    },\r\n  },\r\n  activated() {\r\n    this.getUserFayiCollection();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.fayi-tabs {\r\n  display: flex;\r\n  padding-bottom: 24px;\r\n  .fayi-tab {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #64AFD5;\r\n    line-height: 20px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    cursor: pointer;\r\n    &:first-child {\r\n      padding-right: 38px;\r\n    }\r\n  }\r\n  .fayi-tab-active {\r\n    font-weight: bold;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/Fayi.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.app_type  == 2)?_c('div',{staticClass:\"fayi-tabs\"},[_c('div',{staticClass:\"fayi-tab\",class:[_vm.activeName == 1 ? 'fayi-tab-active' : ''],on:{\"click\":function($event){return _vm.toggle(1)}}},[_vm._v(\"\\n      元读书\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"fayi-tab\",class:[_vm.activeName == 2 ? 'fayi-tab-active' : ''],on:{\"click\":function($event){return _vm.toggle(2)}}},[_vm._v(\"\\n      自定义内容\\n    \")])]):_vm._e(),_vm._v(\" \"),_c('fayiDomestic',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.app_type  == 2 && _vm.activeName == 2),expression:\"app_type  == 2 && activeName == 2\"}]}),_vm._v(\" \"),_c('fayiOverseas',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.app_type  == 2 && _vm.activeName == 1),expression:\"app_type  == 2 && activeName == 1\"}]})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-161c4693\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/Fayi.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-161c4693\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Fayi.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Fayi.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Fayi.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-161c4693\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Fayi.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-161c4693\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/Fayi.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"auxiliaryContent\">\r\n    <!-- 搜索栏 -->\r\n    <!-- <div class=\"search-bar\">\r\n      <el-input\r\n        v-model=\"keywords\"\r\n        placeholder=\"搜索\"\r\n        clearable\r\n        :disabled=\"loading\"\r\n        @clear=\"handleReset\"\r\n        @keyup.enter.native=\"handleSearchImmediate\"\r\n        @input=\"handleSearch\"\r\n        class=\"search-input\"\r\n      >\r\n      </el-input>\r\n    </div> -->\r\n\r\n    <!-- 列表区域 -->\r\n    <div\r\n      class=\"list-container\"\r\n      v-infinite-scroll=\"load\"\r\n      :infinite-scroll-distance=\"1\"\r\n    >\r\n      <NoData v-if=\"auxiliaryList.length == 0 && !loading\" />\r\n      <div\r\n        class=\"evMind\"\r\n        v-for=\"(item, index) in auxiliaryList\"\r\n        :key=\"index\"\r\n        @click=\"toReadDetail(item)\"\r\n      >\r\n        <div class=\"left\">\r\n          <div class=\"cover cover_none\">\r\n            <p class=\"ellipsis-content\">修学<br/>辅助材料</p>\r\n          </div>\r\n          <p class=\"ellipsis-content course_name\">{{ item.course_name }}</p>\r\n        </div>\r\n      </div>\r\n\r\n      <p v-if=\"loading\" class=\"loading\">加载中...</p>\r\n      <p v-if=\"noMoreClass && auxiliaryList.length > 0\" class=\"loading\">--到底啦--</p>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { getUserAuxiliaryCollection } from \"@/api/index\";\r\nimport { EventBus, WHITE_CULTURE_MIND } from \"@/utils/eventBus\";\r\nimport MyMindPdf from \"../MyMindPdf.vue\";\r\nimport MyMindOutline from \"../MyMindOutline.vue\";\r\nimport NoData from \"@/components/NoData\";\r\nimport PdfCover from '@/components/PdfCover';\r\nimport {\r\n  getOssConfig,\r\n  getBase64ByFile,\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile\r\n} from \"@/utils/indexDb\";\r\nexport default {\r\n  components: { MyMindPdf, MyMindOutline, NoData, PdfCover },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      auxiliaryList: [],\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      loading: false,\r\n      noMoreClass: false,\r\n      keywords: \"\",        // 搜索关键词\r\n      searchTimer: null,   // 防抖定时器\r\n    };\r\n  },\r\n  mounted() {\r\n    this.init();\r\n    // 初始加载数据\r\n    this.getUserAuxiliaryCollection();\r\n  },\r\n  methods: {\r\n    toReadDetail(courseAuxiliary) {\r\n      if(!courseAuxiliary.course_intro_auxiliary_pdf) {\r\n        return;\r\n      }\r\n      console.log(\"courseAuxiliary:\", courseAuxiliary);\r\n      const resolved = this.$router.resolve({ path: 'PdfRead', query: {\r\n        course_id: courseAuxiliary.course_id,\r\n        course_name: courseAuxiliary.course_name,\r\n        course_pdf: courseAuxiliary.course_intro_auxiliary_pdf_show,\r\n        canDownload: courseAuxiliary.course_intro_auxiliary_download\r\n      } });\r\n      const resolvedUrl = window.location.origin + resolved.href;\r\n      if(courseAuxiliary.course_intro_auxiliary_pdf) {\r\n        window.open(resolvedUrl, '_blank');\r\n      }\r\n    },\r\n    init() {\r\n      this.auxiliaryList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.loading = false;\r\n    },\r\n    /**\r\n     * 防抖搜索 - 输入时触发，500ms 后执行\r\n     */\r\n    handleSearch() {\r\n      if (this.searchTimer) {\r\n        clearTimeout(this.searchTimer);\r\n      }\r\n      this.searchTimer = setTimeout(() => {\r\n        this.init();\r\n        this.getUserAuxiliaryCollection();\r\n      }, 500);\r\n    },\r\n    /**\r\n     * 立即搜索 - 回车或点击搜索按钮时触发\r\n     */\r\n    handleSearchImmediate() {\r\n      if (this.searchTimer) {\r\n        clearTimeout(this.searchTimer);\r\n        this.searchTimer = null;\r\n      }\r\n      this.init();\r\n      this.getUserAuxiliaryCollection();\r\n    },\r\n    /**\r\n     * 重置搜索 - 清空关键词并恢复初始列表\r\n     */\r\n    handleReset() {\r\n      this.keywords = \"\";\r\n      if (this.searchTimer) {\r\n        clearTimeout(this.searchTimer);\r\n        this.searchTimer = null;\r\n      }\r\n      this.init();\r\n      this.getUserAuxiliaryCollection();\r\n    },\r\n    getUserAuxiliaryCollection() {\r\n      this.loading = true;\r\n      if(this.classPage == 1) {\r\n        this.auxiliaryList = [];\r\n      }\r\n      const params = {\r\n        page: this.classPage,\r\n        pageSize: this.pageSize,\r\n        keywords: this.keywords.trim()  // 添加搜索关键词参数\r\n      };\r\n      getUserAuxiliaryCollection(params).then(res => {\r\n        console.log(res);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          res.data.forEach(async item => {\r\n            if(item.course_intro_auxiliary_pdf_show) {\r\n                // 从indexDb拿数据\r\n                const url = item.course_intro_auxiliary_pdf_show.split(\"?\")[0];\r\n                const pdf = await getFile(url);\r\n                console.log(\"pdf:\", pdf);\r\n                if (pdf) {\r\n                  this.$set(item, \"course_intro_auxiliary_pdf_show_base64\", pdf.fileData);\r\n                } else {\r\n                  // 存入indexDb\r\n                  const pdfBase64 = await getBase64ByUrl(item.course_intro_auxiliary_pdf_show);\r\n                  const course_intro_auxiliary_pdf = item.course_intro_auxiliary_pdf.split(\"/\");\r\n                  const fileName = course_intro_auxiliary_pdf[course_intro_auxiliary_pdf.length - 1];\r\n                  this.$set(item, \"course_intro_auxiliary_pdf_show_base64\", pdfBase64);\r\n                  // 保存到indexDb\r\n                  await saveFile(url, fileName, pdfBase64);\r\n                }\r\n            }\r\n\r\n          });\r\n          if(this.classPage == 1) {\r\n            this.auxiliaryList = [];\r\n            if(res.data.length) {\r\n              this.parent.fucaiNum =\r\n                res.data[0] && res.data[0].count ? res.data[0].count : 0;\r\n            }\r\n          }\r\n\r\n          if(res.data && res.data.length) {\r\n            res.data.forEach(item => {\r\n              this.auxiliaryList.push(item);\r\n            })\r\n          }\r\n\r\n          console.log(\"auxiliaryList: bb\", this.classPage, this.auxiliaryList)\r\n          console.log(\"res.data.length < this.pageSiz:\", res.data.length < this.pageSize)\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n      });\r\n    },\r\n    load() {\r\n      console.log(\"load fucai\", this.classPage, this.noMoreClass, this.loading);\r\n      if (this.noMoreClass || this.loading) {\r\n        return;\r\n      }\r\n      this.classPage += 1;\r\n      this.getUserAuxiliaryCollection();\r\n    }\r\n  },\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  beforeDestroy() {\r\n    // 清除防抖定时器，防止内存泄漏\r\n    if (this.searchTimer) {\r\n      clearTimeout(this.searchTimer);\r\n      this.searchTimer = null;\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.auxiliaryContent {\r\n  display: flex;\r\n  flex-direction: column;\r\n  width: 100%;\r\n  height: 100%;\r\n\r\n  .search-bar {\r\n    padding: 10px 0px 20px 0;\r\n    .search-input {\r\n      width: 300px;\r\n      /deep/ .el-input__inner {\r\n        border-radius: 20px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .list-container {\r\n    flex: 1;\r\n    min-height: 0;  // 确保 flex 容器可以正确收缩\r\n    overflow-y: auto;\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    align-content: flex-start;\r\n  }\r\n\r\n  .evMind {\r\n    margin-right: 35px;\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .loading {\r\n    text-align: center;\r\n    width: 100%;\r\n  }\r\n}\r\n.left {\r\n  width: 105px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  justify-content: center;\r\n  .cover {\r\n    width: 117px;\r\n    height: 154px;\r\n    background: #71AFBB;\r\n    box-shadow: 0px 2px 21px 0px rgba(0,0,0,0.15);\r\n    border-radius: 2px;\r\n  }\r\n  .cover_none {\r\n    text-align: center;\r\n    padding: 10px;\r\n    background: #71AFBB;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    p {\r\n      color: #FFFFFF;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 18px;\r\n      line-height: 22px;\r\n      -webkit-line-clamp: 3;\r\n    }\r\n  }\r\n  .course_name {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    padding-top: 13px;\r\n    -webkit-line-clamp: 2;\r\n    }\r\n  .start-btn {\r\n    width: 130px;\r\n    height: 40px;\r\n    background: #71AFBB;\r\n    border-radius: 8px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #FFFFFF;\r\n    line-height: 40px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    margin-bottom: 12px;\r\n    cursor: pointer;\r\n    a {\r\n      text-decoration: none;\r\n    }\r\n  }\r\n  .disable-start-btn {\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n  }\r\n}\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/Fucai.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"auxiliaryContent\"},[_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"list-container\",attrs:{\"infinite-scroll-distance\":1}},[(_vm.auxiliaryList.length == 0 && !_vm.loading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_vm._l((_vm.auxiliaryList),function(item,index){return _c('div',{key:index,staticClass:\"evMind\",on:{\"click\":function($event){return _vm.toReadDetail(item)}}},[_c('div',{staticClass:\"left\"},[_vm._m(0,true),_vm._v(\" \"),_c('p',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(item.course_name))])])])}),_vm._v(\" \"),(_vm.loading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass && _vm.auxiliaryList.length > 0)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cover cover_none\"},[_c('p',{staticClass:\"ellipsis-content\"},[_vm._v(\"修学\"),_c('br'),_vm._v(\"辅助材料\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2609aa68\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/Fucai.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2609aa68\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Fucai.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Fucai.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Fucai.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2609aa68\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Fucai.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2609aa68\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/Fucai.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"pcenterRight\">\r\n    <label class=\"title\">个人收藏</label>\r\n    <el-tabs class=\"mainarea\" v-model=\"activeName\" @tab-click=\"handleClick\">\r\n      <el-tab-pane v-if=\"app_type == 2\" :label=\"'辅材（' + fucaiNum + ')'\" name=\"fucai\">\r\n        <Fucai ref=\"fucai\" :parent=\"that\" />\r\n      </el-tab-pane>\r\n      <el-tab-pane v-if=\"app_type == 2\" :label=\"'法义（' + fayiNum + ')'\" name=\"fayi\">\r\n        <Fayi ref=\"fayi\" :parent=\"that\" />\r\n      </el-tab-pane>\r\n      <el-tab-pane v-if=\"app_type == 2\" :label=\"'视频（' + videoNum + ')'\" name=\"videos\">\r\n        <Videos ref=\"videos\" :parent=\"that\" />\r\n      </el-tab-pane>\r\n      <el-tab-pane v-if=\"app_type == 2\" :label=\"'音频（' + audioNum + ')'\" name=\"audios\">\r\n        <Audios ref=\"audios\" :parent=\"that\" />\r\n      </el-tab-pane>\r\n      <el-tab-pane :label=\"'思维导图（' + dtNum + ')'\" name=\"mind\">\r\n        <mind ref=\"mind\" :parent=\"that\" />\r\n      </el-tab-pane>\r\n      <el-tab-pane :label=\"'白牌心得（' + xdNum + ')'\" name=\"experience\">\r\n        <whiteExperience ref=\"whiteExperience\" :parent=\"that\" />\r\n      </el-tab-pane>\r\n    </el-tabs>\r\n  </div>\r\n</template>\r\n<script>\r\nimport mind from \"./mind.vue\";\r\nimport whiteExperience from \"./whiteExperience.vue\";\r\nimport Audios from \"./Audios.vue\";\r\nimport Videos from \"./Videos.vue\";\r\nimport Fayi from \"./Fayi.vue\";\r\nimport Fucai from \"./Fucai.vue\";\r\nexport default {\r\n  components: {\r\n    mind,\r\n    whiteExperience,\r\n    Audios,\r\n    Videos,\r\n    Fayi,\r\n    Fucai\r\n  },\r\n  data() {\r\n    return {\r\n      activeName: \"fucai\",\r\n      xdNum: 0,\r\n      dtNum: 0,\r\n      audioNum: 0,\r\n      videoNum: 0,\r\n      fayiNum: 0,\r\n      fucaiNum: 0,\r\n      that: this,\r\n      app_type: 2\r\n    };\r\n  },\r\n  methods: {\r\n    handleClick() {\r\n      // if (this.activeName == \"experience\") {\r\n      //   this.$refs.whiteExperience.init();\r\n      // } else {\r\n      //   this.$refs.mind.init();\r\n      // }\r\n    }\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.activeName = app_type == 2 ? \"fucai\" : \"mind\";\r\n    this.$refs.mind.init();\r\n    this.$refs.whiteExperience.init();\r\n  }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.pcenterRight {\r\n  margin-top: 45px;\r\n  margin-left: 60px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n  // margin-right: 30px;\r\n  .title {\r\n    font-size: 14px;\r\n    color: #292929;\r\n    font-family: SourceHanSansCN;\r\n    padding-bottom: 23px;\r\n  }\r\n  .mainarea {\r\n    height: calc(100% - 50px);\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n  /deep/ .el-tabs__header {\r\n    margin: 0 0 15px;\r\n  }\r\n  /deep/.el-tabs__item {\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    height: 32px;\r\n    line-height: 30px;\r\n    padding: 0;\r\n    margin: 0 20px;\r\n    &.is-top:nth-child(2) {\r\n      margin-left: 0;\r\n    }\r\n  }\r\n\r\n  /deep/.el-tabs__nav-wrap::after {\r\n    background-color: #eaedef;\r\n  }\r\n  /deep/.el-tabs__item.is-active {\r\n    color: #64afd5;\r\n    border-bottom: 3px solid #64afd5;\r\n  }\r\n  /deep/.el-tabs__active-bar {\r\n    background-color: #64afd5;\r\n    height: 3px;\r\n    display: none;\r\n  }\r\n  /deep/.el-tabs__content {\r\n    flex: 1;\r\n    // padding-top: 20px;\r\n    padding-bottom: 20px;\r\n    overflow-y: auto;\r\n    .el-tab-pane {\r\n      height: 100%;\r\n      margin-right: 30px;\r\n    }\r\n    #pane-fayi {\r\n      margin-right: 0;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/myCollection.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pcenterRight\"},[_c('label',{staticClass:\"title\"},[_vm._v(\"个人收藏\")]),_vm._v(\" \"),_c('el-tabs',{staticClass:\"mainarea\",on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[(_vm.app_type == 2)?_c('el-tab-pane',{attrs:{\"label\":'辅材（' + _vm.fucaiNum + ')',\"name\":\"fucai\"}},[_c('Fucai',{ref:\"fucai\",attrs:{\"parent\":_vm.that}})],1):_vm._e(),_vm._v(\" \"),(_vm.app_type == 2)?_c('el-tab-pane',{attrs:{\"label\":'法义（' + _vm.fayiNum + ')',\"name\":\"fayi\"}},[_c('Fayi',{ref:\"fayi\",attrs:{\"parent\":_vm.that}})],1):_vm._e(),_vm._v(\" \"),(_vm.app_type == 2)?_c('el-tab-pane',{attrs:{\"label\":'视频（' + _vm.videoNum + ')',\"name\":\"videos\"}},[_c('Videos',{ref:\"videos\",attrs:{\"parent\":_vm.that}})],1):_vm._e(),_vm._v(\" \"),(_vm.app_type == 2)?_c('el-tab-pane',{attrs:{\"label\":'音频（' + _vm.audioNum + ')',\"name\":\"audios\"}},[_c('Audios',{ref:\"audios\",attrs:{\"parent\":_vm.that}})],1):_vm._e(),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":'思维导图（' + _vm.dtNum + ')',\"name\":\"mind\"}},[_c('mind',{ref:\"mind\",attrs:{\"parent\":_vm.that}})],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":'白牌心得（' + _vm.xdNum + ')',\"name\":\"experience\"}},[_c('whiteExperience',{ref:\"whiteExperience\",attrs:{\"parent\":_vm.that}})],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-35a00e96\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/myCollection.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-35a00e96\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./myCollection.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./myCollection.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./myCollection.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-35a00e96\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./myCollection.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-35a00e96\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/myCollection.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\">\r\n    <div class=\"left\">\r\n      <div class=\"top\"\r\n        @click=\"back\">\r\n        <!-- <img src=\"@/assets/img/back.svg\" /> -->\r\n        <i class=\"el-icon-arrow-left\"\r\n          :style=\"{\r\n            color: bgColor\r\n          }\" />\r\n      </div>\r\n      <div class=\"leftMenu\"\r\n        :class=\"course_ishide != 2 ? 'leftMenu1' : ''\">\r\n        <img :src=\"\r\n            userMess.user_headimage\r\n              ? require('@/assets/img/avatarList/' + userMess.user_headimage)\r\n              : require('@/assets/img/avatarList/headimage1.png')\r\n          \"\r\n          class=\"avatar\" />\r\n        <img src=\"@/assets/img/personal_edit.png\"\r\n          class=\"edit\"\r\n          @click=\"toEdit\" />\r\n        <div class=\"mess\">\r\n          <span class=\"ellipsis-content name\">{{ userMess.user_nickname }}</span>\r\n          <span class=\"educ\">{{ userMess.user_identity_name }}</span>\r\n        </div>\r\n        <div class=\"evMenu\"\r\n          @click=\"toPublish\">\r\n          <label class=\"title\">白牌心得</label>\r\n          <label class=\"num\">{{ experienceNum }}</label>\r\n        </div>\r\n        <div class=\"evMenu\"\r\n          @click=\"toPublishBlackCase\">\r\n          <label class=\"title\">黑牌案例</label>\r\n          <label class=\"num\">{{ caseNum }}</label>\r\n        </div>\r\n        <div class=\"evMenu\"\r\n          @click=\"toCollected\"\r\n          v-if=\"course_ishide == 2\">\r\n          <label class=\"title\">被收藏</label>\r\n          <label class=\"num\">{{ collectNum }}</label>\r\n        </div>\r\n      </div>\r\n      <el-button class=\"loginOut\"\r\n        @click=\"logout\">登出</el-button>\r\n      <el-button class=\"cancellation\"\r\n        @click=\"destroy\">注销</el-button>\r\n    </div>\r\n    <myCollection />\r\n    <el-dialog class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      @close=\"close\"\r\n      center\r\n      top=\"0vh\">\r\n      <div class=\"del_confirm\">确定注销当前账号?</div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer\">\r\n        <el-button @click=\"close\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\"\r\n          :disabled=\"destroyDisabled\"\r\n          @click=\"submitCon\">确 定\r\n          <span v-if=\"countTime > 0\">{{ countTime + \"s\" }}</span></el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getUserInfo, accountDestroy, getUserStatistic } from \"@/api/index\";\r\nimport myCollection from \"./personal/myCollection.vue\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { ensurePngSuffix } from \"@/utils/util\";\r\nexport default {\r\n  components: {\r\n    myCollection,\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      userMess: {\r\n        user_id: \"\",\r\n        user_nickname: \"\",\r\n        user_email: \"\",\r\n        user_headimage: \"\",\r\n        city_name: \"\",\r\n        city_id: \"\",\r\n        user_time_zone: \"\",\r\n      },\r\n      collectNum: 0,\r\n      caseNum: 0,\r\n      experienceNum: 0,\r\n      bgColor:\r\n        this.$store.getters.whiteActiveIndex === 0\r\n          ? \"#71afbb\"\r\n          : this.$store.getters.whiteActiveIndex === 1\r\n          ? \"#64AFD5\"\r\n          : this.$store.getters.whiteActiveIndex === 2\r\n          ? \"#FFB096\"\r\n          : \"#2C51AF\",\r\n      dialogVisibleCon: false,\r\n      destroyDisabled: false,\r\n      countTime: 0,\r\n      course_ishide: 1,\r\n      timeoutCourseHide: null\r\n    };\r\n  },\r\n  computed: {\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n  },\r\n  watch: {\r\n    whiteActiveIndex: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"whiteActiveIndex:\", newVal);\r\n        this.bgColor =\r\n          this.whiteActiveIndex === 0\r\n            ? \"#71afbb\"\r\n            : this.whiteActiveIndex === 1\r\n            ? \"#64AFD5\"\r\n            : this.whiteActiveIndex === 2\r\n            ? \"#FFB096\"\r\n            : \"#2C51AF\";\r\n      },\r\n    },\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    if (this.pageName == \"black\") {\r\n      EventBus.$emit(\"setBlackTheme\", \"black\");\r\n    }\r\n    next();\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next((vm) => {\r\n      if (vm.pageName == \"black\") {\r\n        EventBus.$emit(\"setBlackTheme\", \"white\");\r\n      }\r\n    });\r\n  },\r\n  methods: {\r\n    close() {\r\n      this.dialogVisibleCon = false;\r\n      clearInterval(this.timeout);\r\n      this.timeout = null;\r\n    },\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    toEdit() {\r\n      this.$router.push(\"/white/Set\");\r\n    },\r\n    toPublish() {\r\n      this.$router.push(\"/white/PulishExperience\");\r\n    },\r\n    toCollected() {\r\n      this.$router.push(\"/white/Collected\");\r\n    },\r\n    toPublishBlackCase() {\r\n      this.$router.push(\"/black/publishBlackCase\");\r\n    },\r\n    logout() {\r\n      this.$confirm(\"确认登出?\", \"\", {\r\n        confirmButtonText: \"确定\",\r\n        cancelButtonText: \"取消\",\r\n        center: true,\r\n        closeOnClickModal: false,\r\n        closeOnPressEscape: false,\r\n        // showClose: false,\r\n        customClass: \"confirmClass\",\r\n      }).then(() => {\r\n        this.$store.dispatch(\"logout\").then(() => {\r\n          // this.$router.push(\"/login\");\r\n          location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n        });\r\n      });\r\n    },\r\n    destroy() {\r\n      this.dialogVisibleCon = true;\r\n      this.countTime = 10;\r\n      this.destroyDisabled = true;\r\n      this.timeout = setInterval(() => {\r\n        this.countTime--;\r\n        if (this.countTime === 0) {\r\n          this.destroyDisabled = false;\r\n          clearInterval(this.timeout);\r\n          this.timeout = null;\r\n        }\r\n      }, 1000);\r\n    },\r\n    async submitCon() {\r\n      if(this.destroyDisabled) {\r\n        return;\r\n      }\r\n      this.dialogVisibleCon = false;\r\n      const userInfo = this.$store.getters.user;\r\n      const params = {\r\n        user_id: userInfo.user_id,\r\n        user_token: userInfo.user_token,\r\n      };\r\n      try {\r\n        const res = await accountDestroy(params);\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"logout\").then(() => {\r\n            location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error,\r\n        });\r\n      }\r\n    },\r\n    async getUserInfo() {\r\n      try {\r\n        const userInfo = this.$store.getters.user;\r\n        const params = {\r\n          user_id: userInfo.user_id,\r\n        };\r\n        const res = await getUserInfo(params);\r\n        if(res && res.code == 0) {\r\n          this.userMess = res.data[0];\r\n          this.userMess.user_headimage = ensurePngSuffix(\r\n            this.userMess.user_headimage\r\n          );\r\n        }\r\n\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getUserStatistic() {\r\n      try {\r\n        const userInfo = this.$store.getters.user;\r\n        const params = {\r\n          user_id: userInfo.user_id,\r\n          is_new: 1\r\n        };\r\n        const res = await getUserStatistic(params);\r\n        this.collectNum = res.data[0].collect_num;\r\n        this.caseNum = res.data[0].case_num;\r\n        this.experienceNum = res.data[0].experience_num;\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.getUserInfo();\r\n    this.getUserStatistic();\r\n  },\r\n  mounted() {\r\n    this.toggle();\r\n    this.timeoutCourseHide = setInterval(() => {\r\n      const course_ishide = localStorage.getItem(\"course_ishide\");\r\n      if (course_ishide) {\r\n        this.course_ishide = course_ishide;\r\n        clearInterval(this.timeoutCourseHide);\r\n        this.timeoutCourseHide = null;\r\n      }\r\n    }, 200);\r\n    // this.getUserInfo();\r\n    // this.getUserStatistic();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  background-color: #eaedef;\r\n  overflow: hidden;\r\n  display: flex;\r\n  z-index: 105;\r\n}\r\n.left {\r\n  display: flex;\r\n  flex-direction: column;\r\n  margin-top: 50px;\r\n  margin-left: 32px;\r\n  .top {\r\n    cursor: pointer;\r\n    i {\r\n      font-size: 20px;\r\n      font-weight: bold;\r\n    }\r\n  }\r\n  .loginOut {\r\n    width: 245px;\r\n    height: 43px;\r\n    background: #64afd5;\r\n    border-radius: 8px;\r\n    border: 1px solid #64afd5;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 14px;\r\n    color: #ffffff;\r\n    font-style: normal;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    margin-top: 41px;\r\n    letter-spacing: 3px;\r\n  }\r\n  .cancellation {\r\n    width: 245px;\r\n    height: 43px;\r\n    background: #d4d9db;\r\n    border-radius: 8px;\r\n    border: 1px solid #d4d9db;\r\n    color: #fff;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    letter-spacing: 3px;\r\n    margin-top: 10px;\r\n    margin-left: 0 !important;\r\n  }\r\n}\r\n.leftMenu {\r\n  width: 245px;\r\n  height: 284px;\r\n  background: #fdfdfd;\r\n  box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n    3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n  border-radius: 16px;\r\n  border: 1px solid #ffffff;\r\n  position: relative;\r\n  margin-top: 50px;\r\n  .avatar {\r\n    width: 58px;\r\n    height: 58px;\r\n    background: linear-gradient(145deg, #ffae8b 0%, #fd746b 100%);\r\n    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.14);\r\n    border: 1px solid #ffffff;\r\n    border-radius: 50%;\r\n    left: 50%;\r\n    margin-left: -30px;\r\n    top: -30px;\r\n    position: absolute;\r\n  }\r\n  .edit {\r\n    width: 13px;\r\n    height: 17px;\r\n    position: absolute;\r\n    right: 15px;\r\n    top: 12px;\r\n    cursor: pointer;\r\n  }\r\n  .mess {\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    margin-top: 45px;\r\n    .name {\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 14px;\r\n      color: #292929;\r\n      line-height: 21px;\r\n      text-align: right;\r\n      font-style: normal;\r\n      -webkit-line-clamp: 1;\r\n    }\r\n    .educ {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #bcc4c8;\r\n      line-height: 18px;\r\n      text-align: right;\r\n      font-style: normal;\r\n      margin: 8px 0 28px 0;\r\n      height: 18px;\r\n    }\r\n  }\r\n  .evMenu {\r\n    display: flex;\r\n    width: 100%;\r\n    border-top: 1px solid #f3f3f4;\r\n    padding: 12px 0;\r\n    align-items: center;\r\n    justify-content: center;\r\n    cursor: pointer;\r\n    .title {\r\n      width: 100px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 12px;\r\n      color: #292929;\r\n      line-height: 18px;\r\n      text-align: center;\r\n      font-style: normal;\r\n      cursor: pointer;\r\n      border-right: 1px solid #f3f3f4;\r\n    }\r\n    .num {\r\n      width: 100px;\r\n      padding-left: 20px;\r\n      font-size: 20px;\r\n      color: #64afd5;\r\n      font-family: \"SourceHanSansCN\";\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n.leftMenu1 {\r\n  height: 233px;\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personalCenter.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : '']},[_c('div',{staticClass:\"left\"},[_c('div',{staticClass:\"top\",on:{\"click\":_vm.back}},[_c('i',{staticClass:\"el-icon-arrow-left\",style:({\n          color: _vm.bgColor\n        })})]),_vm._v(\" \"),_c('div',{staticClass:\"leftMenu\",class:_vm.course_ishide != 2 ? 'leftMenu1' : ''},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":_vm.userMess.user_headimage\n            ? require('@/assets/img/avatarList/' + _vm.userMess.user_headimage)\n            : require('@/assets/img/avatarList/headimage1.png')}}),_vm._v(\" \"),_c('img',{staticClass:\"edit\",attrs:{\"src\":require(\"@/assets/img/personal_edit.png\")},on:{\"click\":_vm.toEdit}}),_vm._v(\" \"),_c('div',{staticClass:\"mess\"},[_c('span',{staticClass:\"ellipsis-content name\"},[_vm._v(_vm._s(_vm.userMess.user_nickname))]),_vm._v(\" \"),_c('span',{staticClass:\"educ\"},[_vm._v(_vm._s(_vm.userMess.user_identity_name))])]),_vm._v(\" \"),_c('div',{staticClass:\"evMenu\",on:{\"click\":_vm.toPublish}},[_c('label',{staticClass:\"title\"},[_vm._v(\"白牌心得\")]),_vm._v(\" \"),_c('label',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.experienceNum))])]),_vm._v(\" \"),_c('div',{staticClass:\"evMenu\",on:{\"click\":_vm.toPublishBlackCase}},[_c('label',{staticClass:\"title\"},[_vm._v(\"黑牌案例\")]),_vm._v(\" \"),_c('label',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.caseNum))])]),_vm._v(\" \"),(_vm.course_ishide == 2)?_c('div',{staticClass:\"evMenu\",on:{\"click\":_vm.toCollected}},[_c('label',{staticClass:\"title\"},[_vm._v(\"被收藏\")]),_vm._v(\" \"),_c('label',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.collectNum))])]):_vm._e()]),_vm._v(\" \"),_c('el-button',{staticClass:\"loginOut\",on:{\"click\":_vm.logout}},[_vm._v(\"登出\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"cancellation\",on:{\"click\":_vm.destroy}},[_vm._v(\"注销\")])],1),_vm._v(\" \"),_c('myCollection'),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event},\"close\":_vm.close}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"确定注销当前账号?\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.close}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",attrs:{\"disabled\":_vm.destroyDisabled},on:{\"click\":_vm.submitCon}},[_vm._v(\"确 定\\n        \"),(_vm.countTime > 0)?_c('span',[_vm._v(_vm._s(_vm.countTime + \"s\"))]):_vm._e()])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1fc1f460\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personalCenter.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1fc1f460\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./personalCenter.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./personalCenter.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./personalCenter.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1fc1f460\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./personalCenter.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1fc1f460\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personalCenter.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuWtl+WPt+a3seiJsiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE1MTAgLTY4MykiPg0KICAgIDxjaXJjbGUgaWQ9IuakreWchl84IiBkYXRhLW5hbWU9IuakreWchiA4IiBjeD0iMjQiIGN5PSIyNCIgcj0iMjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1MTAgNjgzKSIgZmlsbD0icmdiYSgwLDAsMCwwLjQpIi8+DQogICAgPHBhdGggaWQ9Iui3r+W+hF8yNiIgZGF0YS1uYW1lPSLot6/lvoQgMjYiIGQ9Ik0tMTY4LjA0Nyw5OS4xMDhoMi40NTlsNi43ODMsMjBoLTIuMzc4bC0xLjk3My02LjI4NWgtNy40MDZsLTIsNi4yODVILTE3NC44Wm00LjMyNCwxMS45MTItMS4wMjctMy4yNTFjLS43NTctMi4yNjctMS4zNzgtNC40MjctMi4wNTQtNi43NzVoLS4xMDhjLS42NDksMi4zNDgtMS4zLDQuNTA4LTIuMDI3LDYuNzc1bC0xLjAyNywzLjI1MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3MDAuODA0IDU5Ny44OTIpIiBmaWxsPSIjYmNjNGM4Ii8+DQogIDwvZz4NCjwvc3ZnPg0K\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-fontsize-black.svg\n// module id = KJDe\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div>\r\n    <el-dialog\r\n      class=\"add_dialog\"\r\n      :visible=\"dialogVisible\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      top=\"0vh\"\r\n      @close=\"handleClose\"\r\n    >\r\n      <span slot=\"title\" class=\"dialog-title\">\r\n        <span v-if=\"!isEdit\">添加问题</span>\r\n        <span v-else>编辑问题</span>\r\n      </span>\r\n      <div class=\"question-wrapper\">\r\n        <div class=\"question\">\r\n          <!-- <div class=\"title\" v-if=\"app_type == 2\">本课问题</div> -->\r\n          <div class=\"title\">大问题</div>\r\n          <el-input\r\n            type=\"textarea\"\r\n            v-model=\"course_question_title\"\r\n            maxlength=\"200\"\r\n            show-word-limit\r\n            resize=\"none\"\r\n          >\r\n          </el-input>\r\n        </div>\r\n        <div class=\"recommends\">\r\n          <!-- <div class=\"title\" v-if=\"app_type == 2\">问题推荐</div> -->\r\n          <div class=\"title\">小问题</div>\r\n          <div class=\"recommend-wrapper\">\r\n            <div\r\n              class=\"recommend\"\r\n              v-for=\"(item, index) in small_questions\"\r\n              :key=\"'question' + index\"\r\n            >\r\n              <div class=\"title-wrapper\">\r\n                <!-- <div class=\"subtitle\" v-if=\"app_type == 2\">\r\n                  问题推荐{{ index + 1 }}\r\n                </div> -->\r\n                <div class=\"subtitle\">小问题{{ index + 1 }}</div>\r\n                <div\r\n                  class=\"operate\"\r\n                  v-if=\"\r\n                    isEditing[item.course_question_small_id] ||\r\n                      isEditing[item.course_question_small_id] === undefined\r\n                  \"\r\n                  @click=\"clear(item, index, $event)\"\r\n                >\r\n                  清 空\r\n                </div>\r\n                <el-tooltip v-else effect=\"light\" content=\"删除\" placement=\"top\">\r\n                  <img class=\"del\" src=\"@/assets/img/small_question_del.png\" @click=\"del(item, index, $event)\" />\r\n                </el-tooltip>\r\n              </div>\r\n              <span\r\n                class=\"content\"\r\n                v-if=\"\r\n                  !isEditing[item.course_question_small_id] &&\r\n                    item.course_question_small_id\r\n                \"\r\n                @click=\"edit(item, $event)\"\r\n                >{{ item.course_question_small_title }}\r\n              </span>\r\n              <el-input\r\n                type=\"textarea\"\r\n                :ref=\"'textarea' + item.course_question_small_id\"\r\n                v-else\r\n                v-model=\"item.course_question_small_title\"\r\n                resize=\"none\"\r\n                @focus=\"focusInput(item)\"\r\n                @blur=\"blurInput(item, $event)\"\r\n              >\r\n              </el-input>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"addRecommend\">\r\n            <el-button\r\n              type=\"default\"\r\n              icon=\"el-icon-plus\"\r\n              @click=\"addSmallQuestion\"\r\n              >添加小问题</el-button\r\n            >\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button type=\"primary\" v-loading=\"loading\" v-throttle=\"[comfirm]\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n    <el-dialog\r\n      class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">当前内容与服务器不一致，确定保存当前内容？</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleCon = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\" v-loading=\"loading\" v-throttle=\"[submitCon]\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nlet id = uuidv4();\r\nimport {\r\n  addUserQuestion,\r\n  editUserQuestion,\r\n  getUserCourseProgress,\r\n  getCourseBase\r\n} from \"@/api/index\";\r\nimport { deepClone } from \"@/utils/util\";\r\nimport { Base64 } from \"js-base64\";\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    dialogVisible: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    isEdit: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return null;\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      course_question_title: \"\",\r\n      small_questions: [],\r\n      // course_question_id: '',\r\n      isEditing: {},\r\n      selectedQuestion: {},\r\n      dialogVisibleCon: false,\r\n      confirmData: {},\r\n      data: null,\r\n      isClear: true,\r\n      isAdd: false,\r\n      app_type: 2,\r\n      loading: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    }\r\n  },\r\n  watch: {\r\n    dialogVisible: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"data:\", this.dataPro);\r\n        if (this.isEdit) {\r\n          // 编辑\r\n          this.data = deepClone(this.dataPro);\r\n          console.log(this.data);\r\n          this.course_question_title = this.data.course_question_title;\r\n          this.small_questions = this.data.course_question_small;\r\n          this.isEditing = {};\r\n          this.small_questions.forEach((item, index) => {\r\n            this.isEditing[item.course_question_small_id] = false;\r\n          });\r\n        } else {\r\n          // 新增\r\n          this.data = null;\r\n          this.course_question_title = \"\";\r\n          this.small_questions = [];\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    // 删除\r\n    del(data, index, e) {\r\n      e.stopPropagation();\r\n      this.small_questions.splice(index, 1);\r\n    },\r\n    // 清空\r\n    clear(data, index, e) {\r\n      console.log(\"clear\", data, e);\r\n      this.isClear = true;\r\n      this.isAdd = false;\r\n      e.stopPropagation();\r\n      data.course_question_small_title = \"\";\r\n      // this.$set(data, data.course_question_small_title, \"\");\r\n      this.$forceUpdate();\r\n      setTimeout(() => {\r\n        this.isClear = false;\r\n      }, 600);\r\n    },\r\n    focusInput(data) {\r\n      this.$set(this.isEditing, data.course_question_small_id, true);\r\n      this.$forceUpdate();\r\n      console.log(\"this.isEditing:\", this.isEditing);\r\n    },\r\n    blurInput(data, e) {\r\n      console.log(\"blurInput\", e);\r\n      console.log(\"this.isClear:\", this.isClear);\r\n      let vm = this;\r\n      setTimeout(() => {\r\n        if (!vm.isClear || vm.isAdd) {\r\n          vm.$set(vm.isEditing, data.course_question_small_id, false);\r\n\r\n          vm.$forceUpdate();\r\n        }\r\n        if (vm.isClear) {\r\n          this.$refs[\r\n            \"textarea\" + data.course_question_small_id\r\n          ][0].$refs.textarea.focus();\r\n        }\r\n      }, 500);\r\n\r\n      console.log(\"this.isEditing:\", this.isEditing);\r\n    },\r\n    // 点击问题推荐编辑\r\n    edit(data, e) {\r\n      console.log(\"edit\", data);\r\n      e.stopPropagation();\r\n      if (\r\n        !data.course_question_id ||\r\n        data.course_question_small_isuseradd === 2\r\n      ) {\r\n        // 添加的或者官方的\r\n        return;\r\n      }\r\n      // let keys = Object.keys(this.isEditing);\r\n      // keys.forEach((item) => {\r\n      //   this.$set(this.isEditing, item, false);\r\n      // });\r\n      if (this.selectedQuestion.course_question_small_id) {\r\n        this.$set(\r\n          this.isEditing,\r\n          this.selectedQuestion.course_question_small_id,\r\n          false\r\n        );\r\n      }\r\n      if (data.course_question_id) {\r\n        // this.isEditing[data.course_question_id] = true;\r\n        this.$set(this.isEditing, data.course_question_small_id, true);\r\n        this.$forceUpdate();\r\n        console.log(\"this.isEditing:\", this.isEditing);\r\n      }\r\n      this.selectedQuestion = deepClone(data);\r\n      // this.isClear = false;\r\n    },\r\n    // 添加问题推荐\r\n    addSmallQuestion() {\r\n      let course_question_small_id = uuidv4();\r\n      let selectedQuestion = {\r\n        course_question_small_title: \"\",\r\n        course_question_small_id,\r\n        course_question_id: uuidv4()\r\n      };\r\n\r\n      // this.selectedQuestion = {\r\n      //   course_question_small_title: \"\",\r\n      //   course_question_small_id,\r\n      //   course_question_id: uuidv4(),\r\n      // };\r\n      this.small_questions.push(selectedQuestion);\r\n      this.isEditing[course_question_small_id] = true;\r\n      this.isAdd = true;\r\n      setTimeout(() => {\r\n        this.isClear = false;\r\n      }, 500);\r\n      this.$nextTick(() => {\r\n        console.log(this.$refs[\"textarea\" + course_question_small_id]);\r\n        if (this.$refs[\"textarea\" + course_question_small_id]) {\r\n          this.$refs[\r\n            \"textarea\" + course_question_small_id\r\n          ][0].$refs.textarea.focus();\r\n        }\r\n      });\r\n    },\r\n    handleClose() {\r\n      this.$emit(\"handleClose\");\r\n    },\r\n    comfirm() {\r\n      if (!this.course_question_title) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请输入大问题\"\r\n        });\r\n        return;\r\n      }\r\n      let flag = true;\r\n      this.small_questions.forEach(item => {\r\n        if (!item.course_question_small_title) {\r\n          flag = false;\r\n        }\r\n      });\r\n      if (!flag) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请输入小问题内容\"\r\n        });\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      if (this.data && this.data.course_question_id) {\r\n        this.editUserQuestion(2);\r\n      } else {\r\n        this.addUserQuestion();\r\n      }\r\n    },\r\n    async addUserQuestion() {\r\n      let small_questions = deepClone(this.small_questions);\r\n      small_questions.forEach(item => {\r\n        if (item.course_question_small_isuseradd) {\r\n          delete item.course_question_small_isuseradd;\r\n        }\r\n        if (item.course_question_id) {\r\n          delete item.course_question_id;\r\n        }\r\n        if (item.course_question_small_id) {\r\n          delete item.course_question_small_id;\r\n        }\r\n        if (item.course_question_small_title) {\r\n          // item.course_question_small_title = item.course_question_small_title.replace(\r\n          //   /\\n/g,\r\n          //   \"\\\\n\"\r\n          // );\r\n        }\r\n      });\r\n      let params = {\r\n        course_id: this.course_id,\r\n        course_question_title: Base64.encode(this.course_question_title),\r\n        update_device: localStorage.getItem(\"DeviceId\"),\r\n        small_questions: Base64.encode(JSON.stringify(small_questions))\r\n      };\r\n      try {\r\n        const res = await addUserQuestion(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"添加成功\"\r\n          });\r\n          this.loading = false;\r\n          this.handleClose();\r\n          this.getUserCourseProgress();\r\n          console.log(\"getCourseBase\")\r\n          this.getCourseBase();\r\n          this.$emit(\"addUserQuestion\", {\r\n            course_question_id: res.data[0].course_question_id\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async editUserQuestion(is_confirm, last_update_device, last_update_at) {\r\n      let small_questions = deepClone(this.small_questions);\r\n      small_questions.forEach(item => {\r\n        if (item.course_question_small_isuseradd) {\r\n          delete item.course_question_small_isuseradd;\r\n        }\r\n        if (item.course_question_id) {\r\n          delete item.course_question_id;\r\n        }\r\n        if (item.course_question_small_id) {\r\n          delete item.course_question_small_id;\r\n        }\r\n        if (item.course_question_small_title) {\r\n          // item.course_question_small_title = item.course_question_small_title.replace(\r\n          //   /\\n/g,\r\n          //   \"\\\\n\"\r\n          // );\r\n        }\r\n      });\r\n      let params = {\r\n        course_id: this.course_id,\r\n        course_question_id: this.data.course_question_id,\r\n        course_question_title: Base64.encode(this.course_question_title),\r\n        update_device: localStorage.getItem(\"DeviceId\"),\r\n        small_questions: Base64.encode(JSON.stringify(small_questions)),\r\n        last_update_device: last_update_device\r\n          ? last_update_device\r\n          : this.data.last_update_device,\r\n        last_update_at: last_update_at\r\n          ? last_update_at\r\n          : this.data.last_update_at,\r\n        is_confirm\r\n      };\r\n      try {\r\n        const res = await editUserQuestion(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"编辑成功\"\r\n          });\r\n          this.handleClose();\r\n          this.dialogVisibleCon = false;\r\n          this.loading = false;\r\n          this.getUserCourseProgress();\r\n          console.log(\"getCourseBase\")\r\n          this.getCourseBase();\r\n          this.$emit(\"editUserQuestion\", params);\r\n        } else if (res && res.code === 1023 && res.data[0].need_confirm === 1) {\r\n          this.confirmData = res.data[0];\r\n          this.dialogVisibleCon = true;\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({ course_id: this.course_id });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0]).then(() => {});\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async getCourseBase() {\r\n      try {\r\n        if(this.course_id) {\r\n          let canAccessYouTube = 1;\r\n          if(this.canAccessYouTube) {\r\n            canAccessYouTube = 1;\r\n          } else {\r\n            canAccessYouTube = 2;\r\n          }\r\n          const course = await getCourseBase({ course_id: this.course_id, network_type: canAccessYouTube });\r\n          if (course.code === 0) {\r\n            this.$store.dispatch(\"setCourseBase\", course.data[0]);\r\n          }\r\n        }\r\n\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    submitCon() {\r\n      this.editUserQuestion(\r\n        1,\r\n        this.confirmData.last_update_device,\r\n        this.confirmData.last_update_at\r\n      );\r\n    },\r\n    delUserQuestion() {}\r\n  },\r\n  created() {},\r\n  activated() {},\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    console.log(\"mounted\");\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.dialog-title {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  font-size: 24px;\r\n  font-family: PingFangSC-Medium, PingFang SC;\r\n  font-weight: 500;\r\n  color: #292929;\r\n  line-height: 22px;\r\n}\r\n.title-text {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #65afd5;\r\n  line-height: 24px;\r\n  cursor: pointer;\r\n}\r\n.dialog-close {\r\n  position: fixed;\r\n  right: -60px;\r\n  top: 0;\r\n}\r\n.add_dialog {\r\n  .course_solve_content {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #727a7f;\r\n    line-height: 29px;\r\n    padding-top: 10px;\r\n    height: 523px;\r\n  }\r\n  /deep/ .el-dialog {\r\n    width: 750px;\r\n    border-radius: 16px;\r\n    padding: 0 70px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #f3f3f4;\r\n    padding: 36px 0 14px 0;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-size: 18px;\r\n    font-family: PingFangSC-Medium, PingFang SC;\r\n    font-weight: 500;\r\n    color: #65afd5;\r\n    line-height: 22px;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    color: #64afd5;\r\n    right: 70px;\r\n    top: 35px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    padding: 20px 0 35px 0;\r\n    display: flex;\r\n    justify-content: center;\r\n    .el-button {\r\n      width: 202px;\r\n      height: 52px;\r\n      text-align: center;\r\n      color: #fff;\r\n      background: #64afd5;\r\n      border-color: #64afd5;\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #ffffff;\r\n      line-height: 24px;\r\n      padding: 0;\r\n      border-radius: 12px;\r\n    }\r\n  }\r\n  /deep/ .el-textarea.is-disabled .el-textarea__inner {\r\n    background: #fff;\r\n  }\r\n}\r\n.question-wrapper {\r\n  display: flex;\r\n  padding: 16px 0;\r\n  .question {\r\n    width: 296px;\r\n    .title {\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN, \"SourceHanSansCN\";\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 27px;\r\n      padding-bottom: 16px;\r\n    }\r\n    /deep/ .el-textarea {\r\n      width: 235px;\r\n      border: 0.00925926rem solid #64afd4;\r\n    }\r\n    /deep/ .el-textarea__inner {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #292929;\r\n      line-height: 26px;\r\n      padding: 20px 17px;\r\n      // width: 235px;\r\n      height: 233px;\r\n      margin-bottom: 20px;\r\n      border: none;\r\n      // border: 1px solid #64afd4;\r\n    }\r\n    /deep/ .el-input__count {\r\n      bottom: 3px;\r\n      right: 16px;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 18px;\r\n    }\r\n  }\r\n  .recommends {\r\n    flex: 1;\r\n    .title {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN, \"SourceHanSansCN\";\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      position: relative;\r\n      padding-left: 12px;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 10px;\r\n        left: 0;\r\n        width: 4px;\r\n        height: 4px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: #64afd5;\r\n      }\r\n    }\r\n    .recommend-wrapper {\r\n      max-height: 335px;\r\n      overflow-y: auto;\r\n    }\r\n    .recommend {\r\n      width: 100%;\r\n      height: 146px;\r\n      background: #fdfdfd;\r\n      box-shadow: 3px 3px 14px rgba(0, 0, 0, 0.05);\r\n      border-radius: 2px;\r\n      border: 1px solid #ffffff;\r\n      border-left: 2px solid #64afd5;\r\n      margin-top: 15px;\r\n      padding: 10px 15px;\r\n      cursor: pointer;\r\n      display: flex;\r\n      flex-direction: column;\r\n      .title-wrapper {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        padding-bottom: 10px;\r\n        .subtitle {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n          font-weight: 600;\r\n          color: #292929;\r\n          line-height: 21px;\r\n          padding-right: 10px;\r\n        }\r\n        .operate {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #7e878c;\r\n          line-height: 21px;\r\n          padding-right: 9px;\r\n          cursor: pointer;\r\n        }\r\n        .del {\r\n          width: 15px;\r\n          height: 19px;\r\n          cursor: pointer;\r\n        }\r\n      }\r\n      .content {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 26px;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n        overflow: hidden;\r\n        text-overflow: ellipsis;\r\n        -webkit-line-clamp: 4;\r\n        -webkit-box-orient: vertical;\r\n        display: -webkit-box;\r\n        padding: 0;\r\n        min-height: 100px;\r\n        white-space: pre-wrap;\r\n\r\n      }\r\n      /deep/ .el-textarea {\r\n        flex: 1;\r\n\r\n      }\r\n      /deep/ .el-textarea__inner {\r\n        height: 100%;\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #292929;\r\n        line-height: 26px;\r\n        border: none;\r\n        background: #F9F9F9;\r\n        padding: 10px;\r\n        padding-top: 0;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n    /deep/ .el-button {\r\n      width: 100%;\r\n      margin: 20px 0;\r\n      padding: 10px 20px;\r\n      border-radius: 4px;\r\n      border: none;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 21px;\r\n      box-shadow: 3px 3px 14px rgba(0, 0, 0, 0.05);\r\n      span {\r\n        margin-left: 7px;\r\n      }\r\n    }\r\n    /deep/ .el-icon-plus {\r\n      color: #64afd5;\r\n      font-size: 16px;\r\n    }\r\n    /deep/ .el-button:focus,\r\n    .el-button:hover {\r\n      background-color: #fff;\r\n    }\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n  // .comfirm-btn {\r\n  //   background: #64afd5;\r\n  //   color: #fff;\r\n  // }\r\n}\r\n*::-webkit-scrollbar {\r\n  /*滚动条整体样式*/\r\n  width: 2px;\r\n}\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  background: #fff;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  height: 20px;\r\n  background: #64AFD5;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CommitProblemAdd.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-dialog',{staticClass:\"add_dialog\",attrs:{\"visible\":_vm.dialogVisible,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"top\":\"0vh\"},on:{\"close\":_vm.handleClose}},[_c('span',{staticClass:\"dialog-title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[(!_vm.isEdit)?_c('span',[_vm._v(\"添加问题\")]):_c('span',[_vm._v(\"编辑问题\")])]),_vm._v(\" \"),_c('div',{staticClass:\"question-wrapper\"},[_c('div',{staticClass:\"question\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"大问题\")]),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"200\",\"show-word-limit\":\"\",\"resize\":\"none\"},model:{value:(_vm.course_question_title),callback:function ($$v) {_vm.course_question_title=$$v},expression:\"course_question_title\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"recommends\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"小问题\")]),_vm._v(\" \"),_c('div',{staticClass:\"recommend-wrapper\"},_vm._l((_vm.small_questions),function(item,index){return _c('div',{key:'question' + index,staticClass:\"recommend\"},[_c('div',{staticClass:\"title-wrapper\"},[_c('div',{staticClass:\"subtitle\"},[_vm._v(\"小问题\"+_vm._s(index + 1))]),_vm._v(\" \"),(\n                  _vm.isEditing[item.course_question_small_id] ||\n                    _vm.isEditing[item.course_question_small_id] === undefined\n                )?_c('div',{staticClass:\"operate\",on:{\"click\":function($event){return _vm.clear(item, index, $event)}}},[_vm._v(\"\\n                清 空\\n              \")]):_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":\"删除\",\"placement\":\"top\"}},[_c('img',{staticClass:\"del\",attrs:{\"src\":require(\"@/assets/img/small_question_del.png\")},on:{\"click\":function($event){return _vm.del(item, index, $event)}}})])],1),_vm._v(\" \"),(\n                !_vm.isEditing[item.course_question_small_id] &&\n                  item.course_question_small_id\n              )?_c('span',{staticClass:\"content\",on:{\"click\":function($event){return _vm.edit(item, $event)}}},[_vm._v(_vm._s(item.course_question_small_title)+\"\\n            \")]):_c('el-input',{ref:'textarea' + item.course_question_small_id,refInFor:true,attrs:{\"type\":\"textarea\",\"resize\":\"none\"},on:{\"focus\":function($event){return _vm.focusInput(item)},\"blur\":function($event){return _vm.blurInput(item, $event)}},model:{value:(item.course_question_small_title),callback:function ($$v) {_vm.$set(item, \"course_question_small_title\", $$v)},expression:\"item.course_question_small_title\"}})],1)}),0),_vm._v(\" \"),_c('div',{staticClass:\"addRecommend\"},[_c('el-button',{attrs:{\"type\":\"default\",\"icon\":\"el-icon-plus\"},on:{\"click\":_vm.addSmallQuestion}},[_vm._v(\"添加小问题\")])],1)])]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.comfirm]),expression:\"[comfirm]\"}],attrs:{\"type\":\"primary\"}},[_vm._v(\"确 定\")])],1)]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"当前内容与服务器不一致，确定保存当前内容？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleCon = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submitCon]),expression:\"[submitCon]\"}],staticClass:\"comfirm-btn\"},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-53648b3f\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CommitProblemAdd.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-53648b3f\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CommitProblemAdd.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CommitProblemAdd.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CommitProblemAdd.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-53648b3f\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CommitProblemAdd.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-53648b3f\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CommitProblemAdd.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"main-content\"\r\n    ref=\"box\"\r\n    id=\"commitProblemBox\"\r\n    >\r\n    <!-- <div class=\"box\">\r\n      <div class=\"box-content-name name\"\r\n        :class=\"isContained ? 'isContained' : ''\"\r\n        >\r\n        <span @click=\"back\" class=\"cursor-pointer\">\r\n          <img v-if=\"isContained\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/thinking.svg'\" />\r\n        问题意识\r\n      </span>\r\n      </div>\r\n    </div> -->\r\n    <div v-if=\"showSort\" class=\"sort\" :class=\"(isScrollIntoView || isSorting) ? 'sort-visible' : 'sort-disapear'\">\r\n      <div v-if=\"!isSorting\" class=\"sort-btn\" @click=\"startSort\"><img src=\"@/assets/img/question-sort.svg\" />调整顺序</div>\r\n      <div v-else class=\"sorting\">\r\n        <div class=\"sort-btn1\"><img src=\"@/assets/img/question-sort.svg\" />调整顺序</div>\r\n        <div class=\"btn finish\" @click=\"finish\">完成</div>\r\n        <div class=\"btn cancel\" @click=\"cancel\">取消</div>\r\n      </div>\r\n    </div>\r\n    <div class=\"content-box\">\r\n      <transition-group v-if=\"!isMobile\" tag=\"div\" class=\"container sort-container\" id=\"sortContainer\" v-show=\"slides.length > 0 && commitProblemGuideStatus === 1 && isSorting\">\r\n        <div class=\"placeholderLine\" id=\"placeholderLine\" :key=\"'placeholderLine'\"></div>\r\n        <div v-for=\"(item, index) in originSortSlides\" :key=\"'slides' + index\" class=\"sort-item\" :class=\"isUser || item.status == 1 ? 'sel' : ''\" :id=\"item.course_question_id\"\r\n          :draggable=\"true\"\r\n          @dragstart.stop=\"handleDragStart($event, item, index)\"\r\n          @dragover.stop=\"handleDragOver($event, item)\"\r\n          @dragenter.stop=\"handleDragEnter($event, item)\"\r\n          @dragend.stop=\"handleDragEnd($event, item)\"\r\n          >\r\n          <div class=\"evp before\"\r\n              :id=\"`elBefore${index}`\"\r\n\r\n          >\r\n            <div class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item['idx'] + 1 }}．</div>\r\n            <div class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</div>\r\n          </div>\r\n        </div>\r\n      </transition-group>\r\n      <transition-group v-else tag=\"div\" class=\"container sort-container\" id=\"sortContainer\" v-show=\"slides.length > 0 && commitProblemGuideStatus === 1 && isSorting\">\r\n        <div class=\"placeholderLine\" id=\"placeholderLine\" :key=\"'placeholderLine'\"></div>\r\n        <div v-for=\"(item, index) in originSortSlides\" :key=\"'slides' + index\" class=\"sort-item\" :class=\"isUser || item.status == 1 ? 'sel' : ''\" :id=\"item.course_question_id\"\r\n          :draggable=\"false\"\r\n          @touchstart=\"handleTouchStart($event, item, index)\"\r\n          @touchmove=\"handleTouchMove($event, item, index)\"\r\n          @touchend=\"handleTouchend($event, item)\"\r\n          @mousedown=\"handleMouseStart\"\r\n          @mouseup=\"handleMouseEnd($event, item)\"\r\n          >\r\n          <div class=\"evp before\"\r\n              :id=\"`elBefore${index}`\"\r\n\r\n          >\r\n            <div class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item['idx'] + 1 }}．</div>\r\n            <div class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</div>\r\n          </div>\r\n        </div>\r\n      </transition-group>\r\n\r\n      <div class=\"swiper\"\r\n        :class=\"[isListAni ? 'swiperLeft' : '']\">\r\n        <NoData v-show=\"slides.length == 0 && commitProblemGuideStatus === 1\" />\r\n        <swiper v-show=\"slides.length > 0 && commitProblemGuideStatus === 1 && !isSorting\" v-if=\"commitProblemGuideStatus === 1\"\r\n          ref=\"mySwiper\"\r\n          :options=\"swiperOptions\"\r\n          class=\"Plist\">\r\n          <swiper-slide v-for=\"(item, i) in slides\"\r\n            :key=\"i\"\r\n            :id=\"`slide${i}`\">\r\n            <div class=\"evp before beforeBottom\"></div>\r\n            <div class=\"evp before\"\r\n              :id=\"`elBefore${i}`\"\r\n              :class=\"isUser || item.status == 1 ? 'sel' : ''\"\r\n            >\r\n              <div class=\"top\">\r\n                <div class=\"item\">\r\n                  <label class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</span>\r\n                  <i class=\"el-icon-circle-check\"\r\n                    :style=\"{\r\n                      color: isUser || item.status == 1 ? '#fff' : '#d4d9db'\r\n                    }\"></i>\r\n                </div>\r\n              </div>\r\n              <div v-if=\"isUser || item.status == 1\"\r\n                class=\"bottom\"\r\n                :id=\"`elBottom${i}`\"\r\n                >\r\n                <div class=\"item\">\r\n                  <label class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</span>\r\n                  <i class=\"el-icon-circle-check\"\r\n                    :style=\"{\r\n                      color: isUser || item.status == 1 ? '#fff' : '#d4d9db'\r\n                    }\"></i>\r\n                </div>\r\n              </div>\r\n              <div v-else\r\n                class=\"bottom\"\r\n                :id=\"`elBottom${i}`\">\r\n                <div class=\"item\">\r\n                  <label class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</span>\r\n                  <i class=\"el-icon-circle-check\"\r\n                    :style=\"{\r\n                      color: isUser || item.status == 1 ? '#fff' : '#d4d9db'\r\n                    }\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"evp after\"\r\n              :id=\"`elAfter${i}`\">\r\n              <div class=\"top\"\r\n                :id=\"`elTop${i}`\"></div>\r\n              <div class=\"bottom\"></div>\r\n            </div>\r\n            <div class=\"evp after\"\r\n              :id=\"`elAfterHideBottom${i}`\"></div>\r\n            <div class=\"evp after\"\r\n              :id=\"`elAfterHide${i}`\">\r\n              <div class=\"top\"\r\n                :id=\"`elTopHide${i}`\"></div>\r\n              <div class=\"bottom\"></div>\r\n            </div>\r\n            <div class=\"evp big\"\r\n              :id=\"`elBig${i}`\">\r\n              <div class=\"top\">\r\n                <div class=\"item\">\r\n                  <label class=\"selnum\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"selTitle prewrap-content\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{\r\n                    item.course_question_title\r\n                  }}</span>\r\n                  <!-- <div class=\"selCont\">\r\n                    <div\r\n                      class=\"sevcont\"\r\n                      v-for=\"(itemx, ikey) in item.course_question_small\"\r\n                      :key=\"ikey\"\r\n                    >\r\n                      <i class=\"dian\"></i>\r\n                      <span>{{ itemx.course_question_small_title }}</span>\r\n                    </div>\r\n                  </div> -->\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </swiper-slide>\r\n          <div class=\"swiper-pagination\"\r\n            slot=\"pagination\"\r\n            ref=\"swiperPagination\"></div>\r\n        </swiper>\r\n        <swiper v-if=\"commitProblemGuideStatus === 0\"\r\n          ref=\"mySwiper\"\r\n          :options=\"swiperOptions\"\r\n          class=\"Plist\">\r\n          <swiper-slide v-for=\"(item, i) in guideSlides\"\r\n            :key=\"i\"\r\n            :id=\"`slide${i}`\">\r\n            <div class=\"evp before beforeBottom\"></div>\r\n            <div class=\"evp before\"\r\n              :id=\"`elBefore${i}`\"\r\n              :class=\"app_type == 1 ? 'sel' : ''\"\r\n            >\r\n              <div class=\"top\">\r\n                <div class=\"item\">\r\n                  <label class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</span>\r\n                  <i class=\"el-icon-circle-check\"\r\n                    :style=\"{\r\n                      color: isUser || item.status == 1 ? '#fff' : '#d4d9db'\r\n                    }\"></i>\r\n                </div>\r\n              </div>\r\n              <div v-if=\"isUser || item.status == 1\"\r\n                class=\"bottom\"\r\n                :id=\"`elBottom${i}`\"\r\n              >\r\n                <div class=\"item\">\r\n                  <label class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</span>\r\n                  <i class=\"el-icon-circle-check\"\r\n                    :style=\"{\r\n                      color: isUser || item.status == 1 ? '#fff' : '#d4d9db'\r\n                    }\"></i>\r\n                </div>\r\n              </div>\r\n              <div v-else\r\n                class=\"bottom\"\r\n                :id=\"`elBottom${i}`\">\r\n                <div class=\"item\">\r\n                  <label class=\"num\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"pcont\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ item.course_question_title }}</span>\r\n                  <i class=\"el-icon-circle-check\"\r\n                    :style=\"{\r\n                      color: isUser || item.status == 1 ? '#fff' : '#d4d9db'\r\n                    }\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"evp after\"\r\n              :id=\"`elAfter${i}`\">\r\n              <div class=\"top\"\r\n                :id=\"`elTop${i}`\"></div>\r\n              <div class=\"bottom\"></div>\r\n            </div>\r\n            <div class=\"evp after\"\r\n              :id=\"`elAfterHideBottom${i}`\"></div>\r\n            <div class=\"evp after\"\r\n              :id=\"`elAfterHide${i}`\">\r\n              <div class=\"top\"\r\n                :id=\"`elTopHide${i}`\"></div>\r\n              <div class=\"bottom\"></div>\r\n            </div>\r\n            <div class=\"evp big\"\r\n              :id=\"`elBig${i}`\">\r\n              <div class=\"top\">\r\n                <div class=\"item\">\r\n                  <label class=\"selnum\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ i + 1 }}．</label>\r\n                  <span class=\"selTitle prewrap-content\" :class=\"[item.course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{\r\n                    item.course_question_title\r\n                  }}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </swiper-slide>\r\n          <div\r\n            class=\"swiper-pagination\"\r\n            slot=\"pagination\"\r\n            ref=\"swiperPagination\"\r\n          ></div>\r\n        </swiper>\r\n\r\n\r\n        <div v-if=\"slides.length > 0 && !isSorting\"\r\n          class=\"btns btnsleft\">\r\n          <div class=\"swiper-button-prev\"\r\n            :class=\"!prevFlag ? 'opac' : ''\"\r\n            @click=\"prev\"></div>\r\n        </div>\r\n        <div v-if=\"slides.length > 0 && !isSorting\"\r\n          class=\"btns\"\r\n          style=\"right: 0\">\r\n          <div class=\"swiper-button-next\"\r\n            :class=\"!nextFlag || slides.length==1 ? 'opac' : ''\"\r\n            @click=\"next\"></div>\r\n        </div>\r\n      </div>\r\n      <div class=\"process\"\r\n        v-show=\"\r\n          !showMask &&\r\n            !isUser &&\r\n            courseIsuseradd != 3 &&\r\n            commitProblemGuideStatus === 1 && !isSorting\r\n        \">\r\n        <p class=\"tt\">已读问题</p>\r\n        <el-progress :percentage=\"seePercent || 0\"\r\n          :show-text=\"false\"\r\n          :color=\"'#64afd5'\"\r\n          :stroke-width=\"8\"\r\n          :width=\"200\">\r\n        </el-progress>\r\n        <p class=\"num\">\r\n          <font color=\"#64AFD5\">{{\r\n            progress_see_question_ids\r\n              ? progress_see_question_ids.split(\",\").length\r\n              : 0\r\n          }}</font>\r\n          / {{ slides.length }}\r\n        </p>\r\n      </div>\r\n      <div ref=\"btnAddQuestion\" class=\"add-question-wrapper\" v-show=\"!isSorting\">\r\n        <div class=\"add-question\"\r\n          v-show=\"isUser && commitProblemGuideStatus === 1\"\r\n          >\r\n          <el-button type=\"default\"\r\n            icon=\"el-icon-plus\"\r\n            @click=\"showAddQuestion\">添加问题</el-button>\r\n        </div>\r\n        <div\r\n          class=\"add-question\"\r\n          v-show=\"commitProblemGuideStatus === 0 && guideButton === 0\"\r\n          >\r\n          <el-button id=\"commitProblem_step2\"\r\n            type=\"default\"\r\n            icon=\"el-icon-plus\">添加问题</el-button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div\r\n      class=\"mask\"\r\n      @click=\"hidemask\"\r\n    >\r\n      <div\r\n        :class=\"`evp big ${\r\n        slides[selectIndex] &&\r\n        slides[selectIndex].course_question_small &&\r\n        slides[selectIndex].course_question_small.length ? 'big-card-top' : 'big-card-center'\r\n        }`\"\r\n        id=\"copyBig\"\r\n        v-if=\"commitProblemGuideStatus === 1\"\r\n        @mousedown=\"disibledHideMask\"\r\n\r\n      >\r\n        <div class=\"top\"\r\n          :id=\"`elTopCopy${selectIndex}`\">\r\n          <div class=\"item\"\r\n            :class=\"!showSmallQuestion ? 'itemSmall' : ''\"\r\n            v-if=\"slides[selectIndex]\">\r\n            <label class=\"selnum\" :class=\"[slides[selectIndex].course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{ selectIndex + 1 }}．</label>\r\n            <span class=\"selTitle prewrap-content\" :class=\"[slides[selectIndex].course_question_isuseradd != 1 ? 'pcont-official' : '']\">{{\r\n              slides[selectIndex].course_question_title\r\n            }}</span>\r\n            <div class=\"line\"\r\n              v-if=\"slides[selectIndex]\r\n              .course_question_small && slides[selectIndex]\r\n              .course_question_small.length\"></div>\r\n            <div class=\"selCont\"\r\n              v-if=\"slides[selectIndex]\r\n                  .course_question_small && slides[selectIndex]\r\n                  .course_question_small.length\">\r\n              <div class=\"sevcont\"\r\n                v-for=\"(itemx, ikey) in slides[selectIndex]\r\n                  .course_question_small\"\r\n                :key=\"ikey\">\r\n                <i class=\"dian\"></i>\r\n                <span>{{ itemx.course_question_small_title }}</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div\r\n        class=\"evp big\"\r\n        id=\"copyBig\"\r\n        v-if=\"commitProblemGuideStatus === 0\"\r\n        @mousedown=\"disibledHideMask\"\r\n      >\r\n        <div class=\"top\"\r\n          id=\"`elTopCopy0`\">\r\n          <div class=\"item\">\r\n            <label class=\"selnum\">1．</label>\r\n            <span class=\"selTitle prewrap-content\">{{\r\n              guideSlides[0].course_question_title\r\n            }}</span>\r\n            <div class=\"line\"></div>\r\n            <div class=\"selCont\">\r\n              <div class=\"sevcont\"\r\n                v-for=\"(itemx, ikey) in guideSlides[0]\r\n                  .course_question_small\"\r\n                :key=\"ikey\">\r\n                <i class=\"dian\"></i>\r\n                <span>{{ itemx.course_question_small_title }}</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div>\r\n        <div class=\"countDown\"\r\n          ref=\"countDown\"\r\n          v-if=\"\r\n            timerCount > 0 &&\r\n              !isUser &&\r\n              this.slides[this.selectIndex] &&\r\n              this.slides[this.selectIndex].status != 1\r\n          \">\r\n          <el-progress :percentage=\"percent || 0\"\r\n            :show-text=\"false\"\r\n            :color=\"'#64AFD5'\"></el-progress>\r\n          <p class=\"num\">{{ timerCount }}S</p>\r\n        </div>\r\n        <div class=\"countDown\"\r\n          ref=\"countDown\"\r\n          v-else-if=\"\r\n            timerCount == 3 &&\r\n              !isUser &&\r\n              this.slides[this.selectIndex] &&\r\n              this.slides[this.selectIndex].status == 1\r\n          \">\r\n          <img src=\"@/assets/img/problem_done.png\" />\r\n        </div>\r\n        <div class=\"operates countDown\"\r\n          ref=\"countDown\"\r\n          v-else-if=\"isUser && commitProblemGuideStatus === 1\">\r\n          <el-tooltip effect=\"light\"\r\n            content=\"关闭\"\r\n            placement=\"top\">\r\n            <img src=\"@/assets/img/problem_close.svg\"\r\n              @click=\"hidemask\" />\r\n          </el-tooltip>\r\n          <el-tooltip effect=\"light\"\r\n            content=\"编辑或添加“问题推荐”\"\r\n            placement=\"top\">\r\n            <img src=\"@/assets/img/problem_edit.svg\"\r\n              @click=\"edit\" />\r\n          </el-tooltip>\r\n          <el-tooltip effect=\"light\"\r\n            content=\"删除\"\r\n            placement=\"top\">\r\n            <img src=\"@/assets/img/problem_del.svg\"\r\n              v-loading=\"loading\"\r\n              v-throttle=\"[del, `click`, 300]\" />\r\n          </el-tooltip>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <CommitProblemAdd :dialogVisible=\"showEditDialog\"\r\n      :isEdit=\"isEdit\"\r\n      :dataPro=\"showEditDialog ? selectData : null\"\r\n      @handleClose=\"handleClose\"\r\n      @editUserQuestion=\"editUserQuestion\"\r\n      @addUserQuestion=\"addUserQuestion\" />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport \"swiper/dist/css/swiper.css\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nimport {\r\n  delUserQuestion,\r\n  getCourseBase,\r\n  getQuestionList,\r\n  getUserCourseProgress,\r\n  getUserGuideStatus,\r\n  setQuestionRead,\r\n  setUserGuideStatus,\r\n  setUserQuestionSort\r\n} from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport CommitProblemAdd from \"./CommitProblemAdd.vue\";\r\nimport NoData from \"@/components/NoData\";\r\nimport { commitProblem_guide, commitProblem_guide2 } from \"@/utils/intro\";\r\nimport { isChildFullyVisible } from \"@/utils/util\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport {getIsMobile}  from '@/utils/util';\r\nimport { debounce } from 'throttle-debounce';\r\n\r\nexport default {\r\n  mixins: [openOtherPageMixins],\r\n  components: {\r\n    swiper,\r\n    swiperSlide,\r\n    CommitProblemAdd,\r\n    NoData,\r\n  },\r\n  props: {\r\n    fullscreen: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      commitProblemGuideStatus: 1,\r\n      guideButton: 1,\r\n      // fullscreen: false,\r\n      slides: [],\r\n      guideSlides: [\r\n        {\r\n          propIsEmptyData: \"1\",\r\n          course_question_id: \"34\",\r\n          index: \"1\",\r\n          course_question_title: \"什么是幸福？\\n我们怎样才能得到幸福？\",\r\n          course_question_isuseradd: \"3\",\r\n          course_question_small: [\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"对我来说，幸福是什么？是物质的满足吗？是事业的成就和感情的稳定吗？\",\r\n            },\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"有人认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？\",\r\n            },\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？佛教认为人生的本质是苦，\\n乐只是对痛苦的缓解，你能理解并接受吗？佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理\\n解并接受吗？佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？\",\r\n            },\r\n          ],\r\n        },\r\n        {\r\n          propIsEmptyData: \"1\",\r\n          course_question_id: \"35\",\r\n          index: \"1\",\r\n          course_question_title: \"究竟什么代表着\\n我？为什么要认识自己？\",\r\n          course_question_isuseradd: \"3\",\r\n          course_question_small: [\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"对我来说，幸福是什么？是物质的满足吗？是事业的成就和感情的稳定吗\",\r\n            },\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"有人认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？\",\r\n            },\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？佛教认为人生的本质是苦，\\n乐只是对痛苦的缓解，你能理解并接受吗？佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理\\n解并接受吗？佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？\",\r\n            },\r\n          ],\r\n        },\r\n        {\r\n          propIsEmptyData: \"1\",\r\n          course_question_id: \"36\",\r\n          index: \"1\",\r\n          course_question_title: \"究竟什么代表着\\n我？为什么要认识自己？\",\r\n          course_question_isuseradd: \"3\",\r\n          course_question_small: [\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"对我来说，幸福是什么？是物质的满足吗？是事业的成就和感情的稳定吗\",\r\n            },\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"有人认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？\",\r\n            },\r\n            {\r\n              course_question_id: \"1\",\r\n              course_question_small_id: \"1\",\r\n              course_question_small_isuseradd: \"3\",\r\n              course_question_small_title:\r\n                \"佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？佛教认为人生的本质是苦，\\n乐只是对痛苦的缓解，你能理解并接受吗？佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理\\n解并接受吗？佛教认为人生的本质是苦，快乐只是对痛苦的缓解，你能理解并接受吗？\",\r\n            },\r\n          ],\r\n        },\r\n      ],\r\n      carouselIndex: 0,\r\n      swiperOptions: {\r\n        mousewheel: false, //开启鼠标滚轮控制Swiper切换\r\n        zoom: 0.8, // 设置放大系数为0.8，即不放大\r\n        // slidesPerView: 5,\r\n        spaceBetween: 0,\r\n        centeredSlides: true,\r\n        graCursor: true,\r\n        slideToClickedSlide: true,\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        slidesPerView: \"auto\",\r\n        // width: window.innerWidth, // ❌ 移除固定宽度，让 Swiper 自动计算以支持 centeredSlides\r\n        observer: true, // 启用观察器，当slide变化时自动更新\r\n        observeParents: true, // 观察父元素变化\r\n        on: {\r\n          doubleClick: function () {\r\n            // 空函数或者不处理双击事件\r\n          },\r\n          tap: (e) => {\r\n            console.log('tap:', e);\r\n            this.animationAndCallBack(this.onTap);\r\n          },\r\n          slideChange: () => {\r\n            console.log(\"slideChange\");\r\n            let swiper = this.$refs.mySwiper.swiper;\r\n\r\n            // 阻止点击后又进入滑动\r\n            // if(this.isSwiperClicked >= 0) {\r\n            //   swiper.slideTo(this.isSwiperClicked);\r\n            //   return;\r\n            // }\r\n\r\n            this.swiper.realIndex = swiper.activeIndex;\r\n            let slides = swiper.slides;\r\n            for (let i = 0; i < slides.length; i++) {\r\n              const slide = slides[i];\r\n              slide.style.transform = `scale(${1})`;\r\n              slide.style.marginLeft = `10px`;\r\n              slide.style.marginRight = `10px`;\r\n              slide.style.transition = `all 0.5s`;\r\n            }\r\n            swiper.slides[swiper.activeIndex].style.transform = `scale(${1.1})`;\r\n            this.changeFlag(swiper.activeIndex);\r\n\r\n            this.select(swiper.activeIndex);\r\n\r\n            this.closeAllCard(swiper.activeIndex)\r\n            let timeout = setTimeout(() => {\r\n              this.animationAndCallBack(this.onTap);\r\n              clearTimeout(timeout);\r\n              timeout = null;\r\n            }, 200);\r\n\r\n          },\r\n        },\r\n      },\r\n      prevFlag: false,\r\n      nextFlag: true,\r\n      clickIndex: null,\r\n      showMask: false,\r\n      bightml: \"\",\r\n      timerCount: 0,\r\n      percent: 0,\r\n      seePercent: 0,\r\n      progress_see_question_ids: \"\",\r\n      progress_solve_question_ids: \"\",\r\n      selectData: null,\r\n      selectIndex: null,\r\n      courseId: null,\r\n      timer: null,\r\n      inited: false,\r\n      isActivated: true,\r\n      isUser: true,\r\n      isEdit: false,\r\n      showEditDialog: false,\r\n      dialogVisibleDel: false,\r\n      isOpen: true,\r\n      isListAni: false,\r\n      showAni: false,\r\n      isMoving: false,\r\n      isContained: false,\r\n      app_type: 2,\r\n      showSmallQuestion: false,\r\n      loading: false,\r\n      openCardInterval: null,\r\n      timeout3: null,\r\n      isSorting: false,\r\n      sortSlides: [],\r\n      originSortSlides: [],\r\n      isScrollIntoView: false,\r\n      isMobile: false,\r\n      showSort: true,\r\n      cardNumPerRow: 0,\r\n      isAnimationing: false,\r\n      openCardTimeout1: null,\r\n      openCardTimeout2: null,\r\n      openCardTimeout3: null\r\n    };\r\n  },\r\n  computed: {\r\n    swiper() {\r\n      return this.$refs.mySwiper.swiper;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress || {};\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    }\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next((vm) => {\r\n      if (from.name == \"index\") {\r\n        const isContained = vm.historyOperate.some((item) => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        if (!isContained) {\r\n          vm.isOpen = true;\r\n        }\r\n      }\r\n    });\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    //this.showAddQuestion = false;\r\n    this.showEditDialog = false;\r\n    if (to.path != from.path) {\r\n      if (to.name == \"index\") {\r\n        this.isOpen = false;\r\n        EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n        if (this.isMoving) {\r\n          this.hidemask(() => {\r\n            let timeout1 = setTimeout(() => {\r\n              next();\r\n              this.$store.dispatch(\"popHistoryOperate\", {\r\n                type: \"openOtherPage\",\r\n              });\r\n              clearTimeout(timeout1);\r\n            }, 550);\r\n          })\r\n        } else {\r\n          let timeout1 = setTimeout(() => {\r\n            next();\r\n            this.$store.dispatch(\"popHistoryOperate\", {\r\n              type: \"openOtherPage\",\r\n            });\r\n            clearTimeout(timeout1);\r\n          }, 550);\r\n        }\r\n      } else {\r\n        if([\r\n          'PersonalCenter', // 白版-个人中心\r\n          'Set', // 白版-设置\r\n          'Collected', // 白版-收藏\r\n          'PulishExperience',// 白版-我发布的心得\r\n          'EditTips', // 白版-我发布的心得详情\r\n          'SelfHelp',// 白版-我有疑问\r\n          'TipsList', // 白版-更多案例\r\n          'CaseList', // 黑版-更多案例\r\n          'EditCase', // 黑版-我的案例详情\r\n          'publishBlackCase', // 黑版-我发布的案例\r\n          'CultrueContentVideoDetail', // 视频详情页\r\n          'CultrueContentAudioDetail', // 音频详情页\r\n          'StudyLogDetail', //修学日志\r\n        ].indexOf(to.name) >= 0) {\r\n          if (this.isMoving) {\r\n            this.hidemask(() => {\r\n              let timeout1 = setTimeout(() => {\r\n                next();\r\n                this.$store.dispatch(\"popHistoryOperate\", {\r\n                  type: \"openOtherPage\",\r\n                });\r\n                clearTimeout(timeout1);\r\n              }, 1000);\r\n            })\r\n          } else {\r\n            next();\r\n          }\r\n        } else {\r\n          next();\r\n        }\r\n      }\r\n    }\r\n\r\n    // this.leaving = true;\r\n\r\n    // 等待动画结束后再执行路由导航\r\n    // setTimeout(() => {\r\n    //   next();\r\n    // }, 500); // 500ms 是动画持续时间，根据实际情况调整\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n\r\n        if ((newVal || newVal == 0) && this.isActivated) {\r\n          this.courseId = newVal;\r\n          this.inited = false;\r\n          this.getQuestionList();\r\n          this.hidemask();\r\n        }\r\n      },\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          this.inited = false;\r\n          this.getQuestionList();\r\n          this.hidemask();\r\n        }\r\n      },\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n\r\n        this.progress_see_question_ids = v.progress_see_question_ids || \"\";\r\n        let len = this.progress_see_question_ids\r\n          ? this.progress_see_question_ids.split(\",\").length\r\n          : 0;\r\n        this.progress_solve_question_ids = v.progress_solve_question_ids || \"\";\r\n        this.seePercent = parseFloat(len / this.slides.length).toFixed(2) * 100;\r\n        this.initStatus();\r\n      }\r\n    },\r\n    historyOperate: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        this.isContained = this.historyOperate.some((item) => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n\r\n      },\r\n      immediate: true,\r\n    },\r\n    fullscreen: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        // if(this.$refs.mySwiper) {\r\n        //   const mySwiper = this.$refs.mySwiper.$el;\r\n        //   // 找到子元素\r\n        //   const swapper = mySwiper.querySelectorAll('.swiper-wrapper');\r\n        //   if(swapper[0]) {\r\n        //     if(v) {\r\n        //       swapper[0].style.marginLeft = this.$px2rem(-70)\r\n        //     } else {\r\n        //       swapper[0].style.marginLeft = this.$px2rem(-250)\r\n        //     }\r\n        //   }\r\n        // }\r\n      },\r\n      immediate: true,\r\n    },\r\n  },\r\n  methods: {\r\n    animationAndCallBack(callback) {\r\n      const $box = this.$refs.box;\r\n      const problemBox = document.getElementById(\"problemBox\");\r\n      const isInViewport = isChildFullyVisible(problemBox, $box);\r\n      console.log(\"isInViewport:\", isInViewport,this.fullscreen);\r\n      // alert(`${isInViewport},,${this.fullscreen}`)\r\n      // 可见，判断是否全屏，全屏则滚动到可见区域，再直接调用点击事件，不是全屏则先执行动画后，再动到可见区域执行调用点击事件\r\n      if(this.fullscreen) {\r\n        // 全屏, 不可见，则滚动到可见区域\r\n        if(!isInViewport) {\r\n          this.isScrollIntoView = true;\r\n          this.$emit(\"setScrollIntoView\", () => {\r\n            callback();\r\n          });\r\n        } else {\r\n          // // 可见，直接调用点击事件\r\n          // callback();\r\n          this.isScrollIntoView = true;\r\n          this.$emit(\"setScrollIntoView\", () => {\r\n            callback();\r\n          });\r\n        }\r\n      } else {\r\n        // 不是全屏\r\n        this.$emit(\"setFullscreen\", () => {\r\n          // 全屏, 不可见，则滚动到可见区域\r\n          if(!isInViewport) {\r\n            this.isScrollIntoView = true;\r\n            this.$emit(\"setScrollIntoView\", () => {\r\n              callback();\r\n            });\r\n          } else {\r\n            // 可见，直接调用点击事件\r\n            this.isScrollIntoView = true;\r\n            this.$emit(\"setScrollIntoView\", () => {\r\n              callback();\r\n            });\r\n          }\r\n        });\r\n      }\r\n    },\r\n    onTap() {\r\n\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      this.isMoving = true;\r\n      // 点击小图, 大图对应切换\r\n      let index = 0;\r\n      console.log(\"onTap:\", swiper.clickedIndex);\r\n      if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n        index = swiper.clickedIndex;\r\n      } else {\r\n        return;\r\n      }\r\n      // else if(swiper.activeIndex || swiper.activeIndex === 0) {\r\n      //   index = swiper.activeIndex;\r\n      // }\r\n      this.swiper.realIndex = index;\r\n      this.swiper.activeIndex = index;\r\n      this.changeFlag(index);\r\n\r\n      let slides = swiper.slides;\r\n      for (let i = 0; i < slides.length; i++) {\r\n        const slide = slides[i];\r\n        slide.style.transform = `scale(${1})`;\r\n        slide.style.marginLeft = `10px`;\r\n        slide.style.marginRight = `10px`;\r\n        slide.style.transition = `all 0.5s`;\r\n      }\r\n      swiper.slides[index].style.transform = `scale(${1.1})`;\r\n\r\n      this.select(index);\r\n\r\n      this.openCard();\r\n\r\n      EventBus.$emit(\"openCommitProblemCard\", true);\r\n    },\r\n    onTapGuide() {\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      this.isMoving = true;\r\n      // 点击小图, 大图对应切换\r\n      if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n        this.swiper.realIndex = swiper.clickedIndex;\r\n        this.swiper.activeIndex = swiper.clickedIndex;\r\n        // this.swiper.slideTo(swiper.clickedIndex);\r\n\r\n        //this.$emit(\"setBigIndex\", swiper.clickedIndex);\r\n        this.changeFlag(swiper.clickedIndex);\r\n\r\n        let slides = swiper.slides;\r\n        for (let i = 0; i < slides.length; i++) {\r\n          const slide = slides[i];\r\n          slide.style.transform = `scale(${1})`;\r\n          slide.style.marginLeft = `10px`;\r\n          slide.style.marginRight = `10px`;\r\n          slide.style.transition = `all 0.5s`;\r\n        }\r\n        swiper.slides[\r\n          swiper.clickedIndex\r\n        ].style.transform = `scale(${1.1})`;\r\n\r\n        // this.select(swiper.clickedIndex);\r\n        // this.openCard();\r\n        // EventBus.$emit(\"openCommitProblemCard\", true);\r\n      }\r\n      this.guide();\r\n    },\r\n    getTranslateValues(element) {\r\n      var style = window.getComputedStyle(element);\r\n      var matrix = style.transform || style.webkitTransform || style.mozTransform;\r\n      var values = matrix.split('(')[1].split(')')[0].split(',');\r\n      return {\r\n        translateX: parseFloat(values[4]),\r\n        translateY: parseFloat(values[5])\r\n      };\r\n    },\r\n    sortLayout(sortItems, currentId) {\r\n      this.$nextTick(() => {\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        // const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n        const width = sortContainer.offsetWidth;\r\n        const item = sortItems[0];\r\n        const rect = item.getBoundingClientRect();\r\n        const cardNumPerRow = Math.floor(width / (rect.width + rect.width * 0.2));\r\n        this.cardNumPerRow = cardNumPerRow;\r\n        const cardCol = Math.ceil(sortItems.length / cardNumPerRow);\r\n        // 给sortContainer设置高度\r\n        sortContainer.style.height = rect.height * 1.2 * cardCol + 'px';\r\n        for (let i = 0; i < sortItems.length; i++) {\r\n          const item = sortItems[i];\r\n          const rect = item.getBoundingClientRect();\r\n          const rowIndex = Math.floor(i / cardNumPerRow);\r\n          const colIndex = i % cardNumPerRow;\r\n          const translateX = colIndex * rect.width + colIndex * rect.width * 0.2;\r\n          const translateY = rowIndex * rect.height + rowIndex * rect.height * 0.2;\r\n\r\n          let duration = 0.5;\r\n          if(currentId == item.id) {\r\n            duration = 0;\r\n            const translateX1 = Number(translateX / 0.8).toFixed(3);\r\n            const translateY1 = Number(translateY / 0.8).toFixed(3);\r\n            item.style.transform =\r\n              \"scale(0.8) translate(\" + translateX1 + \"px,\" + translateY1 + \"px)\";\r\n            setTimeout(() => {\r\n              item.style.transform =\r\n              \"scale(1) translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n              item.style.transition = `all ${0.3}s ease`;\r\n            }, 500);\r\n          } else {\r\n            item.style.transform =\r\n              \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n          }\r\n          // item.style.transform =\r\n          //     \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n          item.style.transition = `all ${duration}s ease-in-out`;\r\n          // if (duration || duration == 0) {\r\n          //   item.style.transition = `all ${duration}s ease-in-out`;\r\n          // } else {\r\n          //   item.style.transition = \"all 0.8s ease-in-out\";\r\n          // }\r\n        }\r\n        let timeout = setTimeout(() => {\r\n          this.isAnimationing = false;\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n        }, 1000);\r\n      });\r\n    },\r\n    updatePlaceholderLine(dragEndTarget, height) {\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      let sortContainerStyle = null;\r\n      if (window.getComputedStyle) {\r\n          sortContainerStyle = getComputedStyle(sortContainer);\r\n      } else {\r\n          sortContainerStyle = sortContainer.currentStyle;\r\n      }\r\n      const placeholderLine = document.getElementById(\"placeholderLine\");\r\n      const translates = this.getTranslateValues(dragEndTarget);\r\n      const translateX = translates.translateX;\r\n      const translateY = translates.translateY;\r\n\r\n      let sortContainerPT = sortContainerStyle.paddingTop;\r\n      if(sortContainerPT) {\r\n        sortContainerPT = parseFloat(sortContainerPT);\r\n      }\r\n      console.log(this.dragEndIndex, this.dragEndIndex == this.sortSlides.length - 1 || ((this.dragEndIndex + 1) % this.cardNumPerRow === 0));\r\n      if(this.dragEndIndex == this.sortSlides.length - 1 || ((this.dragEndIndex + 1) % this.cardNumPerRow === 0)) {\r\n        // 如果是拖动到最后一个或者每排的最后一个位置,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('updatePlaceholderLine:', translateX + dragEndTarget.offsetWidth * 1.2 + placeholderLine.offsetWidth / 2)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3) {\r\n          placeholderLine.style.left = `${translateX + dragEndTarget.offsetWidth * 1.2 + placeholderLine.offsetWidth / 2}px`;\r\n        } else {\r\n          if(translateX == 0) {\r\n            placeholderLine.style.left = `${13}px`;\r\n          } else {\r\n            placeholderLine.style.left = `${translateX + placeholderLine.offsetWidth / 2}px`;\r\n          }\r\n        }\r\n      } else {\r\n        if(translateX == 0) {\r\n          placeholderLine.style.left = `${13}px`;\r\n        } else {\r\n          placeholderLine.style.left = `${translateX + placeholderLine.offsetWidth / 2}px`;\r\n        }\r\n      }\r\n\r\n      placeholderLine.style.top = `${translateY + sortContainerPT + height * 0.1}px`;\r\n\r\n      // 判断拖动的位置是否在视觉范围内,不在的话需要滚动到能看见为止\r\n      const problemBox = document.getElementById(\"problemBox\");\r\n      const isInViewport = isChildFullyVisible(problemBox, dragEndTarget);\r\n      // 不可见，则滚动到可见区域\r\n      if(!isInViewport) {\r\n        dragEndTarget.scrollIntoView({\r\n          behavior: \"smooth\",\r\n          block: \"start\"\r\n        });\r\n      }\r\n    },\r\n    handleDragStart(e, item, index) {\r\n      try {\r\n        //  // 创建透明的1x1像素图像\r\n       const transparentImg = new Image();\r\n\r\n      // 1x1透明GIF的base64编码\r\n      transparentImg.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\r\n\r\n      // 设置为拖拽图像\r\n      if (e.dataTransfer.setDragImage) {\r\n        e.dataTransfer.setDragImage(transparentImg, 0, 0);\r\n        e.currentTarget.style.transition = 'none';\r\n      }\r\n      this.dragElement = e.currentTarget.cloneNode(true);\r\n      this.dragging = item;\r\n\r\n      // 计算鼠标位置与卡片左上角的偏移\r\n      const rect = e.currentTarget.getBoundingClientRect();\r\n      this.offsetX = e.clientX - rect.left;\r\n      this.offsetY = e.clientY - rect.top;\r\n\r\n      // 添加拖拽样式\r\n      this.dragElement.classList.add('dragging');\r\n      // 设置卡片位置\r\n      const width = rect.width;\r\n      const height = rect.height;\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const parentRect = sortContainer.getBoundingClientRect();\r\n      let computedStyle = null;\r\n      if (window.getComputedStyle) {\r\n          computedStyle = getComputedStyle(e.currentTarget);\r\n      } else {\r\n          computedStyle = e.currentTarget.currentStyle;//兼容IE的写法\r\n      }\r\n      e.currentTarget.style.setProperty('opacity', '0', 'important');\r\n\r\n      this.dragStartIndex = index;\r\n      this.dragEndIndex = index;\r\n\r\n      const marginLeft = parseFloat(computedStyle.marginLeft);\r\n      let newLeft = e.clientX - parentRect.left - this.offsetX - marginLeft * 0.5;\r\n      let newTop = e.clientY - parentRect.top - this.offsetY;\r\n      this.dragElement.style.position = 'absolute';\r\n      this.dragElement.style.left = `${newLeft}px`;\r\n      this.dragElement.style.top = `${newTop}px`;\r\n      this.dragElement.style.width = `${width}px`;\r\n      this.dragElement.style.height = `${height}px`;\r\n      this.dragElement.style.zIndex = '10000';\r\n      this.dragElement.style.pointerEvents = 'none';\r\n      this.dragElement.style.transform = 'scale(1)';\r\n      this.dragElement.style.transition = 'all 0.2s ease';\r\n      this.dragElement.style.boxShadow = '0 13px 30px rgba(40,86,110,0.4)';\r\n      sortContainer.appendChild(this.dragElement);\r\n\r\n      const placeholderLine = document.getElementById(\"placeholderLine\");\r\n      placeholderLine.style.display = 'block';\r\n      // 更新竖线位置\r\n      this.$nextTick(() => {\r\n        placeholderLine.style.height = `${height * 0.8}px`;\r\n        const dragEndTarget = document.getElementById(item.course_question_id);\r\n        this.updatePlaceholderLine(dragEndTarget, height);\r\n        let newLeft = e.clientX - parentRect.left - this.offsetX - width * 0.1 - marginLeft * 0.5;\r\n        let newTop = e.clientY - parentRect.top - this.offsetY - height  * 0.1;\r\n        this.dragElement.style.left = `${newLeft}px`;\r\n        this.dragElement.style.top = `${newTop}px`;\r\n        this.dragElement.style.transform = 'scale(0.8)';\r\n        let timeout = setTimeout(() => {\r\n          this.dragElement.style.transition = 'none';\r\n          clearTimeout(timeout);\r\n        }, 200);\r\n        // const translate = this.getTranslateValues(e.currentTarget);\r\n        // const translateX = translate.translateX;\r\n        // const translateY = translate.translateY;\r\n        // console.log(\"translateX:\", translateX, translateY);\r\n        // e.currentTarget.style.opacity = '0 !important';\r\n\r\n      });\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n    },\r\n    handleDragEnd(e, item){\r\n      console.log(\"handleDragEnd:\", item.course_question_id)\r\n      try {\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        const newItems = [...this.sortSlides];\r\n        if(((this.dragEndIndex + 1) % this.cardNumPerRow === 0)) {\r\n          // 如果是拖动到每排最后一个元素,并且拖动位置大于最后一个元素宽度的0.3\r\n          const dragElementRect = this.dragElement.getBoundingClientRect();\r\n          const dragElementX = dragElementRect.x;\r\n          const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_question_id);\r\n          const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n          const dragEndTargetX = dragEndTargetRect.x;\r\n          console.log('handleDragEnd:', dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex)\r\n          if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n            newItems.splice(this.dragEndIndex + 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n          } else if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex > this.dragStartIndex) {\r\n            newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n          } else if(dragElementX <= dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n            newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n          } else {\r\n            newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n          }\r\n        } else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex < this.sortSlides.length - 1) {\r\n          newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n        else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex === this.sortSlides.length - 1) {\r\n          // 如果是拖动到最后一个,并且拖动位置大于最后一个元素宽度的0.3\r\n          const dragElementRect = this.dragElement.getBoundingClientRect();\r\n          const dragElementX = dragElementRect.x;\r\n          const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_question_id);\r\n          const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n          const dragEndTargetX = dragEndTargetRect.x;\r\n          console.log('handleDragEnd:', dragElementX,  dragEndTargetX, dragEndTargetRect.width * 0.5, dragEndTargetRect)\r\n          if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3) {\r\n            newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n          } else {\r\n            newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n          }\r\n        }\r\n        else {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n        this.sortSlides = [...newItems];\r\n        e.currentTarget.style.opacity = 1;\r\n        sortContainer.removeChild(this.dragElement);\r\n        this.dragging = null;\r\n        const placeholderLine = document.getElementById(\"placeholderLine\");\r\n        placeholderLine.style.display = 'none';\r\n\r\n        const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n        const idArray = Array.from(sortItems, item => item.id);\r\n        let newSortItems = [...sortItems];\r\n        newItems.forEach((item, index) => {\r\n          const id = item.course_question_id;\r\n          const targetIndex = idArray.findIndex(item1 => item1 == id);\r\n          newSortItems[index] = sortItems[targetIndex];\r\n        });\r\n        // newSortItems.splice(this.dragEndIndex, 0, ...newSortItems.splice(this.dragStartIndex, 1));\r\n        // originSortSlides的index进行修改\r\n        const newIdArray = Array.from(newSortItems, item => item.id);\r\n        this.originSortSlides.forEach((item, index) => {\r\n          const id = item.course_question_id;\r\n          const targetIndex = newIdArray.findIndex(item1 => item1 == id);\r\n          this.$set(item, 'idx', targetIndex);\r\n        });\r\n        console.log(\"originSortSlides:\",  this.originSortSlides)\r\n        this.sortLayout(newSortItems, item.course_question_id);\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n\r\n    },\r\n    //首先把div变成可以放置的元素，即重写dragenter/dragover\r\n    handleDragOver(e, item) {\r\n      try {\r\n         // e.dataTransfer.dropEffect = 'move'; // e.dataTransfer.dropEffect=\"move\";//在dragenter中针对放置目标来设置!\r\n        const rect = e.currentTarget.getBoundingClientRect();\r\n        if (!this.dragElement) return;\r\n        // 计算子元素新位置（相对于父元素左上角）\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        const parentRect = sortContainer.getBoundingClientRect();\r\n        let newLeft = e.clientX - parentRect.left - this.offsetX;\r\n        let newTop = e.clientY - parentRect.top - this.offsetY;\r\n\r\n        // 限制在父元素内\r\n        // newLeft = Math.max(0, Math.min(newLeft, parentRect.width - draggable.offsetWidth));\r\n        // newTop = Math.max(0, Math.min(newTop, parentRect.height - draggable.offsetHeight));\r\n        // 更新卡片位置\r\n        this.dragElement.style.left = `${newLeft}px`;\r\n        this.dragElement.style.top = `${newTop}px`;\r\n\r\n        // 更新竖线位置\r\n        const dragEndTarget = document.getElementById(item.course_question_id);\r\n        if(dragEndTarget) {\r\n          this.updatePlaceholderLine(dragEndTarget, parseFloat(this.dragElement.style.height));\r\n        }\r\n        console.log(\"handleDragOver:\", this.dragStartIndex, this.dragEndIndex);\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n\r\n    },\r\n    handleDragEnter(e,item) {\r\n      try {\r\n        e.dataTransfer.effectAllowed = \"move\"; //为需要移动的元素设置dragstart事件\r\n        // if(item === this.dragging){\r\n        //   return;\r\n        // }\r\n        const newItems = [...this.sortSlides];\r\n        const src = newItems.indexOf(this.dragging);\r\n        const dst = newItems.indexOf(item);\r\n        this.dragStartIndex = src;\r\n        this.dragEndIndex = dst;\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n\r\n    },\r\n    handleTouchStart(e, item, index) {\r\n      try {\r\n        const touch = e.touches[0];\r\n        this.dragElement = e.currentTarget.cloneNode(true);\r\n        this.dragging = item;\r\n\r\n        // 计算鼠标位置与卡片左上角的偏移\r\n        const rect = e.currentTarget.getBoundingClientRect();\r\n        this.offsetX = touch.pageX - rect.left;\r\n        this.offsetY = touch.pageY - rect.top;\r\n\r\n        // 添加拖拽样式\r\n        this.dragElement.classList.add('dragging');\r\n        // 设置卡片位置\r\n        const width = rect.width;\r\n        const height = rect.height;\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        const parentRect = sortContainer.getBoundingClientRect();\r\n        let computedStyle = null;\r\n        if (window.getComputedStyle) {\r\n            computedStyle = getComputedStyle(e.currentTarget);\r\n        } else {\r\n            computedStyle = e.currentTarget.currentStyle;//兼容IE的写法\r\n        }\r\n        e.currentTarget.style.setProperty('opacity', '0', 'important');\r\n\r\n        this.dragStartIndex = index;\r\n        this.dragEndIndex = index;\r\n\r\n        const marginLeft = parseFloat(computedStyle.marginLeft);\r\n        let newLeft = touch.pageX - parentRect.left - this.offsetX - marginLeft * 0.5;\r\n        let newTop = touch.pageY - parentRect.top - this.offsetY;\r\n        this.dragElement.style.position = 'absolute';\r\n        this.dragElement.style.left = `${newLeft}px`;\r\n        this.dragElement.style.top = `${newTop}px`;\r\n        this.dragElement.style.width = `${width}px`;\r\n        this.dragElement.style.height = `${height}px`;\r\n        this.dragElement.style.zIndex = '10000';\r\n        this.dragElement.style.pointerEvents = 'none';\r\n        this.dragElement.style.transform = 'scale(1)';\r\n        this.dragElement.style.transition = 'all 0.2s ease';\r\n        this.dragElement.style.boxShadow = '0 13px 30px rgba(40,86,110,0.4)';\r\n        sortContainer.appendChild(this.dragElement);\r\n\r\n        const placeholderLine = document.getElementById(\"placeholderLine\");\r\n        placeholderLine.style.display = 'block';\r\n        // 更新竖线位置\r\n        this.$nextTick(() => {\r\n          placeholderLine.style.height = `${height * 0.8}px`;\r\n          const dragEndTarget = document.getElementById(item.course_question_id);\r\n          this.updatePlaceholderLine(dragEndTarget, height);\r\n          let newLeft = touch.pageX - parentRect.left - this.offsetX - width * 0.1 - marginLeft * 0.5;\r\n          let newTop = touch.pageY - parentRect.top - this.offsetY - height  * 0.1;\r\n          this.dragElement.style.left = `${newLeft}px`;\r\n          this.dragElement.style.top = `${newTop}px`;\r\n          this.dragElement.style.transform = 'scale(0.8)';\r\n          let timeout = setTimeout(() => {\r\n            this.dragElement.style.transition = 'none';\r\n            clearTimeout(timeout);\r\n          }, 200);\r\n          // const translate = this.getTranslateValues(e.currentTarget);\r\n          // const translateX = translate.translateX;\r\n          // const translateY = translate.translateY;\r\n          // console.log(\"translateX:\", translateX, translateY);\r\n          // e.currentTarget.style.opacity = '0 !important';\r\n\r\n        });\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n    },\r\n    handleTouchMove(e,item, index) {\r\n      try {\r\n        // e.dataTransfer.dropEffect = 'move'; // e.dataTransfer.dropEffect=\"move\";//在dragenter中针对放置目标来设置!\r\n        const touch = e.touches[0];\r\n        // const rect = e.currentTarget.getBoundingClientRect();\r\n        if (!this.dragElement) return;\r\n        // 计算子元素新位置（相对于父元素左上角）\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        const parentRect = sortContainer.getBoundingClientRect();\r\n        let newLeft = touch.pageX - parentRect.left - this.offsetX;\r\n        let newTop = touch.pageY - parentRect.top - this.offsetY;\r\n\r\n        // 限制在父元素内\r\n        // newLeft = Math.max(0, Math.min(newLeft, parentRect.width - draggable.offsetWidth));\r\n        // newTop = Math.max(0, Math.min(newTop, parentRect.height - draggable.offsetHeight));\r\n        // 更新卡片位置\r\n        this.dragElement.style.left = `${newLeft}px`;\r\n        this.dragElement.style.top = `${newTop}px`;\r\n        const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n        // 找到拖动项应该插入的位置\r\n        let nextItem = null;\r\n        let flag = false;\r\n        for(let i = 0; i < sortItems.length; i++) {\r\n          const item = sortItems[i];\r\n          const rect = item.getBoundingClientRect();\r\n          if(!flag && rect.top < touch.pageY && touch.pageY < rect.top + rect.height && rect.left < touch.pageX && touch.pageX < rect.left + rect.width && i != index) {\r\n            // this.dragEndIndex = i;\r\n            flag = true;\r\n            nextItem = this.originSortSlides[i];\r\n            break;\r\n          }\r\n        }\r\n        if(nextItem) {\r\n          const newItems = [...this.sortSlides];\r\n          const src = newItems.indexOf(this.dragging);\r\n          const dst = newItems.indexOf(nextItem);\r\n          this.dragStartIndex = src;\r\n          this.dragEndIndex = dst;\r\n\r\n          // 更新竖线位置\r\n          const dragEndTarget = document.getElementById(nextItem.course_question_id);\r\n          console.log(nextItem.course_question_id)\r\n          if(dragEndTarget) {\r\n            this.updatePlaceholderLine(dragEndTarget, parseFloat(this.dragElement.style.height));\r\n          }\r\n        }\r\n\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n\r\n    },\r\n    handleTouchend(e, item) {\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const newItems = [...this.sortSlides];\r\n      if(((this.dragEndIndex + 1) % this.cardNumPerRow === 0)) {\r\n        // 如果是拖动到每排最后一个元素,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_question_id);\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('handleDragEnd:', dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex + 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex > this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else if(dragElementX <= dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else {\r\n          newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n      } else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex < this.sortSlides.length - 1) {\r\n        newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      }\r\n      else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex === this.sortSlides.length - 1) {\r\n        // 如果是拖动到最后一个,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_question_id);\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('handleDragEnd:', dragElementX,  dragEndTargetX, dragEndTargetRect.width * 0.5, dragEndTargetRect)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else {\r\n          newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n      }\r\n      else {\r\n        newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      }\r\n      // newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      this.sortSlides = [...newItems];\r\n      e.currentTarget.style.opacity = 1;\r\n      sortContainer.removeChild(this.dragElement);\r\n      this.dragging = null;\r\n      const placeholderLine = document.getElementById(\"placeholderLine\");\r\n      placeholderLine.style.display = 'none';\r\n\r\n      const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n      const idArray = Array.from(sortItems, item => item.id);\r\n      let newSortItems = [...sortItems];\r\n      newItems.forEach((item, index) => {\r\n        const id = item.course_question_id;\r\n        const targetIndex = idArray.findIndex(item1 => item1 == id);\r\n        newSortItems[index] = sortItems[targetIndex];\r\n      });\r\n      // newSortItems.splice(this.dragEndIndex, 0, ...newSortItems.splice(this.dragStartIndex, 1));\r\n      // originSortSlides的index进行修改\r\n      const newIdArray = Array.from(newSortItems, item => item.id);\r\n      this.originSortSlides.forEach((item, index) => {\r\n        const id = item.course_question_id;\r\n        const targetIndex = newIdArray.findIndex(item1 => item1 == id);\r\n        this.$set(item, 'idx', targetIndex);\r\n      });\r\n      this.sortLayout(newSortItems, item.course_question_id);\r\n    },\r\n    handleMouseStart(event, item, index) {\r\n      event.touches = [{\r\n          pageX: event.pageX,\r\n          pageY: event.pageY,\r\n        }];\r\n        this.handleTouchStart(event, item, index);\r\n    },\r\n    handleMouseEnd(event, item) {\r\n      event.touches = [{\r\n          pageX: event.pageX,\r\n          pageY: event.pageY,\r\n        }];\r\n        this.handleTouchend(event, item);\r\n    },\r\n    async finish() {\r\n      try {\r\n        if(this.isAnimationing) {\r\n          return;\r\n        }\r\n        // 调用排序方法，后重新请求接口 setUserQuestionSort\r\n        let question_ids = this.sortSlides.map(item => item.course_question_id);\r\n        const params = {\r\n          question_ids\r\n        };\r\n        const res = await setUserQuestionSort(params);\r\n        if(res && res.code == 0) {\r\n          this.isSorting = false;\r\n          this.getQuestionList();\r\n        }\r\n      } catch (error) {\r\n\r\n      }\r\n    },\r\n    cancel() {\r\n      if(this.isAnimationing) {\r\n        return;\r\n      }\r\n      this.sortSlides = this.slides.slice(0, this.slides.length);\r\n      this.initSortContaier();\r\n      this.isSorting = false;\r\n    },\r\n    initSortContaier() {\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n      for (let i = 0; i < sortItems.length; i++) {\r\n        const item = sortItems[i];\r\n        item.style.transform =\r\n            \"translate(\" + 0 + \"px,\" + 0 + \"px)\";\r\n        item.style.transition = `all ${0}s ease-in-out`;\r\n      }\r\n    },\r\n    startSortCallback() {\r\n      this.isSorting = true;\r\n      this.isAnimationing = true;\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n      this.sortLayout(sortItems);\r\n    },\r\n    startSort() {\r\n      if(this.slides.length == 0) {\r\n        this.$message.warning(\"请添加本课问题推荐\");\r\n        return;\r\n      } else if(this.slides.length == 1) {\r\n        this.$message.warning(\"请添加更多本课问题推荐\");\r\n        return;\r\n      }\r\n      this.isSorting = true;\r\n      this.$nextTick(() => {\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n        const width = sortContainer.offsetWidth;\r\n        const item = sortItems[0];\r\n        const rect = item.getBoundingClientRect();\r\n\r\n        const cardNumPerRow = Math.floor(width / (rect.width + rect.width * 0.2));\r\n        const cardCol = Math.ceil(sortItems.length / cardNumPerRow);\r\n        console.log(\"startSort:\", rect, cardNumPerRow, cardCol, rect.height * 1.2 * cardCol + 'px');\r\n        // 给sortContainer设置高度\r\n        sortContainer.style.height = rect.height * 1.2 * cardCol + 'px';\r\n        this.animationAndCallBack(this.startSortCallback);\r\n      })\r\n    },\r\n    initStatus() {\r\n      this.slides.forEach((item, index) => {\r\n        item.index = index + 1;\r\n        const course_question_id = item.course_question_id;\r\n        if (\r\n          this.progress_see_question_ids.indexOf(course_question_id) >\r\n            -1 &&\r\n          this.courseIsuseradd != 3\r\n        ) {\r\n          this.$set(item, \"status\", 1);\r\n        } else if (\r\n          this.progress_see_question_ids.indexOf(course_question_id) <=\r\n            -1 &&\r\n          this.courseIsuseradd != 3\r\n        ) {\r\n          this.$set(item, \"status\", 0);\r\n        } else {\r\n          // 示例笔记全部已读\r\n          this.$set(item, \"status\", 1);\r\n        }\r\n        // 官方或者示例笔记\r\n        if (\r\n          item.course_question_isuseradd === 2 ||\r\n          this.courseIsuseradd == 3\r\n        ) {\r\n          this.isUser = false;\r\n        }\r\n      });\r\n      this.$store.dispatch(\"setQuestionList\", this.slides);\r\n      this.sortSlides = this.slides.filter((item) => item.course_question_isuseradd == 1);\r\n      this.originSortSlides = this.slides.filter((item) => item.course_question_isuseradd == 1);\r\n      // 只要有一个不是官方课程的则显示排序\r\n      this.showSort = this.slides.some((item) => item.course_question_isuseradd == 1);\r\n      // this.sortSlides = this.slides.slice(0, this.slides.length);\r\n      // this.originSortSlides = this.slides.slice(0, this.slides.length);\r\n      this.originSortSlides.forEach((item, index) => {\r\n        this.$set(item, 'idx', index);\r\n      })\r\n      let len = this.progress_see_question_ids\r\n        ? this.progress_see_question_ids.split(\",\").length\r\n        : 0;\r\n      this.seePercent =\r\n        parseFloat(len / this.slides.length).toFixed(2) * 100;\r\n    },\r\n    disibledHideMask() {\r\n      this.clickBigCard = true;\r\n\r\n      this.timeValueDisibled = setTimeout(() => {\r\n        this.clickBigCard = false;\r\n      }, 300);\r\n    },\r\n    // 添加问题\r\n    showAddQuestion() {\r\n      if (this.slides && this.slides.length >= 15) {\r\n        this.$message.warning(\"最多只允许添加15个大问题\");\r\n        // this.$alert(\"<strong>最多只允许添加15个大问题。</strong>\", \"提示\", {\r\n        //   dangerouslyUseHTMLString: true,\r\n        //   customClass: \"confirmClass\"\r\n        // });\r\n      } else {\r\n        this.isEdit = false;\r\n        this.showEditDialog = true;\r\n        this.selectData = null;\r\n        this.selectIndex = null;\r\n      }\r\n    },\r\n    back() {\r\n      this.back1();\r\n    },\r\n    back1() {\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      const isContained = this.historyOperate.some((item) => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n\r\n      if (isContained) {\r\n        this.$router.replace(\"/\");\r\n      } else {\r\n        this.$router.back();\r\n      }\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    getQuestionList() {\r\n      return new Promise((resolve) => {\r\n        getQuestionList({\r\n          course_id: this.course_id,\r\n          small_list: 1,\r\n        }).then((res) => {\r\n          if (res && res.code === 0) {\r\n            this.isUser = true;\r\n            this.slides = res.data;\r\n            this.initStatus();\r\n\r\n            // if (!this.inited) {\r\n            //   this.init();\r\n            // }\r\n            this.init();\r\n\r\n            // ✅ 数据加载后在下一个tick强制Swiper重新计算布局，确保centeredSlides正确居中\r\n            // 并让当前选中的卡片（或默认第一个卡片）居中显示\r\n            this.$nextTick(() => {\r\n              if (this.$refs.mySwiper && this.$refs.mySwiper.swiper) {\r\n                const swiper = this.$refs.mySwiper.swiper;\r\n                swiper.update();\r\n                // 初始化选中并居中：如果有selectIndex则居中该卡片，否则居中第一个\r\n                const targetIndex = (this.selectIndex != null && this.selectIndex != undefined)\r\n                  ? this.selectIndex\r\n                  : 0;\r\n                swiper.slideTo(targetIndex, 0, false); // 立即跳转，无动画\r\n              }\r\n            });\r\n\r\n            resolve();\r\n          }\r\n        });\r\n      });\r\n    },\r\n\r\n    // 大卡片放大缩小状态切换\r\n    triggerBigCardStatus(targetStatus) {\r\n      if(this.isTriggerBigCarding) {\r\n        return;\r\n      }\r\n      if(targetStatus === 'big') {\r\n        this.isTriggerBigCarding = true;\r\n      }\r\n\r\n      try {\r\n\r\n        if(this.timeValueForCopyBigPosition) {\r\n          clearTimeout(this.timeValueForCopyBigPosition);\r\n          this.timeValueForCopyBigPosition = null;\r\n        }\r\n        if(this.timeValueForValue) {\r\n          clearTimeout(this.timeValueForValue);\r\n          this.timeValueForValue = null;\r\n        }\r\n\r\n        const selectData = this.selectData;\r\n        if(!selectData) {\r\n          return;\r\n        }\r\n        const bigCardType = selectData.course_question_small && selectData.course_question_small.length;\r\n\r\n        const $countDown = this.$refs.countDown;\r\n        const $swiperPagination = this.$refs.swiperPagination || {style:{}};\r\n        const $btnAddQuestion = this.$refs.btnAddQuestion || {style:{}};\r\n        if($countDown) {\r\n          $countDown.style.transition = 'all 0.2s';\r\n        }\r\n        //$swiperPagination.style.transition = 'all 0.5s ease 0s';\r\n        $btnAddQuestion.style.transition = 'all 0.5s ease 0s';\r\n\r\n        const $problemBox = document.getElementById(\"problemBox\");\r\n        const $box = this.$refs.box;\r\n        const $selectEl = this.$selectEl || document.getElementById(`slide${this.selectIndex}`);;\r\n        const boxOffset = $box.getBoundingClientRect();\r\n        const boxScrollY = $box.scrollTop;\r\n        const offset = $selectEl.getBoundingClientRect();\r\n        const $copyBig = document.getElementById('copyBig');\r\n        $copyBig.style.position = 'static';\r\n        // $copyBig.style.transition = 'none';\r\n        $copyBig.style.transformOrigin = 'center';\r\n        $copyBig.style.marginLeft = '50%';\r\n        $copyBig.style.transform = 'translate(-50%, 0)';\r\n        const scrollY = window.pageYOffset || document.documentElement.scrollTop;\r\n        // const top = offset.y - boxOffset.y + $problemBox.scrollTop;\r\n        const top = offset.y + scrollY;\r\n\r\n        // 复制的卡片默认大与\r\n        const defaultSize = () => {\r\n          const width = offset.width - 42;\r\n          $copyBig.style.marginTop = top + 21 + 'px'; //window.scrollY\r\n          $copyBig.style.width = width + 'px';\r\n          $copyBig.style.height = offset.height/offset.width * width + 'px';\r\n          $copyBig.style.opacity = 0.4;\r\n        }\r\n\r\n        // 放大后的卡片大小\r\n        const bigSize = () => {\r\n          $copyBig.style.opacity = 1;\r\n          // 没有小问题的，卡片仅只是等比例稍微放大\r\n          if(!bigCardType) {\r\n            let height = offset.height + 80;\r\n            $copyBig.style.height = height + 'px';\r\n            $copyBig.style.width = height * (offset.width / offset.height) + 'px';\r\n            $copyBig.style.marginTop = top - (height - offset.height)/2 + 'px';\r\n          }\r\n          // 有小问题的，卡片显示最大，不需要等比例\r\n          else {\r\n            let height = document.body.clientHeight - 400;\r\n            height = height < 400 ? 400 : height;\r\n            $copyBig.style.width = '70vw';\r\n            $copyBig.style.marginTop = '6%';\r\n            $copyBig.style.height = '77%';\r\n          }\r\n        }\r\n\r\n        // 放大\r\n        if(targetStatus === 'big') {\r\n          if($countDown) {\r\n            $countDown.style.opacity = 0;\r\n          }\r\n          $swiperPagination.style.opacity = 1;\r\n          $btnAddQuestion.style.opacity = 1;\r\n\r\n          $copyBig.parentNode.style.display = 'block';\r\n          $copyBig.parentNode.style.height = '100%';\r\n\r\n          defaultSize();\r\n\r\n          this.timeValueForCopyBigPosition = setTimeout(() => {\r\n            if($countDown) {\r\n              $countDown.style.opacity = 1;\r\n            }\r\n            $swiperPagination.style.opacity = 0;\r\n            $btnAddQuestion.style.opacity = 0;\r\n\r\n            $copyBig.style.transition = 'all 0.5s ease 0s';\r\n            bigSize();\r\n            clearTimeout(this.timeValueForCopyBigPosition);\r\n            this.timeValueForCopyBigPosition = null;\r\n          }, 10)\r\n\r\n          // 设置变量,等动画结整后\r\n          this.timeValueForValue = setTimeout(() => {\r\n            this.isTriggerBigCarding = false;\r\n            clearTimeout(this.timeValueForValue);\r\n            this.timeValueForValue = null;\r\n          }, 510)\r\n        }\r\n        //缩小\r\n        else {\r\n          if($countDown) {\r\n            $countDown.style.opacity = 0;\r\n          }\r\n          $swiperPagination.style.opacity = 1;\r\n          $btnAddQuestion.style.opacity = 1;\r\n          console.log(\"targetStatus\")\r\n\r\n          $copyBig.style.transition = 'all 0.5s ease 0s';\r\n          defaultSize();\r\n\r\n          // 设置变量,等动画结整后\r\n          this.timeValueForValue = setTimeout(() => {\r\n            $copyBig.parentNode.style.display = 'none';\r\n            this.isTriggerBigCarding = false;\r\n            clearTimeout(this.timeValueForValue);\r\n            this.timeValueForValue = null;\r\n          }, 500)\r\n        }\r\n      } catch (error) {\r\n        console.log('CommitProblem', error);\r\n      }\r\n    },\r\n    select(selectIndex) {\r\n      let data;\r\n      if(this.commitProblemGuideStatus === 1 ) {\r\n        data = this.slides;\r\n      }\r\n      else if(this.commitProblemGuideStatus === 0) {\r\n        data = this.guideSlides;\r\n      }\r\n      if(!(data && data[selectIndex])) {\r\n        return;\r\n      }\r\n\r\n      this.selectData = data[selectIndex];\r\n      this.selectIndex = selectIndex;\r\n      this.$selectEl = document.getElementById(`slide${selectIndex}`);\r\n    },\r\n\r\n    setCardStatus(currIndex, status) {\r\n      this.cardsStatus = this.cardsStatus || {};\r\n      this.cardsStatus[currIndex] = status;\r\n    },\r\n    closeAllCard(currIndex) {\r\n      this.cardsStatus = this.cardsStatus || {};\r\n      let key;\r\n      for(key in this.cardsStatus) {\r\n        // if(this.closeTimeValue[key]) {\r\n        //   for(let timeName in this.closeTimeValue[key]) {\r\n        //     if(this.closeTimeValue[key][timeName]) {\r\n        //       clearTimeout(this.closeTimeValue[key][timeName]);\r\n        //       this.closeTimeValue[key][timeName] = null;\r\n        //     }\r\n        //   }\r\n        // }\r\n        if(this.cardsStatus[key] && this.cardsStatus[key] !== 'closed' && this.cardsStatus[key] !== 'closeing' && parseInt(currIndex, 10) !== parseInt(key, 10)) {\r\n          this.hidemask(null, key);\r\n        }\r\n      }\r\n    },\r\n\r\n    clearAllAnimation() {\r\n      if(this.openCardTimeout1) {\r\n        clearTimeout(this.openCardTimeout1);\r\n      }\r\n      if(this.openCardTimeout2) {\r\n        clearTimeout(this.openCardTimeout2);\r\n      }\r\n      if(this.openCardTimeout3) {\r\n        clearTimeout(this.openCardTimeout3);\r\n      }\r\n      this.openCardTimeout1 = null;\r\n      this.openCardTimeout2 = null;\r\n      this.openCardTimeout3 = null;\r\n      this.timerCount = 0;\r\n      if(this.timeout3) {\r\n        clearTimeout(this.timeout3);\r\n      }\r\n      this.timeout3 = null;\r\n    },\r\n\r\n    openCard() {\r\n\r\n      this.isOpenCard = true;\r\n      const selectIndex = this.selectIndex || 0;\r\n      const selectData = this.selectData;\r\n\r\n      this.closeAllCard(selectIndex);\r\n\r\n      this.setCardStatus(selectIndex, 'opening');\r\n\r\n      const elBottom = document.getElementById(`elBottom${selectIndex}`);\r\n      const elTop = document.getElementById(`elTop${selectIndex}`);\r\n      const elAfter = document.getElementById(`elAfter${selectIndex}`);\r\n\r\n      // 第一步动画，初始 elBottom蓝色 elTop白色\r\n      elBottom.style.transform = \"rotateX(0deg)\";\r\n      elBottom.style.transition = \"transform 0s\";\r\n      elTop.style.transform = \"rotateX(-0.5turn)\";\r\n      elTop.style.transition = \"transform 0s\";\r\n      elAfter.style.zIndex = 1;\r\n\r\n      this.openCardTimeout1 = setTimeout(() => {\r\n        clearTimeout(this.openCardTimeout1);\r\n        this.openCardTimeout1 = null;\r\n        const vm = this;\r\n\r\n        // 第二步动画\r\n        elBottom.style.transform = \"rotateX(0.5turn)\";\r\n        elBottom.style.transition = \"transform 0.8s\";\r\n        elTop.style.transform = \"rotateX(0deg)\";\r\n        elTop.style.transition = \"transform 0.8s\";\r\n        elBottom.style.zIndex = 2;\r\n        elTop.style.zIndex = 1;\r\n\r\n        // 第三步动画\r\n        this.openCardTimeout2 = setTimeout(function () {\r\n          elAfter.style.zIndex = 3;\r\n          elBottom.style.zIndex = 1;\r\n          elTop.style.zIndex = 2;\r\n          clearTimeout(this.openCardTimeout2);\r\n          this.openCardTimeout2 = null;\r\n        }, 300);\r\n\r\n        // 第四步动画放大卡片\r\n        this.openCardTimeout3 = setTimeout(() => {\r\n          this.setCardStatus(selectIndex, 'opened');\r\n          if(selectIndex === this.selectIndex) {\r\n            this.triggerBigCardStatus('big');\r\n          }\r\n          // else {\r\n          //   this.setCardStatus(selectIndex, 'closeing');\r\n          //   this.hidemask(null, selectIndex);\r\n          // }\r\n          this.isOpenCard = false;\r\n          clearTimeout(this.openCardTimeout3);\r\n          this.openCardTimeout3 = null;\r\n        }, 900);\r\n\r\n        vm.timerCount = 0;\r\n        // 如果是自定义的，则显示添加问题\r\n        console.log(vm.isUser, selectData.status, vm.courseIsuseradd)\r\n        console.log(!vm.isUser &&\r\n          selectData &&\r\n          selectData.status != 1 &&\r\n          vm.courseIsuseradd != 3)\r\n        if (\r\n          !vm.isUser &&\r\n          selectData &&\r\n          selectData.status != 1 &&\r\n          vm.courseIsuseradd != 3\r\n        ) {\r\n          if(vm.timeout3) {\r\n            clearTimeout(vm.timeout3);\r\n            vm.timeout3 = null;\r\n          }\r\n          if(vm.openCardInterval) {\r\n            clearInterval(vm.openCardInterval);\r\n            vm.openCardInterval = null;\r\n          }\r\n          vm.timeout3 = setTimeout(function () {\r\n            vm.openCardInterval = setInterval(() => {\r\n              vm.timerCount++;\r\n              vm.percent = (vm.timerCount / 3) * 100;\r\n              if (vm.timerCount == 3) {\r\n                clearInterval(vm.openCardInterval);\r\n                vm.openCardInterval = null;\r\n                let timeout1 = setTimeout(() => {\r\n                  vm.setQuestionRead(\r\n                    vm.course_id,\r\n                    selectData.course_question_id\r\n                  );\r\n                  clearTimeout(timeout1);\r\n                }, 500);\r\n              }\r\n            }, 1000);\r\n            clearTimeout(vm.timeout3);\r\n          }, 200);\r\n        }\r\n      }, 100);\r\n    },\r\n\r\n    // 添加问题成功\r\n    addUserQuestion(data) {\r\n      let course_question_id = data.course_question_id;\r\n      this.getQuestionList().then(() => {\r\n        this.slides.forEach((item, index) => {\r\n          if (course_question_id == item.course_question_id) {\r\n            this.selectData = item;\r\n            this.clickSlide(index)\r\n          }\r\n        });\r\n        this.init();\r\n      });\r\n    },\r\n    // 编辑问题成功\r\n    editUserQuestion(data) {\r\n      this.hidemask();\r\n      // 编辑找到这条数据，并替换\r\n      const course_question_id = data.course_question_id;\r\n      this.getQuestionList().then(() => {\r\n        this.slides.forEach((item, index) => {\r\n          if (course_question_id === item.course_question_id) {\r\n            this.selectData = item;\r\n\r\n          }\r\n        });\r\n      });\r\n    },\r\n    clickSlide(activeIndex) {\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      if (activeIndex || activeIndex === 0) {\r\n        this.selectedData = this.slides[activeIndex];\r\n        this.swiper.realIndex = activeIndex;\r\n        this.swiper.activeIndex = activeIndex;\r\n        this.swiper.slideTo(activeIndex);\r\n        let slides = swiper.slides;\r\n        for (let i = 0; i < slides.length; i++) {\r\n          const slide = slides[i];\r\n          slide.style.transform = `scale(${1})`;\r\n        }\r\n\r\n        swiper.slides[activeIndex].style.transform = `scale(${1.1})`;\r\n        // this.$store\r\n        //   .dispatch(\"setMoralComprehend\", this.selectedData)\r\n        //   .then(() => {});\r\n      }\r\n    },\r\n    init() {\r\n      this.inited = true;\r\n      const vm = this;\r\n      let clickCopyBig = false;\r\n      this.$nextTick(() => {\r\n        for (let i = 0; i < this.slides.length; i++) {\r\n          const elBefore = document.getElementById(`elBefore${i}`);\r\n          const elBottom = document.getElementById(`elBottom${i}`);\r\n          const elTop = document.getElementById(`elTop${i}`);\r\n          // const elAfter = document.getElementById(`elAfter${i}`);\r\n          // elAfter.style.zIndex = 1;\r\n\r\n          // elTop.style.transform = \"rotateX(-0.5turn)\";\r\n          // elTop.style.transition = \"transform 0s\";\r\n\r\n          // mouseover事件\r\n          elBefore.addEventListener(\"mouseover\", function (e) {\r\n            if (!vm.isMoving) {\r\n              elBottom.style.transform = \"rotateX(30deg) scaleY(0.9)\";\r\n              elBottom.style.transition = \"transform 0.5s\";\r\n            }\r\n          });\r\n          elBefore.addEventListener(\"mouseout\", function (e) {\r\n            clickCopyBig = false;\r\n            if (!vm.isMoving) {\r\n              elBottom.style.transform = \"rotateX(0deg) scaleY(1)\";\r\n              elBottom.style.transition = \"transform 0.5s\";\r\n            }\r\n          });\r\n        }\r\n        this.initSortContaier();\r\n      });\r\n\r\n      const copyBig = document.getElementById(\"copyBig\");\r\n      copyBig.addEventListener(\"click\", () => {\r\n        clickCopyBig = true;\r\n        this.hidemask();\r\n      });\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({ course_id: this.course_id }, { silent: true });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0]).then(() => {});\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getCourseBase() {\r\n      try {\r\n        if(this.course_id) {\r\n          let canAccessYouTube = 1;\r\n          if(this.canAccessYouTube) {\r\n            canAccessYouTube = 1;\r\n          } else {\r\n            canAccessYouTube = 2;\r\n          }\r\n          const course = await getCourseBase({ course_id: this.course_id, network_type: canAccessYouTube }, { silent: true });\r\n          if (course.code === 0) {\r\n            this.$store.dispatch(\"setCourseBase\", course.data[0]);\r\n          }\r\n        }\r\n\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // toggle() {\r\n    //   this.fullscreen = !this.fullscreen;\r\n    // },\r\n    prev() {\r\n      this.changeFlag(this.swiper.activeIndex - 1);\r\n      this.swiper.slidePrev();\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      swiper.clickedIndex = undefined;\r\n    },\r\n    next() {\r\n      this.changeFlag(this.swiper.activeIndex + 1);\r\n      this.swiper.slideNext();\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      swiper.clickedIndex = undefined;\r\n    },\r\n    changeFlag(progress) {\r\n      if (progress <= 0) {\r\n        this.prevFlag = false;\r\n        this.nextFlag = true;\r\n      } else if (progress >= this.slides.length - 1) {\r\n        this.prevFlag = true;\r\n        this.nextFlag = false;\r\n      } else {\r\n        this.prevFlag = true;\r\n        this.nextFlag = true;\r\n      }\r\n    },\r\n    async setQuestionRead(courseId, questionId) {\r\n      try {\r\n        console.log(courseId, questionId, this.selectIndex)\r\n        const res = await setQuestionRead({\r\n          course_id: courseId,\r\n          question_id: questionId,\r\n          course_isuseradd: this.courseIsuseradd\r\n        }, { silent: true });\r\n        console.log(res)\r\n        if (res && res.code == 0) {\r\n          this.$set(this.slides[this.selectIndex], \"status\", 1);\r\n          this.getUserCourseProgress();\r\n          console.log(\"getCourseBase\")\r\n          this.getCourseBase();\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    guideElBeforeClick() {\r\n      const elBottom = document.getElementById(`elBottom0`);\r\n      const elTop = document.getElementById(`elTop0`);\r\n      const elAfter = document.getElementById(`elAfter0`);\r\n      elBottom.style.transform = \"rotateX(0deg)\";\r\n      elBottom.style.transition = \"transform 0s\";\r\n      let timeout4 = setTimeout(() => {\r\n        clearTimeout(timeout4);\r\n        const vm = this;\r\n        elBottom.style.transform = \"rotateX(0.5turn)\";\r\n        elBottom.style.transition = \"transform 0.8s\";\r\n        elTop.style.transform = \"rotateX(0deg)\";\r\n        elTop.style.transition = \"transform 0.8s\";\r\n        let timeout3 = setTimeout(function () {\r\n          elAfter.style.zIndex = 3;\r\n          clearTimeout(timeout3);\r\n        }, 250);\r\n        let timeout = setTimeout(function () {\r\n          vm.showMask = true;\r\n          clearTimeout(timeout);\r\n        }, 700);\r\n      });\r\n    },\r\n    guideHideMaskNoComplete() {\r\n      this.hideMaskComplete(this.selectIndex);\r\n    },\r\n\r\n    hideMaskNoComplete(currIndex) {\r\n      this.hideMaskComplete(currIndex);\r\n    },\r\n\r\n    hideMaskComplete(currIndex) {\r\n      const selectIndex = currIndex >= 0 ? currIndex : this.selectIndex;\r\n      const elBottom = document.getElementById(`elBottom${selectIndex}`);\r\n      const elAfter = document.getElementById(`elAfter${selectIndex}`);\r\n      const elTop = document.getElementById(`elTop${selectIndex}`);\r\n      const elTopCopy = document.getElementById(`elTopCopy${selectIndex}`);\r\n      let times = [510, 600, 1300, 1500];\r\n      if(!(currIndex && currIndex === this.selectIndex) || currIndex) {\r\n\r\n      }\r\n      else {\r\n        times = [0, 100, 800, 1000];\r\n      }\r\n      this.triggerBigCardStatus('default');\r\n      this.setCardStatus(currIndex, 'closeing');\r\n\r\n      elBottom.style.transform = \"rotateX(180deg)\";\r\n      elBottom.style.transition = \"transform 0s\";\r\n      elTop.style.transform = \"rotateX(0deg)\";\r\n      elTop.style.transition = \"transform 0s\";\r\n      elAfter.style.zIndex = 3;\r\n      elBottom.style.zIndex = 1;\r\n      elTop.style.zIndex = 2;\r\n\r\n      this.closeTimeValue = this.closeTimeValue || {};\r\n      this.closeTimeValue[currIndex] = this.closeTimeValue[currIndex] || {};\r\n\r\n\r\n      // 第一步动画, 放大卡片动画结束重置变量\r\n      this.closeTimeValue[currIndex].timeout1 = setTimeout(() => {\r\n        elBottom.style.transform = \"rotateX(-1deg)\";\r\n        elBottom.style.transition = \"transform 0.8s\";\r\n        elTop.style.transform = \"rotateX(180deg)\";\r\n        elTop.style.transition = \"transform 0.8s\";\r\n        elBottom.style.zIndex = 2;\r\n        elTop.style.zIndex = 1;\r\n\r\n        //\r\n        clearTimeout(this.closeTimeValue[currIndex].timeout1);\r\n        this.closeTimeValue[currIndex].timeout1 = null;\r\n      }, times[0]);\r\n\r\n\r\n      // 第二步动画\r\n      this.closeTimeValue[currIndex].timeout2 = setTimeout(() => {\r\n        console.log(\"timeout2\");\r\n        elAfter.style.zIndex = 1;\r\n        elBottom.style.zIndex = 1;\r\n        elTop.style.zIndex = 2;\r\n\r\n        clearTimeout(this.closeTimeValue[currIndex].timeout2);\r\n        this.closeTimeValue[currIndex].timeout2 = null;\r\n      }, times[1]);\r\n\r\n      // 第三步动画\r\n      this.closeTimeValue[currIndex].timeout3 = setTimeout(() => {\r\n\r\n        elBottom.style.transform = \"rotateX(45deg) scaleY(0.9)\";\r\n        elBottom.style.transition = \"transform 0.2s\";\r\n        clearTimeout(this.closeTimeValue[currIndex].timeout3);\r\n        this.closeTimeValue[currIndex].timeout3 = null;\r\n      }, times[2]);\r\n\r\n      // 第四步动画\r\n      this.closeTimeValue[currIndex].timeout4 = setTimeout(() => {\r\n        elBottom.style.transform = \"rotateX(0deg)\";\r\n        elBottom.style.transition = \"transform 0.2s\";\r\n        this.setValueAfterAnimation('default', currIndex);\r\n        clearTimeout(this.closeTimeValue[currIndex].timeout4);\r\n        this.closeTimeValue[currIndex].timeout4 = null;\r\n      }, times[3]);\r\n\r\n      // let timeout5 = setTimeout(() => {\r\n      //   console.log(\"timeout5\");\r\n      //   elTopCopy.style.transform = \"rotateX(0)\";\r\n      //   elTopCopy.style.transition = \"transform 0s\";\r\n      //   // copyBig.style.transform = \"translateY(-50%) scale(1.3, 1.3)\";\r\n\r\n      //   clearTimeout(timeout5);\r\n      // }, times[4]);\r\n    },\r\n    setValueAfterAnimation(styleType, currIndex) {\r\n      this.setCardStatus(currIndex, 'closed');\r\n      if(currIndex !== this.selectIndex) {\r\n        return;\r\n      }\r\n      if(styleType === 'big') {\r\n        this.isMoving = false;\r\n        this.showMask = true;\r\n      }else if(styleType === 'default'){\r\n        this.isMoving = false;\r\n        this.showMask = false;\r\n      }\r\n    },\r\n    hidemask(callback, currIndex) {\r\n\r\n      if(this.clickBigCard) {\r\n        return;\r\n      }\r\n      const selectIndex = currIndex >= 0 ? currIndex : this.selectIndex;\r\n\r\n\r\n      if(!(selectIndex >= 0)) {\r\n        return;\r\n      }\r\n      if(this.openCardInterval) {\r\n        clearInterval(this.openCardInterval);\r\n        this.openCardInterval = null;\r\n      }\r\n\r\n      const isComplete = this.isUser ||\r\n        (selectIndex >= 0 && this.slides[selectIndex] &&\r\n        this.slides[selectIndex].status == 1);\r\n\r\n      if (isComplete) {\r\n        this.hideMaskComplete(selectIndex);\r\n      } else {\r\n        this.hideMaskNoComplete(selectIndex);\r\n      }\r\n\r\n      if(callback && typeof callback === 'function') {\r\n        callback();\r\n      }\r\n\r\n      EventBus.$emit(\"openCommitProblemCard\", false);\r\n\r\n      // 隐藏tooltip内容\r\n      const tooltipPoppers = document.querySelectorAll('.el-tooltip__popper');\r\n      (tooltipPoppers || []).forEach(el => {\r\n        el.style.display = 'none';\r\n      })\r\n      this.clearAllAnimation()\r\n    },\r\n    edit(e) {\r\n      e.stopPropagation();\r\n      this.isEdit = true;\r\n      this.showEditDialog = true;\r\n    },\r\n    del(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      if (this.loading) {\r\n        return;\r\n      }\r\n\r\n      // this.dialogVisibleDel = true;\r\n      this.$confirm(\r\n        `删除该问题会同时删除${\r\n          this.app_type == 2 ? \"问题解决\" : \"本课问题解决\"\r\n        }中的关联内容，确定删除？`,\r\n        \"\",\r\n        {\r\n          confirmButtonText: \"确定\",\r\n          cancelButtonText: \"取消\",\r\n          center: true,\r\n          closeOnClickModal: false,\r\n          closeOnPressEscape: false,\r\n          // showClose: false,\r\n          customClass: \"confirmClass\",\r\n        }\r\n      ).then(() => {\r\n        this.submitDel();\r\n      });\r\n    },\r\n    async submitDel() {\r\n\r\n      if (this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      let params = {\r\n        course_id: this.course_id,\r\n        update_device: localStorage.getItem(\"DeviceId\"),\r\n        course_question_id: this.selectData.course_question_id,\r\n      };\r\n      try {\r\n        const res = await delUserQuestion(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"删除成功\",\r\n          });\r\n          this.loading = false;\r\n          this.hidemask();\r\n          this.getUserCourseProgress();\r\n          console.log(\"getCourseBase\")\r\n          this.getCourseBase();\r\n          this.slides.splice(this.selectIndex, 1);\r\n          this.$store.dispatch(\"setQuestionList\", this.slides);\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    handleClose() {\r\n      // this.selectData = null;\r\n      this.isEdit = false;\r\n      this.showEditDialog = false;\r\n    },\r\n    setCommitProblemGuideStatus(status) {\r\n      this.commitProblemGuideStatus = status;\r\n      // 引导时，选中第二个\r\n      if(status == 0) {\r\n        this.$nextTick(() => {\r\n          this.clickSlide(1)\r\n        })\r\n      }\r\n    },\r\n    async handleUserGuideStatus() {\r\n      try {\r\n        const res = await getUserGuideStatus();\r\n        if (res && res.code === 0) {\r\n          let guideStatus = res.data[0].guide_status\r\n            ? JSON.parse(res.data[0].guide_status)\r\n            : null;\r\n          if (!guideStatus) {\r\n            // 用户菜单状态为空，修改状态为初始状态\r\n            const jsonData = {\r\n              guide_status: JSON.stringify({\r\n                index1: 0, //首页\r\n                black1: 0, //黑牌\r\n                black2: 0, //黑牌\r\n                black3: 0, //黑牌\r\n                black4: 0, //黑牌\r\n                courseClassName: 0, //课程目录\r\n                mindMap: 0, //思维导图\r\n                problemConsciousness: 0, //问题意识\r\n                commitProblem: 0, //问题意识-二级页面\r\n                problemRecommended: 0, //问题推荐\r\n                problemWorkOut: 0, //问题解决\r\n                meditate_1: 0, //思维观念-观修文\r\n                meditate_2: 0, //行为习惯-观修文\r\n                confirmTips: 0, //提交心得\r\n                studyLog: 0, //修学日志\r\n              }),\r\n            };\r\n            // 设置用户引导状态\r\n            const setUserRes = await setUserGuideStatus(jsonData);\r\n            if (setUserRes.code === 0) {\r\n              // 再次获取用户引导状态\r\n              const updatedRes = await getUserGuideStatus();\r\n              guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n            }\r\n          }\r\n          if (guideStatus) {\r\n            localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n\r\n            if (guideStatus.commitProblem === 0) {\r\n              this.guide();\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        console.error(\"Error fetching user guide status:\", error);\r\n      }\r\n    },\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      // 首页引导状态为0，开始引导\r\n      this.setCommitProblemGuideStatus(0);\r\n      this.setGuideButton(0);\r\n      // let timeout = setTimeout(() => {\r\n      //   let swiper = this.$refs.mySwiper.swiper;\r\n      //   swiper.slideTo(1);\r\n      //   this.select(1);\r\n      //   this.openCard();\r\n      //   clearTimeout(timeout);\r\n      // }, 800);\r\n      let timeout2 = setTimeout(() => {\r\n        this.commitProblem_initGuide();\r\n        clearTimeout(timeout2);\r\n      }, 800);\r\n    },\r\n    guide2() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      // 首页引导状态为0，开始引导\r\n      this.setCommitProblemGuideStatus(0);\r\n      let timeout = setTimeout(() => {\r\n        let swiper = this.$refs.mySwiper.swiper;\r\n        swiper.slideTo(1);\r\n        this.select(1);\r\n        this.openCard();\r\n        clearTimeout(timeout);\r\n      }, 800);\r\n      let timeout2 = setTimeout(() => {\r\n        this.commitProblem_initGuide2();\r\n        clearTimeout(timeout2);\r\n      }, 2800);\r\n    },\r\n    commitProblem_initGuide() {\r\n      commitProblem_guide(this, [\r\n        {\r\n          intro:\r\n            \"阅读<b> “问题推荐” </b>，帮助培养<b>问题\\n</b>意识\",\r\n          element: document.querySelector(\"#slide1\"),\r\n          position: \"bottom\",\r\n        }\r\n      ]);\r\n    },\r\n    commitProblem_initGuide2() {\r\n      commitProblem_guide2(this, [\r\n        {\r\n          intro:\r\n            \"<b> “问题推荐” </b>由大问题、小问题组成，帮助厘清文章在说明什么问题，又是由哪几个部分所组成\",\r\n          element: document.querySelector(\"#copyBig\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro:  \"自行填写问题推荐，由<b>大问题</b>\\n<b>(必填)、小问题组成</b>\",\r\n          element: document.querySelector(\"#commitProblem_step2\"),\r\n          position: \"top\",\r\n        },\r\n      ]);\r\n    },\r\n    setGuideButton(status) {\r\n      this.guideButton = status;\r\n    },\r\n    triggerBoxScrollEvent(event) {\r\n      const scrollTop = this.$refs.box.scrollTop;\r\n      const $target = document.getElementById('imgOtherPageEyeIcon');\r\n      if($target) {\r\n        $target.style.marginTop = - scrollTop + 'px'\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.isActivated = true;\r\n\r\n    if (this.courseId !== this.course_id) {\r\n      this.slides = [];\r\n      this.courseId = this.course_id;\r\n      this.inited = false;\r\n      this.getQuestionList().then(() => {\r\n        this.isListAni = true;\r\n        let timeout = setTimeout(() => {\r\n          this.isListAni = false;\r\n          clearTimeout(timeout);\r\n        }, 600);\r\n      });\r\n    }\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  destroyed() {\r\n    this.$refs.box.removeEventListener('scroll', this.triggerBoxScrollEvent);\r\n  },\r\n  mounted() {\r\n    this.isMobile = getIsMobile();\r\n    // this.handleUserGuideStatus();\r\n    EventBus.$on(\"commitProblem_initGuide\", (isOpen) => {\r\n      console.log(\"commitProblem_initGuide\")\r\n      this.animationAndCallBack(this.onTapGuide);\r\n      // this.guide();\r\n    });\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.progress_see_question_ids =\r\n      this.courseProgress.progress_see_question_ids || \"\";\r\n    this.progress_solve_question_ids =\r\n      this.courseProgress.progress_solve_question_ids || \"\";\r\n    // this.toggle();\r\n    EventBus.$on(\"RESIZE\", debounce(\r\n      1000,\r\n      () => {\r\n        // ✅ 立即让Swiper重新计算并使当前选中的卡片居中\r\n        if (this.$refs.mySwiper && this.$refs.mySwiper.swiper) {\r\n          const swiper = this.$refs.mySwiper.swiper;\r\n          swiper.update(); // 重新计算尺寸\r\n          if (this.selectIndex != null && this.selectIndex != undefined) {\r\n            swiper.slideTo(this.selectIndex, 0, false); // 立即跳转到当前选中索引，无动画\r\n          }\r\n        }\r\n\r\n        if(this.isSorting) {\r\n          this.startSortCallback();\r\n        }\r\n        if(!this.cardsStatus || this.selectIndex == null || this.selectIndex == undefined) {\r\n          return;\r\n        }\r\n        // if(this.swiper) {\r\n        //   // this.swiper.slideTo(this.selectIndex, 0, false);\r\n        //   // this.swiper.update();\r\n        //   // // 关键：强制重新计算偏移，使当前 slide 居中\r\n        //   // this.mySwiper.updateSlidesOffset()\r\n\r\n        //   if(this.$refs.mySwiper) {\r\n        //     console.log(\"resize 重新设置使swiper选中的卡片居中\")\r\n        //     const mySwiper = this.$refs.mySwiper.$el;\r\n        //     // 找到子元素\r\n        //     const swapper = mySwiper.querySelectorAll('.swiper-wrapper');\r\n        //     if(swapper[0]) {\r\n        //       if(this.fullscreen) {\r\n        //         swapper[0].style.marginLeft = this.$px2rem(-70)\r\n        //       } else {\r\n        //         swapper[0].style.marginLeft = this.$px2rem(-250)\r\n        //       }\r\n        //     }\r\n        //   }\r\n        // }\r\n        console.log(\"RESIZE:\", this.cardsStatus, this.selectIndex)\r\n        const open = this.cardsStatus[this.selectIndex];\r\n        if(open == 'opened') {\r\n          const selectData = this.selectData;\r\n          if(!selectData) {\r\n            return;\r\n          }\r\n          const bigCardType = selectData.course_question_small && selectData.course_question_small.length;\r\n          // 放大后的卡片大小\r\n          const bigSize = () => {\r\n            const $problemBox = document.getElementById(\"problemBox\");\r\n            const $box = this.$refs.box;\r\n            const $selectEl = this.$selectEl || document.getElementById(`slide${this.selectIndex}`);;\r\n            const boxOffset = $box.getBoundingClientRect();\r\n            const boxScrollY = $box.scrollTop;\r\n            const offset = $selectEl.getBoundingClientRect();\r\n            const $copyBig = document.getElementById('copyBig');\r\n            if($copyBig) {\r\n              const scrollY = window.pageYOffset || document.documentElement.scrollTop;\r\n              // const top = offset.y - boxOffset.y + $problemBox.scrollTop;\r\n              const top = offset.y + scrollY;\r\n              $copyBig.style.opacity = 1;\r\n              // 没有小问题的，卡片仅只是等比例稍微放大\r\n              if(!bigCardType || this.commitProblemGuideStatus === 0) {\r\n                let height = offset.height + 80;\r\n                $copyBig.style.height = height + 'px';\r\n                $copyBig.style.width = height * (offset.width / offset.height) + 'px';\r\n                $copyBig.style.marginTop = top - (height - offset.height)/2 + 'px';\r\n              }\r\n              // 有小问题的，卡片显示最大，不需要等比例\r\n              else {\r\n                let height = document.body.clientHeight * 0.8;\r\n                height = height < 400 ? 400 : height;\r\n                $copyBig.style.width = '70vw';\r\n                $copyBig.style.marginTop = '5%';\r\n                $copyBig.style.height = '77%';\r\n              }\r\n            }\r\n          }\r\n          bigSize();\r\n        }\r\n      },\r\n      { atBegin: false }\r\n    ));\r\n\r\n    // 外部的小眼睛图标随着滚动\r\n    this.$refs.box.addEventListener('scroll', this.triggerBoxScrollEvent);\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.name {\r\n  color: @thinking;\r\n  height: 30px;\r\n}\r\n/deep/ .el-main {\r\n  padding-bottom: 0;\r\n}\r\n// .big-view-box-page {\r\n//   .name {\r\n//     padding-left: 36px;\r\n//   }\r\n// }\r\n.main-content {\r\n  overflow: auto;\r\n  padding-top: 80px;\r\n  padding-bottom: 20px;\r\n  position: relative;\r\n  .sort {\r\n    position: absolute;\r\n    right: 0;\r\n    top: 20px;\r\n    opacity: 0;\r\n    padding-right: 38px;\r\n    &.sort-visible {\r\n      opacity: 1;\r\n      transition: all 0.4s ease-in-out;\r\n    }\r\n    &.sort-disapear {\r\n      opacity: 0;\r\n      transition: all 0.4s ease-in-out;\r\n    }\r\n    img {\r\n      width: 10px;\r\n      height: 10px;\r\n    }\r\n    .sort-btn {\r\n      width: 107px;\r\n      height: 32px;\r\n      border-radius: 16px;\r\n      border: 1px solid #64AFD5;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      color: #64AFD5;\r\n      cursor: pointer;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 14px;\r\n      color: #64AFD5;\r\n      line-height: 28px;\r\n      img  {\r\n        margin-right: 7px;\r\n      }\r\n    }\r\n    .sorting {\r\n      display: flex;\r\n      .sort-btn1 {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 14px;\r\n        color: #64AFD5;\r\n        line-height: 32px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        opacity: 0.5;\r\n        width: 107px;\r\n        height: 32px;\r\n        border-radius: 16px;\r\n        border: 1px solid #64AFD5;\r\n        opacity: 0.5;\r\n        img {\r\n          margin-right: 5px;\r\n        }\r\n      }\r\n      .btn {\r\n        margin-left: 7px;\r\n        width: 68px;\r\n        height: 27px;\r\n        border-radius: 13px;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 14px;\r\n        line-height: 28px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        cursor: pointer;\r\n      }\r\n      .finish {\r\n        color: #fff;\r\n        width: 68px;\r\n        height: 32px;\r\n        background: #64AFD5;\r\n        border-radius: 16px;\r\n        border: 1px solid #64AFD5;\r\n      }\r\n      .cancel {\r\n        background: transparent;\r\n        border: 1px solid #64AFD5;\r\n        border-radius: 16px;\r\n        color: #64AFD5;\r\n        width: 68px;\r\n        height: 32px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.pcont-official {\r\n  font-family: SourceHanSansCN-Bold !important;\r\n}\r\n.box {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n  padding: 26px 32px 0 32px;\r\n  min-height: 690px;\r\n}\r\n\r\n.content-box {\r\n  padding: 0;\r\n  // height: 497px;\r\n  // min-height: 530px;\r\n  // height: calc(100% - 40px);\r\n  position: relative;\r\n  border-bottom-left-radius: 0;\r\n  border-bottom-right-radius: 0;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .smallT {\r\n    width: 76px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    line-height: 24px;\r\n    padding-bottom: 5px;\r\n    border-bottom: 2px solid #64afd5;\r\n    text-align: center;\r\n    margin: 0 35px;\r\n  }\r\n  .secondT {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    color: #64afd5;\r\n    font-size: 16px;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    position: relative;\r\n    display: flex;\r\n    justify-content: space-between;\r\n\r\n  }\r\n\r\n  .sort-container {\r\n    width: 100%;\r\n    // height: 100%;\r\n    // min-height: 652px;\r\n    display: flex;\r\n    padding-top: 5px;\r\n    padding-left: 20px;\r\n    flex-wrap: wrap;\r\n    align-content: flex-start;\r\n    position: relative;\r\n    overflow-y: hidden;\r\n    .sort-item {\r\n      // pointer-events: none;\r\n      width: 183px;\r\n      height: 207px;\r\n      border-radius: 16px;\r\n      cursor: pointer;\r\n      // margin-left: 20px;\r\n      // margin-top: 19px;\r\n      position: absolute;\r\n      background-color: #EAEDEF;\r\n      user-select: none;\r\n      .num  {\r\n        padding: 25px 25px 30px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 42px;\r\n        color: #000;\r\n        line-height: 28px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      .pcont {\r\n        padding: 0 28px 0;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 18px;\r\n        color: #292929;\r\n        line-height: 28px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        height: 81px;\r\n        overflow: hidden;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n        white-space: pre-wrap;\r\n        text-overflow: ellipsis;\r\n        -webkit-line-clamp: 3;\r\n        -webkit-box-orient: vertical;\r\n        display: -webkit-box;\r\n        // margin-bottom: 38px;\r\n      }\r\n      &.sel {\r\n        background-color: #84C4E5;\r\n        .num {\r\n          color: #fff;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n.swiper {\r\n  // margin-top: 43px;\r\n  width: 100%;\r\n  flex: 1;\r\n  position: relative;\r\n}\r\n/deep/ .swiper-wrapper{\r\n  // margin-left: -250px; // ❌ 移除手动偏移，让 centeredSlides 自动计算居中\r\n  // 当 centeredSlides: true + slidesPerView: 'auto' 时，Swiper 会自动设置正确的偏移量\r\n}\r\n/deep/ .swiper-container {\r\n  width: 100%;\r\n}\r\n/deep/ .swiper-slide {\r\n  margin-right: 0px !important;\r\n  margin-left: 0px !important;\r\n  width: 220px !important;\r\n  height: 292px;\r\n  /* Center slide text vertically */\r\n  color: #292929;\r\n  font-family: SourceHanSansCN;\r\n  position: relative;\r\n  cursor: pointer;\r\n  .top,\r\n  .bottom {\r\n    position: absolute;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 50%;\r\n    overflow: hidden;\r\n    //backface-visibility: hidden;\r\n    //background-color: #eeeeee;\r\n    transition: transform 1000ms ease-in-out;\r\n  }\r\n\r\n  .top {\r\n    height: calc(50% + 1px);\r\n  }\r\n\r\n  .top .item {\r\n    top: 0;\r\n    width: 100%;\r\n  }\r\n\r\n  .bottom {\r\n    bottom: 0;\r\n    transform-origin: center top;\r\n    // transform: rotate(1turn);\r\n    transform: rotate(0deg);\r\n    background-image: url(\"~@/assets/img/cardBg1.png\");\r\n    background-repeat: no-repeat;\r\n    background-position-x: 0;\r\n    background-position-y: -7px;\r\n    background-size: 100% 100%;\r\n  }\r\n  .bottom .item {\r\n    bottom: 0;\r\n  }\r\n  .sel{\r\n    *{\r\n      pointer-events: none;\r\n    }\r\n  }\r\n  .sel .top,\r\n  .sel .bottom {\r\n    background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n    background-repeat: no-repeat;\r\n    color: #fff;\r\n    background-size: 100%;\r\n  }\r\n  .sel .bottom {\r\n    // background-position-x: 1px;\r\n    background-position-y: -144px;\r\n  }\r\n\r\n  .evp {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    /* background-color: #fff; */\r\n    //text-align: center;\r\n    //line-height: 240px;\r\n    perspective: 360px;\r\n  }\r\n\r\n  .item {\r\n    position: absolute;\r\n    left: 0;\r\n    height: 200%;\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n\r\n  .before {\r\n    z-index: 2;\r\n  }\r\n\r\n  .before.beforeBottom {\r\n    background-image: url(\"~@/assets/img/cardBgBottom.png\");\r\n    background-repeat: no-repeat;\r\n    color: #fff;\r\n    background-size: 100%;\r\n  }\r\n\r\n  .after {\r\n    z-index: 1;\r\n    // margin-top: -5px;\r\n  }\r\n  .after .top {\r\n    background-image: url(\"~@/assets/img/bigCardbg.png\");\r\n    background-repeat: no-repeat;\r\n    background-position: top;\r\n    background-size: 100%;\r\n    // background-position-x: 0px;\r\n    // background-position-y: 0px;\r\n    transform-origin: center bottom;\r\n  }\r\n  .after .bottom {\r\n    background-image: url(\"~@/assets/img/cardBg1-1.png\");\r\n    background-position-x: 0;\r\n    background-position-y: 0;\r\n    background-size: 100% 100%;\r\n  }\r\n  .num {\r\n    font-size: 38px;\r\n    margin: 40px 40px 0 40px;\r\n    cursor: pointer;\r\n  }\r\n  .pcont {\r\n    font-family: SourceHanSansCN;\r\n    font-weight: 500;\r\n    height: 110px;\r\n    font-size: 14px;\r\n    line-height: 22px;\r\n    margin: 17px 40px 0 40px;\r\n    z-index: 10;\r\n    overflow: hidden;\r\n    word-break: break-all;\r\n    word-wrap: break-word;\r\n    white-space: pre-wrap;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 5;\r\n    -webkit-box-orient: vertical;\r\n    display: -webkit-box;\r\n  }\r\n  .el-icon-circle-check {\r\n    position: absolute;\r\n    font-size: 32px;\r\n    left: 96px;\r\n    bottom: 40px;\r\n    z-index: 10;\r\n    color: #d4d9db;\r\n  }\r\n  .selnum {\r\n    font-size: 26px;\r\n    margin: 30px 30px 0 30px;\r\n    color: #64afd5;\r\n  }\r\n  .selTitle {\r\n    margin: -5px 30px 0 30px;\r\n    color: #64afd5;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN;\r\n    overflow: auto;\r\n    // word-break: break-all;\r\n    // word-wrap: break-word;\r\n    // white-space: pre-wrap;\r\n    min-height: 50px;\r\n    border-bottom: 1px solid #64afd5;\r\n    padding-bottom: 5px;\r\n  }\r\n  .selCont {\r\n    margin: 18px 30px 20px 30px;\r\n    height: 106px;\r\n    overflow: hidden;\r\n    display: flex;\r\n    flex-direction: column;\r\n    .sevcont {\r\n      width: 100%;\r\n      display: flex;\r\n      .dian {\r\n        content: \"●\";\r\n        width: 4px;\r\n        height: 4px;\r\n        background-color: #64afd5;\r\n        border-radius: 50%;\r\n        margin-right: 5px;\r\n        display: block;\r\n        margin-top: 8px;\r\n      }\r\n      span {\r\n        width: 150px;\r\n        font: normal normal normal 12px/1 SourceHanSansCN, SourceHanSansCN;\r\n        white-space: pre-wrap;\r\n        word-wrap: break-word;\r\n        word-break: break-all;\r\n        line-height: 20px;\r\n      }\r\n    }\r\n  }\r\n  .big {\r\n    z-index: 1;\r\n    opacity: 0;\r\n    .top {\r\n      height: 100%;\r\n      background-image: url(\"~@/assets/img/bigCardbg.png\");\r\n      background-repeat: no-repeat;\r\n      background: #fff;\r\n      border-radius: 15px;\r\n      background-position: top;\r\n      .selCont {\r\n        overflow-y: auto;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.swiper-slide-active {\r\n  transform: scale(1.1, 1.1);\r\n}\r\n\r\n/deep/.swiper-pagination {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  z-index: 5;\r\n  bottom: 0px;\r\n  position: relative;\r\n  margin-top: 46px;\r\n  height: 20px;\r\n}\r\n/deep/.swiper-pagination-bullet {\r\n  width: 4px;\r\n  height: 4px;\r\n  border: 1px solid #64afd5;\r\n  border-radius: 50%;\r\n  margin-right: 5px;\r\n  cursor: pointer;\r\n  margin-top: 50px;\r\n  background: rgba(0, 0, 0, 0);\r\n  opacity: 1;\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  width: 9px;\r\n  height: 9px;\r\n  background: #64afd5;\r\n  border: 1px solid #64afd5;\r\n  border-radius: 50%;\r\n}\r\n.btns {\r\n  width: 57px;\r\n  height: 100%;\r\n  position: absolute;\r\n  top: 0;\r\n  background: rgba(242, 244, 245, 0.8);\r\n  z-index: 99;\r\n}\r\n.btnsleft {\r\n  left: -1px;\r\n}\r\n.swiper-button-prev {\r\n  width: 52px;\r\n  height: 52px;\r\n  left: 0;\r\n  background-image: url(\"~@/assets/img/think_arrow.png\");\r\n  background-size: 100% 100%;\r\n  transform: rotate(180deg);\r\n  margin-top: -58px;\r\n}\r\n.opac {\r\n  opacity: 0.3;\r\n  cursor: default;\r\n}\r\n.swiper-button-next {\r\n  width: 52px;\r\n  height: 52px;\r\n  right:0;\r\n  background-image: url(\"~@/assets/img/think_arrow.png\");\r\n  background-size: 100% 100%;\r\n  margin-top: -58px;\r\n}\r\n.add-question-wrapper {\r\n  // padding-bottom: 23px;\r\n}\r\n.add-question {\r\n  display: flex;\r\n  justify-content: center;\r\n\r\n  padding-top: 28px;\r\n  // margin-top: -150px;\r\n  /deep/ .el-button {\r\n    width: 138px;\r\n    height: 48px;\r\n    border: none;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 24px;\r\n    box-shadow: 5px 5px 10px 0px #f4f6f7;\r\n    border-radius: 10px;\r\n    cursor: pointer;\r\n    padding: 0;\r\n    span {\r\n      margin-left: 13px;\r\n    }\r\n  }\r\n  /deep/ .el-icon-plus {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-button:focus,\r\n  .el-button:hover {\r\n    background-color: #fff;\r\n  }\r\n}\r\n.process {\r\n  width: 200px;\r\n  margin: 0px auto;\r\n  padding-top: 28px;\r\n  // margin-top: -200px;\r\n  text-align: center;\r\n  .tt {\r\n    color: #64afd5;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-size: 14px;\r\n    line-height: 44px;\r\n    padding-bottom: 7px;\r\n  }\r\n  .num {\r\n    color: #d4d9db;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    line-height: 35px;\r\n  }\r\n  @keyframes flapdown {\r\n    0% {\r\n      transform: perspective(0px) rotateX(-180deg);\r\n      opacity: 1;\r\n    }\r\n    50% {\r\n      transform: perspective(80px) rotateX(-90deg);\r\n    }\r\n    100% {\r\n      transform: perspective(80px) rotateX(0deg);\r\n      opacity: 0;\r\n    }\r\n  }\r\n}\r\n.swiperLeft {\r\n  -webkit-animation: swiperLeftAni 0.5s ease-out; /* Chrome, Safari, Opera */\r\n  animation: swiperLeftAni 0.5s ease-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes swiperLeftAni {\r\n  0% {\r\n    left: 100%;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n.mask {\r\n  display: none;\r\n  position: fixed;\r\n  width: 100%;\r\n  min-height: 100%;\r\n  left: 0;\r\n  top: 0;\r\n  // background: rgba(234, 237, 239, 0.4);\r\n  background: rgb(242 244 245 / 40%);\r\n  z-index: 9999;\r\n  .evp {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 200px;\r\n    height: 299px;\r\n    perspective: 360px;\r\n    z-index: 2000;\r\n  }\r\n  .item {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    overflow-y: auto;\r\n  }\r\n  .itemSmall {\r\n    // margin-top: 35px;\r\n    // height: calc(100% - 50px);\r\n    display: flex;\r\n    justify-content: center;\r\n    height: 274px !important;\r\n    // margin-bottom: 35px;\r\n    .selTitle {\r\n      max-height: calc(100% - 45px);\r\n    }\r\n    .selnum {\r\n      margin: 0 10px 12px 12px;\r\n    }\r\n  }\r\n  .big {\r\n    cursor: pointer;\r\n    .top {\r\n      height: 100%;\r\n      background: #fff;\r\n      border-radius: 15px;\r\n      padding: 0 18px 0 21px;\r\n      overflow: hidden;\r\n      transform-origin: center bottom;\r\n      padding-bottom: 20px;\r\n    }\r\n    // .bottom {\r\n    //   height: 55%;\r\n    //   background-image: url(\"~@/assets/img/bigCardbg01.png\");\r\n    //   background-repeat: no-repeat;\r\n    //   background-position: bottom;\r\n    //   background-size: 100%;\r\n    //   padding: 20px 18px 0 21px;\r\n    //   overflow: hidden;\r\n    //   top: 37%;\r\n    //   position: absolute;\r\n    //   width: 100%;\r\n    //   // transform-origin: center bottom;\r\n    //   .item {\r\n    //     top: -87%;\r\n    //   }\r\n    //   .selCont {\r\n    //     padding-top: 34px;\r\n    //     overflow-y: auto;\r\n    //     height: 164px;\r\n    //   }\r\n    // }\r\n  }\r\n  .bigEvp {\r\n    .top {\r\n      background: none;\r\n      background-color: #fff;\r\n      border-radius: 16px;\r\n    }\r\n  }\r\n  .swiperLeft {\r\n    -webkit-animation: swiperLeftAni 0.5s ease-out; /* Chrome, Safari, Opera */\r\n    animation: swiperLeftAni 0.5s ease-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes swiperLeftAni {\r\n    0% {\r\n      left: 100%;\r\n    }\r\n    100% {\r\n      left: 0;\r\n    }\r\n  }\r\n  .copyBigAnimate1 {\r\n    width: 210px;\r\n    height: 340px;\r\n    top: 235px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    margin-left: -40px;\r\n  }\r\n  .copyBigAnimate {\r\n    animation: copyBigAnimate 0.8s ease-in-out;\r\n    -webkit-animation: copyBigAnimate 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes copyBigAnimate {\r\n    0% {\r\n      width: 210px;\r\n      height: 340px;\r\n      top: 235px;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      margin-left: -40px;\r\n    }\r\n    100% {\r\n      width: 770px;\r\n      height: 535px;\r\n      top: 113px;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      margin-left: 0;\r\n    }\r\n  }\r\n\r\n  .guide_copyBigAnimate {\r\n    animation: guide_copyBigAnimate 0.8s ease-in-out;\r\n    -webkit-animation: guide_copyBigAnimate 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @media (min-width: 1366px) {\r\n    @-webkit-keyframes guide_copyBigAnimate {\r\n      0% {\r\n        width: 210px;\r\n        height: 340px;\r\n        top: 235px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        margin-left: -40px;\r\n      }\r\n      100% {\r\n        width: 770px;\r\n        height: 535px;\r\n        top: 113px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        margin-left: 0;\r\n      }\r\n    }\r\n  }\r\n  @media (max-width: 1366px) {\r\n    @-webkit-keyframes guide_copyBigAnimate {\r\n      0% {\r\n        width: 210px;\r\n        height: 340px;\r\n        top: 235px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        margin-left: -40px;\r\n      }\r\n      100% {\r\n        width: 370px;\r\n        height: 535px;\r\n        top: 113px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        margin-left: 0;\r\n      }\r\n    }\r\n  }\r\n\r\n  .copyBigAnimate3 {\r\n    animation: copyBigAnimate3 0.8s ease-in-out;\r\n    -webkit-animation: copyBigAnimate3 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n    // .selnum {\r\n    //   font-size: 24px;\r\n    // }\r\n    // .selTitle {\r\n    //   font-size: 14px;\r\n    // }\r\n  }\r\n  @-webkit-keyframes copyBigAnimate3 {\r\n    0% {\r\n      top: 235px;\r\n      left: 50%;\r\n      transform: translateX(-50%) scale(1, 1);\r\n      margin-left: -40px;\r\n    }\r\n    100% {\r\n      top: 235px;\r\n      left: 50%;\r\n      transform: translateX(-50%) scale(1.3, 1.3);\r\n      margin-left: -40px;\r\n    }\r\n  }\r\n\r\n  .copyBigAnimate4 {\r\n    animation: copyBigAnimate4 0.2s ease-in-out;\r\n    -webkit-animation: copyBigAnimate4 0.2s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n    // .selnum {\r\n    //   font-size: 24px;\r\n    // }\r\n    // .selTitle {\r\n    //   font-size: 14px;\r\n    // }\r\n  }\r\n  @-webkit-keyframes copyBigAnimate4 {\r\n    0% {\r\n      top: 235px;\r\n      left: 50%;\r\n      transform: translateX(-50%) scale(1.3, 1.3);\r\n      margin-left: -40px;\r\n    }\r\n    100% {\r\n      top: 235px;\r\n      left: 50%;\r\n      transform: translateX(-50%) scale(1, 1);\r\n      margin-left: -40px;\r\n    }\r\n  }\r\n\r\n  .copyBigAnimate2 {\r\n    animation: copyBigAnimate2 0.2s ease-in-out;\r\n    -webkit-animation: copyBigAnimate2 0.2s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes copyBigAnimate2 {\r\n    0% {\r\n      width: 770px;\r\n      height: 535px;\r\n      top: 113px;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      margin-left: 0;\r\n    }\r\n    100% {\r\n      width: 210px;\r\n      height: 340px;\r\n      top: 235px;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      margin-left: -40px;\r\n    }\r\n  }\r\n  .selnum {\r\n    font-family: SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 32px;\r\n    color: #64afd5;\r\n    line-height: 26px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    margin: 30px 10px 12px 12px;\r\n    color: #64afd5;\r\n  }\r\n  .selTitle {\r\n    margin: 0 10px 0 12px;\r\n    color: #64afd5;\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN;\r\n    line-height: 26px;\r\n    // height: 49px;\r\n    // overflow-y: auto;\r\n  }\r\n  .line {\r\n    border-bottom: 1px solid #64afd5;\r\n    margin: 10px 30px 0 10px;\r\n  }\r\n  .selCont {\r\n    margin: 38px 30px 20px 10px;\r\n    // height: 106px;\r\n    // overflow-y: hidden;\r\n    // height: 125px;\r\n    // overflow-y: auto;\r\n    display: flex;\r\n    flex-direction: column;\r\n    .sevcont {\r\n      width: 100%;\r\n      display: flex;\r\n      padding-bottom: 20px;\r\n      padding-left: 15px;\r\n      position: relative;\r\n      .dian {\r\n        position: absolute;\r\n        content: \"●\";\r\n        width: 6px;\r\n        height: 6px;\r\n        left: 0;\r\n        top: 9px;\r\n        background-color: #64afd5;\r\n        border-radius: 50%;\r\n        // margin-right: 9px;\r\n        display: block;\r\n        // margin-top: 9px;\r\n      }\r\n      span {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #292929;\r\n        line-height: 22px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        white-space: pre-wrap;\r\n        word-wrap: break-word;\r\n        word-break: break-all;\r\n      }\r\n    }\r\n  }\r\n  .countDown {\r\n    // width: 200px;\r\n    position: absolute;\r\n    text-align: center;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    // margin-left: 40px;\r\n    display: flex;\r\n    align-items: center;\r\n    color: #64afd5;\r\n    margin-top: 15px;\r\n    .el-progress {\r\n      width: 250px;\r\n      margin-right: 20px;\r\n    }\r\n    img {\r\n      width: 34px;\r\n      height: 34px;\r\n    }\r\n  }\r\n  .operates {\r\n    width: 300px;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    cursor: pointer;\r\n    // margin-left: 50%;\r\n    transform: translateX(-150px);\r\n    margin-top: 1%;\r\n    // padding-bottom: 50px;\r\n    img {\r\n      cursor: pointer;\r\n      width: 67px;\r\n      height: 67px;\r\n    }\r\n  }\r\n}\r\n/deep/ .el-progress-bar__outer {\r\n  background-color: #e4e7e8;\r\n}\r\n\r\n*::-webkit-scrollbar {\r\n  /*滚动条整体样式*/\r\n  width: 0;\r\n}\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  background: #fff;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  height: 20px;\r\n  background: #fff;\r\n}\r\n\r\n.big-card-center{\r\n  .line{\r\n    display: none !important;\r\n  }\r\n  .top{\r\n    display: flex;\r\n    vertical-align: middle;\r\n    justify-content: center;\r\n    align-items: center;\r\n    .item{\r\n      height: auto;\r\n      overflow-x: hidden;\r\n    }\r\n    .selCont{\r\n      margin-top: 0;\r\n    }\r\n    .selTitle{\r\n      font-size: 18px;\r\n      font-weight: 500;\r\n      line-height: 26px;\r\n      font-family: SourceHanSansCN;\r\n    }\r\n  }\r\n}\r\n.big-card-top{\r\n  .top{\r\n    display: block;\r\n    height: 100%;\r\n    padding-top: 40px !important;\r\n    padding-bottom: 0 !important;\r\n    .item{\r\n      display: block;\r\n      height: calc(100% - 30px) !important;\r\n      overflow-x: hidden;\r\n    }\r\n    .selCont{\r\n      margin-top: 0;\r\n      margin-right: 10px;\r\n    }\r\n    .selTitle{\r\n      padding-right: 20px;\r\n    }\r\n    .line{\r\n      margin-bottom: 20px;\r\n      margin-right: 15px;\r\n    }\r\n    .prewrap-content{\r\n      width: 100%;\r\n    }\r\n  }\r\n}\r\n.placeholderLine {\r\n  position: absolute;\r\n  height: 100px; /* 竖线高度 */\r\n  width: 0;\r\n  border-left: 2px solid #64AFD5; /* 竖线样式 */\r\n  margin: 0 auto; /* 水平居中 */\r\n  display: none;\r\n}\r\n\r\n.placeholderLine::before,\r\n.placeholderLine::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  left: 50%;\r\n  width: 7px; /* 圆点直径 */\r\n  height: 7px;\r\n  background: #64AFD5;\r\n  border-radius: 50%;\r\n  transform: translateX(-50%); /* 水平居中 */\r\n}\r\n\r\n.placeholderLine::before {\r\n  top: 0;\r\n  left: -1px;\r\n  transform: translate(-50%, -50%); /* 调整顶部圆点位置 */\r\n}\r\n\r\n.placeholderLine::after {\r\n  bottom: 0;\r\n  left: -1px;\r\n  transform: translate(-50%, 50%); /* 调整底部圆点位置 */\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CommitProblem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"box\",staticClass:\"main-content\",attrs:{\"id\":\"commitProblemBox\"}},[(_vm.showSort)?_c('div',{staticClass:\"sort\",class:(_vm.isScrollIntoView || _vm.isSorting) ? 'sort-visible' : 'sort-disapear'},[(!_vm.isSorting)?_c('div',{staticClass:\"sort-btn\",on:{\"click\":_vm.startSort}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/question-sort.svg\")}}),_vm._v(\"调整顺序\")]):_c('div',{staticClass:\"sorting\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"btn finish\",on:{\"click\":_vm.finish}},[_vm._v(\"完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"btn cancel\",on:{\"click\":_vm.cancel}},[_vm._v(\"取消\")])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"content-box\"},[(!_vm.isMobile)?_c('transition-group',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.slides.length > 0 && _vm.commitProblemGuideStatus === 1 && _vm.isSorting),expression:\"slides.length > 0 && commitProblemGuideStatus === 1 && isSorting\"}],staticClass:\"container sort-container\",attrs:{\"tag\":\"div\",\"id\":\"sortContainer\"}},[_c('div',{key:'placeholderLine',staticClass:\"placeholderLine\",attrs:{\"id\":\"placeholderLine\"}}),_vm._v(\" \"),_vm._l((_vm.originSortSlides),function(item,index){return _c('div',{key:'slides' + index,staticClass:\"sort-item\",class:_vm.isUser || item.status == 1 ? 'sel' : '',attrs:{\"id\":item.course_question_id,\"draggable\":true},on:{\"dragstart\":function($event){$event.stopPropagation();return _vm.handleDragStart($event, item, index)},\"dragover\":function($event){$event.stopPropagation();return _vm.handleDragOver($event, item)},\"dragenter\":function($event){$event.stopPropagation();return _vm.handleDragEnter($event, item)},\"dragend\":function($event){$event.stopPropagation();return _vm.handleDragEnd($event, item)}}},[_c('div',{staticClass:\"evp before\",attrs:{\"id\":(\"elBefore\" + index)}},[_c('div',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item['idx'] + 1)+\"．\")]),_vm._v(\" \"),_c('div',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))])])])})],2):_c('transition-group',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.slides.length > 0 && _vm.commitProblemGuideStatus === 1 && _vm.isSorting),expression:\"slides.length > 0 && commitProblemGuideStatus === 1 && isSorting\"}],staticClass:\"container sort-container\",attrs:{\"tag\":\"div\",\"id\":\"sortContainer\"}},[_c('div',{key:'placeholderLine',staticClass:\"placeholderLine\",attrs:{\"id\":\"placeholderLine\"}}),_vm._v(\" \"),_vm._l((_vm.originSortSlides),function(item,index){return _c('div',{key:'slides' + index,staticClass:\"sort-item\",class:_vm.isUser || item.status == 1 ? 'sel' : '',attrs:{\"id\":item.course_question_id,\"draggable\":false},on:{\"touchstart\":function($event){return _vm.handleTouchStart($event, item, index)},\"touchmove\":function($event){return _vm.handleTouchMove($event, item, index)},\"touchend\":function($event){return _vm.handleTouchend($event, item)},\"mousedown\":_vm.handleMouseStart,\"mouseup\":function($event){return _vm.handleMouseEnd($event, item)}}},[_c('div',{staticClass:\"evp before\",attrs:{\"id\":(\"elBefore\" + index)}},[_c('div',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item['idx'] + 1)+\"．\")]),_vm._v(\" \"),_c('div',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))])])])})],2),_vm._v(\" \"),_c('div',{staticClass:\"swiper\",class:[_vm.isListAni ? 'swiperLeft' : '']},[_c('NoData',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.slides.length == 0 && _vm.commitProblemGuideStatus === 1),expression:\"slides.length == 0 && commitProblemGuideStatus === 1\"}]}),_vm._v(\" \"),(_vm.commitProblemGuideStatus === 1)?_c('swiper',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.slides.length > 0 && _vm.commitProblemGuideStatus === 1 && !_vm.isSorting),expression:\"slides.length > 0 && commitProblemGuideStatus === 1 && !isSorting\"}],ref:\"mySwiper\",staticClass:\"Plist\",attrs:{\"options\":_vm.swiperOptions}},[_vm._l((_vm.slides),function(item,i){return _c('swiper-slide',{key:i,attrs:{\"id\":(\"slide\" + i)}},[_c('div',{staticClass:\"evp before beforeBottom\"}),_vm._v(\" \"),_c('div',{staticClass:\"evp before\",class:_vm.isUser || item.status == 1 ? 'sel' : '',attrs:{\"id\":(\"elBefore\" + i)}},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-circle-check\",style:({\n                    color: _vm.isUser || item.status == 1 ? '#fff' : '#d4d9db'\n                  })})])]),_vm._v(\" \"),(_vm.isUser || item.status == 1)?_c('div',{staticClass:\"bottom\",attrs:{\"id\":(\"elBottom\" + i)}},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-circle-check\",style:({\n                    color: _vm.isUser || item.status == 1 ? '#fff' : '#d4d9db'\n                  })})])]):_c('div',{staticClass:\"bottom\",attrs:{\"id\":(\"elBottom\" + i)}},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-circle-check\",style:({\n                    color: _vm.isUser || item.status == 1 ? '#fff' : '#d4d9db'\n                  })})])])]),_vm._v(\" \"),_c('div',{staticClass:\"evp after\",attrs:{\"id\":(\"elAfter\" + i)}},[_c('div',{staticClass:\"top\",attrs:{\"id\":(\"elTop\" + i)}}),_vm._v(\" \"),_c('div',{staticClass:\"bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"evp after\",attrs:{\"id\":(\"elAfterHideBottom\" + i)}}),_vm._v(\" \"),_c('div',{staticClass:\"evp after\",attrs:{\"id\":(\"elAfterHide\" + i)}},[_c('div',{staticClass:\"top\",attrs:{\"id\":(\"elTopHide\" + i)}}),_vm._v(\" \"),_c('div',{staticClass:\"bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"evp big\",attrs:{\"id\":(\"elBig\" + i)}},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"selnum\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"selTitle prewrap-content\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))])])])])])}),_vm._v(\" \"),_c('div',{ref:\"swiperPagination\",staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2):_vm._e(),_vm._v(\" \"),(_vm.commitProblemGuideStatus === 0)?_c('swiper',{ref:\"mySwiper\",staticClass:\"Plist\",attrs:{\"options\":_vm.swiperOptions}},[_vm._l((_vm.guideSlides),function(item,i){return _c('swiper-slide',{key:i,attrs:{\"id\":(\"slide\" + i)}},[_c('div',{staticClass:\"evp before beforeBottom\"}),_vm._v(\" \"),_c('div',{staticClass:\"evp before\",class:_vm.app_type == 1 ? 'sel' : '',attrs:{\"id\":(\"elBefore\" + i)}},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-circle-check\",style:({\n                    color: _vm.isUser || item.status == 1 ? '#fff' : '#d4d9db'\n                  })})])]),_vm._v(\" \"),(_vm.isUser || item.status == 1)?_c('div',{staticClass:\"bottom\",attrs:{\"id\":(\"elBottom\" + i)}},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-circle-check\",style:({\n                    color: _vm.isUser || item.status == 1 ? '#fff' : '#d4d9db'\n                  })})])]):_c('div',{staticClass:\"bottom\",attrs:{\"id\":(\"elBottom\" + i)}},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"num\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"pcont\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-circle-check\",style:({\n                    color: _vm.isUser || item.status == 1 ? '#fff' : '#d4d9db'\n                  })})])])]),_vm._v(\" \"),_c('div',{staticClass:\"evp after\",attrs:{\"id\":(\"elAfter\" + i)}},[_c('div',{staticClass:\"top\",attrs:{\"id\":(\"elTop\" + i)}}),_vm._v(\" \"),_c('div',{staticClass:\"bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"evp after\",attrs:{\"id\":(\"elAfterHideBottom\" + i)}}),_vm._v(\" \"),_c('div',{staticClass:\"evp after\",attrs:{\"id\":(\"elAfterHide\" + i)}},[_c('div',{staticClass:\"top\",attrs:{\"id\":(\"elTopHide\" + i)}}),_vm._v(\" \"),_c('div',{staticClass:\"bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"evp big\",attrs:{\"id\":(\"elBig\" + i)}},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"selnum\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(i + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"selTitle prewrap-content\",class:[item.course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(item.course_question_title))])])])])])}),_vm._v(\" \"),_c('div',{ref:\"swiperPagination\",staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2):_vm._e(),_vm._v(\" \"),(_vm.slides.length > 0 && !_vm.isSorting)?_c('div',{staticClass:\"btns btnsleft\"},[_c('div',{staticClass:\"swiper-button-prev\",class:!_vm.prevFlag ? 'opac' : '',on:{\"click\":_vm.prev}})]):_vm._e(),_vm._v(\" \"),(_vm.slides.length > 0 && !_vm.isSorting)?_c('div',{staticClass:\"btns\",staticStyle:{\"right\":\"0\"}},[_c('div',{staticClass:\"swiper-button-next\",class:!_vm.nextFlag || _vm.slides.length==1 ? 'opac' : '',on:{\"click\":_vm.next}})]):_vm._e()],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n        !_vm.showMask &&\n          !_vm.isUser &&\n          _vm.courseIsuseradd != 3 &&\n          _vm.commitProblemGuideStatus === 1 && !_vm.isSorting\n      ),expression:\"\\n        !showMask &&\\n          !isUser &&\\n          courseIsuseradd != 3 &&\\n          commitProblemGuideStatus === 1 && !isSorting\\n      \"}],staticClass:\"process\"},[_c('p',{staticClass:\"tt\"},[_vm._v(\"已读问题\")]),_vm._v(\" \"),_c('el-progress',{attrs:{\"percentage\":_vm.seePercent || 0,\"show-text\":false,\"color\":'#64afd5',\"stroke-width\":8,\"width\":200}}),_vm._v(\" \"),_c('p',{staticClass:\"num\"},[_c('font',{attrs:{\"color\":\"#64AFD5\"}},[_vm._v(_vm._s(_vm.progress_see_question_ids\n            ? _vm.progress_see_question_ids.split(\",\").length\n            : 0))]),_vm._v(\"\\n        / \"+_vm._s(_vm.slides.length)+\"\\n      \")],1)],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isSorting),expression:\"!isSorting\"}],ref:\"btnAddQuestion\",staticClass:\"add-question-wrapper\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isUser && _vm.commitProblemGuideStatus === 1),expression:\"isUser && commitProblemGuideStatus === 1\"}],staticClass:\"add-question\"},[_c('el-button',{attrs:{\"type\":\"default\",\"icon\":\"el-icon-plus\"},on:{\"click\":_vm.showAddQuestion}},[_vm._v(\"添加问题\")])],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.commitProblemGuideStatus === 0 && _vm.guideButton === 0),expression:\"commitProblemGuideStatus === 0 && guideButton === 0\"}],staticClass:\"add-question\"},[_c('el-button',{attrs:{\"id\":\"commitProblem_step2\",\"type\":\"default\",\"icon\":\"el-icon-plus\"}},[_vm._v(\"添加问题\")])],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"mask\",on:{\"click\":_vm.hidemask}},[(_vm.commitProblemGuideStatus === 1)?_c('div',{class:(\"evp big \" + (_vm.slides[_vm.selectIndex] &&\n      _vm.slides[_vm.selectIndex].course_question_small &&\n      _vm.slides[_vm.selectIndex].course_question_small.length ? 'big-card-top' : 'big-card-center')),attrs:{\"id\":\"copyBig\"},on:{\"mousedown\":_vm.disibledHideMask}},[_c('div',{staticClass:\"top\",attrs:{\"id\":(\"elTopCopy\" + _vm.selectIndex)}},[(_vm.slides[_vm.selectIndex])?_c('div',{staticClass:\"item\",class:!_vm.showSmallQuestion ? 'itemSmall' : ''},[_c('label',{staticClass:\"selnum\",class:[_vm.slides[_vm.selectIndex].course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(_vm.selectIndex + 1)+\"．\")]),_vm._v(\" \"),_c('span',{staticClass:\"selTitle prewrap-content\",class:[_vm.slides[_vm.selectIndex].course_question_isuseradd != 1 ? 'pcont-official' : '']},[_vm._v(_vm._s(_vm.slides[_vm.selectIndex].course_question_title))]),_vm._v(\" \"),(_vm.slides[_vm.selectIndex]\n            .course_question_small && _vm.slides[_vm.selectIndex]\n            .course_question_small.length)?_c('div',{staticClass:\"line\"}):_vm._e(),_vm._v(\" \"),(_vm.slides[_vm.selectIndex]\n                .course_question_small && _vm.slides[_vm.selectIndex]\n                .course_question_small.length)?_c('div',{staticClass:\"selCont\"},_vm._l((_vm.slides[_vm.selectIndex]\n                .course_question_small),function(itemx,ikey){return _c('div',{key:ikey,staticClass:\"sevcont\"},[_c('i',{staticClass:\"dian\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(itemx.course_question_small_title))])])}),0):_vm._e()]):_vm._e()])]):_vm._e(),_vm._v(\" \"),(_vm.commitProblemGuideStatus === 0)?_c('div',{staticClass:\"evp big\",attrs:{\"id\":\"copyBig\"},on:{\"mousedown\":_vm.disibledHideMask}},[_c('div',{staticClass:\"top\",attrs:{\"id\":\"`elTopCopy0`\"}},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"selnum\"},[_vm._v(\"1．\")]),_vm._v(\" \"),_c('span',{staticClass:\"selTitle prewrap-content\"},[_vm._v(_vm._s(_vm.guideSlides[0].course_question_title))]),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('div',{staticClass:\"selCont\"},_vm._l((_vm.guideSlides[0]\n                .course_question_small),function(itemx,ikey){return _c('div',{key:ikey,staticClass:\"sevcont\"},[_c('i',{staticClass:\"dian\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(itemx.course_question_small_title))])])}),0)])])]):_vm._e(),_vm._v(\" \"),_c('div',[(\n          _vm.timerCount > 0 &&\n            !_vm.isUser &&\n            this.slides[this.selectIndex] &&\n            this.slides[this.selectIndex].status != 1\n        )?_c('div',{ref:\"countDown\",staticClass:\"countDown\"},[_c('el-progress',{attrs:{\"percentage\":_vm.percent || 0,\"show-text\":false,\"color\":'#64AFD5'}}),_vm._v(\" \"),_c('p',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.timerCount)+\"S\")])],1):(\n          _vm.timerCount == 3 &&\n            !_vm.isUser &&\n            this.slides[this.selectIndex] &&\n            this.slides[this.selectIndex].status == 1\n        )?_c('div',{ref:\"countDown\",staticClass:\"countDown\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/problem_done.png\")}})]):(_vm.isUser && _vm.commitProblemGuideStatus === 1)?_c('div',{ref:\"countDown\",staticClass:\"operates countDown\"},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":\"关闭\",\"placement\":\"top\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/problem_close.svg\")},on:{\"click\":_vm.hidemask}})]),_vm._v(\" \"),_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":\"编辑或添加“问题推荐”\",\"placement\":\"top\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/problem_edit.svg\")},on:{\"click\":_vm.edit}})]),_vm._v(\" \"),_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":\"删除\",\"placement\":\"top\"}},[_c('img',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.del, \"click\", 300]),expression:\"[del, `click`, 300]\"}],attrs:{\"src\":require(\"@/assets/img/problem_del.svg\")}})])],1):_vm._e()])]),_vm._v(\" \"),_c('CommitProblemAdd',{attrs:{\"dialogVisible\":_vm.showEditDialog,\"isEdit\":_vm.isEdit,\"dataPro\":_vm.showEditDialog ? _vm.selectData : null},on:{\"handleClose\":_vm.handleClose,\"editUserQuestion\":_vm.editUserQuestion,\"addUserQuestion\":_vm.addUserQuestion}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sort-btn1\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/question-sort.svg\")}}),_vm._v(\"调整顺序\")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3d2d53c4\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CommitProblem.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3d2d53c4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CommitProblem.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CommitProblem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CommitProblem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3d2d53c4\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CommitProblem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3d2d53c4\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CommitProblem.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM3cHgiIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDM3LjAgMzIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NzAgTDAsNzcwIEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMjQuODM5NDkyOSwwIEMyOS44OTk1ODI2LDAgMzQsNC4xMDE3MTk1OCAzNCw5LjE2MDUwNzA3IEMzNCwxNy45MjQ0Mjk3IDE3LjczMDQ3MzMsMjkuMzAyNzQxNiAxNy4wMjMxMDI2LDI5Ljc5MzMwOSBMMTYuOTk5MzQ4OSwyOS44MDk3MzU0IEwxNi45NzU1OTcxLDI5Ljc5MzMwOSBDMTYuMjY4MjgwNSwyOS4zMDI3NDE2IDAsMTcuOTI0NDI5NyAwLDkuMTYwNTA3MDcgQzAsNC4xMDE3MTk1OCA0LjEwMDQxNzQ1LDAgOS4xNTkyMDQ5MywwIEMxMi40ODM1NTEsMCAxNS4zOTUxMjA4LDEuNzcyMjAzMjkgMTYuOTk5MzQ4OSw0LjQyMjA0NDM1IEMxOC42MDQ4NzkyLDEuNzcyMjAzMjkgMjEuNTE1MTQ2OSwwIDI0LjgzOTQ5MjksMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcyNC4wIC02NDkuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcyNS41IDY1MC4wMDAwMDAwMDAwMDAxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMzQsMCAzNCwyOS44MDk3MzU0IDAsMjkuODA5NzM1NCAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzcxQUZCQiI+PC9wb2x5Z29uPjwvZz48cGF0aCBkPSJNMzQsOS4xNjA1MDcwNyBDMzQsNC4xMDE3MTk1OCAyOS44OTk1ODI2LDAgMjQuODM5NDkyOSwwIEMyMS41MTUxNDY5LDAgMTguNjA0ODc5MiwxLjc3MjIwMzI5IDE2Ljk5OTM0ODksNC40MjIwNDQzNSBDMTUuMzk1MTIwOCwxLjc3MjIwMzI5IDEyLjQ4MzU1MSwwIDkuMTU5MjA0OTMsMCBDNC4xMDA0MTc0NSwwIDAsNC4xMDE3MTk1OCAwLDkuMTYwNTA3MDcgQzAsMTguMTE5MTgzNSAxNi45OTkzNDg5LDI5LjgwOTczNTQgMTYuOTk5MzQ4OSwyOS44MDk3MzU0IEMxNi45OTkzNDg5LDI5LjgwOTczNTQgMzQsMTguMTE5MTgzNSAzNCw5LjE2MDUwNzA3IFoiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mind_collected.svg\n// module id = KXLB\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n    <div class=\"leftMenu\">\r\n      <div class=\"top\"\r\n        @click=\"back\">\r\n        <img src=\"@/assets/img/back.svg\" />\r\n      </div>\r\n      <el-menu :default-active=\"activeIndex\"\r\n        @select=\"selectMenu\">\r\n        <el-menu-item index=\"1\"><span :class=\"activeIndex == '1' ? 'active' : ''\">全部消息</span></el-menu-item>\r\n        <el-menu-item index=\"2\"><span :class=\"activeIndex == '2' ? 'active' : ''\">未读消息</span></el-menu-item>\r\n        <el-menu-item index=\"3\"><span :class=\"activeIndex == '3' ? 'active' : ''\">已读消息</span></el-menu-item>\r\n      </el-menu>\r\n    </div>\r\n    <div class=\"setRight\">\r\n      <div class=\"title-wrapper\" style=\"display: flex;justify-content: space-between;\">\r\n        <label class=\"title\">{{ titles[activeIndex] }}</label>\r\n        <div class=\"read\" @click=\"setAllRead\"><img src=\"@/assets/img/all_read.svg\"/>全部已读</div>\r\n      </div>\r\n\r\n      <div class=\"setContent\">\r\n        <NoData v-if=\"allMessages.length == 0 && !loading\" />\r\n        <div class=\"message\"\r\n          v-for=\"(item, index) in allMessages\"\r\n          :key=\"index\"\r\n          @click=\"showDetail(item)\">\r\n          <div class=\"message-title\">\r\n            <div class=\"msg_title\"><span class=\"title\">{{ item.msg_title }}</span><span v-if=\"item.msg_status == 2\" class=\"tag\">未读</span></div>\r\n            <span class=\"time\">{{ item.msg_create_at_format }}</span>\r\n          </div>\r\n          <div class=\"message-content\">\r\n            {{ item.msg_content }}\r\n          </div>\r\n        </div>\r\n        <p v-if=\"loading\" class=\"loading\">加载中...</p>\r\n        <p\r\n          v-if=\"\r\n            !loading && noMore && allMessages.length > 0\r\n          \"\r\n          class=\"loading\"\r\n        >\r\n          --到底啦--\r\n        </p>\r\n      </div>\r\n    </div>\r\n    <el-dialog\r\n      class=\"dialog\"\r\n      title=\"\"\r\n      :visible=\"dialogVisible\"\r\n      :modal=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"false\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <img\r\n        class=\"dialog-close\"\r\n        src=\"@/assets/img/close.svg\"\r\n        @click=\"close\"\r\n      />\r\n      <div class=\"title-wrapper\">\r\n        <div>\r\n          <p class=\"title\">\r\n            {{currentMessage.msg_title}}\r\n          </p>\r\n          <p class=\"time\">{{ currentMessage.msg_create_at_format }}</p>\r\n        </div>\r\n        <div class=\"del\" @click=\"del\">删除</div>\r\n      </div>\r\n      <div class=\"content\">\r\n        {{ currentMessage.msg_content }}\r\n      </div>\r\n    </el-dialog>\r\n    <el-dialog\r\n      class=\"del_dialog\"\r\n      :visible.sync=\"dialogVisibleDel\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"true\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">确定删除？</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"cancel\">取 消</el-button>\r\n        <el-button class=\"bg-transparent clear\" @click=\"submitDel\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\n\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { getMessageList, setMessageRead, delUserMessage } from \"@/api/index\";\r\nimport NoData from \"@/components/NoData\";\r\n\r\nexport default {\r\n  components: {\r\n    NoData\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      activeIndex: \"1\",\r\n      allMessages: [],\r\n      titles: {\r\n        '1': '全部消息',\r\n        '2': '未读消息',\r\n        '3': '已读消息'\r\n      },\r\n      noMore: false,\r\n      pageSize: 100,\r\n      pageNum: 0,\r\n      loading: false,\r\n      dialogVisible: false,\r\n      dialogVisibleDel: false,\r\n      currentMessage: {}\r\n    };\r\n  },\r\n  computed: {\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    }\r\n  },\r\n  watch: {},\r\n  beforeRouteLeave(to, from, next) {\r\n    if (to.name == \"index\") {\r\n      EventBus.$emit(\"setBlackTheme\", \"black\");\r\n    }\r\n    next();\r\n  },\r\n  methods: {\r\n    close() {\r\n      this.dialogVisible = false;\r\n    },\r\n    async submitDel() {\r\n      try {\r\n        const res = await delUserMessage({\r\n          msg_id: this.currentMessage.msg_id,\r\n        });\r\n        if(res.code == 0) {\r\n          this.dialogVisible = false;\r\n          this.dialogVisibleDel = false;\r\n          this.allMessages = this.allMessages.filter(item => item.msg_id != this.currentMessage.msg_id);\r\n          this.currentMessage = {};\r\n          this.$message.success('删除成功');\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    cancel() {\r\n      this.dialogVisibleDel = false;\r\n    },\r\n    del() {\r\n      this.dialogVisibleDel = true;\r\n    },\r\n    showDetail(currentMessage) {\r\n      console.log('currentMessage: ', currentMessage);\r\n      this.currentMessage = currentMessage;\r\n      this.dialogVisible = true;\r\n      if(currentMessage.msg_status == 2) {\r\n        this.setMessageRead(currentMessage.msg_id)\r\n      }\r\n    },\r\n    async setMessageRead(msg_id) {\r\n      try {\r\n        let params = {\r\n        };\r\n        if(msg_id) {\r\n          params.msg_id = msg_id;\r\n        }\r\n        const res = await setMessageRead(params);\r\n        if(res.code == 0) {\r\n          // 每次设置已读之后，去请求用户未读消息数接口getUserMessageUnread\r\n          EventBus.$emit(\"getUserMessageUnread\");\r\n          if(!msg_id) {\r\n            this.init();\r\n            // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n            this.$nextTick(() => {\r\n              this.load();\r\n            });\r\n          } else {\r\n            // 找到这条数据，把未读状态修改成已读\r\n            this.allMessages.forEach(item => {\r\n              if(item.msg_id == msg_id) {\r\n                this.$set(item, \"msg_status\", 1);\r\n              }\r\n            });\r\n          }\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    setAllRead() {\r\n      this.setMessageRead();\r\n    },\r\n    load() {\r\n      console.log(\"load getMessageList\");\r\n      if(this.noMore) {\r\n        return;\r\n      }\r\n      this.pageNum++;\r\n      this.loading = true;\r\n      this.getMessageList();\r\n    },\r\n    async getMessageList() {\r\n      try {\r\n        const res = await getMessageList({\r\n          page: this.pageNum,\r\n          pageSize: this.pageSize,\r\n          msg_status: this.activeIndex == 1 ? '0' : this.activeIndex == 2 ? '2' : '1'\r\n        });\r\n        this.loading = false;\r\n        if(res && res.code == 0) {\r\n          if(this.pageNum <= 1) {\r\n            this.allMessages = [];\r\n          }\r\n          const data = res.data;\r\n          data.forEach((item) => {\r\n            item.msg_create_at_format = this.$moment(\r\n              new Date(parseFloat(item.msg_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD HH:mm:ss\");\r\n          })\r\n          this.allMessages.push(...data);\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        this.noMore = true;\r\n        console.log(error);\r\n      }\r\n    },\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    init() {\r\n      this.pageNum = 0;\r\n      this.noMore = false;\r\n      this.loading = true;\r\n      this.allMessages = [];\r\n    },\r\n    selectMenu(e) {\r\n      this.activeIndex = e;\r\n      this.init();\r\n      // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n      this.$nextTick(() => {\r\n        this.load();\r\n      });\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  mounted() {\r\n    this.toggle();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n  display: flex;\r\n  z-index: 105;\r\n}\r\n.leftMenu {\r\n  padding-top: 45px;\r\n  padding-left: 32px;\r\n  .top {\r\n    margin-top: 5px;\r\n    cursor: pointer;\r\n    margin-bottom: 30px;\r\n    img {\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n  }\r\n  .el-menu {\r\n    width: 245px;\r\n    height: 170px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    .el-menu-item {\r\n      height: 53px;\r\n      line-height: 53px;\r\n      border-bottom: 1px solid #f3f3f4;\r\n      font-size: 16px;\r\n      font-family: \"SourceHanSansCN-Medium\";\r\n      color: #292929;\r\n      padding-left: 20px !important;\r\n      &:last-child {\r\n        border-bottom: 0;\r\n      }\r\n      span {\r\n        padding-left: 10px;\r\n      }\r\n    }\r\n    .active {\r\n      border-left: 2px solid #64afd5;\r\n    }\r\n    .el-menu-item.is-active {\r\n      color: #292929;\r\n      // &::before {\r\n      //   content: \"\";\r\n      //   display: block;\r\n      //   position: absolute;\r\n      //   top: 27px;\r\n      //   left: 15px;\r\n      //   width: 2px;\r\n      //   height: 18px;\r\n      //   background-color: #64afd5;\r\n      // }\r\n    }\r\n    .el-menu-item:hover,\r\n    .el-menu-item:active,\r\n    .el-menu-item:focus {\r\n      background-color: #fdfdfd;\r\n    }\r\n  }\r\n}\r\n.setRight {\r\n  margin-top: 45px;\r\n  margin-left: 60px;\r\n  flex: 1;\r\n  padding-right: 30px;\r\n  .title-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    .title {\r\n      font-size: 16px;\r\n      color: #292929;\r\n      font-family: \"SourceHanSansCN\";\r\n    }\r\n    .read {\r\n      // width: 86px;\r\n      height: 26px;\r\n      display: flex;\r\n      align-items: center;\r\n      border: 1px solid #64AFD5;\r\n      border-radius: 16px;\r\n      color: #64AFD5;\r\n      padding: 0 10px;\r\n      font-size: 12px;\r\n      line-height: 26px;\r\n      cursor: pointer;\r\n      img {\r\n        width: 14px;\r\n        height: 14px;\r\n        margin-right: 4px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .setContent {\r\n    width: 100%;\r\n    min-width: 650px;\r\n    padding: 27px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    margin-top: 32px;\r\n    .message {\r\n      padding: 16px;\r\n      cursor: pointer;\r\n      &:not(:last-of-type) {\r\n        border-bottom: 1px solid #F3F3F4;\r\n      }\r\n      .message-title {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        .msg_title {\r\n          display: flex;\r\n          align-items: center;\r\n          .title {\r\n            font-size: 14px;\r\n            color: #292929;\r\n            font-family: \"SourceHanSansCN\";\r\n            padding-right: 8px;\r\n          }\r\n          .tag {\r\n            font-size: 10px;\r\n            color: #FF6E6A;\r\n            font-family: \"SourceHanSansCN\";\r\n            border: 1px solid #FF6E6A;\r\n            padding: 0 4px;\r\n            border-radius: 2px;\r\n          }\r\n        }\r\n        .time {\r\n          font-size: 12px;\r\n          color: #D4D9DB;\r\n          font-family: \"SourceHanSansCN\";\r\n        }\r\n      }\r\n      .message-content {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN;\r\n        color: #7E878C;\r\n        line-height: 20px;\r\n        padding-top: 12px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.loading {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 26px;\r\n  width: 100%;\r\n}\r\n.dialog {\r\n  .dialog-close {\r\n    position: absolute;\r\n    right: -60px;\r\n    top: 7px;\r\n  }\r\n  .title-wrapper {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    padding: 24px 30px 16px 30px;\r\n    border-bottom: 1px solid #F3F3F4;\r\n    .title {\r\n      font-size: 16px;\r\n      line-height: 24px;\r\n      color: #292929;\r\n    }\r\n    .time {\r\n      font-size: 12px;\r\n      line-height: 14px;\r\n      color: #BCC4C8;\r\n      padding-top: 8px;\r\n    }\r\n    .del {\r\n      font-size: 14px;\r\n      line-height: 20px;\r\n      color: #FD8B65;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n  .content {\r\n    padding: 24px 30px 0 30px;\r\n    font-size: 14px;\r\n    color: #7E878C;\r\n    line-height: 28px;\r\n    overflow-y: auto;\r\n  }\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 134px;\r\n    width: 632px;\r\n    height: 500px;\r\n    position: relative;\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    padding: 0;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0;\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    padding-bottom: 24px;\r\n  }\r\n}\r\n\r\n.del_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n/deep/ .el-button {\r\n  &.clear {\r\n    color: #FFF !important;\r\n    border-color: #64afd5;\r\n    background-color: #64afd5 !important;\r\n  }\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/mindMessage.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"main-content big-view bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : ''],attrs:{\"infinite-scroll-distance\":1}},[_c('div',{staticClass:\"leftMenu\"},[_c('div',{staticClass:\"top\",on:{\"click\":_vm.back}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/back.svg\")}})]),_vm._v(\" \"),_c('el-menu',{attrs:{\"default-active\":_vm.activeIndex},on:{\"select\":_vm.selectMenu}},[_c('el-menu-item',{attrs:{\"index\":\"1\"}},[_c('span',{class:_vm.activeIndex == '1' ? 'active' : ''},[_vm._v(\"全部消息\")])]),_vm._v(\" \"),_c('el-menu-item',{attrs:{\"index\":\"2\"}},[_c('span',{class:_vm.activeIndex == '2' ? 'active' : ''},[_vm._v(\"未读消息\")])]),_vm._v(\" \"),_c('el-menu-item',{attrs:{\"index\":\"3\"}},[_c('span',{class:_vm.activeIndex == '3' ? 'active' : ''},[_vm._v(\"已读消息\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"setRight\"},[_c('div',{staticClass:\"title-wrapper\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('label',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.titles[_vm.activeIndex]))]),_vm._v(\" \"),_c('div',{staticClass:\"read\",on:{\"click\":_vm.setAllRead}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/all_read.svg\")}}),_vm._v(\"全部已读\")])]),_vm._v(\" \"),_c('div',{staticClass:\"setContent\"},[(_vm.allMessages.length == 0 && !_vm.loading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_vm._l((_vm.allMessages),function(item,index){return _c('div',{key:index,staticClass:\"message\",on:{\"click\":function($event){return _vm.showDetail(item)}}},[_c('div',{staticClass:\"message-title\"},[_c('div',{staticClass:\"msg_title\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(item.msg_title))]),(item.msg_status == 2)?_c('span',{staticClass:\"tag\"},[_vm._v(\"未读\")]):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"time\"},[_vm._v(_vm._s(item.msg_create_at_format))])]),_vm._v(\" \"),_c('div',{staticClass:\"message-content\"},[_vm._v(\"\\n          \"+_vm._s(item.msg_content)+\"\\n        \")])])}),_vm._v(\" \"),(_vm.loading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(\n          !_vm.loading && _vm.noMore && _vm.allMessages.length > 0\n        )?_c('p',{staticClass:\"loading\"},[_vm._v(\"\\n        --到底啦--\\n      \")]):_vm._e()],2)]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"dialog\",attrs:{\"title\":\"\",\"visible\":_vm.dialogVisible,\"modal\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"}},[_c('img',{staticClass:\"dialog-close\",attrs:{\"src\":require(\"@/assets/img/close.svg\")},on:{\"click\":_vm.close}}),_vm._v(\" \"),_c('div',{staticClass:\"title-wrapper\"},[_c('div',[_c('p',{staticClass:\"title\"},[_vm._v(\"\\n          \"+_vm._s(_vm.currentMessage.msg_title)+\"\\n        \")]),_vm._v(\" \"),_c('p',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.currentMessage.msg_create_at_format))])]),_vm._v(\" \"),_c('div',{staticClass:\"del\",on:{\"click\":_vm.del}},[_vm._v(\"删除\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_vm._v(\"\\n      \"+_vm._s(_vm.currentMessage.msg_content)+\"\\n    \")])]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"visible\":_vm.dialogVisibleDel,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleDel=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"确定删除？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.cancel}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"bg-transparent clear\",on:{\"click\":_vm.submitDel}},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ff41eb00\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/mindMessage.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ff41eb00\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mindMessage.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./mindMessage.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./mindMessage.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ff41eb00\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mindMessage.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-ff41eb00\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/mindMessage.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAAAXNSR0IArs4c6QAAAxxJREFUWEftlU9oHHUUx7/f3+wkqUFbKlSLFHtpDyIKRWjpwdoepC31IJigUMWetGqybTab3VW6+9vYkkmyu66rqIsKUotKUqkoCsWLeCsUD2JPgooJpvTQFKR/ss7MVyY2kmzaZpO0kMPObZj35/Pe9703xAp5uEI40ASpV6LZkWZHFtrO5oys/BnJeYU+iY+5sZbUkWTX7wtpupzvduCtJ4QwacgPcumeb6JY/89IzitMSLgf4ISJxZ60yfgvy0l2M9/sQLGD0AkBLSRO5tO9HXNA8l7pqQAahdRK8qLjOHuzyUNnbidM1iu+ROk9AYbEeMy4u470xX+dAxK92KHSbgXhKQFtIC5DPNCfSYwuF6Zarbp/TV62Uvj6dFLyj5jTsmv2CMxbX+uVHxf8UQnrpgHIU62t5tU3Dh+eWApQ/3B5a+D7Hwl4+DrEWdJ92qa6x2fHu+EdOVoqPfBPTSclbbvufIlEHi6P256ei40AvTn09qYg9OOSDkZSRD6G/HDtXW5Xd3f3VEPrK4nWK0ZavjzHgZyC8LUx+syhe251G/+cCWorlXswFW4Mg2ArgRclba+r2KdBh031fnWjQuZ1ZGRkxDn329gnkvb/Jw2+NeD5EHoWQnsdmCCcJ7FK0pp5VRLjgDku6XlAGwj4JA/YdOLEgh2xQ8V9YaDp3Tbg59i25QW7c6c/OPjx3VfDyecEJgRtvqU85GljUHlo44bTnZ2dwdHCuw/W/GvfQ9hE8Mq97e7aennmD+vw++sUXKmK+Mn09RyzZDg7adYrfAdhD4GfDU02INYAoW/gTIUKv4DkGMO4TSUqs/2Olcv31a4FJQpjNpNIL9iRW1XqedXVV/X3hegYAUz3ZxKDcyAHij8A2kHix3y6d0cjQz1js6i/r/WK+0Pp08jZddzNM8doJljWK3RBqBAIGWtfb5MHLzQKsyiQ3EDxHUGvRbLkM72P1ieJ1r5W0xgkOuAzuUziyzsCYofLjygIUo7jVG52/rNeIU5wS5tWHcpkXpm8IyCNBl2K3aKkWUqCRn2aIMu6I422eSl2TWnqu/YvxUgwMILff5wAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/look.png\n// module id = KXx+\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/default.d5918ad.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/default.png\n// module id = Lg5A\n// module chunks = 171","<template>\r\n  <el-dialog\r\n    class=\"con_dialog welcome_dialog\"\r\n    title=\"\"\r\n    :visible=\"dialogVisible\"\r\n    :modal=\"true\"\r\n    :append-to-body=\"true\"\r\n    :show-close=\"false\"\r\n    center\r\n    top=\"0vh\"\r\n  >\r\n    <div class=\"tips\">\r\n      <div class=\"tip\">元日记帮助我们通过阅读，从了解生命到改变人生！</div>\r\n      <div class=\"tip\">随着中轴线展开人格养成的密码，写下黑牌、白牌来展示、记录阅读带来的生命变化。</div>\r\n      <div class=\"tip\">请<span class=\"add\">“添加阅读笔记”</span>，开启生命改变的旅程～</div>\r\n    </div>\r\n\r\n    <img\r\n        class=\"dialog-close\"\r\n        src=\"@/assets/img/close.svg\"\r\n        @click=\"close\"\r\n      />\r\n  </el-dialog>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  props: {\r\n    dialogVisible: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n    };\r\n  },\r\n  computed: {\r\n  },\r\n  methods: {\r\n    close() {\r\n      this.$emit(\"close\");\r\n    },\r\n  },\r\n  mounted() {\r\n  }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.tips {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  height: 100%;\r\n  position: relative;\r\n  &::before {\r\n    position: absolute;\r\n    content: \"\";\r\n    width: 6px;\r\n    height: 6px;\r\n    top: -37px;\r\n    left: 50%;\r\n    border-radius: 50%;\r\n    transform: translateX(-50%);\r\n    background: #64AFD5;\r\n  }\r\n  &::after {\r\n    position: absolute;\r\n    content: \"\";\r\n    width: 6px;\r\n    height: 6px;\r\n    bottom: -37px;\r\n    left: 50%;\r\n    border-radius: 50%;\r\n    transform: translateX(-50%);\r\n    background: #64AFD5;\r\n  }\r\n  .tip {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #434749;\r\n    line-height: 24px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n    .add {\r\n      font-weight: 700;\r\n    }\r\n    // &:not(:last-child) {\r\n    //   margin-bottom: 24px;\r\n    // }\r\n  }\r\n}\r\n.welcome_dialog {\r\n  /deep/ .el-dialog {\r\n    width: 292px !important;\r\n    height: 396px !important;\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    display: none;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 90px 28px !important;\r\n    height: 100%;\r\n    position: relative;\r\n  }\r\n}\r\n\r\n.dialog-close {\r\n  position: absolute;\r\n  bottom: -67px;\r\n  width: 48px;\r\n  height: 48px;\r\n  cursor: pointer;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/Welcome.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"con_dialog welcome_dialog\",attrs:{\"title\":\"\",\"visible\":_vm.dialogVisible,\"modal\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"}},[_c('div',{staticClass:\"tips\"},[_c('div',{staticClass:\"tip\"},[_vm._v(\"元日记帮助我们通过阅读，从了解生命到改变人生！\")]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_vm._v(\"随着中轴线展开人格养成的密码，写下黑牌、白牌来展示、记录阅读带来的生命变化。\")]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_vm._v(\"请\"),_c('span',{staticClass:\"add\"},[_vm._v(\"“添加阅读笔记”\")]),_vm._v(\"，开启生命改变的旅程～\")])]),_vm._v(\" \"),_c('img',{staticClass:\"dialog-close\",attrs:{\"src\":require(\"@/assets/img/close.svg\")},on:{\"click\":_vm.close}})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-626a6312\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/Welcome.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-626a6312\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Welcome.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Welcome.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Welcome.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-626a6312\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Welcome.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-626a6312\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/Welcome.vue\n// module id = null\n// module chunks = ","<template>\r\n  <el-dialog\r\n    class=\"con_dialog\"\r\n    title=\"\"\r\n    :visible=\"dialogVisible\"\r\n    :modal=\"true\"\r\n    :append-to-body=\"true\"\r\n    :show-close=\"false\"\r\n    center\r\n    top=\"0vh\"\r\n  >\r\n    <div class=\"nickname\">\r\n      <div class=\"title\">欢迎进入元日记</div>\r\n      <div class=\"nickname-wrapper\">\r\n        <span>昵称</span>\r\n        <el-input\r\n          class=\"nickname-input\"\r\n          placeholder=\"请输入您的昵称\"\r\n          v-model=\"nickname\"\r\n        ></el-input>\r\n      </div>\r\n      <div class=\"confirm\" @click=\"setUserInfo\">\r\n        确定\r\n      </div>\r\n    </div>\r\n  </el-dialog>\r\n</template>\r\n\r\n<script>\r\n// import { setUserInfo } from \"@/utils/auth\";\r\nimport { getUserInfo, editUserInfo } from \"@/api/index\";\r\nexport default {\r\n  props: {\r\n    dialogVisible: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      nickname: \"\",\r\n      userInfo: {}\r\n    };\r\n  },\r\n  computed: {\r\n    user() {\r\n      let user = this.$store.getters.user;\r\n      if (typeof user == \"string\") {\r\n        return JSON.parse(user);\r\n      } else {\r\n        return user;\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    async getUserInfo() {\r\n      try {\r\n        const res = await getUserInfo();\r\n        if(res && res.code == 0) {\r\n          this.userInfo = res.data[0];\r\n        }\r\n      } catch (error) {\r\n        // this.$message.error(error);\r\n      }\r\n    },\r\n    async setUserInfo() {\r\n      if(!this.nickname) {\r\n        this.$message.warning(\"请输入昵称\");\r\n        return;\r\n      }\r\n      try {\r\n        let params = {\r\n          ...this.userInfo,\r\n          user_nickname: this.nickname\r\n        };\r\n        this.$emit(\"editNickname\", this.nickname);\r\n      } catch (error) {}\r\n    }\r\n  },\r\n  mounted() {\r\n    this.getUserInfo();\r\n  }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.nickname {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  .title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 300;\r\n    font-size: 28px;\r\n    color: #64afd5;\r\n    line-height: 28px;\r\n    text-align: center;\r\n    font-style: normal;\r\n  }\r\n  .nickname-wrapper {\r\n    width: 100%;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    border-bottom: 1px solid rgba(100, 175, 213, 0.2);\r\n    margin-top: 30px;\r\n    margin-bottom: 55px;\r\n    span {\r\n      display: inline-block;\r\n      height: 30px;\r\n      line-height: 30px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #64afd5;\r\n      font-style: normal;\r\n      padding-right: 42px;\r\n    }\r\n    .nickname-input {\r\n      flex: 1;\r\n    }\r\n  }\r\n}\r\n/deep/ .el-dialog {\r\n  width: 295px !important;\r\n}\r\n/deep/ .el-dialog__header {\r\n  display: none;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding: 37px 34px;\r\n}\r\n/deep/ .el-input {\r\n  height: 30px;\r\n  line-height: 30px;\r\n}\r\n/deep/ .el-input__inner {\r\n  height: 30px;\r\n  line-height: 30px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #7e878c;\r\n  font-style: normal;\r\n  border: none;\r\n}\r\n.confirm {\r\n  width: 223px;\r\n  height: 40px;\r\n  background: #64afd5;\r\n  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n  border-radius: 8px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 16px;\r\n  color: #ffffff;\r\n  line-height: 40px;\r\n  text-align: center;\r\n  font-style: normal;\r\n  cursor: pointer;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/nickNameDialog.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"title\":\"\",\"visible\":_vm.dialogVisible,\"modal\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"}},[_c('div',{staticClass:\"nickname\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"欢迎进入元日记\")]),_vm._v(\" \"),_c('div',{staticClass:\"nickname-wrapper\"},[_c('span',[_vm._v(\"昵称\")]),_vm._v(\" \"),_c('el-input',{staticClass:\"nickname-input\",attrs:{\"placeholder\":\"请输入您的昵称\"},model:{value:(_vm.nickname),callback:function ($$v) {_vm.nickname=$$v},expression:\"nickname\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"confirm\",on:{\"click\":_vm.setUserInfo}},[_vm._v(\"\\n      确定\\n    \")])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f4cbbd50\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/nickNameDialog.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f4cbbd50\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./nickNameDialog.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./nickNameDialog.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./nickNameDialog.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f4cbbd50\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./nickNameDialog.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-f4cbbd50\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/nickNameDialog.vue\n// module id = null\n// module chunks = ","<!-- 课程选择页面 -->\r\n<template>\r\n  <div class=\"courseselect\">\r\n    <Course\r\n      v-if=\"dialogVisible\"\r\n      ref=\"courseRef\"\r\n      :dialogVisible=\"dialogVisible\"\r\n      :parent=\"that\"\r\n      :course=\"course\"\r\n      :nickName=\"nickName\"\r\n      :guiding=\"courseClassName == 0 || courseClassName == undefined\"\r\n      @closeDialog=\"handleClose\"\r\n      @selectCourse=\"selectCourse\"\r\n    />\r\n    <Welcome :dialogVisible=\"welcomeVisible\" v-if=\"welcomeVisible\" @close=\"closeWelcome\" />\r\n    <nickNameDialog v-if=\"dialogVisibleNickname\" :dialogVisible=\"dialogVisibleNickname\" @editNickname=\"editNickname\" />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport Course from \"@/components/Course.vue\";\r\nimport { editUserInfo, getUserInfo, getCourseList, getNowCourse } from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { getUserGuideStatus, setUserGuideStatus } from \"@/api/index\";\r\nimport Welcome from \"./Welcome.vue\";\r\nimport nickNameDialog from './nickNameDialog.vue';\r\nimport { Base64 } from \"js-base64\";\r\nimport introJs from 'intro.js'\r\n\r\nexport default {\r\n  name: \"CourseSelect\",\r\n  components: { Course, nickNameDialog, Welcome },\r\n  async beforeRouteLeave(to, from, next) {\r\n    console.log(\"to:\", to);\r\n    const res = await getUserInfo();\r\n    let userInfo = {};\r\n    if(res.code == 0) {\r\n      userInfo = res.data[0]\r\n    }\r\n    if(userInfo.user_status != 2) {\r\n       // 在这里可以执行一些清理操作\r\n      this.$destroy(); // 手动销毁组件\r\n      next();\r\n    } else {\r\n      next(false);\r\n    }\r\n\r\n  },\r\n  data() {\r\n    return {\r\n      dialogVisible: false,\r\n      that: this,\r\n      userInfo: {},\r\n      dialogVisibleNickname: false,\r\n      welcomeVisible: false,\r\n      nickName: \"\",\r\n      courses: null,\r\n      courseClassName: 0\r\n    };\r\n  },\r\n  computed: {\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    isDeleteCourse() {\r\n      return this.$store.getters.isDeleteCourse;\r\n    },\r\n    initedCanAccessYouTube() {\r\n      return this.$store.getters.initedCanAccessYouTube;\r\n    }\r\n  },\r\n  watch: {\r\n    initedCanAccessYouTube: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        console.log(\"initedCanAccessYouTube:\", newVal)\r\n        if(newVal && !oldVal) {\r\n          this.getUserInfo();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  },\r\n  methods: {\r\n    closeWelcome(){\r\n      this.welcomeVisible = false;\r\n      //引导模式\r\n      this.handleUserGuideStatus();\r\n    },\r\n    editNickname(nickName) {\r\n      this.nickName = nickName;\r\n      this.dialogVisibleNickname = false;\r\n      this.welcomeVisible = true;\r\n    },\r\n    async getUserInfo() {\r\n      console.log(\"isDeleteCourse:\", this.isDeleteCourse);\r\n      try {\r\n        const res = await getUserInfo();\r\n        const res1 = await getNowCourse();\r\n        console.log(\"res1:\", res1)\r\n        if(res && res.code === 0) {\r\n          this.userInfo = res.data[0];\r\n          if(this.userInfo.user_password_reset == 1) {\r\n            // 需要重置\r\n            this.dialogVisibleNickname = false;\r\n            this.dialogVisible = false;\r\n          } else if(this.userInfo && this.userInfo.user_status == 2) {\r\n            this.dialogVisibleNickname = true;\r\n            this.dialogVisible = false;\r\n          } else if(!res1 || res1 && res1.code == 1028) {\r\n            this.dialogVisible = true;\r\n            this.courseClassName = 1;\r\n          } else {\r\n            this.dialogVisible = false;\r\n            this.courseClassName = 1;\r\n            this.$router.push(\"/\");\r\n          }\r\n        }\r\n\r\n      } catch (error) {\r\n        // this.$message.error(error);\r\n      }\r\n    },\r\n    async getCourseList() {\r\n      try {\r\n        const res = await getCourseList();\r\n        if (res && res.code === 0) {\r\n          this.courses = res.data;\r\n          this.$store.dispatch(\"setCourseList\", res.data).then(() => {\r\n            if(this.userInfo && this.userInfo.user_status == 1) {\r\n              this.dialogVisible = true;\r\n            }\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    handleClose() {\r\n      console.log(\"handleClose\");\r\n      this.dialogVisible = false;\r\n    },\r\n    selectCourse(data) {\r\n      console.log(\"selectCourse:\")\r\n      this.dialogVisible = false;\r\n      this.$store.dispatch(\"setIsDeleteCourse\", false);\r\n    },\r\n    async editUserInfo(data) {\r\n      try {\r\n        const params = {\r\n          user_id: this.userInfo.user_id,\r\n          course_id: data.course_id,\r\n          course_isuseradd: data.course_isuseradd,\r\n          user_nickname: Base64.encode(this.nickName)\r\n        };\r\n        console.log(\"editUserInfo:\", params);\r\n        const res = await editUserInfo(params);\r\n        let user = {\r\n          ...this.userInfo,\r\n          user_status: 1\r\n        };\r\n        if (res && res.code == 0) {\r\n          console.log(\"courseSelect login:\", user);\r\n          this.$store.dispatch(\"login\", user).then(() => {\r\n            // 选择完成，跳转到首页\r\n            this.$router.push(\"/\");\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    async handleUserGuideStatus() {\r\n      try {\r\n        const res = await getUserGuideStatus();\r\n        if (res && res.code === 0) {\r\n          let guideStatus = res.data[0].guide_status\r\n            ? JSON.parse(res.data[0].guide_status)\r\n            : null;\r\n          if (!guideStatus) {\r\n            // 用户菜单状态为空，修改状态为初始状态\r\n            const jsonData = {\r\n              guide_status: JSON.stringify({\r\n                index: 0, //首页\r\n                black1: 0, //黑牌\r\n                black2: 0, //黑牌\r\n                black3: 0, //黑牌\r\n                black4: 0, //黑牌\r\n                courseClassName: 0, //课程目录\r\n                mindMap: 0, //思维导图\r\n                problemConsciousness: 0, //问题意识\r\n                commitProblem: 0, //问题意识-二级页面\r\n                problemRecommended: 0, //问题推荐\r\n                problemWorkOut: 0, //问题解决\r\n                meditate_1: 0, //思维观念-观修文\r\n                meditate_2: 0, //行为习惯-观修文\r\n                confirmTips: 0, //提交心得\r\n                confirmTips_1: 0, //提交心得\r\n                studyLog: 0, //修学日志，\r\n                silence_1: 0,\r\n                silence_2: 0,\r\n                courseContent: 0, //课程内容\r\n                heartPlaza: 0 //心得广场\r\n              })\r\n            };\r\n            // 设置用户引导状态\r\n            const setUserRes = await setUserGuideStatus(jsonData);\r\n            if (setUserRes.code === 0) {\r\n              // 再次获取用户引导状态\r\n              const updatedRes = await getUserGuideStatus();\r\n              guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n            }\r\n          }\r\n          if (guideStatus) {\r\n            localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n            console.log(\"guideStatus\", guideStatus);\r\n            this.courseClassName = guideStatus.courseClassName;\r\n            console.log(\"courseClassName:\", this.courseClassName);\r\n            this.dialogVisible = true;\r\n            if (\r\n              guideStatus.courseClassName === 0 ||\r\n              guideStatus.courseClassName === undefined\r\n            ) {\r\n              let timeout = setTimeout(() => {\r\n                this.initGuide();\r\n                clearTimeout(timeout);\r\n              }, 600);\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        console.error(\"Error fetching user guide status:\", error);\r\n      }\r\n    },\r\n    //进入未激活页面的引导\r\n    initGuide() {\r\n      this.appType = localStorage.getItem(\"app_type\");\r\n      if (this.appType === \"1\") {\r\n        this.$refs.courseRef.guide_1();\r\n      } else {\r\n        this.$refs.courseRef.guide_2();\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    // if(this.isDeleteCourse) {\r\n    //   this.dialogVisible = true;\r\n    // }\r\n    // this.dialogVisible = true;\r\n    this.getCourseList();\r\n    this.getUserInfo();\r\n  },\r\n  async mounted() {\r\n    introJs().exit();\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    await this.getUserInfo();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.courseselect {\r\n  width: 100%;\r\n  height: 100%;\r\n  background: #fff;\r\n}\r\n</style>\r\n\r\n<!-- 新手引导提示样式 -->\r\n<style lang=\"scss\">\r\n.introjs-skipbutton {\r\n  display: none;\r\n}\r\n.introjs-prevbutton {\r\n  display: none;\r\n}\r\n.introjs-tooltip-header {\r\n  display: none;\r\n}\r\n.introjs-tooltip {\r\n  background-color: rgba(255, 255, 255, 1);\r\n}\r\n.introjs-top-left-aligned {\r\n  margin-bottom: 10px;\r\n  left: 50% !important;\r\n  transform: translateX(-50%);\r\n}\r\n.introjs-bottom-left-aligned {\r\n  left: 50% !important;\r\n  margin-top: 10px;\r\n  transform: translateX(-50%);\r\n}\r\n.introjs-right {\r\n  margin-left: 10px;\r\n}\r\n.introjs-left {\r\n  margin-right: 10px;\r\n}\r\n.introjs-bottom-middle-aligned {\r\n  margin-top: 10px;\r\n}\r\n.introjs-top-middle-aligned {\r\n  margin-bottom: 10px;\r\n}\r\n.courseClassName_customHighlight_2 {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 1px 2px, rgba(33, 33, 33, 0.5) 0 0 0 5000px;\r\n}\r\n.courseClassName_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 1px 2px, rgba(33, 33, 33, 0.5) 0 0 0 5000px; /* 设置透明边框 */\r\n  border-radius: 200px;\r\n}\r\n.index_customTooltip {\r\n  min-width: 220px;\r\n  max-width: 220px;\r\n  background-color: #ffffff !important;\r\n  border-radius: 16px;\r\n  .introjs-tooltiptext {\r\n    color: #434749;\r\n    font-size: 13px;\r\n    padding: 22px 18px 0 18px;\r\n    //padding:5px;\r\n    line-height: 1.6;\r\n    letter-spacing: 0.1em;\r\n    text-align: justify;\r\n  }\r\n  .introjs-tooltip-title {\r\n    font-size: 14px;\r\n    color: #6b6e70;\r\n    margin: 5px;\r\n    padding: 5px;\r\n  }\r\n  .introjs-arrow.top {\r\n    left: 50%;\r\n    border-width: 20px;\r\n    transform: translateX(-50%);\r\n    border-color: transparent transparent rgba(255, 255, 255, 1);\r\n    top: -30px;\r\n  }\r\n\r\n  .introjs-arrow.top-middle {\r\n    left: 50%;\r\n    border-color: transparent transparent rgba(255, 255, 255, 1);\r\n    transform: translateX(-50%);\r\n    border-width: 20px;\r\n    top: -30px;\r\n    margin-left: 1px;\r\n  }\r\n  .introjs-arrow.left {\r\n    border-color: transparent rgba(255, 255, 255, 1) transparent transparent;\r\n    border-width: 10px;\r\n    top: 20px;\r\n    left: -18px;\r\n  }\r\n\r\n  .introjs-arrow.left-bottom {\r\n    border-color: transparent rgba(255, 255, 255, 1) transparent transparent;\r\n    border-width: 10px;\r\n    left: -8%;\r\n    bottom: 20%;\r\n  }\r\n  .introjs-arrow.bottom {\r\n    border-width: 10px;\r\n    bottom: -18px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    border-color: rgba(255, 255, 255, 1) transparent transparent;\r\n  }\r\n  .introjs-arrow.bottom-middle {\r\n    border-color: rgba(255, 255, 255, 1) transparent transparent;\r\n    border-width: 10px;\r\n    top: 100%;\r\n    left: 45%;\r\n  }\r\n  .introjs-arrow.right {\r\n    border-color: transparent transparent transparent rgba(255, 255, 255, 1);\r\n    border-width: 10px;\r\n    right: -18px;\r\n    top: 10%;\r\n  }\r\n\r\n  .introjs-tooltipbuttons {\r\n    display: flex;\r\n    justify-content: center;\r\n    border-top: 1px solid #ffffff;\r\n    padding: 14px 10px 18px 10px;\r\n  }\r\n  .introjs-button {\r\n    font-size: 13px;\r\n    color: #64afd5;\r\n    border: 1px solid #64afd5;\r\n    align-content: center;\r\n    padding: 4px 31px 4px 31px;\r\n  }\r\n  .introjs-button:hover,\r\n  .introjs-button:focus,\r\n  .introjs-button:active {\r\n    font-size: 13px;\r\n    color: #64afd5;\r\n    border: 1px solid #64afd5;\r\n    align-content: center;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/CourseSelect.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"courseselect\"},[(_vm.dialogVisible)?_c('Course',{ref:\"courseRef\",attrs:{\"dialogVisible\":_vm.dialogVisible,\"parent\":_vm.that,\"course\":_vm.course,\"nickName\":_vm.nickName,\"guiding\":_vm.courseClassName == 0 || _vm.courseClassName == undefined},on:{\"closeDialog\":_vm.handleClose,\"selectCourse\":_vm.selectCourse}}):_vm._e(),_vm._v(\" \"),(_vm.welcomeVisible)?_c('Welcome',{attrs:{\"dialogVisible\":_vm.welcomeVisible},on:{\"close\":_vm.closeWelcome}}):_vm._e(),_vm._v(\" \"),(_vm.dialogVisibleNickname)?_c('nickNameDialog',{attrs:{\"dialogVisible\":_vm.dialogVisibleNickname},on:{\"editNickname\":_vm.editNickname}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2edd945d\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/CourseSelect.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2edd945d\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CourseSelect.vue\")\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2edd945d\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!sass-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=1!./CourseSelect.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./CourseSelect.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./CourseSelect.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2edd945d\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./CourseSelect.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2edd945d\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/CourseSelect.vue\n// module id = null\n// module chunks = ","import CryptoJS from 'crypto-js'\r\n/**\r\n * @word 要加密的内容\r\n * @keyWord String  服务器随机返回的关键字\r\n *  */\r\nexport function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') {\r\n  var key = CryptoJS.enc.Utf8.parse(keyWord)\r\n  var srcs = CryptoJS.enc.Utf8.parse(word)\r\n  var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })\r\n  return encrypted.toString()\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/verifition/utils/ase.js","export function resetSize(vm) {\r\n  var img_width, img_height, bar_width, bar_height\t// 图片的宽度、高度，移动条的宽度、高度\r\n\r\n  var parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth\r\n  var parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight\r\n\r\n  if (vm.imgSize.width.indexOf('%') != -1) {\r\n    img_width = parseInt(this.imgSize.width) / 100 * parentWidth + 'px'\r\n  } else {\r\n    img_width = this.imgSize.width\r\n  }\r\n\r\n  if (vm.imgSize.height.indexOf('%') != -1) {\r\n    img_height = parseInt(this.imgSize.height) / 100 * parentHeight + 'px'\r\n  } else {\r\n    img_height = this.imgSize.height\r\n  }\r\n\r\n  if (vm.barSize.width.indexOf('%') != -1) {\r\n    bar_width = parseInt(this.barSize.width) / 100 * parentWidth + 'px'\r\n  } else {\r\n    bar_width = this.barSize.width\r\n  }\r\n\r\n  if (vm.barSize.height.indexOf('%') != -1) {\r\n    bar_height = parseInt(this.barSize.height) / 100 * parentHeight + 'px'\r\n  } else {\r\n    bar_height = this.barSize.height\r\n  }\r\n\r\n  return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height }\r\n}\r\n\r\nexport const _code_chars = [1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']\r\nexport const _code_color1 = ['#fffff0', '#f0ffff', '#f0fff0', '#fff0f0']\r\nexport const _code_color2 = ['#FF0033', '#006699', '#993366', '#FF9900', '#66CC66', '#FF33CC']\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/verifition/utils/util.js","import axios from 'axios';\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\n// axios.defaults.baseURL = process.env.BASE_API\r\nlet baseURL = '';\r\n\r\nconst service = axios.create({\r\n  baseURL: baseURL,\r\n  timeout: 40000,\r\n  headers: {\r\n    'X-Requested-With': 'XMLHttpRequest',\r\n    'Content-Type': 'application/json; charset=UTF-8'\r\n  },\r\n})\r\nservice.interceptors.request.use(\r\n  config => {\r\n    baseURL = localStorage.getItem(\"url\") ? decrypt(localStorage.getItem(\"url\")) : '';\r\n    console.log(\"baseURL1111111111:\", baseURL);\r\n    if (baseURL) {\r\n      config.baseURL = baseURL;\r\n    }\r\n    return config\r\n  },\r\n  error => {\r\n    Promise.reject(error)\r\n  }\r\n)\r\n\r\n// response interceptor\r\nservice.interceptors.response.use(\r\n  response => {\r\n    const res = response.data\r\n    return res\r\n  },\r\n  error => {\r\n  }\r\n)\r\nexport default service\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/verifition/utils/axios.js","<template>\r\n  <div style=\"position: relative\">\r\n    <div\r\n      v-if=\"type === '2'\"\r\n      class=\"verify-img-out\"\r\n      :style=\"{ height: parseInt(setSize.imgHeight) + vSpace + 'px', position: 'relative' }\"\r\n    >\r\n      <div\r\n        class=\"verify-img-panel\"\r\n        :style=\"{ width: setSize.imgWidth, height: setSize.imgHeight }\"\r\n      >\r\n        <img\r\n          :src=\"\r\n            backImgBase ? 'data:image/png;base64,' + backImgBase : defaultImg\r\n          \"\r\n          alt=\"\"\r\n          style=\"width: 100%; height: 100%; display: block\"\r\n        />\r\n        <div v-show=\"showRefresh\" class=\"verify-refresh\" @click=\"refresh\">\r\n          <i class=\"iconfont icon-refresh\" />\r\n        </div>\r\n        <transition name=\"tips\">\r\n          <span\r\n            v-if=\"tipWords\"\r\n            class=\"verify-tips\"\r\n            :class=\"passFlag ? 'suc-bg' : 'err-bg'\"\r\n            >{{ tipWords }}</span\r\n          >\r\n        </transition>\r\n      </div>\r\n      <div v-if=\"!blockBackImgBase\" class=\"loading\">\r\n        <i class=\"el-icon-loading\"></i>\r\n      </div>\r\n    </div>\r\n    <!-- 公共部分 -->\r\n    <div\r\n      class=\"verify-bar-area\"\r\n      :style=\"{\r\n        width: setSize.imgWidth,\r\n        height: barSize.height,\r\n        'line-height': barSize.height,\r\n      }\"\r\n    >\r\n      <span class=\"verify-msg\" v-text=\"text\" />\r\n      <div\r\n        class=\"verify-left-bar\"\r\n        :style=\"{\r\n          width: leftBarWidth !== undefined ? leftBarWidth : barSize.height,\r\n          height: barSize.height,\r\n          'border-color': leftBarBorderColor,\r\n          transaction: transitionWidth,\r\n        }\"\r\n      >\r\n        <span class=\"verify-msg\" v-text=\"finishText\" />\r\n        <div\r\n          class=\"verify-move-block\"\r\n          :style=\"{\r\n            width: barSize.height,\r\n            height: barSize.height,\r\n            'background-color': moveBlockBackgroundColor,\r\n            left: moveBlockLeft,\r\n            transition: transitionLeft,\r\n          }\"\r\n          @touchstart=\"start\"\r\n          @mousedown=\"start\"\r\n        >\r\n          <i\r\n            :class=\"['verify-icon iconfont', iconClass]\"\r\n            :style=\"{ color: iconColor }\"\r\n          />\r\n          <div\r\n            v-if=\"type === '2'\"\r\n            class=\"verify-sub-block\"\r\n            :style=\"{\r\n              width: Math.floor((parseInt(setSize.imgWidth) * 47) / 310) + 'px',\r\n              height: setSize.imgHeight,\r\n              top: '-' + (parseInt(setSize.imgHeight) + vSpace) + 'px',\r\n              'background-size': setSize.imgWidth + ' ' + setSize.imgHeight,\r\n            }\"\r\n          >\r\n            <img\r\n              v-if=\"blockBackImgBase\"\r\n              :src=\"'data:image/png;base64,' + blockBackImgBase\"\r\n              alt=\"\"\r\n              style=\"width: 100%; height: 100%; display: block\"\r\n            />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script type=\"text/babel\">\r\n/**\r\n * VerifySlide\r\n * @description 滑块\r\n * */\r\nimport { aesEncrypt } from \"./../utils/ase\";\r\nimport { resetSize } from \"./../utils/util\";\r\nimport { reqGet, reqCheck } from \"./../api/index\";\r\nimport { getCaptcha, checkCaptcha } from \"@/api/index\";\r\n\r\n//  \"captchaType\":\"blockPuzzle\",\r\nexport default {\r\n  name: \"VerifySlide\",\r\n  props: {\r\n    captchaType: {\r\n      type: String,\r\n    },\r\n    type: {\r\n      type: String,\r\n      default: \"1\",\r\n    },\r\n    // 弹出式pop，固定fixed\r\n    mode: {\r\n      type: String,\r\n      default: \"fixed\",\r\n    },\r\n    vSpace: {\r\n      type: Number,\r\n      default: 5,\r\n    },\r\n    explain: {\r\n      type: String,\r\n      default: \"向右滑动完成验证\",\r\n    },\r\n    imgSize: {\r\n      type: Object,\r\n      default() {\r\n        return {\r\n          width: \"310px\",\r\n          height: \"155px\",\r\n        };\r\n      },\r\n    },\r\n    blockSize: {\r\n      type: Object,\r\n      default() {\r\n        return {\r\n          width: \"50px\",\r\n          height: \"50px\",\r\n        };\r\n      },\r\n    },\r\n    barSize: {\r\n      type: Object,\r\n      default() {\r\n        return {\r\n          width: \"310px\",\r\n          height: \"40px\",\r\n        };\r\n      },\r\n    },\r\n    defaultImg: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      secretKey: \"\", // 后端返回的加密秘钥 字段\r\n      passFlag: \"\", // 是否通过的标识\r\n      backImgBase: \"\", // 验证码背景图片\r\n      blockBackImgBase: \"\", // 验证滑块的背景图片\r\n      backToken: \"\", // 后端返回的唯一token值\r\n      startMoveTime: \"\", // 移动开始的时间\r\n      endMovetime: \"\", // 移动结束的时间\r\n      tipsBackColor: \"\", // 提示词的背景颜色\r\n      tipWords: \"\",\r\n      text: \"\",\r\n      finishText: \"\",\r\n      setSize: {\r\n        imgHeight: 0,\r\n        imgWidth: 0,\r\n        barHeight: 0,\r\n        barWidth: 0,\r\n      },\r\n      top: 0,\r\n      left: 0,\r\n      moveBlockLeft: undefined,\r\n      leftBarWidth: undefined,\r\n      // 移动中样式\r\n      moveBlockBackgroundColor: undefined,\r\n      leftBarBorderColor: \"#ddd\",\r\n      iconColor: undefined,\r\n      iconClass: \"icon-right\",\r\n      status: false, // 鼠标状态\r\n      isEnd: false, // 是够验证完成\r\n      showRefresh: true,\r\n      transitionLeft: \"\",\r\n      transitionWidth: \"\",\r\n      inited: false,\r\n    };\r\n  },\r\n  computed: {\r\n    barArea() {\r\n      return this.$el.querySelector(\".verify-bar-area\");\r\n    },\r\n    resetSize() {\r\n      return resetSize;\r\n    },\r\n  },\r\n  watch: {\r\n    // type变化则全面刷新\r\n    type: {\r\n      immediate: true,\r\n      handler() {\r\n        if (!this.inited) {\r\n          this.inited = true;\r\n          this.init();\r\n        }\r\n      },\r\n    },\r\n  },\r\n  mounted() {\r\n    // 禁止拖拽\r\n    this.$el.onselectstart = function () {\r\n      return false;\r\n    };\r\n    console.log(this.defaultImg);\r\n  },\r\n  methods: {\r\n    init() {\r\n      this.text = this.explain;\r\n      console.log(\"getPictrue\");\r\n      this.getPictrue();\r\n      this.$nextTick(() => {\r\n        const setSize = this.resetSize(this); // 重新设置宽度高度\r\n        for (const key in setSize) {\r\n          this.$set(this.setSize, key, setSize[key]);\r\n        }\r\n        this.$parent.$emit(\"ready\", this);\r\n      });\r\n\r\n      var _this = this;\r\n\r\n      window.removeEventListener(\"touchmove\", function (e) {\r\n        _this.move(e);\r\n      });\r\n      window.removeEventListener(\"mousemove\", function (e) {\r\n        _this.move(e);\r\n      });\r\n\r\n      // 鼠标松开\r\n      window.removeEventListener(\"touchend\", function () {\r\n        _this.end();\r\n      });\r\n      window.removeEventListener(\"mouseup\", function () {\r\n        _this.end();\r\n      });\r\n\r\n      window.addEventListener(\"touchmove\", function (e) {\r\n        _this.move(e);\r\n      });\r\n      window.addEventListener(\"mousemove\", function (e) {\r\n        _this.move(e);\r\n      });\r\n\r\n      // 鼠标松开\r\n      window.addEventListener(\"touchend\", function () {\r\n        _this.end();\r\n      });\r\n      window.addEventListener(\"mouseup\", function () {\r\n        _this.end();\r\n      });\r\n    },\r\n\r\n    // 鼠标按下\r\n    start: function (e) {\r\n      e = e || window.event;\r\n      if (!e.touches) {\r\n        // 兼容PC端\r\n        var x = e.clientX;\r\n      } else {\r\n        // 兼容移动端\r\n        var x = e.touches[0].pageX;\r\n      }\r\n      this.startLeft = Math.floor(\r\n        x - this.barArea.getBoundingClientRect().left\r\n      );\r\n      this.startMoveTime = +new Date(); // 开始滑动的时间\r\n      if (this.isEnd == false) {\r\n        this.text = \"\";\r\n        this.moveBlockBackgroundColor = \"#337ab7\";\r\n        this.leftBarBorderColor = \"#337AB7\";\r\n        this.iconColor = \"#fff\";\r\n        e.stopPropagation();\r\n        this.status = true;\r\n      }\r\n    },\r\n    // 鼠标移动\r\n    move: function (e) {\r\n      e = e || window.event;\r\n      if (this.status && this.isEnd == false) {\r\n        if (!e.touches) {\r\n          // 兼容PC端\r\n          var x = e.clientX;\r\n        } else {\r\n          // 兼容移动端\r\n          var x = e.touches[0].pageX;\r\n        }\r\n        var bar_area_left = this.barArea.getBoundingClientRect().left;\r\n        var move_block_left = x - bar_area_left; // 小方块相对于父元素的left值\r\n        if (\r\n          move_block_left >=\r\n          this.barArea.offsetWidth -\r\n            parseInt(parseInt(this.blockSize.width) / 2) -\r\n            2\r\n        ) {\r\n          move_block_left =\r\n            this.barArea.offsetWidth -\r\n            parseInt(parseInt(this.blockSize.width) / 2) -\r\n            2;\r\n        }\r\n        if (move_block_left <= 0) {\r\n          move_block_left = parseInt(parseInt(this.blockSize.width) / 2);\r\n        }\r\n        // 拖动后小方块的left值\r\n        this.moveBlockLeft = move_block_left - this.startLeft + \"px\";\r\n        this.leftBarWidth = move_block_left - this.startLeft + \"px\";\r\n      }\r\n    },\r\n\r\n    // 鼠标松开\r\n    end: async function () {\r\n      this.endMovetime = +new Date();\r\n      var _this = this;\r\n      // 判断是否重合\r\n      if (this.status && this.isEnd == false) {\r\n        console.log(\"setSize:\", this.setSize);\r\n        var moveLeftDistance = parseInt(\r\n          (this.moveBlockLeft || \"\").replace(\"px\", \"\")\r\n        );\r\n        moveLeftDistance =\r\n          (moveLeftDistance * 310) / parseInt(this.setSize.imgWidth);\r\n        const pointJson = this.secretKey\r\n          ? aesEncrypt(\r\n              JSON.stringify({ x: moveLeftDistance, y: 5.0 }),\r\n              this.secretKey\r\n            )\r\n          : JSON.stringify({ x: moveLeftDistance, y: 5.0 });\r\n        const data = {\r\n          captchaType: this.captchaType,\r\n          pointJson: pointJson,\r\n          token: this.backToken,\r\n        };\r\n        console.log(\"checkCaptcha:\", data);\r\n        const res = await checkCaptcha(data);\r\n        // if (res.repCode == '0000') {\r\n        //   this.moveBlockBackgroundColor = '#5cb85c'\r\n        //   this.leftBarBorderColor = '#5cb85c'\r\n        //   this.iconColor = '#fff'\r\n        //   this.iconClass = 'icon-check'\r\n        //   this.showRefresh = false\r\n        //   this.isEnd = true\r\n        //   if (this.mode == 'pop') {\r\n        //     setTimeout(() => {\r\n        //       this.$parent.clickShow = false\r\n        //       console.log(\"refresh\")\r\n        //       this.refresh()\r\n        //     }, 1500)\r\n        //   }\r\n        //   this.passFlag = true\r\n        //   this.tipWords = `${((this.endMovetime - this.startMoveTime) / 1000).toFixed(2)}s验证成功`\r\n        //   var captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }), this.secretKey) : this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 })\r\n        //   setTimeout(() => {\r\n        //     this.tipWords = ''\r\n        //     this.$parent.closeBox()\r\n        //     this.$parent.$emit('success', { captchaVerification })\r\n        //   }, 1000)\r\n        // } else {\r\n        //   this.moveBlockBackgroundColor = '#d9534f'\r\n        //   this.leftBarBorderColor = '#d9534f'\r\n        //   this.iconColor = '#fff'\r\n        //   this.iconClass = 'icon-close'\r\n        //   this.passFlag = false\r\n        //   setTimeout(function() {\r\n        //     console.log(\"refresh\")\r\n        //     _this.refresh()\r\n        //   }, 1000)\r\n        //   this.$parent.$emit('error', this)\r\n        //   this.tipWords = '验证失败'\r\n        //   setTimeout(() => {\r\n        //     this.tipWords = ''\r\n        //   }, 1000)\r\n        // }\r\n        if (res.code == \"0\") {\r\n          this.moveBlockBackgroundColor = \"#5cb85c\";\r\n          this.leftBarBorderColor = \"#5cb85c\";\r\n          this.iconColor = \"#fff\";\r\n          this.iconClass = \"icon-check\";\r\n          this.showRefresh = false;\r\n          this.isEnd = true;\r\n          if (this.mode == \"pop\") {\r\n            let timeout = setTimeout(() => {\r\n              this.$parent.clickShow = false;\r\n              this.refresh();\r\n              clearTimeout(timeout);\r\n              timeout = null;\r\n            }, 1500);\r\n          }\r\n          this.passFlag = true;\r\n          this.tipWords = `${(\r\n            (this.endMovetime - this.startMoveTime) /\r\n            1000\r\n          ).toFixed(2)}s验证成功`;\r\n          var captchaVerification = this.secretKey\r\n            ? aesEncrypt(\r\n                this.backToken +\r\n                  \"---\" +\r\n                  JSON.stringify({ x: moveLeftDistance, y: 5.0 }),\r\n                this.secretKey\r\n              )\r\n            : this.backToken +\r\n              \"---\" +\r\n              JSON.stringify({ x: moveLeftDistance, y: 5.0 });\r\n          let timeout = setTimeout(() => {\r\n            this.tipWords = \"\";\r\n            this.$parent.closeBox();\r\n            this.$parent.$emit(\"success\", { ...data, captchaVerification });\r\n            clearTimeout(timeout);\r\n            timeout = null;\r\n          }, 1000);\r\n        } else {\r\n          this.moveBlockBackgroundColor = \"#d9534f\";\r\n          this.leftBarBorderColor = \"#d9534f\";\r\n          this.iconColor = \"#fff\";\r\n          this.iconClass = \"icon-close\";\r\n          this.passFlag = false;\r\n          let timeout1 = setTimeout(function () {\r\n            _this.refresh();\r\n            clearTimeout(timeout1);\r\n            timeout1 = null;\r\n          }, 1000);\r\n          this.$parent.$emit(\"error\", this);\r\n          this.tipWords = \"验证失败\";\r\n          let timeout = setTimeout(() => {\r\n            this.tipWords = \"\";\r\n            clearTimeout(timeout);\r\n            timeout = null;\r\n          }, 1000);\r\n        }\r\n        this.status = false;\r\n      }\r\n    },\r\n\r\n    refresh: function () {\r\n      this.showRefresh = true;\r\n      this.finishText = \"\";\r\n\r\n      this.transitionLeft = \"left .3s\";\r\n      this.moveBlockLeft = 0;\r\n\r\n      this.leftBarWidth = undefined;\r\n      this.transitionWidth = \"width .3s\";\r\n\r\n      this.leftBarBorderColor = \"#ddd\";\r\n      this.moveBlockBackgroundColor = \"#fff\";\r\n      this.iconColor = \"#000\";\r\n      this.iconClass = \"icon-right\";\r\n      this.isEnd = false;\r\n      console.log(\"getPictrue\");\r\n      this.getPictrue();\r\n      let timeout = setTimeout(() => {\r\n        this.transitionWidth = \"\";\r\n        this.transitionLeft = \"\";\r\n        this.text = this.explain;\r\n        clearTimeout(timeout);\r\n        timeout = null;\r\n      }, 300);\r\n    },\r\n\r\n    // 请求背景图片和验证图片\r\n    async getPictrue() {\r\n      const params = {\r\n        captchaType: this.captchaType,\r\n        clientUid: localStorage.getItem(\"slider\"),\r\n        ts: Date.now(), // 现在的时间戳\r\n      };\r\n      const res = await getCaptcha(params);\r\n      // if (res.repCode == '0000') {\r\n      //   const data = res.repData;\r\n      //   this.backImgBase = data.originalImageBase64\r\n      //   this.blockBackImgBase = data.jigsawImageBase64\r\n      //   this.backToken = data.token\r\n      //   this.secretKey = data.secretKey\r\n      // } else {\r\n      //   this.tipWords = res.repMsg\r\n      // }\r\n      if (res.code == \"0\") {\r\n        const data = res.data[0];\r\n        this.backImgBase = data.originalImageBase64;\r\n        this.blockBackImgBase = data.jigsawImageBase64;\r\n        this.backToken = data.token;\r\n        this.secretKey = data.secretKey;\r\n      } else {\r\n        this.tipWords = res.msg;\r\n      }\r\n\r\n      // 判断接口请求次数是否失效\r\n      if (res.repCode == \"6201\") {\r\n        this.backImgBase = null;\r\n        this.blockBackImgBase = null;\r\n      }\r\n    },\r\n  },\r\n};\r\n</script>\r\n<style lang=\"less\" scoped>\r\n.loading {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  width: 100%;\r\n  height: 100%;\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  background: rgba(0, 0, 0, 0.4);\r\n  i {\r\n    font-size: 30px;\r\n    color: aliceblue;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/verifition/Verify/VerifySlide.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[(_vm.type === '2')?_c('div',{staticClass:\"verify-img-out\",style:({ height: parseInt(_vm.setSize.imgHeight) + _vm.vSpace + 'px', position: 'relative' })},[_c('div',{staticClass:\"verify-img-panel\",style:({ width: _vm.setSize.imgWidth, height: _vm.setSize.imgHeight })},[_c('img',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"display\":\"block\"},attrs:{\"src\":_vm.backImgBase ? 'data:image/png;base64,' + _vm.backImgBase : _vm.defaultImg,\"alt\":\"\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showRefresh),expression:\"showRefresh\"}],staticClass:\"verify-refresh\",on:{\"click\":_vm.refresh}},[_c('i',{staticClass:\"iconfont icon-refresh\"})]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"tips\"}},[(_vm.tipWords)?_c('span',{staticClass:\"verify-tips\",class:_vm.passFlag ? 'suc-bg' : 'err-bg'},[_vm._v(_vm._s(_vm.tipWords))]):_vm._e()])],1),_vm._v(\" \"),(!_vm.blockBackImgBase)?_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"el-icon-loading\"})]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"verify-bar-area\",style:({\n      width: _vm.setSize.imgWidth,\n      height: _vm.barSize.height,\n      'line-height': _vm.barSize.height,\n    })},[_c('span',{staticClass:\"verify-msg\",domProps:{\"textContent\":_vm._s(_vm.text)}}),_vm._v(\" \"),_c('div',{staticClass:\"verify-left-bar\",style:({\n        width: _vm.leftBarWidth !== undefined ? _vm.leftBarWidth : _vm.barSize.height,\n        height: _vm.barSize.height,\n        'border-color': _vm.leftBarBorderColor,\n        transaction: _vm.transitionWidth,\n      })},[_c('span',{staticClass:\"verify-msg\",domProps:{\"textContent\":_vm._s(_vm.finishText)}}),_vm._v(\" \"),_c('div',{staticClass:\"verify-move-block\",style:({\n          width: _vm.barSize.height,\n          height: _vm.barSize.height,\n          'background-color': _vm.moveBlockBackgroundColor,\n          left: _vm.moveBlockLeft,\n          transition: _vm.transitionLeft,\n        }),on:{\"touchstart\":_vm.start,\"mousedown\":_vm.start}},[_c('i',{class:['verify-icon iconfont', _vm.iconClass],style:({ color: _vm.iconColor })}),_vm._v(\" \"),(_vm.type === '2')?_c('div',{staticClass:\"verify-sub-block\",style:({\n            width: Math.floor((parseInt(_vm.setSize.imgWidth) * 47) / 310) + 'px',\n            height: _vm.setSize.imgHeight,\n            top: '-' + (parseInt(_vm.setSize.imgHeight) + _vm.vSpace) + 'px',\n            'background-size': _vm.setSize.imgWidth + ' ' + _vm.setSize.imgHeight,\n          })},[(_vm.blockBackImgBase)?_c('img',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"display\":\"block\"},attrs:{\"src\":'data:image/png;base64,' + _vm.blockBackImgBase,\"alt\":\"\"}}):_vm._e()]):_vm._e()])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-fe9d5724\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/verifition/Verify/VerifySlide.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-fe9d5724\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VerifySlide.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./VerifySlide.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./VerifySlide.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-fe9d5724\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./VerifySlide.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-fe9d5724\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/verifition/Verify/VerifySlide.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div style=\"position: relative\">\r\n    <div class=\"verify-img-out\">\r\n      <div\r\n        class=\"verify-img-panel\"\r\n        :style=\"{\r\n          width: setSize.imgWidth,\r\n          height: setSize.imgHeight,\r\n          'background-size': setSize.imgWidth + ' ' + setSize.imgHeight,\r\n          'margin-bottom': vSpace + 'px',\r\n        }\"\r\n      >\r\n        <div\r\n          v-show=\"showRefresh\"\r\n          class=\"verify-refresh\"\r\n          style=\"z-index: 3\"\r\n          @click=\"refresh\"\r\n        >\r\n          <i class=\"iconfont icon-refresh\" />\r\n        </div>\r\n        <img\r\n          ref=\"canvas\"\r\n          :src=\"\r\n            pointBackImgBase\r\n              ? 'data:image/png;base64,' + pointBackImgBase\r\n              : defaultImg\r\n          \"\r\n          alt=\"\"\r\n          style=\"width: 100%; height: 100%; display: block\"\r\n          @click=\"bindingClick ? canvasClick($event) : undefined\"\r\n        />\r\n\r\n        <div\r\n          v-for=\"(tempPoint, index) in tempPoints\"\r\n          :key=\"index\"\r\n          class=\"point-area\"\r\n          :style=\"{\r\n            'background-color': '#1abd6c',\r\n            color: '#fff',\r\n            'z-index': 9999,\r\n            width: '20px',\r\n            height: '20px',\r\n            'text-align': 'center',\r\n            'line-height': '20px',\r\n            'border-radius': '50%',\r\n            position: 'absolute',\r\n            top: parseInt(tempPoint.y - 10) + 'px',\r\n            left: parseInt(tempPoint.x - 10) + 'px',\r\n          }\"\r\n        >\r\n          {{ index + 1 }}\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <!-- 'height': this.barSize.height, -->\r\n    <div\r\n      class=\"verify-bar-area\"\r\n      :style=\"{\r\n        width: setSize.imgWidth,\r\n        color: this.barAreaColor,\r\n        'border-color': this.barAreaBorderColor,\r\n        'line-height': this.barSize.height,\r\n      }\"\r\n    >\r\n      <span class=\"verify-msg\">{{ text }}</span>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script type=\"text/babel\">\r\n/**\r\n * VerifyPoints\r\n * @description 点选\r\n * */\r\nimport {\r\n  resetSize,\r\n  _code_chars,\r\n  _code_color1,\r\n  _code_color2,\r\n} from \"./../utils/util\";\r\nimport { aesEncrypt } from \"./../utils/ase\";\r\nimport { reqGet, reqCheck } from \"./../api/index\";\r\nimport { getCaptcha, checkCaptcha } from \"@/api/index\";\r\n\r\nexport default {\r\n  name: \"VerifyPoints\",\r\n  props: {\r\n    // 弹出式pop，固定fixed\r\n    mode: {\r\n      type: String,\r\n      default: \"fixed\",\r\n    },\r\n    captchaType: {\r\n      type: String,\r\n    },\r\n    // 间隔\r\n    vSpace: {\r\n      type: Number,\r\n      default: 5,\r\n    },\r\n    imgSize: {\r\n      type: Object,\r\n      default() {\r\n        return {\r\n          width: \"310px\",\r\n          height: \"155px\",\r\n        };\r\n      },\r\n    },\r\n    barSize: {\r\n      type: Object,\r\n      default() {\r\n        return {\r\n          width: \"310px\",\r\n          height: \"40px\",\r\n        };\r\n      },\r\n    },\r\n    defaultImg: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      secretKey: \"\", // 后端返回的ase加密秘钥\r\n      checkNum: 3, // 默认需要点击的字数\r\n      fontPos: [], // 选中的坐标信息\r\n      checkPosArr: [], // 用户点击的坐标\r\n      num: 1, // 点击的记数\r\n      pointBackImgBase: \"\", // 后端获取到的背景图片\r\n      poinTextList: [], // 后端返回的点击字体顺序\r\n      backToken: \"\", // 后端返回的token值\r\n      setSize: {\r\n        imgHeight: 0,\r\n        imgWidth: 0,\r\n        barHeight: 0,\r\n        barWidth: 0,\r\n      },\r\n      tempPoints: [],\r\n      text: \"\",\r\n      barAreaColor: undefined,\r\n      barAreaBorderColor: undefined,\r\n      showRefresh: true,\r\n      bindingClick: true,\r\n    };\r\n  },\r\n  computed: {\r\n    resetSize() {\r\n      return resetSize;\r\n    },\r\n  },\r\n  watch: {\r\n    // type变化则全面刷新\r\n    type: {\r\n      immediate: true,\r\n      handler() {\r\n        this.init();\r\n      },\r\n    },\r\n  },\r\n  mounted() {\r\n    // 禁止拖拽\r\n    this.$el.onselectstart = function () {\r\n      return false;\r\n    };\r\n  },\r\n  methods: {\r\n    init() {\r\n      // 加载页面\r\n      this.fontPos.splice(0, this.fontPos.length);\r\n      this.checkPosArr.splice(0, this.checkPosArr.length);\r\n      this.num = 1;\r\n      this.getPictrue();\r\n      this.$nextTick(() => {\r\n        this.setSize = this.resetSize(this); // 重新设置宽度高度\r\n        this.$parent.$emit(\"ready\", this);\r\n      });\r\n    },\r\n    canvasClick(e) {\r\n      this.checkPosArr.push(this.getMousePos(this.$refs.canvas, e));\r\n      if (this.num == this.checkNum) {\r\n        this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e));\r\n        // 按比例转换坐标值\r\n        this.checkPosArr = this.pointTransfrom(this.checkPosArr, this.setSize);\r\n        // 等创建坐标执行完\r\n        let timeout1 = setTimeout(async () => {\r\n          // var flag = this.comparePos(this.fontPos, this.checkPosArr);\r\n          // 发送后端请求\r\n          var captchaVerification = this.secretKey\r\n            ? aesEncrypt(\r\n                this.backToken + \"---\" + JSON.stringify(this.checkPosArr),\r\n                this.secretKey\r\n              )\r\n            : this.backToken + \"---\" + JSON.stringify(this.checkPosArr);\r\n          const data = {\r\n            captchaType: this.captchaType,\r\n            pointJson: this.secretKey\r\n              ? aesEncrypt(JSON.stringify(this.checkPosArr), this.secretKey)\r\n              : JSON.stringify(this.checkPosArr),\r\n            token: this.backToken,\r\n          };\r\n          const res = await checkCaptcha(data);\r\n          // if (res.repCode == '0000') {\r\n          //   this.barAreaColor = '#4cae4c'\r\n          //   this.barAreaBorderColor = '#5cb85c'\r\n          //   this.text = '验证成功'\r\n          //   this.bindingClick = false\r\n          //   if (this.mode == 'pop') {\r\n          //     setTimeout(() => {\r\n          //       this.$parent.clickShow = false\r\n          //       this.refresh()\r\n          //     }, 1500)\r\n          //   }\r\n          //   this.$parent.$emit('success', { captchaVerification })\r\n          // } else {\r\n          //   this.$parent.$emit('error', this)\r\n          //   this.barAreaColor = '#d9534f'\r\n          //   this.barAreaBorderColor = '#d9534f'\r\n          //   this.text = '验证失败'\r\n          //   setTimeout(() => {\r\n          //     this.refresh()\r\n          //   }, 700)\r\n          // }\r\n          if (res.code == \"0\") {\r\n            this.barAreaColor = \"#4cae4c\";\r\n            this.barAreaBorderColor = \"#5cb85c\";\r\n            this.text = \"验证成功\";\r\n            this.bindingClick = false;\r\n            if (this.mode == \"pop\") {\r\n              let timeout = setTimeout(() => {\r\n                this.$parent.clickShow = false;\r\n                this.refresh();\r\n                clearTimeout(timeout);\r\n                timeout = null;\r\n              }, 1500);\r\n            }\r\n            this.$parent.$emit(\"success\", { captchaVerification });\r\n          } else {\r\n            this.$parent.$emit(\"error\", this);\r\n            this.barAreaColor = \"#d9534f\";\r\n            this.barAreaBorderColor = \"#d9534f\";\r\n            this.text = \"验证失败\";\r\n            let timeout = setTimeout(() => {\r\n              this.refresh();\r\n              clearTimeout(timeout);\r\n              timeout = null;\r\n            }, 700);\r\n          }\r\n          clearTimeout(timeout1);\r\n          timeout1 = null;\r\n        }, 400);\r\n      }\r\n      if (this.num < this.checkNum) {\r\n        this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e));\r\n      }\r\n    },\r\n\r\n    // 获取坐标\r\n    getMousePos: function (obj, e) {\r\n      var x = e.offsetX;\r\n      var y = e.offsetY;\r\n      return { x, y };\r\n    },\r\n    // 创建坐标点\r\n    createPoint: function (pos) {\r\n      this.tempPoints.push(Object.assign({}, pos));\r\n      return ++this.num;\r\n    },\r\n    refresh: function () {\r\n      this.tempPoints.splice(0, this.tempPoints.length);\r\n      this.barAreaColor = \"#000\";\r\n      this.barAreaBorderColor = \"#ddd\";\r\n      this.bindingClick = true;\r\n      this.fontPos.splice(0, this.fontPos.length);\r\n      this.checkPosArr.splice(0, this.checkPosArr.length);\r\n      this.num = 1;\r\n      this.getPictrue();\r\n      this.text = \"验证失败\";\r\n      this.showRefresh = true;\r\n    },\r\n\r\n    // 请求背景图片和验证图片\r\n    async getPictrue() {\r\n      const params = {\r\n        captchaType: this.captchaType,\r\n        clientUid: localStorage.getItem(\"deviceId\"),\r\n        ts: Date.now(), // 现在的时间戳\r\n      };\r\n      // const res = await reqGet(params);\r\n      const res = await getCaptcha(params);\r\n      // if(res.repCode == '0000') {\r\n      //   const data = res.repData;\r\n      //   this.pointBackImgBase = data.originalImageBase64\r\n      //   this.backToken = data.token\r\n      //   this.secretKey = data.secretKey\r\n      //   this.poinTextList = data.wordList\r\n      //   this.text = '请依次点击【' + this.poinTextList.join(',') + '】'\r\n      // } else {\r\n      //   this.text = res.msg\r\n      // }\r\n      if (res.code == \"0\") {\r\n        const data = res.data[0];\r\n        this.pointBackImgBase = data.originalImageBase64;\r\n        this.backToken = data.token;\r\n        this.secretKey = data.secretKey;\r\n        this.poinTextList = data.wordList;\r\n        this.text = \"请依次点击【\" + this.poinTextList.join(\",\") + \"】\";\r\n      } else {\r\n        this.text = res.msg;\r\n      }\r\n      // 判断接口请求次数是否失效\r\n      if (res.repCode == \"6201\") {\r\n        this.pointBackImgBase = null;\r\n      }\r\n      // reqGet(data).then(res => {\r\n      //   if (res.repCode == '0000') {\r\n\r\n      //   } else {\r\n      //     this.text = res.repMsg\r\n      //   }\r\n\r\n      //   // 判断接口请求次数是否失效\r\n      //   if (res.repCode == '6201') {\r\n      //     this.pointBackImgBase = null\r\n      //   }\r\n      // })\r\n    },\r\n    // 坐标转换函数\r\n    pointTransfrom(pointArr, imgSize) {\r\n      var newPointArr = pointArr.map((p) => {\r\n        const x = Math.round((310 * p.x) / parseInt(imgSize.imgWidth));\r\n        const y = Math.round((155 * p.y) / parseInt(imgSize.imgHeight));\r\n        return { x, y };\r\n      });\r\n      // console.log(newPointArr,\"newPointArr\");\r\n      return newPointArr;\r\n    },\r\n  },\r\n};\r\n</script>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/verifition/Verify/VerifyPoints.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticClass:\"verify-img-out\"},[_c('div',{staticClass:\"verify-img-panel\",style:({\n        width: _vm.setSize.imgWidth,\n        height: _vm.setSize.imgHeight,\n        'background-size': _vm.setSize.imgWidth + ' ' + _vm.setSize.imgHeight,\n        'margin-bottom': _vm.vSpace + 'px',\n      })},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showRefresh),expression:\"showRefresh\"}],staticClass:\"verify-refresh\",staticStyle:{\"z-index\":\"3\"},on:{\"click\":_vm.refresh}},[_c('i',{staticClass:\"iconfont icon-refresh\"})]),_vm._v(\" \"),_c('img',{ref:\"canvas\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"display\":\"block\"},attrs:{\"src\":_vm.pointBackImgBase\n            ? 'data:image/png;base64,' + _vm.pointBackImgBase\n            : _vm.defaultImg,\"alt\":\"\"},on:{\"click\":function($event){_vm.bindingClick ? _vm.canvasClick($event) : undefined}}}),_vm._v(\" \"),_vm._l((_vm.tempPoints),function(tempPoint,index){return _c('div',{key:index,staticClass:\"point-area\",style:({\n          'background-color': '#1abd6c',\n          color: '#fff',\n          'z-index': 9999,\n          width: '20px',\n          height: '20px',\n          'text-align': 'center',\n          'line-height': '20px',\n          'border-radius': '50%',\n          position: 'absolute',\n          top: parseInt(tempPoint.y - 10) + 'px',\n          left: parseInt(tempPoint.x - 10) + 'px',\n        })},[_vm._v(\"\\n        \"+_vm._s(index + 1)+\"\\n      \")])})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"verify-bar-area\",style:({\n      width: _vm.setSize.imgWidth,\n      color: this.barAreaColor,\n      'border-color': this.barAreaBorderColor,\n      'line-height': this.barSize.height,\n    })},[_c('span',{staticClass:\"verify-msg\"},[_vm._v(_vm._s(_vm.text))])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e33fa76c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/verifition/Verify/VerifyPoints.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div v-show=\"showBox\" :class=\"mode=='pop'?'mask':''\">\r\n    <div :class=\"mode=='pop'?'verifybox':''\" :style=\"{'max-width':parseInt(imgSize.width)+30+'px'}\">\r\n      <div v-if=\"mode=='pop'\" class=\"verifybox-top\">\r\n        请完成安全验证\r\n        <span class=\"verifybox-close\" @click=\"closeBox\">\r\n          <i class=\"iconfont icon-close\" />\r\n        </span>\r\n      </div>\r\n      <div class=\"verifybox-bottom\" :style=\"{padding:mode=='pop'?'15px':'0'}\">\r\n        <!-- 验证码容器 -->\r\n        <components\r\n          :is=\"componentType\"\r\n          v-if=\"componentType\"\r\n          ref=\"instance\"\r\n          :captcha-type=\"captchaType\"\r\n          :type=\"verifyType\"\r\n          :figure=\"figure\"\r\n          :arith=\"arith\"\r\n          :mode=\"mode\"\r\n          :v-space=\"vSpace\"\r\n          :explain=\"explain\"\r\n          :img-size=\"imgSize\"\r\n          :block-size=\"blockSize\"\r\n          :bar-size=\"barSize\"\r\n          :default-img=\"defaultImg\"\r\n        />\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script type=\"text/babel\">\r\n/**\r\n     * Verify 验证码组件\r\n     * @description 分发验证码使用\r\n     * */\r\nimport VerifySlide from './Verify/VerifySlide'\r\nimport VerifyPoints from './Verify/VerifyPoints'\r\n\r\nexport default {\r\n  name: 'Vue2Verify',\r\n  components: {\r\n    VerifySlide,\r\n    VerifyPoints\r\n  },\r\n  props: {\r\n    // 双语化\r\n    locale: {\r\n      require: false,\r\n      type: String,\r\n      default() {\r\n        // 默认语言不输入为浏览器语言\r\n        if (navigator.language) {\r\n          var language = navigator.language\r\n        } else {\r\n          var language = navigator.browserLanguage\r\n        }\r\n        return language\r\n      }\r\n    },\r\n    captchaType: {\r\n      type: String,\r\n      required: true\r\n    },\r\n    figure: {\r\n      type: Number\r\n    },\r\n    arith: {\r\n      type: Number\r\n    },\r\n    mode: {\r\n      type: String,\r\n      default: 'pop'\r\n    },\r\n    vSpace: {\r\n      type: Number\r\n    },\r\n    explain: {\r\n      type: String\r\n    },\r\n    imgSize: {\r\n      type: Object,\r\n      default() {\r\n        return {\r\n          width: '310px',\r\n          height: '155px'\r\n        }\r\n      }\r\n    },\r\n    blockSize: {\r\n      type: Object\r\n    },\r\n    barSize: {\r\n      type: Object\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      // showBox:true,\r\n      clickShow: false,\r\n      // 内部类型\r\n      verifyType: undefined,\r\n      // 所用组件类型\r\n      componentType: undefined,\r\n      // 默认图片\r\n      defaultImg: require('@/assets/img/default.png')\r\n    }\r\n  },\r\n  computed: {\r\n    instance() {\r\n      return this.$refs.instance || {}\r\n    },\r\n    showBox() {\r\n      if (this.mode == 'pop') {\r\n        return this.clickShow\r\n      } else {\r\n        return true\r\n      }\r\n    }\r\n  },\r\n  watch: {\r\n    captchaType: {\r\n      immediate: true,\r\n      handler(captchaType) {\r\n        switch (captchaType.toString()) {\r\n          case 'blockPuzzle':\r\n            this.verifyType = '2'\r\n            this.componentType = 'VerifySlide'\r\n            break\r\n          case 'clickWord':\r\n            this.verifyType = ''\r\n            this.componentType = 'VerifyPoints'\r\n            break\r\n        }\r\n      }\r\n    },\r\n  },\r\n  mounted() {\r\n    this.uuid()\r\n  },\r\n  methods: {\r\n    // 生成 uuid\r\n    uuid() {\r\n      var s = []\r\n      var hexDigits = '0123456789abcdef'\r\n      for (var i = 0; i < 36; i++) {\r\n        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)\r\n      }\r\n      s[14] = '4' // bits 12-15 of the time_hi_and_version field to 0010\r\n      s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) // bits 6-7 of the clock_seq_hi_and_reserved to 01\r\n      s[8] = s[13] = s[18] = s[23] = '-'\r\n\r\n      var slider = 'slider' + '-' + s.join('')\r\n      var point = 'point' + '-' + s.join('')\r\n      // 判断下是否存在 slider\r\n      console.log(localStorage.getItem('slider'))\r\n      if (!localStorage.getItem('slider')) {\r\n        localStorage.setItem('slider', slider)\r\n      }\r\n      if (!localStorage.getItem('point')) {\r\n        localStorage.setItem('point', point)\r\n      }\r\n    },\r\n    /**\r\n             * i18n\r\n             * @description 兼容vue-i18n 调用$t来转换ok\r\n             * @param {String} text-被转换的目标\r\n             * @return {String} i18n的结果\r\n             * */\r\n    i18n(text) {\r\n      if (this.$t) {\r\n        return this.$t(text)\r\n      } else {\r\n        // 兼容不存在的语言\r\n        const i18n = this.$options.i18n.messages[this.locale] || this.$options.i18n.messages['en-US']\r\n        return i18n[text]\r\n      }\r\n    },\r\n    /**\r\n             * refresh\r\n             * @description 刷新\r\n             * */\r\n    refresh() {\r\n      if (this.instance.refresh) {\r\n        this.instance.refresh()\r\n      }\r\n    },\r\n    closeBox() {\r\n      this.clickShow = false\r\n      this.refresh()\r\n    },\r\n    show() {\r\n      if (this.mode == 'pop') {\r\n        this.clickShow = true\r\n      }\r\n    }\r\n  },\r\n}\r\n</script>\r\n<style>\r\n    .verifybox{\r\n        position: relative;\r\n        box-sizing: border-box;\r\n        border-radius: 2px;\r\n        border: 1px solid #e4e7eb;\r\n        background-color: #fff;\r\n        box-shadow: 0 0 10px rgba(0,0,0,.3);\r\n        left: 50%;\r\n        top:50%;\r\n        transform: translate(-50%,-50%);\r\n    }\r\n    .verifybox-top{\r\n        padding: 0 15px;\r\n        height: 50px;\r\n        line-height: 50px;\r\n        text-align: left;\r\n        font-size: 16px;\r\n        color: #45494c;\r\n        border-bottom: 1px solid #e4e7eb;\r\n        box-sizing: border-box;\r\n    }\r\n    .verifybox-bottom{\r\n        padding: 15px;\r\n        box-sizing: border-box;\r\n    }\r\n    .verifybox-close{\r\n        position: absolute;\r\n        top: 13px;\r\n        right: 9px;\r\n        width: 24px;\r\n        height: 24px;\r\n        text-align: center;\r\n        cursor: pointer;\r\n    }\r\n    .mask{\r\n        position: fixed;\r\n        top: 0;\r\n        left:0;\r\n        z-index: 1001;\r\n        width: 100%;\r\n        height: 100vh;\r\n        background: rgba(0,0,0,.3);\r\n        /* display: none; */\r\n        transition: all .5s;\r\n    }\r\n    .verify-tips{\r\n        position: absolute;\r\n        left: 0px;\r\n        bottom:0px;\r\n        width: 100%;\r\n        height: 30px;\r\n        line-height:30px;\r\n        color: #fff;\r\n    }\r\n    .suc-bg{\r\n       background-color:rgba(92, 184, 92,.5);\r\n       filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7f5CB85C, endcolorstr=#7f5CB85C);\r\n    }\r\n    .err-bg{\r\n       background-color:rgba(217, 83, 79,.5);\r\n       filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7fD9534F, endcolorstr=#7fD9534F);\r\n    }\r\n    .tips-enter,.tips-leave-to{\r\n        bottom: -30px;\r\n    }\r\n    .tips-enter-active,.tips-leave-active{\r\n        transition: bottom .5s;\r\n    }\r\n    /* ---------------------------- */\r\n    /*常规验证码*/\r\n    .verify-code {\r\n        font-size: 20px;\r\n        text-align: center;\r\n        cursor: pointer;\r\n        margin-bottom: 5px;\r\n        border: 1px solid #ddd;\r\n    }\r\n\r\n    .cerify-code-panel {\r\n        height: 100%;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .verify-code-area {\r\n        float: left;\r\n    }\r\n\r\n    .verify-input-area {\r\n        float: left;\r\n        width: 60%;\r\n        padding-right: 10px;\r\n\r\n    }\r\n\r\n    .verify-change-area {\r\n        line-height: 30px;\r\n        float: left;\r\n    }\r\n\r\n    .varify-input-code {\r\n        display: inline-block;\r\n        width: 100%;\r\n        height: 25px;\r\n    }\r\n\r\n    .verify-change-code {\r\n        color: #337AB7;\r\n        cursor: pointer;\r\n    }\r\n\r\n    .verify-btn {\r\n        width: 200px;\r\n        height: 30px;\r\n        background-color: #337AB7;\r\n        color: #FFFFFF;\r\n        border: none;\r\n        margin-top: 10px;\r\n    }\r\n\r\n    /*滑动验证码*/\r\n    .verify-bar-area {\r\n        position: relative;\r\n        background: #FFFFFF;\r\n        text-align: center;\r\n        -webkit-box-sizing: content-box;\r\n        -moz-box-sizing: content-box;\r\n        box-sizing: content-box;\r\n        border: 1px solid #ddd;\r\n        -webkit-border-radius: 4px;\r\n    }\r\n\r\n    .verify-bar-area .verify-move-block {\r\n        position: absolute;\r\n        top: 0px;\r\n        left: 0;\r\n        background: #fff;\r\n        cursor: pointer;\r\n        -webkit-box-sizing: content-box;\r\n        -moz-box-sizing: content-box;\r\n        box-sizing: content-box;\r\n        box-shadow: 0 0 2px #888888;\r\n        -webkit-border-radius: 1px;\r\n    }\r\n\r\n    .verify-bar-area .verify-move-block:hover {\r\n        background-color: #337ab7;\r\n        color: #FFFFFF;\r\n    }\r\n\r\n    .verify-bar-area .verify-left-bar {\r\n        position: absolute;\r\n        top: -1px;\r\n        left: -1px;\r\n        background: #f0fff0;\r\n        cursor: pointer;\r\n        -webkit-box-sizing: content-box;\r\n        -moz-box-sizing: content-box;\r\n        box-sizing: content-box;\r\n        border: 1px solid #ddd;\r\n    }\r\n\r\n    .verify-img-panel {\r\n        margin: 0;\r\n        -webkit-box-sizing: content-box;\r\n        -moz-box-sizing: content-box;\r\n        box-sizing: content-box;\r\n        border-top: 1px solid #ddd;\r\n        border-bottom: 1px solid #ddd;\r\n        border-radius: 3px;\r\n        position: relative;\r\n    }\r\n\r\n    .verify-img-panel .verify-refresh {\r\n        width: 25px;\r\n        height: 25px;\r\n        text-align: center;\r\n        padding: 5px;\r\n        cursor: pointer;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        z-index: 2;\r\n    }\r\n\r\n    .verify-img-panel .icon-refresh {\r\n        font-size: 20px;\r\n        color: #fff;\r\n    }\r\n\r\n    .verify-img-panel .verify-gap {\r\n        background-color: #fff;\r\n        position: relative;\r\n        z-index: 2;\r\n        border: 1px solid #fff;\r\n    }\r\n\r\n    .verify-bar-area .verify-move-block .verify-sub-block {\r\n        position: absolute;\r\n        text-align: center;\r\n        z-index: 3;\r\n        /* border: 1px solid #fff; */\r\n    }\r\n\r\n    .verify-bar-area .verify-move-block .verify-icon {\r\n        font-size: 18px;\r\n    }\r\n\r\n    .verify-bar-area .verify-msg {\r\n        z-index: 3;\r\n    }\r\n\r\n    /*字体图标的css*/\r\n    /*@font-face {font-family: \"iconfont\";*/\r\n    /*src: url('../fonts/iconfont.eot?t=1508229193188'); !* IE9*!*/\r\n    /*src: url('../fonts/iconfont.eot?t=1508229193188#iefix') format('embedded-opentype'), !* IE6-IE8 *!*/\r\n    /*url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'),*/\r\n    /*url('../fonts/iconfont.ttf?t=1508229193188') format('truetype'), !* chrome, firefox, opera, Safari, Android, iOS 4.2+*!*/\r\n    /*url('../fonts/iconfont.svg?t=1508229193188#iconfont') format('svg'); !* iOS 4.1- *!*/\r\n    /*}*/\r\n\r\n    .iconfont {\r\n        font-family: \"iconfont\" !important;\r\n        font-size: 16px;\r\n        font-style: normal;\r\n        -webkit-font-smoothing: antialiased;\r\n        -moz-osx-font-smoothing: grayscale;\r\n    }\r\n\r\n    .icon-check:before {\r\n        content: \" \";\r\n        display: block;\r\n        width: 16px;\r\n        height: 16px;\r\n        position: absolute;\r\n        margin: auto;\r\n        left: 0;\r\n        right: 0;\r\n        top: 0;\r\n        bottom: 0;\r\n        z-index: 9999;\r\n        background-image: url(\"data:image/png;base64,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\");\r\n        background-size: contain;\r\n    }\r\n\r\n    .icon-close:before {\r\n        content: \" \";\r\n        display: block;\r\n        width: 16px;\r\n        height: 16px;\r\n        position: absolute;\r\n        margin: auto;\r\n        left: 0;\r\n        right: 0;\r\n        top: 0;\r\n        bottom: 0;\r\n        z-index: 9999;\r\n        background-image: url(\"data:image/png;base64,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\");\r\n        background-size: contain;\r\n    }\r\n\r\n    .icon-right:before {\r\n        content: \" \";\r\n        display: block;\r\n        width: 16px;\r\n        height: 16px;\r\n        position: absolute;\r\n        margin: auto;\r\n        left: 0;\r\n        right: 0;\r\n        top: 0;\r\n        bottom: 0;\r\n        background-size: cover;\r\n        z-index: 9999;\r\n        background-image: url(\"data:image/png;base64,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\");\r\n        background-size: contain;\r\n    }\r\n\r\n    .icon-refresh:before {\r\n        content: \" \";\r\n        display: block;\r\n        width: 16px;\r\n        height: 16px;\r\n        position: absolute;\r\n        margin: auto;\r\n        left: 0;\r\n        right: 0;\r\n        top: 0;\r\n        bottom: 0;\r\n        z-index: 9999;\r\n        background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADIEAYAAAD9yHLdAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAMQpJREFUeNrt3XlcVHX3B/Bz7rCISi6IC+ijkpZpIswMyBLgluVuKm4pqWmEuG/hUpr5uFYoiuaSFrklZvroo+jPFRURZgYVxZ1K3HIXUBSGe35/XC9PWpYL8J2B8/6H1wwGn3sb5sz93u/3fAEYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOM/QUUHYCx59F0ddPVTVdXq5YXkxeTF1O3Ll7H63jdzY3eoDfojTp1UIta1FatCm/D2/C2kxPchttwu0oVyIRMyKxShVpSS2pZuTIkQzIklyuHv+Av+IudHURBFERJkvJbKlQo+IWhEAqhsgz2YA/2d+8WPP/oMXWkjtTx4UMMwAAMuH4d2kE7aHf9OoVQCIX8/jvuxJ2489o1WkJLaMmlS+AHfuB37hwmYAImnDtnNBlNRlNGhvJDiUSfX/ZygiiIgqhMmayJWROzJgYF4Xbcjtv9/akX9aJerq7QE3pCTwcHiIEYiMnMxNpYG2ufOYNTcApOOXDAcNZw1nA2KUn0cTwrLiBMKO+z3me9z9asKa+V18prtVr5tHxaPv3mmzgaR+Nod3cYCANhYMOGyr9+9VXla9myonMXFoqmaIp+8ADDMRzDz56FTtAJOh07RgmUQAkGA17Da3jNYMjrldcrr1dKyrGxx8YeG3vvnujc7I8QdbG6WF3skCFUjapRtYkTcSSOxJHVqr3Yz0tNVb6OH280Go1G43//K/oIn3rkogOwkgzR09bT1tPW3V3jrHHWOLdoIRtkg2zw84PTcBpO+/jgGByDY2rWFJ3U0tEiWkSL8vNxDa7BNSdOkAM5kMOuXTgYB+PgnTvz1uStyVuzbx8XmOKh0+q0Oq2tLW2hLbRl9WrsgB2wQ7duhf17aAWtoBWzZpncTe4m94gI0cf9JC4g7KU0oSbUhCpW1FTTVNNUa98eTGACU9u2uAf34J6WLWEuzIW5VauKzlni6UEP+txcZYju0CGoDtWh+pYt+QH5AfkB69cfxaN4FH/9VXTMkkJ3UXdRd3HBAuWKMTy8yH8hAQENH64MeUZFiT5+FRcQ9kwaN27cuHHjSpVsbW1tbW2DgxEREbt2Vb7bvLny1dZWdE721+gz+ow+S06W+kn9pH7r1+fdyruVd2vdOi4sz0f7rvZd7bs+Pvgv/Bf+KyEBjGAEIxb5+yjNp/k0PytLE6mJ1ES+9lpybHJscuzVq6LPBxcQ9hjlJqCNTbY+W5+tb98eFsEiWNS3LxyDY3CsXTvlsb296JzsJT2aHEBdqAt12bULMzADM5YsgQ/hQ/hw0yblk25enuiYlka7XLtcu3zTJozGaIzu2LG4fz85kzM5jxxpijPFmeLmzhV9PriAlHKefp5+nn4uLtgQG2LDQYOwDJbBMh99BIfgEBxycRGdjxUvOkSH6NDVq7gEl+CSFSvMx83Hzcejo49+c/Sbo99cuiQ6nyjKPY8qVchABjJcuYJe6IVeNjbFHqQNtIE2W7YYpxmnGad16CD6vEiiA7DipfwhNG6sS9Wl6lJ/+EF6KD2UHv76K6ZgCqZMmcKFo3RDX/RF3+rVYQWsgBXjx9uQDdlQero2XZuuTV+2zOui10Wvi6+9JjpncaMP6AP6ICBAWOFQc0RQBEXUqSP6fKj4CqSEKxizvY7X8fqkSaADHejati2usVtWwqhDX+2pPbXfsIFqU22qPW1aSl5KXkre0aOi4xUV3QPdA92Df/8b/MEf/CdMEJvmwgVlem/t2qLPC1+BlDAe8R7xHvENGypXGuvWFdzsAwCAdu24cLCXshgWw2JJUqetSv2l/lL/lBT19abfot+i3+LmJjpmYaMbdINu1K0rOgf4gi/4irsCehIXECvX5OMmHzf52NVVO087TzsvJkZzSnNKcyo1FRAQMDiYCwYrUurr69HrTa4iV5GrnDihu6O7o7sze7Y6e090zJeFC3ABLnjRhYGFiICALGe2IxcQK+OT4ZPhk+HgoNPpdDrdp5/agA3YwOnTGIMxGNO3r/oJUXROVjopK+rLlIGW0BJajh1rF2gXaBd4+rRut263bndIyKN/ZX0faHbADthRrpzoGCCDDDIXEPacPL/0/NLzy8DAXKdcp1ynlBTl2alT1Z5OovMx9pcSIRESnZ1hLIyFsd9/rxunG6cbt2+fOtQqOt4zQ0BAC3jj9gIvEHgT/0lcQCyUcqVRubJypfHdd9IZ6Yx0Zu9epWnf66+LzsfYC9kFu2BXQIDmjOaM5ozJpCMd6WjKFLU1iOh4Fo+vQNjfUWdN5Z7OPZ172mBQnv3gA76XwUoUdUGqHvSgnzwZpsJUmJqQoP9C/4X+C/6A9DTkTu7kzlcg7JHg4ODg4GCNRv0kpvwhHTiAn+An+IkFzPpgrDhMhskwWa+nS3SJLhmNWq1Wq9V+9JHoWJYGwzAMwzQa5ZH4e53CA5RW+vv6+/r7tWqlD0oflD5o9271k9jjLxDGShl1nxZERFy8WHtVe1V7deNGtWmn6HiWol5Uvah6UeKHsizmUqi00J3SndKd6tRJNskm2bR8OY7H8Ti+cmXRuUobSqIkSsrJUVYW37sHw2E4DH+Gwn0QDsLBihV5SLF4YDtsh+06dbLxt/G38U9OVu6VdOmi9OpS980oerSX9tJeRGyGzbCZ6LMCUPZh2YdlH6pDWQ8fisrBfwDFRNtH20fbZ8IELItlsey0afwG9ILCIAzCHj6kntSTep49C6thNaw+fRpDMARDTp/GbtgNu506BTNgBsy4cEFpQXHrltnb7G32vnXLYaLDRIeJt24l1kqslVgrJ+d5f/3jzSadneVj8jH5WNWqmmhNtCbaxYXqUT2q5+xMy2k5La9ZU9mBsHFj/Ba/xW8bNVKuNF9/HQxgAIOdnejTaXW8wAu87t3DbMzG7IEDDSsNKw0r164t6l+rzdJmabNMJqWAeHqKPg1mg9lgNlSqpHRTvnNHVA5+Aysij88qWbhQmQY4cKDoXJaODtABOpCeDtfgGlw7cADfw/fwvf37lfN34ICbm5ubm9vZs7GxsbGxsfn5ovM+L/V1kT83f27+3Pr1bZbYLLFZ4u5OJ+kknQwMpP20n/a3aMGz7Z4RAQF99ZVyRTJunPKkLBf2r9Fu0W7RbklJwck4GSd7eIg+bOW4nZ2V475xQ1QMHsIqZMoWra+8kt8zv2d+z9hY5dnWrUXnshjhEA7h2dlwAS7Aha1boTW0htYbN5pjzDHmmPj4ow5HHY46PL3rq9IDSPRBvLiCNumBEAiBaWnKs+rXtWuhLJSFsn/oknwOz+G5Fi0wHuMxvkUL6A29oXeHDkpBrVJF9PEIh4CAo0frknRJuqS6dW1r2NawrdGnz4teYVoLZYtjSVI2cBOXgwtIIVH/4M3VzdXN1bdsUXo7iL/UFev+faX99O7d0AJaQIvY2JwbOTdybmzYkDYlbUralOxsmAJTYIronJYnJSElISXh8mXl0cqV0AAaQIOVK9VZe+nn08+nn/f1LWhZQ0BAvXuX2sISBmEQ1qVLHuVRHu3Z4z7HfY77nI4dlS1+r1172R+P+ZiP+Tzk/CQuIC9JWejXoIHyyXrnTmgGzaCZq6voXMVN3fEOHdERHRcsKN+8fPPyzdet24f7cB8+eADTYBpME53S+j0+dHfggPpVmZUzblyF7yt8X+H7Nm0gEiIhMjQUVsJKWPnOO6XmnhsCAjZtalvHto5tnQMHlL/PNm2UK9fz50XHKyz2SfZJ9knip/GW/BdUEfFM8EzwTKhXT1otrZZW79tXavbReLT3tjLdctMmnIpTceqSJYb2hvaG9jt3io7HHlfwOh0qDZWGDh2q3IT+8MPS0gKHIimSIn//HbpBN+jWurXpmuma6dqxY8/7c3QjdSN1I48ehXiIh3h3d9HHJblJbpJbjRqit7blAvKcvDt4d/DuULeueb15vXn9vn3oh37oV6uW6FxFpWC6axZmYdaCBTZbbbbabP3qq8O9D/c+3Pv330XnY89H2RDKySn/Qv6F/AsffYRDcAgOGTWqpA99USIlUuLNm+iDPujTurVyRWJ65rsHllZAZHvZXrZ3dX18qLP48RDWM1IX/pkTzAnmhF27SmrhoGRKpmSzGebDfJi/Zk2+lC/lS599drTi0YpHK/76q+h87OUk10yumVzz5k3l0YwZDdc1XNdw3fz5DjkOOQ454eFUn+pT/YkTcSgOxaGOjqLzFhalcDg5KY9271b+ntu2NZQ1lDWUVffL+RvxEA/xljMEKLvL7rI7IiRAAvxz+iIjfAzN0qn7bdBb9Ba9tWdPiWsxogMd6IigA3SADuvWaS5rLmsuN2pkGm4abhoeEqLMM+fCUVKldU/rntY9O9v4gfED4wezZtEYGkNjGjSAYAiG4KVLCz5QlCgVKtBaWktrt29X7pE0b/6P/0kgBEIgkejkKvvR9qPtR4svaMIDWCp1Ixw7WztbO9uEBOUSv0ED0bkKjT/4g/+5c8rK6o8+Ui7p9+wRHYtZFrXtunRdui5dX7oUp+N0nO7nJzpXYVGHaKVvpW+lb7t2NXxk+Mjw0bZtT/47pdCo904aNxadW5l1V7u2Mi38wgVRMfgK5AnqSmPb8bbjbcevW1dSCof6SZKaUTNqNnu27VjbsbZj3d25cLC/cyTwSOCRwLQ0U1dTV1PXgAByJmdyHjlS+e79+6LzvSz0Rm/0dnAgIxnJuHGjsrPne++p31c6SAQEwAgYASMsYEfCR+Tecm+5N1+BWBztae1p7emoKOyNvbH30KGi8xQOkwnLYTksN3CgId4Qb4hXN6Ri7MUon8hffVV5tHSp8vUZhoIsXMGQ3VbYCluPH7eYledPUFqZ1K0reoiZC8gjavtotQuo6DwvTL2nYQADGL7+uryxvLG8MSJCWY9R0saymWVA1LvoXfQuI0bIF+WL8sXZs5UmlZazb0VJo3HRuGhc3NySNidtTtr8yy+icpT6ISx9qj5VnxoUpBSOBQtE53lRdJgO0+HMTPkr+Sv5q27dlLHRMWO4cLCiR2S4bLhsuBwZSV/T1/R1y5Z0iA7RIXHrE1jxKLUFRNlfoE4dpVvr+vXKs+L767+Y1FTNVc1VzVUvrxTHFMcUxw0bRCdipVPKmJQxKWPi45V7bTodTaAJNOEZpsmy55IXlBeUF1T4TSOfV6krIGovIRu9jd5G/8MPVruAahksg2U//qg88PFR5vefOSM6FmMA/+vl9SD/Qf6D/ObN6Uf6kX785hvRuUoKzWDNYM1g8QWk1I1Rnrc/b3/e/pNPlGaHb70lOs9z2wSbYFN0tLGmsaax5rBhypPiX0iM/RVlnUlurvIoLEz3ve573fe//gpREAVRM2eKzmet8lvlt8pvJX47g1JzBaIP1AfqAz09ldlIkyeLzvO8aAWtoBWzZimFY8gQ5VkuHMy6FCxYnEbTaFp4OIRCKITy6/h52bjauNq4ij9vJb6AKF1K7e3pHt2je99/by07wdEiWkSL8vPhM/gMPgsLM7mb3E3uERGiczFWGExtTG1MbRYuhMWwGBb37as8m5cnOpe1eOj90PuhNxeQIlehZ4WeFXqql8oWsIL0n6ifyE7BKTj1wQfGTsZOxk48dsxKJmUh6+rVFEIhFNKjR8EHJ/a3bNfYrrFdwwWkyHh+6fml55eBgbARNsJG9V6B5aOVtJJWDhtmCjGFmEJWrRKdh7HioPRe+/lnyIRMyBw9WnQeS2e7yXaT7SYuIIVOnWUl1ZfqS/WjopRLZPEbr/wT8iRP8pwyxRRvijfFR0eLzsOYCKZWplamVvPm0WbaTJvV6fXsSXmd8jrldRJ/pWbxb6zPKz09PT09/aOPYCpMhalNmojO848ezaoyLTMtMy37/HPRcRizBPI5+Zx8bvBg8AEf8Ll+XXQeS1PmtzK/lfmNr0AKjU+GT4ZPRuXKysYxX3whOs8/WgSLYNGGDY9Px2WMAahNHK9fV3b6DA8XncfSZEVkRWRFcAEpNHmYh3k4derjG8dYHppBM2jGmTOaSppKmkr9+yvPin8hMGaJlJY8sbE8pPW4SmMqjak0hoewXpq+j76Pvs+bb5ILuZBLaKjoPE8VDuEQnp0tl5HLyGXeey+pflL9pPqZmaJjMWYNzKvMq8yrwsOVfTBu3BCdR7RsXbYuWye+gFj9SnQ6SSfp5FdfWXr3TzKTmcwffqjuryA6D2N/5BXsFewVXL268qh6dfm8fF4+b2+PU3EqTnV0pMk0mSaXL6+8gf9Fz7gFsAAW2NjQEBpCQ/6wFe7H8DF8fOcOfoPf4DfPsKMfAgLev4+f4+f4+cOHT36belJP6rluHfwIP8KPgweLPm/F7lG3beMS4xLjEvHrZqy2nbtOq9PqtE2bKi+4xETReZ6G3qF36J3ISNN003TT9FGjROdhpZPSPLRiRRudjc5GFxKi/N107qxcGXt5QTREQ3T58qJzsn+gBz3oc3ONi42LjYvt7UXHsdohLNpKW2nr+PGiczzVRJgIE9PSMqtnVs+sbsE5WYmm3abdpt02eLDmoOag5uD580rhmDdP+W7z5lw4rExTaApN1d5i4lnskM/TFNzz+Iw+o886dhSd508erSSXt8vb5e0DB55bfG7xucV/vhRnrCjpZutm62ZHR8MkmASTSuFQT0mlAQ1oxA9dqazuCoReo9fotYgIMIIRjOL3BP6TztAZOkdFpSxOWZyy+NAh0XFY6aIM7Q4bVmrvEZRwVJfqUl3LuQKxmgKi36Lfot/i5kaTaBJN6tFDdJ4/GQtjYeyvv+bszdmbs/fTT0XHYaWLUjgqVFCGOHhBaollYUNYVlNA5GPyMfnYuHEWO9tqNsyG2aGhyv4H2dmi47DShcpTeSrfpw8kQRIkVawoOg8rIjLIIPMQ1jPzPut91vvsK6/gT/gT/qS2fbY0O3YoC5527BCdhJVO2AybYbOWLUXnYEWMgIC4gDwzcw9zD3OPnj2VR2XLis5T4LGNcHiWFRNMBzrQubmJjsGKFgZgAAbwENYzwxbYAluoLT8syFW4ClfXrFH2MzCZRMdhpRu1ptbU+g8L+FgJxlcg/8gj3iPeI75hQ9gDe2CPj4/oPAXCIAzCHj7UJGuSNcl8s5xZBpyEk3DS7duic7Ai1hyaQ3O+AvlHmhRNiibFAq88FsEiWLR8edLmpM1Jm3/5RXQcxgAAoA/0gT7nzomOwYrYHtgDe65eFR1DZXEFRJmOaGurbLBkQTfNH93zkDZJm6RNc+eKjsPYH+FwHI7DeRJHiXcQDsJBy+mlZ3EFRF4vr5fXv/sujsSROLJaNdF5CiyGxbB427bkmsk1k2ueOSM6DmN/ZH/C/oT9idhYZT+cmzdF52FFQ+or9ZX6xsaKzlGQR3SAPwXqJnWTullgi5JdsAt2qT2EGLMsB28evHnwZlYWtISW0HLyZNF5WFHYuDE5Njk2OfbIEdFJVBZWQBBhNIyG0W3aiE6iomk0jaadOGGsaKxorLhzp+g8jP0dU7wp3hQfHU0hFEIhP/wgOg97Sf7gD/7nzklukpvkFhYmOs6TLKaA6AP1gfpADw/4Gr6Gr11dRedRKbNboqOVR8+wnwFjFsA03DTcNLxfP+XRzJm0iBbRIvEbELFn1BJaQsv9+8255lxzbrNmypWH5dw8V1lMAVFaMLRtKzrG4/LylJWfljPmyNizk2VlndL48VKUFCVFeXjQJtpEm9asocN0mA7zjpjCPdogSpmeq+5r9P77xtnG2cbZzZod/eboN0e/uXRJdMynsZhuttqftD9pfzp4EKfjdJzu5yc6D0RCJETGxRkDjYHGQMsZUmOsMDRc13Bdw3V2duViy8WWi23Y0DzLPMs8q1YtTT9NP00/Z2c5W86Ws//ccw5H42gcXb48mMEM5r/YmTAKoiCqXDlaQStohZ3d8+bCnbgTd5Ypo3S1dnB40eOjZbSMlt27Bz2hJ/QshHUTs2E2zM7MxLfxbXz7+a/kcASOwBFEspPsJDtdvy6Nk8ZJ465exbbYFtsmJSmTc6xv8oPwAuKT4ZPhk1G5cu6V3Cu5V65dwzAMwzCNRnQumANzYM4HHxhbGFsYW8TEiI7DGGOWRnhXW/N483jz+Nat8SSexJPiCwdFUzRFP3hg42TjZOO0caPoPIwxZqmE3wMhLWlJazmtSjAcwzE8Li6pflL9pPo8RswYY08jvIDAG/AGvOHtLTqGSpm2+3//JzoHY4xZOmEFJIiCKIhsbJQuoh4eok+Eit6it+itPXtE52CMMUsn7B7I/e73u9/v/uabmI7pmP7isy0KzQgYASOuXUtxTHFMcTx1SnQcxhizdMKuQPL75PfJ7+PlJfoEqCiLsihr9+5Hj3jBIGOM/QNx90BOwAk4odOJPgEFJ2KptFRaunev6ByMMWYthBUQvIk38aZeL/oEqEgiiaTkZNE5GGPMWggrIDSLZtGs+vVFn4DH9zbnex+MMfasir2AqCvPsSk2xaavvCL6BMBxOA7H09OVnkH374uOwxhj1qLYC4j5ffP75vdr1xZ94AUOwkE4ePy46BiMMWZtir2AyF3lrnLXOnVEH7iKfMmXfE+cEJ2DMcasTfHfA2kEjaDRv/4l+sALTsCv0q/Sr6dPi87BGGPWptgLCLqjO7pb0BXISlpJKy1voxbGGLN0xX8F0gbaQBvLKSDSIGmQNOj6ddE5GGPM2hR/ASEgoBo1RB+4StnA6sYN0TkYY8zaFHsBoZk0k2ZWqiT6wFXZKdkp2SnXronOwRhj1qb4r0DKQBkoU6GC6ANX3L2b1j2te1r3QtjykjHGSpniLyB2YAd2llJAeOEgY4y9qOKfhbUcl+Nye3vRBw6+4Au+3HWXMcZeVLEVkODg4ODgYI0GjGAEI6LoA+cCwhhjL6fYCkhKQEpASoCNsA2sGGOMFa5iKyB21e2q21XnT/yMMVZSFFsBUWY75eWBDnSgs4BCcggOwSELGEpjjDErVcw30YnAG7zBW/y0WepDfahP5cqiczDGmLUq/mm8RjCCMSdH9IFjOIZjeJky/k7+Tv5Ojo6i8zDGmLUp/gISBEEQdOeO6ANXPajzoM6DOlWris7BGGPWpvgLyByYA3Nu3RJ94CpyJmdydnYWnYMxxqxN8ffC2k7bafvNm6IPvOAE+Ev+kj9fgTDG2PMq/pXoC3EhLrSc5oWyXtbL+po1RedgjDFrU/xDWJWhMlS+cEH0gauwMTbGxg0bis7BGGPWpvgLyApYASsyMkQfuIrKUlkq26iR6ByMMWZtir+AAACABV2BfIqf4qdcQBhj7HkVewGR58vz5fmnT4s+8AKJkAiJzs4e8R7xHvE8G4sxxp5VsReQepH1IutF/vILRVM0RT94IPoEFJyIddI6aV3jxqJzMMaYtdAU9y9MS0tLS0sjcnF0cXRx7N4dfoPf4Ldq1USfCGm7tF3afvbsZfNl82Xz/v2i8zDGmKUTdA8EAKpAFahiMok+ASoaQSNoRIsWonMwxpi1EFZA6Cf6iX46dEj0CSjI05k6U2c/P58MnwyfDAcH0XkYY8zSCdvgCQEBwXIKiNpcMdc31zfX19dXeXb3btG5GGPMUgm7AjGajCaj6cQJ5dHdu6JPRIEBMAAGNG8uOgZjjFk6cfdAAABAlpWvhw+LPhEFMiADMt55R3QMxhizdIILCAAYwAAGCxrKmopTcaqXl8cwj2Eew+rXF52HMcYslfgCchfuwt2DB0XHeJLGXeOuce/RQ3QOxhizVMILyN2YuzF3Y+Lj6TAdpsOZmaLzFFgIC2Hh+++LjsEYY5aq2BcSPunWtlvbbm3Lz3eRXCQXydMTzsAZOGMBvakQELBKlZpv1Xyr5lubNl1Ou5x2Oe3qVdGxGGPMUgi/AinQGlpD640bRcd4krxUXiov7d1bdA7GGLM0llNAhsAQGLJ1K+hBD/rcXNFxVHScjtPxDz90n+M+x31OuXKi8zDGmKUQPoSlunLlypUrVx4+dIl0iXSJ9PeH7bAdtterJzoXxmEcxjk4SD2lnlLPS5eurLqy6sqq5GTRuRhjRcfrotdFr4uvvVa9SvUq1av4+ro2c23m2qxBg2oPqz2s9tDRMcAnwCfA5/ff1d5+ovOKImwl+tPgcByOwzduJIkkkt59V3SeglzZmI3ZI0Yoj775RvmqrmNhjFmj4ODg4OBgjSb9fPr59PP9+9NMmkkzx46VO8md5E6vvaZ0zAAgICAAkEACCQDS09PT09Pv3tVO107XTl+7Vr4qX5WvfvXVkagjUUeizp4VfVzFBUUHeJIyVFS1qu0523O25zIylHUidnaic6kohEIopEsX03DTcNPwn38WnYcx9vx0Wp1Wp61ShSIogiLWr8dZOAtnBQW93E/Ny4NBMAgGzZgBS2AJLJk2Tem4kZcn+niLisUVEJUuRZeiS1m7FgbCQBhoOesxaBftol0HD5oqmiqaKr71lug8jLFnpwxNOTnJHeWOcscDB5TZlg0aFPovagNtoM2WLXer3q16t2q3bueGnRt2btjDh6KPv7BZzk30J3mAB3ioQ0WWA1tiS2zp76+7qLuou9i2reg8jLF/pg5VyWlympy2YUORFQ7VNtgG29q3f6XtK21faTt3rujjLyoWW0CMaEQj7tsHARAAASdPis7zJEqlVEqdPVt9YYrOwxh7uvT26e3T248ZA+NhPIwPDCyu34uzcTbODg319PP08/TT60Wfh8Jm8W98NSrWqFijoq0t3sf7eN+Cbqrvxt24u2rVW7du3bp169IlZRaZ0Sg6F2Psf7wWeC3wWtCokTIpZ80a5Z6qTfFNHroCV+AKIprRjGZJUt4nNm8WfV4Ki8VegajyLuVdyrv0/feUREmUlJMjOs+fzIW5MHfqVH8nfyd/J0dH0XEYYwBBFERBZGMj15HryHW++w4WwSJYZG8vNlXJu2dq8QUkNTU1NTX19m2IhEiIXLNGdJ4n4UgciSOrVXtw6cGlB5ciIkTnYYwBZK/OXp29etgwmAyTYbL4oSNKpmRKrl1bdI7CZvEFRCVfkC/IF2bOVP5HmM2i8/yJP/iD/9ix+kB9oD7Q01N0HMZKoybUhJpQnTqwH/bD/qlTRecpkAzJkIwWO+v1RVlNAVEX6OAMnIEzVq4Uneev2dqSjnSk++67husarmu4znLWrzBW8iHa7LfZb7N/0SLlDdtyWg/halyNqy9eFJ2jsFlNASmwATbAhmnTlAcWuEAnHuIh3t29TL0y9crU+/RT0XEYKw309fX19fXDw2EkjISRljPZpkAf6AN9jh0THaOwWV0BMRqNRqPx/HnqRb2o1w8/iM7zVB7gAR4REV51vep61fXyEh2HsZJI30ffR9/nzTflU/Ip+dTs2aLzPA2GYiiG7tghOkdhs7oCorLZZ7PPZp/lXomgF3qhl41N/on8E/knfvjB+6z3We+zr7wiOhdjJYHaHZvSKI3SYmPRG73R28FBdK4/CYMwCHv40DzPPM88b8MG0XEKm9UWkKTNSZuTNv/yC8RCLMSuWCE6z9NgAAZgwOuvmx3NjmbHmJhHz5a4m2mMFSebXja9bHotXVrkK8pfEt2je3Rv3bojgUcCjwRevy46T2Gz2gKiyvsp76e8nz79FIbBMBh2+7boPE+D7bAdtuvUSZukTdIm8b0Rxl6EvpK+kr7SuHHYCTthp169ROd5GlpEi2hRfj4NoAE0YMYM0XmKSon5JKzT6XQ6XViY8mjhQtF5nioUQiFUlukG3aAbnTqZJpgmmCZs2SI6FmOWTDtBO0E74Z13oDN0hs7//S+GYRiGWXALIQICWrZM6cY7aJDoOEWlxBQQhSRpN2k3aTclJuJUnIpTLf3m9d27+Aa+gW+89ZZhpWGlYeXx46ITMWZJ1FYksqPsKDvu3w9REAVRlSqJzvU0lEiJlHjzJjbFpti0QQOlgNy4ITpXUbH6IazHyTJ8Dp/D52Fh6iWk6ER/r0IFeofeoXd27dJ/of9C/8Xrr4tOxJglaPJxk4+bfOzqKq+QV8grtm619MJRYCtsha3jx5f0wqGy3EvAF3TlkRquNVxruDo74xk8g2e8vUXneqpESITEcuWoP/Wn/u3aVS1btWzVsuvX/2743fC7IStLdDzGipNPhk+GT0blyuAADuCwZ4+yolz81tb/hCbQBJqQkGB6z/Se6b2hQx89W+K3ui1xBUTlkumS6ZKZkAB+4Ad+ISFwES7CRcttdog7cSfurFRJ6i/1l/q/+67LWZezLmfXrVPK4f37ovMxVpSUHQIrVJCvydfka9u2QQzEQIzltwRSm7xiCIZgSLt2yt9ryZtt9TQlbAjrf5RLyLt35SA5SA4KCVFvXovO9Y/+Df+GfzdsqExP3L7dI94j3iPe2Vl0LMaKglo4oAW0gBZxcbAH9sAeHx/RuZ7ZQTgIBz/7TFngfOqU6DjFrcQWEFVKcEpwSvCuXeRDPuQzZ47oPM9Hq5UeSA+kBwcOeHfw7uDdoW5d0YkYKwwFhQMAALZvt7bCoW5t/er8V+e/Oj8yUnQeUUrYLKynU/cHyI7LjsuOi4+HSTAJJvn6is71rOgQHaJDV69KraRWUqu2bQ3xhnhDfEqK6FyMPQ9lun2NGsojdfq6Vis61zPzBm/wvnPHvNC80LzQ0/MoHsWj+OuvomOJUuKvQFT7cB/uQ7MZ8zEf8/v0ocN0mA5nZorO9azQF33Rt3p16kf9qF98vO6O7o7uzttvi87F2LPwzPLM8sx64w3lnuShQ8qzVlQ4HsEszMKssLDSXjhUJfYm+tNcXn159eXVt2/XqFejXo16GRl4GA/j4S5dROd6ZsmQDMl2dpAGaZDWo0eNcjXK1Sh3+/aV3678duW35GTR8Rj7Ix3pSEfNmuFaXItrd+yA9bAe1levLjrXi1m0yLjduN24fdYs0UksRakZwnoa5ZJaXbmurmS3VqtX53yS80nOJ6Ghad3Tuqd1z84WnYiVTrpVulW6VaNGKV2zZ81Sm4uKzvW81Om5D/If5D/Ib95c+bvKzRWdy1KUmiGspylvKG8obxg2DN6Bd+Cd7dtF53k5vXs72DjYONgcPlwwZMBYMVA2UCtfXpeiS9GlrF0LX8PX8PVXX1lr4QBf8AXfy5dxOk7H6d26ceH4a6W+gKj3RjT9Nf01/bt3p320j/ZZcUuRR9OApVgpVopNStJqtVqt9qOPlG9yF2BWuLTvat/Vvuvj44AO6IAmEwyEgTCwRw/RuV6Uuq4DEiABErp0UabnXrkiOpel4jeUJ6gtFGwCbAJsAg4fVj5JubqKzlU4DhzAztgZOw8caPjU8Knh09OnRSdi1qVgNmNMdkx2zOjRSouRL75QvmtrKzrfC3u0TkzuJfeSewUHpzimOKY4lrz9OwobF5CnUHcSlCvLleXKe/cqz5YtKzrXyyr4hPVoAZQ6jz02NjY2NtbSe4cxUTxDPUM9Q319sQN2wA4LF+JknIyTPTxE5yoseAWv4JVRowyXDZcNl0vvuo7nxQXkH+hO6U7pTnXqBO/D+/B+bKzyrBV/0noC7aW9tDclheIojuLGjlUXXorOxcTyuuh10euik1N+bn5ufu6sWTgTZ+LMAQPACEYwlqCh0P7QH/rPmGEcYhxiHDJhgug41qbkvBCKmH6Yfph+WNeudJAO0sE1a5RnS04hedyOHVgOy2G5iAhesFg6KLMRy5ZVNmYbOpRepVfp1XHjcDgOx+GVK4vOV9ioA3WgDgsWmKaYppimqM0P2fPiAvKclNlNXbpIzaRmUrO1a5VnS2AhUXuHLYbFsHjtWnm+PF+eP3lyil+KX4rfuXOi47GXUy+qXlS9KHv7ivMrzq84f9Ag+YR8Qj4xcaK6YFV0vqJCsRRLsd9+a3IzuZnc1I2eSn7X3KJS6mdhPa/Hb6699x6EQRiEPXwoOlehWwyLYbH06PXRu7d0XDouHT99Wrtau1q7+v/+zzPdM90zvUMH5fslaEijhFJ7T2l3andqdw4fXsGpglMFp/Pn6RV6hV6ZP7+kFw6IhViIXbJEKRzqrEQuHC+L//BfknLp37kz6EEP+h9/BAMYwGBnJzpXcaHP6XP6/MgRuA/34f68eZlXM69mXl2z5tywc8PODSuBhdVKKAWjaVNl5feAARAMwRDcp4/yXeufDPLMtsE22DZ3rrGqsaqx6qhRypNcOAoLF5BCohSSdu0gHMIhfO1aiIZoiC5fXnSuYjcMhsGw27fpOl2n6z//jANxIA5cu9ZtkNsgt0G7d/Nsr8Klv6+/r79fq5ZskA2yoUcPvIE38Eb//gXbApQ2j4ZeqQE1oAaffGIKNAWaAr/8UnSskooLSCHzCvYK9gr28MgfnD84f/DmzTgGx+CYmjVF5xKNIimSIn//Hd3QDd3WrwdXcAXX9etzYnNic2ITEnil79/TVtVW1VZ1d1dWRnfsCCfhJJzs3BmyIAuytNoSNzvqhdy/L++V98p7+/bldRzFo5S/4IqOp5+nn6efi4s0QZogTdi0CSbDZJis14vOZZnu36fRNJpGJyRIA6QB0oC9e+EW3IJbe/aUcyjnUM4hKUntGCA6aWFTF+Zl2mXaZdo1aiStllZLqwMDyZ/8yT8wEHfhLtwVGAhzYS7MrVpVdF5Lo25zoHld87rm9Y4dk39J/iX5F24qWly4gBQxdXokhVIohcbE4GJcjIu7dhWdy2p4gRd43btHs2gWzTpxQlnwdeKE0uTu5EnpXeld6d3jx/MG5Q3KG3TypNJm+7fflP+4+Me63ee4z3GfU66c3VG7o3ZH69bNn5o/NX9q3bo4GAfj4FdfhVbQClo1boxrcA2u8fBQJmE0agSLYBEssrcXfbqtS2oqEBBQ+/bKDqQXLohOVNpwASlWiLoFugW6Bf/+NxyDY3AsIoKHHgoXJVMyJZvNYAYzmG/cgFzIhdz/fcUojMKoa9cgBEIg5M6dZ/65QECg0WAwBmOwkxO0hJbQ0slJ+blVqkAe5EFelSqQCImQyFsQF5l20A7a/fyzpq+mr6Zvv35J9ZPqJ9W3nn19Shp+4xKkYEOoltASWn7/vfKsulMbYwwAgKIpmqIfPIBsyIbsiAhTK1MrU6t580TnYgouIIJ5xHvEe8Q7O2t2aHZodixfrkw7bN9edC7GRKJpNI2mnTiBE3EiTuzVSxmiSk0VnYs9jguIRUFU2q8PGoSIiKg2dStF8/ZZ6aQDHeiIIAIiIGLpUltbW1tb2xEjEmsl1kqslZMjOh77a1xALJQ6bRPSIR3SV63CIAzCoDffFJ2LsULlB37g99tvShv1jz9WWuXExYmOxZ4NtzKxUKZrpmuma8eOYSAGYqBWq8xCGjGCDtNhOsw3DZk1y8tTvkZF5QTkBOQEvPkmFw7rxFcgVkZdX4I9sAf2mDkTT+AJPNGnD8/mYpZvz578yPzI/MghQ44EHgk8EpiWJjoRezn8hmPl9Kn6VH1qUBD1o37Ub/585dnGjUXnYqXcoz3FoQt0gS7jxxtbGFsYW8TEiI7FChcPYVk5Q2NDY0PjffuUhQo6nTrUBT7gAz7Xr4vOx0oHdUU4jIJRMGr0aDgEh+BQ/fpcOEo2vgIpodQV0TaeNp42ngMHKiu4J0zglhisUIyAETDi2jWQQQb566+VvdHnzzcajUaj8f590fFY8eACUkp4n/U+6332lVfMn5g/MX8SGoou6IIuI0YonxRdXETnYxZuFIyCUZcugR3Ygd2sWeW7le9WvtvSpUqPsgcPRMdjYvAQVimhtnwwbTBtMG2YMycnMCcwJ7BuXWXr2g8/LNjXgzEAUDok7N+PNbAG1ggJuXvz7s27N1991RhsDDYGz5/PhYMB8BUIe4JnqGeoZ6ivLzbEhtgwLAyaQlNoGhyM4RiO4WXKiM7HChfNo3k079YtfA1fw9diYmQH2UF2WLJEaYd+8qTofMyycQFhf6sJNaEmVLGiTZxNnE1c166URVmU1bcv3sE7eCcg4PGtb5lly8tT2ubv26c0m/zuO8e+jn0d+/70E19RsBfBBYS9EHUnPPov/Zf+27mzsg6lc2eaTtNpemAgeqEXetnYiM5ZOt29C8tgGSyLi4McyIGcTZtyQ3NDc0Pj4lJTU1NTU2/fFp2QlQxcQFih8snwyfDJqFw51y3XLdft7bexMTbGxq1awTgYB+NatYI5MAfm1KkjOqfVerRlK1SBKlDl1Ck6Rsfo2O7dOAJH4Ij//CdnR86OnB379vEOj6w4cAFhxUq/Rb9Fv8XNTR4gD5AH+PmhCU1o8vGBTtAJOvn6Kv9KXQhpays6b7FT95RHQsLERGgADaBBYiJshI2w8fBhjMM4jEtMVLrT3r0rOi4r3biAMIui0+q0Oq2tLV2ki3TxjTfgS/gSvmzcGDMxEzMbNYIgCIKgWrXgB/gBfqhdW5k95uqKq3AVrnJ1tZid/fSgB31urrID4W+/QTWoBtXOnwc3cAO38+dhH+yDfenpShfa8+el8lJ5qfzJk8k1k2sm1zx7Vvkhxb+jImPPgwsIK1G8gr2CvYKrVzdfMl8yX6pZU1ouLZeWu7pCb+gNve3sKIIiKKJcOZgJM2GmnZ2UJWVJWXZ2NIkm0aRy5ZQFcYjkS77kW768ci8nK0uZrXT7Ni7ABbggKwuGwlAYmpmpdJHNytL8R/MfzX+ysiAO4iDuxo26H9T9oO4Hly/HxsbGxsbm54s+L4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYKzb/D4DEm9oGCaFQAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTEyLTE1VDE1OjU3OjI3KzA4OjAwohG+LwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0xMi0xNVQxNTo1NzoyNyswODowMNNMBpMAAABPdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2NrMWJ6YTB6ajlqamRjeHIvcmVmcmVzaC5zdmejF0ikAAAAAElFTkSuQmCC\");\r\n        background-size: contain;\r\n    }\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/verifition/Verify.vue","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./VerifyPoints.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./VerifyPoints.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e33fa76c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./VerifyPoints.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/verifition/Verify/VerifyPoints.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showBox),expression:\"showBox\"}],class:_vm.mode=='pop'?'mask':''},[_c('div',{class:_vm.mode=='pop'?'verifybox':'',style:({'max-width':parseInt(_vm.imgSize.width)+30+'px'})},[(_vm.mode=='pop')?_c('div',{staticClass:\"verifybox-top\"},[_vm._v(\"\\n      请完成安全验证\\n      \"),_c('span',{staticClass:\"verifybox-close\",on:{\"click\":_vm.closeBox}},[_c('i',{staticClass:\"iconfont icon-close\"})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"verifybox-bottom\",style:({padding:_vm.mode=='pop'?'15px':'0'})},[(_vm.componentType)?_c(_vm.componentType,{ref:\"instance\",tag:\"components\",attrs:{\"captcha-type\":_vm.captchaType,\"type\":_vm.verifyType,\"figure\":_vm.figure,\"arith\":_vm.arith,\"mode\":_vm.mode,\"v-space\":_vm.vSpace,\"explain\":_vm.explain,\"img-size\":_vm.imgSize,\"block-size\":_vm.blockSize,\"bar-size\":_vm.barSize,\"default-img\":_vm.defaultImg}}):_vm._e()],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4476a5c9\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/verifition/Verify.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4476a5c9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Verify.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Verify.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Verify.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4476a5c9\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Verify.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/verifition/Verify.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/headimage8.16a315c.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage8.png\n// module id = MT2U\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE5cHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDE5LjAgMjYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjYyIEwwLDEyNjIgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iaTEiIHgxPSIyLjczNzMzNDYycHgiIHkxPSIxLjkwNDQyNDk0cHgiIHgyPSIxMC43NDMwMTE2cHgiIHkyPSIxNS43NDc5ODA5cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImkyIiB4MT0iMC44OTg0MjkzNDNweCIgeTE9IjAuNTU0NTk2NzA3cHgiIHgyPSIzLjUyNTk5ODE3cHgiIHkyPSI0LjU4NjA0NDk0cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImkzIiB4MT0iMC41NzcyMTcwNzlweCIgeTE9IjAuMzI4NzEyNjU1cHgiIHgyPSIyLjI2NTM2MDUycHgiIHkyPSIyLjcxODE3NTE5cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc5OC4wIC03MDcuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcwNy4wIDY3OC4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTIuMCAzMC4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS4zMjk5MTYzMTE4ODYzMzYyIDMuMjYzNTM2MDc4NDM3MDI3OCkiPjxwYXRoIGQ9Ik04LjgyNTM0NDA2LDAuNzAwMzc0Nzc0IEwwLDEzLjc5MjIzNjkgTDQuNzgxMDUyMzMsMTYuOTk1NTM3OSBMMTMuNTk1NjYzOCwzLjkxOTUwODY0IEMxNC4wODgxMDAyLDMuMTg4MDMxMjQgMTMuODk0MjgyMywyLjE5NDM2MTk0IDEzLjE2MjU3MjMsMS43MDQxNzcwOSBMMTEuMDIxNzM2NiwwLjI2ODQ1NDc4NiBDMTAuMjk1NzA4NiwtMC4yMTc5MzAxODUgOS4zMTQ2MjM4MSwtMC4wMjU0MDI4MDA0IDguODI1MzQ0MDYsMC43MDAzNzQ3NzQgWiIgc3Ryb2tlPSJ1cmwoI2kxKSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMTkuMDUwNjQ4MDE5NTU4MTQpIj48cGF0aCBkPSJNMC4yOTY0OTQzNDQsMCBMMC4wMDEwMzI1MDY1Niw0LjQ1Nzg5NTU5IEMtMC4wMjIzMjY2NTU4LDQuODE2OTg0NDkgMC4zNTUyMDc5MTQsNS4wNjMzNDM1NSAwLjY3Mjc2NjI1Niw0Ljg5NTUxNTQgTDQuNTUxNjQ5ODYsMi44NTA1NDUyNSIgc3Ryb2tlPSJ1cmwoI2kyKSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4wNzU2ODU0MDcyNjQyNSAwLjApIj48cGF0aCBkPSJNMi45MjQzMTQ1OSwxLjQ2Njc1NDY4IEMyLjkyNDMxNDU5LDIuMjc2NzYyOTggMi4yNjk2MjY3MiwyLjkzMzUwOTM2IDEuNDYyMTU3MywyLjkzMzUwOTM2IEMwLjY1NDY4Nzg3NCwyLjkzMzUwOTM2IDAsMi4yNzY3NjI5OCAwLDEuNDY2NzU0NjggQzAsMC42NTY3NDYzNzQgMC42NTQ2ODc4NzQsMCAxLjQ2MjE1NzMsMCBDMi4yNjk2MjY3MiwwIDIuOTI0MzE0NTksMC42NTY3NDYzNzQgMi45MjQzMTQ1OSwxLjQ2Njc1NDY4IFoiIHN0cm9rZT0idXJsKCNpMykiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/write.svg\n// module id = MVA3\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDMyLjAgMzIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjYyIEwwLDEyNjIgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xNiwwIEMyNC44MzY1NTYsMCAzMiw3LjE2MzQ0NCAzMiwxNiBDMzIsMjQuODM2NTU2IDI0LjgzNjU1NiwzMiAxNiwzMiBDNy4xNjM0NDQsMzIgMCwyNC44MzY1NTYgMCwxNiBDMCw3LjE2MzQ0NCA3LjE2MzQ0NCwwIDE2LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC05MjMuMCAtNzA1LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MDcuMCA2NzguMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIxNi4wIDI3LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAzMiwwIDMyLDMyIDAsMzIgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjMzMzMzMzMzMzMzMzMzNCAxMi4wMDAwMDAwMDAwMDAwMikiPjxwYXRoIGQ9Ik0yMS4zMzMzMzMzLDAgTDEwLjY2NjE3OTksMTAuNjY0MjMzIEwwLDAiIHN0cm9rZT0iI0ZGQjA5NSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/arrow_d_b.svg\n// module id = McTX\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIxcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIxLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg3OC4wIC0xODQuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDg3OS4wIDE4NC45OTk5OTk5OTk5OTk3KSI+PGcgb3BhY2l0eT0iNDguODM3NDI1NiUiPjxwYXRoIGQ9Ik0yLDAgTDYuMDMxMzcyNTUsMCBDNy4xMzU5NDIwNSwtMi4wMjkwNjEyNWUtMTYgOC4wMzEzNzI1NSwwLjg5NTQzMDUgOC4wMzEzNzI1NSwyIEw4LjAzMTM3MjU1LDUuMzg0NjE1MzggQzguMDMxMzcyNTUsNi40ODkxODQ4OCA3LjEzNTk0MjA1LDcuMzg0NjE1MzggNi4wMzEzNzI1NSw3LjM4NDYxNTM4IEwyLDcuMzg0NjE1MzggQzAuODk1NDMwNSw3LjM4NDYxNTM4IDEuMzUyNzA3NWUtMTYsNi40ODkxODQ4OCAwLDUuMzg0NjE1MzggTDAsMiBDLTEuMzUyNzA3NWUtMTYsMC44OTU0MzA1IDAuODk1NDMwNSwyLjAyOTA2MTI1ZS0xNiAyLDAgWiIgc3Ryb2tlPSIjN0U4NzhDIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDEwLjYxNTM4NDYxNTM4NjU3KSI+PHBhdGggZD0iTTIsMCBMNi4wMzEzNzI1NSwwIEM3LjEzNTk0MjA1LC0yLjAyOTA2MTI1ZS0xNiA4LjAzMTM3MjU1LDAuODk1NDMwNSA4LjAzMTM3MjU1LDIgTDguMDMxMzcyNTUsNS4zODQ2MTUzOCBDOC4wMzEzNzI1NSw2LjQ4OTE4NDg4IDcuMTM1OTQyMDUsNy4zODQ2MTUzOCA2LjAzMTM3MjU1LDcuMzg0NjE1MzggTDIsNy4zODQ2MTUzOCBDMC44OTU0MzA1LDcuMzg0NjE1MzggMS4zNTI3MDc1ZS0xNiw2LjQ4OTE4NDg4IDAsNS4zODQ2MTUzOCBMMCwyIEMtMS4zNTI3MDc1ZS0xNiwwLjg5NTQzMDUgMC44OTU0MzA1LDIuMDI5MDYxMjVlLTE2IDIsMCBaIiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMDM1Mjk0MTE3NjQ2MTIgMC4wKSI+PHBhdGggZD0iTTIsMCBMNi4wMzEzNzI1NSwwIEM3LjEzNTk0MjA1LC0yLjAyOTA2MTI1ZS0xNiA4LjAzMTM3MjU1LDAuODk1NDMwNSA4LjAzMTM3MjU1LDIgTDguMDMxMzcyNTUsNS4zODQ2MTUzOCBDOC4wMzEzNzI1NSw2LjQ4OTE4NDg4IDcuMTM1OTQyMDUsNy4zODQ2MTUzOCA2LjAzMTM3MjU1LDcuMzg0NjE1MzggTDIsNy4zODQ2MTUzOCBDMC44OTU0MzA1LDcuMzg0NjE1MzggMS4zNTI3MDc1ZS0xNiw2LjQ4OTE4NDg4IDAsNS4zODQ2MTUzOCBMMCwyIEMtMS4zNTI3MDc1ZS0xNiwwLjg5NTQzMDUgMC44OTU0MzA1LDIuMDI5MDYxMjVlLTE2IDIsMCBaIiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMDM1Mjk0MTE3NjQ2MTIgMTAuNjE1Mzg0NjE1Mzg2NTcpIj48cGF0aCBkPSJNMiwwIEw2LjAzMTM3MjU1LDAgQzcuMTM1OTQyMDUsLTIuMDI5MDYxMjVlLTE2IDguMDMxMzcyNTUsMC44OTU0MzA1IDguMDMxMzcyNTUsMiBMOC4wMzEzNzI1NSw1LjM4NDYxNTM4IEM4LjAzMTM3MjU1LDYuNDg5MTg0ODggNy4xMzU5NDIwNSw3LjM4NDYxNTM4IDYuMDMxMzcyNTUsNy4zODQ2MTUzOCBMMiw3LjM4NDYxNTM4IEMwLjg5NTQzMDUsNy4zODQ2MTUzOCAxLjM1MjcwNzVlLTE2LDYuNDg5MTg0ODggMCw1LjM4NDYxNTM4IEwwLDIgQy0xLjM1MjcwNzVlLTE2LDAuODk1NDMwNSAwLjg5NTQzMDUsMi4wMjkwNjEyNWUtMTYgMiwwIFoiIHN0cm9rZT0iIzdFODc4QyIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/course_list.svg\n// module id = Mm26\n// module chunks = 171","<template>\r\n  <div @click=\"clickFontsize\" :class=\"['block', mode === 'white' ? 'blockWhite' : 'blockBlack', isHorizontalScreen == 2 ? 'isVertical' : '']\">\r\n    <span class=\"demonstration\">字号大小</span>\r\n    <div class=\"slider-wrapper\" ref=\"sliderWrapper\" :style=\"{backgroundColor: mode == 'white' ? '#F1F6F9' : '#3A474E'}\">\r\n      <div v-if=\"isHorizontalScreen == 2\" class=\"size\" :style=\"{left: `calc(${virtualBarWidth1}% - ${elSliderButtonWidth * 2}px )`}\">\r\n        <div class=\"size-text\">{{ value }}</div>\r\n      </div>\r\n      <div class=\"virtual-bar\" v-if=\"value > 12\" :style=\"{backgroundColor: mode == 'white' ? '#E5E9EB' : '#7E878C'}\"></div>\r\n      <el-slider v-if=\"isHorizontalScreen == 1\" v-model=\"value\" :min=\"minValue\" :max=\"maxValue\" :step=\"1\" @input=\"changeSize\"></el-slider>\r\n      <el-slider v-else v-model=\"value\" :min=\"minValue\" :max=\"maxValue\" :step=\"1\" @input=\"changeSize\" :vertical=\"true\" :height=\"`${height}px`\" :tooltip-class=\"'fontsize-tooltip'\"></el-slider>\r\n    </div>\r\n    <span v-if=\"isHorizontalScreen == 1\" class=\"big fontTip\" >A</span>\r\n    <span v-if=\"isHorizontalScreen == 1\" class=\"small fontTip\" >A</span>\r\n\r\n    <span v-if=\"isHorizontalScreen == 2\" class=\"big1 fontTip\" >A</span>\r\n    <span v-if=\"isHorizontalScreen == 2\" class=\"small1 fontTip\" >A</span>\r\n  </div>\r\n</template>\r\n<script>\r\n\r\nexport default {\r\n  props: {\r\n    mode: {\r\n      type: String,\r\n      default: 'white'\r\n    },\r\n    defaultValue: {\r\n      type: Number,\r\n      default: 18\r\n    },\r\n    isHorizontalScreen: {\r\n      type: String,\r\n      default: '1'\r\n    },\r\n  },\r\n  computed: {\r\n  },\r\n  data() {\r\n      return {\r\n        value: this.defaultValue,\r\n        minValue: 12,\r\n        maxValue: 60,\r\n        virtualBarWidth: 0,\r\n        virtualBarWidth1: 0,\r\n        height: 0,\r\n        elSliderButtonWidth: 0,\r\n\r\n      }\r\n  },\r\n  watch: {\r\n\r\n  },\r\n  methods: {\r\n    getHeight() {\r\n      this.height = this.$refs.sliderWrapper.offsetWidth;\r\n      this.$forceUpdate();\r\n    },\r\n    clickFontsize(e) {\r\n      e.stopPropagation();\r\n    },\r\n    changeSize(size) {\r\n      // console.log(size);\r\n      const diff = this.maxValue - this.minValue;\r\n      const percent = parseFloat(((size - 12) / diff * 100).toFixed(3));\r\n      console.log(percent);\r\n      this.virtualBarWidth = percent + '%';\r\n      this.virtualBarWidth1 = 100 - percent;\r\n      this.$emit('changeFontSize', size);\r\n      const elSliderButton = document.querySelector('.el-slider__button');\r\n      if(elSliderButton) {\r\n        console.log(elSliderButton.offsetLeft, elSliderButton.offsetTop);\r\n        this.elSliderButtonWidth = elSliderButton.offsetWidth;\r\n      }\r\n    }\r\n  },\r\n  mounted() {\r\n    this.getHeight();\r\n  }\r\n}\r\n</script>\r\n<style scoped lang=\"less\">\r\n.demonstration {\r\n  font-family: Source Han Sans CN, Source Han Sans CN;\r\n  font-weight: 500;\r\n  font-size: 16px;\r\n  color: #000;\r\n  line-height: 36px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  text-transform: none;\r\n}\r\n.slider-wrapper {\r\n  background: #F1F6F9;\r\n  padding: 0 18px;\r\n  height: 32px;\r\n  width: calc(100% - 32px);\r\n  border-radius: 16px;\r\n  position: relative;\r\n  margin-top: 15px;\r\n  margin-left: 16px;\r\n}\r\n.virtual-bar {\r\n  position: absolute;\r\n  left: 0;\r\n  width: 32px;\r\n  height: 100%;\r\n  border-top-left-radius: 16px;\r\n  border-bottom-left-radius: 16px;\r\n  background-color: #E5E9EB;\r\n}\r\n/deep/ .el-slider {\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n/deep/ .el-slider__runway {\r\n  height: 100%;\r\n  width: 100%;\r\n  border-radius: 16px;\r\n  margin: 0 ;\r\n}\r\n/deep/ .el-slider__button-wrapper {\r\n    width: 36px;\r\n    height: 36px;\r\n    top: -2px;\r\n    // transform: translateX(-0%);\r\n}\r\n/deep/ .el-slider__bar {\r\n    height: 100%;\r\n    border-top-left-radius: 0;\r\n    border-bottom-left-radius: 0;\r\n    left: -25%;\r\n}\r\n/deep/ .el-slider__button {\r\n    width: 32px;\r\n    height: 32px;\r\n    border: none;\r\n    // border: 2px solid #FFF;\r\n}\r\n.blockWhite {\r\n  background: #FFFFFF;\r\n  .fontTip {\r\n    color: #292929;\r\n  }\r\n  /deep/ .el-slider__runway {\r\n    background-color: #F1F6F9;\r\n  }\r\n  /deep/ .el-slider__bar {\r\n      background-color: #E5E9EB;\r\n  }\r\n}\r\n.block {\r\n  width: 440px;\r\n  height: 118px;\r\n  box-shadow: 0px 6px 12px 1px rgba(0,0,0,0.1);\r\n  border-radius: 16px 16px 16px 16px;\r\n  padding: 12px 32px 22px 32px;\r\n  position: relative;\r\n  .fontTip {\r\n    position: absolute;\r\n    font-family: Source Han Sans CN, Source Han Sans CN;\r\n    font-weight: 400;\r\n    line-height: 15px;\r\n    line-height: 36px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    text-transform: none;\r\n    &.small {\r\n      font-size: 12px;\r\n      left: 33px;\r\n      top: 60px;\r\n    }\r\n    &.big {\r\n      font-size: 15px;\r\n      right: 31px;\r\n      top: 60px;\r\n    }\r\n    &.small1 {\r\n      font-size: 12px;\r\n      right: 31px;\r\n      top: 60px;\r\n    }\r\n    &.big1 {\r\n      font-size: 15px;\r\n      left: 33px;\r\n      top: 60px;\r\n    }\r\n  }\r\n}\r\n\r\n.blockBlack {\r\n  background: #2C3538;\r\n  .demonstration {\r\n    color: rgba(255,255,255,0.8);\r\n  }\r\n  .fontTip {\r\n    color: #fff;\r\n  }\r\n  /deep/ .el-slider__runway {\r\n    background-color: #3A474E;\r\n  }\r\n  /deep/ .el-slider__bar {\r\n      background-color: #7E878C;\r\n  }\r\n  /deep/ .el-slider__button {\r\n    background-color: #BCC4C8;\r\n  }\r\n}\r\n.size {\r\n  position: absolute;\r\n  top: 0;\r\n  z-index: 9;\r\n  background-color: #000;\r\n  color: #fff;\r\n  padding: 7px 10px;\r\n  width: 36px;\r\n  height: 36px;\r\n  border-radius: 6px;\r\n  .size-text {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: relative;\r\n    &::before {\r\n      content: '';\r\n      position: absolute;\r\n      left: 160%; /* 放置在正方形左侧 */\r\n      top: 50%;\r\n      transform: translateY(-50%);\r\n      width: 0;\r\n      height: 0;\r\n      border-top: 6px solid transparent;\r\n      border-bottom: 6px solid transparent;\r\n      border-left: 8px solid #000;\r\n    }\r\n  }\r\n}\r\n.isVertical {\r\n  /deep/ .el-slider.is-vertical .el-slider__runway {\r\n    transform: rotate(-90deg);\r\n    width: 32px;\r\n    left: 122px;\r\n    bottom: 156px;\r\n  }\r\n  /deep/ .el-slider.is-vertical .el-slider__bar {\r\n    width: 32px;\r\n    left: 0;\r\n    border-radius: 16px;\r\n  }\r\n  /deep/ .el-slider.is-vertical .el-slider__button-wrapper {\r\n    left: -3px;\r\n  }\r\n}\r\n.fontsize-tooltip {\r\n  background-color: blueviolet;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/ReadFontsize.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['block', _vm.mode === 'white' ? 'blockWhite' : 'blockBlack', _vm.isHorizontalScreen == 2 ? 'isVertical' : ''],on:{\"click\":_vm.clickFontsize}},[_c('span',{staticClass:\"demonstration\"},[_vm._v(\"字号大小\")]),_vm._v(\" \"),_c('div',{ref:\"sliderWrapper\",staticClass:\"slider-wrapper\",style:({backgroundColor: _vm.mode == 'white' ? '#F1F6F9' : '#3A474E'})},[(_vm.isHorizontalScreen == 2)?_c('div',{staticClass:\"size\",style:({left: (\"calc(\" + _vm.virtualBarWidth1 + \"% - \" + (_vm.elSliderButtonWidth * 2) + \"px )\")})},[_c('div',{staticClass:\"size-text\"},[_vm._v(_vm._s(_vm.value))])]):_vm._e(),_vm._v(\" \"),(_vm.value > 12)?_c('div',{staticClass:\"virtual-bar\",style:({backgroundColor: _vm.mode == 'white' ? '#E5E9EB' : '#7E878C'})}):_vm._e(),_vm._v(\" \"),(_vm.isHorizontalScreen == 1)?_c('el-slider',{attrs:{\"min\":_vm.minValue,\"max\":_vm.maxValue,\"step\":1},on:{\"input\":_vm.changeSize},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}}):_c('el-slider',{attrs:{\"min\":_vm.minValue,\"max\":_vm.maxValue,\"step\":1,\"vertical\":true,\"height\":(_vm.height + \"px\"),\"tooltip-class\":'fontsize-tooltip'},on:{\"input\":_vm.changeSize},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_vm._v(\" \"),(_vm.isHorizontalScreen == 1)?_c('span',{staticClass:\"big fontTip\"},[_vm._v(\"A\")]):_vm._e(),_vm._v(\" \"),(_vm.isHorizontalScreen == 1)?_c('span',{staticClass:\"small fontTip\"},[_vm._v(\"A\")]):_vm._e(),_vm._v(\" \"),(_vm.isHorizontalScreen == 2)?_c('span',{staticClass:\"big1 fontTip\"},[_vm._v(\"A\")]):_vm._e(),_vm._v(\" \"),(_vm.isHorizontalScreen == 2)?_c('span',{staticClass:\"small1 fontTip\"},[_vm._v(\"A\")]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-210f8eca\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ReadFontsize.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-210f8eca\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ReadFontsize.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ReadFontsize.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ReadFontsize.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-210f8eca\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./ReadFontsize.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-210f8eca\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/ReadFontsize.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuaooeW8j+a3seiJsiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE1MTAgLTc3MSkiPg0KICAgIDxjaXJjbGUgaWQ9IuakreWchl85IiBkYXRhLW5hbWU9IuakreWchiA5IiBjeD0iMjQiIGN5PSIyNCIgcj0iMjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1MTAgNzcxKSIgZmlsbD0icmdiYSgwLDAsMCwwLjQpIi8+DQogICAgPHBhdGggaWQ9Iui3r+W+hF8yNyIgZGF0YS1uYW1lPSLot6/lvoQgMjciIGQ9Ik0tODguODI5LDMxLjNhLjcwOC43MDgsMCwwLDEsLjUxNi4yMTcuNy43LDAsMCwxLC4yMTcuNTE2LjcwNi43MDYsMCwwLDEtLjIxNy41MmwtMS4wMzYsMS4wMzVhLjcuNywwLDAsMS0uNTE0LjIxMi43MTMuNzEzLDAsMCwxLS43MzMtLjY5MXYtLjA0MWEuNy43LDAsMCwxLC4yMTItLjUxNWwxLjAzNS0xLjAzNUEuNzEyLjcxMiwwLDAsMS04OC44MjksMzEuM1ptLjczMyw2LjY2N2gxLjY2N2EuOC44LDAsMCwxLC41ODguMjQ0LjguOCwwLDAsMSwuMjQ1LjU4OS44LjgsMCwwLDEtLjI0NS41ODkuOC44LDAsMCwxLS41ODguMjQ0SC04OC4xYS44LjgsMCwwLDEtLjU4OS0uMjQ0LjguOCwwLDAsMS0uMjQ0LS41ODkuOC44LDAsMCwxLC4yNDQtLjU4OS44LjgsMCwwLDEsLjU5LS4yNDRaTS05NS42LDI4LjhhLjgxLjgxLDAsMCwxLC41ODkuMjQ0LjgwNi44MDYsMCwwLDEsLjI0NC41ODlWMzEuM2EuOC44LDAsMCwxLS4yNDQuNTg5LjguOCwwLDAsMS0uNTg5LjI0Ni44LjgsMCwwLDEtLjU4OS0uMjQ2LjguOCwwLDAsMS0uMjQ0LS41ODlWMjkuNjM0YS44MDUuODA1LDAsMCwxLC4yNDQtLjU4OEEuODE2LjgxNiwwLDAsMS05NS42LDI4LjhabS02Ljc2NywyLjVhLjcxLjcxLDAsMCwxLC41MTUuMjE3bDEuMDM1LDEuMDM2YS43LjcsMCwwLDEsLjIxNy41MTUuNy43LDAsMCwxLS4yMTUuNTE3LjcuNywwLDAsMS0uNTE3LjIxNS43MTEuNzExLDAsMCwxLS41MjEtLjIxbC0xLjAzNS0xLjAzNWEuNzA1LjcwNSwwLDAsMS0uMjEyLS41MjIuNy43LDAsMCwxLC4yMTUtLjUxOC43MTMuNzEzLDAsMCwxLC41MTktLjIxNVptMTIuNSwxMi41YS43LjcsMCwwLDEsLjUxNC4yMTdsMS4wMzYsMS4wMzNhLjcxLjcxLDAsMCwxLC4yMTcuNTE5LjcuNywwLDAsMS0uMjE3LjUxNC43LjcsMCwwLDEtLjUxNS4yMTcuNy43LDAsMCwxLS41MjEtLjIxN2wtMS4wMzUtMS4wMzNhLjcuNywwLDAsMS0uMjEyLS41MTQuNzA3LjcwNywwLDAsMSwuMjE1LS41MTlBLjcwNy43MDcsMCwwLDEtODkuODYzLDQzLjhabS0xNC45LTUuODMzaDEuNjY2YS44LjgsMCwwLDEsLjU4OS4yNDQuOC44LDAsMCwxLC4yNDUuNTg5LjguOCwwLDAsMS0uMjQ1LjU4OS44LjgsMCwwLDEtLjU5LjI0NGgtMS42NjVhLjguOCwwLDAsMS0uNTg5LS4yNDQuOC44LDAsMCwxLS4yNDUtLjU4OS44LjgsMCwwLDEsLjI0NS0uNTg5QS44LjgsMCwwLDEtMTA0Ljc2MiwzNy45NjhabTkuMTY2LDcuNWEuOC44LDAsMCwxLC41ODkuMjQ0LjguOCwwLDAsMSwuMjQ0LjU4OXYxLjY2N2EuOC44LDAsMCwxLS4yNDQuNTg5LjguOCwwLDAsMS0uNTg5LjI0NC44LjgsMCwwLDEtLjU4OS0uMjQ0LjguOCwwLDAsMS0uMjQ0LS41ODlWNDYuM2EuOC44LDAsMCwxLC4yNDQtLjU4OUEuOC44LDAsMCwxLTk1LjYsNDUuNDY4Wm0tNS43MzItMS42NjdhLjcuNywwLDAsMSwuNTE3LjIxNy43MDUuNzA1LDAsMCwxLC4yMTUuNTE5LjcuNywwLDAsMS0uMjE3LjUxNGwtMS4wMzUsMS4wMzNhLjcuNywwLDAsMS0uNTE1LjIxNy43MDcuNzA3LDAsMCwxLS41MTctLjIxMi43LjcsMCwwLDEtLjIxNi0uNTE5LjcuNywwLDAsMSwuMjEyLS41MTlsMS4wMzUtMS4wMzNhLjcuNywwLDAsMSwuNTItLjIxN1pNLTk1LjYsMzIuOTY4YTUuNzU1LDUuNzU1LDAsMCwwLTIuOTI4Ljc4MSw1LjgzMyw1LjgzMywwLDAsMC0yLjEyMSwyLjEyNSw1LjcxLDUuNzEsMCwwLDAtLjc4NCwyLjkyNyw1LjcyNyw1LjcyNywwLDAsMCwuNzg0LDIuOTMxLDUuODY0LDUuODY0LDAsMCwwLDIuMTE3LDIuMTE4LDUuNzExLDUuNzExLDAsMCwwLDIuOTMyLjc4NCw1LjcxMyw1LjcxMywwLDAsMCwyLjkzLS43ODMsNS44NTksNS44NTksMCwwLDAsMi4xMTgtMi4xMTgsNS43MjIsNS43MjIsMCwwLDAsLjc4NS0yLjkzMiw1LjcxMSw1LjcxMSwwLDAsMC0uNzg1LTIuOTI5LDUuODIxLDUuODIxLDAsMCwwLTIuMTE2LTIuMTJBNS43NTMsNS43NTMsMCwwLDAtOTUuNiwzMi45NjhabTAsMS42NjZhNC4wODgsNC4wODgsMCwwLDEsMi4wOTIuNTU3LDQuMTQ5LDQuMTQ5LDAsMCwxLDEuNTE2LDEuNTIxLDQuMDM2LDQuMDM2LDAsMCwxLC41NTksMi4wODksNC4wNTIsNC4wNTIsMCwwLDEtLjU1OSwyLjA5Miw0LjE4Myw0LjE4MywwLDAsMS0xLjUyMSwxLjUyLDQuMDUxLDQuMDUxLDAsMCwxLTIuMDg3LjU1NSw0LjA1NCw0LjA1NCwwLDAsMS0yLjA5LS41NTYsNC4yLDQuMiwwLDAsMS0xLjUyLTEuNTIxLDQuMDY5LDQuMDY5LDAsMCwxLS41NTctMi4wOSw0LjA0OCw0LjA0OCwwLDAsMSwuNTU3LTIuMDg4LDQuMTY2LDQuMTY2LDAsMCwxLDEuNTIyLTEuNTI0QTQuMDgyLDQuMDgyLDAsMCwxLTk1LjYsMzQuNjM0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyOS41OTYgNzU2LjE5OSkiIGZpbGw9IiNiY2M0YzgiLz4NCiAgPC9nPg0KPC9zdmc+DQo=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-mode-black.svg\n// module id = MxVQ\n// module chunks = 171","module.exports = {\"version\":\"3.2.1\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/jsencrypt/lib/version.json\n// module id = MzPt\n// module chunks = 171","import { EventBus } from \"@/utils/eventBus\";\nimport { getIsMobile, checkIsOtherDevice }  from '@/utils/util';\n\n(function (window, document) {\n\t// 基准大小\n\tconst baseSize = 108\n\tconst minSize = 8\n\tlet mobileChange = 1;\n\t// 设置 rem 函数\n\tconst remUtil = {\n\t\tsetRem() {\n\t\t\tconst _minWidth = 1024 // 最小设备屏幕宽度\n\t\t\tconst designWidth = 1024\n\t\t\tconst designHeight = 768\n\t\t\tconst _hwRate = designHeight / designWidth\n\t\t\tconst _minHeightRate = 1 * _hwRate // 小于最小高度比例，出现滚动条\n\n\t\t\tconst { clientWidth, clientHeight } = document.documentElement\n\t\t\t// 当前页面宽度相对于 1920 宽的缩放比例，可根据自己需要修改。\n\t\t\tlet _clientWidth = clientWidth < clientHeight ? clientHeight : clientWidth\n\n\t\t\t// 检测超宽屏\n\t\t\tif (_clientWidth > _minWidth && clientHeight < clientWidth * _minHeightRate) {\n\t\t\t\t_clientWidth = clientHeight / _minHeightRate\n\t\t\t}\n\t\t\tconst scale = _clientWidth / designWidth\n\n\t\t\t// 设置页面根节点字体大小\n\t\t\tconst rootSize = baseSize * Math.min(scale, 4)\n\t\t\tlet _fontSize = (rootSize < minSize ? minSize : rootSize);\n\n\t\t\tdocument.documentElement.style.fontSize = _fontSize + 'px'\n\n      localStorage.setItem('isHorizontalScreen', 1);\n\n\t\t},\n\t\tsetPadRem() {\n\t\t\tconst _minWidth = 1024 // 最小设备屏幕宽度\n\t\t\tconst designWidth = 1024\n\t\t\tconst designHeight = 768\n\t\t\tconst _hwRate = designHeight / designWidth\n\t\t\tconst _minHeightRate = 1 * _hwRate // 小于最小高度比例，出现滚动条\n\n\t\t\tconst { clientWidth, clientHeight } = document.documentElement\n\n\t\t\t// 当前页面宽度相对于 1920 宽的缩放比例，可根据自己需要修改。\n\t\t\tlet _clientWidth = clientWidth < clientHeight ? clientHeight : clientWidth\n\n\t\t\t// 检测超宽屏\n\t\t\tif (_clientWidth > _minWidth && clientHeight < clientWidth * _minHeightRate) {\n\t\t\t\t_clientWidth = clientHeight / _minHeightRate\n\t\t\t}\n\t\t\tconst scale = _clientWidth / designWidth\n\n\t\t\t// 设置页面根节点字体大小\n\t\t\tconst rootSize = baseSize * Math.min(scale, 4)\n\t\t\tlet _fontSize = (rootSize < minSize ? minSize : rootSize);\n\n\t\t\tconst ua = navigator.userAgent.toLowerCase();\n\t\t\tconst isHuaweiPad = /huawei/.test(ua) && /android/.test(ua);\n\t\t\tconst isHuaweiDesktop = /(windows nt 10\\.0; win64; x64)/i.test(ua) && ((navigator.platform.match(/Linux/)) && navigator.maxTouchPoints >= 1);\n\t\t\tif(isHuaweiPad || isHuaweiDesktop) {\n\t\t\t\t_fontSize = 78;\n\t\t\t}\n\n\t\t\tdocument.documentElement.style.fontSize =  _fontSize + 'px'\n\t\t\t// const agent = navigator.userAgent.toLowerCase();\n\n\t\t\tconst isOtherDevice = checkIsOtherDevice();\n\n\t\t\t// 小屏幕适配采用缩小显示比例方案， 移动端\n\t\t\tif(clientWidth < clientHeight && !isOtherDevice) {\n\t\t\t\t// pad端强制横屏，不能竖屏\n        localStorage.setItem('isHorizontalScreen', 2);\n\t\t\t\tremUtil.css(document.body, { transform: `rotateZ(90deg) translate(0, -100%)`, width: `${clientHeight}px`, height: `${clientWidth}px`, 'transform-origin': '0 0' })\n\t\t\t} else {\n\t\t\t\tremUtil.attr(document.body, 'style', null);\n        localStorage.setItem('isHorizontalScreen', 1);\n\t\t\t}\n\n\n\t\t\t// if (clientWidth < _minWidth && clientHeight < _minWidth) {\n\t\t\t// \talert(1);\n\t\t\t// \tlet _scale = clientWidth / _minWidth\n\t\t\t// \t// remUtil.css(document.body, { transform: `scale(${_scale})`, width: `${_minWidth}px`, height: `${_minWidth * _hwRate}px`, 'transform-origin': '0 0' })\n\t\t\t// \tif (clientWidth < clientHeight && !(agent.indexOf(\"win32\") >= 0 || agent.indexOf(\"wow32\") >= 0 || agent.indexOf(\"win64\") >= 0 || agent.indexOf(\"wow64\") >= 0)) {\n\t\t\t// \t\talert(1);\n\t\t\t// \t\t_scale = clientHeight / _minWidth\n\n\t\t\t// \t\t// remUtil.css(document.body, { transform: `scale(${_scale})`, width: `${_minWidth}px`, height: `${clientHeight / _scale}px`, 'transform-origin': '0 0' })\n\t\t\t// \t\tremUtil.css(document.body, { transform: `scale(${_scale}) rotateZ(90deg) translate(0, -${clientWidth / _scale}px)`, width: `${clientHeight / _scale}px`, height: `${clientWidth / _scale}px`, 'transform-origin': '0 0' })\n\t\t\t// \t} else {\n\t\t\t// \t\talert(2);\n\t\t\t// \t\tremUtil.css(document.body, { transform: `scale(${_scale})`, width: `${_minWidth}px`, height: `${clientHeight / _scale}px`, 'transform-origin': '0 0' })\n\t\t\t// \t}\n\t\t\t// \t// remUtil.css(document.body, { transform: `scale(${_scale})`, width: `${_minWidth}px`, height: `${clientHeight / _scale}px`, 'transform-origin': '0 0' })\n\t\t\t// } else if (clientWidth < clientHeight) {\n\t\t\t// \talert(3);\n\t\t\t// \t// remUtil.css(document.body, { transform: `scale(${_scale})`, width: `${_minWidth}px`, height: `${clientHeight / _scale}px`, 'transform-origin': '0 0' })\n\t\t\t// \tremUtil.css(document.body, { transform: `rotateZ(90deg) translate(0, -100%)`, width: `${clientHeight}px`, height: `${clientWidth}px`, 'transform-origin': '0 0' })\n\t\t\t// } else {\n\t\t\t// \talert(4)\n\t\t\t// \tremUtil.attr(document.body, 'style', null)\n\t\t\t// \t// remUtil.css(document.body, { transform: `rotateZ(90deg) translate(0, -100%)`, width: `${clientHeight}px`, height: `${clientWidth}px`, 'transform-origin': '0 0' })\n\t\t\t// }\n\n\t\t},\n\t\tcss(elem, key, value) {\n\t\t\tif (value !== undefined) {\n\t\t\t\telem.style[key] = value\n\t\t\t} else {\n\t\t\t\tif (typeof key === 'string') {\n\t\t\t\t\tif (elem.currentStyle) {\n\t\t\t\t\t\treturn elem.currentStyle[key] //IE\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn document.defaultView.getComputedStyle(elem, null)[key] //标准浏览器\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let k in key) {\n\t\t\t\t\t\telem.style[k] = key[k]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tattr(elem, name, value) {\n\t\t\tif (elem === document || elem === window) return false\n\n\t\t\tif (value === undefined) {\n\t\t\t\treturn elem.getAttribute(name)\n\t\t\t} else {\n\t\t\t\tif (value === null) {\n\t\t\t\t\telem.removeAttribute(name)\n\t\t\t\t} else {\n\t\t\t\t\telem.setAttribute(name, value)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 初始化\n\tdocument.addEventListener('DOMContentLoaded', () => {\n\t\tconst isMobile = getIsMobile();\n\t\tif(isMobile) {\n\t\t\tconst { clientWidth, clientHeight } = document.documentElement\n\t\t\tif(clientWidth >= clientHeight) {\n\t\t\t\tmobileChange = 1;\n        localStorage.setItem('isHorizontalScreen', 1);\n        EventBus.$emit('RESIZE');\n\t\t\t} else {\n\t\t\t\tmobileChange = 2;\n        localStorage.setItem('isHorizontalScreen', 2);\n        EventBus.$emit('RESIZE');\n\t\t\t}\n\t\t\tremUtil.setPadRem();\n\t\t} else {\n\t\t\tremUtil.setRem();\n\t\t}\n\t})\n\n\t// 改变窗口大小时重新设置 rem\n\twindow.addEventListener('resize', () => {\n\t\tEventBus.$emit('RESIZE_BERFORE');\n\t\tconst isMobile = getIsMobile();\n\t\tif(!isMobile) {\n\t\t\tremUtil.setRem();\n\t\t} else {\n\t\t\tconst { clientWidth, clientHeight } = document.documentElement\n\t\t\tlet mobileChangeNow = 1\n\t\t\tif(clientWidth >= clientHeight) {\n\t\t\t\tmobileChangeNow = 1;\n\t\t\t} else {\n\t\t\t\tmobileChangeNow = 2;\n\t\t\t}\n\t\t\tif(mobileChangeNow != mobileChange) {\n\t\t\t\tremUtil.setPadRem();\n\t\t\t\tmobileChange = mobileChangeNow;\n\t\t\t}\n\t\t}\n\t\tEventBus.$emit('RESIZE');\n\t})\n}(window, document))\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/rem.js","<template>\r\n  <div id=\"app\">\r\n    <keep-alive>\r\n      <router-view />\r\n    </keep-alive>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {getIsMobile}  from '@/utils/util';\r\nexport default {\r\n  name: \"App\",\r\n  created() {\r\n    const uuid = require(\"uuid\");\r\n    const DeviceId = localStorage.getItem(\"DeviceId\");\r\n    if (!DeviceId) {\r\n      localStorage.setItem(\"DeviceId\", uuid.v1());\r\n    }\r\n\r\n\r\n  },\r\n  methods: {\r\n\r\n  },\r\n  mounted() {\r\n    const isMobile = getIsMobile();\r\n    if(isMobile) {\r\n      document.childNodes[1].setAttribute('class', 'mobile-app');\r\n    }\r\n    const isFirefox = typeof InstallTrigger !== \"undefined\";\r\n    if (isFirefox) {\r\n      document.head.insertAdjacentHTML(\r\n        \"beforeend\",\r\n        `<style>* { scrollbar-width: none; }</style>`\r\n      );\r\n    }\r\n  }\r\n};\r\n</script>\r\n\r\n<style>\r\nhtml,\r\nbody {\r\n  width: 100%;\r\n  height: 100%;\r\n  box-sizing: border-box;\r\n  padding: 0px;\r\n  margin: 0px;\r\n  background: #eaedef;\r\n  font-size: 14px;\r\n}\r\n* {\r\n  -webkit-tap-highlight-color: transparent;\r\n}\r\n/* 在CSS中使用媒体查询 */\r\n/* 大屏幕样式 */\r\n@media (min-width: 1366px) {\r\n  /* 添加针对大屏幕的样式 */\r\n  html {\r\n    font-size: 14px;\r\n  }\r\n}\r\n\r\n/* 小屏幕样式 */\r\n@media (max-width: 1366px) {\r\n  /* 添加针对小屏幕的样式 */\r\n  html {\r\n    font-size: 12px;\r\n  }\r\n}\r\n#app {\r\n  -webkit-font-smoothing: antialiased;\r\n  -moz-osx-font-smoothing: grayscale;\r\n  width: 100%;\r\n  position: relative;\r\n  height: 100%;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('keep-alive',[_c('router-view')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-28cd87f8\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-28cd87f8\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-28cd87f8\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","const debounce = {\r\n    bind: (el, binding) => {\r\n        const obj = binding.value;\r\n        const callback = obj.fn;\r\n        let debounceTime = obj.time;\r\n        if (!debounceTime) {\r\n            debounceTime = 1000;\r\n        }\r\n        let timer = null;\r\n        el.addEventListener('click', () => {\r\n            let callNow = !timer;\r\n            if (timer) clearTimeout(timer);\r\n            if (callNow) typeof callback === 'function' && callback(obj.params);\r\n            timer = setTimeout(() => {\r\n                timer = null;\r\n            }, debounceTime);\r\n        });\r\n    }\r\n}\r\nexport {\r\n    debounce\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/utils/directive.js","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"custom-loading\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/loading.gif\"),\"alt\":\"加载...\"}})])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-339ee486\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Loading.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-339ee486\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Loading.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Loading.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Loading.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-339ee486\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Loading.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-339ee486\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Loading.vue\n// module id = null\n// module chunks = ","<template>\r\n   <div class=\"custom-loading\">\r\n     <img src=\"@/assets/img/loading.gif\" alt=\"加载...\">\r\n   </div>\r\n </template>\r\n ​\r\n <script>\r\n export default {\r\n   name: 'Loading'\r\n }\r\n </script>\r\n ​\r\n <style scoped lang=\"less\">\r\n /* 自定义加载动画的样式 */\r\n.custom-loading {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  width: 100%;\r\n  height: 100%;\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  z-index: 999999;\r\n  background: rgba(0, 0, 0, 0.3);\r\n}\r\n\r\n/* 可以根据需要设置加载动画的尺寸、位置等样式 */\r\n.custom-loading img {\r\n  width: 40px;\r\n  height: 40px;\r\n}\r\n </style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Loading.vue","import Vue from \"vue\";\r\n// 引入 loading 组件\r\nimport Loading from \"@/components/Loading.vue\";\r\n\r\n// 定义 loading 指令\r\nconst loadingDirective = {\r\n  inserted: function(el, binding) {\r\n    // 创建 loading 组件构造函数\r\n    const LoadingCtor = Vue.extend(Loading);\r\n    // new 一个 loading组件实例\r\n    const loadingInstance = new LoadingCtor();\r\n    // 组件挂载\r\n    el.instance = loadingInstance.$mount();\r\n    // 传入值为 true 时才展示\r\n    if (binding.value) {\r\n      // 将组件挂载到绑定指令的元素上\r\n      append(el);\r\n    }\r\n  },\r\n  update(el, binding) {\r\n    // 值更新时进行操作\r\n    if (binding.value !== binding.oldValue) {\r\n      binding.value ? append(el) : remove(el);\r\n    }\r\n  }\r\n};\r\nfunction append(el) {\r\n  el.appendChild(el.instance.$el);\r\n}\r\nfunction remove(el) {\r\n  el.removeChild(el.instance.$el);\r\n}\r\nexport default loadingDirective;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/loading.js","<template>\r\n  <div class=\"custom-loading\">\r\n    <div v-if=\"msg\" class=\"loading-message\" :type=\"type\">{{ msg }}</div>\r\n    <img src=\"@/assets/img/loading.gif\" alt=\"加载...\">\r\n  </div>\r\n </template>\r\n\r\n <script>\r\n export default {\r\n  name: 'Loading',\r\n  props: {\r\n    msg: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    type: {\r\n      type: String,\r\n      default: 'info'\r\n    }\r\n  }\r\n }\r\n </script>\r\n\r\n <style scoped lang=\"less\">\r\n /* 自定义加载动画的样式 */\r\n.custom-loading {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  width: 100%;\r\n  height: 100%;\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  z-index: 999999;\r\n  background: rgba(0, 0, 0, 0.3);\r\n}\r\n\r\n/* 可以根据需要设置加载动画的尺寸、位置等样式 */\r\n.custom-loading img {\r\n  width: 40px;\r\n  height: 40px;\r\n}\r\n\r\n.loading-message {\r\n  min-width: 300px;\r\n  padding: 10px;\r\n  color: white;\r\n  font-size: 14px;\r\n  text-align: center;\r\n  max-width: 80%;\r\n  position: fixed;\r\n  top: 20px;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n  border-radius: 4px;\r\n}\r\n.loading-message[type=\"info\"] {\r\n  background-color: rgb(237, 242, 252);\r\n  color: rgb(144, 147, 153);;\r\n}\r\n </style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/LoadingMind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"custom-loading\"},[(_vm.msg)?_c('div',{staticClass:\"loading-message\",attrs:{\"type\":_vm.type}},[_vm._v(_vm._s(_vm.msg))]):_vm._e(),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/loading.gif\"),\"alt\":\"加载...\"}})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-13f65314\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/LoadingMind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-13f65314\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./LoadingMind.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./LoadingMind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./LoadingMind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-13f65314\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./LoadingMind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-13f65314\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/LoadingMind.vue\n// module id = null\n// module chunks = ","import Vue from \"vue\";\r\n// 引入 loading 组件\r\nimport LoadingMind from \"@/components/LoadingMind.vue\";\r\n\r\n// 定义 loading 指令\r\nconst loadingDirective = {\r\n  inserted: function(el, binding) {\r\n    // 创建 loading 组件构造函数\r\n    const LoadingCtor = Vue.extend(LoadingMind);\r\n    // new 一个 loading组件实例\r\n    const loadingInstance = new LoadingCtor({\r\n      propsData: {\r\n        msg: binding.value.msg,\r\n        type: binding.value.type,\r\n      }\r\n    });\r\n    // 组件挂载\r\n    el.instance = loadingInstance.$mount();\r\n    // 传入值为 true 时才展示\r\n    if (binding.value.loading) {\r\n      // 将组件挂载到绑定指令的元素上\r\n      append(el);\r\n    }\r\n  },\r\n  update(el, binding) {\r\n    // 更新消息\r\n    if (binding.value.msg !== binding.oldValue.msg) {\r\n      el.instance.msg = binding.value.msg;\r\n    }\r\n    // 更新\r\n    if (binding.value.type !== binding.oldValue.type) {\r\n      el.instance.type = binding.value.type;\r\n    }\r\n    // 值更新时进行操作\r\n    if (binding.value.loading !== binding.oldValue.loading) {\r\n      binding.value.loading ? append(el) : remove(el);\r\n    }\r\n  }\r\n};\r\nfunction append(el) {\r\n  // 避免重复添加\r\n  if (!el.contains(el.instance.$el)) {\r\n    el.appendChild(el.instance.$el);\r\n  }\r\n}\r\nfunction remove(el) {\r\n  if (el.contains(el.instance.$el)) {\r\n    el.removeChild(el.instance.$el);\r\n  }\r\n}\r\nexport default loadingDirective;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/loadingmind.js","import Vue from \"vue\";\r\n// 节流指令\r\nVue.directive(\"throttle\", {\r\n  inserted: function(el, binding) {\r\n    let [fn, event = \"click\", delay = 300, params = []] = binding.value;\r\n    let prev = Date.now();\r\n    el.addEventListener(event, (eventObject) => {\r\n      const now = Date.now();\r\n      //两次滚动事件触发的时间间隔是否大于规定的时间\r\n      if (now - prev >= delay) {\r\n        // 如果间隔大于规定的时间delay，就会调用func(也就是handle函数)\r\n        // apply:改变函数的this指向,第一个参数是this指向，第二参数是传递的参数，要用数组存放，\r\n        // call和bind是 一个一个的存放，不用数组\r\n        // fn();\r\n        fn.apply(null, [eventObject, ...params]);\r\n        prev = Date.now();\r\n      }\r\n    });\r\n  }\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/throttle.js","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from \"vue\";\r\n// 引入element UI\r\nimport ElementUI from \"element-ui\";\r\nimport \"element-ui/lib/theme-chalk/index.css\";\r\nimport './assets/fonts/font.css'\r\nimport './assets/fonts/NotoSansSC-Light.css'\r\nimport './assets/fonts/NotoSansSC-Regular.css'\r\nimport './assets/fonts/NotoSansSC-Medium.css'\r\nimport './assets/fonts/NotoSansSC-Bold.css'\r\n\r\nimport '@/utils/rem';\r\n// import \"lib-flexible\";\r\n\r\n\r\nfunction px2rem(px){\r\n  if(/%/ig.test(px)){ // 有百分号%，特殊处理，表述pc是一个有百分号的数，比如：90%\r\n    return px\r\n  }else{\r\n    return (parseFloat(px) / 108) + 'rem'\r\n  }\r\n}\r\nVue.prototype.$px2rem = px2rem // 放到全局\r\n\r\nimport App from \"./App\";\r\n\r\n// 引入状态管理\r\nimport store from \"./vuex/index\";\r\nimport \"@/assets/styles/common.less\"; // css\r\nimport \"@/assets/styles/mobile.less\";\r\nimport { debounce } from \"@/utils/directive\";\r\nVue.directive(\"debounce\", debounce);\r\n// 引入echarts\r\n// import echarts from \"echarts\";\r\n// Vue.prototype.$echarts = echarts;\r\n\r\nimport axios from \"axios\";\r\nVue.prototype.$axios = axios;\r\n\r\nVue.config.productionTip = false;\r\n\r\n// 使用element UI\r\nVue.use(ElementUI);\r\nVue.component('el-dialog', {\r\n  extends: ElementUI.Dialog,\r\n  watch: {\r\n    $route: {\r\n      deep: true,\r\n      handler: function(to, from) {\r\n        if(from && to && from.name !== to.name) {\r\n          this.hide();\r\n        }\r\n        else if(from && to && from.name === to.name && from.hash !== to.hash) {\r\n          this.hide();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  }\r\n})\r\n\r\n// import Carousel3d from \"vue-carousel-3d\";\r\n// Vue.use(Carousel3d);\r\n\r\nimport VueFullscreen from \"vue-fullscreen\";\r\nVue.use(VueFullscreen);\r\n// 过滤器\r\nimport * as custom from \"./utils/util\";\r\n\r\nObject.keys(custom).forEach(key => {\r\n  Vue.filter(key, custom[key]);\r\n});\r\n\r\nimport moment from \"moment\";\r\nVue.prototype.$moment = moment;\r\n\r\nimport loading from './directives/loading';\r\nVue.directive('loading', loading);\r\nimport loadingMind from './directives/loadingmind';\r\nVue.directive('loadingmind', loadingMind);\r\n\r\nimport \"./directives/throttle\";\r\n\r\n// 富文本编辑器\r\nimport VueQuillEditor from \"vue-quill-editor\";\r\nimport \"quill/dist/quill.core.css\";\r\nimport \"quill/dist/quill.snow.css\";\r\nimport \"quill/dist/quill.bubble.css\";\r\nVue.use(VueQuillEditor);\r\n//引入表情包资源\r\nimport Quill from \"quill\";\r\nimport * as quillEmoji from \"quill-emoji\";\r\nimport \"quill-emoji/dist/quill-emoji.css\";\r\n//将表情包与编辑器进行关联\r\nQuill.register(\"modules/quillEmoji\", quillEmoji);\r\n\r\nlet Parchment = Quill.import(\"parchment\");\r\n\r\nimport intro from 'intro.js' // introjs库\r\nimport 'intro.js/introjs.css'\r\nimport 'intro.js/themes/introjs-modern.css'\r\n// import '@/assets/styles/guide.scss'\r\nVue.prototype.$intro = intro;\r\n// 引入mock数据\r\n// import \"@/mock/mockServe\";\r\n// 引入路由\r\nimport router from \"./router\";\r\nclass lineHeightAttributor extends Parchment.Attributor.Style {}\r\n\r\nlet fonts = [\r\n  false,\r\n  \"SimHei\",\r\n  \"Microsoft-YaHei\",\r\n  \"KaiTi\",\r\n  \"FangSong\",\r\n  \"Arial\",\r\n  \"sans-serif\",\r\n  \"SimSun\"\r\n];\r\nlet Font = Quill.import(\"attributors/style/font\");\r\nFont.whitelist = fonts; //将字体加入到白名单\r\nQuill.register(Font);\r\n// 字体\r\nlet fontSizeStyle = Quill.import(\"attributors/style/size\");\r\nlet fontSize = [\r\n  \"4em\",\r\n  \"3.1em\",\r\n  \"2.7em\",\r\n  \"2em\",\r\n  \"1.9em\",\r\n  \"1.8em\",\r\n  \"1.7em\",\r\n  \"1.6em\",\r\n  \"1.5em\",\r\n  \"1.4em\",\r\n  \"1.3em\",\r\n  \"1.2em\",\r\n  \"1.1em\",\r\n  \"1em\",\r\n  \"0.9em\",\r\n  \"0.8em\",\r\n  \"0.7em\",\r\n  \"0.6em\",\r\n];\r\nfontSizeStyle.whitelist = fontSize;\r\nQuill.register(fontSizeStyle);\r\n\r\n// 新增行高\r\n//  let lingHeight = ['initial', '1', '1.5', '1.75', '2', '3', '4'];\r\n//  const lineHeightStyle = new lineHeightAttributor(\"lineHeight\", \"line-height\", {\r\n//    scope: Parchment.Scope.INLINE,\r\n//    whitelist: lingHeight\r\n//  });\r\n//  Quill.register({ \"formats/lineHeight\": lineHeightStyle }, true);\r\n\r\n// 富文本图片大小\r\n// import imageResize  from 'quill-image-resize-module' // 调整大小组件。\r\n// import { ImageDrop } from 'quill-image-drop-module'; // 拖动加载图片组件。\r\n// Quill.register('modules/imageResize', imageResize );\r\n// Quill.register('modules/imageDrop', ImageDrop);\r\n\r\nimport { getUserInfo } from \"@/utils/auth\";\r\n\r\n// Vue.prototype.$VERSION = VERSION\r\n\r\n// 路由拦截器\r\n// router.beforeEach((to, from, next) => {\r\n//   const userInfo = getUserInfo();\r\n//   if (to.matched.length != 0) {\r\n//     if (to.meta.requireAuth) {\r\n//       // 判断该路由是否需要登录权限\r\n//       if (userInfo) {\r\n//         // 通过vuex state获取当前的user是否存在\r\n//         next();\r\n//       } else {\r\n//         next({\r\n//           path: \"/login\",\r\n//           query: { redirect: to.fullPath } // 将跳转的路由path作为参数，登录成功后跳转到该路由\r\n//         });\r\n//       }\r\n//     } else {\r\n//       if (userInfo) {\r\n//         // 判断是否登录\r\n//         if (to.path != \"/\" && to.path != \"/login\") {\r\n//           //判断是否要跳到登录界面\r\n//           next();\r\n//         } else {\r\n//           /**\r\n//            * 防刷新，如果登录，修改路由跳转到登录页面，修改路由为登录后的首页\r\n//            */\r\n//           next({\r\n//             path: \"/\"\r\n//           });\r\n//         }\r\n//       } else {\r\n//         next();\r\n//       }\r\n//     }\r\n//   } else {\r\n//     next({\r\n//       path: \"/login\",\r\n//       query: { redirect: to.fullPath } // 将跳转的路由path作为参数，登录成功后跳转到该路由\r\n//     });\r\n//   }\r\n// });\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n  el: \"#app\",\r\n  router,\r\n  store, //使用store vuex状态管理\r\n  components: { App },\r\n  template: \"<App/>\",\r\n  data: {\r\n    // 空的实例放到根组件下，所有的子组件都能调用\r\n    Bus: new Vue()\r\n  }\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAAAAXNSR0IArs4c6QAAATJJREFUOE+9079KQzEUBvBzEnUQdxedXNreWZ+i/8TFB7AdHOzuIKKDe0Wo7QUXJxfbxUWxbr6AbQcfo3DBK/STXLxyrbkhMWKGQEg4P87HCdM/Ld4bjE8IaApQp7sdHP+F27x73UD8fkWgVblIO51y6YUbt6MpiFYUwEznvXpw4IMlyFv8BKK1pI7g07BWOuJGf3wBYD8t7oPNI8wUkaCtXjUY8Q0g7weTawC7PphCZnE8JND6ZzoRhKyE1cJjclabL6brJIt8QT6YDfIN+g1mi/yAXDAXRAvlYcSiHdaLLXXviuRCJkwsLbSz/0SNMLMsd2uFoen/JVOXt3KmMQJoOR1hG8TYUYrrMFfECtLFaBtXNiljdNmHqrOH/uRwxtiUUpxdVorPptjn76whl6K6tx8xsPkRY1WUaQAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/xinde_down.png\n// module id = NwD2\n// module chunks = 171","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/recording_edit.png\n// module id = O38E\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <el-container class=\"container\">\r\n    <el-header v-show=\"\r\n        centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\r\n      \"\r\n      :style=\"{ background: theme === 'white' ? '#eaedef' : '#1f1f1f' }\">\r\n      <Hearder :activeIndex=\"whiteActiveIndex\"\r\n        :theme=\"theme\" />\r\n    </el-header>\r\n    <el-container class=\"main\">\r\n      <el-main style=\"position: relative; overflow-y: auto; padding-right: 0\">\r\n        <keep-alive>\r\n          <router-view></router-view>\r\n        </keep-alive>\r\n      </el-main>\r\n    </el-container>\r\n  </el-container>\r\n</template>\r\n\r\n<script>\r\nimport Hearder from \"@/components/Hearder.vue\";\r\nexport default {\r\n  components: {\r\n    Hearder,\r\n  },\r\n  props: {\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      whiteCom: \"\",\r\n      styleImg: \"/static/img/culture.svg\",\r\n      that: this,\r\n      menuType: 0,\r\n      showTaskProgress: false,\r\n      // Header数据\r\n      childValue: {},\r\n      Card: \"card1\",\r\n      iIndex_icon: \"\",\r\n      // 同喜课程样式\r\n      txkcStyle: \"txCourse_click\",\r\n      // 同修同德课程样式\r\n      tx1kcStyle: \"txCourse\",\r\n      tx2kcStyle: \"txCourse\",\r\n      courseNum: 0,\r\n      value: [],\r\n      collectMess: {},\r\n      theme: \"white\",\r\n      whiteActiveIndex: this.$store.getters.whiteActiveIndex,\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {\r\n    // Header传值\r\n    child(childValue) {\r\n      this.childValue = childValue;\r\n      console.log(this.childValue);\r\n\r\n      // 对卡片进行判断\r\n      if (this.childValue.iIndex === \"el-icon-arrow-down\") {\r\n        this.Card = \"card\";\r\n      }\r\n    },\r\n  },\r\n  // 点击任意一个二级列表会关闭卡片\r\n  mounted() {\r\n    this.whiteCom = \"CultrueContent\";\r\n    this.$store.dispatch(\"setWhiteCom\", \"CultrueContent\");\r\n    // 课程内容\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.container {\r\n  overflow: hidden;\r\n  height: 100%;\r\n}\r\n.big-view {\r\n  z-index: 100;\r\n  // min-height: 768px;\r\n}\r\n.bg-white {\r\n  background-color: #fff;\r\n}\r\n.main {\r\n  padding: 0 20px 0px 0;\r\n  background: #eaedef;\r\n  // margin-top: 60px;\r\n  height: 100%;\r\n  // height: calc(100vh - 60px);\r\n}\r\n// /deep/ .el-container {\r\n//   padding: 40px 20px 20px 0;\r\n//   background: #eaedef;\r\n//   margin-top: 60px;\r\n// }\r\n/deep/ .el-header {\r\n  padding: 0;\r\n  position: fixed;\r\n  top: 0;\r\n  width: 100%;\r\n  background: #eaedef;\r\n  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);\r\n  padding: 10px 32px;\r\n  height: auto !important;\r\n  z-index: 101;\r\n}\r\n/deep/ .el-aside {\r\n  width: 370px !important;\r\n  margin-left: 40px;\r\n  overflow: hidden;\r\n}\r\n.main-content {\r\n  width: 100%;\r\n  min-width: 450px;\r\n  padding-left: 50px;\r\n}\r\n.icons {\r\n  position: relative;\r\n  width: 100%;\r\n  padding-top: 40px;\r\n  padding-bottom: 67px;\r\n}\r\n.icons .eye {\r\n  position: absolute;\r\n  left: 50%;\r\n  transform: translateX(-25%);\r\n  cursor: pointer;\r\n}\r\n.arrow {\r\n  top: 60px;\r\n  position: absolute;\r\n  right: 12%;\r\n  color: @culture;\r\n  font-size: 28px;\r\n  cursor: pointer;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/white/whiteMain.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"container\"},[_c('el-header',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n      _vm.centerStauts !== 'centerStauts2' && _vm.centerStauts !== 'centerStauts4'\n    ),expression:\"\\n      centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\\n    \"}],style:({ background: _vm.theme === 'white' ? '#eaedef' : '#1f1f1f' })},[_c('Hearder',{attrs:{\"activeIndex\":_vm.whiteActiveIndex,\"theme\":_vm.theme}})],1),_vm._v(\" \"),_c('el-container',{staticClass:\"main\"},[_c('el-main',{staticStyle:{\"position\":\"relative\",\"overflow-y\":\"auto\",\"padding-right\":\"0\"}},[_c('keep-alive',[_c('router-view')],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-66772cc0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/whiteMain.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-66772cc0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./whiteMain.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./whiteMain.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./whiteMain.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-66772cc0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./whiteMain.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-66772cc0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/whiteMain.vue\n// module id = null\n// module chunks = ","<template>\r\n    <div class=\"image-viewer__wrapper\">\r\n        <div class=\"image-viewer__mask\"></div>\r\n        <span @click=\"handleClose\" class=\"image-viewer__btn image-viewer__close\">\r\n            <i class=\"el-icon-close\"></i>\r\n        </span>\r\n        <span @click=\"prev\" class=\"image-viewer__btn image-viewer__prev\">\r\n            <i class=\"el-icon-arrow-left\"></i>\r\n        </span>\r\n        <span @click=\"next\" class=\"image-viewer__btn image-viewer__next\">\r\n            <i class=\"el-icon-arrow-right\"></i>\r\n        </span>\r\n        <div class=\"image-viewer__btn image-viewer__actions\">\r\n            <div class=\"image-viewer__actions__inner\">\r\n                <!-- <i class=\"el-icon-zoom-out\" v-throttle=\"[zoomOut, `click`,100]\"></i>\r\n                <i class=\"el-icon-zoom-in\"  v-throttle=\"[zoomIn, `click`, 100]\"></i> -->\r\n                <i class=\"el-icon-zoom-out\" @click=\"scaleX\"></i>\r\n                <i class=\"el-icon-zoom-in\" @click=\"scaleD\"></i>\r\n                <!-- <i class=\"el-image-viewer__actions__divider\"></i> -->\r\n                <!-- <i class=\"el-icon-full-screen\"></i> -->\r\n                <!-- <i class=\"el-image-viewer__actions__divider\"></i> -->\r\n                <!-- <i class=\"el-icon-refresh-left\"></i>\r\n                <i class=\"el-icon-refresh-right\"></i> -->\r\n            </div>\r\n        </div>\r\n        <div class=\"image-viewer__canvas\" id=\"image-viewer__canvas\">\r\n            <!-- <slot></slot> -->\r\n            <div :id=\"imageViewerCanvas\" :class=\"imageViewerCanvas\" @click=\"clickPdf\" @dragstart=\"onDragstart\" @dragend=\"onDragend\" draggable=\"true\">\r\n                <pdf\r\n                    ref=\"pdf\"\r\n                    :src=\"pdfUrl\"\r\n                    :page=\"pageNum\"\r\n                    @progress=\"loadedRatio = $event\"\r\n                    @page-loaded=\"pageLoaded($event)\"\r\n                    @num-pages=\"pageTotalNum = $event\"\r\n                    @error=\"pdfError($event)\"\r\n                    @link-clicked=\"page = $event\"\r\n                    @touchstart=\"onTouchStart\"\r\n                    @touchmove=\"onTouchMove\"\r\n                >\r\n                </pdf>\r\n                <!-- <pdf\r\n                    :src=\"base64PdfCover\"\r\n                    :page=\"pageNum\"\r\n                    @progress=\"loadedRatio = $event\"\r\n                    @page-loaded=\"pageLoaded($event)\"\r\n                    @num-pages=\"pageTotalNum = $event\"\r\n                    @error=\"pdfError($event)\"\r\n                    @link-clicked=\"page = $event\"\r\n                >\r\n                </pdf> -->\r\n            </div>\r\n        </div>\r\n    </div>\r\n \r\n</template>\r\n\r\n<script>\r\nimport pdf from \"vue-pdf\";\r\n// import VuePdfEmbed from 'vue-pdf-embed';\r\nimport { generateRandomString } from \"@/utils/util\";\r\nwindow.pdfjsWorker = require(\"pdfjs-dist/build/pdf.worker\");\r\n\r\nexport default {\r\n    components: {\r\n        pdf\r\n    },\r\n    data() {\r\n        return {\r\n            // 当前页数\r\n            pageNum: 1,\r\n            scale: 100,\r\n            // 页面加载完成\r\n            curPageNum: 0,\r\n            // 总页数\r\n            pageTotalNum: 1,\r\n            // 加载进度\r\n            loadedRatio: 0,\r\n            // 页面加载完成\r\n            curPageNum: 0,\r\n            // 旋转角度 ‘90’的倍数才有效\r\n            pageRotate: 0,\r\n            // 单击内部链接时触发 (目前我没有遇到使用场景)\r\n            page: 0,\r\n            pageNumInput: 1,\r\n            base64PdfCover: '',\r\n            totalPages: 0,\r\n            imageViewerWidth: 50,\r\n            canvasId: generateRandomString(5),\r\n            zoomTimeValue: null,\r\n            canvasWidth: 0,\r\n            canvasHeight: 0,\r\n            touchStartPoint: {\r\n                x: 0,\r\n                y: 0,\r\n            },\r\n            containerPos: {\r\n                x: 0,\r\n                y: 0,\r\n            }\r\n        }\r\n    },\r\n    props: {\r\n        dataPro: {\r\n            type: Object,\r\n            default: () => {\r\n                return {};\r\n            }\r\n        },\r\n        visible: {\r\n            type: Boolean,\r\n            default: false\r\n        },\r\n        imageViewerCanvas: {\r\n            type: String,\r\n            default: \"image-viewer__canvas\"\r\n        },\r\n        // 当前pdf路径\r\n        pdfUrl: {\r\n            type: String,\r\n            default: \"\"\r\n            // http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf\r\n        },\r\n        currentPage: {\r\n            type: Number,\r\n            default: 0\r\n        }\r\n    },\r\n    watch: {\r\n        visible: {\r\n            deep: true,\r\n            handler: function(v) {\r\n                if(!v) {\r\n                    this.scale = 0.5;\r\n                } else {\r\n                    this.readPdf();\r\n                }\r\n            }\r\n        },\r\n    },\r\n    methods: {\r\n        clickPdf() {\r\n            console.log(\"clickpdf\")\r\n        },\r\n        /**\r\n         * 根据WEB元素的样式提取元素的位置\r\n         * @param {Object} style WEB元素的样式\r\n         */\r\n        extractPoint(style) {\r\n            let point = {\r\n                x: 0,\r\n                y: 0,\r\n            }\r\n            if (style) {\r\n                if (style.left) {\r\n                    point.x = parseInt(style.left.substr(0, style.left.length - 1));\r\n                }\r\n                if (style.top) {\r\n                    point.y = parseInt(style.top.substr(0, style.top.length - 1));\r\n                }\r\n            }\r\n            return point;\r\n        },\r\n        onDragstart(event) {\r\n            console.log(event);\r\n            if (this.$refs.pdf) {\r\n                // 保存点击的位置\r\n                this.touchStartPoint.x = event.clientX;\r\n                this.touchStartPoint.y = event.clientY;\r\n                // 保存容器的位置\r\n                this.containerPos = this.extractPoint(this.$refs.pdf.$el.style);\r\n            }\r\n        },\r\n        onTouchStart(event) {\r\n            if (this.$refs.pdf) {\r\n                // 保存点击的位置\r\n                this.touchStartPoint.x = event.touches[0].clientX;\r\n                this.touchStartPoint.y = event.touches[0].clientY;\r\n                // 保存容器的位置\r\n                this.containerPos = this.extractPoint(this.$refs.pdf.$el.style);\r\n            }\r\n        },\r\n        onDragend(event) {\r\n            console.log(event);\r\n            if (this.$refs.pdf) {\r\n                // 计算拖动后当前位置距点击位置的偏移量\r\n                let offset = {\r\n                    x: event.clientX - this.touchStartPoint.x,\r\n                    y: event.clientY - this.touchStartPoint.y,\r\n                }\r\n                // 强制将容器的定位方式改为绝对定位\r\n                this.$refs.pdf.$el.style.position = 'absolute'\r\n                // 设置容器的位置（点击时容器的位置加上偏移量）\r\n                this.$refs.pdf.$el.style.top = this.containerPos.y + offset.y + 'px';\r\n                this.$refs.pdf.$el.style.left = this.containerPos.x + offset.x + 'px';\r\n            }\r\n        },\r\n        onTouchMove(event) {\r\n            if (this.$refs.pdf) {\r\n                // 计算拖动后当前位置距点击位置的偏移量\r\n                let offset = {\r\n                    x: event.touches[0].clientX - this.touchStartPoint.x,\r\n                    y: event.touches[0].clientY - this.touchStartPoint.y,\r\n                }\r\n                // 强制将容器的定位方式改为绝对定位\r\n                this.$refs.pdf.$el.style.position = 'absolute'\r\n                // 设置容器的位置（点击时容器的位置加上偏移量）\r\n                this.$refs.pdf.$el.style.top = this.containerPos.y + offset.y + 'px';\r\n                this.$refs.pdf.$el.style.left = this.containerPos.x + offset.x + 'px';\r\n            }\r\n        },\r\n        //放大\r\n        scaleD() {\r\n            this.scale += 5;\r\n            this.$refs.pdf.$el.style.width = parseInt(this.scale) + \"%\";\r\n            const imageViewer = document.getElementById(this.imageViewerCanvas);\r\n            const translateY = (this.scale - 100) / 2;\r\n            imageViewer.style.transform = `translateX(${-translateY}%)`;\r\n        },\r\n    \r\n        //缩小\r\n        scaleX() {\r\n            // if (this.scale == 100) {\r\n            //     return;\r\n            // }\r\n            this.scale += -5;\r\n            this.$refs.pdf.$el.style.width = parseInt(this.scale) + \"%\";\r\n            const imageViewer = document.getElementById(this.imageViewerCanvas);\r\n            const translateY = (this.scale - 100) / 2;\r\n            imageViewer.style.transform = `translateX(${-translateY}%)`;\r\n        },\r\n        handleLoaded(e) {\r\n            console.log(\"handleLoaded:\", e)\r\n            this.totalPages = e._pdfInfo.numPages;\r\n        },\r\n        async readPdf() {\r\n            console.log(\"readPdf\");\r\n            this.base64PdfCover = \"\";\r\n            try {\r\n                let self = this;\r\n                const base64Pdf = this.pdfUrl.split(\"base64,\")[1];\r\n                const binaryString = atob(base64Pdf);\r\n                const len = binaryString.length;\r\n                const bytes = new Uint8Array(len);\r\n                for (let i = 0; i < len; i++) {\r\n                    bytes[i] = binaryString.charCodeAt(i);\r\n                }\r\n                // 创建 Blob 对象\r\n                const blob = new Blob([bytes], { type: 'application/pdf' });\r\n                const url = URL.createObjectURL(blob);\r\n                this.base64PdfCover = pdf.createLoadingTask({\r\n                    url: url,\r\n                    // CMapReaderFactory,\r\n                    cMapUrl: '../../../static/cmaps/',\r\n                    cMapPacked: true\r\n                });\r\n                this.base64PdfCover.promise.then((pdf1) => {\r\n                    console.log(\"base64PdfCover:\", pdf1)\r\n                    this.totalPages = pdf1.numPages;\r\n                    const imageViewer = document.getElementById(this.imageViewerCanvas);\r\n                    // imageViewer.style.width = parseInt(this.imageViewerWidth) + \"%\";\r\n                    const imageViewerRect = imageViewer.getBoundingClientRect();\r\n                    const height = imageViewerRect.height;\r\n                    // this.canvasWidth = imageViewerRect.width;\r\n                    const canvases = imageViewer.getElementsByTagName(\"canvas\");\r\n                    // if(canvases && canvases.length) {\r\n                    //     const canvas = canvases[0];\r\n                    //     this.scale = 0.5;\r\n                    //     const translateY = (1 - this.scale) / 2 * 100;\r\n                    //     canvas.style.transform = `translate(0, ${-translateY}%) scale(${this.scale})`;\r\n                    // }\r\n                })\r\n\r\n                let timeout = null;\r\n                timeout = setTimeout(() => {\r\n                    this.loading = false;\r\n                    clearTimeout(timeout);\r\n                }, 1000);\r\n            } catch (error) {\r\n                console.log(error);\r\n            }\r\n\r\n            // };\r\n        },\r\n        // 切换上一页\r\n        prePage() {\r\n            var p = this.pageNum;\r\n            p = p > 1 ? p - 1 : this.pageTotalNum;\r\n            this.pageNum = p;\r\n            this.pageNumInput = p;\r\n        },\r\n        // 切换下一页\r\n        nextPage() {\r\n            var p = this.pageNum;\r\n            p = p < this.pageTotalNum ? p + 1 : 1;\r\n            this.pageNum = p;\r\n            this.pageNumInput = p;\r\n        },\r\n        // 页面加载成功  当前页数\r\n        pageLoaded(e) {\r\n            this.$emit(\"current\", e);\r\n            this.curPageNum = e;\r\n        },\r\n        handleClose() {\r\n            this.$emit(\"handleClose\");\r\n        },\r\n        prev() {\r\n            if(this.pageNum >= 2) {\r\n                // this.scale = 1;\r\n                this.pageNum -= 1;\r\n                // this.prePage();\r\n                this.$emit(\"prev\", {\r\n                    pageNum: this.pageNum,\r\n                    scale: this.scale\r\n                });\r\n            }\r\n        },\r\n        next() {\r\n            console.log(this.totalPages);\r\n            if(this.pageNum < this.totalPages - 1) {\r\n                // this.pageNum = 1;\r\n                this.pageNum += 1;\r\n                // this.nextPage();\r\n                this.$emit(\"next\", {\r\n                    pageNum: this.pageNum,\r\n                    scale: this.scale\r\n                });\r\n            }\r\n        },\r\n        zoomOut() {\r\n            this.scale -= 0.1;\r\n            // this.imageViewerWidth -= 5;\r\n            const imageViewer = document.getElementById(this.imageViewerCanvas);\r\n            // imageViewer.style.width = parseInt(this.imageViewerWidth) + \"%\";\r\n            // const imageViewerRect = imageViewer.getBoundingClientRect();\r\n            // this.canvasWidth = imageViewerRect.width;\r\n            const canvases = imageViewer.getElementsByTagName(\"canvas\");\r\n            if(canvases && canvases.length) {\r\n                const canvas = canvases[0];\r\n                // const canvasRect = canvas.getBoundingClientRect();\r\n                // canvas.width = imageViewerRect.width;\r\n                // canvas.height = canvasRect.height * 0.95;\r\n                // this.canvasHeight = canvasRect.height * 1.05;\r\n                const translateY = (1 - this.scale) / 2 * 100;\r\n                canvas.style.transform = `translate(0, ${-translateY}%) scale(${this.scale})`;\r\n            }\r\n            // this.base64PdfCover.promise.then((pdf1) => {\r\n            //     // 当前页\r\n            //     pdf1.getPage(this.pageNum).then((page) => {\r\n            //         const canvas = document.getElementById(\"pdf_canvas_\" + this.canvasId);\r\n            //         const context = canvas.getContext(\"2d\");\r\n\r\n            //         // 获取设备像素比\r\n            //         const devicePixelRatio = window.devicePixelRatio || 1;\r\n            //         // 获取CSS缩放比例\r\n            //         const cssScaleFactor = parseFloat(imageViewerRect.width / page.getViewport({ scale: 1 }).width).toFixed(2);\r\n\r\n            //         // 计算最终缩放比例\r\n            //         const finalScale = devicePixelRatio * cssScaleFactor;\r\n\r\n            //         // 设置 viewport 和 canvas 尺寸\r\n            //         const viewport = page.getViewport({ scale: finalScale });\r\n\r\n            //         // 调整 canvas 尺寸以适应高 DPI 显示\r\n            //         canvas.width = viewport.width;\r\n            //         canvas.height = viewport.height;\r\n\r\n            //         // 确保 canvas 在页面中按原始大小显示，而不被放大\r\n            //         canvas.style.width = `${imageViewerRect.width}px`;\r\n            //         // canvas.style.height = `${viewport.height}px`;\r\n\r\n            //         // 创建 renderContext 并渲染页面\r\n            //         const renderContext = {\r\n            //             canvasContext: context,\r\n            //             viewport: viewport,\r\n            //         };\r\n\r\n            //         page.render(renderContext);\r\n            //     });\r\n            // })\r\n            \r\n        },\r\n        zoomIn() {\r\n            // if(this.scale >= 1) {\r\n            //     return;\r\n            // }\r\n            this.scale += 0.1;\r\n            // this.imageViewerWidth += 5;\r\n            const imageViewer = document.getElementById(this.imageViewerCanvas);\r\n            // const imageViewerRect = imageViewer.getBoundingClientRect();\r\n            // imageViewer.style.width = parseInt(this.imageViewerWidth) + \"%\";\r\n            // this.canvasWidth = imageViewerRect.width;\r\n            const canvases = imageViewer.getElementsByTagName(\"canvas\");\r\n            // console.log(\"canvases:\", canvases)\r\n            if(canvases && canvases.length) {\r\n                const canvas = canvases[0];\r\n                // const canvasRect = canvas.getBoundingClientRect();\r\n                // canvas.width = imageViewerRect.width;\r\n                // canvas.height = canvasRect.height * 1.05;\r\n                // this.canvasHeight = canvasRect.height * 1.05;\r\n                const translateY = (1 - this.scale) / 2 * 100;\r\n                canvas.style.transform = `translate(0, ${-translateY}%) scale(${this.scale})`;\r\n            }\r\n            // this.base64PdfCover.promise.then((pdf1) => {\r\n            //     // 当前页\r\n            //     pdf1.getPage(this.pageNum).then((page) => {\r\n            //         const canvas = document.getElementById(\"pdf_canvas_\" + this.canvasId);\r\n            //         const context = canvas.getContext(\"2d\");\r\n\r\n            //         // 获取设备像素比\r\n            //         const devicePixelRatio = window.devicePixelRatio || 1;\r\n            //         // 获取CSS缩放比例\r\n            //         const cssScaleFactor = parseFloat(imageViewerRect.width / page.getViewport({ scale: 1 }).width).toFixed(2);\r\n\r\n            //         // 计算最终缩放比例\r\n            //         const finalScale = devicePixelRatio * cssScaleFactor;\r\n\r\n            //         // 设置 viewport 和 canvas 尺寸\r\n            //         const viewport = page.getViewport({ scale: finalScale });\r\n\r\n            //         // 调整 canvas 尺寸以适应高 DPI 显示\r\n            //         canvas.width = viewport.width;\r\n            //         canvas.height = viewport.height;\r\n\r\n            //         // 确保 canvas 在页面中按原始大小显示，而不被放大\r\n            //         canvas.style.width = `${imageViewerRect.width}px`;\r\n            //         // canvas.style.height = `${viewport.height}px`;\r\n\r\n            //         // 创建 renderContext 并渲染页面\r\n            //         const renderContext = {\r\n            //             canvasContext: context,\r\n            //             viewport: viewport,\r\n            //         };\r\n\r\n            //         page.render(renderContext);\r\n            //     });\r\n            // })\r\n            \r\n        }\r\n    },\r\n    mounted() {\r\n        this.pageNum = this.currentPage;\r\n        this.readPdf();\r\n    }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.image-viewer__wrapper {\r\n    z-index: 2022;\r\n    position: fixed;\r\n    top: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n    .image-viewer__close {\r\n        top: 60px;\r\n        right: 40px;\r\n        width: 40px;\r\n        height: 40px;\r\n        font-size: 24px;\r\n        color: #fff;\r\n        background-color: #606266;\r\n    }\r\n    .image-viewer__btn {\r\n        position: absolute;\r\n        z-index: 103;\r\n        display: -webkit-box;\r\n        display: -ms-flexbox;\r\n        display: flex;\r\n        -webkit-box-align: center;\r\n        -ms-flex-align: center;\r\n        align-items: center;\r\n        -webkit-box-pack: center;\r\n        -ms-flex-pack: center;\r\n        justify-content: center;\r\n        border-radius: 50%;\r\n        opacity: .8;\r\n        cursor: pointer;\r\n        -webkit-box-sizing: border-box;\r\n        box-sizing: border-box;\r\n        -webkit-user-select: none;\r\n        -moz-user-select: none;\r\n        -ms-user-select: none;\r\n        user-select: none;\r\n    }\r\n    .image-viewer__prev {\r\n        left: 40px;\r\n        width: 44px;\r\n        height: 44px;\r\n        font-size: 24px;\r\n        color: #fff;\r\n        background-color: #606266;\r\n        border-color: #fff;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n    }\r\n    .image-viewer__next {\r\n        right: 40px;\r\n        width: 44px;\r\n        height: 44px;\r\n        font-size: 24px;\r\n        color: #fff;\r\n        background-color: #606266;\r\n        border-color: #fff;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        text-indent: 2px;\r\n    }\r\n    .image-viewer__actions {\r\n        left: 50%;\r\n        bottom: 30px;\r\n        -webkit-transform: translateX(-50%);\r\n        transform: translateX(-50%);\r\n        width: 282px;\r\n        height: 44px;\r\n        padding: 0 23px;\r\n        background-color: #606266;\r\n        border-color: #fff;\r\n        border-radius: 22px;\r\n        z-index: 103;\r\n    }\r\n    .image-viewer__actions__inner {\r\n        width: 100%;\r\n        height: 100%;\r\n        text-align: justify;\r\n        cursor: default;\r\n        font-size: 23px;\r\n        color: #fff;\r\n        display: -webkit-box;\r\n        display: -ms-flexbox;\r\n        display: flex;\r\n        -webkit-box-align: center;\r\n        -ms-flex-align: center;\r\n        align-items: center;\r\n        -ms-flex-pack: distribute;\r\n        justify-content: space-around;\r\n    }\r\n    .image-viewer__canvas {\r\n        position: relative;\r\n        width: 100%;\r\n        height: 100%;\r\n        display: -webkit-box;\r\n        display: -ms-flexbox;\r\n        display: flex;\r\n        -webkit-box-pack: center;\r\n        -ms-flex-pack: center;\r\n        justify-content: center;\r\n        -webkit-box-align: center;\r\n        -ms-flex-align: center;\r\n        align-items: center;\r\n        z-index: 102;\r\n        // position: relative;\r\n        // top: 54px;\r\n        margin: 0 auto;\r\n        overflow-y: auto;\r\n        overflow-x: auto;\r\n        &>div {\r\n            width: 100%;\r\n            height: 100%;\r\n        }\r\n    }\r\n}\r\n.image-viewer__mask {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    top: 0;\r\n    left: 0;\r\n    opacity: .5;\r\n    background: #000;\r\n}\r\n[class*=\" el-icon-\"], [class^=el-icon-] {\r\n    font-family: element-icons !important;\r\n    speak: none;\r\n    font-style: normal;\r\n    font-weight: 400;\r\n    font-variant: normal;\r\n    text-transform: none;\r\n    line-height: 1;\r\n    vertical-align: baseline;\r\n    display: inline-block;\r\n    -webkit-font-smoothing: antialiased;\r\n    -moz-osx-font-smoothing: grayscale;\r\n    cursor: pointer;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/ImageViewer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-viewer__wrapper\"},[_c('div',{staticClass:\"image-viewer__mask\"}),_vm._v(\" \"),_c('span',{staticClass:\"image-viewer__btn image-viewer__close\",on:{\"click\":_vm.handleClose}},[_c('i',{staticClass:\"el-icon-close\"})]),_vm._v(\" \"),_c('span',{staticClass:\"image-viewer__btn image-viewer__prev\",on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"el-icon-arrow-left\"})]),_vm._v(\" \"),_c('span',{staticClass:\"image-viewer__btn image-viewer__next\",on:{\"click\":_vm.next}},[_c('i',{staticClass:\"el-icon-arrow-right\"})]),_vm._v(\" \"),_c('div',{staticClass:\"image-viewer__btn image-viewer__actions\"},[_c('div',{staticClass:\"image-viewer__actions__inner\"},[_c('i',{staticClass:\"el-icon-zoom-out\",on:{\"click\":_vm.scaleX}}),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-zoom-in\",on:{\"click\":_vm.scaleD}})])]),_vm._v(\" \"),_c('div',{staticClass:\"image-viewer__canvas\",attrs:{\"id\":\"image-viewer__canvas\"}},[_c('div',{class:_vm.imageViewerCanvas,attrs:{\"id\":_vm.imageViewerCanvas,\"draggable\":\"true\"},on:{\"click\":_vm.clickPdf,\"dragstart\":_vm.onDragstart,\"dragend\":_vm.onDragend}},[_c('pdf',{ref:\"pdf\",attrs:{\"src\":_vm.pdfUrl,\"page\":_vm.pageNum},on:{\"progress\":function($event){_vm.loadedRatio = $event},\"page-loaded\":function($event){return _vm.pageLoaded($event)},\"num-pages\":function($event){_vm.pageTotalNum = $event},\"error\":function($event){return _vm.pdfError($event)},\"link-clicked\":function($event){_vm.page = $event},\"touchstart\":_vm.onTouchStart,\"touchmove\":_vm.onTouchMove}})],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-61fbb27c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ImageViewer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61fbb27c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ImageViewer.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ImageViewer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ImageViewer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61fbb27c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./ImageViewer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-61fbb27c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/ImageViewer.vue\n// module id = null\n// module chunks = ","\r\n<template>\r\n  <div class=\"pdf\" :id=\"mindpdfId\" :Key=\"mindpdfId\">\r\n    <div v-show=\"showTag && pdfUrl\" id=\"tag\" ref=\"tag\" class=\"tag\">PDF</div>\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"is_collect == 2 && pdfUrl && courseIsuseradd != 3\"\r\n    >\r\n      <img @click=\"addUserCollection(1)\" src=\"@/assets/img/mind_collect.svg\" />\r\n      <span @click=\"addUserCollection(1)\">收藏PDF</span>\r\n    </div>\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"is_collect == 1 && pdfUrl && courseIsuseradd != 3\"\r\n    >\r\n\r\n      <img @click=\"addUserCollection(2)\" src=\"@/assets/img/mind_collected.svg\" />\r\n      <span @click=\"addUserCollection(2)\">取消收藏</span>\r\n    </div>\r\n    <div class=\"show\" :class=\"[pdfUrl ? '' : 'showNone']\" :id=\"showId\" @click=\"showImagePdf\" >\r\n\r\n      <!-- <canvas\r\n        :id=\"`pdf_canvas_${canvasId}`\"\r\n        style=\"display: none\"\r\n      ></canvas> -->\r\n      <!-- <div  class=\"loading\">加载中</div> -->\r\n      <pdf\r\n        ref=\"pdf1\"\r\n        :src=\"base64PdfCover\"\r\n        :page=\"pageNum\"\r\n        :rotate=\"pageRotate\"\r\n        @password=\"password\"\r\n        @progress=\"loadedRatio = $event\"\r\n        @page-loaded=\"pageLoaded($event)\"\r\n        @num-pages=\"pageTotalNum = $event\"\r\n        @error=\"pdfError($event)\"\r\n        @link-clicked=\"page = $event\"\r\n      >\r\n      </pdf>\r\n    </div>\r\n\r\n    <div class=\"none_wrapper\" v-if=\"showUpload && courseIsuseradd != 3 && !pdfUrl\">\r\n      <div v-if=\"pdfPicturePath.length === 0\" class=\"none_wrapper_box_wrapper\">\r\n        <div class=\"none_wrapper_box\" :class=\"[isServer ? 'isServer' : '']\">\r\n          <img\r\n            ref=\"imgRef\"\r\n            style=\"z-index: 10\"\r\n            @click=\"uploadPdf\"\r\n            src=\"@/assets/img/upload_image.svg\"\r\n          />\r\n          <p>上传PDF</p>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"outlineNone\"\r\n      v-if=\"showUpload && courseIsuseradd == 3 && pdfPicturePath.length === 0\"\r\n    >\r\n      <img src=\"@/assets/img/recommend_none.svg\"/>\r\n      <p class=\"none\">暂无数据</p>\r\n    </div>\r\n    <ImageViewer v-if=\"imageVisible\" :visible=\"imageVisible\" :pdfUrl=\"pdfUrl\" :dataPro=\"dataPro\" :currentPage=\"pageNum\" :imageViewerCanvas=\"imageViewerCanvas\" @handleClose=\"handleClose\" @prev=\"changePage\" @next=\"changePage\">\r\n      <!-- <div :id=\"imageViewerCanvas\" :class=\"imageViewerCanvas\" style=\"width: 90%;\">\r\n        <pdf\r\n          ref=\"pdf\"\r\n          :src=\"base64PdfCover\"\r\n          :page=\"pageNum\"\r\n          :rotate=\"pageRotate\"\r\n          @password=\"password\"\r\n          @progress=\"loadedRatio = $event\"\r\n          @page-loaded=\"pageLoaded($event)\"\r\n          @num-pages=\"pageTotalNum = $event\"\r\n          @error=\"pdfError($event)\"\r\n          @link-clicked=\"page = $event\"\r\n        >\r\n        </pdf>\r\n      </div> -->\r\n    </ImageViewer>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\n/* eslint-disable */\r\nimport pdf from \"vue-pdf\";\r\nimport * as PDFJS from \"pdfjs-dist\";\r\nimport { addUserCollection } from \"@/api/index\";\r\nimport { getFileByUrl, base64ToFile } from \"@/utils/indexDb\";\r\nwindow.pdfjsWorker = require(\"pdfjs-dist/build/pdf.worker\");\r\nimport CMapReaderFactory from \"vue-pdf/src/CMapReaderFactory.js\";\r\nimport ImageViewer from \"@/components/ImageViewer\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { generateRandomString,throttle } from \"@/utils/util\";\r\nimport { debounce } from 'throttle-debounce';\r\n\r\nexport default {\r\n  name: \"vue_pdf_preview\",\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    // 当前pdf路径\r\n    pdfUrl: {\r\n      type: String,\r\n      default: \"\"\r\n      // http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf\r\n    },\r\n    pdfXHRUrl: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    pdfProgress: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    command: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    isServer: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    showFooter: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    showUpload: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    showTag: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    mindmap_pdf_show: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    mindPdfWidth: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    course_name: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    courseIsuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    imageViewerCanvas: {\r\n      type: String,\r\n      default: \"image-viewer__canvas\"\r\n    },\r\n  },\r\n  components: {\r\n    pdf,\r\n    ImageViewer\r\n  },\r\n  data() {\r\n    return {\r\n      // 总页数\r\n      pageTotalNum: 1,\r\n      // 当前页数\r\n      pageNum: 1,\r\n      // 加载进度\r\n      loadedRatio: 0,\r\n      // 页面加载完成\r\n      curPageNum: 0,\r\n      // 放大系数 默认百分百\r\n      scale: 100,\r\n      // 旋转角度 ‘90’的倍数才有效\r\n      pageRotate: 0,\r\n      // 单击内部链接时触发 (目前我没有遇到使用场景)\r\n      page: 0,\r\n      pageNumInput: 1,\r\n      timeout: null,\r\n      pdfPicturePath: [],\r\n      imgFiles: [],\r\n      loading: null,\r\n      is_collect: 2,\r\n      totalPages: 0,\r\n      imageVisible: false,\r\n      imageCanvas: \"\",\r\n      pdfData: null,\r\n      inited: false,\r\n      scale: 100,\r\n      canvasId: \"\",\r\n      pdfCanvasId: \"pdf_canvas\",\r\n      base64PdfCover: \"\",\r\n      base64Pdf: \"\",\r\n      imgPdf: \"\",\r\n      imageViewerWidth: 50,\r\n      pdfKey: generateRandomString(5),\r\n      pdf1Key: generateRandomString(5),\r\n      mindpdfId: generateRandomString(5),\r\n      showId: generateRandomString(5),\r\n    };\r\n  },\r\n  watch: {\r\n    mindmap_pdf_show: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"mindmap_pdf_show:\", v);\r\n      }\r\n    },\r\n    pdfUrl: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        // this.pdfKey = generateRandomString(5);\r\n        // this.pdf1Key = generateRandomString(5);\r\n        // this.pageNum = 1;\r\n        this.init();\r\n      }\r\n    },\r\n    pdfProgress: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          console.log(v, this.$refs.imgRef, this.$refs.progressRef);\r\n          this.$refs.imgRef.style.zIndex = 0;\r\n          this.$refs.progressRef.style.zIndex = 10;\r\n        }\r\n      }\r\n    },\r\n    imageVisible(newVal) {\r\n      // const canvas = document.getElementById(\r\n      //   this.pdfCanvasId\r\n      // );\r\n      // if (!newVal) {\r\n      //   if(canvas) {\r\n      //     canvas.style.display = \"none\";\r\n      //   }\r\n      // }\r\n    },\r\n    whiteCom(newVal) {\r\n      if(newVal == 'Mind') {\r\n        // this.init();\r\n      }\r\n    },\r\n\r\n  },\r\n  computed: {\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    resolvedUrl() {\r\n      const resolved = this.$router.resolve({ path: 'PdfRead', query: {\r\n        course_id: this.course_id,\r\n        course_name: this.course_name,\r\n        course_pdf: this.mindmap_pdf_show\r\n      } });\r\n      return window.location.origin + resolved.href;\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.pdfCanvasId = generateRandomString(9);\r\n    this.canvasId = generateRandomString(5);\r\n    // this.pdfKey = generateRandomString(5);\r\n    this.init();\r\n\r\n    // EventBus.$on(\"RESIZE\", debounce(\r\n    //   1000,\r\n    //   () => {\r\n    //     this.readPdf()\r\n    //   },\r\n    //   { atBegin: false }\r\n    // ));\r\n  },\r\n  activated() {},\r\n  methods: {\r\n    toPdfReadDetail() {\r\n      window.open(this.resolvedUrl, '_blank');\r\n    },\r\n    initTagPosition() {\r\n      let show = document.getElementById(this.showId);\r\n      let tag = document.getElementById(\"tag\");\r\n      if(show && tag) {\r\n        let offsetWidth = show.offsetWidth;\r\n        const width = tag.offsetWidth;\r\n        tag.style.left = offsetWidth - width + \"px\";\r\n      }\r\n    },\r\n    changePage(data) {\r\n      const pageNum = data.pageNum;\r\n      const scale = data.scale;\r\n      this.getPage(pageNum, scale);\r\n    },\r\n    getPage(pageNum) {\r\n      console.log(\"getPage:\", pageNum);\r\n      this.pageNum = pageNum;\r\n    },\r\n    showImagePdf() {\r\n      this.toPdfReadDetail();\r\n      // this.imageVisible = true;\r\n      // EventBus.$emit(\"disableOperateMode\", true);\r\n      // this.getPage(this.pageNum);\r\n    },\r\n    handleClose() {\r\n      this.imageVisible = false;\r\n      EventBus.$emit(\"disableOperateMode\", false);\r\n    },\r\n    async addUserCollection(operate_type) {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      let params = {\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_isuseradd: this.dataPro.mindmap_isuseradd,\r\n        collect_type: 5,\r\n        operate_type,\r\n        course_id: this.course_id,\r\n        mindmap_type: 3,\r\n        mindmap_id: this.dataPro.mindmap_id\r\n      };\r\n      console.log(params);\r\n      try {\r\n        const res = await addUserCollection(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.is_collect = operate_type;\r\n          // this.$store.dispatch(\"setMindMap\", {\r\n          //   data: {\r\n          //     ...this.dataPro,\r\n          //     is_collect_studythinkpdf: operate_type\r\n          //   },\r\n          //   isEdited: this.isEdited,\r\n          //   timeStamp: new Date().getTime()\r\n          // });\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    uploadPdf() {\r\n      console.log(\"uploadPdf\");\r\n      this.$emit(\"uploadPdf\");\r\n    },\r\n    init() {\r\n      this.is_collect = this.dataPro\r\n        ? this.dataPro.is_collect_studythinkpdf\r\n        : 2;\r\n      this.pdfPicturePath = [];\r\n      if (this.pdfUrl) {\r\n        this.pageNum = 1;\r\n        this.pageNumInput = 1;\r\n        this.loading = true;\r\n        this.readPdf();\r\n      } else {\r\n        this.base64PdfCover = \"\";\r\n      }\r\n    },\r\n    async readPdf() {\r\n      console.log(\"readPdf:\");\r\n      this.base64PdfCover = \"\";\r\n      try {\r\n        let self = this;\r\n        self.pdfPicturePath = [];\r\n        self.imgFiles = [];\r\n        const base64Pdf = this.pdfUrl.split(\"base64,\")[1];\r\n        if(base64Pdf) {\r\n          const binaryString = atob(base64Pdf);\r\n          const len = binaryString.length;\r\n          const bytes = new Uint8Array(len);\r\n          for (let i = 0; i < len; i++) {\r\n              bytes[i] = binaryString.charCodeAt(i);\r\n          }\r\n          // 创建 Blob 对象\r\n          const blob = new Blob([bytes], { type: 'application/pdf' });\r\n          const url = URL.createObjectURL(blob);\r\n          this.base64PdfCover = pdf.createLoadingTask({\r\n            url: url,\r\n            // CMapReaderFactory,\r\n            cMapUrl: '../../../static/cmaps/',\r\n            cMapPacked: true\r\n          });\r\n          this.base64PdfCover.promise.then((pdf1) => {\r\n            console.log(\"base64PdfCover:\", pdf1)\r\n            this.totalPages = pdf1.numPages;\r\n            this.pdfKey = generateRandomString(5);\r\n            // this.pageNum = 1;\r\n            // this.initTagPosition();\r\n          })\r\n        }\r\n\r\n\r\n        let timeout = null;\r\n        timeout = setTimeout(() => {\r\n          this.loading = false;\r\n          clearTimeout(timeout);\r\n        }, 1000);\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    openPage(pdfFile, pageNumber, context) {\r\n      let scale = 2;\r\n      pdfFile.getPage(pageNumber).then(function(page) {\r\n        // reference canvas via context\r\n        const viewport = page.getViewport(scale);\r\n        let canvas = context.canvas;\r\n        canvas.width = \"1000px\";\r\n        canvas.height = \"100px\";\r\n        canvas.style.width = \"1000px\";\r\n        canvas.style.height = \"100px\";\r\n        let renderContext = {\r\n          canvasContext: context,\r\n          viewport: viewport\r\n        };\r\n        page.render(renderContext);\r\n      });\r\n      return;\r\n    },\r\n    resize() {\r\n      this.timeout = setInterval(() => {\r\n        let container = document.getElementById(this.showId);\r\n        let offsetWidth = container.offsetWidth;\r\n        let offsetHeight = container.offsetHeight;\r\n        console.log(\r\n          \"container.offsetWidth:::\",\r\n          container.offsetWidth,\r\n          offsetHeight\r\n        );\r\n        if (offsetWidth && offsetHeight) {\r\n          let show = document.getElementById(this.showId);\r\n          this.$refs[this.pdfKey].$el.style.width = offsetWidth + \"px\";\r\n          this.$refs[this.pdfKey].$el.style.height = \"100%\";\r\n\r\n          show.style.minWidth = offsetWidth + \"px\";\r\n          clearInterval(this.timeout);\r\n        }\r\n      }, 100);\r\n    },\r\n    //下载PDF\r\n    fileDownload(fileName) {\r\n      // iOS端用buffer处理\r\n      // if (isAppleDevice()) {\r\n      //   let xhr = new XMLHttpRequest()\r\n      //   const url = this.dataPro.mindmap_pdf_show\r\n      //   console.log({url, pdfXHRUrl: this.pdfXHRUrl});\r\n      //   xhr.open('get', this.pdfXHRUrl, true)\r\n      //   xhr.responseType = 'arraybuffer'\r\n      //   xhr.onload = function () {\r\n      //     if (this.status == 200) {\r\n      //       //接受二进制文件流\r\n      //       let blob = this.response;\r\n      //       const blobRes = this.response;\r\n      //         blob = new Blob([blobRes], {\r\n      //           type: 'application/octet-stream',\r\n      //           'Content-Disposition': 'attachment'\r\n      //         });\r\n      //       const blobUrl = window.URL.createObjectURL(blob);\r\n      //       let a = document.createElement('a');\r\n      //       let event = new MouseEvent('click');\r\n      //       a.download = fileName || 'pdf-' + new Date().getTime();\r\n      //       a.href = blobUrl;\r\n      //       a.dispatchEvent(event); // 触发a的单击事件\r\n      //     }\r\n      //   }\r\n      //   xhr.send()\r\n      //   return\r\n      // }\r\n\r\n      // 将 Base64 数据解码为字节数组\r\n      const base64Pdf = this.pdfUrl.split(\"base64,\")[1];\r\n      const binaryString = atob(base64Pdf);\r\n      const len = binaryString.length;\r\n      const bytes = new Uint8Array(len);\r\n      for (let i = 0; i < len; i++) {\r\n          bytes[i] = binaryString.charCodeAt(i);\r\n      }\r\n\r\n      // 创建 Blob 对象\r\n      const blob = new Blob([bytes], { type: 'application/pdf' });\r\n\r\n      // 创建下载链接\r\n      const link = document.createElement('a');\r\n      link.href = URL.createObjectURL(blob);\r\n      link.download = fileName; // 设置下载文件名\r\n\r\n      // 触发点击事件进行下载\r\n      document.body.appendChild(link);\r\n      link.click();\r\n      document.body.removeChild(link);\r\n      URL.revokeObjectURL(link.href); // 释放 Blob 对象 URL\r\n\r\n      // 可下载，名称也有效 -- 推荐\r\n      // const x = new window.XMLHttpRequest();\r\n      // x.open(\"GET\", this.pdfUrl, true);\r\n      // x.responseType = \"blob\";\r\n      // x.onload = () => {\r\n      //   const url = window.URL.createObjectURL(x.response);\r\n      //   const a = document.createElement(\"a\");\r\n      //   a.href = url;\r\n      //   a.download = fileName;\r\n      //   a.click();\r\n      // };\r\n      // x.send();\r\n    },\r\n\r\n    //放大\r\n    scaleD() {\r\n      this.scale += 5;\r\n      this.imageViewerWidth += 5;\r\n      // this.$refs.pdf.$el.style.width = parseInt(this.scale) + \"%\";\r\n      const imageViewer = document.getElementById(this.imageViewerCanvas);\r\n      imageViewer.style.width = parseInt(this.imageViewerWidth) + \"%\";\r\n    },\r\n\r\n    //缩小\r\n    scaleX() {\r\n      // scale 是百分百展示 不建议缩放\r\n      // if (this.scale == 100) {\r\n      //   return;\r\n      // }\r\n      this.scale -= 5;\r\n      this.imageViewerWidth -= 5;\r\n      // this.$refs.pdf.$el.style.width = parseInt(this.scale) + \"%\";\r\n      const imageViewer = document.getElementById(this.imageViewerCanvas);\r\n      imageViewer.style.width = parseInt(this.imageViewerWidth) + \"%\";\r\n    },\r\n    // 切换上一页\r\n    prePage() {\r\n      var p = this.pageNum;\r\n      p = p > 1 ? p - 1 : this.pageTotalNum;\r\n      this.pageNum = p;\r\n      this.pageNumInput = p;\r\n    },\r\n    // 切换下一页\r\n    nextPage() {\r\n      var p = this.pageNum;\r\n      p = p < this.pageTotalNum ? p + 1 : 1;\r\n      this.pageNum = p;\r\n      this.pageNumInput = p;\r\n    },\r\n    changeNum() {\r\n      // 校验是不是数字\r\n      let reg = /^[0-9]*$/;\r\n      console.log(reg.test(this.pageNumInput));\r\n      if (reg.test(this.pageNumInput)) {\r\n        this.pageNum = parseInt(this.pageNumInput);\r\n      }\r\n    },\r\n    // 顺时针选中角度\r\n    clock() {\r\n      this.pageRotate += 90;\r\n    },\r\n    // 逆时针旋转角度\r\n    counterClock() {\r\n      this.pageRotate -= 90;\r\n    },\r\n    // pdf 有密码 则需要输入秘密\r\n    password(updatePassword, reason) {\r\n      updatePassword(prompt('password is \"test\"'));\r\n      console.log(\"...reason...\");\r\n      console.log(reason);\r\n      console.log(\"...reason...\");\r\n    },\r\n    // 页面加载成功  当前页数\r\n    pageLoaded(e) {\r\n      this.$emit(\"current\", e);\r\n      this.curPageNum = e;\r\n    },\r\n    // 异常监听\r\n    pdfError(error) {\r\n      console.error(error);\r\n    },\r\n    // 打印所有\r\n    pdfPrintAll() {\r\n      this.$refs.pdf.print();\r\n    },\r\n    // 打印 第一页和第二页\r\n    pdfPrint() {\r\n      // 第一个参数 文档打印的分辨率\r\n      // 第二个参数 文档打印的页数\r\n      this.$refs.pdf.print(100, [1, 2]);\r\n    },\r\n    // 获取当前页面pdf的文字信息内容\r\n    logContent() {\r\n      this.$refs.pdf.pdf.forEachPage(function(page) {\r\n        return page.getTextContent().then(function(content) {\r\n          let text = content.items.map(item => item.str);\r\n          let allStr = content.items.reduce(\r\n            (initVal, item) => (initVal += item.str),\r\n            \"\"\r\n          );\r\n          console.log(allStr); // 内容字符串\r\n          console.log(text); // 内容数组\r\n        });\r\n      });\r\n    }\r\n  }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.none_wrapper {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n}\r\n.none_wrapper_box_wrapper {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding: 15px;\r\n  width: 353px;\r\n  height: 232px;\r\n  background-color: #fff;\r\n  border-radius: 16px;\r\n  box-shadow: 0 0 10px #e8eaed;\r\n}\r\n.none_wrapper_box {\r\n  width: 297px;\r\n  height: 173px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  flex-direction: column;\r\n  background-image: url(\"~@/assets/img/outlineImageNone.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n  position: relative;\r\n  img {\r\n    cursor: pointer;\r\n    width: 117px;\r\n    height: 117px;\r\n  }\r\n  p {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #71afbb;\r\n    line-height: 24px;\r\n    margin-top: 13px;\r\n  }\r\n  /deep/ .el-progress--circle {\r\n    position: absolute;\r\n    top: 9px;\r\n  }\r\n}\r\n.isServer {\r\n  /deep/ .el-progress--circle {\r\n    position: absolute;\r\n    top: 169px;\r\n  }\r\n}\r\n.loading {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 16px;\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n.pdf {\r\n  height: 100%;\r\n  padding-bottom: 81px;\r\n  width: 88%;\r\n  border-radius: 16px;\r\n  margin: 0 auto;\r\n  position: relative;\r\n  .collect {\r\n    position: absolute;\r\n    width: 100%;\r\n    bottom: 2px;\r\n    left: 0;\r\n    background: #f2f4f5;\r\n    text-align: center;\r\n    z-index: 99;\r\n    padding-top: 20px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    align-items: center;\r\n    img {\r\n      cursor: pointer;\r\n      width: 37px;\r\n      height: 32px;\r\n    }\r\n    span {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #71afbb;\r\n      line-height: 14px;\r\n      font-style: normal;\r\n      padding-top: 10px;\r\n    }\r\n  }\r\n  .show {\r\n    position: relative;\r\n    overflow: auto;\r\n    margin: auto;\r\n    // width: 92%;\r\n    // max-width: 75%;\r\n    height: calc(100% - 85px);\r\n    margin-bottom: 15px;\r\n    border-radius: 16px;\r\n    height: 100%;\r\n    overflow-x: hidden;\r\n    // display: flex;\r\n    // justify-content: center;\r\n    span {\r\n      width: 100%;\r\n    }\r\n    &:first-child {\r\n      width: 86%;\r\n    }\r\n    // max-height: 530px;\r\n  }\r\n  .showNone {\r\n    height: 0;\r\n  }\r\n  .pdf_footer {\r\n    // position: sticky;\r\n    // bottom: 0;\r\n    // left: 0;\r\n    // right: 0;\r\n    // padding: 10px 0;\r\n    // background-color: rgba(255, 255, 255, 0.5);\r\n    display: flex;\r\n    justify-content: center;\r\n    // margin-bottom: 10px;\r\n    .info {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      // width: 173px;\r\n      background-color: #fff;\r\n      box-shadow: 2px 2px 5px 0px #ccc;\r\n      padding: 10px 20px;\r\n      border-radius: 8px;\r\n      img {\r\n        cursor: pointer;\r\n      }\r\n      i {\r\n        font-size: 20px;\r\n        line-height: 28px;\r\n        cursor: pointer;\r\n      }\r\n      .page {\r\n        display: flex;\r\n        line-height: 28px;\r\n        padding: 0 10px;\r\n        .totalNum {\r\n          padding-left: 10px;\r\n          font-size: 18px;\r\n        }\r\n      }\r\n      /deep/ .el-input__inner {\r\n        width: 60px;\r\n        height: 28px;\r\n        text-align: center;\r\n        background: #eaedef;\r\n        border: none;\r\n      }\r\n    }\r\n    .operate {\r\n      margin: 10px 0 0;\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      div {\r\n        // width: 80px;\r\n        text-align: center;\r\n        font-size: 15px;\r\n      }\r\n      .btn {\r\n        cursor: pointer;\r\n        margin: 5px 10px;\r\n        width: 120px;\r\n        border-radius: 10px;\r\n        padding: 5px;\r\n        color: #fff;\r\n        background-color: #3dcbbc;\r\n      }\r\n    }\r\n  }\r\n}\r\n.outlineNone {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  .none {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n  img {\r\n    width: 136px;\r\n    height: 136px;\r\n  }\r\n}\r\n.tag {\r\n  width: 53px;\r\n  height: 27px;\r\n  line-height: 27px;\r\n  text-align: center;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #ffffff;\r\n  font-style: normal;\r\n  background: #71afbb;\r\n  position: absolute;\r\n  top: 25px;\r\n  right: 0;\r\n  border-top-left-radius: 5px;\r\n  border-bottom-left-radius: 5px;\r\n  z-index: 99;\r\n}\r\n.imageViewerCanvas {\r\n  width: 50%;\r\n  height: 100%;\r\n  overflow-y: auto;\r\n}\r\n</style>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MyMindPdf.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pdf\",attrs:{\"id\":_vm.mindpdfId,\"Key\":_vm.mindpdfId}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showTag && _vm.pdfUrl),expression:\"showTag && pdfUrl\"}],ref:\"tag\",staticClass:\"tag\",attrs:{\"id\":\"tag\"}},[_vm._v(\"PDF\")]),_vm._v(\" \"),(_vm.is_collect == 2 && _vm.pdfUrl && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(1)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_vm._v(\"收藏PDF\")])]):_vm._e(),_vm._v(\" \"),(_vm.is_collect == 1 && _vm.pdfUrl && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(2)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_vm._v(\"取消收藏\")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"show\",class:[_vm.pdfUrl ? '' : 'showNone'],attrs:{\"id\":_vm.showId},on:{\"click\":_vm.showImagePdf}},[_c('pdf',{ref:\"pdf1\",attrs:{\"src\":_vm.base64PdfCover,\"page\":_vm.pageNum,\"rotate\":_vm.pageRotate},on:{\"password\":_vm.password,\"progress\":function($event){_vm.loadedRatio = $event},\"page-loaded\":function($event){return _vm.pageLoaded($event)},\"num-pages\":function($event){_vm.pageTotalNum = $event},\"error\":function($event){return _vm.pdfError($event)},\"link-clicked\":function($event){_vm.page = $event}}})],1),_vm._v(\" \"),(_vm.showUpload && _vm.courseIsuseradd != 3 && !_vm.pdfUrl)?_c('div',{staticClass:\"none_wrapper\"},[(_vm.pdfPicturePath.length === 0)?_c('div',{staticClass:\"none_wrapper_box_wrapper\"},[_c('div',{staticClass:\"none_wrapper_box\",class:[_vm.isServer ? 'isServer' : '']},[_c('img',{ref:\"imgRef\",staticStyle:{\"z-index\":\"10\"},attrs:{\"src\":require(\"@/assets/img/upload_image.svg\")},on:{\"click\":_vm.uploadPdf}}),_vm._v(\" \"),_c('p',[_vm._v(\"上传PDF\")])])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showUpload && _vm.courseIsuseradd == 3 && _vm.pdfPicturePath.length === 0)?_c('div',{staticClass:\"outlineNone\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_vm._e(),_vm._v(\" \"),(_vm.imageVisible)?_c('ImageViewer',{attrs:{\"visible\":_vm.imageVisible,\"pdfUrl\":_vm.pdfUrl,\"dataPro\":_vm.dataPro,\"currentPage\":_vm.pageNum,\"imageViewerCanvas\":_vm.imageViewerCanvas},on:{\"handleClose\":_vm.handleClose,\"prev\":_vm.changePage,\"next\":_vm.changePage}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0b82eb3f\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MyMindPdf.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0b82eb3f\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMindPdf.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindPdf.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindPdf.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0b82eb3f\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMindPdf.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0b82eb3f\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MyMindPdf.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI2cHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDI2IDI2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgM+Wkh+S7vSAzPC90aXRsZT4NCiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG155m9bWluaVYy5oCd57u05a+85Zu+Lee8lui+kSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYwOCwgLTE4MSkiIHN0cm9rZT0iIzcxQUZCQiI+DQogICAgICAgICAgICA8ZyBpZD0i57yW57uELTPlpIfku70tMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjIxLCAxOTQpIHNjYWxlKC0xLCAxKSB0cmFuc2xhdGUoLTYyMSwgLTE5NCl0cmFuc2xhdGUoNjA4LCAxODEpIj4NCiAgICAgICAgICAgICAgICA8ZyBpZD0i57yW57uELTE25aSH5Lu9LTMiPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTMsMC41IEMxNi40NTE3Nzk3LDAuNSAxOS41NzY3Nzk3LDEuODk5MTEwMTYgMjEuODM4ODM0OCw0LjE2MTE2NTI0IEMyNC4xMDA4ODk4LDYuNDIzMjIwMzEgMjUuNSw5LjU0ODIyMDMxIDI1LjUsMTMgQzI1LjUsMTYuNDUxNzc5NyAyNC4xMDA4ODk4LDE5LjU3Njc3OTcgMjEuODM4ODM0OCwyMS44Mzg4MzQ4IEMxOS41NzY3Nzk3LDI0LjEwMDg4OTggMTYuNDUxNzc5NywyNS41IDEzLDI1LjUgQzkuNTQ4MjIwMzEsMjUuNSA2LjQyMzIyMDMxLDI0LjEwMDg4OTggNC4xNjExNjUyNCwyMS44Mzg4MzQ4IEMxLjg5OTExMDE2LDE5LjU3Njc3OTcgMC41LDE2LjQ1MTc3OTcgMC41LDEzIEMwLjUsOS41NDgyMjAzMSAxLjg5OTExMDE2LDYuNDIzMjIwMzEgNC4xNjExNjUyNCw0LjE2MTE2NTI0IEM2LjQyMzIyMDMxLDEuODk5MTEwMTYgOS41NDgyMjAzMSwwLjUgMTMsMC41IFoiIGlkPSLnn6nlvaLlpIfku70tOCI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgICAgICA8ZyBpZD0i57yW57uELTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuNTgxNSwgNi43NTc0KSIgc3Ryb2tlLXdpZHRoPSIxLjUiPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywxMS4zOTI2Mjg2IEwxMC4zNDAxNDcyLDExLjM5MjYyODYgQzEyLjM2MTQyODEsMTEuMzkyNjI4NiAxNCw5Ljc1NDA1NjY1IDE0LDcuNzMyNzc1NzYgQzE0LDUuNzExNDk0ODcgMTIuMzYxNDI4MSw0LjA3MjkyMjk1IDEwLjM0MDE0NzIsNC4wNzI5MjI5NSBMMCw0LjA3MjkyMjk1IEwwLDQuMDcyOTIyOTUiIGlkPSLot6/lvoQtNCI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9Iui3r+W+hC01IiBwb2ludHM9IjQuNDE4NTI0ODIgMCAwLjE3NTg4NDEzMyA0LjI0MjY0MDY5IDQuNDE4NTI0ODIgOC41NDk5MzgxNSI+PC9wb2x5bGluZT4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/withdraw1.svg\n// module id = Om68\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM1cHgiIGhlaWdodD0iMzBweCIgdmlld0JveD0iMCAwIDM1LjAgMzAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9ImkxIiB4MT0iNi4zMTYzMzM2MXB4IiB5MT0iMy4xNDM4MjMzcHgiIHgyPSIyNC43ODkyNDAxcHgiIHkyPSIyNS45OTY3NTU0cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU3Ny4wIC01MDEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU3OC40NzI5MzA5MDgyMDMxIDUwMS45MDU4NjQ2ODM4NTg0NSkiPjxwYXRoIGQ9Ik0zMiw4LjYyMTY1MzcxIEMzMiwzLjg2MDQ0MTk2IDI4LjE0MDc4MzYsMCAyMy4zNzgzNDYzLDAgQzIwLjI0OTU1LDAgMTcuNTEwNDc0NSwxLjY2Nzk1NjAzIDE1Ljk5OTM4NzIsNC4xNjE5MjQwOSBDMTQuNDg5NTI1NSwxLjY2Nzk1NjAzIDExLjc0OTIyNDUsMCA4LjYyMDQyODE3LDAgQzMuODU5MjE2NDIsMCAwLDMuODYwNDQxOTYgMCw4LjYyMTY1MzcxIEMwLDE3LjA1MzM0OTIgMTUuOTk5Mzg3MiwyOC4wNTYyMjE1IDE1Ljk5OTM4NzIsMjguMDU2MjIxNSBDMTUuOTk5Mzg3MiwyOC4wNTYyMjE1IDMyLDE3LjA1MzM0OTIgMzIsOC42MjE2NTM3MSBaIiBzdHJva2U9InVybCgjaTEpIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tipdetail_collect.svg\n// module id = PBvu\n// module chunks = 171","<style>\r\n@keyframes resizeSensorVisibility {\r\n\tfrom { top: 0; }\r\n}\r\n</style>\r\n\r\n<script>\r\n\"use strict\";\r\n\r\nexport default {\r\n\r\n\t// thanks to https://github.com/marcj/css-element-queries\r\n\tprops: {\r\n\t\tinitial: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false,\r\n\t\t}\r\n\t},\r\n\tdata: function() {\r\n\t\treturn {\r\n\t\t\tsize: {\r\n\t\t\t\twidth: -1,\r\n\t\t\t\theight: -1\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tmethods: {\r\n\t\treset: function() {\r\n\r\n\t\t\tvar expand = this.$el.firstChild;\r\n\t\t\tvar shrink = this.$el.lastChild;\r\n\t\t\texpand.scrollLeft = 100000;\r\n\t\t\texpand.scrollTop = 100000;\r\n\t\t\tshrink.scrollLeft = 100000;\r\n\t\t\tshrink.scrollTop = 100000;\r\n\t\t},\r\n\t\tupdate: function() {\r\n\t\t\t\r\n\t\t\tthis.size.width = this.$el.offsetWidth;\r\n\t\t\tthis.size.height = this.$el.offsetHeight;\r\n\t\t}\r\n\t},\r\n\twatch: {\r\n\t\tsize: {\r\n\t\t\tdeep: true,\r\n\t\t\thandler: function(size) {\r\n\t\t\t\t\r\n\t\t\t\tthis.reset();\r\n\t\t\t\tthis.$emit('resize', { width: this.size.width, height: this.size.height });\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\trender: function(create) {\r\n\t\t\r\n\t\tvar style = 'position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\r\n\t\tvar styleChild = 'position: absolute; left: 0; top: 0;';\r\n\r\n\t\treturn create('div', {\r\n\t\t\tstyle: style + 'animation-name: resizeSensorVisibility;',\r\n\t\t\ton: {\r\n\t\t\t\t'~animationstart': this.update\r\n\t\t\t}\r\n\t\t},[\r\n\t\t\tcreate('div', {\r\n\t\t\t\tstyle: style,\r\n\t\t\t\ton: {\r\n\t\t\t\t\tscroll: this.update\r\n\t\t\t\t}\r\n\t\t\t}, [\r\n\t\t\t\tcreate('div', {\r\n\t\t\t\t\tstyle: styleChild + 'width: 100000px; height: 100000px;'\r\n\t\t\t\t})\r\n\t\t\t]),\r\n\t\t\tcreate('div', {\r\n\t\t\t\tstyle: style,\r\n\t\t\t\ton: {\r\n\t\t\t\t\tscroll: this.update\r\n\t\t\t\t}\r\n\t\t\t}, [\r\n\t\t\t\tcreate('div', {\r\n\t\t\t\t\tstyle: styleChild + 'width: 200%; height: 200%;'\r\n\t\t\t\t})\r\n\t\t\t]),\r\n\t\t]);\r\n\t},\r\n\tbeforeDestroy: function() {\r\n\t\t\r\n\t\tthis.$emit('resize', { width: 0, height: 0 });\r\n\t\tthis.$emit('resizeSensorBeforeDestroy');\r\n\t},\r\n\tmounted: function() {\r\n\r\n\t\tif ( this.initial === true )\r\n\t\t\tthis.$nextTick(this.update);\r\n\t\t\r\n\t\tif ( this.$el.offsetParent !== this.$el.parentNode )\r\n\t\t\tthis.$el.parentNode.style.position = 'relative';\r\n\r\n\t\tif ( 'attachEvent' in this.$el && !('AnimationEvent' in window) ) {\r\n\r\n\t\t\tvar onresizeHandler = function() {\r\n\r\n\t\t\t\tthis.update();\r\n\t\t\t\tremoveOnresizeEvent();\r\n\t\t\t}.bind(this);\r\n\t\t\r\n\t\t\tvar removeOnresizeEvent = function() {\r\n\t\t\t\t\r\n\t\t\t\tthis.$el.detachEvent('onresize', onresizeHandler);\r\n\t\t\t\tthis.$off('resizeSensorBeforeDestroy', removeOnresizeEvent);\r\n\t\t\t}.bind(this);\r\n\t\t\t\r\n\t\t\tthis.$el.attachEvent('onresize', onresizeHandler);\r\n\t\t\tthis.$on('resizeSensorBeforeDestroy', removeOnresizeEvent);\r\n\t\t\tthis.reset();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n</script>\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/vue-resize-sensor/src/resize-sensor.vue","function injectStyle (ssrContext) {\n  require(\"!!../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2529efbf\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!../../vue-loader/lib/selector?type=styles&index=0!./resize-sensor.vue\")\n}\nvar normalizeComponent = require(\"!../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../vue-loader/lib/selector?type=script&index=0!./resize-sensor.vue\"\nimport __vue_script__ from \"!!babel-loader!../../vue-loader/lib/selector?type=script&index=0!./resize-sensor.vue\"\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-resize-sensor/src/resize-sensor.vue\n// module id = null\n// module chunks = ","let mixin = {\r\n  methods: {\r\n    //浏览器视口(窗口)的高度\r\n    getWindowHeight() {\r\n      let windowHeight = 0;\r\n      if (document.compatMode == \"CSS1Compat\") {\r\n        windowHeight = document.documentElement.clientHeight;\r\n      } else {\r\n        windowHeight = document.body.clientHeight;\r\n      }\r\n      return windowHeight;\r\n    },\r\n    checkSystem() {\r\n      let isMac = false;\r\n      let agent = navigator.userAgent.toLowerCase();\r\n      // this.isMac = true;\r\n      isMac = /macintosh|mac os x/i.test(navigator.userAgent);\r\n      if (agent.indexOf(\"win32\") >= 0 || agent.indexOf(\"wow32\") >= 0) {\r\n        isMac = false;\r\n      }\r\n      if (agent.indexOf(\"win64\") >= 0 || agent.indexOf(\"wow64\") >= 0) {\r\n        isMac = false;\r\n      }\r\n      return isMac;\r\n    },\r\n    checkMobileDevice() {\r\n      const agent = navigator.userAgent.toLowerCase();\r\n      let isMobileDevice = true;\r\n      if ((/macintosh|mac os x/i.test(navigator.userAgent) && !(/iPad|iPhone|iPod/i.test(navigator.userAgent)) && navigator.maxTouchPoints == 0) || agent.indexOf(\"win32\") >= 0 || agent.indexOf(\"wow32\") >= 0 || agent.indexOf(\"win64\") >= 0 || agent.indexOf(\"wow64\") >= 0) {\r\n        isMobileDevice = false;\r\n      }\r\n      return isMobileDevice;\r\n    },\r\n    checkComputerDevice() {\r\n      const agent = navigator.userAgent.toLowerCase();\r\n      let isComputerDevice = false;\r\n      if ((/macintosh|mac os x/i.test(agent) && navigator.maxTouchPoints == 0) || agent.indexOf(\"win32\") >= 0 || agent.indexOf(\"wow32\") >= 0 || agent.indexOf(\"win64\") >= 0 || agent.indexOf(\"wow64\") >= 0) {\r\n        isComputerDevice = true;\r\n      }\r\n      return isComputerDevice;\r\n    },\r\n\r\n    getIsMobile() {\r\n      if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPad|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)) {\r\n        return true; // 移动端\r\n      }else if((navigator.platform === 'MacIntel' || navigator.platform.match(/Linux/)) && navigator.maxTouchPoints >= 1) {\r\n        return true; // 移动端\r\n      }else{\r\n        return false; // PC端\r\n      }\r\n    },\r\n    // 切换模块\r\n    setSelectedModule(callBackName, whiteCom, e) {\r\n      if(e) {\r\n        e.stopPropagation();\r\n        e.preventDefault();\r\n      }\r\n      const beforeName = this.selectedModule || this.whiteCom;\r\n      this.selectedModuleBefore = beforeName;\r\n      this.selectedModule = whiteCom;\r\n\r\n      if(this.timeValueToPage) {\r\n        clearTimeout(this.timeValueToPage);\r\n        this.timeValueToPage = null;\r\n      }\r\n      this.timeValueToPage = setTimeout(() => {\r\n        if(this[callBackName] && typeof this[callBackName] === 'function') {\r\n          this[callBackName]();\r\n        }\r\n\r\n        clearTimeout(this.timeValueToPage);\r\n        this.timeValueToPage = null;\r\n      }, 200)\r\n\r\n\r\n\r\n      const $before = beforeName && this.$refs[beforeName];\r\n      if($before) {\r\n        this.timeValueRemoveClass = this.timeValueRemoveClass || {};\r\n        if(this.timeValueRemoveClass[beforeName]) {\r\n          clearTimeout(this.timeValueRemoveClass[beforeName]);\r\n          this.timeValueRemoveClass[beforeName] = null;\r\n        }\r\n        this.timeValueRemoveClass[beforeName] = setTimeout(() => {\r\n          clearTimeout(this.timeValueRemoveClass[beforeName]);\r\n          this.timeValueRemoveClass[beforeName] = null;\r\n          let classNames = $before.getAttribute('class');\r\n          classNames = (classNames || '').split(' ');\r\n          classNames = classNames.filter(name => (name !== 'icon-to-component-unSelected'));\r\n          $before.setAttribute('class', classNames.join(' '));\r\n        }, 300)\r\n      }\r\n    },\r\n  }\r\n};\r\n\r\nexport default mixin;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/mixins.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgyLjAgLTM1Ni4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIuMCAzNTYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI3LDAgMjcsMjcgMCwyNyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAgNy4wMDAwMDAwMDAwMDAwMDEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi45OTk5OTk5OTk5OTkzNCA0LjQ0MjYyNzEwMzMxMTAxNykgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik00LjQ0MjYyNzEsNC40NDI2MjcxIEw0LjQ0MjYyNzEsMi4zNTIwODk3NCBDNC40NDI2MjcxLDEuMDUzMjY1NzkgMy4zODkzNjEzMiwwIDIuMDkwNTM3MzYsMCBMMCwwIiBzdHJva2U9IiNGRkIwOTYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNDQyNjI3MTAzMzExMDE3IDEzLjAwMDE4ODE2NzE3OTMzMSkgcm90YXRlKC0xODAuMCkiPjxwYXRoIGQ9Ik0wLDAgTDAsMi4wOTA1MzczNiBDMCwzLjM4OTM2MTMyIDEuMDUzMjY1NzksNC40NDI2MjcxIDIuMzUyMDg5NzQsNC40NDI2MjcxIEw0LjQ0MjYyNzEsNC40NDI2MjcxIiBzdHJva2U9IiNGRkIwOTYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/exit_fullscreen_behavior_w.svg\n// module id = QGsn\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAwFJREFUSEu9lk1IVFEUx//nzqgVYloWNKVSJiZmSlIGoTHqaItgHCnJooxASEKaMfvYBLNoE+mMuLCoRRZBpNSotcmnTpLRh0mlZWQm0seUUSRpgjN6b8zAjB/z4dPAt3iLe87//M5595x7H2ERHloEBuRAyNDYnArOkgWgIsFJMNhIKLrNeZmdIBJzJeoXYrz3Ytmfyd8GIcQxgNb5CkSAjTN2xT7OKmsK1KP+YD4hhoaWdAC3IMTaubJ02onoO+eTB6vyc9v8JDNz+aSluZCDagEEywFM+ZADDMVmbfb12boZlejvNO8kRq0AQuYH8Hg7iFGuSZttna73QI5csy6JCJ94DyB6gQC37JtihMdVHM79617wQMoapHIhcPE/AW75ObNOc94LordIfQTEyYVsjIxA7qYN6Bj4jNe2H7Nln8w6TcwMiP6ulECEXrmA0JBgnFKnYWTcjqr2Tkxw7iUlhq0mrealq/ucL4NFKgBwWy6keEcKYiMjYH74DEOjYz5lJFBkytfc8EDKLJJeAObZ3smq1TiQmoj7bz/g0cAXlzkjNgp5SfGof/UOTwa/+s2LiJ015WVd8ED0FqmUgGpfiqJtSUhcswrV7Z3gQkC/azt6h36i9nl34MIZTpu1GlcjuT6XvuHBXhKs3pdqaZAS5eo0OCY5nIdUiFKBiranGHNMBIQQxCGTLuemB1JqaY1Vgvf7U61fEY7j6aku86WOLnz8NTzn9jGixMq8bFczeeZEb5F6CNjsT50WowIjCrgPU1rRb9bleMZhOqSEgJo5U5ThQGAGky6rymsYjVarcnh44g0B8TLiBHIZWO5QJRgLEu1eEOfCicaWLYyLxwBCFwgaY0GKjMo9mV3T9V73iaGxZbfgop7mCRIQY4wpC03azKbZCfq5tKQkCNcJkCCzoj5i2O8+RmRBnE776uoUUSErjwrOSwCkTO9EVxAiIbjoYQpcDgtTXjWq1X4HR86PBM40SdF2zpIJQiU4J1LAxnlQd5VOPSinUlkQOYEC+fwD6Nz4GhG92jMAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mind_checked.png\n// module id = QXrk\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAATCAYAAAB/TkaLAAAAAXNSR0IArs4c6QAAAedJREFUOE/tlD1oFFEUhc95WTT+QIQUGhB7JSJICiGiws7skhTuTzCktTWscQY1pFtsxMKd0aSIlZ2FPzsTTALuzrIICgFTpRRREGxsQoJZSLIzV0YIjGPMZBsrX3vu+d7lnvsesc9juo3JVtB+OlvMfk+yMKkg1G85zWNEe1XIa3Zee5nk6QhKpUYrufSL/9A9J/BvZjpZr/dstnDRzukLO+3spB8PynDrZwOSj3LaSrT1Pzo1nVpaQA9AySroM9GVikJLrncmJfIe5DMrr43vCQ1Fw21URIKbSpivFLX5eKcTc95xFQRLAv7wD24PTg8PrydCy2VRa+e8KoA0FS4FQepLuPxhp7J5aB4HNpoQnPK7cOHxVf1rPDWGM9xaZ681on2OiuXXy4fX2qtvQfQBGIJgheSYiIyCyIJyxcpllqOeG8+bR1Nqu4+G27gv4ut2ITMQv/HOQvNEe8tfAqQF4LQAHwich2DEKupz8XrT8aYEcp2G49kgNCuv9e+2fLerb/p9qncAekKdgFEp6PZutaZTuydAMvRXcE4tA3BRkU8expKOwjuChsbSq8WT08WhbyDlb8/pNygpWek+Mpj0+yTpbG1MCWWMpuM9EMjdJEMH+ieOV73e7i51WQJ/X/9AElyIjz8BJCPsdd9J/2IAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mind_download.png\n// module id = Qb1t\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"container\">手机请下载app移动端使用</div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  components: {},\r\n  data() {\r\n    return {};\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {},\r\n  created() {},\r\n  mounted() {},\r\n};\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.container {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  text-align: center;\r\n  font-size: 20px;\r\n  color: #ccc;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/appRemind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_vm._v(\"手机请下载app移动端使用\")])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-01a93aa2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/appRemind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-01a93aa2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!sass-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./appRemind.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appRemind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appRemind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-01a93aa2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./appRemind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-01a93aa2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/appRemind.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgMTA8L3RpdGxlPg0KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLkuLvpobXnmb1taW5pVjLlv4Plvpflub/lnLoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00MTIuMDAwMDAwLCAtNjM4LjAwMDAwMCkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0xMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDEyLjAwMDAwMCwgNjM4LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMy4yMjI0NDI2IiBoZWlnaHQ9IjIzLjIyMjQ0MjYiPjwvcmVjdD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguMDIwMDE0Nyw5LjY1MzUxNTgxIEMxOC4wMjAwMTQ3LDcuNjg2MjA5NTYgMTYuNDI1NDA3OSw2LjA5MTA5NjM5IDE0LjQ1NzU5NTMsNi4wOTEwOTYzOSBDMTMuMTY0Nzk0MSw2LjA5MTA5NjM5IDEyLjAzMzAyMzMsNi43ODAyODY1NiAxMS40MDg2NTA0LDcuODEwNzgwMzEgQzEwLjc4NDc4MzksNi43ODAyODY1NiA5LjY1MjUwNjc3LDYuMDkxMDk2MzkgOC4zNTk3MDU1Myw2LjA5MTA5NjM5IEM2LjM5MjM5OTI4LDYuMDkxMDk2MzkgNC43OTc3OTI1LDcuNjg2MjA5NTYgNC43OTc3OTI1LDkuNjUzNTE1ODEgQzQuNzk3NzkyNSwxMy4xMzc0NDU1IDExLjQwODY1MDQsMTcuNjgzNzcxMyAxMS40MDg2NTA0LDE3LjY4Mzc3MTMgQzExLjQwODY1MDQsMTcuNjgzNzcxMyAxOC4wMjAwMTQ3LDEzLjEzNzQ0NTUgMTguMDIwMDE0Nyw5LjY1MzUxNTgxIFoiIGlkPSJTdHJva2UtMSIgc3Ryb2tlPSIjN0U4NzhDIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAuNDQ0NDQ0LCA2LjAwMDAwMCkiIHN0cm9rZT0iIzdFODc4QyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNjYiPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC4yNzc3Nzc3OCw0LjIzMTMwNTk5IEMzLjUxNjI5ODkzLDMuMzE5Nzk2NjUgMi4yNDEyNjEzLDIuNzIyMjIyMjIgMC43OTY4NTY2NDQsMi43MjIyMjIyMiBDLTAuNjcxOTUzNTYyLDIuNzIyMjIyMjIgLTEuOTY1NjI0OTMsMy4zNDAxNjEyMyAtMi43MjIyMjIyMiw0LjI3Nzc3Nzc4IiBpZD0i5qSt5ZyG5b2iIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjc3Nzc3OCwgMy41MDAwMDApIHJvdGF0ZSg5MC4wMDAwMDApIHRyYW5zbGF0ZSgtMC43Nzc3NzgsIC0zLjUwMDAwMCkgIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtOeWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43Nzc3NzgsIDkuNTAwMDAwKSBzY2FsZSgtMSwgMSkgdHJhbnNsYXRlKC0xLjc3Nzc3OCwgLTkuNTAwMDAwKSB0cmFuc2xhdGUoMS4wMDAwMDAsIDYuMDAwMDAwKSIgc3Ryb2tlPSIjN0U4NzhDIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMS42NiI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjI3Nzc3Nzc4LDQuMjMxMzA1OTkgQzMuNTE2Mjk4OTMsMy4zMTk3OTY2NSAyLjI0MTI2MTMsMi43MjIyMjIyMiAwLjc5Njg1NjY0NCwyLjcyMjIyMjIyIEMtMC42NzE5NTM1NjIsMi43MjIyMjIyMiAtMS45NjU2MjQ5MywzLjM0MDE2MTIzIC0yLjcyMjIyMjIyLDQuMjc3Nzc3NzgiIGlkPSLmpK3lnIblvaIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNzc3Nzc4LCAzLjUwMDAwMCkgcm90YXRlKDkwLjAwMDAwMCkgdHJhbnNsYXRlKC0wLjc3Nzc3OCwgLTMuNTAwMDAwKSAiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/hot.svg\n// module id = Qo5g\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTdweCIgdmlld0JveD0iMCAwIDE3LjAgMTcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjkxIEwwLDEyOTEgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAzLjAgLTU4NS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTIuMCAxNDIuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQwLjAgNDM1LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi4wIDguMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCAyLjQ0OTQ5NjA4MDYyNzc5NikiPjxwYXRoIGQ9Ik0xMi4zNzc5Mzk1LDAgTDE1LDAgTDE1LDEyLjk4OTM2MTcgTDAsMTIuOTg5MzYxNyBMMCwwIEwyLjYwMDc4Mzg3LDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4yMjAwNDQ3OTI4MzM1MDUgMC4wKSI+PHBhdGggZD0iTTAuMjc5OTU1MjA3LDEyLjI0NzQ4MDQgTDAuMjc5OTU1MjA3LDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy4yNTczMzQ4MjY0MjY4MTM0IDcuMzQ4NDg4MjQxODgxNTY4KSI+PHBhdGggZD0iTTAsMCBMNC4yNDI0NDEyMSw0Ljg5OTIxNjEzIEw4LjQ4NTQ0MjMzLDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/download.svg\n// module id = QwFe\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white full\"\r\n    :class=\"fullscreen ? 'full' : ''\">\r\n    <div class=\"content-box contentBlack-box\"\r\n      ref=\"contentBox\">\r\n      <div class=\"head\">\r\n        <p class=\"mytip-label\"\r\n          @click=\"toMyCases\">我的案例</p>\r\n        <p class=\"time\">编辑时间 {{ time }}</p>\r\n      </div>\r\n      <div class=\"content\"\r\n        v-if=\"cases && cases.course_case_id\">\r\n        <div class=\"content-wrapper\">\r\n          <div class=\"content-head\">\r\n            <!-- <p class=\"title\">{{ cases.experience_title }}</p> -->\r\n            <div class=\"tag\">\r\n              {{ cases.case_tag_title }}\r\n            </div>\r\n          </div>\r\n          <div class=\"operates\"\r\n            v-if=\"course_case_isuseradd != 3\">\r\n            <span class=\"btn edit\"\r\n              @click=\"edit\">编辑</span>\r\n            <!-- <span class=\"btn edit\" @click=\"editUserExperience\" v-else\r\n                  >提交</span\r\n                > -->\r\n            <span class=\"btn del\"\r\n              v-loading=\"loading\"\r\n              v-throttle=\"[delShow]\">删除</span>\r\n          </div>\r\n        </div>\r\n        <div class=\"experience-content prewrap-content\">{{ course_case_content }}</div>\r\n        <el-card class=\"box-card audio-card\"\r\n          v-if=\"cases && cases.case_audio && cases.case_audio.length\">\r\n          <TipAudioCom :url=\"cases.case_audio[0].case_audio_url_show\"\r\n            :currentTimeProp=\"'0'\"\r\n            :bgColor=\"'#ffae8b,#fd746b'\"\r\n            :progressColor=\"'#D4D9DB'\" />\r\n        </el-card>\r\n      </div>\r\n    </div>\r\n    <el-dialog class=\"del_dialog\"\r\n      :visible.sync=\"dialogVisibleDel\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\">\r\n      <div class=\"del_confirm\">确定删除？</div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleDel = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\"\r\n          v-loading=\"loading\"\r\n          v-throttle=\"[submitDel]\"\r\n          >确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  delCourseCase,\r\n  getUserCourseProgress,\r\n  getUserCaseDetail,\r\n  getNoteCourseCaseDetail,\r\n} from \"@/api/index.js\";\r\nimport {\r\n  EventBus,\r\n  BLACK_CASE_MINE,\r\n  BLACK_CASE_CREATE,\r\n  BLACK_CASE_LIST,\r\n} from \"@/utils/eventBus\";\r\nimport TipAudioCom from \"@/components/TipAudioCom.vue\";\r\nexport default {\r\n  components: {\r\n    TipAudioCom,\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      time: \"\",\r\n      course_case_content: \"\",\r\n      dialogVisibleDel: false,\r\n      course_case_id: \"\",\r\n      course_case_isuseradd: \"\",\r\n      cases: {},\r\n      loading: false,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    }\r\n  },\r\n  watch: {},\r\n  beforeRouteLeave(to, from, next) {\r\n    this.dialogVisibleDel = false;\r\n    next();\r\n  },\r\n  methods: {\r\n    async getUserCaseDetail() {\r\n      try {\r\n        const res = await getUserCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n          this.course_case_content = this.cases.course_case_content;\r\n          this.initTime(this.cases.last_update_at);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getNoteCourseCaseDetail() {\r\n      try {\r\n        const res = await getNoteCourseCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n          this.course_case_content = this.cases.course_case_content;\r\n          this.initTime(this.cases.last_update_at);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    edit() {\r\n      // EventBus.$emit(BLACK_CASE_CREATE);\r\n      // 示例笔记不能编辑心得\r\n      if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n      this.$router.push({\r\n        path: \"/black/CreateCase\",\r\n        query: {\r\n          course_case_id: this.course_case_id,\r\n        },\r\n      });\r\n    },\r\n    delShow() {\r\n      // 示例笔记不能编辑心得\r\n      if (this.courseIsuseradd == 3 || this.loading) {\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n    },\r\n    async submitDel() {\r\n      try {\r\n        if (this.loading) {\r\n          return;\r\n        }\r\n        this.loading = true;\r\n        this.dialogVisibleDel = false;\r\n        let params = {\r\n          course_id: this.course_id,\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          course_case_id: this.cases.course_case_id,\r\n        };\r\n        const res = await delCourseCase(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"删除成功\",\r\n          });\r\n          // 删除清理缓存\r\n          this.$store.dispatch(\"setCase\", null);\r\n          this.$store.dispatch(\"setEditCase\", true).then(() => {\r\n            EventBus.$emit(\"getCaseInfobyType\");\r\n            EventBus.$emit(\"getUserCaseList\");\r\n            this.$router.back();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    toMyCases() {\r\n      this.$store.dispatch(\"setEditCase\", false).then(() => {\r\n        this.$router.back();\r\n      });\r\n    },\r\n    initTime(time) {\r\n      if(time) {\r\n        this.time = this.$moment.unix(time).format('YYYY-MM-DD HH:mm');\r\n      } else {\r\n        this.time = this.$moment(new Date()).format(\"YYYY-MM-DD HH:mm\");\r\n      }\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({\r\n          course_id: this.course_id,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0]).then(() => {});\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    handleClick(tab, event) {\r\n      console.log(tab, event);\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.course_case_id = this.$route.query.course_case_id;\r\n    this.course_case_isuseradd = this.$route.query.course_case_isuseradd;\r\n    if (this.course_case_isuseradd == 3) {\r\n      this.getNoteCourseCaseDetail();\r\n    } else {\r\n      this.getUserCaseDetail();\r\n    }\r\n  },\r\n  deactivated() {\r\n    this.course_case_id = \"\";\r\n    this.course_case_isuseradd = \"\";\r\n    this.course_case_content = \"\";\r\n    this.cases = {};\r\n  },\r\n  mounted() {\r\n    this.fullscreen = true;\r\n    this.course_case_id = this.$route.query.course_case_id;\r\n    this.course_case_isuseradd = this.$route.query.course_case_isuseradd;\r\n    if (this.course_case_isuseradd == 3) {\r\n      this.getNoteCourseCaseDetail();\r\n    } else {\r\n      this.getUserCaseDetail();\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n  .content-box {\r\n    height: calc(100% - 24px);\r\n  }\r\n}\r\n.full {\r\n  height: 100%;\r\n  background: #1d2223;\r\n  // padding-top: 60px;\r\n  .content-box {\r\n    height: 100%;\r\n    border-radius: 0;\r\n  }\r\n}\r\n.box {\r\n  height: 100%;\r\n  padding-top: 25px;\r\n}\r\n.content-box {\r\n  border-radius: 16px;\r\n  width: 100%;\r\n  height: 100%;\r\n  // height: calc(100% - 24px);\r\n  min-height: 388px;\r\n  position: relative;\r\n  background-position: center center;\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding: 25px 93px 111px 93px;\r\n  .head {\r\n    position: relative;\r\n  }\r\n  .mytip-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN;\r\n    font-weight: 400;\r\n    line-height: 24px;\r\n    padding-left: 10px;\r\n    cursor: pointer;\r\n    color: #d4d9db;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 10px;\r\n      left: 0;\r\n      width: 4px;\r\n      height: 4px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: #ffb096;\r\n    }\r\n  }\r\n  .time {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    padding-top: 9px;\r\n  }\r\n  .content {\r\n    width: 100%;\r\n    flex: 1;\r\n    // height: calc(100% - 90px);\r\n    display: flex;\r\n    flex-direction: column;\r\n    background: #1f2425;\r\n    border-radius: 8px;\r\n    border: 1px solid #1f2425;\r\n    margin-top: 12px;\r\n    padding: 49px 40px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    .content-wrapper {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      border-bottom: 1px solid #1f2425;\r\n      padding-bottom: 11px;\r\n      .title {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n        font-weight: 500;\r\n        color: #292929;\r\n        line-height: 18px;\r\n        padding-bottom: 10px;\r\n      }\r\n      .tag {\r\n        width: 75px;\r\n        height: 25px;\r\n        line-height: 25px;\r\n        border-radius: 4px;\r\n        border: 1px solid #d4d9db;\r\n        line-height: 23px;\r\n        text-align: center;\r\n        padding-left: 15px;\r\n        position: relative;\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #d4d9db;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 9px;\r\n          left: 5px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          border: 1px solid #d4d9db;\r\n          background: #d4d9db;\r\n        }\r\n      }\r\n      .operates {\r\n        .btn {\r\n          font-size: 16px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          line-height: 24px;\r\n          cursor: pointer;\r\n        }\r\n        .edit {\r\n          color: #ffb096;\r\n        }\r\n        .del {\r\n          color: #d4d9db;\r\n          margin-left: 24px;\r\n        }\r\n      }\r\n    }\r\n    .experience-content {\r\n      flex: 1;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 16px;\r\n      color: rgba(255, 255, 255, 0.7);\r\n      line-height: 32px;\r\n      text-align: justify;\r\n      font-style: normal;\r\n      // height: calc(100% - 37px);\r\n      overflow-y: auto;\r\n      /deep/ .el-textarea__inner {\r\n        border: none;\r\n        padding-left: 0;\r\n        font-size: 16px;\r\n      }\r\n\r\n      /deep/ .el-textarea.is-disabled .el-textarea__inner {\r\n        background: #1f2425;\r\n      }\r\n    }\r\n    .audio-card {\r\n      width: 35%;\r\n      height: 154px;\r\n      align-self: center;\r\n      background: #000;\r\n      border: 1px solid #000;\r\n    }\r\n  }\r\n}\r\n.del_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n  .comfirm-btn {\r\n    background: #ffb096;\r\n    color: #fff;\r\n  }\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/EditCase.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white full\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{ref:\"contentBox\",staticClass:\"content-box contentBlack-box\"},[_c('div',{staticClass:\"head\"},[_c('p',{staticClass:\"mytip-label\",on:{\"click\":_vm.toMyCases}},[_vm._v(\"我的案例\")]),_vm._v(\" \"),_c('p',{staticClass:\"time\"},[_vm._v(\"编辑时间 \"+_vm._s(_vm.time))])]),_vm._v(\" \"),(_vm.cases && _vm.cases.course_case_id)?_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"content-wrapper\"},[_c('div',{staticClass:\"content-head\"},[_c('div',{staticClass:\"tag\"},[_vm._v(\"\\n            \"+_vm._s(_vm.cases.case_tag_title)+\"\\n          \")])]),_vm._v(\" \"),(_vm.course_case_isuseradd != 3)?_c('div',{staticClass:\"operates\"},[_c('span',{staticClass:\"btn edit\",on:{\"click\":_vm.edit}},[_vm._v(\"编辑\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.delShow]),expression:\"[delShow]\"}],staticClass:\"btn del\"},[_vm._v(\"删除\")])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"experience-content prewrap-content\"},[_vm._v(_vm._s(_vm.course_case_content))]),_vm._v(\" \"),(_vm.cases && _vm.cases.case_audio && _vm.cases.case_audio.length)?_c('el-card',{staticClass:\"box-card audio-card\"},[_c('TipAudioCom',{attrs:{\"url\":_vm.cases.case_audio[0].case_audio_url_show,\"currentTimeProp\":'0',\"bgColor\":'#ffae8b,#fd746b',\"progressColor\":'#D4D9DB'}})],1):_vm._e()],1):_vm._e()]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"visible\":_vm.dialogVisibleDel,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleDel=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"确定删除？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleDel = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submitDel]),expression:\"[submitDel]\"}],staticClass:\"comfirm-btn\"},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ca77bb7a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/EditCase.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ca77bb7a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./EditCase.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./EditCase.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./EditCase.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ca77bb7a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./EditCase.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-ca77bb7a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/EditCase.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/play.png\n// module id = RBJf\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/headimage10.daacd68.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage10.png\n// module id = RCRV\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIxcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIxLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg3OC4wIC0xODQuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDg3OS4wIDE4NS4wKSI+PHBhdGggZD0iTTIsMCBMNi4wMzEzNzI1NSwwIEM3LjEzNTk0MjA1LC0yLjAyOTA2MTI1ZS0xNiA4LjAzMTM3MjU1LDAuODk1NDMwNSA4LjAzMTM3MjU1LDIgTDguMDMxMzcyNTUsNS4zODQ2MTUzOCBDOC4wMzEzNzI1NSw2LjQ4OTE4NDg4IDcuMTM1OTQyMDUsNy4zODQ2MTUzOCA2LjAzMTM3MjU1LDcuMzg0NjE1MzggTDIsNy4zODQ2MTUzOCBDMC44OTU0MzA1LDcuMzg0NjE1MzggMS4zNTI3MDc1ZS0xNiw2LjQ4OTE4NDg4IDAsNS4zODQ2MTUzOCBMMCwyIEMtMS4zNTI3MDc1ZS0xNiwwLjg5NTQzMDUgMC44OTU0MzA1LDIuMDI5MDYxMjVlLTE2IDIsMCBaIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMTAuNjE1Mzg0NjE1Mzg2NTcpIj48cGF0aCBkPSJNMiwwIEw2LjAzMTM3MjU1LDAgQzcuMTM1OTQyMDUsLTIuMDI5MDYxMjVlLTE2IDguMDMxMzcyNTUsMC44OTU0MzA1IDguMDMxMzcyNTUsMiBMOC4wMzEzNzI1NSw1LjM4NDYxNTM4IEM4LjAzMTM3MjU1LDYuNDg5MTg0ODggNy4xMzU5NDIwNSw3LjM4NDYxNTM4IDYuMDMxMzcyNTUsNy4zODQ2MTUzOCBMMiw3LjM4NDYxNTM4IEMwLjg5NTQzMDUsNy4zODQ2MTUzOCAxLjM1MjcwNzVlLTE2LDYuNDg5MTg0ODggMCw1LjM4NDYxNTM4IEwwLDIgQy0xLjM1MjcwNzVlLTE2LDAuODk1NDMwNSAwLjg5NTQzMDUsMi4wMjkwNjEyNWUtMTYgMiwwIFoiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wMzUyOTQxMTc2NDYxMiAwLjApIj48cGF0aCBkPSJNMiwwIEw2LjAzMTM3MjU1LDAgQzcuMTM1OTQyMDUsLTIuMDI5MDYxMjVlLTE2IDguMDMxMzcyNTUsMC44OTU0MzA1IDguMDMxMzcyNTUsMiBMOC4wMzEzNzI1NSw1LjM4NDYxNTM4IEM4LjAzMTM3MjU1LDYuNDg5MTg0ODggNy4xMzU5NDIwNSw3LjM4NDYxNTM4IDYuMDMxMzcyNTUsNy4zODQ2MTUzOCBMMiw3LjM4NDYxNTM4IEMwLjg5NTQzMDUsNy4zODQ2MTUzOCAxLjM1MjcwNzVlLTE2LDYuNDg5MTg0ODggMCw1LjM4NDYxNTM4IEwwLDIgQy0xLjM1MjcwNzVlLTE2LDAuODk1NDMwNSAwLjg5NTQzMDUsMi4wMjkwNjEyNWUtMTYgMiwwIFoiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wMzUyOTQxMTc2NDYxMiAxMC42MTUzODQ2MTUzODY1NykiPjxwYXRoIGQ9Ik0yLDAgTDYuMDMxMzcyNTUsMCBDNy4xMzU5NDIwNSwtMi4wMjkwNjEyNWUtMTYgOC4wMzEzNzI1NSwwLjg5NTQzMDUgOC4wMzEzNzI1NSwyIEw4LjAzMTM3MjU1LDUuMzg0NjE1MzggQzguMDMxMzcyNTUsNi40ODkxODQ4OCA3LjEzNTk0MjA1LDcuMzg0NjE1MzggNi4wMzEzNzI1NSw3LjM4NDYxNTM4IEwyLDcuMzg0NjE1MzggQzAuODk1NDMwNSw3LjM4NDYxNTM4IDEuMzUyNzA3NWUtMTYsNi40ODkxODQ4OCAwLDUuMzg0NjE1MzggTDAsMiBDLTEuMzUyNzA3NWUtMTYsMC44OTU0MzA1IDAuODk1NDMwNSwyLjAyOTA2MTI1ZS0xNiAyLDAgWiIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/course_list_sel.svg\n// module id = RGJ0\n// module chunks = 171","<template>\r\n  <div\r\n    class=\"wrapper\"\r\n    :class=\"inited ? (fullscreen ? 'wrapper1' : 'wrapper2') : ''\"\r\n  >\r\n    <div class=\"left\">\r\n      <img v-if=\"course_cover_show\" class=\"cover\" :src=\"course_cover_show\" />\r\n      <div v-else class=\"cover cover_none\">\r\n        <p v-if=\"isGuide\" class=\"ellipsis-content\">人生五大问题</p>\r\n        <p v-else class=\"ellipsis-content\">{{ courseBase.course_name }}</p>\r\n      </div>\r\n      <p v-if=\"isGuide\" class=\"ellipsis-content course_name\">人生五大问题</p>\r\n\r\n      <p v-else class=\"ellipsis-content course_name\">{{ courseBase.course_name }}</p>\r\n      <!-- <a href=\"https://webt1.aryaread.com/reader/1847527782468730881/10079_1000000/3626/0\">1111</a> -->\r\n      <div class=\"start-btn\" v-if=\"courseBase && (courseBase.course_intro || courseBase.course_intro_pdf || readDetailUrl)\" @click=\"toReadDetail\">开始阅读</div>\r\n      <!-- <div v-if=\"courseBase && (courseBase.course_intro || courseBase.course_intro_pdf)\" class=\"start-btn\" @click=\"toReadDetail\">开始阅读</div> -->\r\n      <div\r\n        class=\"collect\"\r\n        v-if=\"courseBase && courseBase.is_collect == 2 && courseContentGuideStatus === 1\"\r\n      >\r\n        <div class=\"btn\" @click=\"addUserCollection(1)\">\r\n          <img src=\"@/assets/img/mind_collect.svg\" />\r\n          <p>收藏</p>\r\n        </div>\r\n      </div>\r\n      <div\r\n        id=\"cultrueContent_step2_1\"\r\n        class=\"collect\"\r\n        v-if=\"courseContentGuideStatus === 0\"\r\n      >\r\n        <div class=\"btn\" id=\"cultrueContent_step2\">\r\n          <img src=\"@/assets/img/mind_collect.svg\" />\r\n          <p>收藏</p>\r\n        </div>\r\n      </div>\r\n      <div\r\n        class=\"collect\"\r\n        v-if=\"\r\n          courseBase && courseBase.is_collect == 1  && courseContentGuideStatus === 1\r\n        \"\r\n      >\r\n        <div class=\"btn\" @click=\"addUserCollection(2)\">\r\n          <img src=\"@/assets/img/mind_collected.svg\" />\r\n          <p>取消收藏</p>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"erweima-wrapper\" v-if=\"courseBase && courseBase.course_intro_isedit == 2 || courseContentGuideStatus === 0\">\r\n      <!-- <img class=\"app_erweima\" src=\"@/assets/img/yuandushu.png\" /> -->\r\n      <img v-if=\"qrCodeImage\" class=\"app_erweima\" :src=\"qrCodeImage\" />\r\n      <div class=\"row1\">扫码下载<span class=\"app_name\"> 元读书APP</span>查看电子书</div>\r\n      <!-- <div>或<a class=\"link\" :href=\"resolvedUrl\" target=\"_blank\"> 点击此处 </a>查看文字法义</div> -->\r\n      <div class=\"row2\">已下载 APP，可以直接在手机、平板中打开来阅读内容</div>\r\n    </div>\r\n    <!-- <div\r\n      class=\"content_font ql-editor\"\r\n      v-if=\"courseBase && courseBase.course_intro && courseContentGuideStatus === 1\"\r\n      v-html=\"courseBase.course_intro\"\r\n    ></div> -->\r\n\r\n    <!-- <NoData v-if=\"(!courseBase || !courseBase.course_intro) && courseContentGuideStatus === 1\" /> -->\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport QRCode from 'qrcode';\r\nimport NoData from \"@/components/NoData\";\r\nimport { addUserCollection } from \"@/api/index\";\r\nimport {\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile,\r\n  getOssConfig\r\n} from \"@/utils/indexDb\";\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nexport default {\r\n  components: { NoData },\r\n  props: {\r\n    courseBase: {\r\n      type: Object,\r\n      default: () => {}\r\n    },\r\n    fullscreen: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    courseContentGuideStatus: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    isGuide: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    resolvedUrl() {\r\n      const resolved = this.$router.resolve({ path: 'CultrueContentDetail', query: {\r\n        course_id: this.course_id\r\n      } });\r\n      return window.location.origin + resolved.href;\r\n    },\r\n  },\r\n  watch: {\r\n    fullscreen: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.inited = true;\r\n        }\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          const scan_url = decrypt(localStorage.getItem(\"scan_url\"));\r\n          console.log(\"scan_url:\", scan_url);\r\n          this.url = scan_url + \"?bookId=\" + v.book_id + \"&chapterId=\" + v.chapter_id + \"&startIndex=\" + v.start_index;\r\n          this.generateQRCode();\r\n          this.getIndexFile();\r\n          const click_url = decrypt(localStorage.getItem(\"click_url\"));\r\n          console.log(\"click_url:\", click_url);\r\n          // sourceType=yrj_global\r\n          if(v.book_id && !v.chapter_id) {\r\n            this.readDetailUrl = `${click_url}/${v.book_id}`;\r\n          } else if(v.book_id && v.chapter_id && !v.start_index) {\r\n            this.readDetailUrl = `${click_url}/${v.book_id}/${v.chapter_id}`;\r\n          } else if(v.book_id && v.chapter_id && v.start_index) {\r\n            this.readDetailUrl = `${click_url}/${v.book_id}/${v.chapter_id}/${v.start_index}`;\r\n          } else {\r\n            this.readDetailUrl = '';\r\n          }\r\n        } else {\r\n          this.course_cover_show = \"\";\r\n          this.qrCodeImage = \"\";\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      activeName: \"1\",\r\n      is_collect: 2,\r\n      inited: false,\r\n      guideInfo:'<span style=\"ine-height: 1.6;letter-spacing: 0.1em;\">人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？<br/><div style=\"height: 15px\"></div>人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？</span>',\r\n      course_cover_show: \"\",\r\n      qrCodeImage: \"\",\r\n      url: \"\",\r\n      readDetailUrl: ''\r\n    };\r\n  },\r\n  methods: {\r\n    toReadDetail() {\r\n      if(!this.courseBase) {\r\n        return;\r\n      }\r\n      // 配置了课程介绍或者课程pdf,则跳转阅读详情页,否则直接跳转元读书web端详情页\r\n      if(this.courseBase.course_intro || this.courseBase.course_intro_pdf) {\r\n        window.open(this.resolvedUrl, '_blank');\r\n      } else {\r\n        window.open(this.readDetailUrl, '_blank');\r\n      }\r\n    },\r\n    async generateQRCode() {\r\n      if (this.url) {\r\n        try {\r\n          this.qrCodeImage = await QRCode.toDataURL(this.url);\r\n        } catch (err) {\r\n          console.error('生成二维码失败:', err);\r\n        }\r\n      } else {\r\n      }\r\n    },\r\n    async getIndexFile() {\r\n      try {\r\n        const course_cover_show = this.courseBase.course_cover_show;\r\n        const course_cover = this.courseBase.course_cover;\r\n        console.log(\"course_cover_show:\", course_cover_show);\r\n        if(course_cover_show) {\r\n          let config = getOssConfig();\r\n          const url = config.uploadHost + \"/\" + course_cover;\r\n          const image = await getFile(url);\r\n          if (image) {\r\n            this.course_cover_show = image.fileData;\r\n          } else {\r\n            // 存入indexDb\r\n            const imageBase64 = await getBase64ByUrl(course_cover_show);\r\n            this.course_cover_show = imageBase64;\r\n            // 保存到indexDb\r\n            await saveFile(url, this.courseBase.course_name, imageBase64);\r\n          }\r\n        } else {\r\n          this.course_cover_show = \"\";\r\n        }\r\n      } catch (error) {\r\n        console.log(\"error:\", error)\r\n      }\r\n\r\n    },\r\n    handleClick() {},\r\n    addUserCollection(operate_type) {\r\n      let params = {\r\n        collect_type: 1,\r\n        operate_type: operate_type,\r\n        course_intro_isuseradd: this.courseBase.course_intro_isuseradd,\r\n        course_isuseradd: this.courseBase.course_isuseradd,\r\n        course_id: this.course_id,\r\n      };\r\n      console.log(\"params:\", params);\r\n      addUserCollection(params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseBase\", {\r\n            ...this.courseBase,\r\n            is_collect: operate_type\r\n          });\r\n          if (operate_type === 1) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"收藏成功\",\r\n            });\r\n          } else {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"取消收藏成功\",\r\n            });\r\n          }\r\n        }\r\n      });\r\n    },\r\n  },\r\n  mounted() {\r\n    console.log(\"font:\", this.courseBase);\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.wrapper1 {\r\n  padding-left: 101px !important;\r\n  padding-right: 101px !important;\r\n  // -webkit-animation: wrapper1Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  // animation: wrapper1Ani 0.5s ease-in-out;\r\n  // animation-fill-mode: forwards;\r\n}\r\n// @-webkit-keyframes wrapper1Ani {\r\n//   0% {\r\n//     padding-left: 39px;\r\n//     padding-right: 39px;\r\n//   }\r\n//   100% {\r\n//     padding-left: 101px;\r\n//     padding-right: 101px;\r\n//   }\r\n// }\r\n.wrapper2 {\r\n  padding-left: 39px;\r\n  padding-right: 39px;\r\n  // -webkit-animation: wrapper2Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  // animation: wrapper2Ani 0.5s ease-in-out;\r\n  // animation-fill-mode: forwards;\r\n}\r\n// @-webkit-keyframes wrapper2Ani {\r\n//   0% {\r\n//     padding-left: 101px;\r\n//     padding-right: 101px;\r\n//   }\r\n//   100% {\r\n//     padding-left: 39px;\r\n//     padding-right: 39px;\r\n//   }\r\n// }\r\n.wrapper {\r\n  position: relative;\r\n  height: 100%;\r\n  padding: 0 39px;\r\n  display: flex;\r\n  flex-direction: row;\r\n  .content_font {\r\n    flex: 1;\r\n    overflow-y: auto;\r\n    padding: 0;\r\n    text-align: justify;\r\n  }\r\n\r\n  .collect {\r\n    width: 100%;\r\n    text-align: center;\r\n    z-index: 99;\r\n    .btn {\r\n      width: 100px;\r\n      height: 32px;\r\n      // border-radius: 16px;\r\n      // border: 1px solid #71AFBB;\r\n      cursor: pointer;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      margin: 0 auto;\r\n    }\r\n    img {\r\n      width: 17px;\r\n      height: 15px;\r\n      margin-right: 7px;\r\n    }\r\n    p {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #71AFBB;\r\n      line-height: 14px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n  }\r\n}\r\n.left {\r\n  width: 50%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  justify-content: center;\r\n  border-right: 1px solid #D4D9DB;\r\n  padding-right: 30px;\r\n  margin-bottom: 60px;\r\n  margin-top: 30px;\r\n  .cover {\r\n    width: 104px;\r\n    height: 138px;\r\n    box-shadow: 0px 2px 21px rgba(0, 0, 0, 0.11);\r\n  }\r\n  .cover_none {\r\n    padding: 10px;\r\n    background: #71AFBB;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    color: #FFFFFF;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    line-height: 24px;\r\n    p {\r\n      -webkit-line-clamp: 3;\r\n    }\r\n  }\r\n  .course_name {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    -webkit-line-clamp: 2;\r\n    margin: 26px 0;\r\n  }\r\n  .start-btn {\r\n    width: 130px;\r\n    height: 40px;\r\n    background: #71AFBB;\r\n    border-radius: 8px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #FFFFFF;\r\n    line-height: 40px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    margin-bottom: 12px;\r\n    cursor: pointer;\r\n    a {\r\n      text-decoration: none;\r\n    }\r\n  }\r\n  .disable-start-btn {\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n  }\r\n}\r\n.erweima-wrapper {\r\n  width: 50%;\r\n  flex: 1;\r\n  border-radius: 8px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding-left: 57px;\r\n  margin-bottom: 74px;\r\n  .app_erweima {\r\n    width: 117px;\r\n    height: 117px;\r\n    margin-bottom: 5px;\r\n  }\r\n  .row1 {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    color: #7E878C;\r\n    line-height: 25px;\r\n    font-style: normal;\r\n    padding-bottom: 21px;\r\n    text-align: center;\r\n    .app_name {\r\n      color: #34896A;\r\n      font-family: SourceHanSansCN-Medium;\r\n    }\r\n  }\r\n  .row2 {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #7E878C;\r\n    line-height: 20px;\r\n    text-align: center;\r\n    font-style: normal;\r\n  }\r\n  .link {\r\n    color: #64afd5;\r\n    cursor: pointer;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentFont.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\",class:_vm.inited ? (_vm.fullscreen ? 'wrapper1' : 'wrapper2') : ''},[_c('div',{staticClass:\"left\"},[(_vm.course_cover_show)?_c('img',{staticClass:\"cover\",attrs:{\"src\":_vm.course_cover_show}}):_c('div',{staticClass:\"cover cover_none\"},[(_vm.isGuide)?_c('p',{staticClass:\"ellipsis-content\"},[_vm._v(\"人生五大问题\")]):_c('p',{staticClass:\"ellipsis-content\"},[_vm._v(_vm._s(_vm.courseBase.course_name))])]),_vm._v(\" \"),(_vm.isGuide)?_c('p',{staticClass:\"ellipsis-content course_name\"},[_vm._v(\"人生五大问题\")]):_c('p',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(_vm.courseBase.course_name))]),_vm._v(\" \"),(_vm.courseBase && (_vm.courseBase.course_intro || _vm.courseBase.course_intro_pdf || _vm.readDetailUrl))?_c('div',{staticClass:\"start-btn\",on:{\"click\":_vm.toReadDetail}},[_vm._v(\"开始阅读\")]):_vm._e(),_vm._v(\" \"),(_vm.courseBase && _vm.courseBase.is_collect == 2 && _vm.courseContentGuideStatus === 1)?_c('div',{staticClass:\"collect\"},[_c('div',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"收藏\")])])]):_vm._e(),_vm._v(\" \"),(_vm.courseContentGuideStatus === 0)?_c('div',{staticClass:\"collect\",attrs:{\"id\":\"cultrueContent_step2_1\"}},[_vm._m(0)]):_vm._e(),_vm._v(\" \"),(\n        _vm.courseBase && _vm.courseBase.is_collect == 1  && _vm.courseContentGuideStatus === 1\n      )?_c('div',{staticClass:\"collect\"},[_c('div',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"取消收藏\")])])]):_vm._e()]),_vm._v(\" \"),(_vm.courseBase && _vm.courseBase.course_intro_isedit == 2 || _vm.courseContentGuideStatus === 0)?_c('div',{staticClass:\"erweima-wrapper\"},[(_vm.qrCodeImage)?_c('img',{staticClass:\"app_erweima\",attrs:{\"src\":_vm.qrCodeImage}}):_vm._e(),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"row2\"},[_vm._v(\"已下载 APP，可以直接在手机、平板中打开来阅读内容\")])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn\",attrs:{\"id\":\"cultrueContent_step2\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"收藏\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row1\"},[_vm._v(\"扫码下载\"),_c('span',{staticClass:\"app_name\"},[_vm._v(\" 元读书APP\")]),_vm._v(\"查看电子书\")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-64f4a1aa\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentFont.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-64f4a1aa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentFont.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentFont.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentFont.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-64f4a1aa\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentFont.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-64f4a1aa\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentFont.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"wrapper\">\r\n    <div class=\"video_wrapper\" v-if=\"videos && videos.length\">\r\n      <div class=\"video\" v-for=\"(item, index) in videos\" :key=\"index\">\r\n        <div class=\"video_box\" v-if=\"!item.course_video_cover\">\r\n          <div class=\"ellipsis-content title\">\r\n            {{ item.course_video_title + item.course_video_title_alias }}\r\n          </div>\r\n          <div class=\"play_btn\">\r\n            <img\r\n              src=\"@/assets/img/play_detail.svg\"\r\n              @click=\"goDetail(item.course_video_id, item.course_id)\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <div v-else class=\"video_box\" :style=\"{backgrround: `url(${item.course_video_cover_show}) no-repeat center`}\">\r\n          <div class=\"ellipsis-content title\">\r\n            {{ item.course_video_title + item.course_video_title_alias }}\r\n          </div>\r\n          <div class=\"play_btn\">\r\n            <img\r\n              src=\"@/assets/img/play_detail.svg\"\r\n              @click=\"goDetail(item.course_video_id, item.course_id)\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <!-- <iframe\r\n          width=\"267\"\r\n          height=\"162\"\r\n          :src=\"'https://www.youtube.com/embed/' + item.course_video_url\"\r\n          frameborder=\"0\"\r\n          allowfullscreen\r\n        ></iframe> -->\r\n        <div class=\"collect\">\r\n          <div class=\"collect-img\">\r\n            <img\r\n              :src=\"\r\n                item.is_collect == 1\r\n                  ? require('@/assets/img/collection.svg')\r\n                  : require('@/assets/img/collect_video.svg')\r\n              \"\r\n              @click=\"\r\n                addUserCollection(\r\n                  item.course_video_id,\r\n                  item.is_collect == 1 ? 2 : 1,\r\n                  index\r\n                )\r\n              \"\r\n            />\r\n            <span class=\"collect_text\">{{\r\n              item.is_collect == 1 ? \"已收藏\" : \"收藏视频\"\r\n            }}</span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <NoData v-else />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport NoData from \"@/components/NoData\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport {\r\n  getCourseVedioList,\r\n  addUserCollection\r\n} from \"@/api/index\";\r\n\r\nexport default {\r\n  mixins: [openOtherPageMixins],\r\n  components: { NoData },\r\n  props: {\r\n    courseBase: {\r\n      type: Object,\r\n      default: () => {}\r\n    },\r\n    videoLen: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    videos: {\r\n      type: Array,\r\n      default: () => []\r\n    }\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    }\r\n  },\r\n  watch: {\r\n  },\r\n  data() {\r\n    return {\r\n      // videos: [],\r\n      app_type: \"\"\r\n    };\r\n  },\r\n  methods: {\r\n    async getCourseVedioList() {\r\n      try {\r\n        if(this.course_id) {\r\n          const res = await getCourseVedioList({ course_id: this.course_id, network_type: this.canAccessYouTube ? 1 : 2 });\r\n          if (res && res.code == 0) {\r\n            this.videos = res.data;\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 详情页面\r\n    goDetail(course_video_id, course_id) {\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push({\r\n          path: \"/white/CultrueContentVideoDetail\",\r\n          query: {\r\n            course_video_id: course_video_id,\r\n            course_id: course_id\r\n          }\r\n      });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    addUserCollection(course_video_id, operate_type, index) {\r\n      let params = {\r\n        collect_type: 2,\r\n        operate_type: operate_type,\r\n        course_video_id,\r\n        course_id: this.course_id,\r\n      };\r\n      console.log(\"params:\", params);\r\n      addUserCollection(params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          this.videos[index].is_collect = operate_type;\r\n          if (operate_type === 1) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"收藏成功\",\r\n            });\r\n          } else {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"取消收藏成功\",\r\n            });\r\n          }\r\n        }\r\n      });\r\n    }\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.wrapper {\r\n  height: 100%;\r\n  .video_wrapper {\r\n    height: 100%;\r\n    // padding: 0 39px 24px;\r\n    padding-left: 19px;\r\n    padding-bottom: 24px;\r\n    overflow-y: auto;\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    align-content: baseline;\r\n  }\r\n  .video {\r\n    width: 250px;\r\n    // height: 162px;\r\n    margin-left: 20px;\r\n    margin-bottom: 34px;\r\n    position: relative;\r\n    .video_box {\r\n      width: 100%;\r\n      height: 162px;\r\n      background: #64afd5 url('~@/assets/img/white_yuanriji.svg') no-repeat center;\r\n      background-size: 70px;\r\n      .title {\r\n        font-family: PingFangSC, PingFang SC;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #ffffff;\r\n        line-height: 20px;\r\n        height: 34px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        padding: 14px;\r\n        padding-bottom: 0;\r\n        overflow-y: hidden;\r\n        -webkit-line-clamp: 1;\r\n      }\r\n      .play_btn {\r\n        width: 100%;\r\n        text-align: center;\r\n        margin-top: 10px;\r\n        img {\r\n          cursor: pointer;\r\n          width: 56px;\r\n          height: 56px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  .detail-btn {\r\n    width: 52px;\r\n    height: 40px;\r\n    position: absolute;\r\n    background-color: #fff;\r\n    right: 0;\r\n    bottom: 44px;\r\n    cursor: pointer;\r\n    font-size: 14px;\r\n    color: #64afd5;\r\n    line-height: 40px;\r\n    text-align: center;\r\n    border-top-left-radius: 8px;\r\n  }\r\n  .collect {\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    align-items: center;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #64afd5;\r\n    font-style: normal;\r\n    padding: 7px 8px 0;\r\n    .detail {\r\n      cursor: pointer;\r\n    }\r\n    .collect-img {\r\n      display: flex;\r\n      align-items: center;\r\n    }\r\n    img {\r\n      width: 17px;\r\n      height: 15px;\r\n      cursor: pointer;\r\n      margin-right: 6px;\r\n    }\r\n    .collect_text {\r\n      text-align: right;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentVideo.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[(_vm.videos && _vm.videos.length)?_c('div',{staticClass:\"video_wrapper\"},_vm._l((_vm.videos),function(item,index){return _c('div',{key:index,staticClass:\"video\"},[(!item.course_video_cover)?_c('div',{staticClass:\"video_box\"},[_c('div',{staticClass:\"ellipsis-content title\"},[_vm._v(\"\\n          \"+_vm._s(item.course_video_title + item.course_video_title_alias)+\"\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"play_btn\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/play_detail.svg\")},on:{\"click\":function($event){return _vm.goDetail(item.course_video_id, item.course_id)}}})])]):_c('div',{staticClass:\"video_box\",style:({backgrround: (\"url(\" + (item.course_video_cover_show) + \") no-repeat center\")})},[_c('div',{staticClass:\"ellipsis-content title\"},[_vm._v(\"\\n          \"+_vm._s(item.course_video_title + item.course_video_title_alias)+\"\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"play_btn\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/play_detail.svg\")},on:{\"click\":function($event){return _vm.goDetail(item.course_video_id, item.course_id)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"collect\"},[_c('div',{staticClass:\"collect-img\"},[_c('img',{attrs:{\"src\":item.is_collect == 1\n                ? require('@/assets/img/collection.svg')\n                : require('@/assets/img/collect_video.svg')},on:{\"click\":function($event){return _vm.addUserCollection(\n                item.course_video_id,\n                item.is_collect == 1 ? 2 : 1,\n                index\n              )}}}),_vm._v(\" \"),_c('span',{staticClass:\"collect_text\"},[_vm._v(_vm._s(item.is_collect == 1 ? \"已收藏\" : \"收藏视频\"))])])])])}),0):_c('NoData')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a8e7bd90\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentVideo.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a8e7bd90\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentVideo.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentVideo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentVideo.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a8e7bd90\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentVideo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a8e7bd90\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentVideo.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"wrapper\">\r\n    <div\r\n      class=\"audio_box\"\r\n      :class=\"fullscreen ? 'audio_box1' : 'audio_box2'\"\r\n      v-if=\"audios && audios.length\"\r\n    >\r\n      <div class=\"audio_wrappers\" v-for=\"(item, index) in audios\" :key=\"index\">\r\n        <div class=\"culture_audio\">\r\n          <div class=\"operates\">\r\n            <img\r\n              v-if=\"!loadings[item.course_audio_id]\"\r\n              class=\"download\"\r\n              src=\"@/assets/img/audio_download.svg\"\r\n              @click=\"\r\n                fileDownload(\r\n                  item.course_audio_url_oss,\r\n                  item.course_audio_id\r\n                )\r\n              \"\r\n            />\r\n            <img\r\n              v-else\r\n              class=\"download\"\r\n              src=\"@/assets/img/audio_download_disabled.png\"\r\n            />\r\n            <img\r\n              :src=\"\r\n                item.is_collect == 1\r\n                  ? require('@/assets/img/audio_collected.svg')\r\n                  : require('@/assets/img/audio_collect.svg')\r\n              \"\r\n              @click=\"\r\n                addUserCollection(\r\n                  item.course_audio_id,\r\n                  item.is_collect == 1 ? 2 : 1,\r\n                  index\r\n                )\r\n              \"\r\n            />\r\n          </div>\r\n          <div\r\n            class=\"title_alias\"\r\n            :class=\"[\r\n              item.course_audio_title && item.course_audio_title.length > 4\r\n                ? 'title_alias1'\r\n                : ''\r\n            ]\"\r\n            @click=\"playAudio(item)\"\r\n          >\r\n            <span class=\"ellipsis-content\">{{ item.course_audio_title }}</span>\r\n          </div>\r\n          <div class=\"progress_wrapper\" @click=\"playAudio(item)\">\r\n            <img src=\"@/assets/img/audio_volume.svg\" />\r\n          </div>\r\n        </div>\r\n        <div class=\"ellipsis-content title\">\r\n          {{\r\n            item.course_audio_title +\r\n              \"&nbsp;&nbsp;\" +\r\n              item.course_audio_title_alias\r\n          }}\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <NoData v-else />\r\n    <div class=\"audio_player\" v-if=\"currentAudio\">\r\n      <div class=\"player_title_wrapper\">\r\n        <div class=\"player_title\">\r\n          {{\r\n            currentAudio.course_audio_title +\r\n              \"&nbsp;&nbsp;\" +\r\n              currentAudio.course_audio_title_alias\r\n          }}\r\n        </div>\r\n        <img\r\n          class=\"collect_icon\"\r\n          :src=\"\r\n            currentAudio.is_collect == 1\r\n              ? require('@/assets/img/collection.svg')\r\n              : require('@/assets/img/collect_video.svg')\r\n          \"\r\n        />\r\n      </div>\r\n\r\n      <div class=\"player_area\">\r\n        <AudioCom\r\n          :bgColor=\"'#64AFD5'\"\r\n          :progressColor=\"'rgba(100,175,213,0.26)'\"\r\n          :title=\"''\"\r\n          :url=\"\r\n            currentAudio\r\n              ? currentAudio.course_audio_url_oss\r\n              : ''\r\n          \"\r\n          :currentTimeProp=\"currentAudioTime\"\r\n          :needPlay=\"needPlay\"\r\n          :onlyShowBar=\"true\"\r\n          ref=\"audioCom\"\r\n          @play=\"play\"\r\n          @pause=\"pause\"\r\n        />\r\n        <img\r\n          class=\"onlyShowBar_fullscreen\"\r\n          src=\"@/assets/img/fullscreen.svg\"\r\n          @click=\"goDetail(currentAudio.course_audio_id, currentAudio.course_id)\"\r\n        />\r\n      </div>\r\n\r\n\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  getCourseAudioList,\r\n  addUserCollection\r\n} from \"@/api/index\";\r\n\r\nimport AudioCom from \"@/components/AudioCom\";\r\nimport NoData from \"@/components/NoData\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\n\r\nexport default {\r\n  components: { AudioCom, NoData },\r\n  mixins: [openOtherPageMixins],\r\n  props: {\r\n    courseBase: {\r\n      type: Object,\r\n      default: () => {}\r\n    },\r\n    activeName: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    audios: {\r\n      type: Array,\r\n      default: () => []\r\n    },\r\n    fullscreen: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    currentAudioContent() {\r\n      return this.$store.getters.currentAudioContent;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    currentAudioTime() {\r\n      return this.$store.getters.currentAudioTime;\r\n    },\r\n  },\r\n  watch: {\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"this.$route:::\", this.$route);\r\n        if (newVal !== \"CultrueContent\") {\r\n          if (this.$refs.audioCom) {\r\n            this.$refs.audioCom.pause();\r\n          }\r\n        }\r\n      }\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"this.$route:::\", this.$route, this.whiteCom);\r\n        if (this.$route.name !== \"index\" && this.whiteCom == \"CultrueContent\") {\r\n          if (this.$refs.audioCom) {\r\n            this.$refs.audioCom.pause();\r\n          }\r\n        }\r\n        if (this.$route.name == \"index\" && this.whiteCom == \"CultrueContent\") {\r\n          if(this.app_type != 1 && this.course_id) {\r\n            // this.getCourseAudioList();\r\n          }\r\n        }\r\n      }\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.currentAudio = null;\r\n          this.$store.dispatch(\"setCurrentAudioContent\", null);\r\n          this.$store.dispatch(\"setCurrentAudioTime\", 0);\r\n          if (this.$refs.audioCom) {\r\n            this.$refs.audioCom.pause();\r\n          }\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    activeName: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal != 3) {\r\n          if (this.$refs.audioCom) {\r\n            this.$refs.audioCom.pause();\r\n          }\r\n        }\r\n      }\r\n    },\r\n    audios: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal) {\r\n          this.loadings = {};\r\n          this.audios.forEach(item => {\r\n            this.$set(this.loadings, item.course_audio_id, false);\r\n            if(this.currentAudio && item.course_audio_id == this.currentAudio.course_audio_id) {\r\n              this.currentAudio.is_collect = item.is_collect;\r\n            }\r\n          });\r\n          if(this.currentAudioContent != null) {\r\n            this.currentAudio = this.audios[this.currentAudioContent];\r\n          }\r\n          if (this.audios.length > 0) {\r\n            this.needPlay = false;\r\n            // this.currentAudio = this.audios[0];\r\n          }\r\n        }\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      currentAudio: null,\r\n      needPlay: false,\r\n      loadings: {},\r\n      app_type: \"\",\r\n      // audios: []\r\n    };\r\n  },\r\n  methods: {\r\n    async getCourseAudioList() {\r\n      try {\r\n        const res = await getCourseAudioList({ course_id: this.course_id, is_detail: 1 });\r\n        if (res && res.code == 0) {\r\n          this.audios = res.data;\r\n          console.log(\"currentAudioContent:\",this.currentAudioContent, this.currentAudioTime)\r\n          if(this.currentAudioContent != null) {\r\n            this.currentAudio = this.audios[this.currentAudioContent];\r\n          }\r\n          this.audios.forEach((item) => {\r\n            if(this.currentAudio && item.course_audio_id == this.currentAudio.course_audio_id) {\r\n              this.currentAudio.is_collect = item.is_collect;\r\n            }\r\n          })\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 详情页面\r\n    goDetail(course_audio_id, course_id) {\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.needPlay = false;\r\n      this.setOpenOtherPageIng();\r\n      const playing = this.$refs.audioCom.playing;\r\n      const currentTime = Math.floor(this.$refs.audioCom.audio.currentTime);\r\n      this.$router.push({\r\n          path: \"/white/CultrueContentAudioDetail\",\r\n          query: {\r\n            course_audio_id: course_audio_id,\r\n            currentTime: currentTime,\r\n            playing: playing ? 1 : 0,\r\n            course_id: course_id\r\n          }\r\n      });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    playAudio(data) {\r\n      console.log(\"playAudio:\",data);\r\n      this.$store.dispatch(\"setCurrentAudioTime\", 0).then(() => {\r\n        this.needPlay = true;\r\n        this.currentAudio = data;\r\n      });\r\n\r\n    },\r\n    addUserCollection(course_audio_id, operate_type, index) {\r\n      let params = {\r\n        collect_type: 3,\r\n        operate_type: operate_type,\r\n        course_audio_id,\r\n        course_id: this.course_id,\r\n      };\r\n      console.log(\"params:\", params);\r\n      addUserCollection(params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          this.audios[index].is_collect = operate_type;\r\n          if(this.currentAudio.course_audio_id == course_audio_id) {\r\n            this.currentAudio.is_collect = operate_type;\r\n          }\r\n          if (operate_type === 1) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"收藏成功\",\r\n            });\r\n          } else {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"取消收藏成功\",\r\n            });\r\n          }\r\n        }\r\n      });\r\n    },\r\n    // 播放\r\n    play() {\r\n      this.playing = true;\r\n    },\r\n    // 暂停\r\n    pause() {\r\n      this.playing = false;\r\n    },\r\n    fileDownload(course_audio_url_oss, course_audio_id) {\r\n      if (this.loadings[course_audio_id]) {\r\n        return;\r\n      }\r\n      console.log(course_audio_id, this.loadings, course_audio_url_oss);\r\n      this.$set(this.loadings, course_audio_id, true);\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"开始下载\"\r\n      });\r\n      // 可下载，名称也有效 -- 推荐\r\n      const a = document.createElement('a');\r\n      a.href = course_audio_url_oss;\r\n      a.style.display = \"none\";\r\n      document.body.appendChild(a);\r\n      a.click();\r\n      document.body.removeChild(a);\r\n    }\r\n  },\r\n  mounted() {\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.wrapper {\r\n  height: 100%;\r\n  overflow-y: hidden;\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  position: relative;\r\n  .audio_box {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    width: 100%;\r\n    height: 100%;\r\n    overflow-y: auto;\r\n    padding: 0 0 24px 39px;\r\n    align-content: baseline;\r\n  }\r\n  .audio_box1 {\r\n    padding-left: 61px;\r\n    // -webkit-animation: audioBox1Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n    // animation: audioBox1Ani 0.5s ease-in-out;\r\n    // animation-fill-mode: forwards;\r\n  }\r\n  // @-webkit-keyframes audioBox1Ani {\r\n  //   0% {\r\n  //     padding-left: 39px;\r\n  //   }\r\n  //   100% {\r\n  //     padding-left: 61px;\r\n  //   }\r\n  // }\r\n  .audio_wrappers {\r\n    margin-right: 13px;\r\n    margin-bottom: 41px;\r\n  }\r\n  .culture_audio {\r\n    width: 165px;\r\n    height: 165px;\r\n    background: #64afd5;\r\n    box-shadow: 6px 2px 18px 0px rgba(0, 0, 0, 0.12);\r\n    border-radius: 4px;\r\n  }\r\n  .title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    line-height: 24px;\r\n    color: #292929;\r\n    font-style: normal;\r\n    padding-top: 16px;\r\n    width: 165px;\r\n    -webkit-line-clamp: 2;\r\n  }\r\n  .collect {\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    align-items: center;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #64afd5;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding: 7px 8px 0;\r\n    img {\r\n      width: 17px;\r\n      height: 15px;\r\n      cursor: pointer;\r\n      margin-right: 6px;\r\n    }\r\n  }\r\n  .operates {\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    align-items: center;\r\n    padding: 11px;\r\n    img {\r\n      width: 23px;\r\n      height: 20px;\r\n      cursor: pointer;\r\n    }\r\n    .download {\r\n      width: 19px;\r\n      height: 19px;\r\n      margin-right: 15px;\r\n    }\r\n  }\r\n  .title_alias {\r\n    height: 77px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 300;\r\n    font-size: 26px;\r\n    color: #ffffff;\r\n    line-height: 35px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding: 2px 17px 11px;\r\n    overflow-y: hidden;\r\n    display: flex;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    span {\r\n      -webkit-line-clamp: 3;\r\n    }\r\n  }\r\n  .title_alias1 {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 300;\r\n    font-size: 18px;\r\n    color: #ffffff;\r\n    line-height: 25px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    span {\r\n      -webkit-line-clamp: 3;\r\n    }\r\n  }\r\n  .progress_wrapper {\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    align-items: center;\r\n    padding: 0 11px 0 13px;\r\n    cursor: pointer;\r\n    .progress {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: rgba(255, 255, 255, 0.52);\r\n      line-height: 18px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n    img {\r\n      width: 32px;\r\n      height: 32px;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n\r\n  .audio_player {\r\n    position: absolute;\r\n    bottom: 0;\r\n    width: 100%;\r\n    height: 72px;\r\n    background: #ffffff;\r\n    box-shadow: 0 0 16px 0px rgba(0, 0, 0, 0.1);\r\n    border-bottom-left-radius: 16px;\r\n    border-bottom-right-radius: 16px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    .player_title_wrapper {\r\n      display: flex;\r\n      align-items: center;\r\n    }\r\n    .player_title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #292929;\r\n      line-height: 21px;\r\n      font-style: normal;\r\n      padding-left: 47px;\r\n      padding-right: 10px;\r\n    }\r\n    .collect_icon {\r\n      width: 17px;\r\n      height: 15px;\r\n    }\r\n    .player_area {\r\n      display: flex;\r\n      align-items: center;\r\n      flex: 1;\r\n    }\r\n  }\r\n}\r\n/deep/ .audio_wrapper {\r\n  width: auto !important;\r\n  // padding-left: 10% !important;\r\n  flex: 1;\r\n  align-items: flex-start !important;\r\n}\r\n/deep/ .onlyShowBar {\r\n  width: 100%;\r\n}\r\n/deep/ .audio {\r\n  width: calc(100% - 160px) !important;\r\n}\r\n.onlyShowBar_fullscreen {\r\n  width: 27px;\r\n  height: 27px;\r\n  cursor: pointer;\r\n  margin-right: 20px;\r\n  margin-left: 20px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentAudio.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[(_vm.audios && _vm.audios.length)?_c('div',{staticClass:\"audio_box\",class:_vm.fullscreen ? 'audio_box1' : 'audio_box2'},_vm._l((_vm.audios),function(item,index){return _c('div',{key:index,staticClass:\"audio_wrappers\"},[_c('div',{staticClass:\"culture_audio\"},[_c('div',{staticClass:\"operates\"},[(!_vm.loadings[item.course_audio_id])?_c('img',{staticClass:\"download\",attrs:{\"src\":require(\"@/assets/img/audio_download.svg\")},on:{\"click\":function($event){return _vm.fileDownload(\n                item.course_audio_url_oss,\n                item.course_audio_id\n              )}}}):_c('img',{staticClass:\"download\",attrs:{\"src\":require(\"@/assets/img/audio_download_disabled.png\")}}),_vm._v(\" \"),_c('img',{attrs:{\"src\":item.is_collect == 1\n                ? require('@/assets/img/audio_collected.svg')\n                : require('@/assets/img/audio_collect.svg')},on:{\"click\":function($event){return _vm.addUserCollection(\n                item.course_audio_id,\n                item.is_collect == 1 ? 2 : 1,\n                index\n              )}}})]),_vm._v(\" \"),_c('div',{staticClass:\"title_alias\",class:[\n            item.course_audio_title && item.course_audio_title.length > 4\n              ? 'title_alias1'\n              : ''\n          ],on:{\"click\":function($event){return _vm.playAudio(item)}}},[_c('span',{staticClass:\"ellipsis-content\"},[_vm._v(_vm._s(item.course_audio_title))])]),_vm._v(\" \"),_c('div',{staticClass:\"progress_wrapper\",on:{\"click\":function($event){return _vm.playAudio(item)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/audio_volume.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"ellipsis-content title\"},[_vm._v(\"\\n        \"+_vm._s(item.course_audio_title +\n            \"  \" +\n            item.course_audio_title_alias)+\"\\n      \")])])}),0):_c('NoData'),_vm._v(\" \"),(_vm.currentAudio)?_c('div',{staticClass:\"audio_player\"},[_c('div',{staticClass:\"player_title_wrapper\"},[_c('div',{staticClass:\"player_title\"},[_vm._v(\"\\n        \"+_vm._s(_vm.currentAudio.course_audio_title +\n            \"  \" +\n            _vm.currentAudio.course_audio_title_alias)+\"\\n      \")]),_vm._v(\" \"),_c('img',{staticClass:\"collect_icon\",attrs:{\"src\":_vm.currentAudio.is_collect == 1\n            ? require('@/assets/img/collection.svg')\n            : require('@/assets/img/collect_video.svg')}})]),_vm._v(\" \"),_c('div',{staticClass:\"player_area\"},[_c('AudioCom',{ref:\"audioCom\",attrs:{\"bgColor\":'#64AFD5',\"progressColor\":'rgba(100,175,213,0.26)',\"title\":'',\"url\":_vm.currentAudio\n            ? _vm.currentAudio.course_audio_url_oss\n            : '',\"currentTimeProp\":_vm.currentAudioTime,\"needPlay\":_vm.needPlay,\"onlyShowBar\":true},on:{\"play\":_vm.play,\"pause\":_vm.pause}}),_vm._v(\" \"),_c('img',{staticClass:\"onlyShowBar_fullscreen\",attrs:{\"src\":require(\"@/assets/img/fullscreen.svg\")},on:{\"click\":function($event){return _vm.goDetail(_vm.currentAudio.course_audio_id, _vm.currentAudio.course_id)}}})],1)]):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-58fb8502\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentAudio.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-58fb8502\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentAudio.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentAudio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentAudio.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-58fb8502\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentAudio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-58fb8502\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentAudio.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div\r\n    class=\"wrapper\"\r\n    :class=\"inited ? (fullscreen ? 'wrapper1' : 'wrapper2') : ''\"\r\n  >\r\n    <div class=\"left\">\r\n      <div class=\"cover cover_none\">\r\n        <p class=\"ellipsis-content\">修学<br/>辅助材料</p>\r\n        <!-- <p v-if=\"isGuide\" class=\"ellipsis-content\">修学<br/>辅助材料</p>\r\n        <p v-else class=\"ellipsis-content\">{{ courseBase.course_name }}</p> -->\r\n      </div>\r\n      <p v-if=\"isGuide\" class=\"ellipsis-content course_name\">人生五大问题</p>\r\n\r\n      <p v-else class=\"ellipsis-content course_name\">{{ courseBase.course_name }}</p>\r\n      <!-- <a href=\"https://webt1.aryaread.com/reader/1847527782468730881/10079_1000000/3626/0\">1111</a> -->\r\n      <div class=\"start-btn\" v-if=\"courseAuxiliary && courseAuxiliary.course_intro_auxiliary_pdf_show\" @click=\"toReadDetail\">查看辅材</div>\r\n      <div\r\n        class=\"collect\"\r\n        v-if=\"courseAuxiliary && courseAuxiliary.is_collect == 2 && courseContentGuideStatus === 1\"\r\n      >\r\n        <div class=\"btn\" @click=\"addUserCollection(1)\">\r\n          <img src=\"@/assets/img/mind_collect.svg\" />\r\n          <p>收藏</p>\r\n        </div>\r\n      </div>\r\n      <div\r\n        id=\"cultrueContent_step2_1\"\r\n        class=\"collect\"\r\n        v-if=\"courseContentGuideStatus === 0\"\r\n      >\r\n        <div class=\"btn\" id=\"cultrueContent_step2\">\r\n          <img src=\"@/assets/img/mind_collect.svg\" />\r\n          <p>收藏</p>\r\n        </div>\r\n      </div>\r\n      <div\r\n        class=\"collect\"\r\n        v-if=\"\r\n          courseAuxiliary && courseAuxiliary.is_collect == 1  && courseContentGuideStatus === 1\r\n        \"\r\n      >\r\n        <div class=\"btn\" @click=\"addUserCollection(2)\">\r\n          <img src=\"@/assets/img/mind_collected.svg\" />\r\n          <p>取消收藏</p>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport NoData from \"@/components/NoData\";\r\nimport { addUserCollection, getCourseAuxiliary } from \"@/api/index\";\r\nimport {\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile,\r\n  getOssConfig\r\n} from \"@/utils/indexDb\";\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nexport default {\r\n  components: { NoData },\r\n  props: {\r\n    courseBase: {\r\n      type: Object,\r\n      default: () => {}\r\n    },\r\n    fullscreen: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    courseContentGuideStatus: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    isGuide: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    resolvedUrl() {\r\n      const resolved = this.$router.resolve({ path: 'PdfRead', query: {\r\n        course_id: this.course_id,\r\n        course_name: this.courseBase.course_name,\r\n        course_pdf: this.courseAuxiliary.course_intro_auxiliary_pdf_show,\r\n        canDownload: this.courseAuxiliary.course_intro_auxiliary_download\r\n      } });\r\n      return window.location.origin + resolved.href;\r\n    },\r\n  },\r\n  watch: {\r\n    fullscreen: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.inited = true;\r\n        }\r\n      }\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.getCourseAuxiliary();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      activeName: \"1\",\r\n      is_collect: 2,\r\n      inited: false,\r\n      guideInfo:'<span style=\"ine-height: 1.6;letter-spacing: 0.1em;\">人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？<br/><div style=\"height: 15px\"></div>人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？</span>',\r\n      course_intro_auxiliary_pdf_show: \"\",\r\n      readDetailUrl: '',\r\n      courseAuxiliary: {},\r\n    };\r\n  },\r\n  methods: {\r\n    async getCourseAuxiliary() {\r\n      try {\r\n        const courseAuxiliary = await getCourseAuxiliary({\r\n          course_id: this.course_id,\r\n        });\r\n        if (courseAuxiliary && courseAuxiliary.code === 0) {\r\n          this.courseAuxiliary = courseAuxiliary.data[0];\r\n          this.course_intro_auxiliary_pdf_show = this.courseAuxiliary.course_intro_auxiliary_pdf_show;\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    toReadDetail() {\r\n      if(!this.courseAuxiliary.course_intro_auxiliary_pdf) {\r\n        return;\r\n      }\r\n      if(this.courseAuxiliary.course_intro_auxiliary_pdf) {\r\n        window.open(this.resolvedUrl, '_blank');\r\n      }\r\n    },\r\n    addUserCollection(operate_type) {\r\n      let params = {\r\n        collect_type: 6,\r\n        operate_type: operate_type,\r\n        course_intro_isuseradd: this.courseBase.course_intro_isuseradd,\r\n        course_isuseradd: this.courseBase.course_isuseradd,\r\n        course_id: this.course_id,\r\n      };\r\n      console.log(\"params:\", params);\r\n      addUserCollection(params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          this.courseAuxiliary.is_collect = operate_type;\r\n          if (operate_type === 1) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"收藏成功\",\r\n            });\r\n          } else {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"取消收藏成功\",\r\n            });\r\n          }\r\n        }\r\n      });\r\n    },\r\n  },\r\n  mounted() {\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.wrapper1 {\r\n  padding-left: 101px !important;\r\n  padding-right: 101px !important;\r\n  // -webkit-animation: wrapper1Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  // animation: wrapper1Ani 0.5s ease-in-out;\r\n  // animation-fill-mode: forwards;\r\n}\r\n// @-webkit-keyframes wrapper1Ani {\r\n//   0% {\r\n//     padding-left: 39px;\r\n//     padding-right: 39px;\r\n//   }\r\n//   100% {\r\n//     padding-left: 101px;\r\n//     padding-right: 101px;\r\n//   }\r\n// }\r\n.wrapper2 {\r\n  padding-left: 39px;\r\n  padding-right: 39px;\r\n  // -webkit-animation: wrapper2Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  // animation: wrapper2Ani 0.5s ease-in-out;\r\n  // animation-fill-mode: forwards;\r\n}\r\n// @-webkit-keyframes wrapper2Ani {\r\n//   0% {\r\n//     padding-left: 101px;\r\n//     padding-right: 101px;\r\n//   }\r\n//   100% {\r\n//     padding-left: 39px;\r\n//     padding-right: 39px;\r\n//   }\r\n// }\r\n.wrapper {\r\n  position: relative;\r\n  height: 100%;\r\n  padding: 0 39px;\r\n  display: flex;\r\n  flex-direction: row;\r\n  .content_font {\r\n    flex: 1;\r\n    overflow-y: auto;\r\n    padding: 0;\r\n    text-align: justify;\r\n  }\r\n\r\n  .collect {\r\n    width: 100%;\r\n    text-align: center;\r\n    z-index: 99;\r\n    .btn {\r\n      width: 100px;\r\n      height: 32px;\r\n      // border-radius: 16px;\r\n      // border: 1px solid #71AFBB;\r\n      cursor: pointer;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      margin: 0 auto;\r\n    }\r\n    img {\r\n      width: 17px;\r\n      height: 15px;\r\n      margin-right: 7px;\r\n    }\r\n    p {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #71AFBB;\r\n      line-height: 14px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n  }\r\n}\r\n.left {\r\n  width: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  justify-content: center;\r\n  margin-bottom: 60px;\r\n  margin-top: 30px;\r\n  .cover {\r\n    width: 117px;\r\n    height: 154px;\r\n    background: #71AFBB;\r\n    box-shadow: 0px 2px 21px 0px rgba(0,0,0,0.15);\r\n    border-radius: 2px;\r\n  }\r\n  .cover_none {\r\n    text-align: center;\r\n    padding: 10px;\r\n    background: #71AFBB;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    p {\r\n      color: #FFFFFF;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 18px;\r\n      line-height: 22px;\r\n      -webkit-line-clamp: 3;\r\n    }\r\n  }\r\n  .course_name {\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    -webkit-line-clamp: 2;\r\n    margin: 26px 0;\r\n  }\r\n  .start-btn {\r\n    width: 130px;\r\n    height: 40px;\r\n    background: #71AFBB;\r\n    border-radius: 8px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #FFFFFF;\r\n    line-height: 40px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    margin-bottom: 12px;\r\n    cursor: pointer;\r\n    a {\r\n      text-decoration: none;\r\n    }\r\n  }\r\n  .disable-start-btn {\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n  }\r\n}\r\n.erweima-wrapper {\r\n  width: 50%;\r\n  flex: 1;\r\n  border-radius: 8px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding-left: 57px;\r\n  margin-bottom: 74px;\r\n  .app_erweima {\r\n    width: 117px;\r\n    height: 117px;\r\n    margin-bottom: 5px;\r\n  }\r\n  .row1 {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    color: #7E878C;\r\n    line-height: 25px;\r\n    font-style: normal;\r\n    padding-bottom: 21px;\r\n    text-align: center;\r\n    .app_name {\r\n      color: #34896A;\r\n      font-family: SourceHanSansCN-Medium;\r\n    }\r\n  }\r\n  .row2 {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #7E878C;\r\n    line-height: 20px;\r\n    text-align: center;\r\n    font-style: normal;\r\n  }\r\n  .link {\r\n    color: #64afd5;\r\n    cursor: pointer;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentAccessarie.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\",class:_vm.inited ? (_vm.fullscreen ? 'wrapper1' : 'wrapper2') : ''},[_c('div',{staticClass:\"left\"},[_vm._m(0),_vm._v(\" \"),(_vm.isGuide)?_c('p',{staticClass:\"ellipsis-content course_name\"},[_vm._v(\"人生五大问题\")]):_c('p',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(_vm.courseBase.course_name))]),_vm._v(\" \"),(_vm.courseAuxiliary && _vm.courseAuxiliary.course_intro_auxiliary_pdf_show)?_c('div',{staticClass:\"start-btn\",on:{\"click\":_vm.toReadDetail}},[_vm._v(\"查看辅材\")]):_vm._e(),_vm._v(\" \"),(_vm.courseAuxiliary && _vm.courseAuxiliary.is_collect == 2 && _vm.courseContentGuideStatus === 1)?_c('div',{staticClass:\"collect\"},[_c('div',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"收藏\")])])]):_vm._e(),_vm._v(\" \"),(_vm.courseContentGuideStatus === 0)?_c('div',{staticClass:\"collect\",attrs:{\"id\":\"cultrueContent_step2_1\"}},[_vm._m(1)]):_vm._e(),_vm._v(\" \"),(\n        _vm.courseAuxiliary && _vm.courseAuxiliary.is_collect == 1  && _vm.courseContentGuideStatus === 1\n      )?_c('div',{staticClass:\"collect\"},[_c('div',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"取消收藏\")])])]):_vm._e()])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cover cover_none\"},[_c('p',{staticClass:\"ellipsis-content\"},[_vm._v(\"修学\"),_c('br'),_vm._v(\"辅助材料\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn\",attrs:{\"id\":\"cultrueContent_step2\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"收藏\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c2a3ad52\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentAccessarie.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c2a3ad52\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentAccessarie.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentAccessarie.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentAccessarie.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c2a3ad52\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentAccessarie.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-c2a3ad52\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentAccessarie.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div id=\"drawer\"\r\n    class=\"drawer\"\r\n    ref=\"drawer\"\r\n    :class=\"[fullscreen ? 'drawer1' : 'drawer2']\">\r\n    <el-tabs id=\"cultrueContent_step1\"\r\n      v-model=\"activeName\"\r\n      v-if=\"courseContentGuideStatus === 1\">\r\n      <el-tab-pane label=\"辅材\"\r\n        name=\"4\"\r\n        v-if=\"courseBase && courseBase.course_intro_auxiliary_pdf != ''\">\r\n        <span class=\"label\"\r\n          slot=\"label\">辅 材</span>\r\n        <CultrueContentAccessarie :courseBase=\"courseBase\"\r\n          :fullscreen=\"fullscreen\"/>\r\n      </el-tab-pane>\r\n      <!-- 配置了book_id或者官方课程简介且配置了课程介绍或者配置了pdf -->\r\n      <el-tab-pane label=\"文字\"\r\n        name=\"3\"\r\n        v-if=\"(courseBase && courseBase.course_intro_isedit == 2 && (courseBase.course_intro_pdf != '' || courseBase.course_intro !== '' )) || courseBase.book_id != ''\">\r\n        <span class=\"label\"\r\n          slot=\"label\">法 义</span>\r\n        <CultrueContentFont :courseBase=\"courseBase\"\r\n          :fullscreen=\"fullscreen\"/>\r\n      </el-tab-pane>\r\n      <el-tab-pane label=\"视频\"\r\n        name=\"1\"\r\n        v-if=\"videoLen\">\r\n        <span class=\"label\"\r\n          slot=\"label\">视 频</span>\r\n        <CultrueContentVideo :videos=\"videos\"/>\r\n      </el-tab-pane>\r\n      <el-tab-pane label=\"音频\"\r\n        name=\"2\"\r\n        v-if=\"audioLen\">\r\n        <span class=\"label\"\r\n          slot=\"label\">音 频</span>\r\n        <CultrueContentAudio\r\n          :activeName=\"activeName\"\r\n          :fullscreen=\"fullscreen\"\r\n          :audios=\"audios\" />\r\n      </el-tab-pane>\r\n    </el-tabs>\r\n    <el-tabs id=\"cultrueContent_step1\"\r\n      v-model=\"guideActiveName\"\r\n      v-if=\"courseContentGuideStatus === 0\">\r\n      <el-tab-pane label=\"辅材\"\r\n        name=\"4\">\r\n        <span class=\"label\"\r\n          slot=\"label\">辅 材</span>\r\n        <CultrueContentAccessarie :courseBase=\"courseBase\"\r\n          :isGuide=\"isGuide\"\r\n          :fullscreen=\"fullscreen\"/>\r\n      </el-tab-pane>\r\n      <el-tab-pane label=\"文字\"\r\n        name=\"1\">\r\n        <span class=\"label\"\r\n          slot=\"label\">法义</span>\r\n        <CultrueContentFont :courseContentGuideStatus=\"courseContentGuideStatus\"\r\n          :courseBase=\"courseBase\"\r\n          :isGuide=\"isGuide\"\r\n          :fullscreen=\"fullscreen\"/>\r\n      </el-tab-pane>\r\n      <el-tab-pane label=\"视频\"\r\n        name=\"2\">\r\n        <span class=\"label\"\r\n          slot=\"label\">视频</span>\r\n        <CultrueContentVideo />\r\n      </el-tab-pane>\r\n      <el-tab-pane label=\"音频\"\r\n        name=\"3\">\r\n        <span class=\"label\"\r\n          slot=\"label\">音频</span>\r\n        <CultrueContentAudio\r\n          :activeName=\"activeName\"\r\n          :fullscreen=\"fullscreen\" />\r\n      </el-tab-pane>\r\n    </el-tabs>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport CultrueContentFont from \"./CultrueContentFont.vue\";\r\nimport CultrueContentVideo from \"./CultrueContentVideo.vue\";\r\nimport CultrueContentAudio from \"./CultrueContentAudio.vue\";\r\nimport CultrueContentAccessarie from \"./CultrueContentAccessarie.vue\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\n\r\nexport default {\r\n  components: { CultrueContentFont, CultrueContentVideo, CultrueContentAudio, CultrueContentAccessarie },\r\n  props: {\r\n    courseBase: {\r\n      type: Object,\r\n      default: () => {},\r\n    },\r\n    fullscreen: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    courseContentGuideStatus: {\r\n      type: Number,\r\n      default: 1,\r\n    },\r\n    topHeight: {\r\n      type: Number,\r\n      default: 150,\r\n    },\r\n    titleHeight: {\r\n      type: Number,\r\n      default: 80,\r\n    },\r\n    drawerHeight: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    videoLen: {\r\n      type: Number,\r\n      default: 0,\r\n    },\r\n    audioLen: {\r\n      type: Number,\r\n      default: 0,\r\n    },\r\n    videos: {\r\n      type: Array,\r\n      default: () => []\r\n    },\r\n    audios: {\r\n      type: Array,\r\n      default: () => []\r\n    },\r\n    isGuide: {\r\n      type: Boolean,\r\n      default: false,\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      drawerClass: \"\",\r\n      activeName: \"3\",\r\n      guideActiveName: \"1\",\r\n      changeCourseId: true,\r\n      // videos: [],\r\n      // audios: []\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        this.changeCourseId = true;\r\n        this.contentScroll();\r\n      },\r\n      immediate: true,\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if(this.changeCourseId) {\r\n          this.changeCourseId = false;\r\n          const course_default_type = v.course_default_type;\r\n          this.getActiveName(course_default_type);\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n    topHeight: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        this.$nextTick(() => {\r\n          if(this.$refs.drawer) {\r\n            this.$refs.drawer.style.top = this.topHeight + \"px\";\r\n            this.$refs.drawer.style.height = this.drawerHeight;\r\n            this.$refs.drawer.style.transition = \"all 0.5s ease-in-out\";\r\n          }\r\n        })\r\n\r\n      },\r\n      immediate: true,\r\n    },\r\n  },\r\n  methods: {\r\n    getActiveName() {\r\n      const course_default_type = this.courseBase.course_default_type;\r\n      if(course_default_type == 1 && this.videoLen > 0) {\r\n        this.activeName = course_default_type + \"\";\r\n      } else if(course_default_type == 1 && this.videoLen == 0 && this.audioLen > 0) {\r\n        this.activeName = \"2\";\r\n      } else if(course_default_type == 1 && this.videoLen == 0 && this.audioLen == 0 && ((this.courseBase && this.courseBase.course_intro_isedit == 2 && (this.courseBase.course_intro_pdf != '' || this.courseBase.course_intro !== '' )) || this.courseBase.book_id != '')) {\r\n        this.activeName = \"3\";\r\n      } else if(course_default_type == 1 && this.courseBase.course_intro_auxiliary_pdf != '') {\r\n        this.activeName = \"4\";\r\n      }  else if(course_default_type == 2 && this.audioLen > 0) {\r\n        this.activeName = course_default_type + \"\";\r\n      } else if(course_default_type == 2 && this.audioLen == 0 && this.videoLen > 0) {\r\n        this.activeName = \"1\";\r\n      } else if(course_default_type == 2 && this.audioLen == 0 && this.videoLen == 0 && ((this.courseBase && this.courseBase.course_intro_isedit == 2 && (this.courseBase.course_intro_pdf != '' || this.courseBase.course_intro !== '' )) || this.courseBase.book_id != '')) {\r\n        this.activeName = \"3\";\r\n      } else if(course_default_type == 2 && this.courseBase.course_intro_auxiliary_pdf != '') {\r\n        this.activeName = \"4\";\r\n      } else if(course_default_type == 3 && ((this.courseBase && this.courseBase.course_intro_isedit == 2 && (this.courseBase.course_intro_pdf != '' || this.courseBase.course_intro !== '' )) || this.courseBase.book_id != '')) {\r\n        this.activeName = course_default_type + \"\";\r\n      } else if(course_default_type == 3 && this.videoLen > 0) {\r\n        this.activeName = \"1\";\r\n      } else if(course_default_type == 3 && this.audioLen > 0) {\r\n        this.activeName = \"2\";\r\n      } else if(course_default_type == 3 && this.courseBase.course_intro_auxiliary_pdf != '') {\r\n        this.activeName = \"4\";\r\n      } else {\r\n        this.activeName = course_default_type + \"\";\r\n      }\r\n\r\n    },\r\n    scrollContentBox(isDown, scrollTop) {\r\n      if(!this.courseBase.course_intro_short) {\r\n        return;\r\n      }\r\n      if(!(isDown === false || isDown === true)) {\r\n        return;\r\n      }\r\n      if (isDown && scrollTop <= 200) {\r\n        this.$refs.drawer.style.height =\r\n          \"calc(100% - \" + this.titleHeight + \"px)\";\r\n        this.$refs.drawer.style.top = this.titleHeight + \"px\";\r\n        this.$refs.drawer.style.transition = \"all 0.5s ease-in-out\";\r\n      } else if (!isDown && scrollTop <= 200) {\r\n        this.$refs.drawer.style.height =\r\n          \"calc(100% - \" + this.topHeight + \"px)\";\r\n        this.$refs.drawer.style.top = this.topHeight + \"px\";\r\n        this.$refs.drawer.style.transition = \"all 0.5s ease-in-out\";\r\n      }\r\n\r\n      if(this.timeValueSetShowFayi) {\r\n        clearTimeout(this.timeValueSetShowFayi);\r\n        this.timeValueSetShowFayi = null;\r\n      }\r\n      this.timeValueSetShowFayi = setTimeout(() => {\r\n        this.$emit(\"setShowFayi\", !isDown);\r\n        clearTimeout(this.timeValueSetShowFayi);\r\n        this.timeValueSetShowFayi = null;\r\n      }, 100)\r\n    },\r\n    contentScroll() {\r\n      const drawer = document.getElementById(\"drawer\");\r\n      if (drawer) {\r\n        drawer.addEventListener(\"wheel\", (e) => {\r\n          const isDown = e.deltaY > 0; // 滚轮向下\r\n          const scrollTop = drawer.scrollTop;\r\n          this.scrollContentBox(isDown, scrollTop);\r\n        });\r\n        // 在移动端，使用touch模拟事件wheel\r\n        let startY, startTime, endY;\r\n\r\n        drawer.addEventListener(\"touchmove\", (event) => {\r\n          endY = event.touches[0].pageY;\r\n          if(!startY) {\r\n            startY = endY;\r\n          }\r\n          const now = +new Date();\r\n          let isDown = null;\r\n          const scrollTop = drawer.scrollTop;\r\n          if(startY > endY) {\r\n            isDown = true;\r\n          }\r\n          else if(startY < endY) {\r\n            isDown = false;\r\n          }\r\n          console.log(\"scrollContentBox\");\r\n          this.scrollContentBox(isDown, scrollTop);\r\n        });\r\n      }\r\n    },\r\n  },\r\n  beforeDestroy() {\r\n    const drawer = document.getElementById(\"drawer\");\r\n    if (drawer) {\r\n      drawer.removeEventListener(\"wheel\", true);\r\n      drawer.removeEventListener(\"touchmove\", true);\r\n    }\r\n  },\r\n  mounted() {\r\n    console.log(\"mountedmmm:\", )\r\n    this.contentScroll();\r\n    if (this.courseBase) {\r\n      this.getActiveName(this.courseBase.course_default_type);\r\n    }\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.drawer {\r\n  position: absolute;\r\n  height: 100%;\r\n  height: calc(100% - 156px);\r\n  top: 156px;\r\n  left: 0;\r\n  width: 100%;\r\n  background: rgba(250, 250, 250, 0.3);\r\n  box-shadow: 0 0 166px 0 rgba(0, 0, 0, 0.15);\r\n  border-radius: 16px 16px 0px 0px;\r\n}\r\n.drawer1 {\r\n  /deep/ .el-tabs__header {\r\n    -webkit-animation: drawer1Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: drawer1Ani 0.5s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n}\r\n@-webkit-keyframes drawer1Ani {\r\n  0% {\r\n    padding-left: 39px;\r\n  }\r\n  100% {\r\n    padding-left: 123px;\r\n  }\r\n}\r\n.label {\r\n  padding: 0 10px;\r\n}\r\n.contentDown {\r\n  -webkit-animation: contentDownAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: contentDownAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes contentDownAni {\r\n  0% {\r\n    height: calc(100% - 197px);\r\n    top: 197px;\r\n  }\r\n  100% {\r\n    height: calc(100% - 105px);\r\n    top: 105px;\r\n  }\r\n}\r\n.contentUp {\r\n  -webkit-animation: contentUpAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: contentUpAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes contentUpAni {\r\n  0% {\r\n    height: calc(100% - 105px);\r\n    top: 105px;\r\n  }\r\n  100% {\r\n    height: calc(100% - 197px);\r\n    top: 197px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentDrawer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"drawer\",staticClass:\"drawer\",class:[_vm.fullscreen ? 'drawer1' : 'drawer2'],attrs:{\"id\":\"drawer\"}},[(_vm.courseContentGuideStatus === 1)?_c('el-tabs',{attrs:{\"id\":\"cultrueContent_step1\"},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[(_vm.courseBase && _vm.courseBase.course_intro_auxiliary_pdf != '')?_c('el-tab-pane',{attrs:{\"label\":\"辅材\",\"name\":\"4\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"辅 材\")]),_vm._v(\" \"),_c('CultrueContentAccessarie',{attrs:{\"courseBase\":_vm.courseBase,\"fullscreen\":_vm.fullscreen}})],1):_vm._e(),_vm._v(\" \"),((_vm.courseBase && _vm.courseBase.course_intro_isedit == 2 && (_vm.courseBase.course_intro_pdf != '' || _vm.courseBase.course_intro !== '' )) || _vm.courseBase.book_id != '')?_c('el-tab-pane',{attrs:{\"label\":\"文字\",\"name\":\"3\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"法 义\")]),_vm._v(\" \"),_c('CultrueContentFont',{attrs:{\"courseBase\":_vm.courseBase,\"fullscreen\":_vm.fullscreen}})],1):_vm._e(),_vm._v(\" \"),(_vm.videoLen)?_c('el-tab-pane',{attrs:{\"label\":\"视频\",\"name\":\"1\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"视 频\")]),_vm._v(\" \"),_c('CultrueContentVideo',{attrs:{\"videos\":_vm.videos}})],1):_vm._e(),_vm._v(\" \"),(_vm.audioLen)?_c('el-tab-pane',{attrs:{\"label\":\"音频\",\"name\":\"2\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"音 频\")]),_vm._v(\" \"),_c('CultrueContentAudio',{attrs:{\"activeName\":_vm.activeName,\"fullscreen\":_vm.fullscreen,\"audios\":_vm.audios}})],1):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.courseContentGuideStatus === 0)?_c('el-tabs',{attrs:{\"id\":\"cultrueContent_step1\"},model:{value:(_vm.guideActiveName),callback:function ($$v) {_vm.guideActiveName=$$v},expression:\"guideActiveName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"辅材\",\"name\":\"4\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"辅 材\")]),_vm._v(\" \"),_c('CultrueContentAccessarie',{attrs:{\"courseBase\":_vm.courseBase,\"isGuide\":_vm.isGuide,\"fullscreen\":_vm.fullscreen}})],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"文字\",\"name\":\"1\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"法义\")]),_vm._v(\" \"),_c('CultrueContentFont',{attrs:{\"courseContentGuideStatus\":_vm.courseContentGuideStatus,\"courseBase\":_vm.courseBase,\"isGuide\":_vm.isGuide,\"fullscreen\":_vm.fullscreen}})],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"视频\",\"name\":\"2\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"视频\")]),_vm._v(\" \"),_c('CultrueContentVideo')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"音频\",\"name\":\"3\"}},[_c('span',{staticClass:\"label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"音频\")]),_vm._v(\" \"),_c('CultrueContentAudio',{attrs:{\"activeName\":_vm.activeName,\"fullscreen\":_vm.fullscreen}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-512d4e34\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentDrawer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-512d4e34\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentDrawer.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentDrawer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentDrawer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-512d4e34\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentDrawer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-512d4e34\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentDrawer.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n    <div class=\"main-content big-view bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\">\r\n      <div class=\"box\" id=\"study-log-box\">\r\n        <div class=\"title\" @click=\"back\">\r\n          <img class=\"think_back\"\r\n              src=\"@/assets/img/think_back.svg\" />\r\n            {{ app_type == 2 ? \"修学日志\" : \"学习日志\" }}\r\n        </div>\r\n        <div class=\"content-box1\">\r\n          <div class=\"swiper\">\r\n            <swiper ref=\"mySwiperTab\"\r\n              :options=\"swiperOptions1\">\r\n              <swiper-slide v-for=\"(item, i) in slidesTopClass\"\r\n                :key=\"i\"\r\n                :id=\"`slide1${i}`\">\r\n                {{ item.course_class_name }}\r\n              </swiper-slide>\r\n            </swiper>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"content-box\">\r\n          <div class=\"swiper swiper1\" id=\"swiper1\">\r\n            <swiper ref=\"mySwiper\"\r\n              :options=\"swiperOptions\">\r\n              <swiper-slide v-for=\"(item, i) in slides\"\r\n                :key=\"i\"\r\n                :id=\"`slide${i}`\">\r\n                <div class=\"card\"></div>\r\n                <div class=\"card1\"></div>\r\n                <div class=\"evp before\"\r\n                  :id=\"`elBefore${i}`\"\r\n                  :class=\"item.status == 1 ? 'sel' : ''\">\r\n                  <div>\r\n                    <div class=\"top classCompleteRatio\">\r\n                      <span class=\"pcont\">{{ item.course_class_name }}</span>\r\n                      <div class=\"logRatio\">\r\n                        <span>日志&nbsp;&nbsp;</span>\r\n                        <span class=\"complete\">{{ item.complete_course }}</span>\r\n                        <span>{{ \"/\" + item.course_count }}</span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </swiper-slide>\r\n              <div class=\"swiper-pagination\"\r\n                slot=\"pagination\"></div>\r\n            </swiper>\r\n            <div class=\"right-btn-bg left-btn-bg\">\r\n              <div class=\"btns\">\r\n                <div class=\"swiper-button-prev\"\r\n                  :class=\"!prevFlag ? 'opac' : ''\"\r\n                  @click=\"prev\"></div>\r\n              </div>\r\n            </div>\r\n            <div class=\"right-btn-bg\">\r\n              <div class=\"btns\"\r\n                :style=\"{ right: $px2rem(0) }\">\r\n                <div class=\"swiper-button-next\"\r\n                  :class=\"!nextFlag ? 'opac' : ''\"\r\n                  @click=\"next\"></div>\r\n              </div>\r\n              <!-- <div class=\"btns btnsbg\"\r\n              :style=\"{ right: $px2rem(15) }\"></div> -->\r\n            </div>\r\n\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"content-box mask\"\r\n          v-if=\"showMask\">\r\n          <div class=\"title-box title3\">\r\n            <div class=\"title\"\r\n              @click=\"goBack\">\r\n              <img class=\"think_back\"\r\n                src=\"@/assets/img/think_back.svg\" />\r\n              {{ app_type == 2 ? \"修学日志\" : \"学习日志\" }}\r\n            </div>\r\n            <div class=\"search\"\r\n              v-if=\"!showDetail\">\r\n              <el-input placeholder=\"搜索\"\r\n                prefix-icon=\"el-icon-search\"\r\n                type=\"text\"\r\n                v-model=\"keywords\"\r\n                @input=\"changeSearch\">\r\n              </el-input>\r\n            </div>\r\n          </div>\r\n\r\n          <div>\r\n            <div class=\"content-box1 content-box2 course_class_name1\">\r\n              <span>{{ course_class_name }}</span>\r\n              <div class=\"btns1\">\r\n                <img v-if=\"showList\"\r\n                  class=\"list_img\"\r\n                  @click=\"showListFn(false)\"\r\n                  src=\"@/assets/img/course_swiper.svg\" />\r\n                <img v-else\r\n                  class=\"list_img\"\r\n                  src=\"@/assets/img/course_swiper_sel.svg\" />\r\n                <img v-if=\"!showList\"\r\n                  class=\"card_img\"\r\n                  @click=\"showListFn(true)\"\r\n                  src=\"@/assets/img/course_list.svg\" />\r\n                <img v-else\r\n                  class=\"card_img\"\r\n                  src=\"@/assets/img/course_list_sel.svg\" />\r\n              </div>\r\n            </div>\r\n\r\n            <div style=\"height: 100%;position: fixed;width: 100%;\">\r\n              <div ref=\"swiper3\"\r\n                class=\"swiper swiper3\"\r\n                id=\"swiper3\"\r\n                :class=\"[canHover ? 'canHover' : '', swiperScrollClass]\">\r\n                <div v-if=\"showMask\"\r\n                  ref=\"cover\"\r\n                  class=\"cover cover1\"\r\n                  id=\"cover1\"\r\n                  @click=\"hideMask\"\r\n                  :class=\"coverStatus\">\r\n                  <div>\r\n                    <div class=\"top classCompleteRatio\">\r\n                      <span class=\"pcont\" id=\"pcont\" >{{ slides[clickIndex].course_class_name }}</span>\r\n                      <div class=\"logRatio\" id=\"logRatio\">\r\n                        <span>日志&nbsp;&nbsp;</span>\r\n                        <span class=\"complete\">{{ slides[clickIndex].complete_course }}</span>\r\n                        <span>{{ \"/\" + slides[clickIndex].course_count }}</span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <div :class=\"`swiper-wrapper ${studyLogGuideMode === 0 ? 'guideBox' : ''}`\" id=\"slidesClassTotalSwiper\" ref=\"slidesClassTotalSwiper\">\r\n                  <div v-show=\"showMask\"\r\n                    id=\"coverList\"\r\n                    style=\"cursor: pointer;z-index: 99\"\r\n                    :class=\"coverListStatus\"\r\n                    @click=\"hideMask\"\r\n                    class=\"cover\">\r\n                    <div>\r\n                      <div class=\"top classCompleteRatio\">\r\n                        <span class=\"pcont\">{{ slides[clickIndex].course_class_name }}</span>\r\n                        <div class=\"logRatio\">\r\n                          <span>日志&nbsp;&nbsp;</span>\r\n                          <span class=\"complete\">{{ slides[clickIndex].complete_course }}</span>\r\n                          <span>{{ \"/\" + slides[clickIndex].course_count }}</span>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"swiper-slide-sub\" v-for=\"(item, i) in slidesClassTotal\"  :key=\"i\"\r\n                    :id=\"`slide${i}`\" :style=\"{\r\n                      backgroundImage:\r\n                        'url(' + require('@/assets/img/cardBg3.png') + ')',\r\n                      backgroundSize: '100% 100%'\r\n                    }\">\r\n                    <div class=\"evp before swiping\"\r\n                      :class=\"[]\"\r\n                      :id=\"`elBefore${i}`\"\r\n                      @click=\"toDetail(i, $event, item)\">\r\n                      <div class=\"top\">\r\n                        <div class=\"content\">\r\n                          <div class=\"course_class_name\">\r\n                            <span v-if=\"item.course_class_name1\">{{  item.course_class_name1 + \"&nbsp;&nbsp;\" }}</span>\r\n                            <span>{{  item.course_class_name2 }}</span>\r\n                          </div>\r\n                          <span class=\"ellipsis-content course_name\">{{ item.course_name }}\r\n                          </span>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">思维导图</div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.mindmap_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.mindmap_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">问题意识</div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.question_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.question_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">\r\n                              {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n                            </div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.solve_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.solve_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">\r\n                              观念的禅修\r\n                            </div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.guannian_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.guannian_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">\r\n                              心态的禅修\r\n                            </div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.xintai_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.xintai_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">发布心得</div>\r\n                            <div class=\"item item-value item-value1 experience_num1\" :class=\"[item && item.experience_num > 0 ? 'experience_num' : '']\">\r\n                              {{ item.experience_num }}\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <!-- <swiper ref=\"slidesClassTotalSwiper\"\r\n                  id=\"slidesClassTotalSwiper\"\r\n                  :options=\"swiperOptions3\">\r\n                  <div v-if=\"showMask\"\r\n                    id=\"coverList\"\r\n                    style=\"display: none; cursor: pointer;z-index: 99\"\r\n                    :class=\"coverListStatus\"\r\n                    @click=\"hideMask\"\r\n                    class=\"cover\">\r\n                    <div>\r\n                      <div class=\"top classCompleteRatio\">\r\n                        <span class=\"pcont\">{{ slides[clickIndex].course_class_name }}</span>\r\n                        <div class=\"logRatio\">\r\n                          <span>日志&nbsp;&nbsp;</span>\r\n                          <span class=\"complete\">{{ slides[clickIndex].complete_course }}</span>\r\n                          <span>{{ \"/\" + slides[clickIndex].course_count }}</span>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <swiper-slide v-for=\"(item, i) in slidesClassTotal\"\r\n                    :key=\"i\"\r\n                    :id=\"`slide${i}`\"\r\n                    class=\"swiper-slide-sub no-swiping\"\r\n                    :style=\"{\r\n                      backgroundImage:\r\n                        'url(' + require('@/assets/img/cardBg3.png') + ')',\r\n                      backgroundSize: '100% 100%'\r\n                    }\">\r\n                    <div class=\"evp before swiping\"\r\n                      :class=\"[]\"\r\n                      :id=\"`elBefore${i}`\"\r\n                      @click=\"toDetail(i, $event)\">\r\n                      <div class=\"top\">\r\n                        <div class=\"content\">\r\n                          <div class=\"course_class_name\">\r\n                            {{\r\n                              item.course_class_name1 +\r\n                              \"&nbsp;&nbsp;\" +\r\n                              item.course_class_name2\r\n                            }}\r\n                          </div>\r\n                          <span class=\"ellipsis-content course_name\">{{ item.course_name }}\r\n                          </span>\r\n                          <div v-if=\"\r\n                              showDetail &&\r\n                                currentIndex == i &&\r\n                                !data.course_intro_short\r\n                            \"\r\n                            class=\"course_intro2 course_null \">\r\n                            <p class=\"none\">暂无数据</p>\r\n                          </div>\r\n                          <span v-else\r\n                            v-html=\"data.course_intro_short\"\r\n                            class=\"course_intro2 22\">\r\n                          </span>\r\n                          <div v-if=\"showDetail && currentIndex == i\"\r\n                            class=\"course_intro2_border2 course_intro2_border\"></div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">思维导图</div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.mindmap_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.mindmap_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">问题意识</div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.mindmap_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.question_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">\r\n                              {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n                            </div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.mindmap_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.solve_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">\r\n                              观念的禅修\r\n                            </div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.mindmap_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.guannian_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">\r\n                              心态的禅修\r\n                            </div>\r\n                            <div class=\"item item-value item-value1\"\r\n                              :class=\"\r\n                                item.mindmap_complete == 1 ? 'complete' : ''\r\n                              \">\r\n                              <span v-if=\"item.xintai_complete == 2\">未完成</span>\r\n                              <img v-else\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"items\">\r\n                            <div class=\"item item-name item-name1\">发布心得</div>\r\n                            <div class=\"item item-value item-value1\">\r\n                              {{ item.experience_num }}\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </swiper-slide>\r\n                  <div class=\"swiper-pagination3\"\r\n                    slot=\"pagination\"></div>\r\n                </swiper> -->\r\n                <div class=\"right-btn-bg1\"\r\n                  v-if=\"showDetail\"></div>\r\n                <div v-if=\"showLeftBtnList && !showDetail\" class=\"swiper-button prev-swiper-button\"\r\n                    :class=\"!prevFlag2 ? 'opac' : ''\"\r\n                    @click=\"prev2\"></div>\r\n                <div v-if=\"!showDetail && !showList\"\r\n                  class=\"btns2\"\r\n                  style=\"right: 0\">\r\n                  <div class=\"swiper-button\"\r\n                    :class=\"!nextFlag2 ? 'opac' : ''\"\r\n                    @click=\"next2\"></div>\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div v-if=\"showDetail\"\r\n            class=\"detailWrapper\">\r\n            <div :style=\"{\r\n                position: 'absolute',\r\n                width: $px2rem(224),\r\n                zIndex: 999\r\n              }\"\r\n              id=\"completeData\"\r\n              @click=\"toCultureContent\">\r\n              <div class=\"evp before swiping\">\r\n                <div class=\"top\">\r\n                  <div class=\"content\">\r\n                    <div class=\"course_class_name\">\r\n                       <span v-if=\"completeData.course_class_name1\">{{  completeData.course_class_name1 + \"&nbsp;&nbsp;\" }}</span>\r\n                       <span>{{  completeData.course_class_name2 }}</span>\r\n                    </div>\r\n                    <span class=\"ellipsis-content course_name\">{{ completeData.course_name }}\r\n                    </span>\r\n                    <div v-if=\"\r\n                        showDetail &&\r\n                          !data.course_intro_short\r\n                      \"\r\n                      class=\"course_intro2 course_null \">\r\n                      <p class=\"none\">暂无数据</p>\r\n                    </div>\r\n                    <span v-else\r\n                      v-html=\"data.course_intro_short\"\r\n                      class=\"course_intro2 22\">\r\n                    </span>\r\n                    <div v-if=\"showDetail\"\r\n                      class=\"course_intro2_border2 course_intro2_border\"></div>\r\n                    <div class=\"items\">\r\n                      <div class=\"item item-name item-name1\">思维导图</div>\r\n                      <div class=\"item item-value item-value1\"\r\n                        :class=\"\r\n                        completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                        \">\r\n                        <span v-if=\"completeData.mindmap_complete == 2\">未完成</span>\r\n                        <img v-else\r\n                          src=\"@/assets/img/studylog_done.svg\" />\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"items\">\r\n                      <div class=\"item item-name item-name1\">问题意识</div>\r\n                      <div class=\"item item-value item-value1\"\r\n                        :class=\"\r\n                        completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                        \">\r\n                        <span v-if=\"completeData.question_complete == 2\">未完成</span>\r\n                        <img v-else\r\n                          src=\"@/assets/img/studylog_done.svg\" />\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"items\">\r\n                      <div class=\"item item-name item-name1\">\r\n                        {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n                      </div>\r\n                      <div class=\"item item-value item-value1\"\r\n                        :class=\"\r\n                        completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                        \">\r\n                        <span v-if=\"completeData.solve_complete == 2\">未完成</span>\r\n                        <img v-else\r\n                          src=\"@/assets/img/studylog_done.svg\" />\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"items\">\r\n                      <div class=\"item item-name item-name1\">\r\n                        观念的禅修\r\n                      </div>\r\n                      <div class=\"item item-value item-value1\"\r\n                        :class=\"\r\n                        completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                        \">\r\n                        <span v-if=\"completeData.guannian_complete == 2\">未完成</span>\r\n                        <img v-else\r\n                          src=\"@/assets/img/studylog_done.svg\" />\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"items\">\r\n                      <div class=\"item item-name item-name1\">\r\n                        心态的禅修\r\n                      </div>\r\n                      <div class=\"item item-value item-value1\"\r\n                        :class=\"\r\n                        completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                        \">\r\n                        <span v-if=\"completeData.xintai_complete == 2\">未完成</span>\r\n                        <img v-else\r\n                          src=\"@/assets/img/studylog_done.svg\" />\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"items\">\r\n                      <div class=\"item item-name item-name1\">发布心得</div>\r\n                      <div class=\"item item-value item-value1 experience_num1\">\r\n                        {{ completeData.experience_num || 0 }}\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              </div>\r\n            <div class=\"detail\"\r\n              id=\"completeDetail\"\r\n              v-if=\"showLogDetail\">\r\n              <Detail ref=\"detail\"\r\n                :studyLogGuideMode=\"studyLogGuideMode\"\r\n                :data=\"data\" />\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </template>\r\n  <script>\r\n  import \"swiper/dist/css/swiper.css\";\r\n  import { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\n  import {\r\n    getClassCompleteRatio,\r\n    getCourseCompleteData,\r\n    getStudyCourseTopClass,\r\n    getUserGuideStatus,\r\n    getUserStudyLogDetail,\r\n    setUserGuideStatus\r\n  } from \"@/api/index\";\r\n  import { EventBus } from \"@/utils/eventBus\";\r\n  import CompleteData from \"./CompleteData.vue\";\r\n  import NoData from \"@/components/NoData\";\r\n  import Detail from \"./Detail.vue\";\r\n  import Box from \"@/components/Box\";\r\n  import { throttle } from \"@/utils/util\";\r\n  import introJs from \"intro.js\";\r\n\r\n  export default {\r\n    name: \"StudyLog\",\r\n    components: {\r\n      swiper,\r\n      swiperSlide,\r\n      CompleteData,\r\n      Detail,\r\n      Box,\r\n      NoData,\r\n    },\r\n    data() {\r\n      return {\r\n        studyLogGuideMode: 1,\r\n        app_type: 2,\r\n        showMask: false,\r\n        fullscreen: false,\r\n        slides: [],\r\n        slidesTopClass: [],\r\n        slidesClass: [],\r\n        slidesClassTotal: [],\r\n        guideSlidesClassTotal: {\r\n          course_tag_name: \"\",\r\n          course_name: \"人生五大问题\",\r\n          course_id: \"1\",\r\n          course_intro_short:\r\n            \"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。\",\r\n          course_isuseradd: \"3\",\r\n          course_class_name1: \"同喜班\",\r\n          course_class_name2: \"信仰篇\",\r\n          mindmap: [\r\n            {\r\n              mindmap_id: \"-1\",\r\n              mindmap_content:\r\n                '[{\"node\":[{\"node\":[{\"node\":[{\"node\":[],\"name\":\"禅是超越任何形式的，坐只是契入觉性的一种辅助手段\",\"lock\":\"2\"}],\"name\":\"六祖推辞\",\"lock\":2},{\"node\":[{\"node\":[],\"name\":\"1、打坐与见性的关系\",\"lock\":2},{\"node\":[],\"name\":\"5、“不生不灭”与外道不同之处\",\"lock\":2},{\"node\":[],\"name\":\"3、烦恼与智慧的关系\",\"lock\":2},{\"node\":[],\"name\":\"六祖批判：以“坐”为目的的打坐\",\"lock\":\"2\"},{\"node\":[],\"name\":\"禅可以在任何形式、任何一个当下去体认\",\"lock\":\"2\"},{\"node\":[],\"name\":\"4、什么是大乘见解\",\"lock\":\"2\"},{\"node\":[],\"name\":\"2、明与暗的关系\",\"lock\":\"2\"}],\"name\":\"使臣薛简请教佛法\",\"lock\":2}],\"name\":\"一、驰诏迎请\",\"lock\":2},{\"node\":[],\"name\":\"二、中宗赐衣钵\",\"lock\":2}],\"name\":\"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来\",\"lock\":2},{\"node\":[],\"name\":\"第十品《付嘱品》\",\"lock\":2}]',\r\n            },\r\n          ],\r\n          question_solve: [\r\n            {\r\n              course_solve_question_num: \"5\",\r\n              progress_solve_baituo_num: \"111\",\r\n              progress_solve_daoli_num: \"20\",\r\n              progress_solve_shishi_num: \"111\",\r\n            },\r\n          ],\r\n        },\r\n        course_class_name: \"\",\r\n        carouselIndex: 0,\r\n        that: this,\r\n        isClickCourse: true,\r\n        btitlesize: 0,\r\n        bratiosize: 0,\r\n        swiperOptions1: {\r\n          slidesPerView: 5,\r\n          spaceBetween: 30,\r\n          centeredSlides: true,\r\n          graCursor: true,\r\n          // pagination: {\r\n          //   el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          //   clickable: true, //轮播按钮支持点击\r\n          // },\r\n          slidesPerView: \"auto\",\r\n          width: window.innerWidth,\r\n          on: {\r\n            tap: (e) => {\r\n              let swiper = this.$refs.mySwiperTab.swiper;\r\n              console.log(\"mySwiperTab:\",swiper.clickedIndex, swiper.activeIndex);\r\n              // 点击一级课程，请求二级课程\r\n              if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n                const topClass = this.slidesTopClass[swiper.clickedIndex]\r\n                if(this.app_type == 2 && topClass.course_class_domestic == 2 && !this.canAccessYouTube) {\r\n                  this.$message.warning(\"所在区域无法阅览该内容\")\r\n                  return;\r\n                }\r\n                this.clickSwiperTab(swiper.clickedIndex);\r\n              } else if (swiper.activeIndex || swiper.activeIndex === 0) {\r\n                const topClass = this.slidesTopClass[swiper.activeIndex]\r\n                if(this.app_type == 2 && topClass.course_class_domestic == 2 && !this.canAccessYouTube) {\r\n                  this.$message.warning(\"所在区域无法阅览该内容\")\r\n                  return;\r\n                }\r\n                this.swiperTab.realIndex = swiper.activeIndex;\r\n                this.swiperTab.slideTo(swiper.activeIndex);\r\n                let slides = swiper.slides;\r\n                for (let i = 0; i < slides.length; i++) {\r\n                  const slide = slides[i];\r\n                  slide.style.transform = `scale(${1})`;\r\n                }\r\n                swiper.slides[\r\n                  swiper.activeIndex\r\n                ].style.transform = `scale(${1.2})`;\r\n                this.course_class_id =\r\n                  this.slidesTopClass[swiper.activeIndex].course_class_id;\r\n                  if (this.course_class_id) {\r\n                    this.getClassCompleteRatio();\r\n                  }\r\n              }\r\n\r\n            },\r\n            slideChange: () => {\r\n              console.log(\"slideChange:\", this.swiperTab.activeIndex)\r\n              const topClass = this.slidesTopClass[this.swiperTab.activeIndex]\r\n              if(this.app_type == 2 && topClass.course_class_domestic == 2 && !this.canAccessYouTube) {\r\n                this.$message.warning(\"所在区域无法阅览该内容\")\r\n                const currentTopClassIndex = this.currentTopClassIndex || 0;\r\n                this.swiperTab.realIndex = currentTopClassIndex;\r\n                this.swiperTab.activeIndex = currentTopClassIndex;\r\n                this.swiperTab.slideTo(currentTopClassIndex);\r\n                return;\r\n              }\r\n              this.currentTopClassIndex = this.swiperTab.activeIndex\r\n              this.course_class_id =\r\n                this.slidesTopClass[this.swiperTab.activeIndex].course_class_id;\r\n              this.getClassCompleteRatio();\r\n            },\r\n          },\r\n        },\r\n        swiperOptions: {\r\n          mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n          slidesPerView: 5,\r\n          spaceBetween: 20,\r\n          centeredSlides: true,\r\n          graCursor: true,\r\n          pagination: {\r\n            el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n            clickable: true, //轮播按钮支持点击\r\n          },\r\n          slidesPerView: \"auto\",\r\n          width: window.innerWidth,\r\n          on: {\r\n            tap: (e) => {\r\n              EventBus.$emit('STUDYLOG_IN_BOOK_LIST', false);\r\n              this.isClickCourse = true;\r\n              let index = 0;\r\n              let swiper = this.$refs.mySwiper.swiper;\r\n              let slide = null;\r\n              // 点击小图, 大图对应切换\r\n              if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n                index = swiper.clickedIndex;\r\n                this.clickSlidesClassTotal(index);\r\n              }\r\n            },\r\n            slideChange: () => {\r\n              let swiper = this.$refs.mySwiper.swiper;\r\n              console.log(\r\n                \"slideChange:\",\r\n                swiper.clickedIndex,\r\n                swiper.activeIndex\r\n              );\r\n              // 点击小图, 大图对应切换\r\n              this.swiper.realIndex = swiper.activeIndex;\r\n              let slides = swiper.slides;\r\n              for (let i = 0; i < slides.length; i++) {\r\n                const slide = slides[i];\r\n                slide.style.transform = `scale(${1})`;\r\n              }\r\n              swiper.slides[swiper.activeIndex].style.transform = `scale(${1.2})`;\r\n              this.changeFlag(swiper.activeIndex);\r\n            },\r\n          },\r\n        },\r\n        swiperOptions3: {\r\n          mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n          slidesPerView: 5,\r\n          spaceBetween: 40,\r\n          centeredSlides: false,\r\n          noSwiping: true,\r\n          noSwipingClass: \"no-swiping\",\r\n          graCursor: true,\r\n          pagination: {\r\n            el: \".swiper-pagination3\", //与slot=\"pagination\"处 class 一致\r\n            clickable: true, //轮播按钮支持点击\r\n          },\r\n          slidesPerView: \"auto\",\r\n          on: {\r\n            init: () => {\r\n              this.init();\r\n            },\r\n            slideChange: () => {\r\n              // console.log(\"slideChange\", this.showList);\r\n              // console.log(this.$refs.slidesClassTotalSwiper.swiper.activeIndex);\r\n              // if (this.showList && this.$refs.slidesClassTotalSwiper.swiper) {\r\n              //   // this.$refs.slidesClassTotalSwiper.swiper.slideTo(0);\r\n              // }\r\n            },\r\n          },\r\n        },\r\n        prevFlag: false,\r\n        nextFlag: true,\r\n        clickIndex: null,\r\n        prevFlag2: false,\r\n        nextFlag2: true,\r\n        clickIndex2: null,\r\n        selectData: null,\r\n        selectIndex: null,\r\n        courseId: null,\r\n        isActivated: true,\r\n        course_class_id: \"\", // 选中课程的一级分类id\r\n        course_class_study1: \"\",  //当前课程一级分类id\r\n        course_class_study2: \"\", // 当前课程二级分类id\r\n        coverStatus: \"\",\r\n        coverListStatus: \"\",\r\n        showList: false,\r\n        needAni: false,\r\n        showLeftBtnList: false,\r\n        canHover: false,\r\n        completeData: {},\r\n        data: {},\r\n        showDetail: false,\r\n        showLogDetail: false,\r\n        aniFinish: true,\r\n        currentLeft: 0,\r\n        currentTop: 0,\r\n        currentWidth: 0,\r\n        currentHeight: 0,\r\n        currentIndex: 0,\r\n        swiper3ScrollTop: false,\r\n        originPosition: true,\r\n        swiperScrollClass: \"\",\r\n        keywords: \"\",\r\n        throttledScroll: throttle(this.scrollSwiper3Cards, 400),\r\n        throttledScrollList: throttle(this.scrollSwiper3List, 100),\r\n        throttledHandleWheel: throttle(this.handleWheel, 100),\r\n        // shouldInit为true表示：点击头部跳转后返回， currentSlide为当前的slide\r\n        currentSlide: null,\r\n        shouldInit: false,\r\n        initialWidth: 0,\r\n        initialHeight: 0,\r\n        isResizing: false,\r\n        checkInterval: null,\r\n        startX: 0,\r\n        endX: 0,\r\n        startTime: 0,\r\n        startY: 0,\r\n        endY: 0,\r\n        currentTopClassIndex: null\r\n      };\r\n    },\r\n    computed: {\r\n      swiper() {\r\n        return this.$refs.mySwiper.swiper;\r\n      },\r\n      course_id() {\r\n        return this.$store.getters.course_id;\r\n      },\r\n      courseIsChanged() {\r\n        return this.$store.getters.courseIsChanged;\r\n      },\r\n      swiperTab() {\r\n        return this.$refs.mySwiperTab.swiper;\r\n      },\r\n      slidesClassTotalSwiper() {\r\n        return this.$refs.slidesClassTotalSwiper.swiper;\r\n      },\r\n      pageName() {\r\n        return this.$store.getters.pageName;\r\n      },\r\n      canAccessYouTube() {\r\n        return this.$store.getters.canAccessYouTube;\r\n      },\r\n      initedCanAccessYouTube() {\r\n        return this.$store.getters.initedCanAccessYouTube;\r\n      }\r\n    },\r\n    watch: {\r\n      initedCanAccessYouTube: {\r\n        deep: true,\r\n        handler: function (newVal, oldVal) {\r\n          if(newVal && !oldVal) {\r\n            this.getStudyCourseTopClass();\r\n          }\r\n        },\r\n        immediate: true\r\n      },\r\n      course_id: {\r\n        deep: true,\r\n        handler: function (newVal) {\r\n          console.log(\"course_id:\", newVal);\r\n          if ((newVal || newVal == 0) && this.isActivated) {\r\n            this.courseId = newVal;\r\n            console.log(\"course_id:\", this.shouldInit);\r\n            this.getStudyCourseTopClass();\r\n          }\r\n        }\r\n      },\r\n      courseIsChanged: {\r\n        deep: true,\r\n        handler: function (newVal) {\r\n          console.log(\"courseIsChanged:\", newVal);\r\n          if (newVal) {\r\n            this.getStudyCourseTopClass();\r\n          }\r\n        },\r\n      },\r\n      $route: {\r\n        deep: true,\r\n        handler: function (to, from) {\r\n          if (from.name == \"index\") {\r\n            this.needAni = true;\r\n          } else if (from.name == \"StudyLogDetail\") {\r\n            this.needAni = false;\r\n            this.coverStatus = \"coverStatus3\";\r\n          } else {\r\n            this.$nextTick(() => {\r\n              this.needAni = false;\r\n              this.coverStatus = \"coverStatus3\";\r\n            });\r\n          }\r\n          console.log(\"needAni:\", this.needAni);\r\n        },\r\n      },\r\n    },\r\n    beforeRouteLeave(to, from, next) {\r\n      if (to.name == \"index\") {\r\n        // EventBus.$emit(\"setBlackTheme\", \"black\");\r\n      }\r\n      next();\r\n    },\r\n    methods: {\r\n      windowResize() {\r\n        if(this.$route.name == 'StudyLog') {\r\n          if(!this.isResizing) {\r\n            this.isResizing = true;\r\n            // 监听页面尺寸变化的间隔（毫秒）\r\n            const INTERVAL = 500;\r\n            // 开始监听页面尺寸变化\r\n            this.checkInterval = setInterval(this.checkResize, INTERVAL);\r\n            this.checkResize();\r\n          }\r\n        }\r\n\r\n      },\r\n      checkResize() {\r\n        let currentWidth = window.innerWidth;\r\n        let currentHeight = window.innerHeight;\r\n\r\n        // 设置一个阈值，页面尺寸变化超过这个值时，认为是有效缩放\r\n        const SIZE_THRESHOLD = 0;\r\n\r\n        // 如果页面宽度或高度变化超过阈值，则重置初始尺寸\r\n        if (Math.abs(currentWidth - this.initialWidth) > SIZE_THRESHOLD ||\r\n            Math.abs(currentHeight - this.initialHeight) > SIZE_THRESHOLD) {\r\n          this.initialWidth = currentWidth;\r\n          this.initialHeight = currentHeight;\r\n        } else {\r\n          // 如果页面尺寸长时间没有变化，则认为停止缩放\r\n          clearInterval(this.checkInterval);\r\n          console.log('停止缩放页面');\r\n          // 在这里执行你需要的操作\r\n          this.swipersResize();\r\n        }\r\n      },\r\n      swipersResize() {\r\n        console.log(\"swipersResize:\", this.showList);\r\n        if(this.showList) {\r\n          this.swiper3ListInit();\r\n        } else {\r\n          this.swiper3CardsInit();\r\n        }\r\n\r\n      },\r\n      swiper3ListInit() {\r\n        const items = this.getSwiperSlides();\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        if (!items.length) {\r\n          return;\r\n        }\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        const rect = items[1].getBoundingClientRect();\r\n        // 计算一行可以放几个卡片\r\n        const cardNumPerRow = Math.floor(width / rect.width);\r\n        console.log(\"cardNumPerRow:\", cardNumPerRow);\r\n        const len = items.length;\r\n        for (let i = 0; i < len; i++) {\r\n          const item = items[i];\r\n          const rect = item.getBoundingClientRect();\r\n          const rowIndex = Math.floor(i / cardNumPerRow);\r\n          const colIndex = i % cardNumPerRow;\r\n          const translateX = colIndex * rect.width;\r\n          const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n          item.style.transform =\r\n            \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n          item.style.transition = \"all 0.8s ease-in-out\";\r\n        }\r\n        let timeout = setTimeout(() => {\r\n          this.isResizing = false;\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n        }, 800);\r\n      },\r\n      swiper3CardsInit() {\r\n        const items = this.getSwiperSlides();\r\n        const len = items.length;\r\n        for (let i = 0; i < len; i++) {\r\n          const slide = items[i]; // 指定匹配元素集缩减值\r\n          const rect = slide.getBoundingClientRect();\r\n          const translate = i * rect.width;\r\n          slide.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n            51\r\n          )})`;\r\n          slide.style.transition = \"all 0.8s ease-in-out\";\r\n        }\r\n        let timeout = setTimeout(() => {\r\n          this.isResizing = false;\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n        }, 800);\r\n      },\r\n      // 选中三级课程\r\n      slideTo(index) {\r\n        // const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n        // slidesClassTotalSwiper.style.transform = `translateX(${translateX - 200}px)`;\r\n        // slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n        // if(translateX - 200 < 0) {\r\n        //   this.showLeftBtnList = true;\r\n        // } else {\r\n        //   this.showLeftBtnList = false;\r\n        // }\r\n        let timeout = setTimeout(() => {\r\n          clearTimeout(timeout);\r\n          const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n          const items = this.getSwiperSlides();\r\n          //console.log(\"slideTo items:\", items, index);\r\n          const len = items.length;\r\n          const swiper3 = document.getElementById(\"swiper3\");\r\n          const swiperWrapper =\r\n            swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n          let cardNumPerRow = 0;\r\n          const width = swiperWrapper[0].offsetWidth;\r\n          if(items.length > 0) {\r\n            const slide = items[0]; // 指定匹配元素集缩减值\r\n            const rect = slide.getBoundingClientRect();\r\n            cardNumPerRow = Math.floor(width / rect.width);\r\n          }\r\n\r\n          if(cardNumPerRow < index) {\r\n            this.showLeftBtnList = true;\r\n            for (let i = 0; i < len; i++) {\r\n              const slide = items[i]; // 指定匹配元素集缩减值\r\n              if(i == index) {\r\n                const rect = slide.getBoundingClientRect();\r\n                const translateX = i * rect.width;\r\n                // const translateX = this.getTranslateValues(slide).translateX;\r\n                const translateX1 = width / 2 - translateX;\r\n                console.log(\"translateX1:\", translateX1);\r\n                slidesClassTotalSwiper.style.transform = `translateX(${translateX1}px)`;\r\n                slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n                // slide.style.transform = `translate(${translateX}px, ${this.$px2rem(\r\n                //   51\r\n                // )}) scale(1.1)`;\r\n              }\r\n\r\n            }\r\n          } else {\r\n            this.showLeftBtnList = false;\r\n          }\r\n        }, 1500);\r\n      },\r\n      // 点击一级课程\r\n      clickSwiperTab(index) {\r\n        console.log(\"clickSwiperTab:\", index, this.swiperTab);\r\n        this.$nextTick(() => {\r\n          let swiper = this.$refs.mySwiperTab.swiper;\r\n          this.swiperTab.realIndex = index;\r\n          this.swiperTab.activeIndex = index;\r\n          this.swiperTab.slideTo(index);\r\n\r\n          let slides = swiper.slides;\r\n          for (let i = 0; i < slides.length; i++) {\r\n            const slide = slides[i];\r\n            slide.style.transform = `scale(${1})`;\r\n          }\r\n          swiper.slides[\r\n            index\r\n          ].style.transform = `scale(${1.2})`;\r\n          this.course_class_id = this.slidesTopClass[index].course_class_id;\r\n          console.log(\"clickSwiperTab:\", this.course_class_id);\r\n          if (this.course_class_id) {\r\n            this.getClassCompleteRatio();\r\n          }\r\n        })\r\n\r\n\r\n      },\r\n      // 点击二级课程\r\n      clickSlidesClassTotal(index) {\r\n        let swiper = this.$refs.mySwiper.swiper;\r\n        const slide = this.slides[index];\r\n        this.swiper.realIndex = index;\r\n        this.swiper.activeIndex = index;\r\n        this.swiper.clickIndex = index;\r\n        this.swiper.slideTo(index);\r\n        this.changeFlag(index);\r\n        this.clickIndex = index;\r\n\r\n        let slides = swiper.slides;\r\n        for (let i = 0; i < slides.length; i++) {\r\n          const slide = slides[i];\r\n          slide.style.transform = `scale(${1})`;\r\n        }\r\n        swiper.slides[\r\n          index\r\n        ].style.transform = `scale(${1.2})`;\r\n        console.log(\"clickSlidesClassTotal:\", slide);\r\n        if(slide) {\r\n          this.$nextTick(() => {\r\n            this.showMask = true;\r\n            EventBus.$emit('STUDYLOG_IN_BOOK_LIST', false);\r\n            this.needAni = true;\r\n            this.course_class_name = slide.course_class_name;\r\n            this.coverStatus = \"coverStatus1\";\r\n            this.slidesClassTotal = slide[\"subList\"];\r\n            this.showList = false;\r\n\r\n            this.$nextTick(() => {\r\n                this.init();\r\n              })\r\n              let timeout = null;\r\n              timeout = setTimeout(() => {\r\n                this.needAni = false;\r\n                this.canHover = true;\r\n                this.isClickCourse = false;\r\n\r\n                clearTimeout(timeout);\r\n              }, 1100);\r\n          });\r\n        }\r\n      },\r\n      goBack() {\r\n        console.log(\"goBack:\", this.showDetail);\r\n        if(!this.showDetail) {\r\n          //EventBus.$emit('STUDYLOG_IN_BOOK_LIST', true);\r\n          this.hideMask();\r\n        } else {\r\n          this.backToDetail();\r\n          //EventBus.$emit('STUDYLOG_IN_BOOK_LIST', false);\r\n        }\r\n      },\r\n      scrollSwiper3(e) {\r\n        console.log(\"scrollSwiper3\");\r\n      },\r\n      handleWheel(e) {\r\n        console.log(\"handleWheel:\", e);\r\n        if(e) {\r\n          e[0].preventDefault();\r\n        }\r\n      },\r\n      bindCardsTouchStart(event) {\r\n        this.startX = event.touches[0].pageX;\r\n        this.startTime = + new Date();\r\n      },\r\n      bindCardsTouchMove(event)  {\r\n        this.endX = event.touches[0].pageX;\r\n        const now = +new Date();\r\n        if(now - this.startTime > 150) {\r\n            if(this.startX <  this.endX) {\r\n                this.scrollSwiper3Cards([{\r\n                preventDefault: () => {},\r\n                deltaX: -20\r\n                }])\r\n                this.startX = this.endX;\r\n                this.startTime = now;\r\n            }\r\n            else if(this.startX >  this.endX) {\r\n                this.scrollSwiper3Cards([{\r\n                preventDefault: () => {},\r\n                deltaX: 20\r\n                }])\r\n                this.startX = this.endX;\r\n                this.startTime = now;\r\n            }\r\n        }\r\n      },\r\n      bindCardsTouchEnd(event) {\r\n        const now = +new Date();\r\n        if(now - this.startTime > 150) {\r\n          if(this.startX <  this.endX) {\r\n            this.scrollSwiper3Cards([{\r\n                preventDefault: () => {},\r\n                deltaX: -20\r\n            }])\r\n            this.startX = this.endX;\r\n            this.startTime = now;\r\n          } else if(this.startX >  this.endX) {\r\n            this.scrollSwiper3Cards([{\r\n                preventDefault: () => {},\r\n                deltaX: 20\r\n            }])\r\n            this.startX = this.endX;\r\n            this.startTime = now;\r\n          }\r\n        }\r\n\r\n      },\r\n      bindListsTouchStart(event) {\r\n        this.startY = event.touches[0].pageY;\r\n        this.startTime = + new Date();\r\n      },\r\n      bindListsTouchMove(event)  {\r\n        this.endY = event.touches[0].pageY;\r\n        const now = +new Date();\r\n        if(now - this.startTime > 150) {\r\n            if(this.startY <  this.endY) {\r\n                this.scrollSwiper3List([{\r\n                preventDefault: () => {},\r\n                deltaY: -20\r\n                }])\r\n                this.startY = this.endY;\r\n                this.startTime = now;\r\n            }\r\n            else if(this.startY >  this.endY) {\r\n                this.scrollSwiper3List([{\r\n                preventDefault: () => {},\r\n                deltaY: 20\r\n                }])\r\n                this.startY = this.endY;\r\n                this.startTime = now;\r\n            }\r\n        }\r\n      },\r\n      bindListsTouchEnd(event) {\r\n        const now = +new Date();\r\n        if(now - this.startTime > 150) {\r\n          if(this.startY <  this.endY) {\r\n              this.scrollSwiper3List([{\r\n                  preventDefault: () => {},\r\n                  deltaY: -20\r\n              }])\r\n              this.startY = this.endY;\r\n              this.startTime = now;\r\n              }\r\n              else if(this.startY >  this.endY) {\r\n              this.scrollSwiper3List([{\r\n                  preventDefault: () => {},\r\n                  deltaY: 20\r\n              }])\r\n              this.startY = this.endY;\r\n              this.startTime = now;\r\n          }\r\n        }\r\n      },\r\n      addCardsEvents() {\r\n        // 在移动端，使用touch模拟事件wheel\r\n        // 解绑\r\n        slidesClassTotalSwiper.removeEventListener(\"wheel\", this.throttledScrollList);\r\n        slidesClassTotalSwiper.removeEventListener(\"touchstart\", this.bindListsTouchStart);\r\n        slidesClassTotalSwiper.removeEventListener(\"touchmove\", this.bindListsTouchMove);\r\n        slidesClassTotalSwiper.removeEventListener(\"touchend\", this.bindListsTouchEnd);\r\n        // 重新绑定\r\n        slidesClassTotalSwiper.addEventListener(\"wheel\", this.throttledScroll);\r\n        slidesClassTotalSwiper.addEventListener(\"touchstart\", this.bindCardsTouchStart);\r\n        slidesClassTotalSwiper.addEventListener(\"touchmove\", this.bindCardsTouchMove);\r\n        slidesClassTotalSwiper.addEventListener(\"touchend\", this.bindCardsTouchEnd);\r\n      },\r\n      addListsEvents() {\r\n        // 在移动端，使用touch模拟事件wheel\r\n        // 解绑\r\n        slidesClassTotalSwiper.removeEventListener(\"wheel\", this.throttledScroll);\r\n        slidesClassTotalSwiper.removeEventListener(\"touchstart\", this.bindCardsTouchStart);\r\n        slidesClassTotalSwiper.removeEventListener(\"touchmove\", this.bindCardsTouchMove);\r\n        slidesClassTotalSwiper.removeEventListener(\"touchend\", this.bindCardsTouchEnd);\r\n        // 重新绑定\r\n        slidesClassTotalSwiper.addEventListener(\"wheel\", this.throttledScrollList);\r\n        slidesClassTotalSwiper.addEventListener(\"touchstart\", this.bindListsTouchStart);\r\n        slidesClassTotalSwiper.addEventListener(\"touchmove\", this.bindListsTouchMove);\r\n        slidesClassTotalSwiper.addEventListener(\"touchend\", this.bindListsTouchEnd);\r\n      },\r\n      init() {\r\n        const coverList = document.getElementById(\"coverList\");\r\n        coverList.style.display = `none`;\r\n        const items = this.getSwiperSlides();\r\n        console.log(\"items:\", items);\r\n        const len = items.length;\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const swiperWrapper =\r\n          swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        for (let i = 0; i < len; i++) {\r\n          const slide = items[i]; // 指定匹配元素集缩减值\r\n          const rect = slide.getBoundingClientRect();\r\n          let translate = 0;\r\n          const diff = rect.width * 0.05 * i;\r\n          translate = (width - rect.width) / 2 + diff; // 166是swiper-slide的高度\r\n          slide.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n            51\r\n          )})`;\r\n          slide.style.zIndex = len - i;\r\n        }\r\n\r\n        let timeout = setTimeout(() => {\r\n          this.swiper3CardsInit();\r\n          clearTimeout(timeout);\r\n        }, 0);\r\n\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        // // web端\r\n        // slidesClassTotalSwiper.addEventListener(\"wheel\", this.throttledScroll);\r\n        // 在移动端，使用touch模拟事件wheel\r\n        this.addCardsEvents();\r\n\r\n      },\r\n      scrollSwiper3Cards(e) {\r\n        console.log(\"scrollSwiper3Cards\");\r\n        console.log(e);\r\n        if(e) {\r\n          e[0].preventDefault();\r\n        }\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const swiper3Rect = slidesClassTotalSwiper.getBoundingClientRect();\r\n        console.log(\"swiper3Rect:\", swiper3Rect);\r\n        const width = swiper3Rect.width;\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const item = items[0];\r\n        const rect = item.getBoundingClientRect();\r\n        let deltaX = e[0].deltaX;\r\n        if(deltaX === 0) {\r\n          deltaX = e[0].deltaY;\r\n        }\r\n        console.log(\"deltaX:\", deltaX  === 0, deltaX, e);\r\n        let computedStyle = getComputedStyle(slidesClassTotalSwiper);\r\n        const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n        console.log(\"translateX:\", translateX);\r\n        if(deltaX < 0) {\r\n          // 往左滚动\r\n          if(translateX <= -rect.width) {\r\n            slidesClassTotalSwiper.style.transform = `translateX(${translateX + rect.width}px)`;\r\n            slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n            if(translateX <= rect.width) {\r\n              this.showLeftBtnList = true;\r\n            } else {\r\n              this.showLeftBtnList = false;\r\n            }\r\n          } else {\r\n            slidesClassTotalSwiper.style.transform = `translateX(${0}px)`;\r\n            slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n            this.showLeftBtnList = false;\r\n          }\r\n\r\n        } else {\r\n          // 往右滚动\r\n          if(this.isCanScroll()) {\r\n            slidesClassTotalSwiper.style.transform = `translateX(${translateX - rect.width}px)`;\r\n            slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n            if(translateX <= rect.width) {\r\n              this.showLeftBtnList = true;\r\n            } else {\r\n              this.showLeftBtnList = false;\r\n            }\r\n          }\r\n        }\r\n      },\r\n      isCanScroll() {\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n\r\n        const containerWidth = slidesClassTotalSwiper.offsetWidth;; // 容器的宽度\r\n        const items = this.getSwiperSlides();\r\n        let totalWidth = 0;\r\n        if(items.length > 0) {\r\n          const item = items[items.length - 1];\r\n          const rect = item.getBoundingClientRect();\r\n          const width = rect.width;\r\n          // 获取列表的总宽度\r\n          totalWidth = width * items.length;\r\n        }\r\n        // 最大可平移的值\r\n        const maxTranslateX = totalWidth - containerWidth;\r\n        console.log(\"totalWidth:\", totalWidth, containerWidth, maxTranslateX, translateX);\r\n        return Math.abs(translateX) < maxTranslateX;\r\n      },\r\n      prev2() {\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const item = items[0];\r\n        const rect = item.getBoundingClientRect();\r\n        const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n        console.log(translateX)\r\n        if(translateX <= -rect.width) {\r\n          slidesClassTotalSwiper.style.transform = `translateX(${translateX + rect.width}px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n          if(translateX <= rect.width) {\r\n            this.showLeftBtnList = true;\r\n          } else {\r\n            this.showLeftBtnList = false;\r\n          }\r\n        } else {\r\n          slidesClassTotalSwiper.style.transform = `translateX(${0}px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n          this.showLeftBtnList = false;\r\n        }\r\n      },\r\n      next2() {\r\n        if(!this.canHover) {\r\n          return;\r\n        }\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const translateX = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const item = items[0];\r\n        const rect = item.getBoundingClientRect();\r\n\r\n        if(this.isCanScroll()) {\r\n          slidesClassTotalSwiper.style.transform = `translateX(${translateX - rect.width}px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n          if(translateX <= rect.width) {\r\n            this.showLeftBtnList = true;\r\n          } else {\r\n            this.showLeftBtnList = false;\r\n          }\r\n        }\r\n\r\n\r\n      },\r\n      scrollSwiper3ListUp() {\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const title = document.getElementsByClassName(\"course_class_name1\");\r\n        const title3 = document.getElementsByClassName(\"title3\");\r\n        // 计算滚动位置超过上面容器的高度时的透明度\r\n        if (swiper3.classList.value.indexOf(\"swiperScrollUp\") < 0) {\r\n          title[0].style.opacity = 0;\r\n          title[0].style.transition = \"all 0.4s ease-in-out\";\r\n          title3[0].style.opacity = 0;\r\n          title3[0].style.transition = \"all 0.4s ease-in-out\";\r\n          this.swiperScrollClass = \"swiperScrollUp\";\r\n          slidesClassTotalSwiper.scrollTop = this.$px2rem(85);\r\n          this.originPosition = false;\r\n          let timeout = setTimeout(() => {\r\n            this.$nextTick(() => {\r\n              // 上移效果完成后，恢复滚轮事件\r\n              swiperWrapper[0].style.overflowY = \"auto\";\r\n            });\r\n            clearTimeout(timeout);\r\n            timeout = null;\r\n          }, 800);\r\n        }\r\n      },\r\n      scrollSwiper3ListDown() {\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const title = document.getElementsByClassName(\"course_class_name1\");\r\n        const title3 = document.getElementsByClassName(\"title3\");\r\n        // 到顶了\r\n        this.swiper3ScrollTop = true;\r\n        // 计算滚动位置超过上面容器的高度时的透明度\r\n        title[0].style.opacity = 1;\r\n        title[0].style.transition = \"all 0.4s ease-in-out\";\r\n        title3[0].style.opacity = 1;\r\n        title3[0].style.transition = \"all 0.4s ease-in-out\";\r\n        this.swiperScrollClass = \"swiperScrollDown\";\r\n        let timeout = setTimeout(() => {\r\n          this.originPosition = true;\r\n          this.swiper3ScrollTop = false;\r\n          clearTimeout(timeout);\r\n        }, 800);\r\n        let timeout1 = setTimeout(() => {\r\n          swiperWrapper[0].style.overflowY = \"hidden\";\r\n          clearTimeout(timeout1);\r\n        }, 1200);\r\n      },\r\n      scrollSwiper3List(e) {\r\n        console.log(\"scrollSwiper3List:\", e, this.swiper3ScrollTop);\r\n        if(e && this.swiper3ScrollTop) {\r\n          e[0].preventDefault();\r\n          return;\r\n        }\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        const isDown = e[0].deltaY > 0; // 滚轮向下\r\n        if (isDown && this.originPosition) {\r\n          // 向上\r\n          this.scrollSwiper3ListUp();\r\n        } else if (!isDown && slidesClassTotalSwiper.scrollTop <= 0) {\r\n          // 向下\r\n          this.scrollSwiper3ListDown();\r\n        }\r\n      },\r\n      getTranslateValues(element) {\r\n        var style = window.getComputedStyle(element);\r\n        var matrix = style.transform || style.webkitTransform || style.mozTransform;\r\n        var values = matrix.split('(')[1].split(')')[0].split(',');\r\n        return {\r\n          translateX: parseFloat(values[4]),\r\n          translateY: parseFloat(values[5])\r\n        };\r\n      },\r\n      toCultureContent() {\r\n        this.$refs.detail.toCultureContent();\r\n      },\r\n      getSwiperSlides() {\r\n        const questionListSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        if(questionListSwiper) {\r\n          console.log(\"questionListSwiper:\", questionListSwiper);\r\n          const items =\r\n            questionListSwiper.getElementsByClassName(\"swiper-slide-sub\");\r\n          return items;\r\n        }\r\n        return [];\r\n\r\n      },\r\n      changeSearch() {\r\n        this.search();\r\n      },\r\n      search: throttle(function () {\r\n        let swiper = this.$refs.mySwiper.swiper;\r\n        let clickedIndex = swiper.clickedIndex;\r\n        let slide = this.slides[this.clickIndex];\r\n        let params = {\r\n          keywords: this.keywords,\r\n          course_class_id: slide.course_class_id,\r\n          network_type: this.canAccessYouTube ? 1 : 2\r\n        };\r\n        console.log(params);\r\n        this.scrollSwiper3ToLeft();\r\n        getCourseCompleteData(params).then((res) => {\r\n          if (res && res.code === 0) {\r\n            this.slidesClassTotal = res.data;\r\n            this.$nextTick(() => {\r\n              this.toggleLayout(0, true);\r\n            });\r\n          }\r\n        });\r\n      }, 100),\r\n      updateXY(event) {\r\n        const x = event.pageX;\r\n        const y = event.pageY;\r\n        // console.log(x,y)\r\n        const cover = document.getElementById(\"cover1\");\r\n        const coverRect = cover.getBoundingClientRect();\r\n        const pcont = document.getElementById(\"pcont\");\r\n        const pcontRect = pcont.getBoundingClientRect();\r\n        const pcontY = pcontRect.top;\r\n        const logRatio = document.getElementById(\"logRatio\");\r\n        const logRatioRect = logRatio.getBoundingClientRect();\r\n        const logRatioY = logRatioRect.top +  logRatioRect.height;\r\n        // console.log(pcontY, logRatioY);\r\n\r\n        // console.log(\"coverRect:\", coverRect);\r\n        // console.log(\"pcontRect:\", pcontRect);\r\n        // console.log(\"logRatioRect:\", logRatioRect);\r\n        // if (x >= 0 && x < 50 && y < logRatioY && y > pcontY) {\r\n        //   this.showLeftBtnList = true;\r\n        // } else {\r\n        //   this.showLeftBtnList = false;\r\n        // }\r\n      },\r\n      backToDetail() {\r\n        if(!this.aniFinish) {\r\n          return\r\n        }\r\n        this.aniFinish = false;\r\n        const completeData = document.getElementById(\"completeData\");\r\n        console.log(\"currentIndex:\", this.currentIndex);\r\n        if (completeData) {\r\n          completeData.style.transform = `translate(${this.currentLeft}px,${this.currentTop}px) scale(1,1)`;\r\n          completeData.style.paddingBottom = '0';\r\n          completeData.style.transition = \"all 0.8s ease-in-out\";\r\n          const completeDetail = document.getElementById(\"completeDetail\");\r\n          completeDetail.classList.add(\"completeDetail\");\r\n          const courseIntro =\r\n            completeData.getElementsByClassName(\"course_intro2\");\r\n          courseIntro[0].classList.add(\"course_intro1\");\r\n          courseIntro[0].classList.remove(\"course_intro\");\r\n\r\n          const courseIntroBorder = completeData.getElementsByClassName(\r\n            \"course_intro2_border2\"\r\n          );\r\n          if (courseIntroBorder && courseIntroBorder[0]) {\r\n            courseIntroBorder[0].classList.remove(\"course_intro2_border\");\r\n            courseIntroBorder[0].classList.add(\"course_intro2_border1\");\r\n          }\r\n\r\n          const swiper3 = document.getElementById(\"swiper3\");\r\n          const swiper3Rect = swiper3.getBoundingClientRect();\r\n          console.log(\"swiper3Rect:\", swiper3Rect);\r\n          const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n          const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n          // const swiperWrapper = slidesClassTotalSwiper.getElementsByClassName(\"swiper-wrapper\");\r\n          // const swiperPagination = slidesClassTotalSwiper.getElementsByClassName(\r\n          //   \"swiper-pagination3\"\r\n          // );\r\n          if((this.originPosition && this.showList) || !this.showList) {\r\n            const title = document.getElementsByClassName(\"course_class_name1\");\r\n            title[0].style.opacity = 1;\r\n            title[0].style.transition = \"all 0.8s ease-in-out\";\r\n          }\r\n\r\n          // title[0].classList.remove(\"hideTitle\");\r\n          // title[0].classList.add(\"showTitle\");\r\n          // const currentRowIndex = Math.floor(\r\n          //   (this.currentIndex + 1) / cardNumPerRow\r\n          // );\r\n          // const cureentColIndex = (this.currentIndex + 1) % cardNumPerRow;\r\n\r\n          // 重新计算每个元素的位置\r\n          if (this.showList) {\r\n            const swiperWrapper =\r\n              swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n            const width = swiperWrapper[0].offsetWidth;\r\n            // 计算一行可以放几个卡片\r\n            const cardNumPerRow = Math.floor(width / this.currentWidth);\r\n\r\n            this.coverStatus = \"coverStatus10\";\r\n            const coverList = document.getElementById(\"coverList\");\r\n            coverList.style.display = \"block\";\r\n            coverList.style.transform = `translate(${this.$px2rem(\r\n              31\r\n            )}, ${this.$px2rem(-462)}) scale(1.2)`;\r\n            coverList.style.transition = \"all 0.8s ease-in-out\";\r\n            // 多行布局\r\n            for (let i = 0; i < items.length; i++) {\r\n              if (i != 0) {\r\n                const rowIndex = Math.floor(i / cardNumPerRow);\r\n                const colIndex = i % cardNumPerRow;\r\n                const item = items[i];\r\n                const rect = item.getBoundingClientRect();\r\n                const translateX = colIndex * rect.width;\r\n\r\n                const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n                if (i !== this.currentIndex) {\r\n                  item.style.transform =\r\n                    \"translate(\" + translateX + \"px, \" + translateY + \"px)\";\r\n                  item.style.transition = \"all 0.8s ease-in-out\";\r\n                } else {\r\n                  let timeout = setTimeout(() => {\r\n                    clearTimeout(timeout);\r\n                    item.style.display = \"block\";\r\n                    this.$nextTick(() => {\r\n                      const rect = item.getBoundingClientRect();\r\n                      const translateX = colIndex * rect.width;\r\n                      const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n                      item.style.transform =\r\n                      \"translate(\" + translateX + \"px, \" + `${translateY}px)`;\r\n                      item.style.transition = \"all 0s ease-in-out\";\r\n                    })\r\n\r\n                  }, 850);\r\n                }\r\n              }\r\n            }\r\n            if (!this.originPosition) {\r\n              // 如果滚动了不在原来的位置，则休学日志要逐渐显示\r\n              const title3 = document.getElementsByClassName(\"title3\");\r\n              title3[0].style.opacity = 0;\r\n              title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n            }\r\n          } else {\r\n            // 单行布局\r\n            this.coverStatus = \"coverStatus8\";\r\n            // swiperWrapper[0].style.overflowY = \"unset\";\r\n            // swiperPagination[0].style.display = \"flex\";\r\n            console.log(\"items:\", items);\r\n            for (let i = 0; i < items.length; i++) {\r\n              const item = items[i];\r\n              const translateX = i * this.currentWidth;\r\n              if (i !== this.currentIndex) {\r\n                item.style.transform =\r\n                  \"translate(\" + translateX + \"px, \" + `${this.$px2rem(51)})`;\r\n                item.style.transition = \"all 0.8s ease-in-out\";\r\n              } else {\r\n                let timeout = setTimeout(() => {\r\n                  clearTimeout(timeout);\r\n                  item.style.display = \"block\";\r\n                  this.$nextTick(() => {\r\n                    item.style.transform =\r\n                      \"translate(\" + translateX + \"px, \" + `${this.$px2rem(51)})`;\r\n                    item.style.transition = \"all 0s ease-in-out\";\r\n                  })\r\n                }, 850);\r\n              }\r\n            }\r\n          }\r\n\r\n          this.$nextTick(() => {\r\n            let timeout1 = setTimeout(() => {\r\n              this.aniFinish = true;\r\n              this.showLogDetail = false;\r\n              this.showDetail = false;\r\n              // 如果是竖排切滚动了，点击卡片需要把标题重新显示，回去的时候需要重新隐藏\r\n              if(!this.originPosition && this.showList) {\r\n                const title3 = document.getElementsByClassName(\"title3\");\r\n                title3[0].style.opacity = 0;\r\n                title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n              }\r\n              clearTimeout(timeout1);\r\n            }, 800);\r\n            let timeout2 = setTimeout(() => {\r\n              this.canHover = true;\r\n              clearTimeout(timeout2);\r\n            }, 1000);\r\n          });\r\n        }\r\n      },\r\n      async toDetail(index, e, completeData) {\r\n        if (e) {\r\n          e.stopPropagation();\r\n        }\r\n        if(!this.aniFinish) {\r\n          return;\r\n        }\r\n        if(completeData && completeData.course_domestic == 2) {\r\n        this.$message.warning(\"所在区域无法阅览该内容\")\r\n        return;\r\n      }\r\n        console.log(\"toDetail:\", this.originPosition, this.showList);\r\n        this.aniFinish = false;\r\n        this.canHover = false;\r\n        this.completeData = this.slidesClassTotal[index];\r\n        console.log(\"completeData:\", this.completeData);\r\n        if (this.showList) {\r\n          index = index + 1;\r\n        }\r\n        await this.getUserStudyLogDetail(\r\n          this.completeData.course_id,\r\n          this.completeData.course_isuseradd\r\n        );\r\n        this.currentIndex = index;\r\n        this.showDetail = true;\r\n        this.showLogDetail = false;\r\n        this.showLeftBtnList = false;\r\n\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const swiper3Rect = swiper3.getBoundingClientRect();\r\n        console.log(\"swiper3Rect:\", swiper3Rect, window.scrollY);\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        console.log(\"slidesClassTotalSwiper.scrollTop:\", slidesClassTotalSwiper.scrollTop);\r\n\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const currentItem = items[index];\r\n        if (currentItem.id == \"newCover\") {\r\n          return;\r\n        }\r\n\r\n        console.log(currentItem);\r\n        const rect = currentItem.getBoundingClientRect();\r\n        console.log(\"currentItemRect:\", rect, window.scrollX, window.scrollY);\r\n        this.currentLeft = rect.left + window.scrollX;\r\n        this.currentTop = rect.top + window.scrollY - rect.height * 0.4;\r\n        this.currentWidth = rect.width;\r\n        this.currentHeight = rect.height;\r\n        console.log(rect.left + window.scrollX, rect.top + window.scrollY);\r\n        const title = document.getElementsByClassName(\"course_class_name1\");\r\n        // title[0].classList.add(\"hideTitle\");\r\n        title[0].style.opacity = 0;\r\n        title[0].style.transition = \"all 0.8s ease-in-out\";\r\n\r\n        // 重新计算每个元素的位置\r\n        if (this.showList) {\r\n          const swiperWrapper =\r\n            swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n          const width = swiperWrapper[0].offsetWidth;\r\n          console.log(width);\r\n          // 计算一行可以放几个卡片\r\n          const cardNumPerRow = Math.floor(width / rect.width);\r\n          console.log(cardNumPerRow);\r\n          const currentColIndex = index % cardNumPerRow;\r\n          const coverList = document.getElementById(\"coverList\");\r\n          const coverListRect = coverList.getBoundingClientRect();\r\n          console.log(coverListRect);\r\n          coverList.style.display = \"block\";\r\n          // coverList.style.transform = `translate(${-coverListRect.left}px, ${coverListRect.top}px)`;\r\n          coverList.style.transform = `translate(${\r\n            -coverListRect.width - coverListRect.left\r\n          }px, ${this.$px2rem(-462)}) scale(1.2)`;\r\n          coverList.style.transition = \"all 0.8s ease-in-out\";\r\n          // 多行布局\r\n          for (let i = 0; i < items.length; i++) {\r\n            if (i != 0) {\r\n              const rowIndex = Math.floor(i / cardNumPerRow);\r\n              const colIndex = i % cardNumPerRow;\r\n              const item = items[i];\r\n              const rect = item.getBoundingClientRect();\r\n              if (colIndex <= currentColIndex && index !== i) {\r\n                const translateX = -(index + 1) * rect.width;\r\n                const translateY = rowIndex * rect.height + 51;\r\n                // 左边的往左滑动\r\n                item.style.transform = `translate(${translateX}px,  ${translateY}px)`;\r\n                item.style.transition = \"all 0.8s ease-in-out\";\r\n              } else if (index !== i) {\r\n                // 右边的往右边滑动\r\n                const translateX = items.length * rect.width;\r\n                const translateY = rowIndex * rect.height + 51;\r\n                item.style.transform = `translate(${translateX}px,  ${translateY}px)`;\r\n                item.style.transition = \"all 0.8s ease-in-out\";\r\n              } else if (index === i) {\r\n                item.style.display = \"none\";\r\n              }\r\n            }\r\n          }\r\n          if (!this.originPosition) {\r\n            // 如果滚动了不在原来的位置，则休学日志要逐渐显示\r\n            const title3 = document.getElementsByClassName(\"title3\");\r\n            title3[0].style.opacity = 1;\r\n            title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n          }\r\n        } else {\r\n          const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n          const translateXSwiper = this.getTranslateValues(slidesClassTotalSwiper).translateX;\r\n          // 单行布局\r\n          this.coverStatus = \"coverStatus7\";\r\n          for (let i = 0; i < items.length; i++) {\r\n            const item = items[i];\r\n            const rect = item.getBoundingClientRect();\r\n            if (i < index) {\r\n              // 左边的往左滑动\r\n              const translateX = -(index + i + 1) * rect.width - translateXSwiper;\r\n              item.style.transform = `translate(${translateX}px,  ${this.$px2rem(\r\n                51\r\n              )})`;\r\n              item.style.transition = \"all 0.8s ease-in-out\";\r\n            } else if (i > index) {\r\n              // 右边的往右边滑动\r\n              const translateX = swiper3Rect.width - translateXSwiper;\r\n              item.style.transform = `translate(${translateX}px,  ${this.$px2rem(\r\n                51\r\n              )})`;\r\n              item.style.transition = \"all 0.8s ease-in-out\";\r\n            } else if (i === index) {\r\n              item.style.display = \"none\";\r\n            }\r\n          }\r\n        }\r\n\r\n        this.$nextTick(() => {\r\n          const completeData = document.getElementById(\"completeData\");\r\n          const courseIntro =\r\n            completeData.getElementsByClassName(\"course_intro2\");\r\n          // completeData.innerHTML = currentItem.innerHTML;\r\n          completeData.style.transform = `translate(${this.currentLeft}px,${this.currentTop}px) scale(1,1)`;\r\n          completeData.style.paddingBottom = this.$px2rem(45);\r\n          courseIntro[0].classList.add(\"course_intro\");\r\n          let timeout = setTimeout(() => {\r\n            completeData.style.transform = `translate(${this.$px2rem(\r\n              32\r\n            )}, ${this.$px2rem(32)}) scale(1.1,1.1)`;\r\n            completeData.style.transition = \"all 0.8s ease-in-out\";\r\n            clearTimeout(timeout);\r\n          }, 0);\r\n          let timeout1 = setTimeout(() => {\r\n            this.aniFinish = true;\r\n            this.showLogDetail = true;\r\n            // 如果是竖排切滚动了，点击卡片需要把标题重新显示，回去的时候需要重新隐藏\r\n            if(!this.originPosition && this.showList) {\r\n              const title3 = document.getElementsByClassName(\"title3\");\r\n              title3[0].style.opacity = 1;\r\n              title3[0].style.transition = \"all 0.8s ease-in-out\";\r\n            }\r\n            clearTimeout(timeout1);\r\n          }, 800);\r\n        });\r\n\r\n        // this.getUserStudyLogDetail(\r\n        //   this.completeData.course_id,\r\n        //   this.completeData.course_isuseradd\r\n        // ).then(() => {\r\n\r\n        // });\r\n        let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n        if (guideStatus.studyLog === 0) {\r\n          this.guide('toDetail');\r\n        }\r\n      },\r\n      mouseOverSlide(index) {\r\n        if (!this.canHover) {\r\n          return;\r\n        }\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const item = items[index];\r\n        const rect = item.getBoundingClientRect();\r\n\r\n        if (this.showList) {\r\n          // 多行布局\r\n          // 计算一行可以放几个卡片\r\n          const cardNumPerRow = Math.floor(width / rect.width);\r\n          const rowIndex = Math.floor(index / cardNumPerRow);\r\n          console.log(rowIndex);\r\n          const colIndex = index % cardNumPerRow;\r\n          const translateY = this.$px2rem(rowIndex * rect.height + 51);\r\n          const translateX = colIndex * rect.width;\r\n          item.style.transform =\r\n            \"translate(\" + translateX + \"px,\" + translateY + \")\";\r\n          item.style.transform =\r\n            \"translate(\" + translateX + \", \" + translateY + \") scale(1.1, 1.1)\";\r\n          item.style.transition = \"all 0.1s ease-in-out\";\r\n        } else {\r\n          // 单行布局\r\n          console.log(rect);\r\n          const translate = index * rect.width;\r\n          item.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n            51\r\n          )}) scale(1.1, 1.1)`;\r\n          item.style.transition = \"all 0.1s ease-in-out\";\r\n        }\r\n      },\r\n      mouseOutSlide(index) {\r\n        if (!this.canHover) {\r\n          return;\r\n        }\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const item = items[index];\r\n        if (this.showList) {\r\n          // 多行布局\r\n          // 计算一行可以放几个卡片\r\n          const cardNumPerRow = Math.floor(width / rect.width);\r\n          const rowIndex = Math.floor(index / cardNumPerRow);\r\n          console.log(rowIndex);\r\n          const colIndex = index % cardNumPerRow;\r\n          const translateX = colIndex * rect.width;\r\n          const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n          item.style.transform =\r\n            \"translate(\" + translateX + \"px, \" + translateY + \"px) scale(1, 1)\";\r\n          item.style.transition = \"all 0.1s ease-in-out\";\r\n        } else {\r\n          // 单行布局\r\n          const rect = item.getBoundingClientRect();\r\n          const translate = index * rect.width;\r\n          item.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n            51\r\n          )}) scale(1, 1)`;\r\n          // const translateX = this.$px2rem(index * 255);\r\n          // item.style.transform =\r\n          //   \"translate(\" + translateX + \", \" + `${this.$px2rem(51)}) scale(1, 1)`;\r\n          item.style.transition = \"all 0.1s ease-in-out\";\r\n        }\r\n      },\r\n      toggleLayout(duration, isSearch = false) {\r\n        if (!this.originPosition) {\r\n          return;\r\n        }\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        console.log(items);\r\n        if (!items.length) {\r\n          return;\r\n        }\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        console.log(slidesClassTotalSwiper);\r\n        const swiperPagination =\r\n          slidesClassTotalSwiper.getElementsByClassName(\"swiper-pagination3\");\r\n        const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        console.log(width);\r\n        const rect = items[0].getBoundingClientRect();\r\n\r\n        // 重新计算每个元素的位置\r\n        console.log(this.showList);\r\n        if (this.showList) {\r\n          this.showLeftBtnList = false;\r\n          // 计算一行可以放几个卡片\r\n          const cardNumPerRow = Math.floor(width / rect.width);\r\n          console.log(cardNumPerRow);\r\n\r\n          if(!document.getElementById('newCover')) {\r\n            // 创建一个新的 div 元素\r\n            const newDiv = document.createElement(\"div\");\r\n            newDiv.className = \"swiper-slide-sub\"; // 给新 div 添加类名\r\n            newDiv.id = \"newCover\";\r\n            newDiv.innerHTML = items[0].innerHTML;\r\n            newDiv.style.opacity = 0;\r\n            // 找到第一个元素的父元素\r\n            const parent = items[0].parentNode;\r\n            // 在第一个元素之前插入新 div\r\n            parent.insertBefore(newDiv, items[0]);\r\n          }\r\n\r\n          this.$nextTick(() => {\r\n            const items1 = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n            console.log(items1);\r\n            // 多行布局\r\n            this.coverStatus = \"coverStatus4\";\r\n            this.coverListStatus = \"\";\r\n            // swiperPagination[0].style.display = \"none\";\r\n            for (let i = 0; i < items1.length; i++) {\r\n              const item = items1[i];\r\n              const rect = item.getBoundingClientRect();\r\n              console.log(item);\r\n              const rowIndex = Math.floor(i / cardNumPerRow);\r\n              console.log(rowIndex);\r\n              const colIndex = i % cardNumPerRow;\r\n              const translateX = colIndex * rect.width;\r\n              const translateY = rowIndex * rect.height + rect.height * 0.15;\r\n              item.style.transform =\r\n                \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n              if (duration || duration == 0) {\r\n                item.style.transition = `all ${duration}s ease-in-out`;\r\n              } else {\r\n                item.style.transition = \"all 0.8s ease-in-out\";\r\n              }\r\n            }\r\n            let timeout = setTimeout(() => {\r\n              const coverList = document.getElementById(\"coverList\");\r\n              coverList.style.display = \"block\";\r\n              coverList.style.transform = `translate(${this.$px2rem(\r\n                31\r\n              )}, ${this.$px2rem(-462)}) scale(1.2)`;\r\n              const cover = document.getElementById(\"cover1\");\r\n              cover.style.display = \"none\";\r\n              this.$nextTick(() => {\r\n                swiperWrapper[0].style.overflowY = \"hidden\";\r\n              });\r\n\r\n              clearTimeout(timeout);\r\n            }, 950);\r\n            this.addListsEvents();\r\n          });\r\n        } else {\r\n          if (items[0].id == \"newCover\") {\r\n            // 找到第一个元素的父元素\r\n            const parent = items[0].parentNode;\r\n            // 在第一个元素之前插入新 div\r\n            parent.removeChild(items[0]);\r\n          }\r\n          this.$nextTick(() => {\r\n            // 单行布局\r\n            this.coverStatus = \"coverStatus5\";\r\n            const coverList = document.getElementById(\"coverList\");\r\n            coverList.style.display = \"none\";\r\n            const cover = document.getElementById(\"cover1\");\r\n            cover.style.display = \"block\";\r\n            // slidesClassTotalSwiper.style.overflowY = \"hidden\";\r\n            // swiperPagination[0].style.display = \"flex\";\r\n            for (let i = 0; i < items.length; i++) {\r\n              const item = items[i];\r\n              const rect = item.getBoundingClientRect();\r\n              const translate = i * rect.width;\r\n              item.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n                51\r\n              )})`;\r\n              if (duration || duration == 0) {\r\n                item.style.transition = `all ${duration}s ease-in-out`;\r\n              } else {\r\n                item.style.transition = \"all 0.8s ease-in-out\";\r\n              }\r\n            }\r\n            swiperWrapper[0].style.overflowY = \"unset\";\r\n            // slidesClassTotalSwiper.removeEventListener(\"wheel\", this.throttledScrollList);\r\n            // slidesClassTotalSwiper.addEventListener(\"wheel\", this.throttledScroll);\r\n            this.addCardsEvents();\r\n          });\r\n        }\r\n      },\r\n      showListFn(showList) {\r\n        // 还在动画则不能点击\r\n        if(!this.canHover) {\r\n          return\r\n        }\r\n        this.showList = showList;\r\n        this.needAni = false;\r\n        if (showList) {\r\n          const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n          slidesClassTotalSwiper.style.transform = `translateX(0px)`;\r\n          slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n        }\r\n        setTimeout(() => {\r\n          this.toggleLayout();\r\n        }, 300);\r\n      },\r\n      //元素在X轴上的平移动画,传入元素和目标位置\r\n      moveAnimate(element, target) {\r\n        //先清理定时器\r\n        clearInterval(element.timerId);\r\n        //给元素添加timerId属性,防止创建多个定时器以至于最后销毁不了\r\n        element.timerId = window.setInterval(function () {\r\n          //获取到元素的当前位置 没有px\r\n          var current = element.offsetLeft;\r\n          //每次走的步数\r\n          var step = 10;\r\n          //判断目标位置是否大于当前位置\r\n          step = target > current ? step : -step;\r\n          //移动到目标位置\r\n          current += step;\r\n          if (Math.abs(target - current) > Math.abs(step)) {\r\n            element.style.left = this.$px2rem(current);\r\n          } else {\r\n            //销毁定时器\r\n            window.clearInterval(element.timerId);\r\n            //让元素走到目标位置\r\n            element.style.left = this.$px2rem(target);\r\n          }\r\n        }, 20);\r\n      },\r\n      back() {\r\n        this.$router.back();\r\n      },\r\n      async getStudyCourseTopClass() {\r\n        try {\r\n          const res = await getStudyCourseTopClass();\r\n          console.log(\"getStudyCourseTopClass:\",this.shouldInit);\r\n          if (res && res.code === 0) {\r\n            this.slidesTopClass = res.data;\r\n            if (this.slidesTopClass.length) {\r\n              let index = 0;\r\n              if(this.shouldInit) {\r\n                this.slidesTopClass.forEach((item, idx) => {\r\n                  if(item.course_class_id == this.course_class_id) {\r\n                    index = idx;\r\n                  }\r\n                })\r\n              }\r\n              // 跳转到当前一级分类\r\n              this.clickSwiperTab(index);\r\n            }\r\n          }\r\n        } catch (error) {\r\n          console.log(error);\r\n        }\r\n      },\r\n      async getClassCompleteRatio() {\r\n        try {\r\n          console.log(\"getClassCompleteRatio:\", this.course_class_id, this.course_class_study2, this.shouldInit);\r\n          const res = await getClassCompleteRatio({ course_class_id: this.course_class_id });\r\n          if (res && res.code === 0) {\r\n            this.slides = res.data;\r\n            this.slides.forEach(async (item, index) => {\r\n              await this.getCourseCompleteData(item, item.course_class_id);\r\n              console.log(\"getClassCompleteRatio:\", index, this.slides.length - 1);\r\n              if(this.shouldInit) {\r\n                  let slide = null;\r\n                  if(item.course_class_id == this.course_class_study2) {\r\n                    // 选中二级分类\r\n                    slide = item;\r\n                    this.clickSlidesClassTotal(index);\r\n                    this.clickIndex = index;\r\n                    const subList = item.subList;\r\n                    if(subList) {\r\n                      subList.forEach((item1, idx) => {\r\n                        if(item1.course_id == this.course_id) {\r\n                          console.log(\"clickSlide\", idx);\r\n                          this.slideTo(idx);\r\n                        }\r\n                      })\r\n                    }\r\n                  }\r\n                }\r\n            });\r\n          }\r\n        } catch (error) {\r\n          console.log(error);\r\n        }\r\n      },\r\n      async getCourseCompleteData(item, course_class_id) {\r\n        const res = await getCourseCompleteData({ course_class_id, network_type: this.canAccessYouTube ? 1 : 2 });\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          item.subList = data;\r\n          data.forEach((d) => {\r\n            if (\r\n              d.mindmap_complete == 1 &&\r\n              d.guannian_complete == 1 &&\r\n              d.xintai_complete == 1 &&\r\n              d.question_complete == 1 &&\r\n              d.solve_complete == 1 &&\r\n              d.experience_num > 0\r\n            ) {\r\n              d.status = 1;\r\n            } else {\r\n              d.status = 2;\r\n            }\r\n          });\r\n        }\r\n      },\r\n      // 日志详情\r\n      async getUserStudyLogDetail(course_id, course_isuseradd) {\r\n        try {\r\n          const res = await getUserStudyLogDetail({ course_id, course_isuseradd, is_new: 1 });\r\n          if (res && res.code === 0) {\r\n            if (res.data.length) {\r\n              this.data = res.data[0] || {};\r\n              let experience = this.data.experience;\r\n              experience.forEach((item) => {\r\n                item.updateTime = this.$moment(\r\n                  new Date(parseFloat(item.experience_create_time + \"000\"))\r\n                ).format(\"YYYY-MM-DD\");\r\n              });\r\n              let question = this.data.question;\r\n              question.forEach((item) => {\r\n                item.percentage =\r\n                  (item.course_see_question_num / item.course_question_num) *\r\n                  100;\r\n              });\r\n              let question_solve = this.data.question_solve;\r\n              question_solve.forEach((item) => {\r\n                item.percentage =\r\n                  (item.course_question_num / item.course_solve_question_num) *\r\n                  100;\r\n              });\r\n            }\r\n          }\r\n        } catch (error) {\r\n          console.log(error);\r\n        }\r\n      },\r\n      // 日志列表横排时滚动到最左边\r\n      scrollSwiper3ToLeft() {\r\n        if(this.showList) {\r\n          return;\r\n        }\r\n        const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n        // 往左滚动\r\n        slidesClassTotalSwiper.style.transform = `translateX(0px)`;\r\n        slidesClassTotalSwiper.style.transition = \"all 0s ease-in-out\";\r\n      },\r\n      hideMask() {\r\n        console.log(\"hideMask:\", this.canHover);\r\n        if (this.isClickCourse) {\r\n          return;\r\n        }\r\n        if(!this.canHover) {\r\n          return;\r\n        }\r\n        if (this.showList && !this.originPosition) {\r\n          return;\r\n        }\r\n        this.shouldInit = false;\r\n        this.keywords = \"\";\r\n        this.swiperScrollClass = \"\";\r\n        this.canHover = false;\r\n        if(!this.showList) {\r\n          this.scrollSwiper3ToLeft();\r\n          let timeout = setTimeout(() => {\r\n            this.hideMask1();\r\n            clearTimeout(timeout);\r\n          }, 250);\r\n        } else {\r\n          this.hideMask1();\r\n        }\r\n      },\r\n      hideMask1() {\r\n        const swiper3 = document.getElementById(\"swiper3\");\r\n        const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n        const swiperWrapper = swiper3.getElementsByClassName(\"swiper-wrapper\");\r\n        const width = swiperWrapper[0].offsetWidth;\r\n        const len = items.length;\r\n        for (let i = 0; i < len; i++) {\r\n          const slide = items[i]; // 指定匹配元素集缩减值\r\n          const rect = slide.getBoundingClientRect();\r\n          let translate = 0;\r\n          let diff = 0;\r\n          if (i >= 2) {\r\n            diff = rect.width * 0.05;\r\n          } else {\r\n            diff = rect.width * 0.05 * (i + 1);\r\n          }\r\n          if(i == 1 || i == 2) {\r\n            slide.style.zIndex = len - 1;\r\n          } else {\r\n            slide.style.zIndex = len - i;\r\n          }\r\n          translate = (width - rect.width) / 2 + diff; // 166是swiper-slide的高度\r\n          slide.style.transform = `translate(${translate}px, ${this.$px2rem(\r\n            51\r\n          )})`;\r\n\r\n          slide.style.transition = \"all 0.8s ease-in-out\";\r\n        }\r\n\r\n        if (this.$refs.slidesClassTotalSwiper.swiper) {\r\n          this.$refs.slidesClassTotalSwiper.swiper.slideTo(0);\r\n        }\r\n        this.needAni = true;\r\n        let timeout1 = null;\r\n        let timeout2 = null;\r\n        if (this.showList) {\r\n          // 多行\r\n          const coverList = document.getElementById(\"coverList\");\r\n          const rect = coverList.getBoundingClientRect();\r\n          const translate = (width - rect.width * 0.6) / 2;\r\n          coverList.style.display = \"block\";\r\n          coverList.style.left = \"50%\";\r\n          coverList.style.transform = `translate(-50%, ${this.$px2rem(-462)}) scale(1.2)`;\r\n          coverList.style.transition = \"all 0.8s ease-in-out\";\r\n        } else {\r\n          this.coverStatus = \"coverStatus2\";\r\n        }\r\n\r\n        timeout1 = setTimeout(() => {\r\n          clearTimeout(timeout1);\r\n          timeout2 = setTimeout(() => {\r\n            this.showMask = false;\r\n            EventBus.$emit('STUDYLOG_IN_BOOK_LIST', true);\r\n            this.showList = false;\r\n            this.originPosition = true;\r\n            // this.$refs.slidesClassTotalSwiper.swiper.destroy();\r\n            // this.$refs.slidesClassTotalSwiper.swiper.mousewheel.enable();\r\n            // swiperWrapper[0].style.overflowY = \"auto\";\r\n            clearTimeout(timeout2);\r\n          }, 1200);\r\n        }, 100);\r\n      },\r\n      toggle() {\r\n        this.fullscreen = !this.fullscreen;\r\n      },\r\n      prev() {\r\n        this.changeFlag(this.swiper.activeIndex - 1);\r\n        this.swiper.slidePrev();\r\n      },\r\n      next() {\r\n        this.changeFlag(this.swiper.activeIndex + 1);\r\n        this.swiper.slideNext();\r\n      },\r\n      changeFlag(progress) {\r\n        if (progress <= 0) {\r\n          this.prevFlag = false;\r\n          this.nextFlag = true;\r\n        } else if (progress >= this.slides.length - 1) {\r\n          this.prevFlag = true;\r\n          this.nextFlag = false;\r\n        } else {\r\n          this.prevFlag = true;\r\n          this.nextFlag = true;\r\n        }\r\n      },\r\n      guide(info) {\r\n        // 关闭guide\r\n        if(this.studyLogGuideMode === 0) {\r\n          if(!this.prevShowDetail) {\r\n            this.slidesClassTotal = this.prevSlidesClassTotal;\r\n          }\r\n\r\n          this.$nextTick(() => {\r\n            this.studyLogGuideMode = 1;\r\n            if(!this.prevShowDetail) {\r\n              this.backToDetail();\r\n            }\r\n          })\r\n        }\r\n        else {\r\n          if(!this.showDetail) {\r\n            this.prevSlidesClassTotal = [].concat(this.slidesClassTotal);\r\n            this.slidesClassTotal = [this.guideSlidesClassTotal];\r\n          }\r\n\r\n          let time1 = 0;\r\n          // 先定位到最初始的位置\r\n          if(!this.showList) {\r\n            time1 = 200;\r\n            const slidesClassTotalSwiper = document.getElementById(\"slidesClassTotalSwiper\");\r\n            slidesClassTotalSwiper.style.transform = `translateX(${0}px)`;\r\n            slidesClassTotalSwiper.style.transition = \"all 0.2s ease-in-out\";\r\n          } else {\r\n            if(!this.originPosition) {\r\n              time1 = 800;\r\n              this.scrollSwiper3ListDown();\r\n            }\r\n          }\r\n\r\n          // 再执行引导\r\n          let timeout = setTimeout(() => {\r\n            clearTimeout(timeout);\r\n            timeout = null;\r\n            this.studyLogGuideMode = 0;\r\n            this.$nextTick(() => {\r\n              EventBus.$emit(\"enableReadOnlyMode\");\r\n\r\n              this.prevShowDetail = this.showDetail;\r\n              let time = 1000;\r\n              if(!this.showDetail) {\r\n                const el = document.querySelector('.guideBox #newCover');\r\n                let clientWidth = el ? el.clientWidth : 0;\r\n                const targetEl = document.querySelector('.guideBox #slide0.swiper-slide-sub');\r\n                clientWidth = clientWidth || targetEl.clientWidth;\r\n                if(this.showList) {\r\n                  const swiper3 = document.getElementById(\"swiper3\");\r\n                  const items = swiper3.getElementsByClassName(\"swiper-slide-sub\");\r\n                  let translateX = 0;\r\n                  let translateY = 0;\r\n                  if(items && items[1]) {\r\n                    const item = items[1];\r\n                    const rect = item.getBoundingClientRect();\r\n                    translateX = 1 * rect.width;\r\n                    translateY = 0 * rect.height + rect.height * 0.15;\r\n                  }\r\n                  targetEl.style.transform = `translate(${translateX}px, ${translateY})`;\r\n                } else {\r\n                  targetEl.style.transform = `translate(${0}px, ${this.$px2rem(51)})`;\r\n                }\r\n                this.toDetail(0);\r\n                time = 2000;\r\n              }\r\n              if(this.timeValueToDetail) {\r\n                clearTimeout(this.timeValueToDetail);\r\n                this.timeValueToDetail = null;\r\n              }\r\n\r\n              this.timeValueToDetail = setTimeout(() => {\r\n                this.initGuide();\r\n\r\n                clearTimeout(this.timeValueToDetail);\r\n                this.timeValueToDetail = null;\r\n              }, time)\r\n            });\r\n          }, time1);\r\n        }\r\n      },\r\n      initGuide() {\r\n        this.studyLog_guide([\r\n          {\r\n            intro: \"点击查看文章内容\",\r\n            element: document.querySelector(\"#completeData\"),\r\n            position: \"right\",\r\n          },\r\n          {\r\n            intro: \"点击可以查看导图，并保存为图片\",\r\n            element: document.querySelector(\"#studyLog_step2\"),\r\n            position: \"bottom\",\r\n          },\r\n        ]);\r\n      },\r\n      studyLog_guide(introSteps) {\r\n        let count = 0;\r\n        const intro = introJs();\r\n        let that = this;\r\n        let initialStates1 = {};\r\n        let initialStates2 = {};\r\n        let initialStates3 = {};\r\n        let itemValue = [];\r\n\r\n        intro.setOptions({\r\n          steps: introSteps,\r\n          /* 当位置选择自动的时候，位置排列的优先级 */\r\n          positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n          prevLabel: \"上一条\",\r\n          nextLabel: \"下一条\",\r\n          skipLabel: \"跳过\",\r\n          // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n          doneLabel: \"下一条\",\r\n          hidePrev: true,\r\n          exitOnOverlayClick: false,\r\n          /* 是否显示说明的数据步骤*/\r\n          showStepNumbers: false,\r\n          /* 是否使用点点点显示进度 */\r\n          showBullets: false,\r\n          /* 是否使用键盘Esc退出 */\r\n          exitOnEsc: false,\r\n          /* 默认提示位置 */\r\n          hintPosition: \"top-left\",\r\n          /* 说明高亮区域的样式 */\r\n          highlightClass: \"index_customHighlight\",\r\n          /* 引导说明文本框的样式 */\r\n          tooltipClass: \"index_customTooltip\",\r\n          disableInteraction: true,\r\n          scrollToElement: false,\r\n          helperElementPadding: 0,\r\n        });\r\n        intro.onchange(function (targetElement) {\r\n          count = this.currentStep() + 1;\r\n        });\r\n        intro.onbeforechange(async (targetElement) => {\r\n          try {\r\n          } catch (error) {\r\n            console.error(\"Error in intro.onbeforechange:\", error);\r\n          }\r\n        });\r\n\r\n        intro.onafterchange(function (targetElement) {\r\n          if (count === 1) {\r\n            EventBus.$emit(\"disableReadOnlyMode\");\r\n            document.getElementsByClassName(\r\n              \"introjs-helperLayer\"\r\n            )[0].style.borderRadius = `${20 / 108}rem`;\r\n            let helperLayer = document.getElementsByClassName(\r\n              \"introjs-helperLayer\"\r\n            )[0];\r\n            let width = parseFloat(helperLayer.style.width) - 7;\r\n            let height = parseFloat(helperLayer.style.height) - 19;\r\n            helperLayer.style.width = `${width}px`;\r\n            helperLayer.style.height = `${height}px`;\r\n            document.getElementsByClassName(\r\n              \"introjs-tooltiptext\"\r\n            )[0].style.display = \"flex\";\r\n            document.getElementsByClassName(\r\n              \"introjs-tooltiptext\"\r\n            )[0].style.justifyContent = \"center\";\r\n            let detailWrapper =\r\n              document.getElementsByClassName(\"detailWrapper\")[0];\r\n            let elements1 = detailWrapper.querySelectorAll(\".course_class_name\");\r\n            elements1.forEach((element) => {\r\n              let computedStyle = getComputedStyle(element);\r\n              if (computedStyle.display !== \"none\") {\r\n                initialStates1 = {\r\n                  innerHTML: element.innerHTML,\r\n                };\r\n\r\n                element.innerHTML = \"智慧人生&nbsp;&nbsp;信仰篇\";\r\n              }\r\n            });\r\n            let elements2 = detailWrapper.querySelectorAll(\r\n              \".ellipsis-content.course_name\"\r\n            );\r\n            elements2.forEach((element) => {\r\n              let computedStyle = getComputedStyle(element);\r\n              if (computedStyle.display !== \"none\") {\r\n                initialStates2 = {\r\n                  innerHTML: element.innerHTML,\r\n                };\r\n\r\n                element.innerHTML = \"人生五大问题\";\r\n              }\r\n            });\r\n            let element3 = detailWrapper.querySelectorAll(\r\n              \".course_intro2.course_intro\"\r\n            );\r\n            element3.forEach((element) => {\r\n              let computedStyle = getComputedStyle(element);\r\n              if (computedStyle.display !== \"none\") {\r\n                initialStates3 = {\r\n                  innerHTML: element.innerHTML,\r\n                  fontSize: element.style.fontSize,\r\n                };\r\n                element.style.fontSize = `${12 / 108}rem`;\r\n                element.innerHTML =\r\n                  \"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。\";\r\n              }\r\n            });\r\n\r\n            let item_elements = detailWrapper.querySelectorAll(\r\n              \".item.item-value.item-value1\"\r\n            );\r\n\r\n            let imgSrc =\r\n              \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAABQZJREFUWEfVmdtPHHUUx79nFpBSLi1QWG5tWgrEVguNbVN6SYyXCkRMk5o2Nho0Ro3GxIdd6t/Qwj4ZWzUaqw8aaxOjJOxW+9ZWaMHYGGO6CzQ2gEBpKffLwswxv1kWdpbdncsuTXaSfZk5l8+eOb9zzvx+hDguZibnVd9hSaZGhZUdBCoikJ3BdiZiiTHC4GEGD0kk3VVs3Nb6QuUNImKrbsmKoqPdWw/CSSI0MKPAjA0i3GdGOxiXXA1VbjO6QtYUsOM37xGSpXPMSq1ZR5HkiaQOtilnXC9WXTdqzxBw8699FSzLLgY3GjVsRo5AbWSzOVqOlffo6ekCi9dPEn3HzJv0jMXznIjGWeHTemkSE9jh6XWAlbMA2+KBMa5LMkj62FW30xVNJyqw0+M7z8zvG3eWOEkiutBaV/lBxLyPdDMQWbk1cQgWLJHNGSnSayIcKFnU9vjSIOrLl8HcGJ7TGmC1GijyrfVeYEbjLRYiSbYDodVDA+x0+35Zr9JlFDJcTpS81vrKV4L3V4BFU8ASrlk1vK56KTgabC6rwG5fB8AH19WxZePU6aqvVLurCrw8G7RbtmdR0UbAid2FqLZn4d74HL69PYT5JSWyNUaDWIAqsNPtvchAk0W/ltQkAppqirG7MHNF39PzAFf7xqLZu+iqr3qLxIjYfMU3bHbqskS5rCRgX68uwh57lsZMLGAx5bW8VGmnx73YxCs9XW3H3qJsDezI9AI+6eyPnhJCOgVHqdnjO6swn9GLmIjKlo1pGJtdxKJibf4WsKeetmNfiRZ2dMaP8zf7MeWXY2JIROfI4b7zI0CvxpJMlQgfHixDSXY6JheW8M2f/+He+Lzef1zz/ORThThQmqO5/3DWj09vDqh29S++TE639zoDh2MJV9sz8UZN8YqIX1ZUaO+DWX0fyxIndhWgdqt2Qh2bW1QjOz5vBFYtaTeo2e3rVcDlsTyX5aTjo9qtGhFZYXz/1zBuD0/pQh9/cguObNuskRsXsLf6MTZnDFYoS6A+EeFpBjbqeX1uRy4aKvM1YgozfvrnPjr6J6Kqv1yVj2e352qeT8wvqbAPZxf13GqeEzBDDo9vCsyrxTCGiUNlOTi+qwASaYe8aOWoviIPz5fnaSxOLQRgR2fMwapGiKYNpUSoxxp7Fl7bY4dNlI2Q69q/j/DzndGVO8d25kH8Qq8Zv6zCjkz7TUU2KBxMCd1FF269Kj8DTXuLkWaTNI+6Bydx6e9hNQXC02fWL+NC1wCGphYswaoBFovOSFmL5GHbpnS8/UwJMlK1n3vDUwuwZz2hUZlblPFZ1wAGJ63DBgzyZcONIxK0PTMN7+4rRXZ6StSozS/J+LxrEP0T5ut2uNFA44hzDs7dkIr39pcgLyNtDfTCkoIvugcsNZmIERCtORHDT1aaDe/sL0VxSCqI5vJl9yDuPpqznLOhiivDj7jpcHu/BvBmPJbTUyQ1p7dv3oBFWcFXfwyidywxsMtcgfFSBQ5s7sU9wIuZQ0xiopH4TLRtQ4EKHeCFgtPT83uiNvkMAZgQEpuGrXUVh5ZLW0Az3sVnwr950UgfoWqUk+kzXwAn3UbK6gJMkq2qYHIl1WZgEDqptlu1kU6SDe0V6GQ6MghCJ9WhTGiVDzQXakncpiF1IoWbE37sFd6a1JMlwikQ6s1ucYmpCww3M37QOzGK1BJ1j71i9dFYR7eBvk/i2DahR7f/A/8+VIuSHMGCAAAAAElFTkSuQmCC\";\r\n            let styles = {\r\n              fontSize: \"0.12962963rem\",\r\n              fontFamily: \"PingFangSC-Medium, PingFang SC\",\r\n              fontWeight: \"500\",\r\n              color: \"#7e878c\",\r\n              lineHeight: \"0.18518519rem\",\r\n              textAlign: \"center\",\r\n            };\r\n            for (let i = 0; i <= 5; i++) {\r\n              let element = item_elements[i];\r\n              itemValue[i] = {\r\n                innerHTML: element.innerHTML,\r\n                style: {},\r\n              };\r\n              let computedStyle = getComputedStyle(element);\r\n              for (let property in computedStyle) {\r\n                itemValue[i].style[property] = computedStyle[property];\r\n              }\r\n              if (computedStyle.display !== \"none\") {\r\n                if (i === 0 || i === 2 || i === 3) {\r\n                  if (!element.querySelector(\"img\")) {\r\n                    let spans = element.querySelectorAll(\"span\");\r\n                    spans.forEach((span) => span.remove());\r\n                    that.addImage(element, imgSrc);\r\n                  }\r\n                } else if (i === 1 || i === 4) {\r\n                  if (!element.querySelector(\"span\")) {\r\n                    let imgs = element.querySelectorAll(\"img\");\r\n                    imgs.forEach((img) => img.remove());\r\n                    that.addSpan(element, \"未完成\", styles);\r\n                  }\r\n                } else if (i === 5) {\r\n                  element.innerHTML = \"2\";\r\n                  element.style.color = \"#73b7d9\";\r\n                }\r\n              }\r\n            }\r\n          } else if (count === 2) {\r\n            let text = \"点击可以查看导图，并保存为图片\";\r\n            let width = text.length * 15;\r\n            document.getElementsByClassName(\r\n              \"index_customTooltip\"\r\n            )[0].style.minWidth = `${(width + 26) / 108}rem`;\r\n            document.getElementsByClassName(\r\n              \"introjs-tooltipReferenceLayer\"\r\n            )[0].style.marginLeft = `-${15 / 108}rem`;\r\n            document.getElementsByClassName(\r\n              \"introjs-arrow\"\r\n            )[0].style.marginLeft = `${25 / 108}rem`;\r\n            document.getElementsByClassName(\r\n              \"introjs-helperLayer\"\r\n            )[0].style.borderRadius = \"0.0462963rem\";\r\n            document.getElementsByClassName(\"introjs-nextbutton\")[0].innerHTML =\r\n              \"知道了\";\r\n          }\r\n        });\r\n\r\n        intro.oncomplete(function (targetElement) {\r\n          let detailWrapper = document.getElementsByClassName(\"detailWrapper\")[0];\r\n          let elements1 = detailWrapper.querySelectorAll(\".course_class_name\");\r\n          elements1.forEach((element) => {\r\n            element.innerHTML = initialStates1.innerHTML;\r\n          });\r\n          let elements2 = detailWrapper.querySelectorAll(\r\n            \".ellipsis-content.course_name\"\r\n          );\r\n          elements2.forEach((element) => {\r\n            element.innerHTML = initialStates2.innerHTML;\r\n          });\r\n          let element3 = detailWrapper.querySelectorAll(\r\n            \".course_intro2.course_intro\"\r\n          );\r\n          element3.forEach((element) => {\r\n            element.innerHTML = initialStates3.innerHTML;\r\n            element.style.fontSize = initialStates3.fontSize;\r\n          });\r\n          let element4 = detailWrapper.querySelectorAll(\r\n            \".item.item-value.item-value1\"\r\n          );\r\n          for (let i = 0; i <= 5; i++) {\r\n            let element = element4[i];\r\n            element.innerHTML = itemValue[i].innerHTML;\r\n            if (i === 5) {\r\n              element.style.color = itemValue[i].style.color;\r\n            }\r\n          }\r\n          // 引导完成，请求真实数据, 关闭guide\r\n          that.guide('close');\r\n          that.setUserGuideStatus();\r\n\r\n\r\n        });\r\n        intro.onexit(function (targetElement) {\r\n          // 点击完成按钮后， 执行的事件\r\n        });\r\n        intro.onskip(function (targetElement) {\r\n          // 点击跳过按钮后， 执行的事件\r\n        });\r\n        intro.start();\r\n      },\r\n      addImage(parentElement, src) {\r\n        let img = document.createElement(\"img\");\r\n        img.src = src;\r\n        img.style.width = \"0.2037037rem\";\r\n        img.style.height = \"0.2037037rem\";\r\n        parentElement.appendChild(img);\r\n      },\r\n      addSpan(parentElement, text, styles) {\r\n        let span = document.createElement(\"span\");\r\n        span.innerHTML = text;\r\n        for (let prop in styles) {\r\n          span.style[prop] = styles[prop];\r\n        }\r\n        parentElement.appendChild(span);\r\n      },\r\n\r\n      async setUserGuideStatus() {\r\n        let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n        guideStatus.studyLog = 1;\r\n        const jsonData = {\r\n          guide_status: JSON.stringify(guideStatus),\r\n        };\r\n        // 设置用户引导状态\r\n        const setUserRes = await setUserGuideStatus(jsonData);\r\n        if (setUserRes.code === 0) {\r\n          // 再次获取用户引导状态\r\n          const updatedRes = await getUserGuideStatus();\r\n          guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n        }\r\n        if (guideStatus) {\r\n          localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n        }\r\n      },\r\n\r\n      popstate(event) {\r\n        history.pushState(null, null, location.href);\r\n      },\r\n      async initStudyLog() {\r\n        if (this.course_class_id) {\r\n          await this.getStudyCourseTopClass();\r\n        }\r\n      }\r\n    },\r\n    created() {},\r\n    activated() {\r\n      console.log('inited  activated');\r\n\r\n    },\r\n    deactivated() {\r\n      this.isActivated = false;\r\n    },\r\n    destroyed() {\r\n      EventBus.$off(\"studyLog_initGuide\", this.guide);\r\n      window.removeEventListener('popstate', this.popstate);\r\n    },\r\n    mounted() {\r\n      console.log('inited  mounted');\r\n      const box = document.getElementById(\"study-log-box\");\r\n      if(box) {\r\n        box.addEventListener(\"wheel\", this.throttledHandleWheel);\r\n        // box.addEventListener(\"wheel\", this.throttledHandleWheel);\r\n      }\r\n      const app_type = localStorage.getItem(\"app_type\");\r\n      if (app_type) {\r\n        this.app_type = app_type;\r\n      }\r\n      this.toggle();\r\n      EventBus.$on(\"studyLog_initGuide\", this.guide);\r\n      EventBus.$on(\"RESIZE\", throttle(this.windowResize, 100));\r\n\r\n      // this.courseId = this.course_id;\r\n\r\n      // 监听popstate事件，即用户试图回退的事件\r\n      window.addEventListener('popstate', this.popstate);\r\n\r\n      const course_class_study1 = this.$route.query.course_class_study1;\r\n      const course_class_study2 = this.$route.query.course_class_study2;\r\n      if(course_class_study1 && course_class_study2) {\r\n        this.shouldInit = true;\r\n        // 找到并展开\r\n        this.course_class_id = course_class_study1;\r\n        this.course_class_study1 = course_class_study1;\r\n        this.course_class_study2 = course_class_study2;\r\n        this.initStudyLog();\r\n      } else {\r\n        this.getStudyCourseTopClass();\r\n      }\r\n\r\n    },\r\n  };\r\n  </script>\r\n  <style scoped lang=\"less\">\r\n  @time: 1s;\r\n  // ------------------------------------------------------\r\n  .goTop(@i) {\r\n    .goTopKeyframe(~` \"slideAni\" + Math.round(Math.random() * 1e8) `, @i);\r\n  }\r\n\r\n  .goTopKeyframe(@name, @i) {\r\n    @keyframes @name {\r\n      0% {\r\n        transform: translateX(@i * -260px);\r\n        // left: 0;\r\n      }\r\n      100% {\r\n        // transform: translateX(@i * -240px);\r\n        transform: translateX(-750px);\r\n        // left: calc(50% - 13px);\r\n        // left: @i * 250 - 750px;\r\n      }\r\n    }\r\n\r\n    animation-name: @name;\r\n    animation-duration: @time;\r\n    animation-timing-function: ease-in-out;\r\n    animation-fill-mode: forwards;\r\n    animation-delay: @i * 0.1s;\r\n  }\r\n\r\n  .css3(@i) when (@i < 10) {\r\n    .item__animm@{i} {\r\n      .goTop(@i);\r\n    }\r\n    .css3((@i + 1));\r\n  }\r\n\r\n  .css3(0);\r\n\r\n  // ---------------------------------------------------------------------\r\n\r\n  .goTop1(@i) {\r\n    .goTopKeyframe1(~` \"slideAni\" + Math.round(Math.random() * 1e8) `, @i);\r\n  }\r\n\r\n  .goTopKeyframe1(@name, @i) {\r\n    @keyframes @name {\r\n      0% {\r\n        transform: translateX(-750px);\r\n        // left: @i * 250 - 750px;\r\n      }\r\n      100% {\r\n        transform: translateX(@i * -260px);\r\n        // transform: translateX(-750px);\r\n        // left: 0;\r\n      }\r\n    }\r\n\r\n    animation-name: @name;\r\n    animation-duration: @time;\r\n    animation-timing-function: ease-in-out;\r\n    animation-fill-mode: forwards;\r\n    // animation-delay: @i * 0.2s;\r\n  }\r\n\r\n  .loop(@i) when (@i < 10) {\r\n    .item__animm1@{i} {\r\n      .goTop1(@i);\r\n    }\r\n    .loop((@i + 1));\r\n  }\r\n\r\n  .loop(0);\r\n\r\n  .loop1(@i) when (@i < 10) {\r\n    .item__anim@{i} {\r\n      // transform: translateX(-750px);\r\n      // left: @i * 250 - 750px;\r\n    }\r\n    .loop1((@i + 1));\r\n  }\r\n\r\n  .loop1(0);\r\n  // -------------------------------------------------\r\n\r\n  .swiper3 {\r\n    .swiper-slide-sub {\r\n      // transition: all 1s ease;\r\n      // transform-origin: center; /* 设置变换的原点为中心 */\r\n    }\r\n\r\n    .swiper3-wrapper {\r\n      transition: all 2s ease;\r\n      transform: translate3d(96px, 0px, 0px);\r\n    }\r\n\r\n    .expanded {\r\n      // transform: translateX(50%) scale(1.5); /* 以中心为原点向两边展开 */\r\n      // opacity: 0.8; /* 非中间的项目降低透明度 */\r\n      // z-index: -1; /* 非中间的项目降低层级 */\r\n\r\n      transition: all 1s ease;\r\n      transform-origin: center; /* 设置变换的原点为中心 */\r\n    }\r\n\r\n    /deep/ .swiper-container {\r\n      width: calc(100% - 116px) !important;\r\n      height: 100%;\r\n      min-height: 460px !important;\r\n    }\r\n  }\r\n\r\n  .right-btn-bg {\r\n    width: 93px;\r\n    height: 100%;\r\n    position: absolute;\r\n    background: rgba(234, 237, 239, 0.9);\r\n    right: 0;\r\n    top: 0;\r\n    z-index: 98;\r\n  }\r\n  .right-btn-bg1 {\r\n    width: 93px;\r\n    height: 100%;\r\n    position: fixed;\r\n    background: rgba(234, 237, 239, 0.9);\r\n    right: 0;\r\n    top: 147px;\r\n    z-index: 98;\r\n  }\r\n\r\n  .left-btn-bg {\r\n    left: 0;\r\n  }\r\n\r\n  .main-content {\r\n    // margin-top: 60px;\r\n    height: 100%;\r\n    background-color: #eaedef;\r\n    overflow: auto;\r\n    z-index: 105;\r\n  }\r\n\r\n  .list-container {\r\n    display: flex;\r\n    justify-content: flex-start;\r\n    flex-wrap: wrap;\r\n    // top: 30px !important;\r\n    overflow-y: auto;\r\n    width: 90% !important;\r\n    margin-left: 93px;\r\n    // padding-top: 26px;\r\n    margin-top: 78px;\r\n    height: calc(100% - 310px);\r\n    min-height: 330px !important;\r\n\r\n    &::-webkit-scrollbar {\r\n      /*滚动条整体样式*/\r\n      width: 5px;\r\n      /*高宽分别对应横竖滚动条的尺寸*/\r\n      height: 100px;\r\n    }\r\n\r\n    &::-webkit-scrollbar-thumb {\r\n      /*滚动条里面小方块*/\r\n      border-radius: 3px;\r\n      background: #64afd5;\r\n    }\r\n\r\n    &::-webkit-scrollbar-track {\r\n      /*滚动条里面轨道*/\r\n      border-radius: 3px;\r\n      background: #eaedef;\r\n    }\r\n\r\n    .cover1 {\r\n      top: 107px !important;\r\n    }\r\n\r\n    .list {\r\n      width: 235px;\r\n      height: 300px;\r\n      margin-right: 20px;\r\n\r\n      .content {\r\n        // margin-top: -2px;\r\n      }\r\n\r\n      .course_class_name {\r\n        padding-top: 15px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .box {\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100%;\r\n    background: #eaedef;\r\n    // padding-top: 60px;\r\n    .title {\r\n      display: flex;\r\n      width: 200px;\r\n      margin: 35px 32px 0;\r\n      align-items: center;\r\n      color: #64afd5;\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      cursor: pointer;\r\n      font-size: 20px;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 30px;\r\n      position: relative;\r\n\r\n      .think_back {\r\n        margin-right: 10px;\r\n        margin-top: 2px;\r\n        width: 10px;\r\n        height: 16px;\r\n      }\r\n    }\r\n    .title-box {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      z-index: 13;\r\n      position: relative;\r\n    }\r\n\r\n    .search {\r\n      margin: 35px 32px 0;\r\n      /deep/ .el-input {\r\n        width: 220px;\r\n        height: 30px;\r\n        padding-left: 0;\r\n      }\r\n\r\n      /deep/ .el-input__inner {\r\n        background-color: #eaedef;\r\n        border: 1px solid #d4d9db;\r\n        border-radius: 20px;\r\n        padding: 0;\r\n        margin: 0;\r\n        padding-left: 30px;\r\n        height: 30px;\r\n        line-height: 30px;\r\n      }\r\n\r\n      /deep/ .el-input__prefix {\r\n        color: #64afd5;\r\n        height: 30px;\r\n      }\r\n    }\r\n\r\n    .content-box1 {\r\n      padding: 73px 0 0 0;\r\n      width: 100%;\r\n      display: flex;\r\n      justify-content: center;\r\n\r\n      &.course_class_name1 {\r\n        font-size: 24px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #64afd5;\r\n        line-height: 36px;\r\n        position: relative;\r\n\r\n        .btns1 {\r\n          position: absolute;\r\n          width: 200px;\r\n          top: 73px;\r\n          right: 0;\r\n          z-index: 10;\r\n\r\n          .card_img {\r\n            width: 21px;\r\n            height: 21px;\r\n          }\r\n\r\n          .list_img {\r\n            width: 31px;\r\n            height: 16px;\r\n          }\r\n\r\n          img {\r\n            cursor: pointer;\r\n\r\n            &:first-child {\r\n              margin-right: 10px;\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      .swiper {\r\n        width: 50%;\r\n        min-width: 500px;\r\n      }\r\n\r\n      /deep/ .swiper-container {\r\n        width: 100%;\r\n        height: 100%;\r\n      }\r\n\r\n      /deep/ .swiper-wrapper {\r\n        align-items: center;\r\n        left: -50%;\r\n      }\r\n\r\n      /deep/ .swiper-slide {\r\n        width: auto !important;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 16px;\r\n        color: rgba(100,175,213,0.5);\r\n        line-height: 36px;\r\n        cursor: pointer;\r\n      }\r\n\r\n      .swiper-slide-active {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 20px;\r\n        color: #64AFD5;\r\n        line-height: 36px;\r\n      }\r\n    }\r\n\r\n    .content-box2 {\r\n      padding: 73px 0 0 0;\r\n    }\r\n\r\n    .content-box {\r\n      padding: 0;\r\n      min-height: 530px;\r\n      position: relative;\r\n      background: #eaedef;\r\n\r\n      .swiper2 {\r\n        // position: absolute;\r\n        background-color: #eaedef;\r\n        width: 1920px !important;\r\n        height: 400px;\r\n\r\n        /deep/ .swiper-container {\r\n          padding-left: 100px;\r\n          height: 400px;\r\n        }\r\n\r\n        /deep/ .swiper-wrapper {\r\n          position: absolute;\r\n          height: 370px;\r\n        }\r\n\r\n        .content {\r\n          margin-top: -9px;\r\n        }\r\n      }\r\n\r\n      .swiper3 {\r\n        position: relative;\r\n        background-color: #eaedef;\r\n        height: 100%;\r\n        top: 0;\r\n\r\n        .swiper-wrapper {\r\n          position: absolute;\r\n          align-items: flex-start;\r\n          width: calc(100% - 116px) !important;\r\n          height: 100%;\r\n        }\r\n      }\r\n\r\n      .swiper {\r\n        width: 100%;\r\n        // height: 600px;\r\n        // height: calc(100% - 134px);\r\n        min-height: 600px;\r\n        // margin-left: 100px;\r\n        position: relative;\r\n        // top: -134px;\r\n      }\r\n\r\n      /deep/ .swiper-container {\r\n        width: 100%;\r\n        height: 100%;\r\n        min-height: 460px;\r\n      }\r\n\r\n      /deep/ .swiper-wrapper {\r\n        align-items: flex-start;\r\n        // left: -150px;\r\n      }\r\n\r\n      .swiper1 {\r\n        /deep/ .swiper-slide {\r\n          &:hover {\r\n            transform: scale(1.2, 1.2) !important;\r\n            transition: all 0.3s ease;\r\n          }\r\n        }\r\n\r\n        .swiper-container {\r\n          height: 320px;\r\n        }\r\n\r\n        /deep/ .swiper-wrapper {\r\n          padding-top: 51px;\r\n        }\r\n      }\r\n\r\n      /deep/ .swiper-slide {\r\n        width: auto !important;\r\n        height: 320px;\r\n        /* Center slide text vertically */\r\n        color: #292929;\r\n        font-family: \"SourceHanSansCN-Medium\";\r\n        // background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n        // background-size: 100%;\r\n        position: relative;\r\n        cursor: pointer;\r\n\r\n        .top {\r\n          width: 100%;\r\n          height: 100%;\r\n          overflow: hidden;\r\n          transition: transform 1000ms ease-in-out;\r\n          display: flex;\r\n          flex-direction: column;\r\n          justify-content: center;\r\n          position: absolute;\r\n        }\r\n\r\n        .classCompleteRatio {\r\n          &::before {\r\n            position: absolute;\r\n            content: \"\";\r\n            width: 1px;\r\n            background-color: #9ac5da;\r\n            left: 35px;\r\n            z-index: 30000000;\r\n            height: 253px;\r\n            top: 19px;\r\n          }\r\n        }\r\n\r\n        .top .item {\r\n          top: 0;\r\n          width: 100%;\r\n        }\r\n\r\n        // .sel .top,\r\n        // .sel .bottom {\r\n        //   background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n        //   background-repeat: no-repeat;\r\n        //   color: #fff;\r\n        // }\r\n\r\n        .evp {\r\n          // position: absolute;\r\n          // top: 0;\r\n          // left: 0;\r\n          // width: 100%;\r\n          // height: 100%;\r\n          perspective: 360px;\r\n          width: 220px !important;\r\n          height: 319px;\r\n          background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n          background-size: 100%;\r\n          background-repeat: no-repeat;\r\n          position: relative;\r\n        }\r\n\r\n        .card {\r\n          width: 20px;\r\n          padding: 116px 0;\r\n          background: #eeecec;\r\n          border-radius: 8px;\r\n          position: absolute;\r\n          top: 33px;\r\n          right: 11px;\r\n          box-shadow: 0 0 5px #ccc;\r\n          z-index: 2;\r\n        }\r\n\r\n        .card1 {\r\n          width: 30px;\r\n          padding: 114px 0;\r\n          background: #eeecec;\r\n          border-radius: 8px;\r\n          position: absolute;\r\n          top: 35px;\r\n          right: 4px;\r\n          -webkit-box-shadow: 0 0 5px #ccc;\r\n          box-shadow: 0 0 8px #ccc;\r\n          z-index: 1;\r\n        }\r\n\r\n        .subList {\r\n          top: 0;\r\n          left: 0;\r\n          height: 230px;\r\n        }\r\n\r\n        // .item {\r\n        //   position: absolute;\r\n        //   left: 0;\r\n        //   height: 200%;\r\n        //   display: flex;\r\n        //   flex-direction: column;\r\n        // }\r\n\r\n        .before {\r\n          z-index: 2;\r\n        }\r\n\r\n        .num {\r\n          font-size: 38px;\r\n          margin: 40px 40px 0 40px;\r\n          cursor: pointer;\r\n        }\r\n\r\n        .pcont {\r\n          font-family: SourceHanSansCN;\r\n          z-index: 10;\r\n          overflow: hidden;\r\n          word-break: break-all;\r\n          word-wrap: break-word;\r\n          white-space: pre-wrap;\r\n          text-overflow: ellipsis;\r\n          -webkit-line-clamp: 4;\r\n          -webkit-box-orient: vertical;\r\n          display: -webkit-box;\r\n          font-size: 32px;\r\n          font-weight: 200;\r\n          color: #ffffff;\r\n          line-height: 42px;\r\n          margin-left: 46px;\r\n          padding-right: 50px;\r\n        }\r\n\r\n        .logRatio {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: rgba(255, 255, 255, 0.4);\r\n          line-height: 53px;\r\n          margin-left: 46px;\r\n\r\n          .complete {\r\n            color: #fff;\r\n            font-weight: 700;\r\n          }\r\n        }\r\n\r\n        .el-icon-circle-check {\r\n          position: absolute;\r\n          font-size: 32px;\r\n          left: 90px;\r\n          bottom: 40px;\r\n          z-index: 10;\r\n          color: #d4d9db;\r\n        }\r\n\r\n        .selnum {\r\n          font-size: 26px;\r\n          margin: 30px 30px 0 30px;\r\n          color: #64afd5;\r\n        }\r\n\r\n        .selTitle {\r\n          margin: 10px 30px 0 30px;\r\n          color: #64afd5;\r\n          font-size: 14px;\r\n          font-family: \"SourceHanSansCN-Medium\";\r\n          overflow: auto;\r\n          // word-break: break-all;\r\n          // word-wrap: break-word;\r\n          // white-space: pre-wrap;\r\n          min-height: 45px;\r\n          border-bottom: 1px solid #64afd5;\r\n        }\r\n\r\n        .selCont {\r\n          margin: 10px 30px 20px 30px;\r\n          height: 108px;\r\n          overflow: hidden;\r\n          display: flex;\r\n          flex-direction: column;\r\n\r\n          .sevcont {\r\n            width: 100%;\r\n            display: flex;\r\n\r\n            .dian {\r\n              content: \"●\";\r\n              width: 4px;\r\n              height: 4px;\r\n              background-color: #64afd5;\r\n              border-radius: 50%;\r\n              margin-right: 5px;\r\n              display: block;\r\n              margin-top: 8px;\r\n            }\r\n\r\n            span {\r\n              width: 150px;\r\n              font: normal normal normal 12px/1 SourceHanSansCN, SourceHanSansCN;\r\n              white-space: pre-wrap;\r\n              word-wrap: break-word;\r\n              word-break: break-all;\r\n              line-height: 20px;\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      .swiper-slide-active {\r\n        // transform: scale(1.2, 1.2);\r\n      }\r\n\r\n      /deep/ .swiper-pagination {\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        z-index: 5;\r\n        bottom: 30px;\r\n      }\r\n\r\n      /deep/ .swiper-pagination2 {\r\n        position: absolute;\r\n        text-align: center;\r\n        transform: translate3d(0, 0, 0);\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        z-index: 5;\r\n        bottom: 0px;\r\n      }\r\n\r\n      /deep/ .swiper-pagination3 {\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        z-index: 5;\r\n        bottom: 0px;\r\n        position: absolute;\r\n      }\r\n\r\n      /deep/ .swiper-pagination-bullet {\r\n        width: 4px;\r\n        height: 4px;\r\n        border: 1px solid #64afd5;\r\n        border-radius: 50%;\r\n        margin-right: 5px;\r\n        cursor: pointer;\r\n        margin-top: 50px;\r\n        background: rgba(0, 0, 0, 0);\r\n        opacity: 1;\r\n      }\r\n\r\n      /deep/ .swiper-pagination-bullet-active {\r\n        width: 9px;\r\n        height: 9px;\r\n        background: #64afd5;\r\n        border: 1px solid #64afd5;\r\n        border-radius: 50%;\r\n      }\r\n\r\n      .btns {\r\n        width: 100%;\r\n        height: 100%;\r\n        position: absolute;\r\n        z-index: 99;\r\n      }\r\n      .btns2 {\r\n        position: absolute;\r\n        z-index: 99;\r\n        width: 93px;\r\n        height: 100%;\r\n        background-color: #eaedef;\r\n      }\r\n\r\n      .swiper-button-prev {\r\n        width: 36px;\r\n        height: 36px;\r\n        top: 38%;\r\n        // left: -50px;\r\n        background-image: url(\"~@/assets/img/think_arrow_left.png\");\r\n        background-size: 100% 100%;\r\n        // transform: rotate(180deg);\r\n      }\r\n\r\n      .opac {\r\n        opacity: 0.3;\r\n        cursor: default;\r\n      }\r\n\r\n      .swiper-button-next {\r\n        width: 52px;\r\n        height: 52px;\r\n        top: 202px;\r\n        right: 29px;\r\n        // right: -50px;\r\n        background-image: url(\"~@/assets/img/think_arrow.png\");\r\n        background-size: 100% 100%;\r\n      }\r\n    }\r\n\r\n    .mask {\r\n      position: absolute;\r\n      width: 100%;\r\n      height: 100%;\r\n      // background-color: red;\r\n      z-index: 100;\r\n      overflow: hidden;\r\n      background: #eaedef;\r\n\r\n      .course_class_name {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #D4D9DB;\r\n        line-height: 21px;\r\n        margin-bottom: 9px;\r\n        height: 21px;\r\n        overflow-y: hidden;\r\n        text-overflow: ellipsis;\r\n        -webkit-line-clamp: 1;\r\n        -webkit-box-orient: vertical;\r\n        display: -webkit-box;\r\n      }\r\n\r\n      .course_name {\r\n        -webkit-line-clamp: 2;\r\n        height: 50px;\r\n        font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 18px;\r\n        color: #64AFD5;\r\n        line-height: 25px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        // padding-left: 26px;\r\n        // padding-right: 23px;\r\n      }\r\n\r\n      .cover {\r\n        width: 220px !important;\r\n        height: 319px;\r\n        position: absolute;\r\n        // top: calc(63% - 10px);\r\n        // transform: scale(1.2);\r\n        left: -32px;\r\n        transform: translate(-50%, -50%) scale(1.2);\r\n        background-image: url(\"~@/assets/img/cardBgsel.png\");\r\n        background-size: 100%;\r\n        background-repeat: no-repeat;\r\n        z-index: 12;\r\n        top: 512px;\r\n        .top {\r\n          width: 100%;\r\n          height: 100%;\r\n          overflow: hidden;\r\n          transition: transform 1000ms ease-in-out;\r\n          display: flex;\r\n          flex-direction: column;\r\n          justify-content: center;\r\n          position: absolute;\r\n        }\r\n\r\n        .classCompleteRatio {\r\n          &::before {\r\n            position: absolute;\r\n            content: \"\";\r\n            width: 1px;\r\n            background-color: #9ac5da;\r\n            left: 35px;\r\n            z-index: 30000000;\r\n            height: 253px;\r\n            top: 19px;\r\n          }\r\n        }\r\n\r\n        .top .item {\r\n          top: 0;\r\n          width: 100%;\r\n        }\r\n        .before {\r\n          z-index: 2;\r\n        }\r\n\r\n        .num {\r\n          font-size: 32px;\r\n          margin: 40px 40px 0 40px;\r\n          cursor: pointer;\r\n        }\r\n\r\n        .pcont {\r\n          font-family: SourceHanSansCN;\r\n          z-index: 10;\r\n          overflow: hidden;\r\n          word-break: break-all;\r\n          word-wrap: break-word;\r\n          white-space: pre-wrap;\r\n          text-overflow: ellipsis;\r\n          -webkit-line-clamp: 4;\r\n          -webkit-box-orient: vertical;\r\n          display: -webkit-box;\r\n          font-size: 32px;\r\n          font-weight: 200;\r\n          color: #ffffff;\r\n          line-height: 42px;\r\n          margin-left: 46px;\r\n          padding-right: 50px;\r\n        }\r\n\r\n        .logRatio {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: rgba(255, 255, 255, 0.4);\r\n          line-height: 53px;\r\n          margin-left: 46px;\r\n\r\n          .complete {\r\n            color: #fff;\r\n            font-weight: 700;\r\n          }\r\n        }\r\n      }\r\n\r\n      .cover1 {\r\n        top: 210px;\r\n        cursor: pointer;\r\n      }\r\n\r\n      .cover2 {\r\n        top: 167px;\r\n      }\r\n\r\n      .swiper3 {\r\n        position: relative;\r\n        background-color: #eaedef;\r\n        z-index: 11;\r\n        display: flex;\r\n        justify-content: center;\r\n        // margin-left: 60px;\r\n        // width: calc(100% - 60px);\r\n        // padding-left: 60px;\r\n        // /deep/ .swiper-slide {\r\n        //   height: 340px;\r\n        // }\r\n      }\r\n\r\n      .swiper2 {\r\n        // position: absolute;\r\n        background-color: #eaedef;\r\n        z-index: 10;\r\n      }\r\n\r\n\r\n      .swiper-button {\r\n        position: absolute;\r\n        width: 52px;\r\n        height: 52px;\r\n        background-image: url(\"~@/assets/img/think_arrow.png\");\r\n        background-size: 100% 100%;\r\n        top: 180px;\r\n        right: 29px;\r\n        z-index: 100;\r\n        cursor: pointer;\r\n      }\r\n\r\n      .prev-swiper-button  {\r\n        position: absolute;\r\n        width: 52px;\r\n        height: 52px;\r\n        background-image: url(\"~@/assets/img/think_arrow.png\");\r\n        background-size: 100% 100%;\r\n        transform: rotate(180deg);\r\n        // top: 37%;\r\n        left: 0;\r\n        z-index: 100;\r\n        cursor: pointer;\r\n      }\r\n\r\n      .btns {\r\n        width: 93px;\r\n        height: 100%;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        top: 0;\r\n        background-color: #eaedef;\r\n        // transform: translateY(-50%);\r\n      }\r\n\r\n      .swiper-slide-sub {\r\n        height: 305px;\r\n        position: absolute;\r\n        padding-top: 23px;\r\n        cursor: pointer;\r\n        .evp {\r\n          // position: absolute;\r\n          // top: 0;\r\n          // left: 0;\r\n          // width: 100%;\r\n          // height: 100%;\r\n          perspective: 360px;\r\n          width: 224px !important;\r\n          height: 300px;\r\n          background-image: none;\r\n          position: relative;\r\n        }\r\n      }\r\n\r\n      .items {\r\n        display: flex;\r\n        padding-bottom: 5px;\r\n\r\n        .item {\r\n          // width: 50%;\r\n        }\r\n\r\n        .item-name {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #7e878c;\r\n          line-height: 21px;\r\n          text-align: right;\r\n          // padding-right: 6px;\r\n          height: 24px;\r\n          line-height: 24px;\r\n          width: 52%;\r\n        }\r\n\r\n        .item-name1 {\r\n          // padding-right: 5px;\r\n          // padding-left: 26px;\r\n        }\r\n\r\n        .item-value {\r\n          font-size: 14px;\r\n          font-family: PingFangSC-Medium, PingFang SC;\r\n          font-weight: 500;\r\n          color: #7e878c;\r\n          line-height: 24px;\r\n          text-align: center;\r\n          padding-left: 9px;\r\n          padding-top: 1px;\r\n          height: 24px;\r\n          width: 48%;\r\n        }\r\n\r\n        .item-value1 {\r\n          padding-left: 10px;\r\n        }\r\n\r\n        .experience_num {\r\n          color: #64AFD5;\r\n        }\r\n\r\n        .experience_num1 {\r\n          font-size: 18px;\r\n        }\r\n\r\n        .complete {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n        }\r\n\r\n        .complete1 {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n\r\n          img {\r\n            margin-left: -1px;\r\n          }\r\n        }\r\n\r\n        img {\r\n          width: 20px;\r\n          height: 20px;\r\n        }\r\n      }\r\n\r\n      .coverStatus1 {\r\n        cursor: pointer;\r\n        -webkit-animation: coverStatus1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus1 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus1 {\r\n        0% {\r\n          left: calc(50%);\r\n        }\r\n        100% {\r\n          left: -60px;\r\n        }\r\n      }\r\n      @keyframes coverStatus1 {\r\n        0% {\r\n          left: calc(50%);\r\n        }\r\n        100% {\r\n          left: -60px;\r\n        }\r\n      }\r\n\r\n      .coverStatus2 {\r\n        -webkit-animation: coverStatus2 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus2 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus2 {\r\n        0% {\r\n          left: -60px;\r\n        }\r\n        100% {\r\n          left: calc(50%);\r\n        }\r\n      }\r\n      @keyframes coverStatus2 {\r\n        0% {\r\n          left: -60px;\r\n        }\r\n        100% {\r\n          left: calc(50%);\r\n        }\r\n      }\r\n\r\n      .coverStatus4 {\r\n        -webkit-animation: coverStatus4 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus4 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus4 {\r\n        0% {\r\n          left: -60px;\r\n        }\r\n        100% {\r\n          left: 167px;\r\n        }\r\n      }\r\n      @keyframes coverStatus4 {\r\n        0% {\r\n          left: -60px;\r\n        }\r\n        100% {\r\n          left: 167px;\r\n        }\r\n      }\r\n\r\n      .coverStatus5 {\r\n        -webkit-animation: coverStatus5 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus5 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus5 {\r\n        0% {\r\n          left: 167px;\r\n        }\r\n        100% {\r\n          left: -60px;\r\n        }\r\n      }\r\n      @keyframes coverStatus5 {\r\n        0% {\r\n          left: 167px;\r\n        }\r\n        100% {\r\n          left: -60px;\r\n        }\r\n      }\r\n\r\n      .coverStatus6 {\r\n        -webkit-animation: coverStatus6 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus6 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus6 {\r\n        0% {\r\n          left: 0;\r\n          transform: translate(41px, -431px);\r\n        }\r\n        0% {\r\n          left: 50%;\r\n          transform: translate(-50%, -431px);\r\n        }\r\n      }\r\n      @keyframes coverStatus6 {\r\n        0% {\r\n          left: 0;\r\n          transform: translate(41px, -431px);\r\n        }\r\n        0% {\r\n          left: 50%;\r\n          transform: translate(-50%, -431px);\r\n        }\r\n      }\r\n\r\n      .coverStatus7 {\r\n        -webkit-animation: coverStatus7 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus7 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus7 {\r\n        0% {\r\n          left: -60px;\r\n        }\r\n        100% {\r\n          left: -264px;\r\n        }\r\n      }\r\n      @keyframes coverStatus7 {\r\n        0% {\r\n          left: -60px;\r\n        }\r\n        100% {\r\n          left: -264px;\r\n        }\r\n      }\r\n\r\n      .coverStatus8 {\r\n        -webkit-animation: coverStatus8 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus8 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus8 {\r\n        0% {\r\n          left: -264px;\r\n        }\r\n        100% {\r\n          left: -60px;\r\n        }\r\n      }\r\n      @keyframes coverStatus8 {\r\n        0% {\r\n          left: -264px;\r\n        }\r\n        100% {\r\n          left: -60px;\r\n        }\r\n      }\r\n\r\n      .coverStatus9 {\r\n        -webkit-animation: coverStatus9 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus9 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus9 {\r\n        0% {\r\n          transform: translate(41px, -431px);\r\n        }\r\n        100% {\r\n          transform: translate(-200px, -431px);\r\n        }\r\n      }\r\n      @keyframes coverStatus9 {\r\n        0% {\r\n          transform: translate(41px, -431px);\r\n        }\r\n        100% {\r\n          transform: translate(-200px, -431px);\r\n        }\r\n      }\r\n\r\n      .coverStatus10 {\r\n        -webkit-animation: coverStatus10 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n        animation: coverStatus10 0.8s ease-in-out;\r\n        animation-fill-mode: forwards;\r\n      }\r\n\r\n      @-webkit-keyframes coverStatus10 {\r\n        0% {\r\n          transform: translate(-200px, -431px);\r\n        }\r\n        100% {\r\n          transform: translate(41px, -431px);\r\n        }\r\n      }\r\n      @keyframes coverStatus10 {\r\n        0% {\r\n          transform: translate(-200px, -431px);\r\n        }\r\n        100% {\r\n          transform: translate(41px, -431px);\r\n        }\r\n      }\r\n\r\n      .coverStatus3 {\r\n        left: -60px;\r\n      }\r\n\r\n      .listCover {\r\n        left: -60px;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n  }\r\n\r\n  /deep/ .el-progress-bar__outer {\r\n    background-color: #e4e7e8;\r\n  }\r\n\r\n  .detailWrapper {\r\n    position: absolute;\r\n    height: calc(100% - 120px);\r\n    width: 100%;\r\n    top: 67px;\r\n  }\r\n\r\n  .detail {\r\n    width: calc(100% - 346px);\r\n    margin-top: 12px;\r\n    margin-left: 314px;\r\n    z-index: 999;\r\n    position: relative;\r\n    overflow-y: auto;\r\n    height: 100%;\r\n    padding-bottom: 30px;\r\n    border-radius: 16px;\r\n  }\r\n\r\n  .completeDetail {\r\n    -webkit-animation: completeDetail 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: completeDetail 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @-webkit-keyframes completeDetail {\r\n    0% {\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  @keyframes completeDetail {\r\n    0% {\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  .hideTitle {\r\n    -webkit-animation: hideTitle 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: hideTitle 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @-webkit-keyframes hideTitle {\r\n    0% {\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  @keyframes hideTitle {\r\n    0% {\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  .showTitle {\r\n    -webkit-animation: showTitle 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: showTitle 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @-webkit-keyframes showTitle {\r\n    0% {\r\n      opacity: 0;\r\n    }\r\n    100% {\r\n      opacity: 1;\r\n    }\r\n  }\r\n\r\n  @keyframes showTitle {\r\n    0% {\r\n      opacity: 0;\r\n    }\r\n    100% {\r\n      opacity: 1;\r\n    }\r\n  }\r\n\r\n  .no-swiping {\r\n    pointer-events: none;\r\n  }\r\n\r\n  .swiping {\r\n    pointer-events: all;\r\n    .content {\r\n      padding: 0 32px 0 26px;\r\n    }\r\n  }\r\n\r\n  .course_intro2_border {\r\n    margin: 0 26px 0 26px;\r\n    -webkit-animation: course_intro2_border 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: course_intro2_border 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n    border-top: 1px solid #F3F3F4;\r\n  }\r\n\r\n  @-webkit-keyframes course_intro2_border {\r\n    0% {\r\n      padding-bottom: 0;\r\n      border-top: 0 solid #f3f3f4;\r\n    }\r\n    100% {\r\n      padding-bottom: 20px;\r\n      border-top: 1px solid #f3f3f4;\r\n    }\r\n  }\r\n\r\n  @keyframes course_intro2_border {\r\n    0% {\r\n      padding-bottom: 0;\r\n      border-top: 0 solid #f3f3f4;\r\n    }\r\n    100% {\r\n      padding-bottom: 20px;\r\n      border-top: 1px solid #f3f3f4;\r\n    }\r\n  }\r\n\r\n  .course_intro2_border1 {\r\n    border-top: 0 solid #f3f3f4;\r\n    margin: 0 26px 0 26px;\r\n    -webkit-animation: course_intro2_border1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: course_intro2_border1 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @-webkit-keyframes course_intro2_border1 {\r\n    0% {\r\n      padding-bottom: 20px;\r\n      border-top: 0 solid #f3f3f4;\r\n    }\r\n    100% {\r\n      padding-bottom: 0;\r\n      border-top: 0 solid #f3f3f4;\r\n    }\r\n  }\r\n\r\n  @keyframes course_intro2_border1 {\r\n    0% {\r\n      padding-bottom: 20px;\r\n      border-top: 1px solid #f3f3f4;\r\n    }\r\n    100% {\r\n      padding-bottom: 0;\r\n      border-top: 0 solid #f3f3f4;\r\n    }\r\n  }\r\n\r\n  .course_null {\r\n    display: flex !important;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    align-items: center;\r\n\r\n    img {\r\n      width: 45px;\r\n      height: 45px;\r\n    }\r\n  }\r\n\r\n  .course_intro2 {\r\n    position: relative;\r\n    overflow: hidden;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7E878C;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    word-break: break-all;\r\n    word-wrap: break-word;\r\n    white-space: pre-wrap;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 3;\r\n    -webkit-box-orient: vertical;\r\n    display: -webkit-box;\r\n    height: 0;\r\n    // padding: 0 26px;\r\n  }\r\n\r\n  .course_intro {\r\n    -webkit-animation: courseIntro 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: courseIntro 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @-webkit-keyframes courseIntro {\r\n    0% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n    100% {\r\n      height: 54px;\r\n      margin: 0 0 20px;\r\n    }\r\n  }\r\n\r\n  @keyframes courseIntro {\r\n    0% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n    100% {\r\n      height: 54px;\r\n      margin: 0 0 20px;\r\n    }\r\n  }\r\n\r\n  .course_intro1 {\r\n    -webkit-animation: courseIntro1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: courseIntro1 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @-webkit-keyframes courseIntro1 {\r\n    0% {\r\n      height: 63px;\r\n      margin: 0 0 20px;\r\n    }\r\n    100% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n  }\r\n\r\n  @keyframes courseIntro1 {\r\n    0% {\r\n      height: 63px;\r\n      margin: 0 0 20px;\r\n    }\r\n    100% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n  }\r\n\r\n  #completeData {\r\n    background-image: url(/static/img/cardBg3.963cba3.png);\r\n    background-size: 100% 100%;\r\n    padding: 22px 0 0 0;\r\n    min-height: 305px;\r\n\r\n    .course_class_name {\r\n      // padding-bottom: 9px;\r\n    }\r\n\r\n    .items {\r\n      // padding-bottom: 11px;\r\n    }\r\n\r\n    .item-name {\r\n      // padding-right: 6px;\r\n    }\r\n\r\n    .item-value {\r\n      padding-left: 9px;\r\n    }\r\n  }\r\n\r\n  // .swiperWrapperTop {\r\n  //   -webkit-animation: swiperWrapperTop1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  //   animation: swiperWrapperTop1 0.8s ease-in-out;\r\n  //   animation-fill-mode: forwards;\r\n  // }\r\n  // @keyframes swiperWrapperTop1 {\r\n  //   0% {\r\n  //     top: 0;\r\n  //   }\r\n  //   100% {\r\n  //     top: 85px;\r\n  //   }\r\n  // }\r\n  // @-webkit-keyframes swiperWrapperTop1 {\r\n  //   0% {\r\n  //     top: 0;\r\n  //   }\r\n  //   100% {\r\n  //     top: 85px;\r\n  //   }\r\n  // }\r\n\r\n  // .swiperWrapperDown {\r\n  //   -webkit-animation: swiperWrapperDown 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  //   animation: swiperWrapperDown 0.8s ease-in-out;\r\n  //   animation-fill-mode: forwards;\r\n  // }\r\n  // @keyframes swiperWrapperDown {\r\n  //   0% {\r\n  //     top: 85px;\r\n  //   }\r\n  //   100% {\r\n  //     top: 0;\r\n  //   }\r\n  // }\r\n  // @-webkit-keyframes swiperWrapperDown {\r\n  //   0% {\r\n  //     top: 85px;\r\n  //   }\r\n  //   100% {\r\n  //     top: 0;\r\n  //   }\r\n  // }\r\n\r\n  .swiperScrollUp {\r\n    -webkit-animation: swiperScrollUp 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: swiperScrollUp 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @keyframes swiperScrollUp {\r\n    0% {\r\n      // height: calc(100% - 244px);\r\n      height: 100%;\r\n      top: 0;\r\n    }\r\n    100% {\r\n      height: 100%;\r\n      top: -244px;\r\n    }\r\n  }\r\n\r\n  @-webkit-keyframes swiperScrollUp {\r\n    0% {\r\n      top: 0;\r\n    }\r\n    100% {\r\n      top: -244px;\r\n    }\r\n  }\r\n\r\n  .swiperScrollDown {\r\n    -webkit-animation: swiperScrollDown 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: swiperScrollDown 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n\r\n  @-webkit-keyframes swiperScrollDown {\r\n    0% {\r\n      top: -244px;\r\n    }\r\n    100% {\r\n      top: 0;\r\n    }\r\n  }\r\n\r\n  @keyframes swiperScrollDown {\r\n    0% {\r\n      top: -244px;\r\n    }\r\n    100% {\r\n      top: 0;\r\n    }\r\n  }\r\n\r\n  /deep/ .el-input__icon {\r\n    width: 25px;\r\n    line-height: 30px;\r\n  }\r\n  /deep/ .detailWrapper {\r\n    // height: 100%;\r\n  }\r\n  </style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/studyLog/IndexMobile.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : '']},[_c('div',{staticClass:\"box\",attrs:{\"id\":\"study-log-box\"}},[_c('div',{staticClass:\"title\",on:{\"click\":_vm.back}},[_c('img',{staticClass:\"think_back\",attrs:{\"src\":require(\"@/assets/img/think_back.svg\")}}),_vm._v(\"\\n        \"+_vm._s(_vm.app_type == 2 ? \"修学日志\" : \"学习日志\")+\"\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"content-box1\"},[_c('div',{staticClass:\"swiper\"},[_c('swiper',{ref:\"mySwiperTab\",attrs:{\"options\":_vm.swiperOptions1}},_vm._l((_vm.slidesTopClass),function(item,i){return _c('swiper-slide',{key:i,attrs:{\"id\":(\"slide1\" + i)}},[_vm._v(\"\\n            \"+_vm._s(item.course_class_name)+\"\\n          \")])}),1)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\"},[_c('div',{staticClass:\"swiper swiper1\",attrs:{\"id\":\"swiper1\"}},[_c('swiper',{ref:\"mySwiper\",attrs:{\"options\":_vm.swiperOptions}},[_vm._l((_vm.slides),function(item,i){return _c('swiper-slide',{key:i,attrs:{\"id\":(\"slide\" + i)}},[_c('div',{staticClass:\"card\"}),_vm._v(\" \"),_c('div',{staticClass:\"card1\"}),_vm._v(\" \"),_c('div',{staticClass:\"evp before\",class:item.status == 1 ? 'sel' : '',attrs:{\"id\":(\"elBefore\" + i)}},[_c('div',[_c('div',{staticClass:\"top classCompleteRatio\"},[_c('span',{staticClass:\"pcont\"},[_vm._v(_vm._s(item.course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"logRatio\"},[_c('span',[_vm._v(\"日志  \")]),_vm._v(\" \"),_c('span',{staticClass:\"complete\"},[_vm._v(_vm._s(item.complete_course))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(\"/\" + item.course_count))])])])])])])}),_vm._v(\" \"),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2),_vm._v(\" \"),_c('div',{staticClass:\"right-btn-bg left-btn-bg\"},[_c('div',{staticClass:\"btns\"},[_c('div',{staticClass:\"swiper-button-prev\",class:!_vm.prevFlag ? 'opac' : '',on:{\"click\":_vm.prev}})])]),_vm._v(\" \"),_c('div',{staticClass:\"right-btn-bg\"},[_c('div',{staticClass:\"btns\",style:({ right: _vm.$px2rem(0) })},[_c('div',{staticClass:\"swiper-button-next\",class:!_vm.nextFlag ? 'opac' : '',on:{\"click\":_vm.next}})])])],1)]),_vm._v(\" \"),(_vm.showMask)?_c('div',{staticClass:\"content-box mask\"},[_c('div',{staticClass:\"title-box title3\"},[_c('div',{staticClass:\"title\",on:{\"click\":_vm.goBack}},[_c('img',{staticClass:\"think_back\",attrs:{\"src\":require(\"@/assets/img/think_back.svg\")}}),_vm._v(\"\\n          \"+_vm._s(_vm.app_type == 2 ? \"修学日志\" : \"学习日志\")+\"\\n        \")]),_vm._v(\" \"),(!_vm.showDetail)?_c('div',{staticClass:\"search\"},[_c('el-input',{attrs:{\"placeholder\":\"搜索\",\"prefix-icon\":\"el-icon-search\",\"type\":\"text\"},on:{\"input\":_vm.changeSearch},model:{value:(_vm.keywords),callback:function ($$v) {_vm.keywords=$$v},expression:\"keywords\"}})],1):_vm._e()]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"content-box1 content-box2 course_class_name1\"},[_c('span',[_vm._v(_vm._s(_vm.course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"btns1\"},[(_vm.showList)?_c('img',{staticClass:\"list_img\",attrs:{\"src\":require(\"@/assets/img/course_swiper.svg\")},on:{\"click\":function($event){return _vm.showListFn(false)}}}):_c('img',{staticClass:\"list_img\",attrs:{\"src\":require(\"@/assets/img/course_swiper_sel.svg\")}}),_vm._v(\" \"),(!_vm.showList)?_c('img',{staticClass:\"card_img\",attrs:{\"src\":require(\"@/assets/img/course_list.svg\")},on:{\"click\":function($event){return _vm.showListFn(true)}}}):_c('img',{staticClass:\"card_img\",attrs:{\"src\":require(\"@/assets/img/course_list_sel.svg\")}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"100%\",\"position\":\"fixed\",\"width\":\"100%\"}},[_c('div',{ref:\"swiper3\",staticClass:\"swiper swiper3\",class:[_vm.canHover ? 'canHover' : '', _vm.swiperScrollClass],attrs:{\"id\":\"swiper3\"}},[(_vm.showMask)?_c('div',{ref:\"cover\",staticClass:\"cover cover1\",class:_vm.coverStatus,attrs:{\"id\":\"cover1\"},on:{\"click\":_vm.hideMask}},[_c('div',[_c('div',{staticClass:\"top classCompleteRatio\"},[_c('span',{staticClass:\"pcont\",attrs:{\"id\":\"pcont\"}},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"logRatio\",attrs:{\"id\":\"logRatio\"}},[_c('span',[_vm._v(\"日志  \")]),_vm._v(\" \"),_c('span',{staticClass:\"complete\"},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].complete_course))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(\"/\" + _vm.slides[_vm.clickIndex].course_count))])])])])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"slidesClassTotalSwiper\",class:(\"swiper-wrapper \" + (_vm.studyLogGuideMode === 0 ? 'guideBox' : '')),attrs:{\"id\":\"slidesClassTotalSwiper\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showMask),expression:\"showMask\"}],staticClass:\"cover\",class:_vm.coverListStatus,staticStyle:{\"cursor\":\"pointer\",\"z-index\":\"99\"},attrs:{\"id\":\"coverList\"},on:{\"click\":_vm.hideMask}},[_c('div',[_c('div',{staticClass:\"top classCompleteRatio\"},[_c('span',{staticClass:\"pcont\"},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].course_class_name))]),_vm._v(\" \"),_c('div',{staticClass:\"logRatio\"},[_c('span',[_vm._v(\"日志  \")]),_vm._v(\" \"),_c('span',{staticClass:\"complete\"},[_vm._v(_vm._s(_vm.slides[_vm.clickIndex].complete_course))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(\"/\" + _vm.slides[_vm.clickIndex].course_count))])])])])]),_vm._v(\" \"),_vm._l((_vm.slidesClassTotal),function(item,i){return _c('div',{key:i,staticClass:\"swiper-slide-sub\",style:({\n                  backgroundImage:\n                    'url(' + require('@/assets/img/cardBg3.png') + ')',\n                  backgroundSize: '100% 100%'\n                }),attrs:{\"id\":(\"slide\" + i)}},[_c('div',{staticClass:\"evp before swiping\",class:[],attrs:{\"id\":(\"elBefore\" + i)},on:{\"click\":function($event){return _vm.toDetail(i, $event, item)}}},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"course_class_name\"},[(item.course_class_name1)?_c('span',[_vm._v(_vm._s(item.course_class_name1 + \"  \"))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.course_class_name2))])]),_vm._v(\" \"),_c('span',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(item.course_name)+\"\\n                      \")]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.mindmap_complete == 1 ? 'complete' : ''},[(item.mindmap_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.question_complete == 1 ? 'complete' : ''},[(item.question_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                          \"+_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\")+\"\\n                        \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.solve_complete == 1 ? 'complete' : ''},[(item.solve_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                          观念的禅修\\n                        \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.guannian_complete == 1 ? 'complete' : ''},[(item.guannian_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                          心态的禅修\\n                        \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:item.xintai_complete == 1 ? 'complete' : ''},[(item.xintai_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"发布心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1 experience_num1\",class:[item && item.experience_num > 0 ? 'experience_num' : '']},[_vm._v(\"\\n                          \"+_vm._s(item.experience_num)+\"\\n                        \")])])])])])])})],2),_vm._v(\" \"),(_vm.showDetail)?_c('div',{staticClass:\"right-btn-bg1\"}):_vm._e(),_vm._v(\" \"),(_vm.showLeftBtnList && !_vm.showDetail)?_c('div',{staticClass:\"swiper-button prev-swiper-button\",class:!_vm.prevFlag2 ? 'opac' : '',on:{\"click\":_vm.prev2}}):_vm._e(),_vm._v(\" \"),(!_vm.showDetail && !_vm.showList)?_c('div',{staticClass:\"btns2\",staticStyle:{\"right\":\"0\"}},[_c('div',{staticClass:\"swiper-button\",class:!_vm.nextFlag2 ? 'opac' : '',on:{\"click\":_vm.next2}})]):_vm._e()])])]),_vm._v(\" \"),(_vm.showDetail)?_c('div',{staticClass:\"detailWrapper\"},[_c('div',{style:({\n            position: 'absolute',\n            width: _vm.$px2rem(224),\n            zIndex: 999\n          }),attrs:{\"id\":\"completeData\"},on:{\"click\":_vm.toCultureContent}},[_c('div',{staticClass:\"evp before swiping\"},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"course_class_name\"},[(_vm.completeData.course_class_name1)?_c('span',[_vm._v(_vm._s(_vm.completeData.course_class_name1 + \"  \"))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.completeData.course_class_name2))])]),_vm._v(\" \"),_c('span',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(_vm.completeData.course_name)+\"\\n                \")]),_vm._v(\" \"),(\n                    _vm.showDetail &&\n                      !_vm.data.course_intro_short\n                  )?_c('div',{staticClass:\"course_intro2 course_null\"},[_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_c('span',{staticClass:\"course_intro2 22\",domProps:{\"innerHTML\":_vm._s(_vm.data.course_intro_short)}}),_vm._v(\" \"),(_vm.showDetail)?_c('div',{staticClass:\"course_intro2_border2 course_intro2_border\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.mindmap_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.question_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                    \"+_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\")+\"\\n                  \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.solve_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                    观念的禅修\\n                  \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.guannian_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                    心态的禅修\\n                  \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData.xintai_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"发布心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1 experience_num1\"},[_vm._v(\"\\n                    \"+_vm._s(_vm.completeData.experience_num || 0)+\"\\n                  \")])])])])])]),_vm._v(\" \"),(_vm.showLogDetail)?_c('div',{staticClass:\"detail\",attrs:{\"id\":\"completeDetail\"}},[_c('Detail',{ref:\"detail\",attrs:{\"studyLogGuideMode\":_vm.studyLogGuideMode,\"data\":_vm.data}})],1):_vm._e()]):_vm._e()]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-11053f3e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/studyLog/IndexMobile.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-11053f3e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./IndexMobile.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./IndexMobile.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./IndexMobile.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-11053f3e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./IndexMobile.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-11053f3e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/studyLog/IndexMobile.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMThweCIgdmlld0JveD0iMCAwIDIwLjAgMTguMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuMTUwMzE5OCwwIEMxNS44MjkxOTA4LDAgMTgsMi4yMDE1NDYzMiAxOCw0LjkxNjc4Njc5IEMxOCw5LjcyNTI0MzUyIDguOTk5NjU1MzIsMTYgOC45OTk2NTUzMiwxNiBDOC45OTk2NTUzMiwxNiAwLDkuNzI1MjQzNTIgMCw0LjkxNjc4Njc5IEMwLDIuMjAxNTQ2MzIgMi4xNzA4MDkyNCwwIDQuODQ4OTkwODUsMCBDNi42MDg5Mzg3NiwwIDguMTUwMzU4MDksMC45NTEyMDc3OTMgOC45OTk2NTUzMiwyLjM3MzQ3NjYxIEM5Ljg0OTY0MTkxLDAuOTUxMjA3NzkzIDExLjM5MDM3MTksMCAxMy4xNTAzMTk4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00MDguMCAtMzMxLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMzkuMCAxODUuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcwLjAgMTQ3LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAxOCwwIDE4LDE2IDAsMTYgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM2M0FGRDUiPjwvcG9seWdvbj48L2c+PHBhdGggZD0iTTE4LDQuOTE2Nzg2NzkgQzE4LDIuMjAxNTQ2MzIgMTUuODI5MTkwOCwwIDEzLjE1MDMxOTgsMCBDMTEuMzkwMzcxOSwwIDkuODQ5NjQxOTEsMC45NTEyMDc3OTMgOC45OTk2NTUzMiwyLjM3MzQ3NjYxIEM4LjE1MDM1ODA5LDAuOTUxMjA3NzkzIDYuNjA4OTM4NzYsMCA0Ljg0ODk5MDg1LDAgQzIuMTcwODA5MjQsMCAwLDIuMjAxNTQ2MzIgMCw0LjkxNjc4Njc5IEMwLDkuNzI1MjQzNTIgOC45OTk2NTUzMiwxNiA4Ljk5OTY1NTMyLDE2IEM4Ljk5OTY1NTMyLDE2IDE4LDkuNzI1MjQzNTIgMTgsNC45MTY3ODY3OSBaIiBzdHJva2U9IiM2M0FGRDUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/collection.svg\n// module id = Rtwf\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"wrapper\">\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"is_collect == 2 && datas.length && courseIsuseradd != 3 && !isEdit && showCollect\"\r\n\r\n    >\r\n      <img @click=\"addUserCollection(1)\" src=\"@/assets/img/mind_collect.svg\" />\r\n      <span @click=\"addUserCollection(1)\">收藏图片</span>\r\n    </div>\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"is_collect == 1 && datas.length && courseIsuseradd != 3 && !isEdit && showCollect\"\r\n    >\r\n      <img @click=\"addUserCollection(2)\" src=\"@/assets/img/mind_collected.svg\" />\r\n      <span @click=\"addUserCollection(2)\">取消收藏</span>\r\n    </div>\r\n    <div class=\"images\" v-if=\"datas.length\">\r\n      <div class=\"image\" v-for=\"(item, index) in datas\" :key=\"'image' + index\">\r\n        <img\r\n          class=\"check\"\r\n          :src=\"\r\n            ids.indexOf(index) > -1\r\n              ? require('@/assets/img/mind_checked.png')\r\n              : require('@/assets/img/mind_check.png')\r\n          \"\r\n          @click=\"changeCheck(index)\"\r\n          v-if=\"isEdit\"\r\n        />\r\n        <el-image :src=\"item\" :preview-src-list=\"imgUrls\" :fit=\"'fill'\">\r\n          <div slot=\"placeholder\" class=\"image-slot\">\r\n            加载中<span class=\"dot\">...</span>\r\n          </div>\r\n        </el-image>\r\n      </div>\r\n    </div>\r\n    <div class=\"none_wrapper\" v-if=\"courseIsuseradd != 3 || isAdmin\">\r\n      <div v-if=\"datas.length === 0\" class=\"none_wrapper_box_wrapper\">\r\n        <div class=\"none_wrapper_box\">\r\n          <img\r\n            ref=\"imgRef\"\r\n            @click=\"uploadImages\"\r\n            src=\"@/assets/img/upload_image.svg\"\r\n          />\r\n          <p>上传图片</p>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"outlineNone\"\r\n      v-if=\"datas.length === 0 && courseIsuseradd == 3 && !isAdmin\"\r\n    >\r\n      <img src=\"@/assets/img/recommend_none.svg\" />\r\n      <p class=\"none\">暂无数据</p>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { addUserCollection } from \"@/api/index\";\r\nimport { base64ToBlob } from '@/utils/indexDb';\r\n\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    datas: {\r\n      type: Array,\r\n      default: []\r\n    },\r\n    imageProgress: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    isEdit: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    imagesName: {\r\n      type: Array,\r\n      default: []\r\n    },\r\n    isAdmin: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    courseIsuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    showCollect: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      imgUrls: [],\r\n      ids: [],\r\n      checks: [],\r\n      is_collect: 2,\r\n      loading: false\r\n    };\r\n  },\r\n  computed: {\r\n  },\r\n  watch: {\r\n    datas(newVal) {\r\n      if (newVal) {\r\n        this.init();\r\n      }\r\n    },\r\n    imageProgress: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          console.log(v, this.$refs.imgRef, this.$refs.progressRef);\r\n          this.$refs.imgRef.style.zIndex = 0;\r\n          this.$refs.progressRef.style.zIndex = 10;\r\n        }\r\n      }\r\n    },\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          console.log(\"dataPro:\", this.dataPro);\r\n          this.is_collect = this.dataPro\r\n          ? this.dataPro.is_collect_studythinkimg\r\n          : 2;\r\n        }\r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    async addUserCollection(operate_type) {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      let params = {\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_isuseradd: this.dataPro.mindmap_isuseradd,\r\n        collect_type: 5,\r\n        operate_type,\r\n        course_id: this.course_id,\r\n        mindmap_type: 2,\r\n        mindmap_id: this.dataPro.mindmap_id\r\n      };\r\n      console.log(\"addUserCollection:\", params);\r\n      try {\r\n        const res = await addUserCollection(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.is_collect = operate_type;\r\n          this.$emit(\"addUserCollection\", this.is_collect);\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    uploadImages() {\r\n      this.$emit(\"uploadImages\");\r\n    },\r\n    getExtensionFromBase64(base64String) {\r\n    // 匹配数据的 MIME 类型和扩展名\r\n        const matches = base64String.match(/^data:(image\\/([a-zA-Z0-9-+.]+));base64,/);\r\n\r\n        if (matches && matches[2]) {\r\n            // 通过 MIME 类型获得扩展名\r\n            const mimeType = matches[2];\r\n            const extensionMap = {\r\n                'jpeg': 'jpeg',\r\n                'jpg': 'jpg',\r\n                'png': 'png',\r\n                'gif': 'gif',\r\n                'webp': 'webp',\r\n                'bmp': 'bmp',\r\n                'svg+xml': 'svg'\r\n            };\r\n            return extensionMap[mimeType] || null;\r\n        }\r\n        return null;\r\n    },\r\n    downloadFileUrl() {\r\n      // url, fileName\r\n      // alert(window.downloadFileUrl)\r\n      // window.open('https://t8.baidu.com/it/u=1986082290,634430311&fm=3031&app=3031&size=f242,150&n=0&f=JPEG&fmt=auto?s=0A839E459626E74D1EB6C9230300F01B&sec=1727197200&t=2ad0bed62c989c0abf3aae5ff5b3c144');\r\n      //   window.open('https://ms.bdimg.com/pacific/0/pic/-1421490929_2130952604.jpg?x=0&y=0&h=132&w=198&vh=132.00&vw=198.00&oh=132.00&ow=198.00');\r\n      //   return;\r\n      // let time = 10;\r\n      // this.ids.forEach((index, i) => {\r\n      //   const url = this.imgUrls[index];\r\n      //   // console.log(\"下载：\", url);\r\n      //   const fileName = this.imagesName[index];\r\n      //\r\n      //   const suffix = this.getExtensionFromBase64(url);\r\n      //   const elink = document.createElement(\"a\");\r\n      //   elink.href = url;\r\n      //   elink.setAttribute(\"download\", fileName + '.' + suffix);\r\n      //   elink.style.display = \"none\";\r\n      //   document.body.appendChild(elink);\r\n      //   setTimeout(() => {\r\n      //     elink.click();\r\n      //     document.body.removeChild(elink);\r\n      //   }, time * i)\r\n      //\r\n      // });\r\n\r\n      let time = 1500;\r\n      const downloadImage = (index) => {\r\n        if (index >= this.ids.length) return;\r\n        const url = this.imgUrls[this.ids[index]];\r\n        const fileName = this.imagesName[this.ids[index]];\r\n        const suffix = this.getExtensionFromBase64(url);\r\n        const elink = document.createElement(\"a\");\r\n        const blob = base64ToBlob(url);\r\n        const blobUrl = window.URL.createObjectURL(blob);\r\n        // elink.href = \"https://alaya-yrj.oss-accelerate.aliyuncs.com/test/mindmap/image/781518045172959.jpeg?OSSAccessKeyId=LTAI5t6rg2QxAzM2R1gHUPNU&Expires=1733463254&Signature=HBqDykwKkDuQTB5o0WVRgoNoiMc%3D\";\r\n        elink.href = blobUrl;\r\n        // const file = base64ToFile(url);\r\n        // console.log(\"downloadImage:\", file);\r\n        elink.setAttribute(\"download\", fileName + '.' + suffix);\r\n        elink.style.display = \"none\";\r\n        document.body.appendChild(elink);\r\n        elink.click();\r\n        document.body.removeChild(elink);\r\n        setTimeout(() => downloadImage(index + 1), time);\r\n      };\r\n      downloadImage(0);\r\n\r\n    },\r\n    changeCheck(index) {\r\n      this.checks[index] = !this.checks[index];\r\n      if (this.checks[index]) {\r\n        this.ids.push(index);\r\n      } else {\r\n        let id = index;\r\n        let idx = this.ids.indexOf(id);\r\n        this.ids.splice(idx, 1);\r\n      }\r\n      this.$emit(\"selectedImages\", this.ids);\r\n      console.log(this.ids);\r\n    },\r\n    init() {\r\n      this.imgUrls = [];\r\n      this.checks = [];\r\n      this.ids = [];\r\n      this.datas.forEach(item => {\r\n        this.imgUrls.push(item);\r\n        this.checks.push(false);\r\n      });\r\n    },\r\n    deleteFinish() {\r\n      this.checks = [];\r\n      this.ids = [];\r\n      this.datas.forEach(() => {\r\n        this.checks.push(false);\r\n      });\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.init();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.wrapper {\r\n  height: 100%;\r\n  padding: 0 27px;\r\n  height: 100%;\r\n  .collect {\r\n    position: absolute;\r\n    width: 100%;\r\n    bottom: 2px;\r\n    left: 0;\r\n    background: #f2f4f5;\r\n    text-align: center;\r\n    z-index: 99;\r\n    padding-top: 25px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    align-items: center;\r\n    img {\r\n      cursor: pointer;\r\n      width: 37px;\r\n      height: 32px;\r\n    }\r\n    span {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #71afbb;\r\n      line-height: 14px;\r\n      font-style: normal;\r\n      padding-top: 10px;\r\n    }\r\n  }\r\n}\r\n.images {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  overflow-y: auto;\r\n  height: calc(100% - 70px);\r\n  img {\r\n    width: 25px;\r\n    height: 25px;\r\n  }\r\n}\r\n.image {\r\n  position: relative;\r\n  cursor: pointer;\r\n  width: 249px;\r\n  height: 249px;\r\n  padding: 12px;\r\n  margin-right: 14px;\r\n  margin-bottom: 15px;\r\n  background: #f9f9f9;\r\n  border-radius: 16px;\r\n  box-shadow: 0 16px 14px 0 rgba(0, 0, 0, 0.02);\r\n  .check {\r\n    position: absolute;\r\n    top: 13px;\r\n    right: 13px;\r\n    z-index: 10;\r\n    cursor: pointer;\r\n  }\r\n}\r\n.none_wrapper {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  margin-top: 40px;\r\n}\r\n.none_wrapper_box_wrapper {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding: 15px;\r\n  width: 353px;\r\n  height: 356px;\r\n  background-color: #fff;\r\n  border-radius: 16px;\r\n  box-shadow: 0 0 10px #e8eaed;\r\n}\r\n.none_wrapper_box {\r\n  width: 323px;\r\n  height: 326px;\r\n  position: relative;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  flex-direction: column;\r\n  background-image: url(\"~@/assets/img/outlineImageNone.png\");\r\n  background-size: 100%;\r\n  background-repeat: no-repeat;\r\n  img {\r\n    cursor: pointer;\r\n    width: 137px;\r\n    height: 137px;\r\n    z-index: 10;\r\n  }\r\n  p {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #71afbb;\r\n    line-height: 24px;\r\n    margin-top: 13px;\r\n  }\r\n  /deep/ .el-progress--circle {\r\n    position: absolute;\r\n    top: 64px;\r\n  }\r\n}\r\n.el-image {\r\n  width: 100%;\r\n  height: 100%;\r\n  .image-slot {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    font-size: 14px;\r\n    color: #c0c4cc;\r\n    vertical-align: middle;\r\n  }\r\n}\r\n.outlineNone {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  .none {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n  img {\r\n    width: 136px;\r\n    height: 136px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MyMindImages.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[(_vm.is_collect == 2 && _vm.datas.length && _vm.courseIsuseradd != 3 && !_vm.isEdit && _vm.showCollect)?_c('div',{staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(1)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_vm._v(\"收藏图片\")])]):_vm._e(),_vm._v(\" \"),(_vm.is_collect == 1 && _vm.datas.length && _vm.courseIsuseradd != 3 && !_vm.isEdit && _vm.showCollect)?_c('div',{staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(2)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_vm._v(\"取消收藏\")])]):_vm._e(),_vm._v(\" \"),(_vm.datas.length)?_c('div',{staticClass:\"images\"},_vm._l((_vm.datas),function(item,index){return _c('div',{key:'image' + index,staticClass:\"image\"},[(_vm.isEdit)?_c('img',{staticClass:\"check\",attrs:{\"src\":_vm.ids.indexOf(index) > -1\n            ? require('@/assets/img/mind_checked.png')\n            : require('@/assets/img/mind_check.png')},on:{\"click\":function($event){return _vm.changeCheck(index)}}}):_vm._e(),_vm._v(\" \"),_c('el-image',{attrs:{\"src\":item,\"preview-src-list\":_vm.imgUrls,\"fit\":'fill'}},[_c('div',{staticClass:\"image-slot\",attrs:{\"slot\":\"placeholder\"},slot:\"placeholder\"},[_vm._v(\"\\n          加载中\"),_c('span',{staticClass:\"dot\"},[_vm._v(\"...\")])])])],1)}),0):_vm._e(),_vm._v(\" \"),(_vm.courseIsuseradd != 3 || _vm.isAdmin)?_c('div',{staticClass:\"none_wrapper\"},[(_vm.datas.length === 0)?_c('div',{staticClass:\"none_wrapper_box_wrapper\"},[_c('div',{staticClass:\"none_wrapper_box\"},[_c('img',{ref:\"imgRef\",attrs:{\"src\":require(\"@/assets/img/upload_image.svg\")},on:{\"click\":_vm.uploadImages}}),_vm._v(\" \"),_c('p',[_vm._v(\"上传图片\")])])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.datas.length === 0 && _vm.courseIsuseradd == 3 && !_vm.isAdmin)?_c('div',{staticClass:\"outlineNone\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-88e14fc2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MyMindImages.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-88e14fc2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMindImages.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindImages.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindImages.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-88e14fc2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMindImages.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-88e14fc2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MyMindImages.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjQxcHgiIGhlaWdodD0iNDFweCIgdmlld0JveD0iMCAwIDQxLjAgNDEuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQ3LjM2ODQyMTElIiB5PSItNDcuMzY4NDIxMSUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE3My42ODQyMTElIiBoZWlnaHQ9IjE3My42ODQyMTElIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0xMywwIEMyMC4xNzk3MDE3LDAgMjYsNS44MjAyOTgyNSAyNiwxMyBDMjYsMjAuMTc5NzAxNyAyMC4xNzk3MDE3LDI2IDEzLDI2IEM1LjgyMDI5ODI1LDI2IDAsMjAuMTc5NzAxNyAwLDEzIEMwLDUuODIwMjk4MjUgNS44MjAyOTgyNSwwIDEzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yOTEuMCAtMzY1LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOTEuMDQ0MDk3OTAwMzkwNiAzNjUuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuOTU1OTAyMDk5NjA5Mzc1IDcuMCkiPjxwYXRoIGQ9Ik0xMywyNiBDMjAuMTc5NzAxNywyNiAyNiwyMC4xNzk3MDE3IDI2LDEzIEMyNiw1LjgyMDI5ODI1IDIwLjE3OTcwMTcsMCAxMywwIEM1LjgyMDI5ODI1LDAgMCw1LjgyMDI5ODI1IDAsMTMgQzAsMjAuMTc5NzAxNyA1LjgyMDI5ODI1LDI2IDEzLDI2IFoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCIgZmlsdGVyPSJ1cmwoI2kxKSI+PC9wYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNpNCkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI2LDAgMjYsMjYgMCwyNiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC43NTg2MjA2ODk2NTUyNiAxOS43MjQxMzc5MzEwMzQ0OSkgcm90YXRlKC05MC4wKSI+PHBhdGggZD0iTTEzLjQ0ODI3NTksMCBMNi43MjM4MzExLDYuMjc1ODYyMDcgTDAsMCIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/think_arrow1.svg\n// module id = S98I\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/logo_culture_overseas.ffc0a68.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_culture_overseas.svg\n// module id = SLt4\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzMHB4IiBoZWlnaHQ9IjUycHgiIHZpZXdCb3g9IjAgMCAyMzAuMCA1Mi4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImkwIj48cGF0aCBkPSJNNDQxLDAgTDQ0MSw4MTIgTDAsODEyIEwwLDAgTDQ0MSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0yOC41MTUyODg0LDQuNDA1MzY0OTZlLTEzIEMzMy4xODc3MTg1LDQuNDA1MzY0OTZlLTEzIDM3LjMxMTM5MDMsNC44MDk5OTA3OSA0My44NDM2NTgsNC44MDk5OTA3OSBDNTAuMzc1OTI1Nyw0LjgwOTk5MDc5IDU0Ljg5NTAyMjcsNy41MzYxOTQ3MyA2My4yNTQwMTE1LDcuNTM2MTk0NzMgQzcxLjYxMzAwMDIsNy41MzYxOTQ3MyA4NC4zOTAyNjY0LDMuMTAxMjIxNTEgOTEuODc5NDUwOSw1LjgwOTk5MDc5IEM5Ni4xNzA4NjE0LDcuMzYyMTU0NTYgMTA0LjQ1NTgwOCw5Ljk3NTM2NjQzIDExNi43MzQyOTIsMTMuNjQ5NjI2NCBDMTE5LjU4NDY0NCwxMy4zNTc2MjIyIDEyMS44NDI0NSwxMy4wNzM2ODM1IDEyMy41MDg2MjksMTIuNzk3Mjk5NiBDMTMxLjEyOTIwMywxMS41MzMyMDcyIDE0NC4xMzA2MzEsMTQuNTM2MTk0NyAxNTIuNjM2MjY5LDE0LjUzNjE5NDcgQzE2MS4xNDE5MDcsMTQuNTM2MTk0NyAxNjUuNzQwMjg2LDEyLjc5NzI5OTYgMTcyLjM4NzE1NSwxMi43OTcyOTk2IEMxNzkuMDM0MDI0LDEyLjc5NzI5OTYgMTgzLjIzMDA0MSw4LjY4NTk3MDUyIDE4Ny45ODQ0NDMsOC42ODU5NzA1MiBDMTkyLjczODg0Niw4LjY4NTk3MDUyIDE5NC44Nzc2NTIsMTMuNzk3Mjk5NiAyMDAuNTAwMjc2LDEzLjc5NzI5OTYgQzIwNi4xMjI5LDEzLjc5NzI5OTYgMjEzLjExNzcxMiwxMi41MzYxOTQ3IDIxNywxMi41MzYxOTQ3IEwyMTcsMTguNTM2MTk0NyBDMjEzLjExNzcxMiwxOC41MzYxOTQ3IDIwNi4xMjI5LDE3LjI3NTA4OTkgMjAwLjUwMDI3NiwxNy4yNzUwODk5IEMxOTQuODc3NjUyLDE3LjI3NTA4OTkgMTkyLjczODg0NiwyMi4zODY0MTg5IDE4Ny45ODQ0NDMsMjIuMzg2NDE4OSBDMTgzLjIzMDA0MSwyMi4zODY0MTg5IDE3OS4wMzQwMjQsMTguMjc1MDg5OSAxNzIuMzg3MTU1LDE4LjI3NTA4OTkgQzE2NS43NDAyODYsMTguMjc1MDg5OSAxNjEuMTQxOTA3LDE2LjUzNjE5NDcgMTUyLjYzNjI2OSwxNi41MzYxOTQ3IEMxNDkuMTU2NjksMTYuNTM2MTk0NyAxNDQuOTI0NzE2LDE3LjAzODc2MDggMTQwLjYxNjUzOCwxNy41NDYxNTgzIEwxMzkuMTc4NTg0LDE3LjcxNDc4NyBDMTMzLjQyMjg5OCwxOC4zODQ1NTUzIDEyNy42NjUzMDUsMTguOTY0NTk0OCAxMjMuNTA4NjI5LDE4LjI3NTA4OTkgQzEyMS44NDE4NjgsMTcuOTk4NjA5NCAxMTkuNTgzMDY3LDE3LjcxNDU2OSAxMTYuNzMyMjI1LDE3LjQyMjk2ODYgQzEwNC40NTQ0NTIsMjEuMDk3NDUwOCA5Ni4xNzA1MTAxLDIzLjcxMDM2MiA5MS44Nzk0NTA5LDI1LjI2MjM5ODcgQzg3LjU4MDEwNDIsMjYuODE3NDMyOSA4MS41MzgwMTE5LDI2LjAxODE2NzkgNzUuNTg5NTQzNywyNS4wNTUyMDkyIEw3NC40Mzk4ODk1LDI0Ljg2NzM3NDQgQzcwLjQyMzY0MzQsMjQuMjA2OTE2IDY2LjUwNDcyOTMsMjMuNTM2MTk0NyA2My4yNTQwMTE1LDIzLjUzNjE5NDcgQzU0Ljg5NTAyMjcsMjMuNTM2MTk0NyA1MC4zNzU5MjU3LDI2LjI2MjM5ODcgNDMuODQzNjU4LDI2LjI2MjM5ODcgQzM3LjMxMTM5MDMsMjYuMjYyMzk4NyAzMy4xODc3MTg1LDMxLjA3MjM4OTUgMjguNTE1Mjg4NCwzMS4wNzIzODk1IEMyMy44NDI4NTgzLDMxLjA3MjM4OTUgMjEuNzQwOTI4NywyMi4yNjIzOTg3IDE2LjIxNTI0NjQsMjIuMjYyMzk4NyBDMTAuNjg5NTY0LDIyLjI2MjM5ODcgMy44MTUzNTIwOSwzMC41MzYxOTQ3IDAsMzAuNTM2MTk0NyBMMCwwLjUzNjE5NDczMyBDMy44MTUzNTIwOSwwLjUzNjE5NDczMyAxMC42ODk1NjQsOC44MDk5OTA3OSAxNi4yMTUyNDY0LDguODA5OTkwNzkgQzIxLjc0MDkyODcsOC44MDk5OTA3OSAyMy44NDI4NTgzLDQuNDA1MzY0OTZlLTEzIDI4LjUxNTI4ODQsNC40MDUzNjQ5NmUtMTMgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJpMiIgeDE9Ii0yLjA4NDk2ODEycHgiIHkxPSIxcHgiIHgyPSIxOTguMjY5MTAzcHgiIHkyPSIxcHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDIzNSwgMjM4LCAyMzksIDApIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUQ4QSIgb2Zmc2V0PSI0LjYxMTAxMzk5JSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDdFNzAiIG9mZnNldD0iOTMuMTk1NDc2NCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDIxMSwgMjE3LCAyMTgsIDApIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMCAtOTQuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyLjAgOTQuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuNDk5OTk5OTk5OTk4MTI0IDEwLjQ2MzgwNTI2Njc3MDgpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wIDE1LjUzNjE5NDczMzIyOTQyMikiPjxwYXRoIGQ9Ik0wLjMyMjI1OTEzNiwwLjUgTDE5My42Nzc3NDEsMC41IiBzdHJva2U9InVybCgjaTIpIiBzdHJva2Utd2lkdGg9IjM1IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IiAxLjAgNS4wIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/voice-wave2.svg\n// module id = ST2k\n// module chunks = 171","export const NODE_KEY = '$treeNodeId';\r\n\r\nexport const markNodeData = function(node, data) {\r\n  if (!data || data[NODE_KEY]) return;\r\n  Object.defineProperty(data, NODE_KEY, {\r\n    value: node.id,\r\n    enumerable: false,\r\n    configurable: false,\r\n    writable: false\r\n  });\r\n};\r\n\r\nexport const getNodeKey = function(key, data) {\r\n  if (!key) return data[NODE_KEY];\r\n  return data[key];\r\n};\r\n\r\nexport const findNearestComponent = (element, componentName) => {\r\n  let target = element;\r\n  while (target && target.tagName !== 'BODY') {\r\n    if (target.__vue__ && target.__vue__.$options.name === componentName) {\r\n      return target.__vue__;\r\n    }\r\n    target = target.parentNode;\r\n  }\r\n  return null;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/pad/Mind/tree/src/model/util.js","import objectAssign from 'element-ui/src/utils/merge';\r\nimport { markNodeData, NODE_KEY } from './util';\r\nimport { arrayFindIndex } from 'element-ui/src/utils/util';\r\n\r\nexport const getChildState = node => {\r\n  let all = true;\r\n  let none = true;\r\n  let allWithoutDisable = true;\r\n  for (let i = 0, j = node.length; i < j; i++) {\r\n    const n = node[i];\r\n    if (n.checked !== true || n.indeterminate) {\r\n      all = false;\r\n      if (!n.disabled) {\r\n        allWithoutDisable = false;\r\n      }\r\n    }\r\n    if (n.checked !== false || n.indeterminate) {\r\n      none = false;\r\n    }\r\n  }\r\n\r\n  return { all, none, allWithoutDisable, half: !all && !none };\r\n};\r\n\r\nconst reInitChecked = function(node) {\r\n  if (node.childNodes.length === 0 || node.loading) return;\r\n\r\n  const {all, none, half} = getChildState(node.childNodes);\r\n  if (all) {\r\n    node.checked = true;\r\n    node.indeterminate = false;\r\n  } else if (half) {\r\n    node.checked = false;\r\n    node.indeterminate = true;\r\n  } else if (none) {\r\n    node.checked = false;\r\n    node.indeterminate = false;\r\n  }\r\n\r\n  const parent = node.parent;\r\n  if (!parent || parent.level === 0) return;\r\n\r\n  if (!node.store.checkStrictly) {\r\n    reInitChecked(parent);\r\n  }\r\n};\r\n\r\nconst getPropertyFromData = function(node, prop) {\r\n  const props = node.store.props;\r\n  const data = node.data || {};\r\n  const config = props[prop];\r\n\r\n  if (typeof config === 'function') {\r\n    return config(data, node);\r\n  } else if (typeof config === 'string') {\r\n    return data[config];\r\n  } else if (typeof config === 'undefined') {\r\n    const dataProp = data[prop];\r\n    return dataProp === undefined ? '' : dataProp;\r\n  }\r\n};\r\n\r\nlet nodeIdSeed = 0;\r\n\r\nexport default class Node {\r\n  constructor(options) {\r\n    this.id = nodeIdSeed++;\r\n    this.text = null;\r\n    this.checked = false;\r\n    this.indeterminate = false;\r\n    this.data = null;\r\n    this.expanded = false;\r\n    this.parent = null;\r\n    this.visible = true;\r\n    this.isCurrent = false;\r\n\r\n    for (let name in options) {\r\n      if (options.hasOwnProperty(name)) {\r\n        this[name] = options[name];\r\n      }\r\n    }\r\n\r\n    // internal\r\n    this.level = 0;\r\n    this.loaded = false;\r\n    this.childNodes = [];\r\n    this.loading = false;\r\n\r\n    if (this.parent) {\r\n      this.level = this.parent.level + 1;\r\n    }\r\n\r\n    const store = this.store;\r\n    if (!store) {\r\n      throw new Error('[Node]store is required!');\r\n    }\r\n    store.registerNode(this);\r\n\r\n    const props = store.props;\r\n    if (props && typeof props.isLeaf !== 'undefined') {\r\n      const isLeaf = getPropertyFromData(this, 'isLeaf');\r\n      if (typeof isLeaf === 'boolean') {\r\n        this.isLeafByUser = isLeaf;\r\n      }\r\n    }\r\n\r\n    if (store.lazy !== true && this.data) {\r\n      this.setData(this.data);\r\n\r\n      if (store.defaultExpandAll) {\r\n        this.expanded = true;\r\n      }\r\n    } else if (this.level > 0 && store.lazy && store.defaultExpandAll) {\r\n      this.expand();\r\n    }\r\n    if (!Array.isArray(this.data)) {\r\n      markNodeData(this, this.data);\r\n    }\r\n    if (!this.data) return;\r\n    const defaultExpandedKeys = store.defaultExpandedKeys;\r\n    const key = store.key;\r\n    if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) {\r\n      this.expand(null, store.autoExpandParent);\r\n    }\r\n\r\n    if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) {\r\n      store.currentNode = this;\r\n      store.currentNode.isCurrent = true;\r\n    }\r\n\r\n    if (store.lazy) {\r\n      store._initDefaultCheckedNode(this);\r\n    }\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  setData(data) {\r\n    if (!Array.isArray(data)) {\r\n      markNodeData(this, data);\r\n    }\r\n\r\n    this.data = data;\r\n    this.childNodes = [];\r\n\r\n    let children;\r\n    if (this.level === 0 && this.data instanceof Array) {\r\n      children = this.data;\r\n    } else {\r\n      children = getPropertyFromData(this, 'children') || [];\r\n    }\r\n\r\n    for (let i = 0, j = children.length; i < j; i++) {\r\n      this.insertChild({ data: children[i] });\r\n    }\r\n  }\r\n\r\n  get label() {\r\n    return getPropertyFromData(this, 'label');\r\n  }\r\n\r\n  get key() {\r\n    const nodeKey = this.store.key;\r\n    if (this.data) return this.data[nodeKey];\r\n    return null;\r\n  }\r\n\r\n  get disabled() {\r\n    return getPropertyFromData(this, 'disabled');\r\n  }\r\n\r\n  get nextSibling() {\r\n    const parent = this.parent;\r\n    if (parent) {\r\n      const index = parent.childNodes.indexOf(this);\r\n      if (index > -1) {\r\n        return parent.childNodes[index + 1];\r\n      }\r\n    }\r\n    return null;\r\n  }\r\n\r\n  get previousSibling() {\r\n    const parent = this.parent;\r\n    if (parent) {\r\n      const index = parent.childNodes.indexOf(this);\r\n      if (index > -1) {\r\n        return index > 0 ? parent.childNodes[index - 1] : null;\r\n      }\r\n    }\r\n    return null;\r\n  }\r\n\r\n  contains(target, deep = true) {\r\n    const walk = function(parent) {\r\n      const children = parent.childNodes || [];\r\n      let result = false;\r\n      for (let i = 0, j = children.length; i < j; i++) {\r\n        const child = children[i];\r\n        if (child === target || (deep && walk(child))) {\r\n          result = true;\r\n          break;\r\n        }\r\n      }\r\n      return result;\r\n    };\r\n\r\n    return walk(this);\r\n  }\r\n\r\n  remove() {\r\n    const parent = this.parent;\r\n    if (parent) {\r\n      parent.removeChild(this);\r\n    }\r\n  }\r\n\r\n  insertChild(child, index, batch) {\r\n    if (!child) throw new Error('insertChild error: child is required.');\r\n\r\n    if (!(child instanceof Node)) {\r\n      if (!batch) {\r\n        const children = this.getChildren(true) || [];\r\n        if (children.indexOf(child.data) === -1) {\r\n          if (typeof index === 'undefined' || index < 0) {\r\n            children.push(child.data);\r\n          } else {\r\n            children.splice(index, 0, child.data);\r\n          }\r\n        }\r\n      }\r\n      objectAssign(child, {\r\n        parent: this,\r\n        store: this.store\r\n      });\r\n      child = new Node(child);\r\n    }\r\n\r\n    child.level = this.level + 1;\r\n\r\n    if (typeof index === 'undefined' || index < 0) {\r\n      this.childNodes.push(child);\r\n    } else {\r\n      this.childNodes.splice(index, 0, child);\r\n    }\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  insertBefore(child, ref) {\r\n    let index;\r\n    if (ref) {\r\n      index = this.childNodes.indexOf(ref);\r\n    }\r\n    this.insertChild(child, index);\r\n  }\r\n\r\n  insertAfter(child, ref) {\r\n    let index;\r\n    if (ref) {\r\n      index = this.childNodes.indexOf(ref);\r\n      if (index !== -1) index += 1;\r\n    }\r\n    this.insertChild(child, index);\r\n  }\r\n\r\n  removeChild(child) {\r\n    const children = this.getChildren() || [];\r\n    const dataIndex = children.indexOf(child.data);\r\n    if (dataIndex > -1) {\r\n      children.splice(dataIndex, 1);\r\n    }\r\n\r\n    const index = this.childNodes.indexOf(child);\r\n\r\n    if (index > -1) {\r\n      this.store && this.store.deregisterNode(child);\r\n      child.parent = null;\r\n      this.childNodes.splice(index, 1);\r\n    }\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  removeChildByData(data) {\r\n    let targetNode = null;\r\n\r\n    for (let i = 0; i < this.childNodes.length; i++) {\r\n      if (this.childNodes[i].data === data) {\r\n        targetNode = this.childNodes[i];\r\n        break;\r\n      }\r\n    }\r\n\r\n    if (targetNode) {\r\n      this.removeChild(targetNode);\r\n    }\r\n  }\r\n\r\n  expand(callback, expandParent) {\r\n    const done = () => {\r\n      if (expandParent) {\r\n        let parent = this.parent;\r\n        while (parent.level > 0) {\r\n          parent.expanded = true;\r\n          parent = parent.parent;\r\n        }\r\n      }\r\n      this.expanded = true;\r\n      if (callback) callback();\r\n    };\r\n\r\n    if (this.shouldLoadData()) {\r\n      this.loadData((data) => {\r\n        if (data instanceof Array) {\r\n          if (this.checked) {\r\n            this.setChecked(true, true);\r\n          } else if (!this.store.checkStrictly) {\r\n            reInitChecked(this);\r\n          }\r\n          done();\r\n        }\r\n      });\r\n    } else {\r\n      done();\r\n    }\r\n  }\r\n\r\n  doCreateChildren(array, defaultProps = {}) {\r\n    array.forEach((item) => {\r\n      this.insertChild(objectAssign({ data: item }, defaultProps), undefined, true);\r\n    });\r\n  }\r\n\r\n  collapse() {\r\n    this.expanded = false;\r\n  }\r\n\r\n  shouldLoadData() {\r\n    return this.store.lazy === true && this.store.load && !this.loaded;\r\n  }\r\n\r\n  updateLeafState() {\r\n    if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') {\r\n      this.isLeaf = this.isLeafByUser;\r\n      return;\r\n    }\r\n    const childNodes = this.childNodes;\r\n    if (!this.store.lazy || (this.store.lazy === true && this.loaded === true)) {\r\n      this.isLeaf = !childNodes || childNodes.length === 0;\r\n      return;\r\n    }\r\n    this.isLeaf = false;\r\n  }\r\n\r\n  setChecked(value, deep, recursion, passValue) {\r\n    this.indeterminate = value === 'half';\r\n    this.checked = value === true;\r\n\r\n    if (this.store.checkStrictly) return;\r\n\r\n    if (!(this.shouldLoadData() && !this.store.checkDescendants)) {\r\n      let { all, allWithoutDisable } = getChildState(this.childNodes);\r\n\r\n      if (!this.isLeaf && (!all && allWithoutDisable)) {\r\n        this.checked = false;\r\n        value = false;\r\n      }\r\n\r\n      const handleDescendants = () => {\r\n        if (deep) {\r\n          const childNodes = this.childNodes;\r\n          for (let i = 0, j = childNodes.length; i < j; i++) {\r\n            const child = childNodes[i];\r\n            passValue = passValue || value !== false;\r\n            const isCheck = child.disabled ? child.checked : passValue;\r\n            child.setChecked(isCheck, deep, true, passValue);\r\n          }\r\n          const { half, all } = getChildState(childNodes);\r\n          if (!all) {\r\n            this.checked = all;\r\n            this.indeterminate = half;\r\n          }\r\n        }\r\n      };\r\n\r\n      if (this.shouldLoadData()) {\r\n        // Only work on lazy load data.\r\n        this.loadData(() => {\r\n          handleDescendants();\r\n          reInitChecked(this);\r\n        }, {\r\n          checked: value !== false\r\n        });\r\n        return;\r\n      } else {\r\n        handleDescendants();\r\n      }\r\n    }\r\n\r\n    const parent = this.parent;\r\n    if (!parent || parent.level === 0) return;\r\n\r\n    if (!recursion) {\r\n      reInitChecked(parent);\r\n    }\r\n  }\r\n\r\n  getChildren(forceInit = false) { // this is data\r\n    if (this.level === 0) return this.data;\r\n    const data = this.data;\r\n    if (!data) return null;\r\n\r\n    const props = this.store.props;\r\n    let children = 'children';\r\n    if (props) {\r\n      children = props.children || 'children';\r\n    }\r\n\r\n    if (data[children] === undefined) {\r\n      data[children] = null;\r\n    }\r\n\r\n    if (forceInit && !data[children]) {\r\n      data[children] = [];\r\n    }\r\n\r\n    return data[children];\r\n  }\r\n\r\n  updateChildren() {\r\n    const newData = this.getChildren() || [];\r\n    const oldData = this.childNodes.map((node) => node.data);\r\n\r\n    const newDataMap = {};\r\n    const newNodes = [];\r\n\r\n    newData.forEach((item, index) => {\r\n      const key = item[NODE_KEY];\r\n      const isNodeExists = !!key && arrayFindIndex(oldData, data => data[NODE_KEY] === key) >= 0;\r\n      if (isNodeExists) {\r\n        newDataMap[key] = { index, data: item };\r\n      } else {\r\n        newNodes.push({ index, data: item });\r\n      }\r\n    });\r\n\r\n    if (!this.store.lazy) {\r\n      oldData.forEach((item) => {\r\n        if (!newDataMap[item[NODE_KEY]]) this.removeChildByData(item);\r\n      });\r\n    }\r\n\r\n    newNodes.forEach(({ index, data }) => {\r\n      this.insertChild({ data }, index);\r\n    });\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  loadData(callback, defaultProps = {}) {\r\n    if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {\r\n      this.loading = true;\r\n\r\n      const resolve = (children) => {\r\n        this.childNodes = [];\r\n\r\n        this.doCreateChildren(children, defaultProps);\r\n        this.loaded = true;\r\n        this.loading = false;\r\n        this.updateLeafState();\r\n        if (callback) {\r\n          callback.call(this, children);\r\n        }\r\n      };\r\n\r\n      this.store.load(this, resolve);\r\n    } else {\r\n      if (callback) {\r\n        callback.call(this);\r\n      }\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/pad/Mind/tree/src/model/node.js","import Node from './node';\r\nimport { getNodeKey } from './util';\r\n\r\nexport default class TreeStore {\r\n  constructor(options) {\r\n    this.currentNode = null;\r\n    this.currentNodeKey = null;\r\n\r\n    for (let option in options) {\r\n      if (options.hasOwnProperty(option)) {\r\n        this[option] = options[option];\r\n      }\r\n    }\r\n\r\n    this.nodesMap = {};\r\n\r\n    this.root = new Node({\r\n      data: this.data,\r\n      store: this\r\n    });\r\n\r\n    if (this.lazy && this.load) {\r\n      const loadFn = this.load;\r\n      loadFn(this.root, (data) => {\r\n        this.root.doCreateChildren(data);\r\n        this._initDefaultCheckedNodes();\r\n      });\r\n    } else {\r\n      this._initDefaultCheckedNodes();\r\n    }\r\n  }\r\n\r\n  filter(value) {\r\n    const filterNodeMethod = this.filterNodeMethod;\r\n    const lazy = this.lazy;\r\n    const traverse = function(node) {\r\n      const childNodes = node.root ? node.root.childNodes : node.childNodes;\r\n\r\n      childNodes.forEach((child) => {\r\n        child.visible = filterNodeMethod.call(child, value, child.data, child);\r\n\r\n        traverse(child);\r\n      });\r\n\r\n      if (!node.visible && childNodes.length) {\r\n        let allHidden = true;\r\n        allHidden = !childNodes.some(child => child.visible);\r\n\r\n        if (node.root) {\r\n          node.root.visible = allHidden === false;\r\n        } else {\r\n          node.visible = allHidden === false;\r\n        }\r\n      }\r\n      if (!value) return;\r\n\r\n      if (node.visible && !node.isLeaf && !lazy) node.expand();\r\n    };\r\n\r\n    traverse(this);\r\n  }\r\n\r\n  setData(newVal) {\r\n    const instanceChanged = newVal !== this.root.data;\r\n    if (instanceChanged) {\r\n      this.root.setData(newVal);\r\n      this._initDefaultCheckedNodes();\r\n    } else {\r\n      this.root.updateChildren();\r\n    }\r\n  }\r\n\r\n  getNode(data) {\r\n    if (data instanceof Node) return data;\r\n    const key = typeof data !== 'object' ? data : getNodeKey(this.key, data);\r\n    return this.nodesMap[key] || null;\r\n  }\r\n\r\n  insertBefore(data, refData) {\r\n    const refNode = this.getNode(refData);\r\n    refNode.parent.insertBefore({ data }, refNode);\r\n  }\r\n\r\n  insertAfter(data, refData) {\r\n    const refNode = this.getNode(refData);\r\n    refNode.parent.insertAfter({ data }, refNode);\r\n  }\r\n\r\n  remove(data) {\r\n    const node = this.getNode(data);\r\n\r\n    if (node && node.parent) {\r\n      if (node === this.currentNode) {\r\n        this.currentNode = null;\r\n      }\r\n      node.parent.removeChild(node);\r\n    }\r\n  }\r\n\r\n  append(data, parentData) {\r\n    const parentNode = parentData ? this.getNode(parentData) : this.root;\r\n\r\n    if (parentNode) {\r\n      parentNode.insertChild({ data });\r\n    }\r\n  }\r\n\r\n  _initDefaultCheckedNodes() {\r\n    const defaultCheckedKeys = this.defaultCheckedKeys || [];\r\n    const nodesMap = this.nodesMap;\r\n\r\n    defaultCheckedKeys.forEach((checkedKey) => {\r\n      const node = nodesMap[checkedKey];\r\n\r\n      if (node) {\r\n        node.setChecked(true, !this.checkStrictly);\r\n      }\r\n    });\r\n  }\r\n\r\n  _initDefaultCheckedNode(node) {\r\n    const defaultCheckedKeys = this.defaultCheckedKeys || [];\r\n\r\n    if (defaultCheckedKeys.indexOf(node.key) !== -1) {\r\n      node.setChecked(true, !this.checkStrictly);\r\n    }\r\n  }\r\n\r\n  setDefaultCheckedKey(newVal) {\r\n    if (newVal !== this.defaultCheckedKeys) {\r\n      this.defaultCheckedKeys = newVal;\r\n      this._initDefaultCheckedNodes();\r\n    }\r\n  }\r\n\r\n  registerNode(node) {\r\n    const key = this.key;\r\n    if (!key || !node || !node.data) return;\r\n\r\n    const nodeKey = node.key;\r\n    if (nodeKey !== undefined) this.nodesMap[node.key] = node;\r\n  }\r\n\r\n  deregisterNode(node) {\r\n    const key = this.key;\r\n    if (!key || !node || !node.data) return;\r\n\r\n    node.childNodes.forEach(child => {\r\n      this.deregisterNode(child);\r\n    });\r\n\r\n    delete this.nodesMap[node.key];\r\n  }\r\n\r\n  getCheckedNodes(leafOnly = false, includeHalfChecked = false) {\r\n    const checkedNodes = [];\r\n    const traverse = function(node) {\r\n      const childNodes = node.root ? node.root.childNodes : node.childNodes;\r\n\r\n      childNodes.forEach((child) => {\r\n        if ((child.checked || (includeHalfChecked && child.indeterminate)) && (!leafOnly || (leafOnly && child.isLeaf))) {\r\n          checkedNodes.push(child.data);\r\n        }\r\n\r\n        traverse(child);\r\n      });\r\n    };\r\n\r\n    traverse(this);\r\n\r\n    return checkedNodes;\r\n  }\r\n\r\n  getCheckedKeys(leafOnly = false) {\r\n    return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key]);\r\n  }\r\n\r\n  getHalfCheckedNodes() {\r\n    const nodes = [];\r\n    const traverse = function(node) {\r\n      const childNodes = node.root ? node.root.childNodes : node.childNodes;\r\n\r\n      childNodes.forEach((child) => {\r\n        if (child.indeterminate) {\r\n          nodes.push(child.data);\r\n        }\r\n\r\n        traverse(child);\r\n      });\r\n    };\r\n\r\n    traverse(this);\r\n\r\n    return nodes;\r\n  }\r\n\r\n  getHalfCheckedKeys() {\r\n    return this.getHalfCheckedNodes().map((data) => (data || {})[this.key]);\r\n  }\r\n\r\n  _getAllNodes() {\r\n    const allNodes = [];\r\n    const nodesMap = this.nodesMap;\r\n    for (let nodeKey in nodesMap) {\r\n      if (nodesMap.hasOwnProperty(nodeKey)) {\r\n        allNodes.push(nodesMap[nodeKey]);\r\n      }\r\n    }\r\n\r\n    return allNodes;\r\n  }\r\n\r\n  updateChildren(key, data) {\r\n    const node = this.nodesMap[key];\r\n    if (!node) return;\r\n    const childNodes = node.childNodes;\r\n    for (let i = childNodes.length - 1; i >= 0; i--) {\r\n      const child = childNodes[i];\r\n      this.remove(child.data);\r\n    }\r\n    for (let i = 0, j = data.length; i < j; i++) {\r\n      const child = data[i];\r\n      this.append(child, node.data);\r\n    }\r\n  }\r\n\r\n  _setCheckedKeys(key, leafOnly = false, checkedKeys) {\r\n    const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level);\r\n    const cache = Object.create(null);\r\n    const keys = Object.keys(checkedKeys);\r\n    allNodes.forEach(node => node.setChecked(false, false));\r\n    for (let i = 0, j = allNodes.length; i < j; i++) {\r\n      const node = allNodes[i];\r\n      const nodeKey = node.data[key].toString();\r\n      let checked = keys.indexOf(nodeKey) > -1;\r\n      if (!checked) {\r\n        if (node.checked && !cache[nodeKey]) {\r\n          node.setChecked(false, false);\r\n        }\r\n        continue;\r\n      }\r\n\r\n      let parent = node.parent;\r\n      while (parent && parent.level > 0) {\r\n        cache[parent.data[key]] = true;\r\n        parent = parent.parent;\r\n      }\r\n\r\n      if (node.isLeaf || this.checkStrictly) {\r\n        node.setChecked(true, false);\r\n        continue;\r\n      }\r\n      node.setChecked(true, true);\r\n\r\n      if (leafOnly) {\r\n        node.setChecked(false, false);\r\n        const traverse = function(node) {\r\n          const childNodes = node.childNodes;\r\n          childNodes.forEach((child) => {\r\n            if (!child.isLeaf) {\r\n              child.setChecked(false, false);\r\n            }\r\n            traverse(child);\r\n          });\r\n        };\r\n        traverse(node);\r\n      }\r\n    }\r\n  }\r\n\r\n  setCheckedNodes(array, leafOnly = false) {\r\n    const key = this.key;\r\n    const checkedKeys = {};\r\n    array.forEach((item) => {\r\n      checkedKeys[(item || {})[key]] = true;\r\n    });\r\n\r\n    this._setCheckedKeys(key, leafOnly, checkedKeys);\r\n  }\r\n\r\n  setCheckedKeys(keys, leafOnly = false) {\r\n    this.defaultCheckedKeys = keys;\r\n    const key = this.key;\r\n    const checkedKeys = {};\r\n    keys.forEach((key) => {\r\n      checkedKeys[key] = true;\r\n    });\r\n\r\n    this._setCheckedKeys(key, leafOnly, checkedKeys);\r\n  }\r\n\r\n  setDefaultExpandedKeys(keys) {\r\n    keys = keys || [];\r\n    this.defaultExpandedKeys = keys;\r\n\r\n    keys.forEach((key) => {\r\n      const node = this.getNode(key);\r\n      if (node) node.expand(null, this.autoExpandParent);\r\n    });\r\n  }\r\n\r\n  setChecked(data, checked, deep) {\r\n    const node = this.getNode(data);\r\n\r\n    if (node) {\r\n      node.setChecked(!!checked, deep);\r\n    }\r\n  }\r\n\r\n  getCurrentNode() {\r\n    return this.currentNode;\r\n  }\r\n\r\n  setCurrentNode(currentNode) {\r\n    const prevCurrentNode = this.currentNode;\r\n    if (prevCurrentNode) {\r\n      prevCurrentNode.isCurrent = false;\r\n    }\r\n    this.currentNode = currentNode;\r\n    this.currentNode.isCurrent = true;\r\n  }\r\n\r\n  setUserCurrentNode(node) {\r\n    const key = node[this.key];\r\n    const currNode = this.nodesMap[key];\r\n    this.setCurrentNode(currNode);\r\n  }\r\n\r\n  setCurrentNodeKey(key) {\r\n    if (key === null || key === undefined) {\r\n      this.currentNode && (this.currentNode.isCurrent = false);\r\n      this.currentNode = null;\r\n      return;\r\n    }\r\n    const node = this.getNode(key);\r\n    if (node) {\r\n      this.setCurrentNode(node);\r\n    }\r\n  }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/pad/Mind/tree/src/model/tree-store.js","<template>\r\n  <div\r\n    class=\"el-tree-node\"\r\n    @click.stop=\"handleClick\"\r\n    @contextmenu=\"($event) => this.handleContextMenu($event)\"\r\n    v-show=\"node.visible\"\r\n    :class=\"{\r\n      'el-tree-node-last-item': isLastItem,\r\n      //'is-expanded': expanded,\r\n      //'is-current': node.isCurrent,\r\n      //'is-hidden': !node.visible,\r\n      //'is-focusable': !node.disabled,\r\n      //'is-checked': !node.disabled && node.checked\r\n    }\"\r\n    role=\"treeitem\"\r\n    tabindex=\"-1\"\r\n    :name=\"node.id\"\r\n    :aria-expanded=\"expanded\"\r\n    :aria-disabled=\"node.disabled\"\r\n    :aria-checked=\"node.checked\"\r\n    :draggable=\"false\"\r\n    @touchstart=\"handleTouchStart\"\r\n    @touchend=\"handleTouchend\"\r\n    @mousedown=\"handleMouseStart\"\r\n    @mouseup=\"handleMouseEnd\"\r\n    ref=\"node\"\r\n  >\r\n  <!-- :draggable=\"isAndroid || isCopyItem ? false : tree.draggable\"\r\n    @dragstart.stop=\"isAndroid || isCopyItem ? null : handleDragStart\"\r\n    @dragover.stop=\"isAndroid || isCopyItem ? null : handleDragOver\"\r\n    @dragend.stop=\"isAndroid || isCopyItem ? null : handleDragEnd\"\r\n    @drop.stop=\"isAndroid || isCopyItem ? null : handleDrop\"\r\n    id=\"node.id\" -->\r\n    <div class=\"el-tree-node__content\"\r\n      :style=\"{ 'padding-left': (node.level - 1) * tree.indent + 'px' }\">\r\n      <span\r\n        @click.stop=\"handleExpandIconClick\"\r\n        :class=\"[\r\n          {\r\n            'is-leaf': node.isLeaf,\r\n            'expanded': !node.isLeaf && expanded,\r\n          },\r\n          'el-tree-node__expand-icon',\r\n          tree.iconClass ? tree.iconClass : 'el-icon-caret-right'\r\n        ]\"\r\n      >\r\n      </span>\r\n      <el-checkbox\r\n        v-if=\"showCheckbox\"\r\n        v-model=\"node.checked\"\r\n        :indeterminate=\"node.indeterminate\"\r\n        :disabled=\"!!node.disabled\"\r\n        @click.native.stop\r\n        @change=\"handleCheckChange\"\r\n      >\r\n      </el-checkbox>\r\n      <span\r\n        v-if=\"node.loading\"\r\n        class=\"el-tree-node__loading-icon el-icon-loading\">\r\n      </span>\r\n\r\n      <div class=\"el-tree-node__content-text\">\r\n        <div name=\"drop-type-before\" :class=\"`drop-type`\" v-if=\"!isButtonItem\"></div>\r\n        <node-content :node=\"node\"></node-content>\r\n        <div\r\n          name=\"drop-type-after\"\r\n          :style=\"dropType === 'after' ? {marginTop: '5px'} : {marginBottom: '5px'}\"\r\n          :class=\"`drop-type`\"\r\n          v-if=\"!isButtonItem\"\r\n        ></div>\r\n      </div>\r\n    </div>\r\n    <el-collapse-transition>\r\n      <div\r\n        class=\"el-tree-node__children\"\r\n        v-if=\"!renderAfterExpand || childNodeRendered\"\r\n        v-show=\"expanded\"\r\n        role=\"group\"\r\n        :aria-expanded=\"expanded\"\r\n      >\r\n        <el-tree-node\r\n          :render-content=\"renderContent\"\r\n          v-for=\"(child, index) in node.childNodes\"\r\n          :isAndroid=\"isAndroid\"\r\n          :isLastItem=\"index === node.childNodes.length - 1\"\r\n          :render-after-expand=\"renderAfterExpand\"\r\n          :show-checkbox=\"showCheckbox\"\r\n          :key=\"getNodeKey(child)\"\r\n          :node=\"child\"\r\n          @node-expand=\"handleChildNodeExpand\">\r\n        </el-tree-node>\r\n      </div>\r\n    </el-collapse-transition>\r\n  </div>\r\n</template>\r\n\r\n<script type=\"text/jsx\">\r\n  import ElCollapseTransition from 'element-ui/src/transitions/collapse-transition';\r\n  import ElCheckbox from 'element-ui/packages/checkbox';\r\n  import emitter from 'element-ui/src/mixins/emitter';\r\n  import { getNodeKey } from './model/util';\r\n\r\n  export default {\r\n    name: 'ElTreeNode',\r\n\r\n    componentName: 'ElTreeNode',\r\n\r\n    mixins: [emitter],\r\n\r\n    props: {\r\n      node: {\r\n        default() {\r\n          return {};\r\n        }\r\n      },\r\n      isCopyItem:{\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      isAndroid: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      isLastItem: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      isButtonItem: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      dropType: {\r\n        type: String,\r\n        default: ''\r\n      },\r\n      dropNodeId: {\r\n        type: [String, Number],\r\n        default: ''\r\n      },\r\n      props: {},\r\n      renderContent: Function,\r\n      renderAfterExpand: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      showCheckbox: {\r\n        type: Boolean,\r\n        default: false\r\n      }\r\n    },\r\n\r\n    components: {\r\n      ElCollapseTransition,\r\n      ElCheckbox,\r\n      NodeContent: {\r\n        props: {\r\n          node: {\r\n            required: true\r\n          }\r\n        },\r\n        render(h) {\r\n          const parent = this.$parent;\r\n          const tree = parent.tree;\r\n          const node = this.node;\r\n          const { data, store } = node;\r\n          return (\r\n            parent.renderContent\r\n              ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node, data, store })\r\n              : tree.$scopedSlots.default\r\n                ? tree.$scopedSlots.default({ node, data })\r\n                : <span class=\"el-tree-node__label\">{ node.label }</span>\r\n          );\r\n        }\r\n      }\r\n    },\r\n\r\n    data() {\r\n      return {\r\n        tree: null,\r\n        expanded: false,\r\n        childNodeRendered: false,\r\n        oldChecked: null,\r\n        oldIndeterminate: null,\r\n        offset: {},\r\n        dragOptions: {},\r\n      };\r\n    },\r\n\r\n    watch: {\r\n      'node.indeterminate'(val) {\r\n        this.handleSelectChange(this.node.checked, val);\r\n      },\r\n\r\n      'node.checked'(val) {\r\n        this.handleSelectChange(val, this.node.indeterminate);\r\n      },\r\n\r\n      'node.expanded'(val) {\r\n        this.$nextTick(() => this.expanded = val);\r\n        if (val) {\r\n          this.childNodeRendered = true;\r\n        }\r\n      }\r\n    },\r\n\r\n    methods: {\r\n      getNodeKey(node) {\r\n        return getNodeKey(this.tree.nodeKey, node.data);\r\n      },\r\n\r\n      handleSelectChange(checked, indeterminate) {\r\n        if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) {\r\n          this.tree.$emit('check-change', this.node.data, checked, indeterminate);\r\n        }\r\n        this.oldChecked = checked;\r\n        this.indeterminate = indeterminate;\r\n      },\r\n\r\n      handleClick() {\r\n        const store = this.tree.store;\r\n        store.setCurrentNode(this.node);\r\n        this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode);\r\n        this.tree.currentNode = this;\r\n        if (this.tree.expandOnClickNode) {\r\n          this.handleExpandIconClick();\r\n        }\r\n        if (this.tree.checkOnClickNode && !this.node.disabled) {\r\n          this.handleCheckChange(null, {\r\n            target: { checked: !this.node.checked }\r\n          });\r\n        }\r\n        this.tree.$emit('node-click', this.node.data, this.node, this);\r\n      },\r\n\r\n      handleContextMenu(event) {\r\n        if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) {\r\n          event.stopPropagation();\r\n          event.preventDefault();\r\n        }\r\n        this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this);\r\n      },\r\n\r\n      handleExpandIconClick() {\r\n        if (this.node.isLeaf) return;\r\n        if (this.expanded) {\r\n          this.tree.$emit('node-collapse', this.node.data, this.node, this);\r\n          this.node.collapse();\r\n        } else {\r\n          this.node.expand();\r\n          this.$emit('node-expand', this.node.data, this.node, this);\r\n        }\r\n      },\r\n\r\n      handleCheckChange(value, ev) {\r\n        this.node.setChecked(ev.target.checked, !this.tree.checkStrictly);\r\n        this.$nextTick(() => {\r\n          const store = this.tree.store;\r\n          this.tree.$emit('check', this.node.data, {\r\n            checkedNodes: store.getCheckedNodes(),\r\n            checkedKeys: store.getCheckedKeys(),\r\n            halfCheckedNodes: store.getHalfCheckedNodes(),\r\n            halfCheckedKeys: store.getHalfCheckedKeys(),\r\n          });\r\n        });\r\n      },\r\n\r\n      handleChildNodeExpand(nodeData, node, instance) {\r\n        this.broadcast('ElTreeNode', 'tree-node-expand', node);\r\n        this.tree.$emit('node-expand', nodeData, node, instance);\r\n      },\r\n\r\n      vibrate() {\r\n        if (navigator.vibrate) {\r\n          navigator.vibrate(50);\r\n        } else if (navigator.webkitVibrate) {\r\n          navigator.webkitVibrate(50);\r\n        }\r\n      },\r\n\r\n      getDragNodeInfo(event, type) {\r\n        if(type == 'start') {\r\n          const offset = this.$el.getBoundingClientRect();\r\n          this.offset = {\r\n            ...offset,\r\n            x: parseInt(offset.x, 10),\r\n            y: parseInt(offset.y, 10),\r\n            height: this.$el.childNodes[0].clientHeight,\r\n            width: parseInt(offset.width, 10),\r\n            dragHeight: parseInt(offset.height, 10),\r\n          };\r\n        }\r\n\r\n        const touch = event.touches[0]; // 获取第一个触点\r\n        if(!(this.offset && this.offset.dragX)) {\r\n          this.offset.dragX = touch.pageX - this.offset.x + 20;\r\n        }\r\n        if(!(this.offset && this.offset.dragY)) {\r\n          this.offset.dragY = touch.pageY - this.offset.y;\r\n        }\r\n\r\n        let x = parseInt(touch.pageX - this.offset.dragX, 10);\r\n        let y = parseInt(touch.pageY - this.offset.dragY, 10);\r\n        return {\r\n          x,\r\n          y,\r\n          height:this.offset.dragHeight,\r\n          width: this.offset.width,\r\n          dragX: this.offset.dragX,\r\n          dragY: this.offset.dragY,\r\n          node: this.node,\r\n          nodeId: this.node.id,\r\n          nodeComponent: this,\r\n        }\r\n      },\r\n\r\n      clearTouchDragStart() {\r\n        if(this.touchStartTimeValue) {\r\n          clearTimeout(this.touchStartTimeValue);\r\n          this.touchStartTimeValue = null\r\n        }\r\n      },\r\n\r\n      handleMouseStart(event) {\r\n        event.touches = [{\r\n          pageX: event.pageX,\r\n          pageY: event.pageY,\r\n        }];\r\n        this.handleTouchStart(event);\r\n      },\r\n\r\n      handleTouchStart(event) {\r\n        const touch = event.touches[0];\r\n        this.startTouch = touch;\r\n        this.isTreeHadMove = false;\r\n        if(this.isCopyItem || !this.isAndroid || this.isButtonItem || !this.tree.draggable) {\r\n          return;\r\n        }\r\n\r\n        if(!this.dragOptions.isDragStartEvent) {\r\n          this.touchStartTimeValue = setTimeout(() => {\r\n            this.dragOptions = {};\r\n            this.dragOptions.isDragStartEvent = true;\r\n            this.vibrate();\r\n            this.tree.$emit('tree-node-touchstart-drag', event, this.getDragNodeInfo(event, 'start'));\r\n          }, 500);\r\n        }\r\n\r\n        this.tree.$emit('tree-node-touchstart-scroll', touch);\r\n        event.preventDefault();\r\n        event.stopPropagation();\r\n      },\r\n\r\n      handleMouseEnd(event) {\r\n        event.touches = [{\r\n          pageX: event.pageX,\r\n          pageY: event.pageY,\r\n        }];\r\n        this.handleTouchend(event);\r\n      },\r\n\r\n      handleTouchend(event) {\r\n        event.stopPropagation();\r\n        this.clearTouchDragStart();\r\n        this.startTouch = null;\r\n        if(\r\n          !this.isCopyItem &&\r\n          this.isAndroid &&\r\n          !this.isButtonItem &&\r\n          !this.dragOptions.isDragStartEvent &&\r\n          !this.isTreeHadMove\r\n        ) {\r\n          this.tree.$emit('node-item-click', event, this);\r\n\r\n          return;\r\n        }\r\n        this.dragOptions.isDragStartEvent = false;\r\n        this.dragOptions = {};\r\n        this.tree.$emit('tree-node-touchend', event, this);\r\n        event.preventDefault();\r\n      },\r\n\r\n      handleDragStart(event) {\r\n        if(this.isCopyItem) {\r\n          return;\r\n        }\r\n        if (!this.tree.draggable) return;\r\n        this.dragOptions.isDragStartEvent = true;\r\n        this.tree.$emit('tree-node-drag-start', event, this);\r\n        try{\r\n          event.dataTransfer.setData(\"text\", event.target.id);\r\n        }catch(e) {\r\n\r\n        }\r\n      },\r\n\r\n      handleDragOver(event) {\r\n        if(this.isCopyItem) {\r\n          return;\r\n        }\r\n        if (!this.tree.draggable) return;\r\n        this.dragOptions.isDragOverEvent = true;\r\n        this.tree.$emit('tree-node-drag-over', event, this);\r\n        event.preventDefault();\r\n      },\r\n\r\n      handleDrop(event) {\r\n        event.preventDefault();\r\n      },\r\n\r\n      handleDragEnd(event) {\r\n        if(this.isCopyItem) {\r\n          return;\r\n        }\r\n        if (!this.tree.draggable) return;\r\n        this.tree.$emit('tree-node-drag-end', event, this);\r\n        this.dragOptions = {};\r\n      },\r\n    },\r\n\r\n    created() {\r\n      const parent = this.$parent;\r\n\r\n      if (parent.isTree) {\r\n        this.tree = parent;\r\n      } else {\r\n        this.tree = parent.tree;\r\n      }\r\n\r\n      const tree = this.tree;\r\n      if (!tree) {\r\n        console.warn('Can not find node\\'s tree.');\r\n      }\r\n\r\n      const props = tree.props || {};\r\n      const childrenKey = props['children'] || 'children';\r\n\r\n      this.$watch(`node.data.${childrenKey}`, () => {\r\n        this.node.updateChildren();\r\n      });\r\n\r\n      if (this.node.expanded) {\r\n        this.expanded = true;\r\n        this.childNodeRendered = true;\r\n      }\r\n\r\n      if(this.tree.accordion) {\r\n        this.$on('tree-node-expand', node => {\r\n          if(this.node !== node) {\r\n            this.node.collapse();\r\n          }\r\n        });\r\n      }\r\n    },\r\n\r\n    mounted() {\r\n      this.tree.$on('tree-touchmove', (event) => {\r\n        const touch = event.touches[0];\r\n        const startTouch = this.startTouch;\r\n        if(startTouch && (Math.abs(startTouch.pageX - touch.pageX) > 10 || (Math.abs(startTouch.pageY - touch.pageY) > 10))) {\r\n          this.clearTouchDragStart();\r\n          this.isTreeHadMove = true;\r\n        }\r\n\r\n      })\r\n    },\r\n  };\r\n</script>\r\n<style scoped lang=\"less\">\r\n.drop-type{\r\n  height: 1px;\r\n}\r\n.drop-type-bottom{\r\n  margin-bottom: 12px;\r\n  height: 1px;\r\n}\r\n.drop-type-before{\r\n  background:#409EFF;\r\n}\r\n.drop-type-after{\r\n  background:#409EFF;\r\n}\r\n.drop-type-inner{\r\n  margin-left: 20px;\r\n  background:#409EFF;\r\n}\r\n.is-expanded,\r\n.is-current,\r\n.is-hidden,\r\n.is-focusable,\r\n.is-checked{\r\n\r\n}\r\n.is-leaf{}\r\n.el-tree-node__expand-icon{}\r\n.el-icon-caret-right{}\r\n.el-tree-node__loading-icon{}\r\n.el-icon-loading{}\r\n.el-tree-node__children{}\r\n.el-tree-node__label{}\r\n.el-tree-node{}\r\n.el-tree-node__content{}\r\n\r\n\r\n.el-tree-node{\r\n  position: relative;\r\n  margin: 0 0 0 29px !important;\r\n  padding: 0 !important;\r\n  transform: translate(0,0);\r\n  display: block;\r\n  .el-tree-node__content{\r\n    display: block;\r\n    position: relative;\r\n    padding: 0 !important;\r\n    margin: 0 !important;\r\n    .el-tree-node__expand-icon,\r\n    .el-tree-node__loading-icon{\r\n      margin: 0 !important;\r\n      padding: 0 !important;\r\n      width: 29px !important;\r\n      height: 29px !important;\r\n      position: absolute;\r\n      left: -29px;\r\n      top: 0px;\r\n      text-align: center;\r\n      text-indent: 0;\r\n      display: flex;\r\n      text-align: center;\r\n      justify-content: center;\r\n      align-items: center;\r\n    }\r\n    .expanded{\r\n      &::before{\r\n        display: inline-block !important;\r\n        margin:0 !important;\r\n        padding: 0 !important;\r\n        font-size: 1em;\r\n        transform: translate(0, 0);\r\n\r\n      }\r\n    }\r\n    .is-leaf{\r\n      &::before{\r\n        display: inline-block !important;\r\n        margin:0 !important;\r\n        padding: 0 !important;\r\n        font-size: 1em;\r\n\r\n      }\r\n    }\r\n    .el-tree-node__loading-icon{\r\n\r\n    }\r\n    .el-tree-node__content-text{\r\n\r\n    }\r\n  }\r\n  .el-tree-node__children{\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n  &::after{\r\n    position: absolute;\r\n    content: '';\r\n    width:1px;\r\n    left: -15px;\r\n    top: 23px;\r\n    height: calc(100% - 18px);\r\n    background: #71afbb;\r\n  }\r\n}\r\n.el-tree-node-last-item{\r\n  &::after{\r\n    display: none;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/pad/Mind/tree/src/tree-node.vue","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.node.visible),expression:\"node.visible\"}],ref:\"node\",staticClass:\"el-tree-node\",class:{\n    'el-tree-node-last-item': _vm.isLastItem,\n    //'is-expanded': expanded,\n    //'is-current': node.isCurrent,\n    //'is-hidden': !node.visible,\n    //'is-focusable': !node.disabled,\n    //'is-checked': !node.disabled && node.checked\n  },attrs:{\"role\":\"treeitem\",\"tabindex\":\"-1\",\"name\":_vm.node.id,\"aria-expanded\":_vm.expanded,\"aria-disabled\":_vm.node.disabled,\"aria-checked\":_vm.node.checked,\"draggable\":false},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleClick.apply(null, arguments)},\"contextmenu\":function ($event) { return this$1.handleContextMenu($event); },\"touchstart\":_vm.handleTouchStart,\"touchend\":_vm.handleTouchend,\"mousedown\":_vm.handleMouseStart,\"mouseup\":_vm.handleMouseEnd}},[_c('div',{staticClass:\"el-tree-node__content\",style:({ 'padding-left': (_vm.node.level - 1) * _vm.tree.indent + 'px' })},[_c('span',{class:[\n        {\n          'is-leaf': _vm.node.isLeaf,\n          'expanded': !_vm.node.isLeaf && _vm.expanded,\n        },\n        'el-tree-node__expand-icon',\n        _vm.tree.iconClass ? _vm.tree.iconClass : 'el-icon-caret-right'\n      ],on:{\"click\":function($event){$event.stopPropagation();return _vm.handleExpandIconClick.apply(null, arguments)}}}),_vm._v(\" \"),(_vm.showCheckbox)?_c('el-checkbox',{attrs:{\"indeterminate\":_vm.node.indeterminate,\"disabled\":!!_vm.node.disabled},on:{\"change\":_vm.handleCheckChange},nativeOn:{\"click\":function($event){$event.stopPropagation();}},model:{value:(_vm.node.checked),callback:function ($$v) {_vm.$set(_vm.node, \"checked\", $$v)},expression:\"node.checked\"}}):_vm._e(),_vm._v(\" \"),(_vm.node.loading)?_c('span',{staticClass:\"el-tree-node__loading-icon el-icon-loading\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"el-tree-node__content-text\"},[(!_vm.isButtonItem)?_c('div',{class:\"drop-type\",attrs:{\"name\":\"drop-type-before\"}}):_vm._e(),_vm._v(\" \"),_c('node-content',{attrs:{\"node\":_vm.node}}),_vm._v(\" \"),(!_vm.isButtonItem)?_c('div',{class:\"drop-type\",style:(_vm.dropType === 'after' ? {marginTop: '5px'} : {marginBottom: '5px'}),attrs:{\"name\":\"drop-type-after\"}}):_vm._e()],1)],1),_vm._v(\" \"),_c('el-collapse-transition',[(!_vm.renderAfterExpand || _vm.childNodeRendered)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expanded),expression:\"expanded\"}],staticClass:\"el-tree-node__children\",attrs:{\"role\":\"group\",\"aria-expanded\":_vm.expanded}},_vm._l((_vm.node.childNodes),function(child,index){return _c('el-tree-node',{key:_vm.getNodeKey(child),attrs:{\"render-content\":_vm.renderContent,\"isAndroid\":_vm.isAndroid,\"isLastItem\":index === _vm.node.childNodes.length - 1,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,\"node\":child},on:{\"node-expand\":_vm.handleChildNodeExpand}})}),1):_vm._e()])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-11c7ae98\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/pad/Mind/tree/src/tree-node.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-11c7ae98\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./tree-node.vue\")\n}\nvar normalizeComponent = require(\"!../../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree-node.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree-node.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-11c7ae98\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./tree-node.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-11c7ae98\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/pad/Mind/tree/src/tree-node.vue\n// module id = null\n// module chunks = ","<template>\r\n<div\r\n    class=\"el-tree\"\r\n    :class=\"{\r\n      //'el-tree--highlight-current': highlightCurrent,\r\n      //'is-dragging': dragState.draggingNode ? true : false,\r\n      //'is-drop-not-allow': !dragState.allowDrop,\r\n      //'is-drop-inner': dragState.dropType === 'inner'\r\n    }\"\r\n    role=\"tree\"\r\n\r\n    @touchmove=\"handleTouchmove\"\r\n    @mousemove=\"handleMousemove\"\r\n  >\r\n    <el-tree-node\r\n      v-if=\"dragOffset.nodeId\"\r\n      :style=\"{\r\n        top: dragOffset.y + 'px', \r\n        left: dragOffset.x + 'px',\r\n        position: 'fixed',\r\n        width: dragOffset.width + 'px'\r\n      }\"\r\n      class=\"drag-copy-item\"\r\n      :node=\"dragOffset.node\"\r\n      :props=\"props\"\r\n      :isAndroid=\"isAndroid\"\r\n      :isCopyItem=\"true\"\r\n      :render-after-expand=\"renderAfterExpand\"\r\n      :show-checkbox=\"showCheckbox\"\r\n      :key=\"getNodeKey(dragOffset.node) + (+ (new Date()))\"\r\n      :render-content=\"renderContent\"\r\n      @node-expand=\"handleNodeExpand\">\r\n    </el-tree-node>\r\n\r\n    <el-tree-node\r\n      v-for=\"(child, index) in root.childNodes\"\r\n      :node=\"child\"\r\n      :props=\"props\"\r\n      :isAndroid=\"isAndroid\"\r\n      :isLastItem=\"index === root.childNodes.length - 1\"\r\n      :isButtonItem=\"isLastDragFixed && index === root.childNodes.length - 1\"\r\n      :render-after-expand=\"renderAfterExpand\"\r\n      :show-checkbox=\"showCheckbox\"\r\n      :key=\"getNodeKey(child)\"\r\n      :render-content=\"renderContent\"\r\n      @node-expand=\"handleNodeExpand\">\r\n    </el-tree-node>\r\n    \r\n    <div class=\"el-tree__empty-block\" v-if=\"isEmpty\">\r\n      <span class=\"el-tree__empty-text\">{{ emptyText }}</span>\r\n    </div>\r\n    <div\r\n      v-show=\"dragState.showDropIndicator\"\r\n      class=\"el-tree__drop-indicator\"\r\n      ref=\"dropIndicator\">\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport TreeStore from './model/tree-store';\r\nimport { getNodeKey, findNearestComponent } from './model/util';\r\nimport ElTreeNode from './tree-node.vue';\r\nimport {t} from 'element-ui/src/locale';\r\nimport emitter from 'element-ui/src/mixins/emitter';\r\nimport { addClass, removeClass } from 'element-ui/src/utils/dom';\r\nimport { getIsAndroid } from \"@/utils/util\";\r\n\r\n  export default {\r\n    name: 'ElTree',\r\n\r\n    mixins: [emitter],\r\n\r\n    components: {\r\n      ElTreeNode\r\n    },\r\n\r\n    data() {\r\n      return {\r\n        store: null,\r\n        root: null,\r\n        currentNode: null,\r\n        treeItems: null,\r\n        checkboxItems: [],\r\n        dragState: {\r\n          showDropIndicator: false,\r\n          draggingNode: null,\r\n          dropNode: null,\r\n          allowDrop: true\r\n        },\r\n        dragOffset: {x: 0, y: 0},\r\n        isAndroid: true,//getIsAndroid(),\r\n      };\r\n    },\r\n\r\n    props: {\r\n      data: {\r\n        type: Array\r\n      },\r\n      isLastDragFixed: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      emptyText: {\r\n        type: String,\r\n        default() {\r\n          return t('el.tree.emptyText');\r\n        }\r\n      },\r\n      renderAfterExpand: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      nodeKey: String,\r\n      checkStrictly: Boolean,\r\n      defaultExpandAll: Boolean,\r\n      expandOnClickNode: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      checkOnClickNode: Boolean,\r\n      checkDescendants: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      autoExpandParent: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      defaultCheckedKeys: Array,\r\n      defaultExpandedKeys: Array,\r\n      currentNodeKey: [String, Number],\r\n      renderContent: Function,\r\n      showCheckbox: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      draggable: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      allowDrag: Function,\r\n      allowDrop: Function,\r\n      props: {\r\n        default() {\r\n          return {\r\n            children: 'children',\r\n            label: 'label',\r\n            disabled: 'disabled'\r\n          };\r\n        }\r\n      },\r\n      lazy: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      highlightCurrent: Boolean,\r\n      load: Function,\r\n      filterNodeMethod: Function,\r\n      accordion: Boolean,\r\n      indent: {\r\n        type: Number,\r\n        default: 18\r\n      },\r\n      iconClass: String\r\n    },\r\n\r\n    computed: {\r\n      children: {\r\n        set(value) {\r\n          this.data = value;\r\n        },\r\n        get() {\r\n          return this.data;\r\n        }\r\n      },\r\n\r\n      treeItemArray() {\r\n        return Array.prototype.slice.call(this.treeItems);\r\n      },\r\n\r\n      isEmpty() {\r\n        const { childNodes } = this.root;\r\n        return !childNodes || childNodes.length === 0 || childNodes.every(({visible}) => !visible);\r\n      }\r\n    },\r\n\r\n    watch: {\r\n      defaultCheckedKeys(newVal) {\r\n        this.store.setDefaultCheckedKey(newVal);\r\n      },\r\n\r\n      defaultExpandedKeys(newVal) {\r\n        this.store.defaultExpandedKeys = newVal;\r\n        this.store.setDefaultExpandedKeys(newVal);\r\n      },\r\n\r\n      data(newVal) {\r\n        this.store.setData(newVal);\r\n      },\r\n\r\n      checkboxItems(val) {\r\n        Array.prototype.forEach.call(val, (checkbox) => {\r\n          checkbox.setAttribute('tabindex', -1);\r\n        });\r\n      },\r\n\r\n      checkStrictly(newVal) {\r\n        this.store.checkStrictly = newVal;\r\n      }\r\n    },\r\n\r\n    methods: {\r\n      filter(value) {\r\n        if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter');\r\n        this.store.filter(value);\r\n      },\r\n\r\n      getNodeKey(node) {\r\n        return getNodeKey(this.nodeKey, node.data);\r\n      },\r\n\r\n      getNodePath(data) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath');\r\n        const node = this.store.getNode(data);\r\n        if (!node) return [];\r\n        const path = [node.data];\r\n        let parent = node.parent;\r\n        while (parent && parent !== this.root) {\r\n          path.push(parent.data);\r\n          parent = parent.parent;\r\n        }\r\n        return path.reverse();\r\n      },\r\n\r\n      getCheckedNodes(leafOnly, includeHalfChecked) {\r\n        return this.store.getCheckedNodes(leafOnly, includeHalfChecked);\r\n      },\r\n\r\n      getCheckedKeys(leafOnly) {\r\n        return this.store.getCheckedKeys(leafOnly);\r\n      },\r\n\r\n      getCurrentNode() {\r\n        const currentNode = this.store.getCurrentNode();\r\n        return currentNode ? currentNode.data : null;\r\n      },\r\n\r\n      getCurrentKey() {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey');\r\n        const currentNode = this.getCurrentNode();\r\n        return currentNode ? currentNode[this.nodeKey] : null;\r\n      },\r\n\r\n      setCheckedNodes(nodes, leafOnly) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes');\r\n        this.store.setCheckedNodes(nodes, leafOnly);\r\n      },\r\n\r\n      setCheckedKeys(keys, leafOnly) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys');\r\n        this.store.setCheckedKeys(keys, leafOnly);\r\n      },\r\n\r\n      setChecked(data, checked, deep) {\r\n        this.store.setChecked(data, checked, deep);\r\n      },\r\n\r\n      getHalfCheckedNodes() {\r\n        return this.store.getHalfCheckedNodes();\r\n      },\r\n\r\n      getHalfCheckedKeys() {\r\n        return this.store.getHalfCheckedKeys();\r\n      },\r\n\r\n      setCurrentNode(node) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode');\r\n        this.store.setUserCurrentNode(node);\r\n      },\r\n\r\n      setCurrentKey(key) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey');\r\n        this.store.setCurrentNodeKey(key);\r\n      },\r\n\r\n      getNode(data) {\r\n        return this.store.getNode(data);\r\n      },\r\n\r\n      getParentNode(nodeId) {\r\n        return this.store.nodesMap[nodeId] && this.store.nodesMap[nodeId].parent;\r\n      },\r\n\r\n      updateNodeContent(nodeId, content) {\r\n        const currNode = this.store.nodesMap[nodeId];\r\n        currNode.data.name = content.trim();\r\n      },\r\n\r\n      remove(data) {\r\n        this.store.remove(data);\r\n      },\r\n\r\n      append(data, parentNode) {\r\n        this.store.append(data, parentNode);\r\n      },\r\n\r\n      insertBefore(data, refNode) {\r\n        this.store.insertBefore(data, refNode);\r\n      },\r\n\r\n      insertAfter(data, refNode) {\r\n        this.store.insertAfter(data, refNode);\r\n      },\r\n\r\n      handleNodeExpand(nodeData, node, instance) {\r\n        this.broadcast('ElTreeNode', 'tree-node-expand', node);\r\n        this.$emit('node-expand', nodeData, node, instance);\r\n      },\r\n\r\n      updateKeyChildren(key, data) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild');\r\n        this.store.updateChildren(key, data);\r\n      },\r\n\r\n      initTabIndex() {\r\n        this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');\r\n        this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');\r\n        const checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]');\r\n        if (checkedItem.length) {\r\n          checkedItem[0].setAttribute('tabindex', 0);\r\n          return;\r\n        }\r\n        this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0);\r\n      },\r\n\r\n      handleKeydown(ev) {\r\n        const currentItem = ev.target;\r\n        if (currentItem.className.indexOf('el-tree-node') === -1) return;\r\n        const keyCode = ev.keyCode;\r\n        this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');\r\n        const currentIndex = this.treeItemArray.indexOf(currentItem);\r\n        let nextIndex;\r\n        if ([38, 40].indexOf(keyCode) > -1) { // up、down\r\n          ev.preventDefault();\r\n          if (keyCode === 38) { // up\r\n            nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;\r\n          } else {\r\n            nextIndex = (currentIndex < this.treeItemArray.length - 1) ? currentIndex + 1 : 0;\r\n          }\r\n          this.treeItemArray[nextIndex].focus(); // 选中\r\n        }\r\n        if ([37, 39].indexOf(keyCode) > -1) { // left、right 展开\r\n          ev.preventDefault();\r\n          currentItem.click(); // 选中\r\n        }\r\n        const hasInput = currentItem.querySelector('[type=\"checkbox\"]');\r\n        if ([13, 32].indexOf(keyCode) > -1 && hasInput) { // space enter选中checkbox\r\n          ev.preventDefault();\r\n          hasInput.click();\r\n        }\r\n      },\r\n\r\n      setParentScroll(type, step = 5) {\r\n        this.$el.parentNode.scrollTo(0, type === 'after' ? this.$el.parentNode.scrollTop + step : this.$el.parentNode.scrollTop - step);\r\n      },\r\n\r\n      setParentScrollInDraging(dragOffset) {\r\n        const y = dragOffset.y;\r\n        const $parent = this.$el.parentNode;\r\n        const parentOffset = $parent.getBoundingClientRect();\r\n        if(y >= parentOffset.y + parentOffset.height - 20) {\r\n          this.setParentScroll('after', 10);\r\n        }\r\n        else if(y <= parentOffset.y + 20){\r\n          this.setParentScroll('before', 10);\r\n        }\r\n      },\r\n\r\n      handleMousemove(event) {\r\n        event.touches = [{\r\n          pageX: event.pageX,\r\n          pageY: event.pageY,\r\n        }];\r\n        this.handleTouchmove(event);\r\n      },\r\n\r\n      handleTouchmove(event) {\r\n        this.$emit('tree-touchmove', event);\r\n        const touch = event.touches[0]; \r\n\r\n        if(!(this.dragOffset && this.dragOffset.nodeId && this.isAndroid && this.draggable)) {\r\n          if(this.startTouch && this.startTouch.pageY >= 0) {\r\n            this.setParentScroll(touch.pageY < this.startTouch.pageY ? 'after' : 'before', Math.abs(touch.pageY - this.startTouch.pageY));\r\n            this.startTouch = touch;\r\n          }\r\n          return;\r\n        }\r\n        \r\n        let x = parseInt(touch.pageX - this.dragOffset.dragX, 10);\r\n        let y = parseInt(touch.pageY - this.dragOffset.dragY, 10); \r\n        this.$emit('tree-node-touchmove', event, {\r\n          ...this.dragOffset,\r\n          x,\r\n          y,\r\n        });\r\n\r\n        event.preventDefault();\r\n      },\r\n\r\n      removeDropClass() {\r\n        this.$el.querySelectorAll('.drop-type').forEach(el => {\r\n          removeClass(el, 'drop-type-before');\r\n          removeClass(el, 'drop-type-after');\r\n          removeClass(el, 'drop-type-inner');\r\n        })\r\n      }\r\n    },\r\n\r\n    created() {\r\n      this.isTree = true;\r\n\r\n      this.store = new TreeStore({\r\n        key: this.nodeKey,\r\n        data: this.data,\r\n        lazy: this.lazy,\r\n        props: this.props,\r\n        load: this.load,\r\n        currentNodeKey: this.currentNodeKey,\r\n        checkStrictly: this.checkStrictly,\r\n        checkDescendants: this.checkDescendants,\r\n        defaultCheckedKeys: this.defaultCheckedKeys,\r\n        defaultExpandedKeys: this.defaultExpandedKeys,\r\n        autoExpandParent: this.autoExpandParent,\r\n        defaultExpandAll: this.defaultExpandAll,\r\n        filterNodeMethod: this.filterNodeMethod\r\n      });\r\n\r\n      this.root = this.store.root;\r\n\r\n      let dragState = this.dragState;\r\n      this.$on('tree-node-drag-start', (event, treeNode) => {\r\n        if (typeof this.allowDrag === 'function' && !this.allowDrag(treeNode.node)) {\r\n          event.preventDefault();\r\n          return false;\r\n        }\r\n        event.dataTransfer.effectAllowed = 'move';\r\n\r\n        // wrap in try catch to address IE's error when first param is 'text/plain'\r\n        try {\r\n          // setData is required for draggable to work in FireFox\r\n          // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\r\n          event.dataTransfer.setData('text/plain', '');\r\n          \r\n        } catch (e) {}\r\n        dragState.draggingNode = treeNode;\r\n        this.$emit('node-drag-start', treeNode.node, event);\r\n      });\r\n\r\n      const dragOver = (dropNode, event) => {\r\n        let dragState = this.dragState;\r\n        const oldDropNode = dragState.dropNode;\r\n        if (oldDropNode && oldDropNode !== dropNode) {\r\n          removeClass(oldDropNode.$el, 'is-drop-inner');\r\n        }\r\n        const draggingNode = dragState.draggingNode;\r\n        if (!draggingNode || !dropNode) return;\r\n\r\n        let dropPrev = true;\r\n        let dropInner = true;\r\n        let dropNext = true;\r\n        let userAllowDropInner = true;\r\n        if (typeof this.allowDrop === 'function') {\r\n          dropPrev = this.allowDrop(draggingNode.node, dropNode.node, 'prev');\r\n          userAllowDropInner = dropInner = this.allowDrop(draggingNode.node, dropNode.node, 'inner');\r\n          dropNext = this.allowDrop(draggingNode.node, dropNode.node, 'next');\r\n        }\r\n\r\n        if(event.dataTransfer) {\r\n          event.dataTransfer.dropEffect = dropInner ? 'move' : 'none';\r\n        }\r\n        \r\n        if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {\r\n          if (oldDropNode) {\r\n            this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event);\r\n          }\r\n          this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event);\r\n        }\r\n\r\n        if (dropPrev || dropInner || dropNext) {\r\n          dragState.dropNode = dropNode;\r\n        }\r\n\r\n        if (dropNode.node.nextSibling === draggingNode.node) {\r\n          dropNext = false;\r\n        }\r\n        if (dropNode.node.previousSibling === draggingNode.node) {\r\n          dropPrev = false;\r\n        }\r\n        if (dropNode.node.contains(draggingNode.node, false)) {\r\n          dropInner = false;\r\n        }\r\n        if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) {\r\n          dropPrev = false;\r\n          dropInner = false;\r\n          dropNext = false;\r\n        }\r\n\r\n        const targetPosition = dropNode.$el.getBoundingClientRect();\r\n        const treePosition = this.$el.getBoundingClientRect();\r\n\r\n        let dropType;\r\n        const prevPercent = dropPrev ? (dropInner ? 0.25 : (dropNext ? 0.45 : 1)) : -1;\r\n        const nextPercent = dropNext ? (dropInner ? 0.75 : (dropPrev ? 0.55 : 0)) : 1;\r\n        \r\n        const distance = event.clientY - targetPosition.y;//targetPosition.top\r\n        if (distance < targetPosition.height * prevPercent) {\r\n          dropType = 'before';\r\n        } else if (distance > targetPosition.height * nextPercent) {\r\n          dropType = 'after';\r\n        } else if (dropInner) {\r\n          dropType = 'inner';\r\n        } else {\r\n          dropType = 'none';\r\n        }\r\n\r\n        this.removeDropClass();\r\n\r\n        if(dropType === 'before') {\r\n          addClass(dropNode.$el.querySelector('[name=\"drop-type-before\"]'), 'drop-type-before');\r\n        }\r\n        else if(dropType === 'after') {\r\n          addClass(dropNode.$el.querySelector('[name=\"drop-type-after\"]'), 'drop-type-after');\r\n        }\r\n        else if(dropType === 'inner') {\r\n          addClass(dropNode.$el.querySelector('[name=\"drop-type-after\"]'), 'drop-type-inner');\r\n        }\r\n\r\n        dragState.showDropIndicator = dropType === 'before' || dropType === 'after';\r\n        dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;\r\n        dragState.dropType = dropType;\r\n        this.$emit('node-drag-over', draggingNode.node, dropNode.node, event);\r\n      };\r\n\r\n      const dragEnd = (event) => {\r\n        var dragState = this.dragState;\r\n        const { draggingNode, dropType, dropNode } = dragState;\r\n        event.preventDefault();\r\n        if(event.dataTransfer) {\r\n          event.dataTransfer.dropEffect = 'move';\r\n        }\r\n\r\n        if (draggingNode && dropNode) {\r\n          const draggingNodeCopy = { data: draggingNode.node.data };\r\n          if (dropType !== 'none') {\r\n            draggingNode.node.remove();\r\n          }\r\n          if (dropType === 'before') {\r\n            dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);\r\n          } else if (dropType === 'after') {\r\n            dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);\r\n          } else if (dropType === 'inner') {\r\n            dropNode.node.insertChild(draggingNodeCopy);\r\n          }\r\n          if (dropType !== 'none') {\r\n            this.store.registerNode(draggingNodeCopy);\r\n          }\r\n\r\n          this.removeDropClass();\r\n\r\n          this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event);\r\n          if (dropType !== 'none') {\r\n            this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event);\r\n          }\r\n        }\r\n        if (draggingNode && !dropNode) {\r\n          this.$emit('node-drag-end', draggingNode.node, null, dropType, event);\r\n        }\r\n\r\n        dragState.showDropIndicator = false;\r\n        dragState.draggingNode = null;\r\n        dragState.dropNode = null;\r\n        dragState.allowDrop = true;\r\n        this.dragOffset = {}\r\n      }\r\n\r\n      const getChildNodeIds = (nodeComponent) => {\r\n        let childIds = {[nodeComponent.node.id]: true};\r\n        if(nodeComponent && nodeComponent.$children && nodeComponent.$children.length) {\r\n          nodeComponent.$children.forEach(item => {\r\n            if(item) {\r\n              childIds[item.node.id] = true;\r\n              if(item.$children && item.$children.length) {\r\n                childIds = {\r\n                  ...childIds,\r\n                  ...getChildNodeIds(item),\r\n                }\r\n              }\r\n            }\r\n          })\r\n        }\r\n        return childIds;\r\n      }\r\n\r\n      this.$on('tree-node-touchstart-scroll', (touch) => {\r\n        this.startTouch = touch;\r\n      });\r\n\r\n      this.$on('tree-node-touchstart-drag', (event, offset) => {\r\n        this.dragOffset = {\r\n          nodeId: offset.nodeId,\r\n          ...offset\r\n        };\r\n        \r\n        if(!dragState.draggingNode) {\r\n          this.dragState = {\r\n            ...this.dragState,\r\n            draggingNode: offset.nodeComponent\r\n          }\r\n        }\r\n\r\n        this.$emit('node-drag-start', offset.node, event);\r\n      })\r\n      \r\n      this.$on('tree-node-touchmove', (event, offset) => {\r\n        this.dragOffset = {\r\n          nodeId: offset.nodeId,\r\n          ...offset\r\n        };\r\n        \r\n        if(!dragState.draggingNode) {\r\n          this.dragState = {\r\n            ...this.dragState,\r\n            draggingNode: offset.nodeComponent\r\n          }\r\n        }\r\n\r\n        const nodeOffsets = [];\r\n        const nodeEls = document.querySelectorAll('.el-tree-node');\r\n        nodeEls.forEach(el => {\r\n          const nodeOffset = el.getBoundingClientRect();\r\n          nodeOffsets.push({\r\n            x: nodeOffset.x,\r\n            y: nodeOffset.y,\r\n            width: nodeOffset.width,\r\n            height: nodeOffset.height,\r\n            id: parseInt(el.getAttribute('name'), 10),\r\n            el: el,\r\n          })\r\n        })\r\n\r\n        \r\n\r\n        try {\r\n          const lastNode = this.root.childNodes[this.root.childNodes.length - 1];\r\n          const childNodeIds = getChildNodeIds(this.dragState.draggingNode);\r\n          const dragY = offset.y;\r\n          const dragHalfHeight = parseInt(offset.height/2, 10);\r\n\r\n          this.setParentScrollInDraging({\r\n            y: dragY\r\n          })\r\n\r\n          nodeOffsets.forEach(nodeOffset => {\r\n            const targetY = nodeOffset.y || 0;\r\n            const targetHeight = nodeOffset.height || 0;\r\n            \r\n            if(\r\n              !childNodeIds[nodeOffset.id] && \r\n              dragY > targetY - dragHalfHeight &&  \r\n              dragY < targetY + targetHeight &&\r\n              this.dragState.draggingNode.node.id !== nodeOffset.id &&\r\n              (!this.isLastDragFixed || (this.isLastDragFixed && lastNode.id !== nodeOffset.id)) // 不是最后一个\r\n            ) {\r\n              const dropNode = findNearestComponent(nodeOffset.el, 'ElTreeNode');\r\n              if(!dropNode.$options.propsData.isButtonItem) {\r\n                dragOver(dropNode, {\r\n                  ...event,\r\n                  clientY: dragY,\r\n                });\r\n              }\r\n            }\r\n          })\r\n        } catch (error) {\r\n          \r\n        }\r\n      })\r\n\r\n      this.$on('tree-node-touchend', (event) => {\r\n        try {\r\n          dragEnd(event);\r\n          this.dragOffset = {};\r\n          this.startTouch = {};\r\n        } catch (error) {\r\n          \r\n        }\r\n      })\r\n      \r\n      this.$on('tree-node-drag-over', (event, treeNode) => {\r\n        this.dragOffset = {};\r\n        const dropNode = findNearestComponent(event.target, 'ElTreeNode');\r\n        const lastNode = this.root.childNodes[this.root.childNodes.length - 1];\r\n        const childNodeIds = getChildNodeIds(dragState.draggingNode);\r\n        if(\r\n          !childNodeIds[dropNode.node.id] && \r\n          !(this.isLastDragFixed && dropNode && lastNode.id === dropNode.node.id) && \r\n          dragState.draggingNode.node.id !== dropNode.node.id && \r\n          dropNode\r\n        ) {\r\n          dragOver(dropNode, event);\r\n        }\r\n      });\r\n\r\n      this.$on('tree-node-drag-end', (event) => {\r\n        dragEnd(event);\r\n      });\r\n    },\r\n\r\n    mounted() {\r\n      this.initTabIndex();\r\n      this.$el.addEventListener('keydown', this.handleKeydown);\r\n    },\r\n\r\n    updated() {\r\n      this.treeItems = this.$el.querySelectorAll('[role=treeitem]');\r\n      this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');\r\n    }\r\n  };\r\n</script>\r\n<style scoped lang=\"less\">\r\n\r\n.el-tree--highlight-current{\r\n  \r\n}\r\n.is-drop-not-allow{\r\n\r\n}\r\n.is-drop-inner{\r\n\r\n}\r\n\r\n\r\n.el-tree__drop-indicator{\r\n  opacity: 0;\r\n}\r\n\r\n.el-tree{}\r\n.el-tree__empty-block{}\r\n.el-tree__drop-indicator{}\r\n.el-tree__empty-text{}\r\n\r\n.drag-copy-item{\r\n  background: #fff;\r\n  z-index: 2;\r\n  box-shadow: 0 2px 5px 3px rgba(0,0,0,.1);\r\n  border-radius: 4px;\r\n  border-left: 20px solid #fff;\r\n\r\n  /deep/ & > div.el-tree-node__content > span.el-tree-node__expand-icon{\r\n    opacity: 0;\r\n    &::before{\r\n      display: none;\r\n    }\r\n  }\r\n  \r\n  /deep/ & > div > .el-tree-node__content-text{\r\n    padding: 5px 0;\r\n  }\r\n\r\n  &::after{\r\n    display: none;\r\n  }\r\n}\r\n\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/pad/Mind/tree/src/tree.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"el-tree\",class:{\r\n      //'el-tree--highlight-current': highlightCurrent,\r\n      //'is-dragging': dragState.draggingNode ? true : false,\r\n      //'is-drop-not-allow': !dragState.allowDrop,\r\n      //'is-drop-inner': dragState.dropType === 'inner'\r\n    },attrs:{\"role\":\"tree\"},on:{\"touchmove\":_vm.handleTouchmove,\"mousemove\":_vm.handleMousemove}},[(_vm.dragOffset.nodeId)?_c('el-tree-node',{key:_vm.getNodeKey(_vm.dragOffset.node) + (+ (new Date())),staticClass:\"drag-copy-item\",style:({\r\n        top: _vm.dragOffset.y + 'px', \r\n        left: _vm.dragOffset.x + 'px',\r\n        position: 'fixed',\r\n        width: _vm.dragOffset.width + 'px'\r\n      }),attrs:{\"node\":_vm.dragOffset.node,\"props\":_vm.props,\"isAndroid\":_vm.isAndroid,\"isCopyItem\":true,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,\"render-content\":_vm.renderContent},on:{\"node-expand\":_vm.handleNodeExpand}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.root.childNodes),function(child,index){return _c('el-tree-node',{key:_vm.getNodeKey(child),attrs:{\"node\":child,\"props\":_vm.props,\"isAndroid\":_vm.isAndroid,\"isLastItem\":index === _vm.root.childNodes.length - 1,\"isButtonItem\":_vm.isLastDragFixed && index === _vm.root.childNodes.length - 1,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,\"render-content\":_vm.renderContent},on:{\"node-expand\":_vm.handleNodeExpand}})}),_vm._v(\" \"),(_vm.isEmpty)?_c('div',{staticClass:\"el-tree__empty-block\"},[_c('span',{staticClass:\"el-tree__empty-text\"},[_vm._v(_vm._s(_vm.emptyText))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragState.showDropIndicator),expression:\"dragState.showDropIndicator\"}],ref:\"dropIndicator\",staticClass:\"el-tree__drop-indicator\"})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-bea3dd22\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/pad/Mind/tree/src/tree.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-bea3dd22\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./tree.vue\")\n}\nvar normalizeComponent = require(\"!../../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-bea3dd22\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./tree.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-bea3dd22\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/pad/Mind/tree/src/tree.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"myMindOutline\">\r\n    <div\r\n      :id=\"myMindOutlineId\"\r\n\r\n      :class=\"[\r\n        'outline',\r\n        !datas.length\r\n          ? 'outlineNone'\r\n          : editOutline\r\n          ? 'outlineEdit'\r\n          : isSaveMindMap\r\n          ? ''\r\n          : ''\r\n      ]\"\r\n    >\r\n      <!-- <iframe\r\n      width=\"1000px\"\r\n      height=\"500px\"\r\n      :src=\"`http://192.168.0.49:9999/#/editor?${paramsIframe}`\"\r\n    ></iframe> -->\r\n      <div\r\n        class=\"none_wrapper\"\r\n        v-if=\"datas && !datas.length\"\r\n        style=\"text-align: center;\"\r\n      >\r\n        <img src=\"@/assets/img/recommend_none.svg\" />\r\n        <p class=\"none\">暂无数据</p>\r\n      </div>\r\n      <div style=\"width:0px;height:0px;overflow:hidden;\">\r\n      {{ selectedData }} {{ selectedDom.target ? true:false }}\r\n      </div>\r\n      <div class=\"course_name\" id=\"course_name\">\r\n        {{ course_name }}\r\n      </div>\r\n      <div\r\n        v-if=\"selectedData && selectedData.isShowOp && selectedDom.target || (!editOutline && copyData.id && selectedDom.target)\"\r\n        :ref=\"'operateRef'\"\r\n        :class=\"`operates-wrapper`\"\r\n        :style=\"{\r\n          'z-index': 2,\r\n          'opacity': 1,\r\n          'display': 'none'\r\n        }\"\r\n        @click=\"disibledDocumentClick\"\r\n        >\r\n        <div class=\"operates-wrapper-operates\">\r\n          <div v-if=\"editOutline\" class=\"operate del\" @mousedown=\"remove\">\r\n            删除({{ isMac ? \"cmd+←\" : \"ctrl+d\" }})\r\n          </div>\r\n          <div\r\n            class=\"operate addsubtheme\"\r\n            @mousedown=\"append1(selectedData, selectedNode, $event)\"\r\n            v-if=\"selectedNode.level < 5\"\r\n          >\r\n            添加子主题(tab)\r\n          </div>\r\n          <div\r\n            v-if=\"editOutline\"\r\n            class=\"operate\"\r\n            @mousedown=\"addEquative(selectedNode, selectedData, $event)\"\r\n          >\r\n            添加同级主题(Enter)\r\n          </div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"tabClick(selectedNode, selectedData)\"\r\n            v-if=\"selectedData.$index > 0 && selectedNode.level < 5\"\r\n          >缩进</div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"reduceTabClick(selectedNode, selectedData)\"\r\n            v-if=\"selectedNode.level > 1\"\r\n          >\r\n            减少缩进\r\n          </div>\r\n          <div\r\n            v-if=\"(selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative) && isCanCopy || (!editOutline && copyData.id)\"\r\n            class=\"operate\"\r\n            @mousedown=\"copy(selectedNode, selectedData, $event)\"\r\n          >\r\n            复制({{ isMac ? \"cmd+c\" : \"ctrl+c\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"(selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative) && isCanCopy\"\r\n            class=\"operate\"\r\n            @mousedown=\"paste(selectedNode, selectedData, $event)\"\r\n          >\r\n            粘贴({{ isMac ? \"cmd+v\" : \"ctrl+v\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"(selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative) && isCanCopy\"\r\n            class=\"operate\"\r\n            @mousedown=\"cut(selectedNode, selectedData, $event)\"\r\n          >\r\n            剪切({{ isMac ? \"cmd+x\" : \"ctrl+x\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"insertNewline($event, selectedData.id)\"\r\n          >\r\n            换行({{ isMac ? \"cmd+enter\" : \"ctrl+enter\" }})\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div ref=\"box\" class=\"tree-box\" :id=\"treeId\">\r\n        <Tree\r\n          ref=\"tree\"\r\n          :data=\"datas\"\r\n          node-key=\"id\"\r\n          default-expand-all\r\n          :expand-on-click-node=\"false\"\r\n          @node-drag-start=\"handleDragStart\"\r\n          @node-drag-enter=\"handleDragEnter\"\r\n          @node-drag-leave=\"handleDragLeave\"\r\n          @node-drag-over=\"handleDragOver\"\r\n          @node-drag-end=\"handleDragEnd\"\r\n          @node-item-click=\"handleTreeItemClick\"\r\n          @node-drop=\"handleDrop\"\r\n          @node-expand=\"nodeExpand\"\r\n          @node-collapse=\"nodeCollapse\"\r\n          :draggable=\"!this.isEditing && this.editOutline ? true : false\"\r\n          :allow-drop=\"allowDrop\"\r\n          :allow-drag=\"allowDrag\"\r\n          :filter-node-method=\"filterNode\"\r\n          :props=\"{ label: 'name', node: 'node', children: 'children' }\"\r\n          :empty-text=\"''\"\r\n          :is-last-drag-fixed=\"this.editOutline ? true : false\"\r\n        >\r\n          <div\r\n            class=\"custom-tree-node\"\r\n            slot-scope=\"{ node, data }\"\r\n            :class=\"[\r\n              !data.isAdd && data.isAddTheme ? 'theme' : ''\r\n            ]\"\r\n            :id=\"data.id\"\r\n            :ref=\"'treeNode' + data.id\"\r\n          >\r\n            <!--子主题输入框-->\r\n            <div>\r\n              <div class=\"add-input 1\"\r\n              v-if=\"data.isAdd && !data.isAddTheme\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'subtitle' + data.id\"\r\n                  :id=\"'subtitle' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"saveSubTitle\"\r\n                  @blur=\"triggerBlur('saveSubTitle')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n\r\n              <!--主题输入框-->\r\n              <div\r\n                class=\"add-input addtheme\"\r\n                v-else-if=\"data.isAdd && data.isAddTheme\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'title' + data.id\"\r\n                  :id=\"'title' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"saveTitle\"\r\n                  @blur=\"triggerBlur('saveTitle')\"\r\n                  style=\"min-height: 30px !important\"\r\n\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <div\r\n                class=\"add-input 2 addthemebtn\"\r\n                v-else-if=\"!data.isAdd && data.isAddTheme\"\r\n              >\r\n                <div class=\"btn bg-transparent\" @touchend=\"addTheme\">\r\n                  <i class=\"el-icon-plus\" style=\"padding-top: 1px;\"></i>添加主题\r\n                </div>\r\n                <!-- <el-button class=\"bg-transparent\" @click=\"addTheme\"\r\n                  ><i class=\"el-icon-plus\"></i\r\n                  >添加主题</el-button\r\n                > -->\r\n              </div>\r\n              <!-- Item 编辑 文字-->\r\n              <div\r\n                class=\"add-input 3\"\r\n                v-else-if=\"selectedData && selectedData.isEdit && selectedData.id === data.id\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'edittextarea' + data.id\"\r\n                  :id=\"'edittextarea' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"editNode()\"\r\n                  @blur=\"triggerBlur('editNode')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <!-- Item同级 文字 -->\r\n              <div class=\"add-input 4\"\r\n              v-else-if=\"data.isAddEquative\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'equativetitle' + data.id\"\r\n                  :id=\"'equativetitle' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"saveEquative\"\r\n                  @blur=\"triggerBlur('saveEquative')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n\r\n              <div\r\n              class=\"content selectedData\"\r\n              v-else-if=\"data.id && selectedData && selectedData.id === data.id && !operating.isOperating || (!editOutline && copyData.id === data.id)\"\r\n              >\r\n              <div\r\n                class=\"node-content unselectable\"\r\n                :class=\"'textarea' + data.id\"\r\n                :ref=\"'textarea' + data.id\"\r\n              >\r\n                <pre>{{node.label}}</pre>\r\n              </div>\r\n            </div>\r\n              <div\r\n                v-else\r\n                class=\"content\"\r\n                >\r\n                <div\r\n                  class=\"node-content unselectable\"\r\n                  :class=\"'textarea' + data.id\"\r\n                  :ref=\"'textarea' + data.id\"\r\n                >\r\n                  <pre>{{node.label}}</pre>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Tree>\r\n      </div>\r\n      <el-dialog\r\n        class=\"con_dialog\"\r\n        :visible.sync=\"dialogVisibleCon\"\r\n        :modal=\"true\"\r\n        :close-on-click-modal=\"false\"\r\n        :destroy-on-close=\"true\"\r\n        :append-to-body=\"true\"\r\n        center\r\n        top=\"0vh\"\r\n        :before-close=\"handleClose\"\r\n      >\r\n        <div class=\"del_confirm\">您还有未保存的内容，请问是否保存？</div>\r\n        <span slot=\"footer\" class=\"dialog-footer\">\r\n          <el-button @click=\"submitCon(2)\">不保存</el-button>\r\n          <el-button class=\"comfirm-btn\" @click=\"submitCon(1)\">保存</el-button>\r\n        </span>\r\n      </el-dialog>\r\n    </div>\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"\r\n        is_collect == 2 &&\r\n          dataPro &&\r\n          dataPro.mindmap_content &&\r\n          courseIsuseradd != 3 &&\r\n          !editOutline && showCollect\r\n      \"\r\n    >\r\n      <img @click=\"addUserCollection(1)\" src=\"@/assets/img/mind_collect.svg\" />\r\n      <span @click=\"addUserCollection(1)\">收藏导图</span>\r\n    </div>\r\n    <div\r\n      class=\"collect\"\r\n      ref=\"collect\"\r\n      v-if=\"\r\n        is_collect == 1 &&\r\n          dataPro &&\r\n          dataPro.mindmap_content &&\r\n          courseIsuseradd != 3 &&\r\n          !editOutline && showCollect\r\n      \"\r\n    >\r\n      <img @click=\"addUserCollection(2)\" src=\"@/assets/img/mind_collected.svg\" />\r\n      <span @click=\"addUserCollection(2)\">取消收藏</span>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { deepClone, throttle, getIsMobile,setFullHeight, getIsAndroid, testAlert } from \"@/utils/util\";\r\nimport { getMindMap as getMindMapLo } from \"@/utils/auth\";\r\nimport { addUserCollection, getMindmap } from \"@/api/index\";\r\n// [Migrated from PC-MyMindOutline.vue] Undo/Redo 双栈操作函数\r\nimport {\r\n  pushUndo,\r\n  getStackStatus,\r\n  getDeviceId,\r\n  clearAllStacks\r\n} from \"@/utils/indexDb\";\r\nimport Tree from './tree/src/tree';\r\n\r\nlet id = \"id\" + uuidv4();\r\nexport default {\r\n  components: {Tree},\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    editOutline: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    },\r\n    isSaveMindMap: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    },\r\n    command: {\r\n      type: String,\r\n      default: () => {\r\n        return \"1\";\r\n      }\r\n    },\r\n    showCollect: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return true;\r\n      }\r\n    },\r\n    myMindOutlineId: {\r\n      type: String,\r\n      default: () => {\r\n        return \"myMindOutline\";\r\n      }\r\n    },\r\n    treeId: {\r\n      type: String,\r\n      default: () => {\r\n        return \"treeId\";\r\n      }\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    courseIsuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    isBindEventBus: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    readOnly: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      isEditing: false, //是否在编辑中\r\n      isEditingNode: false, // 编辑态互斥锁：输入框是否获得焦点\r\n      clickCount: {},\r\n      isMobile: getIsMobile(),\r\n      isAndroid: getIsAndroid(),\r\n      isToolsEventing: false, // 操作栏点击时为true, 500ms后变为false\r\n      datas: [],\r\n      node: null,\r\n      selectedData: {},\r\n      selectedDom: {},\r\n      selectedNode: {},\r\n      editingData: {},\r\n      copyData: {},\r\n      content: \"\",\r\n      originalContent: \"\",\r\n      course_name: \"\",\r\n      newChild: {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 2,\r\n        isAdd: false,\r\n        isAddTheme: true\r\n      },\r\n      operating: {\r\n        isOperating: false,\r\n        operate: null // 1:添加主题 2、编辑 3、添加子主题 4、添加同级\r\n      },\r\n      isEdited: false,\r\n      dialogVisibleCon: false,\r\n      whiteCom: \"\",\r\n      timer: null, // 自动保存定时器\r\n      timeCount: window.location.href.indexOf('aaaaaaaaaa=1') >= 0 ? 30000 : 120000, // 自动保存时间间隔\r\n      nodeCollapseData: {},\r\n      expandedKeys: [],\r\n      unExpandedKeys: [],\r\n      timeout: null,\r\n      isEditOperating: false,\r\n      // 键盘\r\n      arrKey: [],\r\n      keydown: \"\",\r\n      copyText: \"\",\r\n      removeNodes: [],\r\n      pressTs: 0,\r\n      is_collect: 2,\r\n      loading: false,\r\n      isLocalStorageSave: false, // 是否自动保存\r\n      // [Migrated from PC-MyMindOutline.vue] 是否需要保存快照到 Undo 栈\r\n      shouldSaveSnapshot: false,\r\n      isHistoryInitialized: false, // 标记历史版本是否已初始化，避免重复清空栈\r\n      // 安全的异步回调管理\r\n      pendingAction: null, // { fn: Function, timestamp: Number, type: 'undo'|'redo'|'withdraw'|'delete', dataVersion: String }\r\n      isWaitingForUnlock: false, // 是否正在等待锁解除\r\n      pendingActionTimeout: 30000, // 30秒超时\r\n      paramsIframe: encodeURIComponent(\r\n        \"course_isuseradd=2&params=AdS1aJPK3vfBfSes+1maMAN0OovUX12u8jFGCyBZYK0ACZdydiQLDCTSFs4htNfbJTMQIp4vERbMHUYwIwgNqEK4JU+v35zugtS8oXt4XppsKV9OWU+28mcsrKNCu61cicQTBMl/LXTGQjP0z1tecn27a1yx2LtCeTkhF2plWiomyKhtkGihbiAp8elz/Gqij/crtScNr6RLV7h4cXeIbDhkFN2Bt64T6GZJgu/9snSl4MUVKXM36/mws7TuauYQQmT7exCbhar10vosMknlN689aMmOy53Mp6DHok2PeyJrMbWMQ6NAMZH1El6cSEGM5C4NKvCg8HlxwGdTaybqAQ\"\r\n      ),\r\n      isCanCopy: false,\r\n      isGoblack: false, // 去黑牌\r\n      isToPage: false, // 去其他页面\r\n      callbackFn: null, // 编辑前获取当前编辑状态后的回调函数\r\n      isMyselfEditing: false, // 判断是不是自己这端在编辑\r\n      resolveDrag: null,\r\n      maxLevel: 5,\r\n      isGettingStatus: false, // 正在请求长链接状态\r\n      getStatusTimeout: null, // 获取状态的超时定时器\r\n      getStatusTimeoutMs: 5000, // 超时时间 5 秒\r\n      isCancel: false,\r\n      withdrawTypes: {\r\n        \"removeNode\": 'removeNode',\r\n        \"addTheme\": 'addTheme',\r\n        \"addSubTheme\": 'addSubTheme',\r\n        \"addEquativeTheme\": 'addEquativeTheme',\r\n        \"editNode\": 'editNode'\r\n      }\r\n      // paramsIframe: encodeURIComponent(\r\n      //   \"course_isuseradd=3&params=kCnu/YRx1sgWF99Ahqs7lLNgX2MKy2b5+MJCDROVBXJE8pBlR+L36deHs97sK3JY0p3kawLedUL9pJNePt5qr/OZ/+OQ//6Bhbtvw0xHBR7lS9Jxi3oQGuxJgY/X5Gpm6hMdHEEv4QqNmj+YdsvtRCxmq3X4PFWLkVPATGRUh3SweohNFG7vpVR27iDyL6BFAylSuHlP1X3gP5uX6YhfiXISxKwFcDTcev0cGmmBrpfpkS/1ULbK6Xd9TOOovjIHMyN7uPYkIvZNj+Ko4ErKcZXe5RBWQYJAxZHLd/TGIMWAFyE+43D6zHKjpFCuo4Ok5bj364I148QvnJw6jkmqgQ\"\r\n      // )\r\n    };\r\n  },\r\n  computed: {\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    whiteComStore() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    user() {\r\n      if (typeof this.$store.getters.user === \"string\") {\r\n        return JSON.parse(this.$store.getters.user);\r\n      } else {\r\n        return this.$store.getters.user;\r\n      }\r\n    },\r\n    ws() {\r\n      return this.$store.getters.ws;\r\n    },\r\n    online() {\r\n      return this.$store.getters.online;\r\n    },\r\n    status() {\r\n      return this.$store.getters.status;\r\n    },\r\n    isMac() {\r\n      return this.$store.getters.isMac;\r\n    }\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        this.editingData = {};\r\n        this.isEditing = false;\r\n        this.isLocalStorageSave = false;\r\n        this.copyData = {};\r\n        // 课程内容变化，会跳到文化内容页，所有这里不用处理\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      }\r\n    },\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"dataPro: init: isLocalStorageSave:\", this.isLocalStorageSave, \"_wasAutoSave:\", this._wasAutoSave);\r\n        // 【核心修复】自动保存周期内的所有数据更新都不应该触发 init\r\n        // 问题：updatesuccessCallback 在第一次 updatesuccess 时就重置了 isLocalStorageSave 和 _savedEditingState\r\n        //      但 dataPro watcher 可能在后续的 Vuex 更新时才触发，此时条件不满足，init() 被调用\r\n        //      导致 datas 被重置为服务器返回的数据，新增节点消失\r\n        // 解决：使用 _wasAutoSave 标记（延迟500ms重置），只要 _wasAutoSave 为 true，就跳过 init\r\n        if(this._wasAutoSave || (this.isLocalStorageSave && this._savedEditingState)) {\r\n          console.log('[AutoSave] dataPro 变化但处于自动保存周期，跳过 init');\r\n          return;\r\n        }\r\n        // this.setSaveTimeout();\r\n        this.init();\r\n      }\r\n    },\r\n    whiteComStore: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (\r\n          this.whiteComStore == \"Mind\" &&\r\n          this.$route.name == \"index\" &&\r\n          this.command == \"1\"\r\n        ) {\r\n          this.setSaveTimeout();\r\n          this.bindDocumentEvents('bind');\r\n        } else {\r\n          this.clearTimeout();\r\n          this.bindDocumentEvents('remove');\r\n        }\r\n      }\r\n    },\r\n    command: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (\r\n          this.whiteComStore == \"Mind\" &&\r\n          this.$route.name == \"index\" &&\r\n          this.command == \"1\"\r\n        ) {\r\n          this.setSaveTimeout();\r\n          this.bindDocumentEvents('bind');\r\n        } else {\r\n          this.clearTimeout();\r\n          this.bindDocumentEvents('remove');\r\n        }\r\n      }\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (\r\n          this.whiteComStore == \"Mind\" &&\r\n          this.$route.name == \"index\" &&\r\n          this.command == \"1\"\r\n        ) {\r\n          this.setSaveTimeout();\r\n          this.bindDocumentEvents('bind');\r\n        } else {\r\n          this.clearTimeout();\r\n          this.bindDocumentEvents('remove');\r\n        }\r\n      }\r\n    },\r\n    editOutline: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.copyData = {};\r\n        if (v) {\r\n          this.mindMapTimeStampValue = this.mindMapTimeStamp();\r\n          // 新增添加主题节点\r\n          this.datas = this.addButtonData(this.datas);\r\n          this.setSaveTimeout();\r\n          this.showLayer = false;\r\n        } else {\r\n          this.clearTimeout();\r\n          this.datas = this.removeButtonData(this.datas);\r\n        }\r\n      }\r\n    },\r\n    online: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"onlineonline:\", v)\r\n        // 【修复】自动保存定时器管理\r\n        // 当多端连接时（online > 1），暂停定时器\r\n        // 当恢复单端连接时（online <= 1），重新启动定时器\r\n        // 避免定时器被意外清除后无法恢复\r\n        if (v && v > 1) {\r\n          console.log('[AutoSave] Multiple connections detected, pausing timer');\r\n          this.clearTimeout();\r\n        } else {\r\n          // 【修复】只有在编辑模式下才重新设置定时器\r\n          // 避免在非编辑模式下启动定时器\r\n          if(this.editOutline) {\r\n            console.log('[AutoSave] Single connection, restarting timer');\r\n            this.setSaveTimeout();\r\n          }\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    toParseSync(arr, type = 1) {\r\n      if(arr && typeof arr === 'string') {\r\n        if(arr == '') {\r\n          arr = [];\r\n        } else {\r\n          arr = JSON.parse(arr);\r\n        }\r\n      }\r\n      if(!arr) {\r\n        arr = [];\r\n      }\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParseSync(item[\"node\"], type);\r\n        }\r\n        // if (item.children) {\r\n        //   delete item.children;\r\n        // }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        // if (item.id) {\r\n        //   delete item.id;\r\n        // }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if (item.isAdd !== undefined) {\r\n          delete item.isAdd;\r\n        }\r\n        if (item.isAddTheme !== undefined) {\r\n          delete item.isAddTheme;\r\n        }\r\n        if (item.isEdit !== undefined) {\r\n          delete item.isEdit;\r\n        }\r\n        if(type == 2 && item.isAddEquative !== undefined) {\r\n          delete item.isAddEquative;\r\n        }\r\n        if(type == 2 && item.id !== undefined) {\r\n          delete item.id;\r\n        }\r\n        if(type == 2 && item.children !== undefined) {\r\n          delete item.children;\r\n        }\r\n\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    setSyncMindmapContent() {\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(deepClone(this.mindMap));\r\n      } else {\r\n        // mindMap = this.mindMap;\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      const mindmap_content = mindMap.mindmap_content;\r\n      let mindmap_content1 = '';\r\n      let mindmap_content2 = '';\r\n      if(mindmap_content) {\r\n        mindmap_content1 = this.toParseSync(JSON.parse(mindmap_content), 2);\r\n        mindmap_content2 = Base64.encode(JSON.stringify(mindmap_content1));\r\n      }\r\n      // if(mindmap_content) {\r\n      //   mindmap_content1 = Base64.encode(mindmap_content);\r\n      // }\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'sync',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_content: mindmap_content2,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n    },\r\n    // 获取当前数据版本（用于检测上下文变化）\r\n    getCurrentDataVersion() {\r\n      const content = this.datas ? JSON.stringify(this.datas) : '';\r\n      let hash = 0;\r\n      for (let i = 0; i < content.length; i++) {\r\n        const char = content.charCodeAt(i);\r\n        hash = ((hash << 5) - hash) + char;\r\n        hash = hash & hash;\r\n      }\r\n      return `${hash}_${this.datas ? this.datas.length : 0}`;\r\n    },\r\n    // ============================================================\r\n    // [撤销/重做后清理编辑状态] 防止\"假性锁定\"问题\r\n    // 清理所有编辑相关的状态，确保撤销/重做后可以正常编辑\r\n    // ============================================================\r\n    clearEditingStates() {\r\n      console.log('[Lock] 清理编辑状态，防止假性锁定');\r\n\r\n      // 清理编辑状态\r\n      this.isEditing = false;\r\n      this.isEditingNode = false;\r\n\r\n      // 清理选中状态\r\n      if (this.selectedData && this.selectedData.id) {\r\n        this.$set(this.selectedData, 'isEdit', false);\r\n        this.$set(this.selectedData, 'isShowOp', false);\r\n      }\r\n      this.selectedData = {};\r\n      this.selectedNode = {};\r\n      this.selectedDom = {};\r\n\r\n      // 清理编辑数据\r\n      this.editingData = {};\r\n\r\n      // 清理待处理的异步回调\r\n      this.clearPendingAction('clearEditingStates');\r\n\r\n      // 清理输入相关状态\r\n      this.content = '';\r\n      this.originalContent = '';\r\n\r\n      console.log('[Lock] 编辑状态已清理完成');\r\n    },\r\n    // 清除待处理的异步回调\r\n    clearPendingAction(reason = 'unknown') {\r\n      if (this.pendingAction) {\r\n        console.log(`[PendingAction] 清除待处理回调: reason=${reason}, type=${this.pendingAction.type}`);\r\n        this.pendingAction = null;\r\n        this.isWaitingForUnlock = false;\r\n      }\r\n    },\r\n    // 注册待处理的异步回调\r\n    registerPendingAction(fn, type = 'other') {\r\n      // 清理旧的待执行任务，防止重叠\r\n      if (this.pendingAction) {\r\n        console.log(`[PendingAction] 清除旧回调: type=${this.pendingAction.type}`);\r\n      }\r\n      const dataVersion = this.getCurrentDataVersion();\r\n      this.pendingAction = {\r\n        fn,\r\n        type,\r\n        timestamp: Date.now(),\r\n        dataVersion\r\n      };\r\n      this.isWaitingForUnlock = true;\r\n      console.log(`[PendingAction] 注册新回调: type=${type}, dataVersion=${dataVersion}`);\r\n      return `${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\r\n    },\r\n    // 验证并执行待处理的回调\r\n    validateAndExecutePendingAction() {\r\n      if (!this.pendingAction) {\r\n        return false;\r\n      }\r\n\r\n      const now = Date.now();\r\n      const isExpired = (now - this.pendingAction.timestamp) > this.pendingActionTimeout;\r\n      const currentVersion = this.getCurrentDataVersion();\r\n      const isContextChanged = currentVersion !== this.pendingAction.dataVersion;\r\n\r\n      if (isExpired) {\r\n        this.$message.warning('操作已过期，请手动重试');\r\n        this.clearPendingAction('timeout_expired');\r\n        return false;\r\n      }\r\n\r\n      if (isContextChanged) {\r\n        this.$message.warning('文档状态已更新，原操作已取消');\r\n        this.clearPendingAction('context_changed');\r\n        return false;\r\n      }\r\n\r\n      // 执行回调\r\n      console.log(`[PendingAction] 执行待处理回调: type=${this.pendingAction.type}`);\r\n      try {\r\n        this.pendingAction.fn();\r\n      } catch (error) {\r\n        console.error(`[PendingAction] 回调执行失败:`, error);\r\n      }\r\n      this.clearPendingAction('executed');\r\n      return true;\r\n    },\r\n    setStatus(status = 1) {\r\n      this.isMyselfEditing = true;\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'setstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        status,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n    },\r\n    // 每次操作前，都去调用websocket获取当前导图编辑状态\r\n    getStatus(callback) {\r\n      // ============================================================\r\n      // [状态死锁修复] 超时自愈机制\r\n      // 问题：如果 WebSocket 消息丢失，isGettingStatus 会永久为 true\r\n      // 解决：添加超时机制，超时后自动重置状态并执行回调\r\n      // ============================================================\r\n      if(this.isGettingStatus) {\r\n        console.warn('[getStatus] 正在获取状态，请稍候...');\r\n        // 如果有新的 callback，暂存起来\r\n        if (callback) {\r\n          this.callbackFn = callback;\r\n        }\r\n        return;\r\n      }\r\n      this.isGettingStatus = true;\r\n\r\n      // 设置超时定时器\r\n      this.clearGetStatusTimeout();\r\n      this.getStatusTimeout = setTimeout(() => {\r\n        console.warn('[getStatus] 获取状态超时，自动重置');\r\n        this.isGettingStatus = false;\r\n        // 超时后，假设锁已释放，执行回调\r\n        if (this.callbackFn) {\r\n          console.log('[getStatus] 超时后执行待处理回调');\r\n          try {\r\n            this.callbackFn();\r\n          } catch (error) {\r\n            console.error('[getStatus] 回调执行失败:', error);\r\n          }\r\n          this.callbackFn = null;\r\n        }\r\n      }, this.getStatusTimeoutMs);\r\n\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'getstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData))\r\n      this.callbackFn = callback;\r\n      console.log(\"[getStatus] 发送 getstatus 请求\");\r\n    },\r\n    // 清除获取状态的超时定时器\r\n    clearGetStatusTimeout() {\r\n      if (this.getStatusTimeout) {\r\n        clearTimeout(this.getStatusTimeout);\r\n        this.getStatusTimeout = null;\r\n      }\r\n    },\r\n    touchendWaitBlur(node, data, $event, eventName, type) {\r\n      if(this.isEditing) {\r\n        if(data.id === this.selectedData.id) {\r\n          this.triggerClickEvent(node, data, $event, eventName, type);\r\n        }\r\n        else {\r\n          this.$set(this.selectedData, \"isEdit\", false);\r\n          this.triggerBlur(this.isEditing);\r\n        }\r\n        return;\r\n      }\r\n\r\n      this.$set(this.selectedData, \"isEdit\", false);\r\n      this.triggerClickEvent(node, data, $event, eventName, type);\r\n    },\r\n    mindMapTimeStamp() {\r\n      let mindMapTimeStamp = this.$store.getters.mindMapTimeStamp || (+new Date());\r\n      return mindMapTimeStamp + 10;\r\n    },\r\n    addButtonData(data) {\r\n      const newData = [];\r\n      let isButtonData = false;\r\n      (data || []).forEach(item => {\r\n        newData.push(item);\r\n        if(item.isAddTheme && !item.isAdd) {\r\n          isButtonData = true;\r\n        }\r\n      })\r\n\r\n      if(!isButtonData) {\r\n        newData.push(this.newChild);\r\n      }\r\n      return newData;\r\n    },\r\n    removeButtonData(data) {\r\n      const newData = [];\r\n      (data || []).forEach(item => {\r\n        if(!(item.isAddTheme && !item.isAdd)) {\r\n          newData.push(item)\r\n        }\r\n      })\r\n      return newData;\r\n    },\r\n    handleClose() {\r\n      console.log(\"handleClose:\", this.whiteCom)\r\n      this.dialogVisibleCon = false;\r\n      this.isCancel = true;\r\n      // 不去黑牌\r\n      this.isGoblack = false;\r\n      // 不去其他页面\r\n      this.isToPage = false;\r\n      // 重新选择思维导图模块\r\n      EventBus.$emit(\"setSelectedModule\", 'toMind', 'Mind')\r\n      // 保存弹出窗点击叉按钮关闭弹窗\r\n      // 如果是点击模块，则需要一个重新选择当前模块的事件，设置可点击状态\r\n      if(this.whiteCom == 'WhiteMenus' || this.whiteCom == 'toPage') {\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE_CANCEL\", this.whiteCom);\r\n      }\r\n      let timeout = setTimeout(() => {\r\n        this.isCancel = false\r\n        clearTimeout(timeout)\r\n      }, 1000)\r\n    },\r\n    // 编辑态互斥锁：输入框获得焦点\r\n    handleInputFocus() {\r\n      this.isEditingNode = true;\r\n      console.log('[编辑态互斥锁] 输入框获得焦点，已锁定全局快捷键');\r\n    },\r\n    triggerBlur(fnName) {\r\n      // 编辑态互斥锁：输入框失去焦点，解除锁定\r\n      this.isEditingNode = false;\r\n      console.log('[编辑态互斥锁] 输入框失去焦点，已解锁全局快捷键');\r\n\r\n      if(this.isToolsEventing) {\r\n        return;\r\n      }\r\n\r\n      // [Migrated from PC-MyMindOutline.vue] 检查内容是否有变化，有变化才保存快照\r\n      const content = this.content.trim();\r\n      const hasContentChange = content !== this.originalContent;\r\n      if (hasContentChange) {\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 内容有变化，设置 shouldSaveSnapshot = true');\r\n      }\r\n\r\n      // 编辑节点步骤记录\r\n      if(this.isEditing === 'editNode' && this.content != this.originalContent) {\r\n        console.log(\"this.node:\", this.node);\r\n        let parent = this.$refs.tree.getParentNode(this.node.data.id);\r\n        let removeNode = {\r\n          node: this.node,\r\n          parent: parent,\r\n          index: null,\r\n          type: 'editNode',\r\n          content: this.originalContent\r\n        };\r\n\r\n        this.removeNodes.push(removeNode);\r\n        console.log(\"removeNodes:\", this.removeNodes)\r\n      }\r\n\r\n      if(this.isEditing) {\r\n        this.isEditing = false;\r\n        this.isLocalStorageSave = false;\r\n        this[fnName]();\r\n      }\r\n    },\r\n    setToolsEventing() {\r\n      this.isToolsEventing = true;\r\n      this.setTimeoutValueTools = setTimeout(() => {\r\n        this.isToolsEventing = false;\r\n      }, 1000)\r\n    },\r\n    setInputMiddle($currInputEl) {\r\n      return;\r\n      // const $treeBox = document.getElementById('treeId');\r\n      // const scrollTop = $treeBox.scrollTop;\r\n      // const boxOffset = $treeBox.getBoundingClientRect();\r\n      // const inputOffset = $currInputEl.getBoundingClientRect();\r\n      // const windowHeight = window.innerHeight;\r\n      // $treeBox.style.paddingBottom = 200+'px';\r\n      // let count = 0;\r\n\r\n      // // 通过对比window的高度变化，ios键盘弹出后，window高度会变化，自动会弹到中间，而Android却不会改变window，所以需要手动设置scrollTop\r\n      // if(this.InputMiddleTimeValue) {\r\n      //   clearInterval(this.InputMiddleTimeValue);\r\n      //   this.InputMiddleTimeValue = null;\r\n      // }\r\n      // this.InputMiddleTimeValue = setInterval(() => {\r\n      //   if(windowHeight == window.innerHeight) {\r\n      //     $treeBox.scrollTo(0, inputOffset.y > 250 ? scrollTop + (inputOffset.y - 250) : scrollTop);\r\n      //   }\r\n      //   else {\r\n      //     count = 10;\r\n      //     $treeBox.scrollTo(0, scrollTop);\r\n      //   }\r\n      //   if(count >= 3) {\r\n      //     if(this.InputMiddleTimeValue) {\r\n      //       clearInterval(this.InputMiddleTimeValue);\r\n      //       this.InputMiddleTimeValue = null;\r\n      //     }\r\n      //   }\r\n      //   count ++;\r\n      // }, 100)\r\n    },\r\n    // 移动端触发“选中Item”+“显示操作栏”。pc端触发“选中Item”\r\n    triggerClickEvent(node, data, $event, eventName, type) {\r\n      // 新增功能：非编辑状态时，需要能复制\r\n      if(!this.editOutline) {\r\n        this.copyData = data;\r\n        this.selectedDom = {};\r\n        this.showOperates(node, this.copyData, $event, true);\r\n        return;\r\n      }\r\n      this.disibledDocumentClick();\r\n      // $event.stopPropagation();\r\n      // $event.preventDefault();\r\n      //data.isShowOp = false;\r\n      if(type === 1) {\r\n        data.isEdit = false;\r\n      }\r\n      if(type == 1 && !this.isLocalStorageSave) {\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n      }\r\n\r\n      // 如果已经选中，则再点击一次就修改成编辑状态\r\n      if (this.selectedData && this.selectedData.id === data.id && type === 2) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.edit(node, data);\r\n            this.isEditing = 'editNode';\r\n            this.editingData = data;\r\n          });\r\n        } else {\r\n          this.edit(node, data);\r\n          this.isEditing = 'editNode';\r\n          this.editingData = data;\r\n        }\r\n        return;\r\n      }\r\n\r\n      // 移动端触发“选中Item”+“显示操作栏”\r\n      if(this.isMobile) {\r\n        this.showOperates(node, data, $event, true);\r\n      }\r\n      // pc端触发“选中Item”\r\n      else if(type === 1){\r\n        this.chooseNode(node, data);\r\n      }\r\n    },\r\n    async addUserCollection(operate_type) {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      let params = {\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_isuseradd: this.dataPro.mindmap_isuseradd,\r\n        collect_type: 5,\r\n        operate_type,\r\n        course_id: this.course_id,\r\n        mindmap_type: 1,\r\n        mindmap_id: this.dataPro.mindmap_id\r\n      };\r\n      try {\r\n        const res = await addUserCollection(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.is_collect = operate_type;\r\n          // this.$store.dispatch(\"setMindMap\", {\r\n          //   data: {\r\n          //     ...this.dataPro,\r\n          //     is_collect_studythink: operate_type,\r\n          //   },\r\n          //   isEdited: true,\r\n          //   timeStamp: this.mindMap,\r\n          // });\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    // 是否可编辑\r\n    getEditOutline() {\r\n      if (!this.editOutline) {\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    getCurrTextarea(data) {\r\n      let inputElement = null;\r\n      if (document.getElementById(\"subtitle\" + data.id)) {\r\n        inputElement = document.getElementById(\"subtitle\" + data.id);\r\n      } else if (document.getElementById(\"title\" + data.id)) {\r\n        inputElement = document.getElementById(\"title\" + data.id);\r\n      } else if (document.getElementById(\"edittextarea\" + data.id)) {\r\n        inputElement = document.getElementById(\"edittextarea\" + data.id);\r\n      } else if (document.getElementById(\"equativetitle\" + data.id)) {\r\n        inputElement = document.getElementById(\"equativetitle\" + data.id);\r\n      }\r\n      return;\r\n    },\r\n    //获取textarea中选中的内容\r\n    getSelectText(data) {\r\n      const id = data.id;\r\n      let t = null;\r\n      t = this.getInputElement((id || this.selectedData.id));\r\n      setTimeout(() => {\r\n        if(t) {\r\n          t.focus();\r\n        }\r\n      })\r\n      if (window.getSelection) {\r\n        if (t.selectionStart != undefined && t.selectionEnd != undefined) {\r\n          return t.value.substring(t.selectionStart, t.selectionEnd);\r\n        } else {\r\n          return \"\";\r\n        }\r\n      } else {\r\n        return document.selection.createRange().text;\r\n      }\r\n    },\r\n    getCanCopy() {\r\n      if(navigator.clipboard && typeof navigator.clipboard.readText === 'function' && typeof navigator.clipboard.writeText === 'function') {\r\n        const queryOpts = { name: \"clipboard-read\", allowWithoutGesture: false };\r\n        navigator.permissions.query(queryOpts).then(result => {\r\n          if(result.state == 'granted' || result.state === \"prompt\") {\r\n            this.isCanCopy = true;\r\n          }\r\n        }, () => {\r\n          this.isCanCopy = true;\r\n        });\r\n      }\r\n      if(document.execCommand && document.execCommand('paste') && document.execCommand('copy')) {\r\n        this.isCanCopy = true;\r\n      }\r\n    },\r\n    copy(node, data, e) {\r\n      try {\r\n        if(this.editOutline) {\r\n          this.setToolsEventing()\r\n        }\r\n\r\n        if (e) {\r\n          e.preventDefault();\r\n        }\r\n\r\n        if (this.editOutline && !data.id) {\r\n          return;\r\n        }\r\n        // 获取选中的文本\r\n        let txt = '';\r\n        // 非选中状态，复制的是整个节点的内容\r\n        if(!this.editOutline && this.copyData.id) {\r\n          txt = this.copyData.name;\r\n        } else {\r\n          txt = this.getSelectText(data);\r\n        }\r\n        if (txt) {\r\n          this.copyText = txt;\r\n        } else {\r\n          this.copyText = this.isEditing ? this.content : data.name;\r\n        }\r\n        let isSuccess = false;\r\n        if(this.isHuaweiPad()) {\r\n          // 华为pad clipboard执行成功但是没有复制到剪贴板上，execCommand可以\r\n          if(document.execCommand && document.execCommand('copy')) {\r\n            this.copyTextToClipboard(this.copyText, 'copy');\r\n            isSuccess = true;\r\n          }\r\n        } else {\r\n          if(navigator.clipboard && typeof navigator.clipboard.writeText === 'function') {\r\n            navigator.clipboard.writeText(this.copyText);\r\n            isSuccess = true;\r\n          }\r\n          else if(document.execCommand && document.execCommand('copy')){\r\n            this.copyTextToClipboard(this.copyText, 'copy');\r\n            isSuccess = true;\r\n          }\r\n        }\r\n        if(isSuccess) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"复制成功\"\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    copyTextToClipboard(text, type) {\r\n      var textArea = document.createElement(\"textarea\");\r\n\r\n      // 隐藏文本域\r\n      textArea.style.position = 'fixed';\r\n      textArea.style.top = '0';\r\n      textArea.style.left = '0';\r\n      textArea.style.width = '2em';\r\n      textArea.style.height = '2em';\r\n      textArea.style.padding = '0';\r\n      textArea.style.border = 'none';\r\n      textArea.style.outline = 'none';\r\n      textArea.style.boxShadow = 'none';\r\n      textArea.style.background = 'transparent';\r\n      textArea.value = text;\r\n      document.body.appendChild(textArea);\r\n\r\n      let isSuccess = false\r\n      try {\r\n        if(type === 'copy') {\r\n          textArea.select();\r\n          document.execCommand('copy');\r\n          isSuccess = true;\r\n        }\r\n        else if(type === 'paste') {\r\n          textArea.focus();\r\n          document.execCommand('paste');\r\n          isSuccess = textArea.value;\r\n        }\r\n\r\n      } catch (err) {\r\n        console.log(888888, err);\r\n        this.setStatus(2)\r\n      }\r\n\r\n      document.body.removeChild(textArea);\r\n      return isSuccess;\r\n    },\r\n    copy1(node, data, e) {\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"复制成功\"\r\n      });\r\n    },\r\n    async pasteCallback(node, data, e) {\r\n      try {\r\n        this.setToolsEventing();\r\n        let text = '';\r\n        if(navigator.clipboard && typeof navigator.clipboard.readText === 'function') {\r\n          text = await navigator.clipboard.readText();\r\n        }\r\n        else if(document.execCommand && document.execCommand('paste')){\r\n          text = this.copyTextToClipboard(text, 'paste');\r\n        }\r\n\r\n        if (!data.id || !text) {\r\n          return;\r\n        }\r\n\r\n        let inputElement = null;\r\n        if (document.getElementById(\"subtitle\" + data.id)) {\r\n          inputElement = document.getElementById(\"subtitle\" + data.id);\r\n        } else if (document.getElementById(\"title\" + data.id)) {\r\n          inputElement = document.getElementById(\"title\" + data.id);\r\n        } else if (document.getElementById(\"edittextarea\" + data.id)) {\r\n          inputElement = document.getElementById(\"edittextarea\" + data.id);\r\n        } else if (document.getElementById(\"equativetitle\" + data.id)) {\r\n          inputElement = document.getElementById(\"equativetitle\" + data.id);\r\n        }\r\n\r\n        if (!inputElement) {\r\n          return;\r\n        }\r\n\r\n        const start = inputElement.selectionStart;\r\n        const end = inputElement.selectionEnd;\r\n        const value = this.content;\r\n\r\n        // // 在光标位置插入换行符\r\n        // this.content += \"\\n\";\r\n        // 在光标位置插入换行符\r\n        this.content = value.substring(0, start) + text + value.substring(end);\r\n        setTimeout(() => {\r\n          const start1 = inputElement.selectionStart;\r\n          const end1 = inputElement.selectionEnd;\r\n          // 将光标移到新的换行位置\r\n          // 调整光标位置\r\n          const newSelectionStart = start + text.length;\r\n          inputElement.selectionStart = inputElement.selectionEnd = newSelectionStart;\r\n        });\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    async paste(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      console.log(\"paste:\", this.isEditing, this.readOnly)\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(async () => {\r\n            this.pasteCallback(node, data, e);\r\n          });\r\n        } else {\r\n          this.pasteCallback(node, data, e);\r\n        }\r\n      } else {\r\n        this.pasteCallback(node, data, e);\r\n      }\r\n    },\r\n\r\n    async cutCallBack() {\r\n      try {\r\n        this.setToolsEventing();\r\n\r\n        let txt = this.getSelectText(data);\r\n        if (txt) {\r\n          this.copyText = txt;\r\n        } else {\r\n          this.copyText = this.isEditing ? this.content : data.name;\r\n        }\r\n\r\n        let isSuccess = false;\r\n        if(navigator.clipboard && typeof navigator.clipboard.writeText === 'function') {\r\n          navigator.clipboard.writeText(this.copyText);\r\n          isSuccess = true;\r\n        }\r\n        else if(document.execCommand && document.execCommand('copy')){\r\n          this.copyTextToClipboard(this.copyText, 'copy');\r\n          isSuccess = true;\r\n        }\r\n\r\n        if(isSuccess) {\r\n          this.content = this.content.replace(this.copyText, \"\");\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"剪切成功\"\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n\r\n    cut(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n      }\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(async () => {\r\n            this.cutCallBack(node, data, e);\r\n          });\r\n        } else {\r\n          this.cutCallBack(node, data, e);\r\n        }\r\n      } else {\r\n        this.cutCallBack(node, data, e);\r\n      }\r\n    },\r\n    // 保留服务端，清空定时器\r\n    resetTimeout() {\r\n      this.isEdited = false;\r\n      console.log(\"isEdited:\", this.isEdited);\r\n      this.clearTimeout();\r\n    },\r\n    clearTimeout() {\r\n      if (this.timer) {\r\n        clearTimeout(this.timer);\r\n        this.timer = null;\r\n        this.isLocalStorageSave = false;\r\n      }\r\n    },\r\n    // 【修复】自动保存定时器 - 防止只触发一次\r\n    // 问题原因：原逻辑在定时器触发后同步调用 setSaveTimeout()，\r\n    // 但如果此时 online > 1，submitSave 直接返回，导致保存逻辑不完整\r\n    // 解决方案：改为在保存完成后才重新设置定时器，确保完整的保存周期\r\n    setSaveTimeout() {\r\n      console.log('[AutoSave] setSaveTimeout called, editOutline:', this.editOutline, 'online:', this.online);\r\n      if (this.timer) {\r\n        clearTimeout(this.timer);\r\n        this.timer = null;\r\n      }\r\n      if(!this.editOutline) {\r\n        console.log('[AutoSave] setSaveTimeout early return: editOutline is false');\r\n        return;\r\n      }\r\n      if(this.online > 1) {\r\n        console.log('[AutoSave] setSaveTimeout early return: online > 1, will retry when online decreases');\r\n        // 【修复】当 online > 1 时，设置一个更短的定时器来检测状态恢复\r\n        // // 避免定时器完全停止\r\n        // this.timer = setTimeout(() => {\r\n        //   console.log(\"[AutoSave] Retrying setSaveTimeout after online check\");\r\n        //   this.setSaveTimeout();\r\n        // }, 5000);\r\n        return;\r\n      }\r\n      console.log('[AutoSave] Timer set, will save in', this.timeCount, 'ms');\r\n      this.timer = setTimeout(() => {\r\n        console.log(\"[AutoSave] Timer fired, executing submitSave\");\r\n        // 每隔2分钟自动保存\r\n        this.executeAutoSave();\r\n      }, this.timeCount);\r\n    },\r\n    // 【新增】执行自动保存的完整流程\r\n    // 确保保存完成后才重新设置定时器，避免定时器在保存过程中被意外清除\r\n    executeAutoSave() {\r\n      // 再次检查 online 状态，因为定时器触发时状态可能已变化\r\n      if(this.online > 1) {\r\n        console.log('[AutoSave] online > 1 at execution time, skipping save, retrying in 5s');\r\n        // 重新设置定时器，等待 online 恢复\r\n        this.timer = setTimeout(() => {\r\n          this.setSaveTimeout();\r\n        }, 5000);\r\n        return;\r\n      }\r\n\r\n      // 【关键修复】先设置 isLocalStorageSave = true，确保 saveEditingState() 能正确执行\r\n      // 问题：之前 saveEditingState() 检查 isLocalStorageSave 时还是 false（上次保存后被重置）\r\n      // 导致 _wasAutoSave 没有被设置，后续的 updatesuccess 无法正确保持编辑状态\r\n      this.isLocalStorageSave = true;\r\n\r\n      // 【修复】保存前记录当前编辑状态，用于保存后恢复\r\n      this.saveEditingState();\r\n\r\n      // 执行保存（submitSave 中会再次设置 isLocalStorageSave，但这里已经设置了）\r\n      this.submitSave(true);\r\n\r\n      // 清除当前定时器\r\n      clearTimeout(this.timer);\r\n      this.timer = null;\r\n\r\n      // 【修复】延迟重新设置定时器，确保保存流程完成后再设置下一个定时器\r\n      // 这里不立即调用 setSaveTimeout，而是等待 updatesuccess 事件后再设置\r\n      console.log('[AutoSave] Waiting for save completion to reset timer');\r\n    },\r\n    // 【新增】保存完成后重新设置定时器\r\n    // 由 updatesuccessCallback 或其他保存完成回调触发\r\n    resetAutoSaveTimer() {\r\n      console.log('[AutoSave] Save completed, resetting timer');\r\n      if(this.editOutline) {\r\n        this.setSaveTimeout();\r\n      }\r\n    },\r\n    // 【新增】保存前记录当前编辑状态\r\n    // 用于自动保存后恢复编辑状态，防止新增节点消失\r\n    saveEditingState() {\r\n      if(!this.isLocalStorageSave) return;\r\n\r\n      // 记录当前正在编辑的节点信息\r\n      this._savedEditingState = {\r\n        editingNodeId: this.editingData && this.editingData.id,\r\n        selectedNodeId: this.selectedData && this.selectedData.id,\r\n        isEditing: this.isEditing,\r\n        isMyselfEditing: this.isMyselfEditing,  // 【关键】保存编辑权状态\r\n        content: this.content,\r\n        originalContent: this.originalContent,\r\n        // 记录新增节点的临时 ID（用于恢复后重新添加标记）\r\n        isAddNode: this.selectedData && this.selectedData.isAdd,\r\n        isAddTheme: this.selectedData && this.selectedData.isAddTheme,\r\n        isAddEquative: this.selectedData && this.selectedData.isAddEquative,\r\n        isEdit: this.selectedData && this.selectedData.isEdit,\r\n        // 【关键】保存节点本身的数据，防止节点被删除后无法恢复\r\n        selectedNodeData: this.selectedData ? deepClone(this.selectedData) : null\r\n      };\r\n      // 【关键】设置标记，表示这是一次自动保存操作，后续的 updatesuccess 都不应该重置编辑状态\r\n      this._wasAutoSave = true;\r\n      console.log('[AutoSave] Saved editing state, set _wasAutoSave=true:', this._savedEditingState);\r\n    },\r\n    // 【新增】保存后恢复编辑状态\r\n    // 确保自动保存是静默操作，用户无感知\r\n    restoreEditingState() {\r\n      if(!this._savedEditingState) return;\r\n\r\n      const state = this._savedEditingState;\r\n      console.log('[AutoSave] Restoring editing state:', state);\r\n\r\n      // 【关键】恢复编辑权状态\r\n      this.isMyselfEditing = state.isMyselfEditing || true;\r\n\r\n      // 恢复编辑状态\r\n      if(state.editingNodeId) {\r\n        // 查找对应的节点数据\r\n        const nodeData = this.findNodeById(state.editingNodeId);\r\n        if(nodeData) {\r\n          this.editingData = nodeData;\r\n          this.isEditing = state.isEditing;\r\n          this.content = state.content || '';\r\n          this.originalContent = state.originalContent || '';\r\n\r\n          // 【关键】恢复新增节点的临时标记\r\n          if(state.isAddNode) {\r\n            this.$set(nodeData, 'isAdd', true);\r\n          }\r\n          if(state.isAddTheme) {\r\n            this.$set(nodeData, 'isAddTheme', true);\r\n          }\r\n          if(state.isAddEquative) {\r\n            this.$set(nodeData, 'isAddEquative', true);\r\n          }\r\n          if(state.isEdit) {\r\n            this.$set(nodeData, 'isEdit', true);\r\n          }\r\n\r\n          // 重新设置选中状态\r\n          if(state.selectedNodeId) {\r\n            const selectedNodeData = this.findNodeById(state.selectedNodeId);\r\n            if(selectedNodeData) {\r\n              this.selectedData = selectedNodeData;\r\n              this.setCurrentNode(selectedNodeData, 'AutoSave恢复');\r\n            } else if(state.selectedNodeData) {\r\n              // 【关键】如果节点在 datas 中找不到，可能是新增节点被删除了\r\n              // 使用保存的节点数据重新查找或恢复\r\n              console.log('[AutoSave] 节点在 datas 中找不到，尝试使用保存的数据');\r\n              // 在 datas 中重新查找（可能 ID 不匹配）\r\n              const foundById = this.findNodeById(state.selectedNodeData.id);\r\n              if(foundById) {\r\n                this.selectedData = foundById;\r\n              } else {\r\n                // 如果仍然找不到，恢复保存的节点数据\r\n                this.selectedData = state.selectedNodeData;\r\n              }\r\n              this.setCurrentNode(this.selectedData, 'AutoSave恢复保存的数据');\r\n            }\r\n          }\r\n\r\n          // 恢复输入框焦点（如果正在编辑）\r\n          if(state.isEditing && state.editingNodeId) {\r\n            this.$nextTick(() => {\r\n              const el = this.$refs[\"edittextarea\" + state.editingNodeId];\r\n              if(el && el.$refs.textarea) {\r\n                el.$refs.textarea.focus();\r\n              }\r\n            });\r\n          }\r\n        } else if(state.selectedNodeData) {\r\n          // 【关键】如果编辑节点找不到，恢复保存的节点数据\r\n          console.log('[AutoSave] 编辑节点在 datas 中找不到，恢复保存的节点数据');\r\n          this.editingData = state.selectedNodeData;\r\n          this.selectedData = state.selectedNodeData;\r\n          this.isEditing = state.isEditing;\r\n          this.content = state.content || '';\r\n          this.originalContent = state.originalContent || '';\r\n        }\r\n      }\r\n\r\n      // 清除保存的状态\r\n      this._savedEditingState = null;\r\n      console.log('[AutoSave] Editing state restored, isMyselfEditing:', this.isMyselfEditing, 'isEditing:', this.isEditing);\r\n    },\r\n    // 【新增】根据 ID 查找节点数据\r\n    findNodeById(id, nodes = this.datas) {\r\n      if(!id) return null;\r\n      for(const node of nodes) {\r\n        if(node.id === id) {\r\n          return node;\r\n        }\r\n        if(node.children && node.children.length > 0) {\r\n          const found = this.findNodeById(id, node.children);\r\n          if(found) return found;\r\n        }\r\n      }\r\n      return null;\r\n    },\r\n    findIsEditTrueNodes(data, isAddNewNode, isSilentSave = false) {\r\n      const result = [];\r\n      const that = this;\r\n      let flag = false;\r\n      function traverse(node) {\r\n        if (Array.isArray(node)) {\r\n          // 如果当前节点是数组，遍历数组中的每个元素\r\n          for (let i = 0; i < node.length; i++) {\r\n            const nd = node[i];\r\n            if(!nd.id) {\r\n              return;\r\n            }\r\n            // 如果当前节点是对象，检查是否有 isEdit 属性\r\n            if (nd.id === that.editingData.id) {\r\n              nd.name = that.content;\r\n              // 【关键修复】静默保存（Ctrl+S或自动保存）时不清除临时标记\r\n              // 问题：删除标记后，新增节点在 init() 被调用时会消失\r\n              // 解决：静默保存时保留临时标记，只在手动保存时才清除\r\n              if(!isSilentSave) {\r\n                if(nd.isAdd != undefined) {\r\n                  delete nd.isAdd;\r\n                }\r\n                if(nd.isAddTheme!= undefined) {\r\n                  delete nd.isAddTheme;\r\n                }\r\n                if(nd.isAddEquative != undefined && isAddNewNode) {\r\n                  delete nd.isAddEquative;\r\n                }\r\n              }\r\n            }\r\n            traverse(nd.children);\r\n          }\r\n        } else if (typeof node === 'object' && node !== null) {\r\n          // 如果当前节点是对象，检查是否有 isEdit 属性\r\n          if(!node.id) {\r\n            return;\r\n          }\r\n          if (node.id === that.editingData.id) {\r\n            flag = true;\r\n            node.name = that.content;\r\n            // 【关键修复】静默保存时不清除临时标记\r\n            if(!isSilentSave) {\r\n              if(node.isAdd != undefined) {\r\n                delete node.isAdd;\r\n              }\r\n              if(node.isAddTheme != undefined) {\r\n                delete node.isAddTheme;\r\n              }\r\n              if(node.isAddEquative != undefined && isAddNewNode) {\r\n                delete node.isAddEquative;\r\n              }\r\n            }\r\n          }\r\n          // 继续遍历对象的每个属性\r\n          for (let key in node) {\r\n            if (node.hasOwnProperty(key) && key == 'node' && !flag) {\r\n              traverse(node[key]);\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      traverse(data);\r\n      return data;\r\n    },\r\n    async saveMindMap(type = 1) {\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n\r\n      console.log(\"saveMindMap:::\", this.datas);\r\n\r\n      let newData = [];\r\n      // 【关键修复】区分三种保存情况：\r\n      // 1. 普通手动保存（点击保存按钮）：isLocalStorageSave=false, _isCtrlSave=false, _wasAutoSave=false\r\n      //    → 清除临时标记，退出编辑状态\r\n      // 2. Ctrl+S 保存：isLocalStorageSave=false, _isCtrlSave=true, _wasAutoSave=true\r\n      //    → 显示 loading，保持编辑状态，保留临时标记\r\n      // 3. 自动保存：isLocalStorageSave=true, _wasAutoSave=true\r\n      //    → 完全静默，保持编辑状态，保留临时标记\r\n      const isSilentSave = this.isLocalStorageSave || this._isCtrlSave || this._wasAutoSave;\r\n      if(!isSilentSave) {\r\n        // 普通手动保存：清除临时标记\r\n        const datas = deepClone(this.datas);\r\n        newData = this.removeButtonData(datas);\r\n      } else {\r\n        // Ctrl+S 或自动保存：保留临时标记\r\n        const datas = deepClone(this.datas);\r\n        const editDatas = await this.findIsEditTrueNodes(datas, false, true);\r\n        newData = this.removeButtonData(editDatas);\r\n      }\r\n      await this.toParse(newData, type);\r\n\r\n      // 【修复】Ctrl+S 或自动保存时不修改视图数据，保持编辑状态不变\r\n      if(!isSilentSave) {\r\n        this.datas = await this.findIsEditTrueNodes(this.datas);\r\n      } else {\r\n        console.log('[AutoSave] 保持视图数据不变，不更新 datas');\r\n        // 【关键】自动保存后，确保编辑中节点的临时标记仍然存在\r\n        // 遍历 datas，找到正在编辑的节点，重新设置临时标记\r\n        if(this.selectedData && this.selectedData.id) {\r\n          const nodeData = this.findNodeById(this.selectedData.id, this.datas);\r\n          if(nodeData) {\r\n            // 如果之前有标记，恢复它们\r\n            const savedState = this._savedEditingState;\r\n            if(savedState) {\r\n              if(savedState.isAddNode) {\r\n                this.$set(nodeData, 'isAdd', true);\r\n              }\r\n              if(savedState.isAddTheme) {\r\n                this.$set(nodeData, 'isAddTheme', true);\r\n              }\r\n              if(savedState.isAddEquative) {\r\n                this.$set(nodeData, 'isAddEquative', true);\r\n              }\r\n              if(savedState.isEdit) {\r\n                this.$set(nodeData, 'isEdit', true);\r\n              }\r\n              console.log('[AutoSave] 恢复节点临时标记:', nodeData.id, {\r\n                isAdd: nodeData.isAdd,\r\n                isAddTheme: nodeData.isAddTheme,\r\n                isAddEquative: nodeData.isAddEquative,\r\n                isEdit: nodeData.isEdit\r\n              });\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      // console.log(\"toParse:::\", newData);\r\n      mindMap.mindmap_content = JSON.stringify(newData);\r\n      const timeStamp = (+new Date());\r\n\r\n      // [Migrated from PC-MyMindOutline.vue] ========== 关键：先保存快照，再更新 Vuex ==========\r\n      // 保存快照到 Undo 栈（如果不是撤销/重做操作，且需要保存快照）\r\n      // 重要：必须在更新 Vuex 之前保存，否则获取的是更新后的数据\r\n      const historyVersion = this.$store.getters.historyVersion;\r\n      if (historyVersion && !historyVersion.isUndoRedoAction && this.course_id && this.shouldSaveSnapshot) {\r\n        try {\r\n          // 重置标记\r\n          this.shouldSaveSnapshot = false;\r\n\r\n          // 获取当前 Vuex 中的数据（编辑前的状态，此时 Vuex 还没更新）\r\n          const currentMindMap = this.$store.getters.mindMap;\r\n          let beforeEditData = [];\r\n          if (currentMindMap && currentMindMap.mindmap_content) {\r\n            beforeEditData = typeof currentMindMap.mindmap_content === 'string'\r\n              ? JSON.parse(currentMindMap.mindmap_content)\r\n              : currentMindMap.mindmap_content;\r\n          }\r\n\r\n          // 【核心修复】如果当前内容为空，但有默认模板，则快照应记录默认模板的内容\r\n          // 问题：当 mindmap_content 为空时，界面显示的是默认模板，但快照记录的是空数组\r\n          // 解决：在快照中兜底使用默认模板内容，确保撤销不会导致画面变白\r\n          if ((!beforeEditData || beforeEditData.length === 0) && this.dataPro && this.dataPro.course_default_studythink) {\r\n            try {\r\n              const defaultData = JSON.parse(this.dataPro.course_default_studythink);\r\n              if (defaultData && defaultData.length > 0) {\r\n                beforeEditData = defaultData;\r\n                console.log('[History] 使用默认模板作为快照内容');\r\n              }\r\n            } catch (e) {\r\n              console.error('[History] 默认模板解析失败:', e);\r\n            }\r\n          }\r\n\r\n          console.log('[History] 编辑前的状态:', beforeEditData);\r\n          console.log('[History] 编辑后的状态:', newData);\r\n\r\n          // 【数据净化】清理 UI 状态字段，只保留核心数据（name, lock, node）\r\n          // 防止 isAddEquative、isEdit、children 等多余字段污染历史栈\r\n          const purifiedData = this.toParse(JSON.parse(JSON.stringify(beforeEditData)), 2);\r\n          console.log('[History] 净化后的快照数据:', purifiedData);\r\n\r\n          // 压入 Undo 栈的是编辑前的状态（会自动清空 Redo 栈）\r\n          await pushUndo(this.course_id, purifiedData, getDeviceId());\r\n          console.log(`[History] 快照已压入 Undo 栈（编辑前的状态）`);\r\n\r\n          // 更新栈状态\r\n          const stackStatus = await getStackStatus(this.course_id);\r\n          this.$store.dispatch(\"setHistoryVersion\", {\r\n            canUndo: stackStatus.canUndo,\r\n            canRedo: stackStatus.canRedo,\r\n            undoCount: stackStatus.undoCount,\r\n            redoCount: stackStatus.redoCount\r\n          });\r\n        } catch (error) {\r\n          console.error('[History] 保存快照失败:', error);\r\n        }\r\n      } else if (!this.shouldSaveSnapshot) {\r\n        console.log('[History] 内容无变化，跳过快照保存');\r\n      }\r\n\r\n      // 然后再更新 Vuex（保存编辑后的新状态）\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: {\r\n          ...mindMap,\r\n        },\r\n        isEdited: true,\r\n        timeStamp: timeStamp,\r\n        mindMapTimeStamp: timeStamp,\r\n      }).then(() => {\r\n      });\r\n      // 保存完同步内容，会自动设置为可编辑\r\n      this.setSyncMindmapContent();\r\n      return Promise.resolve();\r\n    },\r\n    init() {\r\n      // 【修复】无论 mindmap_content 是否为空，都先重置撤销记录\r\n      // 问题：之前当 mindmap_content 为空数组 [] 时，removeNodes 未被重置，\r\n      // 导致撤销/重做到空状态时，视图可能因旧数据而无法正确更新\r\n      this.removeNodes = [];\r\n\r\n      // 【核心修复】自动保存周期内的所有数据更新都不应该触发 init 重置数据\r\n      // 问题：updatesuccessCallback 在第一次 updatesuccess 时就重置了 isLocalStorageSave 和 _savedEditingState\r\n      //      但 dataPro watcher 可能在后续的 Vuex 更新时才触发，此时条件不满足，init() 被调用\r\n      //      导致 datas 被重置为服务器返回的数据，新增节点消失\r\n      // 解决：使用 _wasAutoSave 标记（延迟500ms重置），只要 _wasAutoSave 为 true，就跳过 init 数据重置\r\n      if(this._wasAutoSave || (this.isLocalStorageSave && this._savedEditingState)) {\r\n        console.log('[AutoSave] 自动保存周期内跳过 init 数据重置，_wasAutoSave:', this._wasAutoSave);\r\n        // 只重新设置定时器，不修改 datas\r\n        this.setSaveTimeout();\r\n        return;\r\n      }\r\n\r\n      if (this.dataPro) {\r\n        this.is_collect = this.dataPro.is_collect_studythink;\r\n        if (this.dataPro.mindmap_content && this.dataPro.mindmap_content != '[]') {\r\n          let data = this.dataPro.mindmap_content;\r\n          if(typeof this.dataPro.mindmap_content === 'string') {\r\n            data = JSON.parse(this.dataPro.mindmap_content);\r\n          }\r\n          this.datas = this.toParse1(data, 'init');\r\n          this.$nextTick(() => {\r\n            this.$refs && this.$refs.tree && this.$refs.tree.filter(2);\r\n          });\r\n        } else {\r\n          if (!this.dataPro.course_default_studythink) {\r\n            this.datas = [];\r\n          } else {\r\n            let data = JSON.parse(this.dataPro.course_default_studythink);\r\n            this.datas = this.toParse1(data, 'init');\r\n            this.$nextTick(() => {\r\n              this.$refs && this.$refs.tree && this.$refs.tree.filter(2);\r\n            });\r\n          }\r\n        }\r\n      } else {\r\n        this.datas = [];\r\n      }\r\n\r\n      if(this.editOutline) {\r\n        this.datas = this.addButtonData(this.datas);\r\n      }\r\n      this.setSaveTimeout();\r\n      this.selectedData = {};\r\n      this.selectedNode = {};\r\n      console.log('--init', this.datas, this.dataPro);\r\n      console.log(\"init isEdited:\", this.isEdited);\r\n      // this.isEdited = false;\r\n    },\r\n    exitEdit() {\r\n      this.isLocalStorageSave = false;\r\n      this.dialogVisibleCon = false;\r\n      this.isEdited = false;\r\n      this.clearTimeout();\r\n      this.triggerSaveInput(() => {\r\n        this.$emit(\"exitEditCon\");\r\n      })\r\n    },\r\n    // 自动保存或者是ctrl+s\r\n    submitSave(isLocalStorageSave) {\r\n      if(this.online > 1 && isLocalStorageSave) {\r\n        return;\r\n      }\r\n\r\n      // 【关键修复】区分 Ctrl+S 和自动保存两种情况\r\n      // - Ctrl+S：显示 loading，但保持编辑状态（_isCtrlSave 标记）\r\n      // - 自动保存：完全静默（isLocalStorageSave = true）\r\n      //\r\n      // _wasAutoSave 标记用于 dataPro watcher 和 init 检查，防止新增节点消失\r\n      // 两种情况都需要设置这个标记\r\n      if(isLocalStorageSave || this._isCtrlSave) {\r\n        // 设置 _wasAutoSave 标记，防止 init() 重置数据导致节点消失\r\n        if(isLocalStorageSave) {\r\n          // 自动保存：先设置 isLocalStorageSave，然后调用 saveEditingState\r\n          this.isLocalStorageSave = true;\r\n          this.saveEditingState();  // 设置 _wasAutoSave = true\r\n          console.log('[AutoSave] 设置 _wasAutoSave = true（完全静默）');\r\n        } else if(this._isCtrlSave) {\r\n          // Ctrl+S：设置 _wasAutoSave，但显示 loading（isLocalStorageSave = false）\r\n          this.isLocalStorageSave = false;  // 显示 loading\r\n          this._wasAutoSave = true;  // 直接设置，防止 init 重置数据\r\n          this._savedEditingState = {\r\n            editingNodeId: this.editingData && this.editingData.id,\r\n            selectedNodeId: this.selectedData && this.selectedData.id,\r\n            isEditing: this.isEditing,\r\n            isMyselfEditing: this.isMyselfEditing,\r\n            content: this.content,\r\n            originalContent: this.originalContent,\r\n            isAddNode: this.selectedData && this.selectedData.isAdd,\r\n            isAddTheme: this.selectedData && this.selectedData.isAddTheme,\r\n            isAddEquative: this.selectedData && this.selectedData.isAddEquative,\r\n            isEdit: this.selectedData && this.selectedData.isEdit,\r\n            selectedNodeData: this.selectedData ? deepClone(this.selectedData) : null\r\n          };\r\n          console.log('[Ctrl+S] 设置 _wasAutoSave = true（保持编辑状态，显示 loading）');\r\n        }\r\n      } else {\r\n        this.isLocalStorageSave = false;\r\n      }\r\n\r\n      // 传递 isAutoSave 参数给 triggerSaveInput\r\n      // Ctrl+S 或自动保存时，isAutoSave = true（保持编辑状态）\r\n      const isAutoSave = isLocalStorageSave || this._isCtrlSave;\r\n      this.triggerSaveInput(() => {\r\n        this.submitSave1(isLocalStorageSave);\r\n      }, isAutoSave)\r\n    },\r\n    submitSave1(isLocalStorageSave) {\r\n      // 保存\r\n      this.$emit(\"saveMindMap\", {\r\n        whiteCom: this.whiteCom,\r\n        isInMind: true,\r\n        isLocalStorageSave,\r\n        needExit: false\r\n      });\r\n    },\r\n    // isLocalStorageSave: 是否本地自动保存\r\n    submitCon(type, isLocalStorageSave) {\r\n      this.isLocalStorageSave = isLocalStorageSave;\r\n      this.dialogVisibleCon = false;\r\n\r\n      this.triggerSaveInput(() => {\r\n        this.submitCon1(type, isLocalStorageSave);\r\n      }, false)\r\n    },\r\n    submitCon1(type, isLocalStorageSave) {\r\n      // type == 1: 自动保存\r\n      if (type === 2) {\r\n        // 不保存\r\n        this.$emit(\"doNotSave\", {\r\n          type,\r\n          isLocalStorageSave\r\n        });\r\n        // this.$store.dispatch(\"clearWebSocket\");\r\n      } else {\r\n        this.$emit(\"saveMindMap\", {\r\n          whiteCom: this.whiteCom,\r\n          isInMind: false,\r\n          isLocalStorageSave: false,\r\n          needExit: true,\r\n        });\r\n      }\r\n      this.isEdited = false;\r\n    },\r\n    // 提示是否保存逻辑分类\r\n    submitConCallback(isLocalStorageSave, type) {\r\n      if (!isLocalStorageSave) {\r\n        // 点击去黑牌\r\n        if(this.isGoblack) {\r\n          this.isGoblack = false;\r\n          EventBus.$emit(\"goBlackConfirmed\");\r\n        } else if(this.isToPage) {\r\n          this.isToPage = false;\r\n          EventBus.$emit(\"toPageConfirmed\");\r\n        } else if (this.whiteCom === \"CourseCom\" && type === 2) { // 切换课程\r\n          console.log(\"submitCon1 isEdited\");\r\n          this.isEdited = false;\r\n          this.clearTimeout();\r\n          console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n        } else if (this.whiteCom === \"Logo\" && type === 2) { // 点击LOGO\r\n          console.log(\"submitCon1 isEdited\");\r\n          this.isEdited = false;\r\n          this.clearTimeout();\r\n          console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n        } else if (this.whiteCom !== \"CourseCom\") { // 其他情况，例如切换页面，切换模块\r\n          console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n          // 如果是选择课程且保存的的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n        }\r\n      }\r\n    },\r\n    setFilterNode1(node, data) {\r\n      this.setFilterNode(node, data);\r\n      let childNodes = node.childNodes;\r\n      childNodes.forEach(item => {\r\n        this.setFilterNode1(item, item.data);\r\n      });\r\n    },\r\n    //\r\n    setToolTypeEventing(type) {\r\n      this.toolTypeEventing = type;\r\n      this.setTimeoutValueTools = setTimeout(() => {\r\n        this.toolTypeEventing = '';\r\n      }, 1000)\r\n    },\r\n    async reduceTabClickCallback(node, data) {\r\n      try {\r\n        this.setToolTypeEventing('tab');\r\n        // [Migrated from PC-MyMindOutline.vue] 减少缩进操作需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 减少缩进，设置 shouldSaveSnapshot = true');\r\n\r\n        const parent = this.node.parent;\r\n        const prevParent = parent.parent;\r\n        if (prevParent) {\r\n          // 删除节点\r\n          this.$refs.tree.remove(this.node);\r\n          // 为 Tree 的一个节点的后面增加一个节点\r\n          this.$refs.tree.insertAfter(this.selectedData, parent);\r\n\r\n          // 为 Tree 中prevNode节点追加一个子节点\r\n          // this.$refs.tree.append(data, prevParent);\r\n\r\n          this.$nextTick(() => {\r\n            // this.$refs.tree.filter(2);\r\n            // let nowParent = parent.parent;\r\n            let timeout1 = null;\r\n            let timeout2 = null;\r\n            let timeout3 = null;\r\n            let timeout4 = null;\r\n            // 之前的父节点需要重置样式\r\n            timeout1 = setTimeout(() => {\r\n              this.setFilterNode(parent, parent.data);\r\n              // let childNodes = parent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout1);\r\n            });\r\n            // 现在的父节点需要重置样式\r\n            timeout2 = setTimeout(() => {\r\n              this.setFilterNode(prevParent, prevParent.data);\r\n              // let childNodes = prevParent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout2);\r\n            });\r\n            // 当前节点需要重置样式\r\n            let selectedNode = this.$refs.tree.getNode(data.id);\r\n            timeout3 = setTimeout(() => {\r\n              this.setFilterNode(selectedNode, selectedNode.data);\r\n              clearTimeout(timeout3);\r\n            });\r\n            // 子节点遍历重置样式\r\n            timeout4 = setTimeout(() => {\r\n              let childNodes = selectedNode.childNodes;\r\n              childNodes.forEach(item => {\r\n                this.setFilterNode1(item, item.data);\r\n              });\r\n              clearTimeout(timeout4);\r\n              this.selectedData = {};\r\n              this.selectedNode = {};\r\n            });\r\n\r\n            //保存到本地\r\n            this.saveMindMap();\r\n            this.hideOperates1();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    async reduceTabClick(node, data) {\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.reduceTabClickCallback(node, data);\r\n          });\r\n        } else {\r\n          this.reduceTabClickCallback(node, data);\r\n        }\r\n      } else {\r\n        this.reduceTabClickCallback(node, data);\r\n      }\r\n    },\r\n    async tabClickCallback(node, data) {\r\n      try {\r\n        this.setToolTypeEventing('tab');\r\n        // [Migrated from PC-MyMindOutline.vue] 缩进操作需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 缩进，设置 shouldSaveSnapshot = true');\r\n\r\n        const parent = this.node.parent;\r\n        const children = parent.data.children || parent.data;\r\n        const index = children.findIndex(d => d.id === this.selectedData.id);\r\n\r\n        // 如果是第0个元素，则执行tab默认事件\r\n        if (index > 0) {\r\n          let prevIndex = index - 1;\r\n          let prevNode = parent.childNodes[prevIndex];\r\n          // // 删除节点\r\n          this.$refs.tree.remove(this.node);\r\n          // 为 Tree 中prevNode节点追加一个子节点\r\n          this.$refs.tree.append(this.selectedData, prevNode);\r\n\r\n          this.$nextTick(() => {\r\n            // this.$refs.tree.filter(2);\r\n            // let nowParent = this.node.parent;\r\n            let timeout1 = null;\r\n            let timeout2 = null;\r\n            let timeout3 = null;\r\n            let timeout4 = null;\r\n            // 之前的父节点需要重置样式\r\n            timeout1 = setTimeout(() => {\r\n              this.setFilterNode(parent, parent.data);\r\n              // let childNodes = parent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout1);\r\n            });\r\n            // 现在的父节点需要重置样式\r\n            timeout2 = setTimeout(() => {\r\n              this.setFilterNode(prevNode, prevNode.data);\r\n              // let childNodes = prevParent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout2);\r\n            });\r\n            // 当前节点需要重置样式\r\n            let selectedNode = this.$refs.tree.getNode(data.id);\r\n            timeout3 = setTimeout(() => {\r\n              this.setFilterNode(selectedNode, selectedNode.data);\r\n              clearTimeout(timeout3);\r\n            });\r\n            // 子节点遍历重置样式\r\n            timeout4 = setTimeout(() => {\r\n              let childNodes = selectedNode.childNodes;\r\n              childNodes.forEach(item => {\r\n                this.setFilterNode1(item, item.data);\r\n              });\r\n              clearTimeout(timeout4);\r\n              this.selectedData = {};\r\n              this.selectedNode = {};\r\n            });\r\n\r\n            //保存到本地\r\n            this.saveMindMap();\r\n\r\n            this.hideOperates1();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    async tabClick(node, data) {\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n      if(!this.isEditing) {\r\n        if(this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.tabClickCallback(node, data);\r\n          });\r\n        } else {\r\n          this.tabClickCallback(node, data);\r\n        }\r\n      } else {\r\n        this.tabClickCallback(node, data);\r\n      }\r\n    },\r\n    hideOperates() {\r\n      this.hideOperates1();\r\n    },\r\n    hideOperates1() {\r\n      this.copyData = {};\r\n      this.$set(this.selectedData, \"isShowOp\", false);\r\n      // if(!this.isLocalStorageSave) {\r\n      //   this.selectedData = {};\r\n      // }\r\n    },\r\n    setCurrentNode(data, from) {\r\n      this.node = this.$refs.tree.getNode(data.id);\r\n      console.log('--------setCurrentNode',from, this.node, data);\r\n      return this.node;\r\n    },\r\n    // 显示操作栏\r\n    showOperates(node, data, $event, isEditOperating) {\r\n      let editOutline = this.getEditOutline();\r\n      // 非编辑状态，选中可复制节点内容\r\n      if(!this.editOutline && this.copyData.id) {\r\n        console.log(\"showOperates:\", )\r\n        // 操作栏位置\r\n        this.selectedDom = {\r\n          target: $event.target,\r\n          data: data,\r\n        };\r\n        this.setSelectedBoxPosition();\r\n        return;\r\n      } else if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n\r\n      this.isEditOperating = isEditOperating;\r\n      this.showOperates1(data, node, $event, isEditOperating);\r\n    },\r\n    showOperates1(data, node, $event, isEditOperating) {\r\n      try {\r\n        node = this.setCurrentNode(data, '出现操作栏：showOperates1');\r\n        this.selectedData = data;\r\n        this.selectedNode = node || {};\r\n        // this.$set(\r\n        //   this.selectedData,\r\n        //   \"class\",\r\n        //   this.selectedData.class + \" s\" + this.selectedData.class\r\n        // );\r\n        this.$set(data, \"isShowOp\", false);\r\n\r\n        const parent = node.parent;\r\n        const children = parent.data.children || parent.data;\r\n        const index = children.findIndex(d => d.id === this.selectedData.id);\r\n\r\n        // 如果是第0个元素且不是第一层级，则不显示缩进、显示减少缩进\r\n        if (index === 0 && node.level > 1) {\r\n          this.$set(data, \"hidetab\", true);\r\n          this.$set(data, \"hidetabReduce\", false);\r\n        } else if (node.level === 1 && index === 0) {\r\n          // 如果是是第一层级且是第一个元素，则不显示缩进、不显示减少缩进\r\n          this.$set(data, \"hidetab\", true);\r\n          this.$set(data, \"hidetabReduce\", true);\r\n        } else if (node.level === 1 && index > 0) {\r\n          // 如果是是第一层级，则显示缩进、不显示减少缩进\r\n          this.$set(data, \"hidetab\", false);\r\n          this.$set(data, \"hidetabReduce\", true);\r\n        } else {\r\n          this.$set(data, \"hidetab\", false);\r\n          this.$set(data, \"hidetabReduce\", false);\r\n        }\r\n        // 设置index,isShowOp用于模板中显示逻辑\r\n        this.$nextTick(() => {\r\n          this.$set(data, \"$index\", index);\r\n          this.$set(data, \"isShowOp\", true);\r\n\r\n          // 操作栏位置\r\n          this.selectedDom = {\r\n            target: $event.currentTarget,\r\n            data: data,\r\n          };\r\n          this.setSelectedBoxPosition();\r\n          //if($event.target && $event.target.nodeName === 'TEXTAREA') {\r\n            //$event.target.selectionStart\r\n            // const value = $event.target.value;\r\n            // $event.target.value = '';\r\n            // $event.target.focus();\r\n            // $event.target.value = value;\r\n          //}\r\n        });\r\n\r\n        if(this.setTimeValue) {\r\n          clearTimeout(this.setTimeValue);\r\n          this.setTimeValue = null;\r\n        }\r\n      } catch (error) {\r\n      }\r\n\r\n    },\r\n    // 单击选中\r\n    chooseNode(node, data, type) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        return;\r\n      }\r\n\r\n      this.triggerSaveInput(() => {\r\n        this.chooseNode1(node, data);\r\n      })\r\n\r\n    },\r\n    chooseNode1(node, data) {\r\n      if(!(data && data.id)) {\r\n        return;\r\n      }\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = 5;\r\n      this.setCurrentNode(data, '选中：chooseNode1');\r\n      this.selectedData = data;\r\n    },\r\n    // 双击修改\r\n    edit(node1, data) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      if (!this.selectedData) {\r\n        return;\r\n      }\r\n      console.log(\"this.isLocalStorageSave = true;\");\r\n      this.isLocalStorageSave = true;\r\n\r\n      this.edit1(node1, data);\r\n    },\r\n    async edit1(node1, data) {\r\n\r\n      await this.triggerSaveInput(() => {});\r\n      this.hideOperates1();\r\n      this.selectedData = data;\r\n      this.content = this.selectedData.name;\r\n      this.originalContent = this.selectedData.name;\r\n      this.$set(this.selectedData, \"refresh\", +(new Date()));\r\n      this.$set(this.selectedData, \"isEdit\", true);\r\n      this.setCurrentNode(data, \"进入编辑：edit1\");\r\n      this.$nextTick(() => {\r\n        const el = this.$refs[\"edittextarea\" + this.selectedData.id];\r\n        if (el && el.$refs.textarea) {\r\n          this.$currInputEl = el;\r\n          const value = el.$refs.textarea.value;\r\n          el.$refs.textarea.value = '';\r\n          el.$refs.textarea.focus();\r\n          el.$refs.textarea.value = value;\r\n          setTimeout(() => {\r\n            el.$refs.textarea.focus();\r\n          }, 0)\r\n\r\n          this.setInputMiddle(el.$refs.textarea);\r\n        }\r\n      })\r\n    },\r\n\r\n    // 修改节点\r\n    editNode(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      // if(!this.selectedData) {\r\n      //   return;\r\n      // }\r\n      // // 如果是在编辑状态下显示菜单则隐藏\r\n      // if (this.isEditOperating) {\r\n      //   this.$set(this.selectedData, \"isShowOp\", false);\r\n      // }\r\n      // if (this.selectedData && this.selectedData.isEdit) {\r\n      //   this.$set(this.selectedData, \"isEdit\", false);\r\n      // }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新编辑的内容');\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 添加主题\r\n    addTheme(e) {\r\n      if(!this.readOnly) {\r\n        // 判断是否有其他端在编辑\r\n        this.getStatus(() => {\r\n          console.log(\"addTreeNode\", 1)\r\n          this.addTreeNode('addTheme');\r\n        });\r\n      } else {\r\n        this.addTreeNode('addTheme');\r\n      }\r\n    },\r\n\r\n    getInputElement(inputId) {\r\n      let inputElement = null;\r\n      if (document.getElementById(\"subtitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"subtitle\" + inputId);\r\n      } else if (document.getElementById(\"title\" + inputId)) {\r\n        inputElement = document.getElementById(\"title\" + inputId);\r\n      } else if (document.getElementById(\"edittextarea\" + inputId)) {\r\n        inputElement = document.getElementById(\"edittextarea\" + inputId);\r\n      } else if (document.getElementById(\"equativetitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"equativetitle\" + inputId);\r\n      }\r\n      return inputElement;\r\n    },\r\n    // 换行\r\n    insertNewline(e, inputId) {\r\n      if (e) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n      }\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n      this.setToolsEventing();\r\n      // this.$refs[\"title\" + id].$refs.textarea.focus();\r\n      // const inputElement = this.$refs[\"title\" + id].$refs.textarea;\r\n      let inputElement = this.getInputElement(inputId);\r\n      console.log('insertNewline: 换行', inputElement);\r\n      if (!inputElement) {\r\n        return;\r\n      }\r\n\r\n      const start = inputElement.selectionStart;\r\n      const end = inputElement.selectionEnd;\r\n      const value = this.content;\r\n\r\n      // // 在光标位置插入换行符\r\n      // this.content += \"\\n\";\r\n      // 在光标位置插入换行符\r\n      this.content = value.substring(0, start) + \"\\n\" + value.substring(end);\r\n      this.$nextTick(() => {\r\n        // 将光标移到新的换行位置\r\n        inputElement.selectionStart = inputElement.selectionEnd = start + 1;\r\n      });\r\n    },\r\n    // 添加主题保存\r\n    saveTitle(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n\r\n    triggerSaveInput(callBack, isAutoSave) {\r\n      console.log('--triggerSaveInput', this.isEditing,  this.isLocalStorageSave);\r\n      // 添加主题\r\n      if (this.isEditing === 'saveTitle') {\r\n        this.saveTitle(null, isAutoSave).then(() => {\r\n          callBack()\r\n        });\r\n      }\r\n      // 编辑后\r\n      else if (this.isEditing === 'editNode') {\r\n        this.editNode(null, isAutoSave).then(() => {\r\n          callBack()\r\n        });\r\n      }\r\n      // 添加子主题\r\n      else if (this.isEditing === 'saveSubTitle') {\r\n        this.saveSubTitle(null, isAutoSave).then(() => {\r\n          callBack()\r\n        });\r\n      }\r\n      // 添加同级主题\r\n      else if (this.isEditing === 'saveEquative') {\r\n        this.saveEquative(null, isAutoSave).then(() => {\r\n          callBack()\r\n        });\r\n      } else {\r\n        callBack()\r\n      }\r\n\r\n    },\r\n    append1(data, node, e) {\r\n      console.log(\"append:\", 2);\r\n      this.append(data, node, e);\r\n    },\r\n\r\n    // 添加子主题\r\n    append(data, node, e) {\r\n      e.preventDefault();\r\n      if (!data.id || !this.editOutline) {\r\n        return;\r\n      }\r\n      // 大纲模式限制5层，弹层提示“最多只能添加5级”\r\n      if (node.level >= 5) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多只能添加5级\"\r\n        });\r\n        return;\r\n      }\r\n\r\n\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            console.log(\"addTreeNode\",2)\r\n            this.addTreeNode('addSubTheme');\r\n          });\r\n        } else {\r\n          this.addTreeNode('addSubTheme');\r\n        }\r\n\r\n      } else {\r\n        console.log(\"addTreeNode\", 3)\r\n        this.addTreeNode('addSubTheme');\r\n      }\r\n    },\r\n\r\n    // 新增Tree节点：主题/子主题/同级主题\r\n    async addTreeNode(type) {\r\n      try {\r\n        console.log(\"新增Tree节点：主题/子主题/同级主题:\", type);\r\n        // 阻止blue\r\n        this.setToolsEventing();\r\n\r\n        // 新增节点需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 新增节点，设置 shouldSaveSnapshot = true');\r\n\r\n        // 等先更新完上个文本框内容\r\n        await this.triggerSaveInput(() => {});\r\n        await this.findIsEditTrueNodes(this.datas, true);\r\n\r\n        this.isEdited = true;\r\n        // console.log(\"this.isLocalStorageSave = false;\");\r\n        // this.isLocalStorageSave = false;\r\n        console.log(\"isEdited:\", this.isEdited);\r\n        let targetNode = null;\r\n        let data = {};\r\n        let inputRefName = '';\r\n        let saveFnName = ''; // 更新内容的函数名称\r\n        let treeFn = '';\r\n        let typeNames = {\r\n          'addTheme': '新增主题',\r\n          'addSubTheme': '新增子主题',\r\n          'addEquativeTheme': '新增同级主题'\r\n        }\r\n        if(type === 'addTheme') {\r\n          let lastId;\r\n          this.datas.forEach(item => {\r\n            if(!item.isAdd && item.isAddTheme) {\r\n              lastId = item.id\r\n            }\r\n          })\r\n\r\n          targetNode = this.$refs.tree.getNode(lastId);\r\n          treeFn = 'insertBefore';\r\n          inputRefName = 'title';\r\n          saveFnName = 'saveTitle';\r\n          data = {\r\n            isAdd: true,\r\n            isAddTheme: true,\r\n            isEdit: true\r\n          }\r\n        }\r\n        else if(type === 'addSubTheme') {\r\n          targetNode = this.node;\r\n          targetNode.expanded = true;\r\n          treeFn = 'append';\r\n          inputRefName = 'subtitle';\r\n          saveFnName = 'saveSubTitle';\r\n          data = {\r\n            isAdd: true,\r\n            isEdit: true\r\n          }\r\n        }\r\n        else if(type === 'addEquativeTheme') {\r\n          targetNode = this.node;\r\n          treeFn = 'insertAfter';\r\n          inputRefName = 'equativetitle';\r\n          saveFnName = 'saveEquative';\r\n          data = {\r\n            isAddEquative: true,\r\n            isEdit: true\r\n          }\r\n        }\r\n\r\n        // 新增节点数据\r\n        id = \"id\" + uuidv4();\r\n        const newChild = {\r\n          id: id,\r\n          name: \"\",\r\n          node: [],\r\n          lock: 2,\r\n          ...data,\r\n        };\r\n        let parent = this.$refs.tree.getParentNode(this.selectedData.id);\r\n        console.log(\"parent:\", parent)\r\n        let removeNode = {};\r\n        let childNodes = []\r\n        let currIndex = 0;\r\n        if(parent) {\r\n          // childNodes = parent.childNodes;\r\n          currIndex = childNodes.length + 1;\r\n        }\r\n        // 新增节点步骤保存\r\n        removeNode = {\r\n          targetNode,\r\n          node: newChild,\r\n          parent: parent,\r\n          index: currIndex,\r\n          type,\r\n        }\r\n\r\n        this.removeNodes.push(removeNode);\r\n        console.log(\"removeNodes:\", this.removeNodes)\r\n\r\n        // 重置变量\r\n        this.content = '';\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        this.editingData = {};\r\n\r\n        // 通过tree中节点增加新节点\r\n        this.$refs.tree[treeFn](newChild, targetNode);\r\n\r\n        this.$nextTick(() => {\r\n          // 设置当前操作的node，因为是新增的元素，要等渲染完才能找到\r\n          this.setCurrentNode(newChild, typeNames[type]);\r\n          this.selectedData = newChild;\r\n\r\n          // fouse文本框\r\n          const refName = inputRefName + newChild.id;\r\n          const $textareaBox = this.$refs[refName] && this.$refs[refName].$refs;\r\n          $textareaBox.textarea.focus();\r\n          setTimeout(() => {\r\n            $textareaBox.textarea.value = $textareaBox.textarea.value.trim();\r\n            $textareaBox.textarea.focus();\r\n          }, 100);\r\n          this.setInputMiddle($textareaBox.textarea);\r\n          // 变量设置\r\n          this.isEditing = saveFnName;\r\n          this.editingData = newChild;\r\n          this.selectedData = newChild;\r\n\r\n          this.setStatus(1);\r\n        });\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n\r\n    // 更新节点内容\r\n    updateTreeNode(isAutoSave, from) {\r\n      try {\r\n        console.log(\"updateTreeNode:\", from);\r\n        // 删除时，会触发blur事件，\r\n        if(this.isRemoveNodeing) {\r\n          return;\r\n        }\r\n\r\n        // // 变量设置\r\n        // this.isEdited = true;\r\n        console.log(\"isLocalStorageSave:\", this.isEdited, this.isLocalStorageSave, \"isAutoSave:\", isAutoSave);\r\n        // 【关键修复】Ctrl+S 保存和自动保存都应该保持编辑状态\r\n        // 问题：原逻辑只检查 this.isLocalStorageSave，但 Ctrl+S 时 isLocalStorageSave = false\r\n        //      导致编辑状态被清除，编辑内容丢失\r\n        // 解决：使用 isAutoSave 参数来判断，isAutoSave = true 时保持编辑状态\r\n        if(!isAutoSave && this.toolTypeEventing !== 'tab') {\r\n          this.isEditing = false;\r\n          this.selectedData = {};\r\n          this.selectedNode = {};\r\n        }\r\n\r\n        // 找到操作目标节点\r\n        const currNode = this.node;\r\n        const content = this.content.trim();\r\n        const id = currNode.data.id;\r\n        let parentNode = this.$refs.tree.getParentNode(id);\r\n        const childNodes = parentNode.childNodes || [];\r\n        let updateType = 'append';\r\n        let targetNode = parentNode;\r\n        if(childNodes.length > 1) {\r\n          childNodes.forEach((node, index) => {\r\n            if(node.data.id === id) {\r\n              if(index === childNodes.length - 1 && childNodes[index - 1]) {\r\n                updateType = 'insertAfter';\r\n                targetNode = childNodes[index - 1];\r\n              }\r\n              else if(childNodes[index + 1]){\r\n                updateType = 'insertBefore';\r\n                targetNode = childNodes[index + 1];\r\n              }\r\n            }\r\n          })\r\n        }\r\n\r\n        // 先删除后，在原来的位置再新增个新的, 如果有下级的，也得带上\r\n        // 【关键修复】Ctrl+S 保存和自动保存都应该保留临时标记\r\n        // 问题：原逻辑判断 this.isLocalStorageSave，但 Ctrl+S 时 isLocalStorageSave = false\r\n        //      导致节点被删除重建时没有保留临时标记（isAdd, isAddTheme 等）\r\n        // 解决：使用 isAutoSave 参数来判断，isAutoSave = true 时保留临时标记\r\n        const children = JSON.parse(JSON.stringify(currNode.data.children || []));\r\n        // 静默保存（自动保存或Ctrl+S）不删除重建节点；手动保存才删除重建\r\n        if(!isAutoSave) {\r\n          this.$refs.tree.remove(id);\r\n          this.$refs.tree[updateType](\r\n            {\r\n              id,\r\n              name: content,\r\n              node: [],\r\n              lock: 2,\r\n              children: children,\r\n            },\r\n            targetNode\r\n          );\r\n        } else {\r\n          // 【静默保存】只更新节点内容，不删除重建，保留所有临时标记\r\n          // 直接修改节点数据，保持编辑状态\r\n          this.$set(currNode.data, 'name', content);\r\n          console.log('[SilentSave] 更新节点内容，保留编辑状态:', id, content);\r\n        }\r\n\r\n        console.log('-------更新tree中的node数据', );\r\n\r\n        // 重新设置当前node对像\r\n        this.setCurrentNode({id}, `${from}后，需重新设置当前node`);\r\n\r\n        //保存到本地\r\n        this.saveMindMap();\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n\r\n    // 保存子主题\r\n    saveSubTitle(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新子主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 增加同级节点\r\n    addEquative(node, data, e) {\r\n      try {\r\n        if (e) {\r\n          e.preventDefault();\r\n        }\r\n        if(!data.id || !this.editOutline) {\r\n          return\r\n        }\r\n        // 判断这端是否在编辑，是的话则直接保存完之后添加，不需要先请求其他端是否在编辑\r\n        // if(!this.isLocalStorageSave || (this.isLocalStorageSave && this.isEditing == 'editNode')) {\r\n          if(!this.isEditing) {\r\n            if(!this.readOnly) {\r\n              // 判断是否有其他端在编辑\r\n              this.getStatus(() => {\r\n                console.log(\"addTreeNode\")\r\n                this.addTreeNode('addEquativeTheme');\r\n              });\r\n            } else {\r\n              this.addTreeNode('addEquativeTheme');\r\n            }\r\n        } else {\r\n          console.log(\"addTreeNode\")\r\n          this.addTreeNode('addEquativeTheme');\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    addEquative1(node, data, e, type) {\r\n      try {\r\n        console.log(\"addEquative1:\", type)\r\n        if (e) {\r\n          e.preventDefault();\r\n        }\r\n        if(!data.id || !this.editOutline) {\r\n          return\r\n        }\r\n\r\n        // 判断这端是否在编辑，是的话则直接保存完之后添加，不需要先请求其他端是否在编辑\r\n        if(!this.isEditing) {\r\n          if(!this.readOnly) {\r\n            // 判断是否有其他端在编辑\r\n            this.getStatus(() => {\r\n              this.addTreeNode1('addEquativeTheme');\r\n            });\r\n          } else {\r\n            this.addTreeNode1('addEquativeTheme');\r\n          }\r\n        } else {\r\n          this.addTreeNode1('addEquativeTheme');\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    // 如果是在编辑状态的节点，则只保存，并退出编辑状态保留选中状态\r\n    async addTreeNode1(type) {\r\n      try {\r\n        // 阻止blue\r\n        this.setToolsEventing();\r\n\r\n        const currNode = this.node;\r\n        const id = currNode.data.id;\r\n\r\n        console.log(\"addTreeNode11:\", this.selectedData);\r\n        const selectedData = this.selectedData;\r\n        this.isLocalStorageSave = false;\r\n\r\n        // 等先更新完上个文本框内容\r\n        await this.triggerSaveInput(() => {});\r\n        await this.findIsEditTrueNodes(this.datas, true);\r\n\r\n        console.log(\"addTreeNode1:\", this.selectedData);\r\n\r\n        this.operating.isOperating = false;\r\n        this.operating.operate = 5;\r\n        this.selectedData = selectedData;\r\n        this.selectedData.isEdit = false;\r\n        this.selectedData.isAddEquative = false;\r\n        this.setCurrentNode(this.selectedData, '选中：chooseNode1');\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    // 保存同级\r\n    saveEquative(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      if(!this.node) {\r\n        return new Promise(resolve => {\r\n          resolve();\r\n        });\r\n      }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新同级主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    toParse(arr, type = 1) {\r\n      if(arr && typeof arr === 'string') {\r\n        if(arr == '') {\r\n          arr = [];\r\n        } else {\r\n          arr = JSON.parse(arr);\r\n        }\r\n      }\r\n      if(!arr) {\r\n        arr = [];\r\n      }\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParse(item[\"node\"], type);\r\n        }\r\n        // if (item.children) {\r\n        //   delete item.children;\r\n        // }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        // if (item.id) {\r\n        //   delete item.id;\r\n        // }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if (item.isAdd !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isAdd;\r\n        }\r\n        if (item.isAddTheme !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isAddTheme;\r\n        }\r\n        if (item.isEdit !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isEdit;\r\n        }\r\n        if(type == 2 && item.isAddEquative !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isAddEquative;\r\n        }\r\n        if(type == 2 && item.id !== undefined && !this.isLocalStorageSave) {\r\n          delete item.id;\r\n        }\r\n        if(type == 2 && item.children !== undefined && !this.isLocalStorageSave) {\r\n          delete item.children;\r\n        }\r\n\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    toParse1(arr, type) {\r\n      arr.forEach(item => {\r\n        if(!this.isLocalStorageSave) {\r\n          item.isEdit = false;\r\n          item.isShowOp = false;\r\n          item.isAdd = false;\r\n          item.isAddEquative = false;\r\n        }\r\n        if (item.node && Array.isArray(item.node) && item.node.length) {\r\n          item[\"children\"] = [].concat(item.node);\r\n          delete item.node;\r\n        }\r\n        if(item.children && item.children.length) {\r\n          this.toParse1(item.children, type);\r\n        }\r\n        item.id = item.id || \"id\" + uuidv4();\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if(type === 'init') {\r\n          if (item.isAdd !== undefined) {\r\n            delete item.isAdd;\r\n          }\r\n          if (item.isAddTheme !== undefined) {\r\n            delete item.isAddTheme;\r\n          }\r\n          if (item.isEdit !== undefined) {\r\n            delete item.isEdit;\r\n          }\r\n        }\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    // 删除\r\n    async remove(e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if (!this.selectedData || !this.selectedData.id) {\r\n        return;\r\n      }\r\n\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.removeNode();\r\n          });\r\n        } else {\r\n          this.removeNode();\r\n        }\r\n      } else {\r\n        this.removeNode();\r\n      }\r\n    },\r\n    removeNode() {\r\n      try {\r\n        // 先把删除的node保存在removeNode中，以便撤回，再删除\r\n        this.isEdited = true;\r\n        // [Migrated from PC-MyMindOutline.vue] 删除节点需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 删除节点，设置 shouldSaveSnapshot = true');\r\n        console.log(\"isEdited:\", this.isEdited);\r\n        let node = this.node;\r\n        let parent = this.$refs.tree.getParentNode(node.data.id);\r\n        const childNodes = parent.childNodes;\r\n        const data = parent.data;\r\n        let currIndex;\r\n        (childNodes || []).forEach((item, index) => {\r\n          if(item.id === node.id) {\r\n            currIndex = index;\r\n          }\r\n        })\r\n        const removeNode = {\r\n          node: node,\r\n          parent: parent,\r\n          index: currIndex,\r\n          type: 'removeNode'\r\n        }\r\n        this.removeNodes.push(removeNode);\r\n        this.$refs.tree.remove(node.data.id);\r\n        this.isEditing = false;\r\n\r\n        // 设计isRemoveNodeing标记，阻止触发文本框blur时去更新node内容\r\n        this.isRemoveNodeing = true;\r\n        if(this.timeValueRemoveNode) {\r\n          clearTimeout(this.timeValueRemoveNode)\r\n          this.timeValueRemoveNode = null;\r\n        }\r\n        this.timeValueRemoveNode = setTimeout(() => {\r\n          this.isRemoveNodeing = false;\r\n          clearTimeout(this.timeValueRemoveNode)\r\n          this.timeValueRemoveNode = null;\r\n        }, 500)\r\n        //保存到本地\r\n        this.saveMindMap();\r\n\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n        this.$nextTick(() => {\r\n          this.setFilterNode(parent, data);\r\n          this.selectedData = {};\r\n          this.selectedNode = {};\r\n          this.node = {};\r\n          this.isEditOperating = false;\r\n\r\n          console.log('--remove')\r\n        });\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    // 撤回上一次删除\r\n    withdraw() {\r\n      try {\r\n        if (!(this.removeNodes && this.removeNodes.length)) {\r\n          return;\r\n        }\r\n\r\n        const removeNode = this.removeNodes[this.removeNodes.length - 1];\r\n        console.log(\"withdraw removeNode:\", removeNode);\r\n        if(removeNode.type === this.withdrawTypes.removeNode) {\r\n          // 还原删除\r\n          this.redoRemoveNode(removeNode)\r\n        } else if(removeNode.type === this.withdrawTypes.editNode) {\r\n          // 还原编辑\r\n          this.redoUpdateTreeNode(removeNode)\r\n        } else {\r\n          // 还原新增\r\n          this.redoAddTreeNode(removeNode)\r\n        }\r\n\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n\r\n    // 还原新增Tree节点：主题/子主题/同级主题\r\n    async redoAddTreeNode(currentNode) {\r\n      console.log(\"redoAddTreeNode:\", currentNode)\r\n      try {\r\n        // 先把删除的node保存在removeNode中，以便撤回，再删除\r\n        this.isEdited = true;\r\n        let node = currentNode.node;\r\n        let parent = this.$refs.tree.getParentNode(node.id);\r\n        // const childNodes = parent.childNodes;\r\n        const data = parent.data;\r\n        // let currIndex = currentNode.index;\r\n        // (childNodes || []).forEach((item, index) => {\r\n        //   if(item.id === node.id) {\r\n        //     currIndex = index;\r\n        //   }\r\n        // })\r\n        // const removeNode = {\r\n        //   node: node,\r\n        //   parent: parent,\r\n        //   index: currIndex,\r\n        //   type: 'removeNode'\r\n        // }\r\n        // this.removeNodes.push(removeNode);\r\n        // console.log(\"removeNodes:\", this.removeNodes)\r\n        this.$refs.tree.remove(node.id);\r\n\r\n        // 设计isRemoveNodeing标记，阻止触发文本框blur时去更新node内容\r\n        this.isRemoveNodeing = true;\r\n        if(this.timeValueRemoveNode) {\r\n          this.clearTimeout(this.timeValueRemoveNode);\r\n          this.timeValueRemoveNode = null;\r\n        }\r\n        this.timeValueRemoveNode = setTimeout(() => {\r\n          this.isRemoveNodeing = false;\r\n          this.clearTimeout(this.timeValueRemoveNode);\r\n          this.timeValueRemoveNode = null;\r\n        }, 500)\r\n        //保存到本地\r\n        this.saveMindMap();\r\n        this.removeNodes.splice(-1, 1);\r\n\r\n        // this.$set(this.selectedData, \"isShowOp\", false);\r\n        this.$nextTick(() => {\r\n          this.setFilterNode(parent, data);\r\n          this.selectedData = {};\r\n          this.selectedNode = {};\r\n          this.node = {};\r\n          this.isEditOperating = false;\r\n        });\r\n      } catch (error) {\r\n        console.log(\"redoAddTreeNode error----:\", error)\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    // 还原编辑节点内容\r\n    redoUpdateTreeNode(currentNode, from) {\r\n      console.log(\"redoUpdateTreeNode:\", from);\r\n      // 删除时，会触发blur事件，\r\n      if(this.isRemoveNodeing) {\r\n        return;\r\n      }\r\n\r\n      // // 变量设置\r\n      // this.isEdited = true;\r\n      // console.log(\"isLocalStorageSave:\", this.isEdited, this.isLocalStorageSave);\r\n      // // 自动保存不将选中输入框清除\r\n      // if(!this.isLocalStorageSave) {\r\n      //   this.isEditing = false;\r\n      //   this.selectedData = {};\r\n      //   this.selectedNode = {};\r\n      // }\r\n\r\n\r\n      // 找到操作目标节点\r\n      const currNode = currentNode.node;\r\n      const content = currentNode.content;\r\n      const id = currNode.data.id;\r\n      let parentNode = this.$refs.tree.getParentNode(id);\r\n      const childNodes = parentNode.childNodes || [];\r\n      let updateType = 'append';\r\n      let targetNode = parentNode;\r\n      if(childNodes.length > 1) {\r\n        childNodes.forEach((node, index) => {\r\n          if(node.data.id === id) {\r\n            if(index === childNodes.length - 1 && childNodes[index - 1]) {\r\n              updateType = 'insertAfter';\r\n              targetNode = childNodes[index - 1];\r\n            }\r\n            else if(childNodes[index + 1]){\r\n              updateType = 'insertBefore';\r\n              targetNode = childNodes[index + 1];\r\n            }\r\n          }\r\n        })\r\n      }\r\n\r\n      // 先删除后，在原来的位置再新增个新的, 如果有下级的，也得带上\r\n      // 自动保存的不能删除\r\n      const children = JSON.parse(JSON.stringify(currNode.data.children || []));\r\n      // // 自动保存不将选中输入框清除, 但是编辑需要\r\n      // if(!this.isLocalStorageSave || (this.isLocalStorageSave && this.isEditing == 'editNode')) {\r\n\r\n      // }\r\n      this.$refs.tree.remove(id);\r\n      this.$refs.tree[updateType](\r\n        {\r\n          id,\r\n          name: content,\r\n          node: [],\r\n          lock: 2,\r\n          children: children,\r\n        },\r\n        targetNode\r\n      );\r\n\r\n      console.log('-------更新tree中的node数据', currNode, content, updateType, from, children);\r\n      console.log(content)\r\n      this.removeNodes.splice(-1, 1);\r\n\r\n      // // 重新设置当前node对像\r\n      // this.setCurrentNode({id}, `${from}后，需重新设置当前node`);\r\n\r\n      //保存到本地\r\n      this.saveMindMap();\r\n    },\r\n\r\n    // 还原删除节点\r\n    redoRemoveNode(removeNode) {\r\n      const index = removeNode.index;\r\n      const parent = removeNode.parent;\r\n\r\n      let parentNode = null;//parent\r\n      if (parent.level === 0) {\r\n        parentNode = parent;\r\n      } else {\r\n        parentNode = this.$refs.tree.getNode(parent.data.id);\r\n      }\r\n      const childNodes = parentNode.childNodes;\r\n\r\n      if (parentNode) {\r\n        // 如果只有一个元素或者是最后一个节点\r\n        if (index === childNodes.length) {\r\n          this.$refs.tree.append(removeNode.node.data, parentNode);\r\n        } else if (childNodes.length >= 1) {\r\n          // 如果是节点个数大于1，找到后面一个元素\r\n          const lastNode = childNodes[index];\r\n          this.$refs.tree.insertBefore(removeNode.node.data, lastNode);\r\n        }\r\n        //保存到本地\r\n        this.saveMindMap();\r\n      }\r\n\r\n      this.$nextTick(() => {\r\n        // 父节点\r\n        this.setFilterNode(parentNode, parentNode.data);\r\n        // 本节点\r\n        this.setFilterNode(removeNode.node, removeNode.node.data);\r\n        // 子节点遍历\r\n        let childNodes = removeNode.node.childNodes;\r\n        childNodes.forEach(item => {\r\n          this.setFilterNode1(item, item.data);\r\n        });\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        this.removeNodes.splice(-1, 1);\r\n\r\n        console.log('--withdraw')\r\n      });\r\n    },\r\n    setCollapseHeight(node, offsetHeightO) {\r\n      if (node && node.level === 1) {\r\n        return;\r\n      }\r\n      let parentNode = node.parent;\r\n      let dom = document.getElementById(node.data.id);\r\n      let selector = \"#\" + node.data.id + \"::before\";\r\n      // 收起，重新设置高度\r\n      let parent = dom.parentNode;\r\n      let prevParent = parent.parentNode;\r\n      let offsetHeight = prevParent.offsetHeight - 28;\r\n      //js代码，支持IE\r\n      document.styleSheets[0].addRule(\r\n        selector,\r\n        \"height: \" + offsetHeight + \"px;\"\r\n      );\r\n      //支持非IE的现代浏览器\r\n      document.styleSheets[0].insertRule(\r\n        selector + \" { height: \" + offsetHeight + \"px; }\",\r\n        0\r\n      );\r\n      this.setCollapseHeight(parentNode);\r\n    },\r\n    setFilterNode(node, data, collapse, idName) {\r\n      let name = \"textarea\";\r\n      if (idName) {\r\n        name = idName;\r\n      }\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n      }\r\n      const childNodes = node.childNodes;\r\n      let flag = true;\r\n      if (childNodes.length <= 0) {\r\n        flag = false;\r\n      }\r\n      if (flag) {\r\n        this.$set(data, \"class\", \"isVertival\");\r\n      }\r\n      this.$nextTick(() => {\r\n        // if (this.$refs[name + this.selectedData.id]) {\r\n        //   this.$refs[name + this.selectedData.id].resizeTextarea();\r\n        // }\r\n        if (this.$refs[name + data.id]) {\r\n          if (name !== \"textarea\") {\r\n            this.$refs[name + data.id].resizeTextarea();\r\n          }\r\n          let dom = document.getElementById(data.id);\r\n          let timeout = null;\r\n          if (dom) {\r\n            let parent = dom.parentNode;\r\n            let prevParent = parent.parentNode;\r\n            let classList = parent.classList;\r\n            // 没有子节点或者收起,要把isVertival去掉\r\n            if (classList.contains(\"isVertival\") && !flag) {\r\n              parent.classList.remove(\"isVertival\");\r\n              // if(classList.contains('isVertivall' + node.level)) {\r\n              //   parent.classList.remove('isVertivall' + node.level);\r\n              // }\r\n            } else if (!classList.contains(\"isVertival\") && flag) {\r\n              parent.classList.add(\"isVertival\");\r\n            }\r\n            // if(node.level >= 4 && classList.contains('isVertival')&& !collapse) {\r\n            //   parent.classList.add('isVertivall' + node.level);\r\n            // }\r\n            // if (classList.contains(\"is-expanded\")) {\r\n            //   prevParent.classList.remove(\"is-expanded\");\r\n            // }\r\n\r\n          }\r\n        }\r\n      });\r\n      this.$set(data, \"hasVertical\", flag);\r\n    },\r\n    filterNode(value, data, node) {\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      this.$set(data, \"isShowOp\", false);\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n        const childNodes = node.childNodes;\r\n        let flag = true;\r\n        if (childNodes.length <= 0) {\r\n          flag = false;\r\n        }\r\n        if (flag) {\r\n          this.$set(data, \"class\", \"isVertival\");\r\n        }\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"textarea\" + data.id]) {\r\n            // this.$refs[\"textarea\" + data.id].resizeTextarea();\r\n            let dom = document.getElementById(data.id);\r\n            if (dom && node.level > 1) {\r\n              let parent = dom.parentNode;\r\n              let prevParent = parent.parentNode;\r\n              let classList = parent.classList;\r\n              // 没有子节点,要把isVertival去掉\r\n              if (classList.contains(\"isVertival\") && !flag) {\r\n                parent.classList.remove(\"isVertival\");\r\n              } else if (!classList.contains(\"isVertival\") && flag) {\r\n                parent.classList.add(\"isVertival\");\r\n              }\r\n              // if (node.level >= 4 && classList.contains(\"isVertival\")) {\r\n              //   parent.classList.add(\"isVertivall\" + node.level);\r\n              // }\r\n            }\r\n          }\r\n        });\r\n        this.$set(data, \"hasVertical\", flag);\r\n      }\r\n      return true;\r\n    },\r\n    getMaxDescendantLayers(node) {\r\n      if (!node.childNodes || node.childNodes.length === 0) {\r\n          return 0; // 无子节点时深度为0\r\n      }\r\n      let maxDepth = 0;\r\n      for (const child of node.childNodes) {\r\n          const childDepth = this.getMaxDescendantLayers(child);\r\n          if (childDepth > maxDepth) {\r\n              maxDepth = childDepth;\r\n          }\r\n      }\r\n      return maxDepth + 1; // 当前层深度 = 子节点最大深度 + 1\r\n    },\r\n    getChildrenLen(node, lenObj) {\r\n      const childNodes = node.childNodes;\r\n      lenObj.len += childNodes.length;\r\n      childNodes.forEach(item => {\r\n        if (item.childNodes.length > 0) {\r\n          this.getChildrenLen(item, lenObj);\r\n        }\r\n      });\r\n    },\r\n    nodeCollapse(data, node, data1) {\r\n\r\n    },\r\n    nodeCollapse1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, true);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    isHuaweiPad() {\r\n      const userAgent = window.navigator.userAgent;\r\n      const isHuaweiTablet = /Huawei/.test(userAgent);\r\n      return this.isMobile && isHuaweiTablet;\r\n    },\r\n    nodeExpand(data, node, data1) {\r\n      this.triggerSaveInput(() => {\r\n        this.nodeExpand1(node);\r\n      })\r\n    },\r\n    nodeExpand1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, false);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    handleDragStart(node, ev) {\r\n      if(!node.isAdd && node.isAddTheme) {\r\n        // 添加主题按钮\r\n        return\r\n      }\r\n      this.selectedData = {};\r\n      this.selectedNode = {};\r\n      // this.draggingNode = node;\r\n      // 之前的父节点\r\n      let timeout3 = null;\r\n      timeout3 = setTimeout(() => {\r\n        this.dragNodeParPrev = node.parent;\r\n        // this.setFilterNode(parent, parent.data);\r\n        clearTimeout(timeout3);\r\n      });\r\n\r\n    },\r\n    handleDragEnter(draggingNode, dropNode, ev) {\r\n\r\n    },\r\n    handleDragLeave(draggingNode, dropNode, ev) {\r\n    },\r\n    handleDragOver(draggingNode, dropNode, ev) {\r\n      if(this.selectedData && this.selectedData.isShowOp) {\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n      }\r\n    },\r\n    handleDragEnd(draggingNode, dropNode, dropType, ev) {\r\n      if(!dropNode) {\r\n        return;\r\n      }\r\n\r\n      // 同步检查（快速失败）\r\n      if(this.status == 1 && !this.isMyselfEditing) {\r\n        this.$message.warning('其他端正在编辑，拖动操作已取消');\r\n        return;\r\n      }\r\n\r\n      // 参考编辑节点的锁检查模式：异步校验协作状态\r\n      this.getStatus(() => {\r\n        // 锁检查通过，保存拖动结果\r\n        // 拖拽节点需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 拖拽节点，设置 shouldSaveSnapshot = true');\r\n        this.$nextTick(() => {\r\n          // 之前的父节点\r\n          this.setFilterNode(this.dragNodeParPrev, this.dragNodeParPrev.data);\r\n          //保存到本地\r\n          this.saveMindMap();\r\n          let timeout1 = null;\r\n          let timeout2 = null;\r\n          let timeout4 = null;\r\n          // 本节点\r\n          timeout1 = setTimeout(() => {\r\n            this.setFilterNode(draggingNode, draggingNode.data);\r\n            clearTimeout(timeout1);\r\n          });\r\n          // 子节点遍历重置样式\r\n          timeout4 = setTimeout(() => {\r\n            let childNodes = draggingNode.childNodes;\r\n            childNodes.forEach(item => {\r\n              this.setFilterNode1(item, item.data);\r\n            });\r\n            clearTimeout(timeout4);\r\n          });\r\n          // 现在的父节点\r\n          timeout2 = setTimeout(() => {\r\n            if(dropNode.data) {\r\n              this.setFilterNode(dropNode, dropNode.data);\r\n            }\r\n            clearTimeout(timeout2);\r\n            this.isMyselfEditing = false;\r\n          });\r\n        });\r\n      });\r\n    },\r\n\r\n    handleTreeItemClick(event, component) {\r\n      const node = component.node;\r\n      const data = component.node.data;\r\n      const selectedData = this.selectedData;\r\n      const operating = this.operating;\r\n      //document.getElementById('a').innerHTML += 'handleTreeItemClick;  ';\r\n      if(data.isAdd && !data.isAddTheme) {\r\n        this.touchendWaitBlur(node, data, event, 'click', 3);\r\n      }\r\n      else if(data.isAdd && data.isAddTheme) {\r\n        this.touchendWaitBlur(node, data, event, 'click', 3)\r\n      }\r\n      else if(selectedData && selectedData.isEdit && selectedData.id === data.id) {\r\n        this.touchendWaitBlur(node, data, event, 'click', 3)\r\n      }\r\n      else if(data.isAddEquative) {\r\n        this.touchendWaitBlur(node, data, event, 'click', 3)\r\n      }\r\n      else if(data.id && selectedData && selectedData.id === data.id && !operating.isOperating) {\r\n        this.touchendWaitBlur(node, data, event, 'click', 2);\r\n      }\r\n      else {\r\n        this.touchendWaitBlur(node, data, event, 'click', 1);\r\n      }\r\n\r\n    },\r\n\r\n    handleDrop(draggingNode, dropNode, dropType, ev) {\r\n      //\r\n    },\r\n    allowDrop(draggingNode, dropNode, type) {\r\n      try {\r\n        if(!draggingNode.data.isAdd && draggingNode.data.isAddTheme) {\r\n          // 添加主题按钮\r\n          return\r\n        }\r\n        let editOutline = this.getEditOutline();\r\n        if (!editOutline || (this.status == 1 && !this.isMyselfEditing)) {\r\n          return false;\r\n        } else {\r\n          // 拖拽最多只能5层级\r\n          const maxDescendant = this.getMaxDescendantLayers(draggingNode)\r\n          console.log(\"allowDrop:\", dropNode.level, type, maxDescendant);\r\n          if (type == \"inner\" && maxDescendant >= this.maxLevel - dropNode.level) {\r\n            return false;\r\n          } else if (type !== \"inner\" && maxDescendant > this.maxLevel - dropNode.level) {\r\n            return false;\r\n          } else {\r\n            return true;\r\n          }\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    async allowDrag(draggingNode) {\r\n      try {\r\n        console.log(\"allowDrag\")\r\n        let editOutline = this.getEditOutline();\r\n        if(!editOutline || draggingNode.data.isAddTheme) {\r\n          return false;\r\n        }\r\n        if (\r\n          this.selectedData &&\r\n          this.selectedData.id === draggingNode.data.id &&\r\n          this.selectedData.isEdit\r\n        ) {\r\n          return false;\r\n        }\r\n        return new Promise((resolve) => {\r\n          // 保存resolve函数供外部调用\r\n          this.resolveDrag = resolve;\r\n          this.getStatus();\r\n        });\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    handleKeyDown(e) {\r\n      if(e.key.toLowerCase() == 'enter' && this.isAndroid) {\r\n        e.preventDefault();\r\n      }\r\n      if(!(e.key.toLowerCase() == 'enter' && this.isAndroid)) {\r\n        this.handleKeyDownFn(e);\r\n      }\r\n    },\r\n    handleKeyDownFn(e) {\r\n      // ============================================================\r\n      // 编辑态互斥锁：输入框获得焦点时，拦截影响导图结构的快捷键\r\n      // 允许：Ctrl+C/V/X (复制/粘贴/剪切)、方向键、Enter(确认)、Esc(取消)\r\n      // 拦截：Ctrl+Z/Y/S、Delete、Ctrl+D、Cmd+Backspace\r\n      // ============================================================\r\n      if (this.isEditingNode) {\r\n        const key = e.key.toLowerCase();\r\n        const isCtrlOrCmd = e.ctrlKey || e.metaKey;\r\n\r\n        // 拦截 Ctrl/Cmd + Z (撤销) - 不含 Shift\r\n        if (isCtrlOrCmd && key === 'z' && !e.shiftKey) {\r\n          e.preventDefault();\r\n          e.stopPropagation();\r\n          this.showEditingLockedToast();\r\n          return;\r\n        }\r\n\r\n        // 拦截 Ctrl/Cmd + Shift + Z (重做) 或 Ctrl/Cmd + Y\r\n        if ((isCtrlOrCmd && e.shiftKey && key === 'z') || (isCtrlOrCmd && key === 'y')) {\r\n          e.preventDefault();\r\n          e.stopPropagation();\r\n          this.showEditingLockedToast();\r\n          return;\r\n        }\r\n\r\n        // // 拦截 Ctrl/Cmd + S (保存)\r\n        // if (isCtrlOrCmd && key === 's') {\r\n        //   e.preventDefault();\r\n        //   e.stopPropagation();\r\n        //   this.showEditingLockedToast();\r\n        //   return;\r\n        // }\r\n\r\n        // // 拦截 Ctrl + D (删除节点 - Win)\r\n        // if (e.ctrlKey && key === 'd') {\r\n        //   e.preventDefault();\r\n        //   e.stopPropagation();\r\n        //   this.showEditingLockedToast();\r\n        //   return;\r\n        // }\r\n\r\n        // // 拦截 Cmd + Backspace (删除节点 - Mac)\r\n        // if (e.metaKey && key === 'backspace') {\r\n        //   e.preventDefault();\r\n        //   e.stopPropagation();\r\n        //   this.showEditingLockedToast();\r\n        //   return;\r\n        // }\r\n\r\n        // 注意：Delete 键在输入框中用于删除文字，不拦截\r\n        // 注意：Ctrl+C/V/X 用于复制粘贴，不拦截\r\n        // 注意：Enter/Esc 用于确认/取消编辑，不拦截\r\n      }\r\n\r\n      // 删除win\r\n      if (e.ctrlKey && e.key.toLowerCase() === \"d\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n      // 删除mac\r\n      if (e.metaKey && e.key.toLowerCase() === \"backspace\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n\r\n      // 复制win:非编辑状态\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        !this.editOutline && this.copyData.id\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy(this.copyData, this.copyData, e)\r\n      }\r\n      // 复制win：编辑状态\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.isEditing\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n       this.copy1(this.node, this.editingData, e);\r\n      }\r\n      // 复制mac:非编辑状态\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        !this.editOutline && this.copyData.id\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy(this.copyData, this.copyData, e)\r\n      }\r\n      // 复制mac：编辑状态\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.isEditing\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy1(this.node, this.editingData, e);\r\n      }\r\n      // 粘贴win\r\n      // if (\r\n      //   e.ctrlKey &&\r\n      //   e.key.toLowerCase() === \"v\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   // e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.paste(this.node, this.editingData, e);\r\n      // }\r\n      // // 粘贴mac\r\n      // if (\r\n      //   e.metaKey &&\r\n      //   e.key.toLowerCase() === \"v\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   // e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.paste(this.node, this.editingData, e);\r\n      // }\r\n\r\n      // 剪切win\r\n      // if (\r\n      //   e.ctrlKey &&\r\n      //   e.key.toLowerCase() === \"x\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.cut(this.node, this.editingData, e);\r\n      // }\r\n      // 剪切mac\r\n      // if (\r\n      //   e.metaKey &&\r\n      //   e.key.toLowerCase() === \"x\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.cut(this.node, this.editingData, e);\r\n      // }\r\n      // 换行 mac: meta + enter\r\n      if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.metaKey &&\r\n        this.isEditing\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.editingData && this.editingData.id);\r\n      }\r\n      // 换行 win: ctrl + enter\r\n      else if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.ctrlKey &&\r\n        this.isEditing\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.editingData && this.editingData.id);\r\n      }\r\n      // 新增同级节点win、mac\r\n      else if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        !e.ctrlKey &&\r\n        !e.metaKey\r\n      ) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        // 如果是在编辑状态，则需要先保存节点，然后保持选中状态，如果不是在编辑状态，则直接新增同级节点\r\n        console.log(\"enter:\", this.selectedData.id, this.selectedData.isEdit, this.operating.isOperating)\r\n        if(this.selectedData.id && !this.selectedData.isEdit && !this.operating.isOperating) {\r\n          this.addEquative(this.node, this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, e);\r\n        } else {\r\n          this.addEquative1(this.node, this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, e);\r\n        }\r\n      }\r\n      // 新增子节点win、mac\r\n      else if (e.key.toLowerCase() === \"tab\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        console.log(\"append:\", 1)\r\n        this.append(this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, this.node, e);\r\n      }\r\n\r\n      // 保存win,编辑状态才可以保存\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"s\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        // 【Ctrl+S 保存】显示 loading 和保存成功提示，但保持编辑状态\r\n        // 传入 false 显示 loading，但设置 _isCtrlSave 标记保持编辑状态\r\n        this._isCtrlSave = true;\r\n        this.submitSave(false);\r\n        // 保存完重新设置定时器保存\r\n        this.setSaveTimeout();\r\n      }\r\n      // 保存mac,编辑状态才可以保存\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"s\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        // 【Cmd+S 保存】同上\r\n        this._isCtrlSave = true;\r\n        this.submitSave(false);\r\n        // 保存完重新设置定时器保存\r\n        this.setSaveTimeout();\r\n      }\r\n\r\n      // win撤销上一步,编辑状态才可以\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline &&\r\n        !e.shiftKey\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"undo\")\r\n      }\r\n      // mac撤销上一步,编辑状态才可以\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline &&\r\n        !e.shiftKey\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"undo\")\r\n      }\r\n\r\n        // win重做 (Ctrl+Shift+Z)\r\n        if (\r\n        e.ctrlKey &&\r\n        e.shiftKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"redo\")\r\n      }\r\n      // mac重做 (Cmd+Shift+Z)\r\n      if (\r\n        e.metaKey &&\r\n        e.shiftKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"redo\")\r\n      }\r\n\r\n      // // 保存win\r\n      // if (e.ctrlKey && e.key.toLowerCase() === \"s\") {\r\n      //   e.preventDefault(); // 取消浏览器原有的操作\r\n      // }\r\n      // // 保存mac\r\n      // if (e.metaKey && e.key.toLowerCase() === \"s\") {\r\n      //   e.preventDefault(); // 取消浏览器原有的操作\r\n      // }\r\n\r\n    },\r\n    // 编辑态互斥锁：显示锁定提示\r\n    showEditingLockedToast() {\r\n      this.$message.warning('请先完成当前节点的编辑后再执行此操作');\r\n    },\r\n    handleKeyUp(e) {\r\n      if(this.handleKeyUpValue) {\r\n        clearTimeout(this.handleKeyUpValue);\r\n        this.handleKeyUpValue = null;\r\n      }\r\n      if((e.key.toLowerCase() == 'enter' && this.isAndroid)) {\r\n        e.preventDefault();\r\n        this.handleKeyUpValue = setTimeout(() => {\r\n          this.handleKeyDownFn(e);\r\n\r\n          clearTimeout(this.handleKeyUpValue);\r\n          this.handleKeyUpValue = null;\r\n        }, 100)\r\n      }\r\n    },\r\n    handleGetMessage(event) {\r\n      if (event.data.status === \"ok\") {\r\n\r\n      }\r\n    },\r\n    scrollOutline(e) {\r\n      const myMindOutline = document.getElementById(this.myMindOutlineId);\r\n      const scrollTop = myMindOutline.scrollTop;\r\n\r\n      // 大纲模式时\r\n      this.$emit(\"scrollOutline\", scrollTop);\r\n    },\r\n    setSelectedBox() {\r\n      if(!this.$refs.operateRef) {\r\n        return;\r\n      }\r\n      const $overflowAutoBox = this.$refs.box;\r\n      let boxOffset, offset, top;\r\n      boxOffset = $overflowAutoBox.getBoundingClientRect();\r\n      const parentOffset = $overflowAutoBox.parentNode.getBoundingClientRect();\r\n      offset = this.selectedDom.target ? this.selectedDom.target.getBoundingClientRect() : null;\r\n      // ios输入时\r\n      if(window.scrollY > 100) {\r\n        top = offset.y + window.scrollY;\r\n        this.$refs.operateRef.style.top = top + 'px';\r\n      }\r\n      else {\r\n        top = offset.y;\r\n        this.$refs.operateRef.style.top = top + 'px';\r\n      }\r\n\r\n      if(offset.y < boxOffset.y - 20) {\r\n        this.$refs.operateRef.style.display = 'none';\r\n      }\r\n      else {\r\n        this.$refs.operateRef.style.display = '';\r\n      }\r\n      this.$refs.operateRef.style.position = 'fixed';\r\n      this.$refs.operateRef.style.width = offset.width + 'px';\r\n      this.$refs.operateRef.style.opacity = 1;\r\n      this.$refs.operateRef.style.left = offset.x + 'px';\r\n      this.$refs.operateRef.setAttribute('class', 'operates-wrapper');\r\n    },\r\n    setSelectedBoxPosition() {\r\n      if(!this.$refs.operateRef || !(this.selectedDom && this.selectedDom.target)) {\r\n        setTimeout(() => {\r\n          this.setSelectedBox();\r\n        }, 100)\r\n        }\r\n        else {\r\n          this.setSelectedBox();\r\n        }\r\n\r\n    },\r\n    bindBoxScroll() {\r\n      //throttle(this.scrollOutline, 50);\r\n      this.setSelectedBoxPosition();\r\n    },\r\n    bindWindowScroll() {\r\n      //throttle(this.scrollOutline, 50);\r\n      setTimeout(() => {\r\n          this.setSelectedBoxPosition();\r\n      }, 300)\r\n    },\r\n    disibledDocumentClick() {\r\n      this.isDisibledDocumentClick = true;\r\n      this.setTimeValueDocumentClick = setTimeout(() => {\r\n        this.isDisibledDocumentClick = false;\r\n      }, 500)\r\n    },\r\n    handleDocumentClick() {\r\n      if(this.isDisibledDocumentClick) {\r\n        return;\r\n      }\r\n      if(this.isEditing) {\r\n        return;\r\n      }\r\n      this.selectedData = {};\r\n      this.selectedNode = {};\r\n      this.copyData = {};\r\n    },\r\n    bindDocumentEvents(type) {\r\n      this.selectedData = {};\r\n      this.selectedNode = {};\r\n      this.editingData = {};\r\n      this.isEditing = false;\r\n      this.isLocalStorageSave = false;\r\n\r\n      if(type === 'bind') {\r\n        if(this.timeValueBindEvents) {\r\n          this.clearTimeout(this.timeValueBindEvents);\r\n          this.timeValueBindEvents = null;\r\n        }\r\n        this.timeValueBindEvents = setTimeout(() => {\r\n          document.addEventListener(\"keyup\", this.handleKeyUp);\r\n          document.addEventListener(\"keydown\", this.handleKeyDown);\r\n          document.addEventListener(\"click\", this.handleDocumentClick);\r\n          this.clearTimeout(this.timeValueBindEvents);\r\n          this.timeValueBindEvents = null;\r\n        }, 100)\r\n      }\r\n      else {\r\n        document.removeEventListener(\"keyup\", this.handleKeyUp);\r\n        document.removeEventListener(\"keydown\", this.handleKeyDown);\r\n        document.removeEventListener(\"click\", this.handleDocumentClick);\r\n      }\r\n\r\n    },\r\n\r\n    async compareLocalAndServe() {\r\n      if(!this.course_id) {\r\n        return\r\n      }\r\n      // [Migrated from PC-MyMindOutline.vue] 使用 silent 模式获取数据\r\n      const res = await getMindmap({ course_id: this.course_id }, { silent: true });\r\n      if (res && res.code === 0) {\r\n        const dataServer = res.data[0];\r\n        if(dataServer) {\r\n          const mindmap_content = dataServer.mindmap_content;\r\n          let mindMap = {};\r\n          if (typeof this.mindMap === \"string\") {\r\n            mindMap = JSON.parse(this.mindMap);\r\n          } else {\r\n            mindMap = this.mindMap;\r\n            // mindMap = deepClone(this.mindMap);\r\n          }\r\n          const mindmap_content_draft = mindMap.mindmap_content;\r\n          // const cacheString = getMindMapLo(this.course_id, this.user.user_id)\r\n          // ? getMindMapLo(this.course_id, this.user.user_id)\r\n          // : \"\";\r\n          // let mindmap = \"\";\r\n          // if(cacheString) {\r\n          //   const cacheJSON = JSON.parse(cacheString);\r\n          //   console.log(\"cacheJSON:\", cacheJSON);\r\n          //   const data = cacheJSON.data;\r\n          //   console.log(\"data:\", data);\r\n          //   mindmap = data.mindmap_content;\r\n          //   console.log(\"本地：\", mindmap);\r\n          // }\r\n\r\n          if(mindmap_content &&  mindmap_content_draft) {\r\n            const compare = await this.areNamesEqual(JSON.parse(mindmap_content), JSON.parse(mindmap_content_draft));\r\n            console.log(\"compare:\", compare);\r\n            return compare;\r\n          } else if(!mindmap_content && (typeof mindmap_content_draft === 'string' && mindmap_content_draft && mindmap_content_draft !== '[]')) {\r\n            return false;\r\n          } else {\r\n            return true;\r\n          }\r\n\r\n        } else {\r\n          return true;\r\n        }\r\n\r\n      }\r\n    },\r\n    areNamesEqual(arr1, arr2) {\r\n      if (arr1.length !== arr2.length) {\r\n        return false;\r\n      }\r\n\r\n      for (let i = 0; i < arr1.length; i++) {\r\n        if (!this.compareNames(arr1[i], arr2[i])) {\r\n          return false;\r\n        }\r\n      }\r\n\r\n      return true;\r\n    },\r\n    compareNames(serveMindMap, localMindMap) {\r\n        if (serveMindMap.name !== localMindMap.name) {\r\n        return false;\r\n      }\r\n\r\n      if (serveMindMap.node && localMindMap.node) {\r\n        if (serveMindMap.node.length !== localMindMap.node.length) {\r\n          return false;\r\n        }\r\n\r\n        for (let i = 0; i < serveMindMap.node.length; i++) {\r\n          if (!this.compareNames(serveMindMap.node[i], localMindMap.node[i])) {\r\n            return false;\r\n          }\r\n        }\r\n      }\r\n\r\n      return true;\r\n    },\r\n    // [Migrated from PC-MyMindOutline.vue] 更新大纲数据（用于 Undo/Redo）\r\n    updateOutlineData(newData) {\r\n      if (!newData) {\r\n        console.log('[History] newData 为空，跳过更新');\r\n        return;\r\n      }\r\n\r\n      console.log('[History] 更新大纲数据:', newData);\r\n      console.log('[History] newData 类型:', typeof newData, Array.isArray(newData));\r\n\r\n      // 清空旧的撤销记录\r\n      this.removeNodes = [];\r\n\r\n      // ============================================================\r\n      // [撤销/重做后清理编辑状态] 防止\"假性锁定\"问题\r\n      // 问题：撤销/重做后，遗留的编辑状态会阻止新的编辑操作\r\n      // 解决：强制清理所有编辑相关状态\r\n      // ============================================================\r\n      this.clearEditingStates();\r\n\r\n      // 强制关闭所有编辑状态\r\n      this.isLocalStorageSave = false;\r\n\r\n      // 先清空数据，强制 Vue 重新渲染\r\n      this.datas = [];\r\n\r\n      // 使用 $nextTick 确保清空后再设置新数据\r\n      this.$nextTick(() => {\r\n        // 转换数据格式\r\n        let parsedData = this.toParse1(newData);\r\n        console.log('[History] toParse1 后的数据:', parsedData);\r\n\r\n        // 如果是编辑模式，添加按钮节点\r\n        if (this.editOutline) {\r\n          parsedData = this.addButtonData(parsedData);\r\n        }\r\n\r\n        this.datas = parsedData;\r\n        console.log('[History] 最终 datas:', this.datas);\r\n\r\n        // 更新 Vuex 中的 mindmap_content\r\n        this.$store.dispatch('setMindMap', {\r\n          data: {\r\n            mindmap_content: JSON.stringify(newData)\r\n          },\r\n          isEdited: true,\r\n          timeStamp: Date.now(),\r\n          mindMapTimeStamp: Date.now()\r\n        });\r\n      });\r\n    },\r\n    setStatusNowCallBack() {\r\n      console.log(\"[nowstatus] 收到状态响应，status:\", this.status, \"isMyselfEditing:\", this.isMyselfEditing);\r\n\r\n      // 清除超时定时器\r\n      this.clearGetStatusTimeout();\r\n\r\n      console.log(\"this.resolveDrag:\", this.resolveDrag == null);\r\n      if(this.resolveDrag) {\r\n        if((this.status == 1 && !this.isMyselfEditing) || this.readOnly) {\r\n          this.resolveDrag(false);\r\n          this.resolveDrag = null;\r\n          this.isGettingStatus = false;\r\n          return;\r\n        }\r\n        this.isMyselfEditing = true;\r\n        this.resolveDrag(true);\r\n        this.resolveDrag = null;\r\n        this.isGettingStatus = false;\r\n        return;\r\n      }\r\n      if(this.status == 1 && !this.isMyselfEditing) {\r\n        console.log(\"[nowstatus] 其他端正在编辑\");\r\n        this.isMyselfEditing = false;\r\n        // 清除可能残留的回调\r\n        if (this.callbackFn) {\r\n          console.log(\"[MyMindOutline] 其他端正在编辑，清除待处理回调\");\r\n          this.callbackFn = null;\r\n        }\r\n        this.$message.warning(\"其他端正在编辑中,当前用户不能编辑\");\r\n      } else {\r\n        // 如果其他端没有在编辑，则继续运行回调方法，并且设置当前导图编辑状态为1\r\n        if(this.callbackFn) {\r\n          console.log(\"[MyMindOutline] 执行待处理回调\");\r\n          try {\r\n            this.callbackFn();\r\n          } catch (error) {\r\n            console.error(\"[MyMindOutline] 回调执行失败:\", error);\r\n          }\r\n          this.callbackFn = null;\r\n          this.isMyselfEditing = true;\r\n          this.setStatus(1);\r\n        }\r\n      }\r\n      this.isGettingStatus = false;\r\n    },\r\n    updatesuccessCallback() {\r\n      console.log(\"[updatesuccess] 收到更新成功消息, _wasAutoSave:\", this._wasAutoSave, \"_isCtrlSave:\", this._isCtrlSave);\r\n\r\n      // ============================================================\r\n      // 【关键修复】Ctrl+S 和自动保存后都不应该重置编辑状态\r\n      // - Ctrl+S：显示 loading 和保存成功提示，但保持编辑状态\r\n      // - 自动保存：完全静默，保持编辑状态\r\n      // ============================================================\r\n\r\n      // 只有普通手动保存才重置编辑状态\r\n      if(!this._wasAutoSave && !this._isCtrlSave) {\r\n        this.isMyselfEditing = false;\r\n        console.log(\"[updatesuccess] 普通手动保存，重置 isMyselfEditing = false\");\r\n      } else {\r\n        console.log(\"[updatesuccess] Ctrl+S 或自动保存，保持编辑状态不变\");\r\n      }\r\n\r\n      // ============================================================\r\n      // [状态清理] 重置可能卡住的状态（但不影响编辑状态）\r\n      // ============================================================\r\n      this.isGettingStatus = false;\r\n      this.clearGetStatusTimeout();\r\n\r\n      // 清除可能残留的回调\r\n      if (this.callbackFn) {\r\n        console.log(\"[updatesuccess] 清除残留的 callbackFn\");\r\n        this.callbackFn = null;\r\n      }\r\n\r\n      // 重置 operating 状态\r\n      if (this.operating && this.operating.isOperating) {\r\n        console.log(\"[updatesuccess] 重置 operating.isOperating\");\r\n        this.operating.isOperating = false;\r\n      }\r\n\r\n      // 【修复】自动保存完成后恢复编辑状态（第一次 updatesuccess 执行）\r\n      if(this._wasAutoSave && this._savedEditingState) {\r\n        console.log('[AutoSave] 恢复编辑状态');\r\n        this.restoreEditingState();\r\n        // 【关键】恢复后重新设置编辑权\r\n        if(this.isEditing) {\r\n          this.setStatus(1);\r\n          console.log('[AutoSave] 恢复编辑权，status=1');\r\n        }\r\n        // 【注意】不在这里重置 _wasAutoSave，让后续的 updatesuccess 也保持编辑状态\r\n        // 等恢复完成后再清除 _savedEditingState，但保留 _wasAutoSave 直到所有 updatesuccess 完成\r\n        console.log('[AutoSave] 恢复完成，isMyselfEditing:', this.isMyselfEditing, 'isEditing:', this.isEditing);\r\n      }\r\n\r\n      // 【关键】在恢复完成后清除标记\r\n      // 这样后续的 updatesuccess 仍然知道这是 Ctrl+S 或自动保存场景\r\n      if(this._wasAutoSave || this._isCtrlSave) {\r\n        this._savedEditingState = null;\r\n        this.isLocalStorageSave = false;\r\n        // 【关键修复】延迟重置标记，确保 dataPro watcher 和 init 不会被触发\r\n        // 2秒的保护时间应该足够覆盖所有可能的 Vuex 更新\r\n        setTimeout(() => {\r\n          this._wasAutoSave = false;\r\n          this._isCtrlSave = false;\r\n          console.log('[SaveComplete] _wasAutoSave 和 _isCtrlSave 重置为 false');\r\n        }, 2000);\r\n      }\r\n\r\n      // 【修复】重新设置自动保存定时器\r\n      this.resetAutoSaveTimer();\r\n\r\n      // 诊断日志\r\n      console.log('[状态诊断] updatesuccess 后状态:', {\r\n        isMyselfEditing: this.isMyselfEditing,\r\n        isEditing: this.isEditing,\r\n        isLocalStorageSave: this.isLocalStorageSave,\r\n        _wasAutoSave: this._wasAutoSave\r\n      });\r\n    }\r\n  },\r\n  created() {\r\n    this.bindDocumentEvents('bind');\r\n    // window.addEventListener('scroll', this.bindWindowScroll);\r\n  },\r\n  destroyed() {\r\n    this.bindDocumentEvents('remove');\r\n    // window.removeEventListener('scroll', this.bindWindowScroll);\r\n    const $overflowAutoBox = this.$refs.box;\r\n    if($overflowAutoBox) {\r\n      $overflowAutoBox.removeEventListener(\"scroll\", this.bindBoxScroll);\r\n    }\r\n\r\n    // [状态死锁修复] 清理超时定时器，防止内存泄漏\r\n    this.clearGetStatusTimeout();\r\n  },\r\n  mounted() {\r\n    // 页面刷新时清空所有栈（只执行一次）\r\n    if (this.course_id && !this.isHistoryInitialized) {\r\n      clearAllStacks(this.course_id).then(() => {\r\n        console.log(`[History] 页面刷新，已清空所有栈: courseId=${this.course_id}`);\r\n        // 重置 Vuex 状态\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n        // 标记已初始化\r\n        this.isHistoryInitialized = true;\r\n      }).catch(err => {\r\n        console.error('[History] 清空栈失败:', err);\r\n      });\r\n    }\r\n\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE\", async whiteCom => {\r\n      console.log(`MyMindOutline MIND_OUTLINE_SAVE${this.editOutline},${this.isEnterMindSave},${this.readOnly}`)\r\n      // 阻止同时进入多次\r\n      if(this.isEnterMindSave || this.readOnly) {\r\n        return;\r\n      }\r\n      this.isEnterMindSave = true;\r\n      if(this.isEnterMindSaveTimeValue) {\r\n        clearTimeout(this.isEnterMindSaveTimeValue);\r\n        this.isEnterMindSaveTimeValue = null;\r\n      }\r\n      this.isEnterMindSaveTimeValue = setTimeout(() => {\r\n        this.isEnterMindSave = false;\r\n        clearTimeout(this.isEnterMindSaveTimeValue);\r\n        this.isEnterMindSaveTimeValue = null;\r\n      }, 500);\r\n\r\n      // 当编辑时，触发blur后，再比较数据是否被修改\r\n      if(this.isEditing) {\r\n        this.triggerBlur(this.isEditing);\r\n      }\r\n\r\n      if(this.editOutline) {\r\n        // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n        const same = await this.compareLocalAndServe();\r\n        if (!same) {\r\n          this.whiteCom = whiteCom;\r\n          this.dialogVisibleCon = true;\r\n          // 消除自动保存事件\r\n          if (this.timer) {\r\n            clearTimeout(this.timer);\r\n            this.timer = null;\r\n          }\r\n        } else {\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n        }\r\n      } else {\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n      }\r\n    });\r\n\r\n    EventBus.$on(\"goBlack\", async () => {\r\n      if(this.readOnly) {\r\n        return\r\n      }\r\n      if(this.whiteComStore == \"Mind\") {\r\n        this.isGoblack = true;\r\n        // 阻止同时进入多次\r\n        if(this.isEnterMindSave) {\r\n          return;\r\n        }\r\n        this.isEnterMindSave = true;\r\n        if(this.isEnterMindSaveTimeValue) {\r\n          clearTimeout(this.isEnterMindSaveTimeValue);\r\n          this.isEnterMindSaveTimeValue = null;\r\n        }\r\n        this.isEnterMindSaveTimeValue = setTimeout(() => {\r\n          this.isEnterMindSave = false;\r\n          clearTimeout(this.isEnterMindSaveTimeValue);\r\n          this.isEnterMindSaveTimeValue = null;\r\n        }, 500);\r\n\r\n        // 当编辑时，触发blur后，再比较数据是否被修改\r\n        if(this.isEditing) {\r\n          this.triggerBlur(this.isEditing);\r\n        }\r\n\r\n        // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n        const same = await this.compareLocalAndServe();\r\n        if (!same) {\r\n          this.dialogVisibleCon = true;\r\n          // 消除自动保存事件\r\n          if (this.timer) {\r\n            clearTimeout(this.timer);\r\n            this.timer = null;\r\n          }\r\n        } else {\r\n          EventBus.$emit(\"goBlackConfirmed\");\r\n        }\r\n      }\r\n    });\r\n\r\n    // 去二级页面\r\n    EventBus.$on(\"toPage\", async () => {\r\n      if(this.readOnly) {\r\n        return\r\n      }\r\n      if(this.whiteComStore == \"Mind\") {\r\n        this.isToPage = true;\r\n        if(this.isEditing) {\r\n          this.triggerBlur(this.isEditing);\r\n        }\r\n        // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n        const same = await this.compareLocalAndServe();\r\n        if (!same) {\r\n          this.dialogVisibleCon = true;\r\n          this.whiteCom = 'toPage'\r\n          // 消除自动保存事件\r\n          if (this.timer) {\r\n            clearTimeout(this.timer);\r\n            this.timer = null;\r\n          }\r\n        } else {\r\n          EventBus.$emit(\"toPageConfirmed\");\r\n        }\r\n      }\r\n    });\r\n\r\n    this.getCanCopy();\r\n    try {\r\n      const $overflowAutoBox = this.$refs.box;\r\n      $overflowAutoBox.addEventListener(\"scroll\", this.bindBoxScroll);\r\n    } catch (error) {\r\n\r\n    }\r\n\r\n    if (this.courseBase) {\r\n      this.course_name = this.courseBase.course_name;\r\n    } else {\r\n      this.course_name = \"\";\r\n    }\r\n    this.init();\r\n    this.$nextTick(() => {\r\n      this.$refs && this.$refs.tree && this.$refs.tree.filter(1);\r\n    });\r\n\r\n    // 获取当前导图编辑状态\r\n    // EventBus.$on('nowstatus', () => {\r\n    //   console.log(\"this.resolveDrag:\", this.resolveDrag == null);\r\n    //   if(this.resolveDrag) {\r\n    //     if(this.status == 1 && !this.isMyselfEditing) {\r\n    //       this.resolveDrag(false);\r\n    //       this.resolveDrag = null;\r\n    //       return;\r\n    //     }\r\n    //     this.isMyselfEditing = true;\r\n    //     this.resolveDrag(true);\r\n    //     this.resolveDrag = null;\r\n    //     return;\r\n    //   }\r\n    //   if(this.status == 1 && !this.isMyselfEditing) {\r\n    //     this.isMyselfEditing = false;\r\n    //     this.$message.warning(\"其他端正在编辑中,当前用户不能编辑\");\r\n    //   } else {\r\n    //     // 如果其他端没有在编辑，则继续运行回调方法，并且设置当前导图编辑状态为1\r\n    //     if(this.callbackFn) {\r\n    //       this.callbackFn();\r\n    //       this.callbackFn = null;\r\n    //     }\r\n    //     this.isMyselfEditing = true;\r\n    //     this.setStatus(1);\r\n    //   }\r\n    // });\r\n\r\n    // EventBus.$on('updatesuccess', () => {\r\n    //   // 更新成功之后，已经设置了状态为2，调用回调函数\r\n    //   let timeout = setTimeout(() => {\r\n    //     this.isMyselfEditing = false;\r\n    //     clearTimeout(timeout);\r\n    //     timeout = null;\r\n    //   }, 500);\r\n    // });\r\n\r\n     // 高度自适应，需元素name=\"fullHeight\"\r\n    //  setFullHeight();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n// .isVertivall(@i) when(@i <= 10) {\r\n//   // &::before {\r\n//   //   left: (@i-4) * 20 + 66px;\r\n//   // }\r\n//   // position: relative;\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     top: 18px;\r\n//     left: 66px;\r\n//     left: (@i-4) * 20 + 66px;\r\n//     width: 1px;\r\n//     height: calc(100% - 15px);\r\n//     background: #71afbb;\r\n//     min-height: 16px;\r\n//   }\r\n//   .isVertivall((@i + 1));\r\n// }\r\n// .isVertivall(1);\r\n// .isVertival {\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     width: 1px;\r\n//     // height: calc(@n * 100% - 0px);\r\n//     background: #71afbb;\r\n//     left: -12px;\r\n//     top: 22px;\r\n//   }\r\n// }\r\n.font(@i) when(@i <= 10) {\r\n  /deep/ .el-tree .el-tree-node.isVertivall@{i} {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 18px;\r\n      left: 66px;\r\n      left: (@i - 4) * 18 + 66px;\r\n      width: 1px;\r\n      height: calc(100% - 18px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  .font((@i + 1));\r\n}\r\n\r\n.font(1);\r\n\r\n.font2(@i) when(@i <= 10) {\r\n  .font3(@n) when(@n <= 100) {\r\n    .sisVertival@{i}@{n} {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        width: 1px;\r\n        height: calc(@n / 2 * 100% + 15px);\r\n        background: #71afbb;\r\n        left: -12px;\r\n        top: 22px;\r\n      }\r\n    }\r\n    .font3((@n + 1));\r\n  }\r\n  .font3(1);\r\n  .font2((@i + 1));\r\n}\r\n\r\n.font2(1);\r\n.collect {\r\n  width: 100%;\r\n  background: #f2f4f5;\r\n  text-align: center;\r\n  z-index: 99;\r\n  padding-top: 17px;\r\n  // padding-bottom: 5px;\r\n  position: static;\r\n  bottom: 0;\r\n  position: absolute;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  img {\r\n    cursor: pointer;\r\n    width: 37px;\r\n    height: 32px;\r\n  }\r\n  span {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #71afbb;\r\n    line-height: 14px;\r\n    font-style: normal;\r\n    padding-top: 14px;\r\n    padding-bottom: 3px;\r\n  }\r\n}\r\n.content {\r\n  overflow: hidden;\r\n}\r\n.myMindOutline {\r\n position: relative;\r\n height: 100%;\r\n padding: 20px 30px 30px 35px;\r\n}\r\n\r\n.outline {\r\n  position: relative;\r\n\r\n  // padding-top: 73px;\r\n  // padding-left: 73px;\r\n  height: 100%;\r\n\r\n  .tree-box{\r\n    overflow-x: hidden;\r\n    overflow-y: auto;\r\n    height: 100%;\r\n    > div{\r\n      margin-bottom: 60px;\r\n    }\r\n  }\r\n\r\n  // padding: 0 39px;\r\n  /deep/ .el-textarea {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree {\r\n    background: #f2f4f5;\r\n  }\r\n  /deep/ .el-tree-node__content {\r\n    height: auto;\r\n    // position: relative;\r\n    align-items: flex-start;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #7E878C;\r\n    line-height: 19px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  /deep/ .el-tree-node .el-tree-node__children {\r\n    overflow: visible;\r\n  }\r\n  /deep/ .el-tree-node__content:hover {\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-tree-node:focus > .el-tree-node__content {\r\n    background-color: transparent;\r\n  }\r\n  .add-input {\r\n\r\n    /deep/ .el-textarea{\r\n      width: 100%;\r\n    }\r\n\r\n    /deep/ .el-input__inner {\r\n      border: none;\r\n      box-shadow: 5px 5px 14px #e9e7e7;\r\n      border-radius: 8px;\r\n    }\r\n    /deep/ .el-button {\r\n      height: 36px;\r\n      border-radius: 12px;\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 600;\r\n      color: #71afbb;\r\n      margin-top: 7px;\r\n      // margin-left: 10px;\r\n      border-width: 2px;\r\n      padding: 9px 13px;\r\n    }\r\n  }\r\n  .addthemebtn {\r\n    padding-top: 0;\r\n    .btn {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      width: 121px;\r\n      height: 36px;\r\n      border-radius: 12px;\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #71afbb;\r\n      margin-top: 7px;\r\n      // margin-left: 10px;\r\n      padding: 0 13px;\r\n      border: 2px solid #71afbb;\r\n    }\r\n    .el-button {\r\n      margin-top: 0;\r\n    }\r\n    /deep/ .el-icon-plus {\r\n      font-weight: 600;\r\n      font-size: 16px;\r\n      // margin-right: 8px;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  /deep/ .el-tree-node.is-expanded {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree-node.is-expanded > .el-tree-node__content.isVertival {\r\n    &::before {\r\n      content: \"\";\r\n      height: calc(100% - 27px);\r\n      width: 1px;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 14px;\r\n      padding-left: inherit;\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n  //四级及以上\r\n  /deep/ .el-tree .custom-tree-node .el-textarea .el-textarea__inner {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    // 光标颜色\r\n    caret-color: #71afbb; /* 光标颜色 */\r\n  }\r\n\r\n  ::selection {\r\n    background: rgba(113, 175, 187, 0.4);\r\n  }\r\n\r\n  /deep/ .is-leaf.el-tree-node__expand-icon {\r\n    &.el-icon-caret-right:before {\r\n      content: \"\";\r\n      display: block;\r\n      // position: absolute;\r\n      width: 5px;\r\n      height: 5px;\r\n      // left: 10px;\r\n      // top: 9px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      // border: 1px solid #71afbb;\r\n      background: #71afbb;\r\n      // z-index: 10;\r\n      margin: 4px 4px 5px 5px;\r\n    }\r\n  }\r\n\r\n  // ---------------------------------------------------\r\n  .custom-tree-node {\r\n    width: calc(100% - 10px);\r\n    position: relative;\r\n\r\n    .content {\r\n      position: relative;\r\n      width: 100%;\r\n      .node-label {\r\n        position: absolute;\r\n        white-space: pre-wrap;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n      }\r\n      .node-content {\r\n        white-space: normal;\r\n        word-wrap: break-word;\r\n        word-break: break-all;\r\n        line-height: 26px;\r\n        min-height: 26px;\r\n        pre {\r\n          white-space: break-spaces;\r\n        }\r\n      }\r\n    }\r\n    .selectedData {\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      padding: 8px 10px;\r\n      > div{\r\n        padding-top: 0 !important;\r\n      }\r\n    }\r\n  }\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content .node-content {\r\n    padding-top: 5px;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon {\r\n    font-size: 14px;\r\n    padding: 6px 8px 9px 7px;\r\n    color: #71afbb;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 8px 9px 10px;\r\n  }\r\n\r\n  // -------------------------------------------------------\r\n\r\n  //一级节点选择器\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 27px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    /deep/ &.custom-tree-node {\r\n      padding-top: 5px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  //一级图标未展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 9px 6px 0px 6px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n    margin-bottom: 12px;\r\n  }\r\n  //一级图标展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 8px 6px 8px 4px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n  }\r\n  // 一级叶子节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    // margin-right: 9px;\r\n    &::before {\r\n      width: 10px;\r\n      height: 10px;\r\n      // left: 11px;\r\n      // top: 12px;\r\n    }\r\n  }\r\n\r\n  // 最后一个节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node.theme\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    padding: 20px 0px 0px 6px;\r\n  }\r\n  // /deep/ .el-tree > .el-tree-node {\r\n  //   .theme {\r\n  //     padding-top: 0;\r\n  //     padding-bottom: 15px;\r\n  //   }\r\n  // }\r\n  // ----------------------------------------------------------\r\n  //二级节点选择器\r\n  // 二级节点竖线\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 33px;\r\n      width: 1px;\r\n      height: calc(100% - 20px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node:first-child {\r\n    margin-top: -4px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node:last-child {\r\n    margin-bottom: 4px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  // 二级图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  //二级图标展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      margin-top: 6px;\r\n      margin-left: 10px;\r\n      width: 7px;\r\n      height: 7px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    &::before {\r\n      margin-left: 0;\r\n    }\r\n  }\r\n\r\n  // --------------------------------------------------------------\r\n  // 三级节点\r\n\r\n  // 三级节点竖线\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 49px;\r\n      width: 1px;\r\n      height: calc(100% - 21px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 25px;\r\n  }\r\n\r\n  // 三级节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 6px 7px 8px 7px;\r\n    color: #71afbb;\r\n    font-size: 16px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 7px 9px 8px 5px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 13px 8px 0px;\r\n  }\r\n\r\n  // 三级叶子节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      width: 6px;\r\n      height: 6px;\r\n      margin-left: 12px;\r\n      margin-top: 6px;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  .content {\r\n    /deep/ .el-textarea__inner {\r\n      background-color: #f2f4f5;\r\n      border: none;\r\n      min-height: 24px !important;\r\n      padding: 0;\r\n    }\r\n  }\r\n  .add-input {\r\n    /deep/ .el-textarea__inner {\r\n      border: none;\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      // margin-bottom: 10px;\r\n      padding: 10px;\r\n      // height: auto !important;\r\n    }\r\n  }\r\n\r\n  .name {\r\n    font-size: 26px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 38px;\r\n    padding-bottom: 15px;\r\n  }\r\n}\r\n.outlineEdit{\r\n  .tree-box{\r\n    height: calc(100% - 20px);\r\n  }\r\n}\r\n.editOutline {\r\n  -webkit-animation: editOutlineAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineAni {\r\n  0% {\r\n    padding-top: 73px;\r\n    padding-left: 73px;\r\n  }\r\n  100% {\r\n    padding-top: 56px;\r\n    padding-left: 31px;\r\n  }\r\n}\r\n.editOutlineNo {\r\n  -webkit-animation: editOutlineNoAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineNoAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineNoAni {\r\n  0% {\r\n    padding-top: 56px;\r\n    padding-left: 31px;\r\n  }\r\n  100% {\r\n    padding-top: 73px;\r\n    padding-left: 73px;\r\n  }\r\n}\r\n\r\n.outlineNone {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  .none_wrapper {\r\n    img {\r\n      width: 136px;\r\n      height: 136px;\r\n    }\r\n  }\r\n  .none {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n}\r\n.operates-wrapper {\r\n  pointer-events: none;\r\n  position: absolute;\r\n  width: 100%;\r\n  bottom:100%;\r\n  left: 0;\r\n  top: auto;\r\n  // z-index: 1;\r\n  // align-items: center;\r\n  justify-content: center;\r\n  // height: 46px;\r\n  padding: 2px 0px 8px 0px;\r\n  display: flex;\r\n  .operate {\r\n    padding: 0 12px;\r\n    display: flex;\r\n    align-items: center;\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #ffffff;\r\n    line-height: 18px;\r\n    cursor: pointer;\r\n    height: 22px;\r\n    margin-top: 7px;\r\n    img {\r\n      margin-right: 7px;\r\n    }\r\n    &:not(:last-child) {\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n}\r\n\r\n.operates-wrapper-operates {\r\n  pointer-events:all;\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  align-items: center;\r\n  padding-bottom: 7px;\r\n  background-color: #4e545c;\r\n  border-radius: 7px;\r\n  position: relative;\r\n  // height: 36px;\r\n  &::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    border-top: 7px solid #4e545c;\r\n    border-left: 6px solid transparent;\r\n    border-right: 6px solid transparent;\r\n    bottom: -6px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n  }\r\n}\r\n\r\n.operates-wrapper{\r\n  display: block;\r\n  text-align: center;\r\n  transform: translateY(-10px);\r\n  .operates-wrapper-operates{\r\n    transform: translateY(-100%);\r\n    display: inline-block;\r\n    margin: 0 auto;\r\n    text-align: left;\r\n    max-width: 100%;\r\n    > div{\r\n      display: inline-block;\r\n      white-space: nowrap;\r\n    }\r\n  }\r\n}\r\n.operates-wrapper-bottom{\r\n  transform: translateY(0);\r\n  .operates-wrapper-operates{\r\n    transform: translateY(0);\r\n    &::before {\r\n      bottom: 100%;\r\n      transform: rotate(180deg);\r\n    }\r\n  }\r\n}\r\n.operates-wrapper1 {\r\n  width: 100%;\r\n}\r\n.operates-wrapper2 {\r\n  width: 100%;\r\n}\r\n.operates-wrapper3 {\r\n  width: 100%;\r\n}\r\n.operates-wrapperMac {\r\n  width: 100%;\r\n}\r\n.operates-wrapperMacEdit {\r\n  width: 100%;\r\n}\r\n.operates-wrapperEdit {\r\n  width: 100%;\r\n}\r\n.operates-wrapperMac1 {\r\n  width: 100%;\r\n}\r\n.operates-wrapperMac1Edit {\r\n  width: 100%;\r\n}\r\n.operates-wrapper1Edit {\r\n  width: 100%;\r\n}\r\n.operates-wrapperMac2 {\r\n  width: 100%;\r\n}\r\n.operates-wrapperMac2Edit {\r\n  width: 100%;\r\n}\r\n.operates-wrapper2Edit {\r\n  width: 100%;\r\n}\r\n.operates-wrapperMac3 {\r\n  width: 100%;\r\n}\r\n\r\n/* 在CSS中使用媒体查询 */\r\n/* 大屏幕样式 */\r\n@media (min-width: 1208px) {\r\n  /* 添加针对大屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n\r\n/* 小屏幕样式 */\r\n@media (max-width: 1208px) {\r\n  /* 添加针对小屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n\r\n/* 树形结构节点添加连线 */\r\n.tree /deep/ .el-tree-node {\r\n  position: relative;\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node__children {\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node :last-child:before {\r\n  height: 38px;\r\n}\r\n\r\n.tree /deep/ .el-tree > .el-tree-node:before {\r\n  border-left: none;\r\n}\r\n\r\n.tree-container /deep/ .el-tree > .el-tree-node:after {\r\n  border-top: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n.tree /deep/ .el-tree-node__expand-icon.is-leaf {\r\n  display: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  border-left: 1px dashed #b8b9bb;\r\n  bottom: 0px;\r\n  height: 100%;\r\n  top: -26px;\r\n  width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  border-top: 1px dashed #b8b9bb;\r\n  height: 20px;\r\n  top: 12px;\r\n  width: 24px;\r\n}\r\n\r\n//-----\r\n/deep/ .el-tree > .el-tree-node > .el-tree-node__content{\r\n  &  > .el-tree-node__expand-icon{\r\n    top: 8px;\r\n    font-size: 20px;\r\n  }\r\n  .el-tree-node__content{\r\n\r\n  }\r\n\r\n}\r\n/deep/ .el-tree > .el-tree-node::after{\r\n  top: 31px;\r\n}\r\n.course_name {\r\n  font-size: 20px;\r\n  color: #71afbb;\r\n  display: none;\r\n  padding-bottom: 10px;\r\n  font-weight: 700;\r\n  padding-left: 10px;\r\n  padding-top: 20px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/pad/Mind/MyMindOutline.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"myMindOutline\"},[_c('div',{class:[\n      'outline',\n      !_vm.datas.length\n        ? 'outlineNone'\n        : _vm.editOutline\n        ? 'outlineEdit'\n        : _vm.isSaveMindMap\n        ? ''\n        : ''\n    ],attrs:{\"id\":_vm.myMindOutlineId}},[(_vm.datas && !_vm.datas.length)?_c('div',{staticClass:\"none_wrapper\",staticStyle:{\"text-align\":\"center\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"0px\",\"height\":\"0px\",\"overflow\":\"hidden\"}},[_vm._v(\"\\n    \"+_vm._s(_vm.selectedData)+\" \"+_vm._s(_vm.selectedDom.target ? true:false)+\"\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"course_name\",attrs:{\"id\":\"course_name\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.course_name)+\"\\n    \")]),_vm._v(\" \"),(_vm.selectedData && _vm.selectedData.isShowOp && _vm.selectedDom.target || (!_vm.editOutline && _vm.copyData.id && _vm.selectedDom.target))?_c('div',{ref:'operateRef',class:\"operates-wrapper\",style:({\n        'z-index': 2,\n        'opacity': 1,\n        'display': 'none'\n      }),on:{\"click\":_vm.disibledDocumentClick}},[_c('div',{staticClass:\"operates-wrapper-operates\"},[(_vm.editOutline)?_c('div',{staticClass:\"operate del\",on:{\"mousedown\":_vm.remove}},[_vm._v(\"\\n          删除(\"+_vm._s(_vm.isMac ? \"cmd+←\" : \"ctrl+d\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedNode.level < 5)?_c('div',{staticClass:\"operate addsubtheme\",on:{\"mousedown\":function($event){return _vm.append1(_vm.selectedData, _vm.selectedNode, $event)}}},[_vm._v(\"\\n          添加子主题(tab)\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.editOutline)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.addEquative(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          添加同级主题(Enter)\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.$index > 0 && _vm.selectedNode.level < 5)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.tabClick(_vm.selectedNode, _vm.selectedData)}}},[_vm._v(\"缩进\")]):_vm._e(),_vm._v(\" \"),(_vm.selectedNode.level > 1)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.reduceTabClick(_vm.selectedNode, _vm.selectedData)}}},[_vm._v(\"\\n          减少缩进\\n        \")]):_vm._e(),_vm._v(\" \"),((_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative) && _vm.isCanCopy || (!_vm.editOutline && _vm.copyData.id))?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.copy(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          复制(\"+_vm._s(_vm.isMac ? \"cmd+c\" : \"ctrl+c\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),((_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative) && _vm.isCanCopy)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.paste(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          粘贴(\"+_vm._s(_vm.isMac ? \"cmd+v\" : \"ctrl+v\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),((_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative) && _vm.isCanCopy)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.cut(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          剪切(\"+_vm._s(_vm.isMac ? \"cmd+x\" : \"ctrl+x\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.insertNewline($event, _vm.selectedData.id)}}},[_vm._v(\"\\n          换行(\"+_vm._s(_vm.isMac ? \"cmd+enter\" : \"ctrl+enter\")+\")\\n        \")]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"box\",staticClass:\"tree-box\",attrs:{\"id\":_vm.treeId}},[_c('Tree',{ref:\"tree\",attrs:{\"data\":_vm.datas,\"node-key\":\"id\",\"default-expand-all\":\"\",\"expand-on-click-node\":false,\"draggable\":!this.isEditing && this.editOutline ? true : false,\"allow-drop\":_vm.allowDrop,\"allow-drag\":_vm.allowDrag,\"filter-node-method\":_vm.filterNode,\"props\":{ label: 'name', node: 'node', children: 'children' },\"empty-text\":'',\"is-last-drag-fixed\":this.editOutline ? true : false},on:{\"node-drag-start\":_vm.handleDragStart,\"node-drag-enter\":_vm.handleDragEnter,\"node-drag-leave\":_vm.handleDragLeave,\"node-drag-over\":_vm.handleDragOver,\"node-drag-end\":_vm.handleDragEnd,\"node-item-click\":_vm.handleTreeItemClick,\"node-drop\":_vm.handleDrop,\"node-expand\":_vm.nodeExpand,\"node-collapse\":_vm.nodeCollapse},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n      var node = ref.node;\n      var data = ref.data;\nreturn _c('div',{ref:'treeNode' + data.id,staticClass:\"custom-tree-node\",class:[\n            !data.isAdd && data.isAddTheme ? 'theme' : ''\n          ],attrs:{\"id\":data.id}},[_c('div',[(data.isAdd && !data.isAddTheme)?_c('div',{staticClass:\"add-input 1\"},[_c('el-input',{ref:'subtitle' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'subtitle' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('saveSubTitle')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveSubTitle.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.isAdd && data.isAddTheme)?_c('div',{staticClass:\"add-input addtheme\"},[_c('el-input',{ref:'title' + data.id,staticClass:\"preserve-indent\",staticStyle:{\"min-height\":\"30px !important\"},attrs:{\"type\":\"textarea\",\"id\":'title' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('saveTitle')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveTitle.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(!data.isAdd && data.isAddTheme)?_c('div',{staticClass:\"add-input 2 addthemebtn\"},[_c('div',{staticClass:\"btn bg-transparent\",on:{\"touchend\":_vm.addTheme}},[_c('i',{staticClass:\"el-icon-plus\",staticStyle:{\"padding-top\":\"1px\"}}),_vm._v(\"添加主题\\n              \")])]):(_vm.selectedData && _vm.selectedData.isEdit && _vm.selectedData.id === data.id)?_c('div',{staticClass:\"add-input 3\"},[_c('el-input',{ref:'edittextarea' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'edittextarea' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('editNode')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.editNode()}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.isAddEquative)?_c('div',{staticClass:\"add-input 4\"},[_c('el-input',{ref:'equativetitle' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'equativetitle' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('saveEquative')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveEquative.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.id && _vm.selectedData && _vm.selectedData.id === data.id && !_vm.operating.isOperating || (!_vm.editOutline && _vm.copyData.id === data.id))?_c('div',{staticClass:\"content selectedData\"},[_c('div',{ref:'textarea' + data.id,staticClass:\"node-content unselectable\",class:'textarea' + data.id},[_c('pre',[_vm._v(_vm._s(node.label))])])]):_c('div',{staticClass:\"content\"},[_c('div',{ref:'textarea' + data.id,staticClass:\"node-content unselectable\",class:'textarea' + data.id},[_c('pre',[_vm._v(_vm._s(node.label))])])])])])}}])})],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\",\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"您还有未保存的内容，请问是否保存？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){return _vm.submitCon(2)}}},[_vm._v(\"不保存\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",on:{\"click\":function($event){return _vm.submitCon(1)}}},[_vm._v(\"保存\")])],1)])],1),_vm._v(\" \"),(\n      _vm.is_collect == 2 &&\n        _vm.dataPro &&\n        _vm.dataPro.mindmap_content &&\n        _vm.courseIsuseradd != 3 &&\n        !_vm.editOutline && _vm.showCollect\n    )?_c('div',{staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(1)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_vm._v(\"收藏导图\")])]):_vm._e(),_vm._v(\" \"),(\n      _vm.is_collect == 1 &&\n        _vm.dataPro &&\n        _vm.dataPro.mindmap_content &&\n        _vm.courseIsuseradd != 3 &&\n        !_vm.editOutline && _vm.showCollect\n    )?_c('div',{ref:\"collect\",staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(2)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_vm._v(\"取消收藏\")])]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9bdc2b34\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/pad/Mind/MyMindOutline.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-9bdc2b34\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMindOutline.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindOutline.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindOutline.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9bdc2b34\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMindOutline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-9bdc2b34\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/pad/Mind/MyMindOutline.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE5cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDE5LjAgMjQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNNC4yMjIyMjIyMiwwIEM2LjU1NDA5MTE3LC00LjI4MzU3Mzc2ZS0xNiA4LjQ0NDQ0NDQ0LDEuODkwMzUzMjggOC40NDQ0NDQ0NCw0LjIyMjIyMjIyIEw4LjQ0NDQ0NDQ0LDE0LjA3NDA3NDEgQzguNDQ0NDQ0NDQsMTYuNDA1OTQzIDYuNTU0MDkxMTcsMTguMjk2Mjk2MyA0LjIyMjIyMjIyLDE4LjI5NjI5NjMgQzEuODkwMzUzMjgsMTguMjk2Mjk2MyAyLjA2MTkyODQyZS0xNSwxNi40MDU5NDMgMCwxNC4wNzQwNzQxIEwwLDQuMjIyMjIyMjIgQy0yLjg1NTcxNTg0ZS0xNiwxLjg5MDM1MzI4IDEuODkwMzUzMjgsNC4yODM1NzM3NmUtMTYgNC4yMjIyMjIyMiwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iaTIiIHgxPSIxLjY2NjgxMDI2cHgiIHkxPSIyLjA1MDE4MDY1cHgiIHgyPSI2LjU0MTYwNTAzcHgiIHkyPSIxNi45NTMyNTcycHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImkzIiB4MT0iMy4zMzM2MjA1MXB4IiB5MT0iMS41NzcwNjIwNHB4IiB4Mj0iMTMuMDgzMjEwMXB4IiB5Mj0iMTMuMDQwOTY3MXB4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QSIgb2Zmc2V0PSIwJSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDc0NkEiIG9mZnNldD0iMTAwJSI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NjUuMCAtNDE2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTUuMDA0MjIxNzQ2NzE0NiAzODcuNTcwNzUwODU4NzUzMykiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ2LjA0OTA4NTc5MTM3ODE2IDI5LjI0Nzc5NzYwODE4MDM4NSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNS4wMDQ0OTYwMzQ5MjYwMiAwLjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0LjIyMjIyMjIyMjIyNDQ0NSAwLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNNC4yMjIyMjIyMiwwIEM2LjU1NDA5MTE3LC00LjI4MzU3Mzc2ZS0xNiA4LjQ0NDQ0NDQ0LDEuODkwMzUzMjggOC40NDQ0NDQ0NCw0LjIyMjIyMjIyIEw4LjQ0NDQ0NDQ0LDE0LjA3NDA3NDEgQzguNDQ0NDQ0NDQsMTYuNDA1OTQzIDYuNTU0MDkxMTcsMTguMjk2Mjk2MyA0LjIyMjIyMjIyLDE4LjI5NjI5NjMgQzEuODkwMzUzMjgsMTguMjk2Mjk2MyAyLjA2MTkyODQyZS0xNSwxNi40MDU5NDMgMCwxNC4wNzQwNzQxIEwwLDQuMjIyMjIyMjIgQy0yLjg1NTcxNTg0ZS0xNiwxLjg5MDM1MzI4IDEuODkwMzUzMjgsNC4yODM1NzM3NmUtMTYgNC4yMjIyMjIyMiwwIFoiIHN0cm9rZT0idXJsKCNpMikiIHN0cm9rZS13aWR0aD0iMi42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSI1Ij48L3BhdGg+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgOC40NDQ0NDQ0NDQ0NDUyNTMpIj48cGF0aCBkPSJNMCwwIEwwLDUuNjI5NjI5NjMgQy0xLjIwNTIxMzY3ZS0xNSwxMC4yOTMzNjc1IDMuNzgwNzA2NTYsMTQuMDc0MDc0MSA4LjQ0NDQ0NDQ0LDE0LjA3NDA3NDEgQzEzLjEwODE4MjMsMTQuMDc0MDc0MSAxNi44ODg4ODg5LDEwLjI5MzM2NzUgMTYuODg4ODg4OSw1LjYyOTYyOTYzIEwxNi44ODg4ODg5LDAgTDE2Ljg4ODg4ODksMCIgc3Ryb2tlPSJ1cmwoI2kzKSIgc3Ryb2tlLXdpZHRoPSIxLjMiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mediateAudioB.svg\n// module id = T0Mm\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE4cHgiIGhlaWdodD0iMjNweCIgdmlld0JveD0iMCAwIDE4LjAgMjMuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9ImkxIiB4MT0iMi43MDE2OTMyM3B4IiB5MT0iMS44NzM3MzY5NHB4IiB4Mj0iMTAuNjAzMTMyNXB4IiB5Mj0iMTUuNDk0MjE3MnB4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QSIgb2Zmc2V0PSIwJSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDc0NkEiIG9mZnNldD0iMTAwJSI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJpMiIgeDE9IjAuODg2NzMxMzY5cHgiIHkxPSIwLjU0NTY1OTkwN3B4IiB4Mj0iMy40ODAwODgwMXB4IiB5Mj0iNC41MTIxNDUxN3B4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QSIgb2Zmc2V0PSIwJSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDc0NkEiIG9mZnNldD0iMTAwJSI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NjYuMCAtNDk4LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTUuMDA0MjIxNzQ2NzE0NiAzODcuNTcwNzUwODU4NzUzMykiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ2LjQ5NTc1MjQ1ODA0NDI1IDExMS44MDU4OTkxMzAxMzg4OCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNi4wMDAwNTE1OTA0ODMwNSAwLjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjMxMjYwMDE3MzgyMTkxOTMgMC4wKSI+PHBhdGggZD0iTTguNzEwNDMzOTIsMC42ODkwODg4OTkgTDAsMTMuNTY5OTg4MSBMNC43MTg4MDA3OCwxNi43MjE2NzEgTDEzLjQxODY0MTgsMy44NTYzNDk0NyBDMTMuOTA0NjY2NSwzLjEzNjY1OTE0IDEzLjcxMzM3MjIsMi4xNTkwMDE4OCAxMi45OTExODk0LDEuNjc2NzE1ODkgTDEwLjg3ODIyODQsMC4yNjQxMjg4OTIgQzEwLjE2MTY1MzYsLTAuMjE0NDE4NDQ3IDkuMTkzMzQzMDEsLTAuMDI0OTkzNDU4MyA4LjcxMDQzMzkyLDAuNjg5MDg4ODk5IFoiIHN0cm9rZT0idXJsKCNpMSkiIHN0cm9rZS13aWR0aD0iMS4zIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMTUuNTMyNzE3NjA2NzIyMTQ0KSI+PHBhdGggZD0iTTAuMjkyNjMzODQ3LDAgTDAuMDAxMDE5MDYyODQsNC4zODYwNjA4MyBDLTAuMDIyMDM1OTUyMiw0LjczOTM2MzM2IDAuMzUwNTgyOTM5LDQuOTgxNzUyNTcgMC42NjQwMDY1MjIsNC44MTY2Mjg4MSBMNC40OTIzODUyMywyLjgwNDYxMTQyIiBzdHJva2U9InVybCgjaTIpIiBzdHJva2Utd2lkdGg9IjEuMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/editMeditateB.svg\n// module id = T1Ji\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDggNDciIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ4IDQ3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMl8pO30NCgkuc3Qxe2ZpbGw6bm9uZTtzdHJva2U6IzY1QUZENTtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MntmaWxsOm5vbmU7c3Ryb2tlOiM2NUFGRDU7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ4OC4wIC01NTEuMCkiPg0KCTxnPg0KCQk8ZGVmcz4NCgkJCTxyZWN0IGlkPSJTVkdJRF8xXyIgd2lkdGg9IjEwMjQiIGhlaWdodD0iNzY4Ii8+DQoJCTwvZGVmcz4NCgkJPGNsaXBQYXRoIGlkPSJTVkdJRF8yXyI+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8xXyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPg0KCQk8L2NsaXBQYXRoPg0KCQk8ZyBjbGFzcz0ic3QwIj4NCgkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4OS4wIDU1MS41KSI+DQoJCQkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTIzLDQ2YzEyLjcsMCwyMy0xMC4zLDIzLTIzUzM1LjcsMCwyMywwUzAsMTAuMywwLDIzUzEwLjMsNDYsMjMsNDZ6Ii8+DQoJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMjA3NDE4MzEzNDY1MTY5IDEzLjk3NjIzNDY5ODkyMjQ1KSI+DQoJCQkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zLjA1MzU1NzQwNjkyOTAzMDVlLTEyIDAuNzA3MTA2NzgxMTg3MTI4OCkgcm90YXRlKC00NC45OTk5OTk5OTk5OTk5OSkiPg0KCQkJCQkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTAuNSwwdjI0Ii8+DQoJCQkJCTwvZz4NCgkJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcuNjc3NjY5NTI5NjYwNjMzIDAuNzA3MTA2NzgxMTg2MjE5Mykgcm90YXRlKDQ0Ljk5OTk5OTk5OTk5OTk5KSBzY2FsZSgtMS4wIDEuMCkiPg0KCQkJCQkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTAuNSwwdjI0Ii8+DQoJCQkJCTwvZz4NCgkJCQk8L2c+DQoJCQk8L2c+DQoJCTwvZz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/close_problem.svg\n// module id = T7uP\n// module chunks = 171","<template>\r\n  <div\r\n    class=\"read-box\"\r\n    :style=\"{\r\n      background: mode == 'white' ? readBoxBg : readBoxBlackBg,\r\n      color: mode == 'white' ? '#292929' : '#fff',\r\n    }\"\r\n    v-loading=\"loading\"\r\n  >\r\n\r\n    <template v-if=\"courseBase.course_intro_type == 2 && courseBase.course_intro_pdf\">\r\n      <ReadPdf :pdfUrl=\"pdfUrl\" :canDownload=\"2\" :mode=\"mode\" :name=\"courseBase.course_name\"  @changeMode=\"changeMode\" />\r\n    </template>\r\n    <div\r\n      v-else\r\n      class=\"read-detail-wrapper\"\r\n      :style=\"{\r\n        background:\r\n          mode == 'white' ? readDetailWrapperBg : readDetailWrapperBlackBg,\r\n      }\"\r\n    >\r\n      <div\r\n        class=\"title\"\r\n        :style=\"{\r\n          color: mode == 'white' ? '#7E878C' : '#fff',\r\n          borderColor: mode == 'white' ? '#E5E9EB' : '#7E878C',\r\n        }\"\r\n      >\r\n        <div class=\"title-wrapper\">\r\n          <img v-if=\"app_type == 1\" class=\"logo\" src=\"@/assets/img/read-logo.svg\" />\r\n          <img v-else class=\"logo\" src=\"@/assets/img/read-logo-overseas.svg\" />\r\n          {{\r\n            courseBase.course_name\r\n          }}\r\n        </div>\r\n\r\n        <template v-if=\"url\">\r\n          <div class=\"link-btn\"><a :href=\"url\" target=\"_blank\"><img src=\"@/assets/img/essence-read-web.svg\" title=\"点击打开元读书网页版\"/></a></div>\r\n        </template>\r\n      </div>\r\n\r\n      <div class=\"ql-editor content\" :style=\"{color: mode == 'white' ? '#292929' : '#fff', fontSize: fontSize, lineHeight: lineHeight }\">\r\n          <div v-html=\"courseBase.course_intro\"></div>\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"operates\" v-if=\"mode == 'white' && !(courseBase.course_intro_type == 2 && courseBase.course_intro_pdf)\">\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-if=\"showFontSizeHover || showFontSizeDialog\"\r\n        src=\"@/assets/img/read-fontsize-hover.svg\"\r\n        @mouseleave=\"handleMouseLeaveFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-else\r\n        src=\"@/assets/img/read-fontsize.svg\"\r\n        @mouseenter=\"handleMouseEnterFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-if=\"!showModeHover\"\r\n        src=\"@/assets/img/read-mode.svg\"\r\n        @mouseenter=\"handleMouseEnterMode\"\r\n        @click=\"changeMode('black')\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-else\r\n        src=\"@/assets/img/read-mode-hover.svg\"\r\n        @mouseleave=\"handleMouseLeaveMode\"\r\n        @click=\"changeMode('black')\"\r\n      />\r\n    </div>\r\n    <div class=\"operates\" v-else-if=\"!(courseBase.course_intro_type == 2 && courseBase.course_intro_pdf)\">\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-if=\"showFontSizeHover || showFontSizeDialog\"\r\n        src=\"@/assets/img/read-fontsize-hover-black.svg\"\r\n        @mouseleave=\"handleMouseLeaveFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-fontsize\"\r\n        v-else\r\n        src=\"@/assets/img/read-fontsize-black.svg\"\r\n        @mouseenter=\"handleMouseEnterFontSize\"\r\n        @click=\"showChangeFontsize\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-if=\"!showModeHover\"\r\n        src=\"@/assets/img/read-mode-black.svg\"\r\n        @mouseenter=\"handleMouseEnterMode\"\r\n        @click=\"changeMode('white')\"\r\n      />\r\n      <img\r\n        class=\"operate read-mode\"\r\n        v-else\r\n        src=\"@/assets/img/read-mode-hover-black.svg\"\r\n        @mouseleave=\"handleMouseLeaveMode\"\r\n        @click=\"changeMode('white')\"\r\n      />\r\n    </div>\r\n    <div class=\"readFontsize\" v-if=\"showFontSizeDialog\" @click=\"hideFontSize\">\r\n      <div class=\"readFontsize1\">\r\n        <ReadFontsize\r\n          v-if=\"isHorizontalScreen == 1\"\r\n          ref=\"readFontsize\"\r\n          @changeFontSize=\"changeFontSize\"\r\n          :mode=\"mode\"\r\n          :defaultValue=\"defaultFontSize\"\r\n          :readMode=\"mode\"\r\n          :isHorizontalScreen=\"isHorizontalScreen\"\r\n        />\r\n        <ReadFontsize\r\n          v-else\r\n          ref=\"readFontsize\"\r\n          @changeFontSize=\"changeFontSize\"\r\n          :mode=\"mode\"\r\n          :defaultValue=\"defaultFontSize\"\r\n          :readMode=\"mode\"\r\n          :isHorizontalScreen=\"isHorizontalScreen\"\r\n        />\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { getCourseBase } from \"@/api/index\";\r\nimport ReadFontsize from \"@/components/ReadFontsize\";\r\nimport ReadPdf from \"@/components/ReadPdf\";\r\nimport { getIsMobile }  from '@/utils/util';\r\nimport { decrypt } from \"@/utils/auth\";\r\nimport {\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile\r\n} from \"@/utils/indexDb\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\n\r\nexport default {\r\n    components: { ReadFontsize, ReadPdf },\r\n    data() {\r\n        return {\r\n            showFontSizeHover: false,\r\n            showModeHover: false,\r\n            mode: 'white',\r\n            readBoxBg: '#F4F6F6',\r\n            readDetailWrapperBg: '#fff',\r\n            readBoxBlackBg: '#1D2223',\r\n            readDetailWrapperBlackBg: 'rgba(0,0,0,0.4)',\r\n            // fontSize: this.$px2rem('18px'),\r\n            // lineHeight: this.$px2rem('36px'),\r\n            defaultFontSize: 18,\r\n            fontSize: '18px',\r\n            lineHeight: '36px',\r\n            course_id: \"\",\r\n            courseBase: {},\r\n            showFontSizeDialog: false,\r\n            isMobile: false,\r\n            pdfUrl: \"\",\r\n            app_type: 1,\r\n            url: '',\r\n            loading: false,\r\n            isHorizontalScreen: 1,\r\n            showReadFontSize: true,\r\n        }\r\n    },\r\n    computed: {\r\n    },\r\n    watch: {\r\n      isHorizontalScreen: {\r\n        deep: true,\r\n        handler: function(v) {\r\n          console.log(\"isHorizontalScreen:\", val);\r\n        }\r\n      },\r\n      courseBase: {\r\n        deep: true,\r\n        handler: function(v) {\r\n          if (v) {\r\n            const click_url = decrypt(localStorage.getItem(\"click_url\"));\r\n            console.log(\"click_url:\", click_url);\r\n            // sourceType=yrj_global\r\n            if(v.book_id && !v.chapter_id) {\r\n              this.url = `${click_url}/${v.book_id}`;\r\n            } else if(v.book_id && v.chapter_id && !v.start_index) {\r\n              this.url = `${click_url}/${v.book_id}/${v.chapter_id}`;\r\n            } else if(v.book_id && v.chapter_id && v.start_index) {\r\n              this.url = `${click_url}/${v.book_id}/${v.chapter_id}/${v.start_index}`;\r\n            } else {\r\n              this.url = '';\r\n            }\r\n            console.log(\"url:\", this.url)\r\n          }\r\n        },\r\n        immediate: true\r\n      },\r\n    },\r\n    methods: {\r\n      toEssenceReadWeb() {\r\n        window.open(this.url, '_blank');\r\n      },\r\n      hideFontSize(e) {\r\n          e.stopPropagation();\r\n          this.showFontSizeDialog = false;\r\n      },\r\n      changeFontSize(fontSize) {\r\n          this.defaultFontSize = fontSize;\r\n          localStorage.setItem(\"defaultFontSize\", fontSize);\r\n          this.fontSize = fontSize + 'px';\r\n          this.lineHeight = fontSize * 1.8 + 'px'\r\n      },\r\n      showChangeFontsize() {\r\n          this.showFontSizeDialog = !this.showFontSizeDialog;\r\n      },\r\n      handleMouseLeaveFontSize() {\r\n          this.showFontSizeHover = false;\r\n      },\r\n      handleMouseEnterFontSize() {\r\n          this.showFontSizeHover = true;\r\n      },\r\n      handleMouseEnterMode() {\r\n          this.showModeHover = true;\r\n      },\r\n      handleMouseLeaveMode() {\r\n          this.showModeHover = false;\r\n      },\r\n      changeMode(mode) {\r\n          this.mode = mode;\r\n          localStorage.setItem(\"readMode\", mode);\r\n          if(this.isMobile) {\r\n              this.showModeHover = true;\r\n              let timeout = setTimeout(() => {\r\n                  this.showModeHover = false;\r\n                  clearTimeout(timeout);\r\n              }, 300);\r\n          }\r\n      },\r\n      async getCourseBase() {\r\n          try {\r\n              if (this.course_id) {\r\n                this.loading = true;\r\n                let canAccessYouTube = 1;\r\n                const ifCanAccessYouTube = localStorage.getItem(\"canAccessYouTube\");\r\n                if(ifCanAccessYouTube) {\r\n                  canAccessYouTube = 1;\r\n                } else {\r\n                  canAccessYouTube = 2;\r\n                }\r\n                const course = await getCourseBase({ course_id: this.course_id, network_type: canAccessYouTube });\r\n                if (course.code === 0) {\r\n                    this.$store.dispatch(\"setCourseBase\", course.data[0]);\r\n                    this.courseBase = course.data[0];\r\n                    this.getPdf();\r\n                } else {\r\n                    this.courseBase = {};\r\n                }\r\n                this.loading = false;\r\n              }\r\n          } catch (error) {\r\n              this.courseBase = {};\r\n              this.loading = false;\r\n          }\r\n      },\r\n      async getPdf() {\r\n          // 从indexDb拿数据\r\n          const course_intro_pdf_show = this.courseBase.course_intro_pdf_show;\r\n          const course_intro_pdf_shows = course_intro_pdf_show.split(\"?\");\r\n          if(course_intro_pdf_shows.length > 1) {\r\n            const url = course_intro_pdf_shows[0];\r\n            const pdf = await getFile(url);\r\n            if (pdf) {\r\n                this.pdfUrl = pdf.fileData;\r\n            } else {\r\n              // 存入indexDb\r\n              this.pdfUrl = await getBase64ByUrl(course_intro_pdf_show);\r\n              // 保存到indexDb\r\n              await saveFile(url, this.pdfName, this.pdfUrl);\r\n            }\r\n          } else {\r\n            this.pdfUrl = \"\";\r\n          }\r\n      }\r\n    },\r\n    mounted() {\r\n        this.course_id = this.$route.query.course_id;\r\n        this.getCourseBase();\r\n        const app_type = localStorage.getItem(\"app_type\");\r\n        if (app_type) {\r\n            this.app_type = app_type;\r\n        }\r\n        const defaultFontSize = localStorage.getItem(\"defaultFontSize\");\r\n        if(defaultFontSize) {\r\n            this.defaultFontSize = parseInt(defaultFontSize);\r\n            this.fontSize = defaultFontSize + 'px';\r\n            this.lineHeight = defaultFontSize * 1.8 + 'px'\r\n        }\r\n        const readMode = localStorage.getItem(\"readMode\");\r\n        if(readMode) {\r\n            this.mode = readMode;\r\n        }\r\n        this.isMobile = getIsMobile();\r\n        EventBus.$on(\"RESIZE\", () => {\r\n          const isHorizontalScreen = localStorage.getItem('isHorizontalScreen');\r\n          if(isHorizontalScreen != this.isHorizontalScreen) {\r\n            this.showReadFontSize = false;\r\n          } else {\r\n            this.showReadFontSize = true;\r\n          }\r\n          this.isHorizontalScreen = localStorage.getItem('isHorizontalScreen');\r\n          console.log(\"isHorizontalScreen:\", localStorage.getItem('isHorizontalScreen'));\r\n          // this.$refs.readFontsize.getHeight();\r\n        });\r\n    }\r\n}\r\n</script>\r\n<style scoped lang=\"less\">\r\n.read-box {\r\n  width: 100%;\r\n  height: 100%;\r\n  position: relative;\r\n  background: #f4f6f6;\r\n  overflow-y: hidden;\r\n}\r\n.title {\r\n  width: 80%;\r\n  padding: 24px;\r\n  margin: 0 auto;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  font-family: Source Han Sans CN, Source Han Sans CN;\r\n  font-weight: 400;\r\n  font-size: 16px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  text-transform: none;\r\n  border-bottom: 1px solid #e5e9eb;\r\n  .title-wrapper {\r\n    display: flex;\r\n    align-items: center;\r\n  }\r\n  .logo {\r\n    width: 24px;\r\n    height: 24px;\r\n    margin-right: 10px;\r\n  }\r\n}\r\n.read-detail-wrapper {\r\n  position: absolute;\r\n  // width: calc(100% - 224px);\r\n  width: 80%;\r\n  height: 100%;\r\n  overflow-y: hidden;\r\n  left: 10%;\r\n  background: #ffffff;\r\n  box-shadow: 0px 6px 18px 1px rgba(0, 0, 0, 0.05);\r\n  display: flex;\r\n  flex-direction: column;\r\n  .title {\r\n    width: 100%;\r\n  }\r\n  .content {\r\n    // flex: 1;\r\n    height: auto;\r\n    overflow-y: auto;\r\n    padding: 39px 72px 32px 72px;\r\n    font-family: Source Han Sans CN, Source Han Sans CN;\r\n    font-weight: 400;\r\n    text-align: left;\r\n    font-style: normal;\r\n    text-transform: none;\r\n  }\r\n}\r\n.operates {\r\n  position: absolute;\r\n  bottom: 0;\r\n  right: calc(10% - 60px);\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: flex-end;\r\n  z-index: 11;\r\n  .operate {\r\n    width: 48px;\r\n    height: 48px;\r\n    background: #ffffff;\r\n    box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.05);\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n  }\r\n  .read-mode {\r\n    margin-top: 40px;\r\n    margin-bottom: 100px;\r\n  }\r\n}\r\n.readFontsize {\r\n  z-index: 10;\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: rgba(0, 0, 0, 0.1);\r\n  .readFontsize1 {\r\n    bottom: 153px;\r\n    right: 10%;;\r\n    position: absolute;\r\n  }\r\n}\r\n.link-btn {\r\n  cursor: pointer;\r\n  // position: absolute;\r\n  // right: calc(10% - 60px);\r\n  // top: 20px;\r\n  img {\r\n    width: 138px;\r\n    height: 32px;\r\n  }\r\n}\r\n// *::-webkit-scrollbar {\r\n//   /*滚动条整体样式*/\r\n//   width: 3px;\r\n// }\r\n// *::-webkit-scrollbar-thumb {\r\n//   /*滚动条里面小方块*/\r\n//   border-radius: 10px;\r\n//   background: #64afd5;\r\n// }\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentDetail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"read-box\",style:({\n    background: _vm.mode == 'white' ? _vm.readBoxBg : _vm.readBoxBlackBg,\n    color: _vm.mode == 'white' ? '#292929' : '#fff',\n  })},[(_vm.courseBase.course_intro_type == 2 && _vm.courseBase.course_intro_pdf)?[_c('ReadPdf',{attrs:{\"pdfUrl\":_vm.pdfUrl,\"canDownload\":2,\"mode\":_vm.mode,\"name\":_vm.courseBase.course_name},on:{\"changeMode\":_vm.changeMode}})]:_c('div',{staticClass:\"read-detail-wrapper\",style:({\n      background:\n        _vm.mode == 'white' ? _vm.readDetailWrapperBg : _vm.readDetailWrapperBlackBg,\n    })},[_c('div',{staticClass:\"title\",style:({\n        color: _vm.mode == 'white' ? '#7E878C' : '#fff',\n        borderColor: _vm.mode == 'white' ? '#E5E9EB' : '#7E878C',\n      })},[_c('div',{staticClass:\"title-wrapper\"},[(_vm.app_type == 1)?_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"@/assets/img/read-logo.svg\")}}):_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"@/assets/img/read-logo-overseas.svg\")}}),_vm._v(\"\\n        \"+_vm._s(_vm.courseBase.course_name)+\"\\n      \")]),_vm._v(\" \"),(_vm.url)?[_c('div',{staticClass:\"link-btn\"},[_c('a',{attrs:{\"href\":_vm.url,\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/essence-read-web.svg\"),\"title\":\"点击打开元读书网页版\"}})])])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"ql-editor content\",style:({color: _vm.mode == 'white' ? '#292929' : '#fff', fontSize: _vm.fontSize, lineHeight: _vm.lineHeight })},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.courseBase.course_intro)}})])]),_vm._v(\" \"),(_vm.mode == 'white' && !(_vm.courseBase.course_intro_type == 2 && _vm.courseBase.course_intro_pdf))?_c('div',{staticClass:\"operates\"},[(_vm.showFontSizeHover || _vm.showFontSizeDialog)?_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize-hover.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveFontSize,\"click\":_vm.showChangeFontsize}}):_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterFontSize,\"click\":_vm.showChangeFontsize}}),_vm._v(\" \"),(!_vm.showModeHover)?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterMode,\"click\":function($event){return _vm.changeMode('black')}}}):_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-hover.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveMode,\"click\":function($event){return _vm.changeMode('black')}}})]):(!(_vm.courseBase.course_intro_type == 2 && _vm.courseBase.course_intro_pdf))?_c('div',{staticClass:\"operates\"},[(_vm.showFontSizeHover || _vm.showFontSizeDialog)?_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize-hover-black.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveFontSize,\"click\":_vm.showChangeFontsize}}):_c('img',{staticClass:\"operate read-fontsize\",attrs:{\"src\":require(\"@/assets/img/read-fontsize-black.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterFontSize,\"click\":_vm.showChangeFontsize}}),_vm._v(\" \"),(!_vm.showModeHover)?_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-black.svg\")},on:{\"mouseenter\":_vm.handleMouseEnterMode,\"click\":function($event){return _vm.changeMode('white')}}}):_c('img',{staticClass:\"operate read-mode\",attrs:{\"src\":require(\"@/assets/img/read-mode-hover-black.svg\")},on:{\"mouseleave\":_vm.handleMouseLeaveMode,\"click\":function($event){return _vm.changeMode('white')}}})]):_vm._e(),_vm._v(\" \"),(_vm.showFontSizeDialog)?_c('div',{staticClass:\"readFontsize\",on:{\"click\":_vm.hideFontSize}},[_c('div',{staticClass:\"readFontsize1\"},[(_vm.isHorizontalScreen == 1)?_c('ReadFontsize',{ref:\"readFontsize\",attrs:{\"mode\":_vm.mode,\"defaultValue\":_vm.defaultFontSize,\"readMode\":_vm.mode,\"isHorizontalScreen\":_vm.isHorizontalScreen},on:{\"changeFontSize\":_vm.changeFontSize}}):_c('ReadFontsize',{ref:\"readFontsize\",attrs:{\"mode\":_vm.mode,\"defaultValue\":_vm.defaultFontSize,\"readMode\":_vm.mode,\"isHorizontalScreen\":_vm.isHorizontalScreen},on:{\"changeFontSize\":_vm.changeFontSize}})],1)]):_vm._e()],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-40a90a93\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentDetail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-40a90a93\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentDetail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentDetail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentDetail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-40a90a93\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentDetail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-40a90a93\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentDetail.vue\n// module id = null\n// module chunks = ","/*\r\n * @Author: your name\r\n * @Date: 2021-01-05 16:58:20\r\n * @LastEditTime: 2021-01-21 18:31:39\r\n * @LastEditors: Please set LastEditors\r\n * @Description: In User Settings Edit\r\n * @FilePath: \\dispatch-sys\\src\\utils\\auth.js\r\n */\r\nimport Cookies from \"js-cookie\";\r\n\r\nimport axios from \"axios\";\r\nimport CryptoJS from \"crypto-js\";\r\nimport store from \"../vuex/index\";\r\n\r\nexport function getToken() {\r\n  return Cookies.get(\"Authorization\");\r\n}\r\n\r\nexport function setToken(token) {\r\n  // cookie的失效时间为1天\r\n  return Cookies.set(\"Authorization\", token);\r\n}\r\n\r\nexport function removeToken() {\r\n  return Cookies.remove(\"Authorization\");\r\n}\r\n\r\nexport function getRefreshToken() {\r\n  return Cookies.get(\"RefresAuthorization\");\r\n}\r\n\r\nexport function setRefreshToken(token) {\r\n  // cookie的失效时间为1天\r\n  return Cookies.set(\"RefresAuthorization\", token);\r\n}\r\n\r\nexport function removeRefreshToken() {\r\n  return Cookies.remove(\"RefresAuthorization\");\r\n}\r\n\r\nexport function getClientId() {\r\n  return Cookies.get(\"ClientId\");\r\n}\r\n\r\nexport function setClientId(clientId) {\r\n  return Cookies.set(\"ClientId\", clientId);\r\n}\r\n\r\nexport function removeClientId() {\r\n  return Cookies.remove(\"ClientId\");\r\n}\r\n\r\nexport function setUserInfo(user) {\r\n  // return Cookies.set(userInfoKey, user);\r\n  return localStorage.setItem(\"userInfoKey\", user);\r\n}\r\n\r\nexport function removeUserInfo() {\r\n  return localStorage.removeItem(\"userInfoKey\");\r\n}\r\n\r\nexport function getUserInfo() {\r\n  return localStorage.getItem(\"userInfoKey\");\r\n}\r\n// 用户当前课程\r\nexport function setCourse(course) {\r\n  return localStorage.setItem(\"course\", course);\r\n}\r\n\r\nexport function removeCourse() {\r\n  return localStorage.removeItem(\"course\");\r\n}\r\n\r\nexport function getCourse() {\r\n  return localStorage.getItem(\"course\");\r\n}\r\n// 切换课程选择的课程\r\nexport function setCourseId(id) {\r\n  return localStorage.setItem(\"courseId\", id);\r\n}\r\n\r\nexport function removeCourseId() {\r\n  return localStorage.removeItem(\"courseId\");\r\n}\r\n\r\nexport function getCourseId() {\r\n  return localStorage.getItem(\"courseId\");\r\n}\r\n\r\n// 课程来源\r\nexport function setCourseIsuseradd(courseIsuseradd) {\r\n  return localStorage.setItem(\"CourseIsuseradd\", courseIsuseradd);\r\n}\r\n\r\nexport function removeCourseIsuseradd() {\r\n  return localStorage.removeItem(\"CourseIsuseradd\");\r\n}\r\n\r\nexport function getCourseIsuseradd() {\r\n  return localStorage.getItem(\"CourseIsuseradd\");\r\n}\r\n\r\n// 课程来源\r\nexport function setCourseIsChanged(courseIsChanged) {\r\n  return localStorage.setItem(\"CourseIsChanged\", courseIsChanged);\r\n}\r\n\r\nexport function removeCourseIsChanged() {\r\n  return localStorage.removeItem(\"CourseIsChanged\");\r\n}\r\n\r\nexport function getCourseIsChanged() {\r\n  return localStorage.getItem(\"CourseIsChanged\");\r\n}\r\n\r\n// 任务进度\r\nexport function setCourseProgress(data) {\r\n  return localStorage.setItem(\"courseProgress\", data);\r\n}\r\n\r\nexport function removeCourseProgress() {\r\n  return localStorage.removeItem(\"courseProgress\");\r\n}\r\n\r\nexport function getCourseProgress() {\r\n  return localStorage.getItem(\"courseProgress\");\r\n}\r\n\r\n// 用户心得\r\nlet experience_id = \"\";\r\nexport function setTip(data) {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  experience_id = data.experience_id;\r\n  return localStorage.setItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      data.experience_id +\r\n      \"_experience.json\",\r\n    JSON.stringify(data)\r\n  );\r\n}\r\n\r\nexport function removeTip() {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  let experience_id1 = experience_id;\r\n  experience_id = \"\";\r\n  return localStorage.removeItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      experience_id1 +\r\n      \"_experience.json\"\r\n  );\r\n}\r\n\r\nexport function getTip(experience_id1) {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  return localStorage.getItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      experience_id1 +\r\n      \"_experience.json\"\r\n  );\r\n}\r\n\r\nexport function setAddTipData(data) {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  experience_id = data.experience_id;\r\n  return localStorage.setItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      \"add_experience.json\",\r\n    JSON.stringify(data)\r\n  );\r\n}\r\n\r\nexport function removeAddTipData() {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  experience_id = \"\";\r\n  return localStorage.removeItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      \"add_experience.json\"\r\n  );\r\n}\r\n\r\nexport function getAddTipData() {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  console.log(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      \"add_experience.json\"\r\n  );\r\n  return localStorage.getItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      \"add_experience.json\"\r\n  );\r\n}\r\n\r\n// 案例\r\nlet course_case_id = \"\";\r\nexport function setCase(data) {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  course_case_id = data.course_case_id;\r\n  return localStorage.setItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      data.course_case_id +\r\n      \"_case.json\",\r\n    JSON.stringify(data)\r\n  );\r\n  // return localStorage.setItem(caseKey, data);\r\n}\r\n\r\nexport function removeCase() {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  let course_case_id1 = course_case_id;\r\n  course_case_id = \"\";\r\n  return localStorage.removeItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      course_case_id1 +\r\n      \"_case.json\"\r\n  );\r\n  // return localStorage.removeItem(caseKey);\r\n}\r\n\r\nexport function getCase(course_case_id1) {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  return localStorage.getItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      course_case_id1 +\r\n      \"_case.json\"\r\n  );\r\n  // return localStorage.getItem(caseKey);\r\n}\r\n\r\nexport function setAddCaseData(data) {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  course_case_id = data.course_case_id;\r\n  return localStorage.setItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      \"add_case.json\",\r\n    JSON.stringify(data)\r\n  );\r\n}\r\n\r\nexport function removeAddCaseData() {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  return localStorage.removeItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      \"add_case.json\"\r\n  );\r\n}\r\n\r\nexport function getAddCaseData() {\r\n  let userInfo = JSON.parse(getUserInfo());\r\n  let course_id = store.getters.course_id;\r\n  return localStorage.getItem(\r\n    userInfo.user_id +\r\n      \"_\" +\r\n      course_id +\r\n      \"_\" +\r\n      userInfo.course_isuseradd +\r\n      \"_\" +\r\n      \"add_case.json\"\r\n  );\r\n}\r\n// 问题列表选中的问题\r\nexport function setMoralComprehend(data) {\r\n  return localStorage.setItem(\"MoralComprehend\", data);\r\n}\r\n\r\nexport function removeMoralComprehend() {\r\n  return localStorage.removeItem(\"MoralComprehend\");\r\n}\r\n\r\nexport function getMoralComprehend() {\r\n  return localStorage.getItem(\"MoralComprehend\");\r\n}\r\n\r\n// 问题解决-道德上的理解选中\r\nexport function setProblemSolve(data) {\r\n  return localStorage.setItem(\"ProblemSolve\", data);\r\n}\r\n\r\nexport function removeProblemSolve() {\r\n  return localStorage.removeItem(\"ProblemSolve\");\r\n}\r\n\r\nexport function getProblemSolve() {\r\n  return localStorage.getItem(\"ProblemSolve\");\r\n}\r\n// 问题解决-道德上的理解列表\r\nexport function setProblemSolveList(data) {\r\n  return localStorage.setItem(\"ProblemSolveList\", data);\r\n}\r\n\r\nexport function removeProblemSolveList() {\r\n  return localStorage.removeItem(\"ProblemSolveList\");\r\n}\r\n\r\nexport function getProblemSolveList() {\r\n  return localStorage.getItem(\"ProblemSolveList\");\r\n}\r\n\r\n// caseInfo：选中的案例信息\r\nexport function setCaseInfo(data) {\r\n  return localStorage.setItem(\"caseInfoKey\", data);\r\n}\r\n\r\nexport function removeCaseInfo() {\r\n  return localStorage.removeItem(\"caseInfoKey\");\r\n}\r\n\r\nexport function getCaseInfo() {\r\n  return localStorage.getItem(\"caseInfoKey\");\r\n}\r\n\r\n// whiteCom:白牌首页当前页面\r\nexport function setWhiteCom(data) {\r\n  return localStorage.setItem(\"WhiteCom\", data);\r\n}\r\n\r\nexport function removeWhiteCom() {\r\n  return localStorage.removeItem(\"WhiteCom\");\r\n}\r\n\r\nexport function getWhiteCom() {\r\n  return localStorage.getItem(\"WhiteCom\");\r\n}\r\n\r\n// blackCom:白牌首页当前页面\r\nexport function setBlackCom(data) {\r\n  return localStorage.setItem(\"BlackCom\", data);\r\n}\r\n\r\nexport function removeBlackCom() {\r\n  return localStorage.removeItem(\"BlackCom\");\r\n}\r\n\r\nexport function getBlackCom() {\r\n  return localStorage.getItem(\"BlackCom\");\r\n}\r\n\r\n// whiteActiveIndex:白牌首页当前所在模块\r\nexport function setWhiteActiveIndex(data) {\r\n  return localStorage.setItem(\"whiteActiveIndex\", data);\r\n}\r\n\r\nexport function removeWhiteActiveIndex() {\r\n  return localStorage.removeItem(\"whiteActiveIndex\");\r\n}\r\n\r\nexport function getWhiteActiveIndex() {\r\n  if (localStorage.getItem(\"whiteActiveIndex\")) {\r\n    return parseInt(localStorage.getItem(\"whiteActiveIndex\"));\r\n  }\r\n}\r\n\r\n// blackActiveIndex:黑牌首页当前所在模块\r\nexport function setBlackActiveIndex(data) {\r\n  return localStorage.setItem(\"blackActiveIndex\", data);\r\n}\r\n\r\nexport function removeBlackActiveIndex() {\r\n  return localStorage.removeItem(\"blackActiveIndex\");\r\n}\r\n\r\nexport function getBlackActiveIndex() {\r\n  if (localStorage.getItem(\"blackActiveIndex\")) {\r\n    return parseInt(localStorage.getItem(\"blackActiveIndex\"));\r\n  }\r\n}\r\n\r\n// pageName: 黑白牌\r\nexport function setPageName(data) {\r\n  return localStorage.setItem(\"PageNameKey\", data);\r\n}\r\n\r\nexport function removePageName() {\r\n  return localStorage.removeItem(\"PageNameKey\");\r\n}\r\n\r\nexport function getPageName() {\r\n  return localStorage.getItem(\"PageNameKey\");\r\n}\r\n// mindMap 用户思维导图\r\nexport function setMindMap(data, course_id, user_id, timeStamp, isEdited, mindMapTimeStamp) {\r\n  const d = {\r\n    data,\r\n    timeStamp: timeStamp || (+new Date()),\r\n    mindMapTimeStamp,\r\n    isEdited\r\n  };\r\n  if(isEdited) {\r\n    return localStorage.setItem(\r\n      user_id + \"_\" + course_id + \".json\",\r\n      JSON.stringify(d)\r\n    );\r\n  } else {\r\n    removeMindMap(course_id, user_id)\r\n  }\r\n}\r\n\r\nexport function removeMindMap(course_id, user_id) {\r\n  return localStorage.removeItem(user_id + \"_\" + course_id + \".json\");\r\n}\r\n\r\nexport function getMindMap(course_id, user_id) {\r\n  return localStorage.getItem(user_id + \"_\" + course_id + \".json\");\r\n}\r\n\r\n// mindMap 引导节点思维导图\r\nexport function setMindMapGuide(data, course_id, timeStamp, isEdited) {\r\n  let d = {};\r\n  if (timeStamp) {\r\n    d = {\r\n      data,\r\n      timeStamp: timeStamp,\r\n      isEdited\r\n    };\r\n  } else {\r\n    d = {\r\n      data,\r\n      timeStamp: new Date().getTime(),\r\n      isEdited\r\n    };\r\n  }\r\n\r\n  return localStorage.setItem(course_id + \"_guide.json\", JSON.stringify(d));\r\n}\r\n\r\nexport function removeMindMapGuide(course_id) {\r\n  return localStorage.removeItem(course_id + \"_guide.json\");\r\n}\r\n\r\nexport function getMindMapGuide(course_id) {\r\n  return localStorage.getItem(course_id + \"_guide.json\");\r\n}\r\n\r\n// mindMap 推荐思维导图\r\nexport function setMindMapOfficial(data, course_id, timeStamp, isEdited) {\r\n  let d = {};\r\n  if (timeStamp) {\r\n    d = {\r\n      data,\r\n      timeStamp: timeStamp,\r\n      isEdited\r\n    };\r\n  } else {\r\n    d = {\r\n      data,\r\n      timeStamp: new Date().getTime(),\r\n      isEdited\r\n    };\r\n  }\r\n\r\n  return localStorage.setItem(course_id + \"_official.json\", JSON.stringify(d));\r\n}\r\n\r\nexport function removeMindMapOfficial(course_id) {\r\n  return localStorage.removeItem(course_id + \"_official.json\");\r\n}\r\n\r\nexport function getMindMapOfficial(course_id) {\r\n  return localStorage.getItem(course_id + \"_official.json\");\r\n}\r\n\r\n// 切换课程选择的课程\r\nexport function setCourseIdExt(id) {\r\n  return localStorage.setItem(\"courseIdExt\", id);\r\n}\r\n\r\nexport function removeCourseIdExt() {\r\n  return localStorage.removeItem(\"courseIdExt\");\r\n}\r\n\r\nexport function getCourseIdExt() {\r\n  return localStorage.getItem(\"courseIdExt\");\r\n}\r\n\r\n// 操作日志\r\nexport function setHistoryOperate(data) {\r\n  return localStorage.setItem(\"HistoryOperate\", JSON.stringify(data));\r\n}\r\n\r\nexport function removeHistoryOperate() {\r\n  return localStorage.removeItem(\"HistoryOperate\");\r\n}\r\n\r\nexport function getHistoryOperate() {\r\n  const HistoryOperate = localStorage.getItem(\"HistoryOperate\");\r\n  if (HistoryOperate) {\r\n    return JSON.parse(HistoryOperate);\r\n  } else {\r\n    return [];\r\n  }\r\n}\r\n\r\n// 登录页提示\r\nexport function setLoginReminder(data) {\r\n  return localStorage.setItem(\"LoginReminder\", data);\r\n}\r\n\r\nexport function removeLoginReminder() {\r\n  return localStorage.removeItem(\"LoginReminder\");\r\n}\r\n\r\nexport function getLoginReminder() {\r\n  const LoginReminder = localStorage.getItem(\"LoginReminder\");\r\n  return LoginReminder;\r\n}\r\n\r\nexport function removeAllMindMap(course_id, user_id) {\r\n  const len = localStorage.length;\r\n  let keys = [];\r\n  for (let i = 0; i < len; i++) {\r\n    let key = localStorage.key(i);\r\n    if (/\\.(json)$/.test(key)) {\r\n      // 如果是json文件\r\n      let mindMap = localStorage.getItem(key);\r\n      if (mindMap != \"{}\") {\r\n        let mindMapJson = JSON.parse(mindMap);\r\n        let isEdited = mindMapJson.isEdited;\r\n        if (!isEdited) {\r\n          // 如果没有被修改过，则删除\r\n          keys.push(key);\r\n          // localStorage.removeItem(user_id + \"_\" + course_id + \".json\");\r\n        }\r\n      }\r\n    }\r\n  }\r\n  for (let i = 0; i < keys.length; i++) {\r\n    localStorage.removeItem(keys[i]);\r\n  }\r\n}\r\n\r\nexport function removeAll() {\r\n  const len = localStorage.length;\r\n  for (let i = 0; i < len; i++) {\r\n    localStorage.removeItem(localStorage.key(i));\r\n  }\r\n}\r\n\r\n// 解密\r\nexport function decrypt(word, str, keyStr) {\r\n  try {\r\n    keyStr = \"03d91e50ffbb9c9e\";\r\n    const wordArray = CryptoJS.enc.Hex.parse(word);\r\n    const base64Word = CryptoJS.enc.Base64.stringify(wordArray);\r\n    var key = CryptoJS.enc.Utf8.parse(keyStr);\r\n    var decrypt = CryptoJS.AES.decrypt(base64Word, key, {\r\n      mode: CryptoJS.mode.ECB,\r\n      padding: CryptoJS.pad.Pkcs7\r\n    });\r\n    // localStorage.setItem(str, CryptoJS.enc.Utf8.stringify(decrypt).toString());\r\n    return CryptoJS.enc.Utf8.stringify(decrypt).toString();\r\n    // return new Promise(resolve => {\r\n    //   resolve(CryptoJS.enc.Utf8.stringify(decrypt).toString());\r\n    // });\r\n  } catch (error) {\r\n    console.log(error);\r\n  }\r\n\r\n}\r\n\r\n// 判断是否能够访问youtube\r\n// let ltt = null\r\n// 使用 ip-api.com（免费，无需 API Key）\r\nexport function getCanAccessYouTube() {\r\n  try {\r\n    return new Promise((resolve, reject) => {\r\n      const endpoint = 'https://www.cloudflare.com/cdn-cgi/trace';\r\n\r\n      const xhr = new XMLHttpRequest();\r\n      xhr.onreadystatechange = async function() {\r\n        if (this.readyState == 4 && this.status == 200) {\r\n          const text = this.responseText;\r\n          console.log('getCanAccessYouTube:', text);\r\n          const lines = text.split('\\n');\r\n          const loc = lines.find(line => line.startsWith('loc='));\r\n          const countryCode = loc ? loc.split('=') : 'CN';\r\n          console.log('countryCode:', countryCode);\r\n          if(countryCode && countryCode[1] == \"CN\") {\r\n            store.dispatch(\"setCanAccessYouTube\", false);\r\n            resolve(false)\r\n          } else {\r\n            store.dispatch(\"setCanAccessYouTube\", true);\r\n            resolve(true)\r\n          }\r\n        }\r\n      };\r\n      xhr.open('GET', endpoint, true);\r\n      xhr.send();\r\n    });\r\n  } catch (error) {\r\n    store.dispatch(\"setCanAccessYouTube\", false);\r\n  }\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/auth.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjIzcHgiIGhlaWdodD0iMjFweCIgdmlld0JveD0iMCAwIDIzIDIxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgNjwvdGl0bGU+DQogICAgPGRlZnM+DQogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTkuMzMyNjAzNyUiIHkxPSIxMS41NjQ4NjUlIiB4Mj0iNjkuMzY2MDI5OCUiIHkyPSI3MC43NzI0Mzk5JSIgaWQ9ImxpbmVhckdyYWRpZW50LTEiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QiIgb2Zmc2V0PSIwJSI+PC9zdG9wPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+DQogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgPC9kZWZzPg0KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLkuLvpobXnmb1taW5pVjLlv4Plvpflub/lnLoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC05MTMuMDAwMDAwLCAtNTM3LjAwMDAwMCkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC02IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5MTMuMjEwMDAwLCA1MzcuNDMwMDAwKSI+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxLDcuMzg4NTMzNTcgQzIxLDQuNDEyNzc2MjIgMTguNTg3OTg5NywyIDE1LjYxMTQ2NjQsMiBDMTMuNjU1OTY4NywyIDExLjk0NDA0NjYsMy4wNDI0NzI1MiAxMC45OTk2MTcsNC42MDEyMDI1NiBDMTAuMDU1OTUzNCwzLjA0MjQ3MjUyIDguMzQzMjY1MjksMiA2LjM4Nzc2NzYxLDIgQzMuNDEyMDEwMjYsMiAxLDQuNDEyNzc2MjIgMSw3LjM4ODUzMzU3IEMxLDEyLjY1ODM0MzIgMTAuOTk5NjE3LDE5LjUzNTEzODQgMTAuOTk5NjE3LDE5LjUzNTEzODQgQzEwLjk5OTYxNywxOS41MzUxMzg0IDIxLDEyLjY1ODM0MzIgMjEsNy4zODg1MzM1NyBaIiBpZD0iU3Ryb2tlLTEiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2iIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjIiIGhlaWdodD0iMjAiPjwvcmVjdD4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/collected.svg\n// module id = TNtm\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjU2cHgiIGhlaWdodD0iNTZweCIgdmlld0JveD0iMCAwIDU2LjAgNTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMCwwIEwyMy44MjM1Mjk0LDEzLjUgTDAsMjcgTDAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ4NC4wIC00MTIuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4NS4wIDQxMy4wKSI+PHBhdGggZD0iTTI3LDAgQzEyLjA4NzY5MjMsMCAwLDEyLjA4OTAzMjMgMCwyNyBDMCw0MS45MTIzMDc3IDEyLjA4NzY5MjMsNTQgMjcsNTQgQzQxLjkxMjMwNzcsNTQgNTQsNDEuOTEyMzA3NyA1NCwyNyBDNTQsMTIuMDg5MDMyMyA0MS45MTIzMDc3LDAgMjcsMCIgc3Ryb2tlPSIjMzM1MTYwIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5LjA1ODgyMzUyOTQxMTc2IDEzLjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMy44MjM1Mjk0LDAgMjMuODIzNTI5NCwyNyAwLDI3IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMzM1MTYwIj48L3BvbHlnb24+PC9nPjxwb2x5Z29uIHBvaW50cz0iMCwwIDAsMjcgMjMuODIzNTI5NCwxMy41IDAsMCAwLDAiIHN0cm9rZT0iIzMzNTE2MCIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcG9seWdvbj48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/play_big.svg\n// module id = U3oz\n// module chunks = 171","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/guide.png\n// module id = UGiG\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA5tJREFUWEe1l0tIlFEYhh9LyeyGpgkFgVFClkm4KIaEvGXjImozroSwECpKkoqi26KgpSVFGAkSQW4KzUhp48I0QSzClO65izKx6cLM5K3/G/4z/P78t8Hx2wwzc877vuc75/vOe5KIL1YCG4FMIANYBIwDP4BPwM/44CDJw4Q0wA/sAvJ1Uqtps8Ab4DnQCfzxgO0oIBnYp62sGljlBcww5reWqftAO/DPaa5dBtYAV/V0x8k9Z/gocB74agdiJSAPuAKkz4fZMPcXcBl4bYVnFrAeuAUsSxC5ggkDJ4CPZlyjgBXAbWBtgskV3HfgCDBhxDcKOAeULxC5gu3RtyNGowRIbd8xkxcWFqZ1dHRsGxwcDAYCgbehUEhKzTZSUlKSWltbc30+X0YgEBjq6emxKsXjwLACUQKuabW7w4xcU1OT2dzcLLVPb2/veHl5+ZCdCCHv7OzMKy0tlQqirq5upLGx8ZuFWjmMJ40CpMYfWjWY5ORk2tvb8yorK7OdRAh5V1fXlpKSkiwZ193dPVZRUTE8OTlpl7EqYEzGSgb2Amfs8uomwrxyIff7/cORSMRpu27oTSoq4BKw22lv7URMTU1hTLtHcqF6oTeoqACp+81up98soq+vbzwSicwUFxfH0u5h5YrmC3BIbUErED04bmEWocbHsXI1RbrjfiXgKZDqRq7+T01NTRodHd2ZnZ0dnTMxMRHJycnpDwaDM14xtF4g56NMPmULHmgdMHrK3cJ84NR4txK1wA1qd8MBlYGbgFxAjmF12sPh8Izf73csURvQz8BhJeACUOLEbldq09PTs176hAV2HyC80SrYA5y1E+BW5259wgb3OvBYCRCf98iqE7qRK3ArEWVlZUPhcNiuGQV0HxmzZOJ+fGa1tbW1WU1NTVvld7dSM4uor68faWhosLoLXmp+8ZTiUpdRDnBX35KYjoKCgqVtbW35AwMDwerq6vcu7RUR0dLSsqmoqCi9qqpquL+//6/FFogneGcWIN9P6+7XrSDm83+3bvdiGEZDIjZM2rLYsoUIMaZHtatYeoClAPlxnW7LlidYQUi7fo8B4pLnhJUrztUtubx+EhHiAS8CI1Zgdu8CeXaJNXe9JV0UftAbTtR8xCNAxi7WzcpBYHWcqZBV3wOeaKufdprr5W24RHfL8jbcDqTYAArRK7GPWk95Bsi+u4YXAUYQeahu0DMiWZH56nUsB8zTg9SpClwVJ3rAf+nmgDBeG1sOAAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/feedback_image_close.png\n// module id = UKOY\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjU5cHgiIGhlaWdodD0iNThweCIgdmlld0JveD0iMCAwIDU5LjAgNTguMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTMxLjAzNDQ4MjglIiB5PSItMzEuMDM0NDgyOCUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE0OC4yNzU4NjIlIiBoZWlnaHQ9IjE0OC4yNzU4NjIlIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0yMywwIEMzNS43MDI1NDkyLDAgNDYsMTAuMjk3NDUwOCA0NiwyMyBDNDYsMzUuNzAyNTQ5MiAzNS43MDI1NDkyLDQ2IDIzLDQ2IEMxMC4yOTc0NTA4LDQ2IDAsMzUuNzAyNTQ5MiAwLDIzIEMwLDEwLjI5NzQ1MDggMTAuMjk3NDUwOCwwIDIzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01MDQuMCAtNjY3LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MDguNSA2NzEuMCkiPjxwYXRoIGQ9Ik0yMyw0NiBDMzUuNzAyNTQ5Miw0NiA0NiwzNS43MDI1NDkyIDQ2LDIzIEM0NiwxMC4yOTc0NTA4IDM1LjcwMjU0OTIsMCAyMywwIEMxMC4yOTc0NTA4LDAgMCwxMC4yOTc0NTA4IDAsMjMgQzAsMzUuNzAyNTQ5MiAxMC4yOTc0NTA4LDQ2IDIzLDQ2IFoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCIgZmlsdGVyPSJ1cmwoI2kxKSI+PC9wYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNpNCkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDQ2LDAgNDYsNDYgMCw0NiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzYzQUZENSI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4xNDI4NTcxNDI4NTY4OCAxMC4yNzc3NjEzNTg3OTIzNzkpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjY5Mjk1OTk4NzEwODE2MDYgMC4wKSI+PHBhdGggZD0iTTkuNTU4MDUwNDMsMi40NzkxMjY4NCBMMCwxNi42MTM0NzI1IEwwLDE2LjYxMzQ3MjUgTDYuMDg2MTk1MjIsMjAuNjc4NDM2OSBMMTUuNjIyNDY4Niw2LjU3NjE5OTY2IEMxNi41NTA1ODc1LDUuMjAzNjk3ODEgMTYuMTkwMzQ0LDMuMzM4Njc2MiAxNC44MTc4NDIxLDIuNDEwNTU3MzEgQzE0LjgxNTg0MTUsMi40MDkyMDQ0NSAxNC44MTM4MzkzLDIuNDA3ODU0MDEgMTQuODExODM1NCwyLjQwNjUwNTk5IEwxMy43MTc2ODA4LDEuNjcwNDU2NzkgQzEyLjM0NTI5MTYsMC43NDcyMzYyNjcgMTAuNDg0NTg3LDEuMTA4OTc0MiA5LjU1ODA1MDQzLDIuNDc5MTI2ODQgWiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCAxOS4xNDQ5NTM2MzI4MzQ1KSI+PHBhdGggZD0iTTAuMzc3NDMyMDY1LDAgTDAuMDAxMzE0MzYyNjMsNS42NTcwMzUyOCBDLTAuMDI4NDIxNDM4Niw2LjExMjcxNjM0IDAuNDUyMTczNDA0LDYuNDI1MzQ0MDkgMC44NTY0MTk1NjcsNi4yMTIzNzE0NiBMNS43OTQxNjk5MiwzLjYxNzMyMDA0IiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/problem_edit.svg\n// module id = UTKw\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAmCAYAAACsyDmTAAAAAXNSR0IArs4c6QAAAoJJREFUWEfNmEtrE1EUx8+5gy4s6N7HB3Bpv4HuuhIfIFoFpVhRU8U20zHRjOn0kU7GiGhQVCoiVUFRceWu/Qgu+wFa3SvoQsk9cs/MZHJLN9MjXC9kE/I/+Z3XzJ+L8J8dlPLQx7sjQPSU4yCO47HqZ0lMOdCHZB0A9mcQG3jcP+AW6H2bAPK8CPDEtChJkdhUgt7FBRAC4EnXQG9jIqJ0hMzn1E1RkiIxV+hNiwDTMAZMna6JYorEDPG6lZYnO3jGMZBenu8DccvO3hIlKRKbouiXc4T5lpmhPuca6MVsH4iAQJ1viJIUiblCzyPCfKgN0IVQFFMk5qFeioq1RwQccwykn80QQLFo6mJTlKRIzC17cmdghgDUJddAj8NihsyD8XIkSlIk5go9apjlSg8iqCv/AIg+dQ6B1q+A4GBp6/DtRzFBRID79pQOAQhroNQoHp36whWipWiFiA5vFcmstHlH5au9+Tf087eJkJcIYNeO8kBcXFzFsfAIA+kFfwUAGMiENl/298a8yc1zJnujb/43HNqZKTL1rz+lgAaSXVX1JAUi/+owASzTNlqGe3cXQIb76/dSQNnoraGnRnHxYdoyydGdmuWHVHVRFFMk5na3A8sPedOxKKZIzEBxYPkhFTgG6rV8yw+pWiJKUiQ2FerNVy0/pOqugWanLD/kNTqiJEVirtDMpOWHvPCeKKZIzEPdnLT8kGo6BuqFNyw/5EX3RUmKxNyy29ctP+TNuQaqX7P8kLfwQJSkSMwVqk1YfshrOQbSwUThA4jAa3dFSYrEXCG/MjDUCF7iGEj7lXUi4gsrRNxQSdfxhVVQGSENfKWHCsYx7rq90pN4qa20fwHibvAn4zn+agAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/publish_case.png\n// module id = V+Dy\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0LjAgMjQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTEuNSwwIEMxNy44NTEyNzQ2LDAgMjMsNS4xNDg3MjUzOCAyMywxMS41IEMyMywxNy44NTEyNzQ2IDE3Ljg1MTI3NDYsMjMgMTEuNSwyMyBDNS4xNDg3MjUzOCwyMyAwLDE3Ljg1MTI3NDYgMCwxMS41IEMwLDUuMTQ4NzI1MzggNS4xNDg3MjUzOCwwIDExLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpMyI+PHBhdGggZD0iTTEuMjc3Nzc3NzgsMCBDMS45ODM0NzQ5NiwwIDIuNTU1NTU1NTYsMC41NzIwODA1OTcgMi41NTU1NTU1NiwxLjI3Nzc3Nzc4IEMyLjU1NTU1NTU2LDEuOTgzNDc0OTYgMS45ODM0NzQ5NiwyLjU1NTU1NTU2IDEuMjc3Nzc3NzgsMi41NTU1NTU1NiBDMC41NzIwODA1OTcsMi41NTU1NTU1NiAwLDEuOTgzNDc0OTYgMCwxLjI3Nzc3Nzc4IEMwLDAuNTcyMDgwNTk3IDAuNTcyMDgwNTk3LDAgMS4yNzc3Nzc3OCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik05LjU4MzMzMzMzLDAgQzkuOTM2MTgxOTIsLTYuNzg5NTE5NTllLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNSI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5MiwtOC40MTk3MzM1MmUtMTYgMTAuMjIyMjIyMiwwLjI4NjA0MDI5OSAxMC4yMjIyMjIyLDAuNjM4ODg4ODg5IEMxMC4yMjIyMjIyLDAuOTkxNzM3NDc5IDkuOTM2MTgxOTIsMS4yNzc3Nzc3OCA5LjU4MzMzMzMzLDEuMjc3Nzc3NzggTDAuNjM4ODg4ODg5LDEuMjc3Nzc3NzggQzAuMjg2MDQwMjk5LDEuMjc3Nzc3NzggNC4zMjExNDg5N2UtMTcsMC45OTE3Mzc0NzkgMCwwLjYzODg4ODg4OSBDLTQuMzIxMTQ4OTdlLTE3LDAuMjg2MDQwMjk5IDAuMjg2MDQwMjk5LDYuNDgxNzIzNDVlLTE3IDAuNjM4ODg4ODg5LDAgTDkuNTgzMzMzMzMsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9Imk2Ij48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNyI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5Miw2LjAxMzE2NThlLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NzYuMCAtNDM2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NzYuMCA0MzYuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNSAwLjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMywwIDIzLDIzIDAsMjMgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSI+PC9wb2x5Z29uPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMTEuNSwyMyBDMTcuODUxMjc0NiwyMyAyMywxNy44NTEyNzQ2IDIzLDExLjUgQzIzLDUuMTQ4NzI1MzggMTcuODUxMjc0NiwwIDExLjUsMCBDNS4xNDg3MjUzOCwwIDAsNS4xNDg3MjUzOCAwLDExLjUgQzAsMTcuODUxMjc0NiA1LjE0ODcyNTM4LDIzIDExLjUsMjMgWiIgc3Ryb2tlPSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSI1Ij48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuODMzMzMzMzMzMzMzNTM1NSA1LjExMTExMTExMTExMTEzNikiPjxnIGNsaXAtcGF0aD0idXJsKCNpMikiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDIuNTU1NTU1NTYsMCAyLjU1NTU1NTU2LDIuNTU1NTU1NTYgMCwyLjU1NTU1NTU2IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMkI1MUFGIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTAuMjIyMjIyMjIyMjIyMjIxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kzKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMi41NTU1NTU1NiwwIDIuNTU1NTU1NTYsMi41NTU1NTU1NiAwLDIuNTU1NTU1NTYgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMyQjUxQUYiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMzA1NTU1NTU1NTU0OTUgNS43NTAwMDAwMDAwMDAwMjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMC4yMjIyMjIyLDAgMTAuMjIyMjIyMiwxLjI3Nzc3Nzc4IDAsMS4yNzc3Nzc3OCAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzJCNTFBRiI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxMC44NjExMTExMTExMTExMSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMkI1MUFGIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTUuMzMzMzMzMzMzMzMzMzEpIj48ZyBjbGlwLXBhdGg9InVybCgjaTYpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyLjU1NTU1NTU2LDAgMi41NTU1NTU1NiwyLjU1NTU1NTU2IDAsMi41NTU1NTU1NiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzJCNTFBRiI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxNS45NzIyMjIyMjIyMjIxOSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNykiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMkI1MUFGIj48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/progress3.svg\n// module id = VEei\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEwcHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDEwLjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjgxIEwwLDEyODEgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzEuMCAtMTI4LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOS4yNzU4NjIwNjg5NjQ2NCAxNDIuNDQ4Mjc1ODYyMDY4OSkgcm90YXRlKDkwLjApIHNjYWxlKC0xLjAgMS4wKSI+PHBhdGggZD0iTTEzLjQ0ODI3NTksMCBMNi43MjM4MzExLDYuMjc1ODYyMDcgTDAsMCIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/back.svg\n// module id = VSxP\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0LjAgMjQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTEuNSwwIEMxNy44NTEyNzQ2LDAgMjMsNS4xNDg3MjUzOCAyMywxMS41IEMyMywxNy44NTEyNzQ2IDE3Ljg1MTI3NDYsMjMgMTEuNSwyMyBDNS4xNDg3MjUzOCwyMyAwLDE3Ljg1MTI3NDYgMCwxMS41IEMwLDUuMTQ4NzI1MzggNS4xNDg3MjUzOCwwIDExLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpMyI+PHBhdGggZD0iTTEuMjc3Nzc3NzgsMCBDMS45ODM0NzQ5NiwwIDIuNTU1NTU1NTYsMC41NzIwODA1OTcgMi41NTU1NTU1NiwxLjI3Nzc3Nzc4IEMyLjU1NTU1NTU2LDEuOTgzNDc0OTYgMS45ODM0NzQ5NiwyLjU1NTU1NTU2IDEuMjc3Nzc3NzgsMi41NTU1NTU1NiBDMC41NzIwODA1OTcsMi41NTU1NTU1NiAwLDEuOTgzNDc0OTYgMCwxLjI3Nzc3Nzc4IEMwLDAuNTcyMDgwNTk3IDAuNTcyMDgwNTk3LDAgMS4yNzc3Nzc3OCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik05LjU4MzMzMzMzLDAgQzkuOTM2MTgxOTIsLTYuNzg5NTE5NTllLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNSI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5MiwtOC40MTk3MzM1MmUtMTYgMTAuMjIyMjIyMiwwLjI4NjA0MDI5OSAxMC4yMjIyMjIyLDAuNjM4ODg4ODg5IEMxMC4yMjIyMjIyLDAuOTkxNzM3NDc5IDkuOTM2MTgxOTIsMS4yNzc3Nzc3OCA5LjU4MzMzMzMzLDEuMjc3Nzc3NzggTDAuNjM4ODg4ODg5LDEuMjc3Nzc3NzggQzAuMjg2MDQwMjk5LDEuMjc3Nzc3NzggNC4zMjExNDg5N2UtMTcsMC45OTE3Mzc0NzkgMCwwLjYzODg4ODg4OSBDLTQuMzIxMTQ4OTdlLTE3LDAuMjg2MDQwMjk5IDAuMjg2MDQwMjk5LDYuNDgxNzIzNDVlLTE3IDAuNjM4ODg4ODg5LDAgTDkuNTgzMzMzMzMsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9Imk2Ij48cGF0aCBkPSJNMS4yNzc3Nzc3OCwwIEMxLjk4MzQ3NDk2LDAgMi41NTU1NTU1NiwwLjU3MjA4MDU5NyAyLjU1NTU1NTU2LDEuMjc3Nzc3NzggQzIuNTU1NTU1NTYsMS45ODM0NzQ5NiAxLjk4MzQ3NDk2LDIuNTU1NTU1NTYgMS4yNzc3Nzc3OCwyLjU1NTU1NTU2IEMwLjU3MjA4MDU5NywyLjU1NTU1NTU2IDAsMS45ODM0NzQ5NiAwLDEuMjc3Nzc3NzggQzAsMC41NzIwODA1OTcgMC41NzIwODA1OTcsMCAxLjI3Nzc3Nzc4LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpNyI+PHBhdGggZD0iTTkuNTgzMzMzMzMsMCBDOS45MzYxODE5Miw2LjAxMzE2NThlLTE2IDEwLjIyMjIyMjIsMC4yODYwNDAyOTkgMTAuMjIyMjIyMiwwLjYzODg4ODg4OSBDMTAuMjIyMjIyMiwwLjk5MTczNzQ3OSA5LjkzNjE4MTkyLDEuMjc3Nzc3NzggOS41ODMzMzMzMywxLjI3Nzc3Nzc4IEwwLjYzODg4ODg4OSwxLjI3Nzc3Nzc4IEMwLjI4NjA0MDI5OSwxLjI3Nzc3Nzc4IDQuMzIxMTQ4OTdlLTE3LDAuOTkxNzM3NDc5IDAsMC42Mzg4ODg4ODkgQy00LjMyMTE0ODk3ZS0xNywwLjI4NjA0MDI5OSAwLjI4NjA0MDI5OSwxLjc1ODM5NTM3ZS0xNiAwLjYzODg4ODg4OSwwIEw5LjU4MzMzMzMzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NzYuMCAtMzY0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NzYuMCAzNjQuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNSAwLjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMywwIDIzLDIzIDAsMjMgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSI+PC9wb2x5Z29uPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMTEuNSwyMyBDMTcuODUxMjc0NiwyMyAyMywxNy44NTEyNzQ2IDIzLDExLjUgQzIzLDUuMTQ4NzI1MzggMTcuODUxMjc0NiwwIDExLjUsMCBDNS4xNDg3MjUzOCwwIDAsNS4xNDg3MjUzOCAwLDExLjUgQzAsMTcuODUxMjc0NiA1LjE0ODcyNTM4LDIzIDExLjUsMjMgWiIgc3Ryb2tlPSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSI1Ij48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuODMzMzMzMzMzMzMzNTM1NSA1LjExMTExMTExMTExMTEzNikiPjxnIGNsaXAtcGF0aD0idXJsKCNpMikiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDIuNTU1NTU1NTYsMCAyLjU1NTU1NTU2LDIuNTU1NTU1NTYgMCwyLjU1NTU1NTU2IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNjNBRkQ1Ij48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTAuMjIyMjIyMjIyMjIyMjIxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kzKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMi41NTU1NTU1NiwwIDIuNTU1NTU1NTYsMi41NTU1NTU1NiAwLDIuNTU1NTU1NTYgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM2M0FGRDUiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMzA1NTU1NTU1NTU0OTUgNS43NTAwMDAwMDAwMDAwMjUpIj48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMC4yMjIyMjIyLDAgMTAuMjIyMjIyMiwxLjI3Nzc3Nzc4IDAsMS4yNzc3Nzc3OCAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzYzQUZENSI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxMC44NjExMTExMTExMTExMSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNjNBRkQ1Ij48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjgzMzMzMzMzMzMzMzUzNTUgMTUuMzMzMzMzMzMzMzMzMzEpIj48ZyBjbGlwLXBhdGg9InVybCgjaTYpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyLjU1NTU1NTU2LDAgMi41NTU1NTU1NiwyLjU1NTU1NTU2IDAsMi41NTU1NTU1NiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzYzQUZENSI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4zMDU1NTU1NTU1NTQ5NSAxNS45NzIyMjIyMjIyMjIxOSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpNykiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjIyMjIyMjIsMCAxMC4yMjIyMjIyLDEuMjc3Nzc3NzggMCwxLjI3Nzc3Nzc4IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNjNBRkQ1Ij48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/progress1.svg\n// module id = Vh57\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAABABJREFUSEu9ll1sFFUUx//n7m5tH9ptWRJDolWjEYiSmpSIJPhROoMWW7qDdlFMsH3wxQTZoYYQaeL4RdDQnUUSn4xUE1GX4uxSBOxMuxrxAyORRg1oNGo1MSZsPyMt3d17zDapdj/a6RP39Z5zfuf8z73nXsI1WHQNGFgSZO/Jz2pm0tMbmVDLQICAFDGGy3zlgwea7x11S3RRSPhDZ70Q/DwzGgF4SwTLEGFASnohulX5ciFYSUj7kWR5oCbzhmS0AyACnZfgPgIuEjjFoAADqwWohcH1AFgQelKj3qd7OhqmC2FFkJ2nvqryXp3sB7AO4CEGhaOa+slCWYYt+wECRwGqA3Auc13lpsOb75mYb58HMZjFRNzpY2AzgBjSo+1mKDTlprkei1XAV9MDIETAqaqg0mIQyTm/PEinZe+UwOsgcvwXPE2G0ZBxA8ztG0bSO35X9jSYFQE8062ph4sgexJnK9Ny6hcGKljQbYdalb+XCpiz25VwrifJPxMw5RMVt77WumEyt/dfJbvj9g5mvA2i/WZQ2ecGmM28Lv0mSCzzXzgbNAxjVh497rwC5ueI8GQkqL6TD7GcXgY/4vF51xxsbvjeDaJb9ksAugRRW3dQ6Z2zf/Zk8s5sOvMdgY5HNOXRPIhu2T8CWG5qasAN0JkYuE9KOUhERyJB5alCe92yUwAum5q6shAyyeDfotqmNf83k8VEnTPERMQ8uSGqaWO52381PT0E4IpnUtYf3PHgP4WQsNWfq+RmU1MrCyHjAP40NfWO+U56on8tJH0OIG5q6jY97vSCuZkE1kda1W9LVa1b9g8AbjA11Z8PidsXwVhhamp1oWOn5eyR4FeJcIIZW4ipM7JViSwkq27ZYyD8ZQbV1QWNt48y8LiAZ223tvH8/ADMTLvjjg2gkYGPo0GlCURcCtJpDdZLZL8h4L2Ipm4vOMLONmZ+nwWi0VZVL9L5+JkVwuN9MUvoWuwOhRO2SRJhInosElQ+yJcr9kUFfFd+AvFy4ROruh9u/N3tlBXJ+tHATTItL4HpMtIjt8+NpLyxosftDjDeAuhrf7XnfqOheKIuBDaSyfLxseynAN9NEB0RrTE3y2ZX0RTW4/a7YGwnkC3hCUW1hjG3isJWslogG2OwCsJRM6g+Md+nCDKb0XjGAuMhAL8C2Gtq6rHcm1ECRrpltwE4AOAWEM74/V6tUIGSj1ZbLOa50Ve9nyF0gH0gDBOoj5kvMThFoAARrWJwCxi1AKWJEPljZmTfsVAoW5jMos/vrsTplUL6ugDeAqCqRCUTAJ2QIv3yodam3FgquZb0kTBisbLxsmXrWGZrhfAEpMymSHiG/TMj54xQaMatZ0uCuAVx2/8XbmCiKSL1Pg4AAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mind_check.png\n// module id = VxDz\n// module chunks = 171","<template>\r\n  <div class=\"pdf\" :id=\"mindpdfId\">\r\n    <div v-show=\"pdfUrl\" class=\"show\" :id=\"showId\">\r\n      <div v-show=\"showTag && pdfUrl\" :id=\"tagId\" ref=\"tag\" class=\"tag\">PDF</div>\r\n      <div style=\"width: 100%;height: 100%; position: relative\">\r\n        <canvas\r\n          :id=\"`pdf_canvas_cover_${canvasId}`\"\r\n          style=\"float: left\"\r\n        ></canvas>\r\n      </div>\r\n      <div v-if=\"loading\" class=\"loading\">加载中</div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\n/* eslint-disable */\r\nimport pdf from \"vue-pdf\";\r\nimport * as PDFJS from \"pdfjs-dist\";\r\nimport { addUserCollection } from \"@/api/index\";\r\nimport { getFileByUrl, base64ToFile } from \"@/utils/indexDb\";\r\n// 设置 PDFJS worker\r\nPDFJS.GlobalWorkerOptions.workerSrc = require(\"pdfjs-dist/build/pdf.worker.entry.js\");\r\nimport CMapReaderFactory from \"vue-pdf/src/CMapReaderFactory.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { generateRandomString } from \"@/utils/util\";\r\nexport default {\r\n  name: \"vue_pdf_preview\",\r\n  props: {\r\n    // 当前pdf路径\r\n    pdfUrl: {\r\n      type: String,\r\n      default: \"\"\r\n      // http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf\r\n    },\r\n    showTag: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    mindPdfWidth: {\r\n      type: Number,\r\n      default: 0\r\n    }\r\n  },\r\n  components: {\r\n    pdf\r\n  },\r\n  data() {\r\n    return {\r\n      timeout: null,\r\n      loading: false,\r\n      imageCanvas: \"\",\r\n      pdfData: null,\r\n      inited: false,\r\n      scale: 1,\r\n      canvasId: \"\",\r\n      tagId: \"\",\r\n      mindpdfId: generateRandomString(5),\r\n      showId: generateRandomString(5),\r\n      blobUrl: null, // 用于释放 Blob URL\r\n    };\r\n  },\r\n  watch: {\r\n    pdfUrl: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"pdfUrl:\", v);\r\n        this.init();\r\n      }\r\n    }\r\n  },\r\n  computed: {},\r\n  created() {},\r\n  mounted() {\r\n    this.canvasId = generateRandomString(5);\r\n    this.tagId = generateRandomString(5);\r\n    this.init();\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.initTagPosition();\r\n    });\r\n  },\r\n  activated() {},\r\n  methods: {\r\n    initTagPosition() {\r\n      let show = document.getElementById(this.showId);\r\n      let tag = document.getElementById(this.tagId);\r\n      if (show && tag) {\r\n        let offsetWidth = show.offsetWidth;\r\n        const width = tag.offsetWidth;\r\n        console.log(offsetWidth);\r\n        tag.style.left = offsetWidth - width + \"px\";\r\n      }\r\n    },\r\n    init() {\r\n      if (this.pdfUrl) {\r\n        this.pageNum = 1;\r\n        this.pageNumInput = 1;\r\n        this.loading = true;\r\n        this.readPdf();\r\n      }\r\n    },\r\n    async readPdf() {\r\n      try {\r\n        // 验证 pdfUrl 是否有效\r\n        if (!this.pdfUrl || typeof this.pdfUrl !== 'string') {\r\n          console.warn(\"[PdfCover] pdfUrl 为空或格式不正确\");\r\n          this.loading = false;\r\n          return;\r\n        }\r\n\r\n        // 检查是否是有效的 Base64 格式\r\n        if (!this.pdfUrl.includes(\"base64,\")) {\r\n          console.warn(\"[PdfCover] pdfUrl 不是有效的 Base64 格式\");\r\n          this.loading = false;\r\n          return;\r\n        }\r\n\r\n        let self = this;\r\n        const base64Pdf = this.pdfUrl.split(\"base64,\")[1];\r\n        if (!base64Pdf) {\r\n          console.warn(\"[PdfCover] Base64 数据为空\");\r\n          this.loading = false;\r\n          return;\r\n        }\r\n\r\n        const binaryString = atob(base64Pdf);\r\n        const len = binaryString.length;\r\n        const bytes = new Uint8Array(len);\r\n        for (let i = 0; i < len; i++) {\r\n          bytes[i] = binaryString.charCodeAt(i);\r\n        }\r\n\r\n        // 释放之前的 Blob URL\r\n        if (this.blobUrl) {\r\n          URL.revokeObjectURL(this.blobUrl);\r\n          this.blobUrl = null;\r\n        }\r\n\r\n        // 创建 Blob 对象\r\n        const blob = new Blob([bytes], { type: \"application/pdf\" });\r\n        this.blobUrl = URL.createObjectURL(blob);\r\n\r\n        const file = base64ToFile(this.pdfUrl);\r\n        const arrayBuffer = await file.arrayBuffer();\r\n\r\n        const loadingTask = PDFJS.getDocument({\r\n          data: arrayBuffer,\r\n          cMapUrl: \"https://cdn.jsdelivr.net/npm/pdfjs-dist@2.5.207/cmaps/\",\r\n          cMapPacked: true,\r\n        });\r\n\r\n        loadingTask.promise\r\n          .then(pdf => {\r\n            self.pdfData = pdf;\r\n            if (pdf) {\r\n              // pdf 总页数\r\n              const pageNum = pdf.numPages;\r\n              const show = document.getElementById(this.mindpdfId);\r\n              let showWidth = 0;\r\n\r\n              if (show && show.clientWidth > 0) {\r\n                showWidth = show.clientWidth;\r\n              } else if (this.mindPdfWidth > 0) {\r\n                showWidth = this.mindPdfWidth;\r\n              } else {\r\n                // 使用默认宽度\r\n                showWidth = 150;\r\n              }\r\n\r\n              pdf.getPage(1).then(page => {\r\n                const canvas = document.getElementById(\r\n                  \"pdf_canvas_cover_\" + self.canvasId\r\n                );\r\n                if (!canvas) {\r\n                  console.warn(\"[PdfCover] Canvas 元素未找到\");\r\n                  self.loading = false;\r\n                  return;\r\n                }\r\n\r\n                const ctx = canvas.getContext(\"2d\");\r\n                const viewportOrigin = page.getViewport({ scale: 1 });\r\n                const widthOrigin = viewportOrigin.width;\r\n                const scale = showWidth / widthOrigin;\r\n                const viewport = page.getViewport({ scale: scale });\r\n                canvas.height = viewport.height;\r\n                canvas.width = viewport.width;\r\n\r\n                // 添加渲染错误处理\r\n                page.render({\r\n                  canvasContext: ctx,\r\n                  viewport\r\n                }).promise.then(() => {\r\n                  self.loading = false;\r\n                }).catch(err => {\r\n                  console.error(\"[PdfCover] 渲染错误:\", err);\r\n                  self.loading = false;\r\n                });\r\n              }).catch(err => {\r\n                console.error(\"[PdfCover] 获取页面错误:\", err);\r\n                self.loading = false;\r\n              });\r\n            } else {\r\n              self.loading = false;\r\n            }\r\n          })\r\n          .catch(function(reason) {\r\n            console.error(\"[PdfCover] PDF 加载错误:\", reason);\r\n            self.loading = false;\r\n          });\r\n      } catch (error) {\r\n        console.error(\"[PdfCover] readPdf 异常:\", error);\r\n        this.loading = false;\r\n      }\r\n    }\r\n  },\r\n  beforeDestroy() {\r\n    // 释放 Blob URL\r\n    if (this.blobUrl) {\r\n      URL.revokeObjectURL(this.blobUrl);\r\n      this.blobUrl = null;\r\n    }\r\n  },\r\n  resize() {\r\n    this.timeout = setInterval(() => {\r\n      let container = document.getElementById(this.showId);\r\n      let offsetWidth = container.offsetWidth;\r\n      let offsetHeight = container.offsetHeight;\r\n      console.log(\r\n        \"container.offsetWidth:::\",\r\n        container.offsetWidth,\r\n        offsetHeight\r\n      );\r\n      if (offsetWidth && offsetHeight) {\r\n        let show = document.getElementById(this.showId);\r\n        this.$refs.pdf.$el.style.width = offsetWidth + \"px\";\r\n        this.$refs.pdf.$el.style.height = \"100%\";\r\n\r\n        show.style.minWidth = offsetWidth + \"px\";\r\n        clearInterval(this.timeout);\r\n      }\r\n    }, 100);\r\n  }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.none_wrapper {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n}\r\n.none_wrapper_box_wrapper {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding: 15px;\r\n  width: 353px;\r\n  height: 232px;\r\n  background-color: #fff;\r\n  border-radius: 16px;\r\n  box-shadow: 0 0 10px #e8eaed;\r\n}\r\n.none_wrapper_box {\r\n  width: 297px;\r\n  height: 173px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  flex-direction: column;\r\n  background-image: url(\"~@/assets/img/outlineImageNone.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n  position: relative;\r\n  img {\r\n    cursor: pointer;\r\n    width: 117px;\r\n    height: 117px;\r\n  }\r\n  p {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #71afbb;\r\n    line-height: 24px;\r\n    margin-top: 13px;\r\n  }\r\n  /deep/ .el-progress--circle {\r\n    position: absolute;\r\n    top: 9px;\r\n  }\r\n}\r\n.isServer {\r\n  /deep/ .el-progress--circle {\r\n    position: absolute;\r\n    top: 169px;\r\n  }\r\n}\r\n.loading {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 16px;\r\n}\r\n.pdf {\r\n  height: calc(100% - 76px);\r\n  width: 88%;\r\n  border-radius: 16px;\r\n  margin: 0 auto;\r\n  .collect {\r\n    position: absolute;\r\n    width: 100%;\r\n    bottom: 0;\r\n    left: 0;\r\n    background: #f2f4f5;\r\n    text-align: center;\r\n    z-index: 99;\r\n    padding-top: 25px;\r\n    img {\r\n      cursor: pointer;\r\n      width: 37px;\r\n      height: 32px;\r\n    }\r\n    p {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #71afbb;\r\n      line-height: 14px;\r\n      font-style: normal;\r\n      padding-top: 10px;\r\n    }\r\n  }\r\n  .show {\r\n    position: relative;\r\n    overflow: auto;\r\n    margin: auto;\r\n    // width: 92%;\r\n    // max-width: 75%;\r\n    height: 55vh;\r\n    height: 100%;\r\n    margin-bottom: 15px;\r\n    border-radius: 16px;\r\n    border: 1px solid rgb(238, 238, 238);\r\n    overflow: hidden;\r\n    // display: flex;\r\n    // justify-content: center;\r\n    span {\r\n      width: 100%;\r\n    }\r\n    &:first-child {\r\n      width: 86%;\r\n    }\r\n    // max-height: 530px;\r\n  }\r\n  .pdf_footer {\r\n    // position: sticky;\r\n    // bottom: 0;\r\n    // left: 0;\r\n    // right: 0;\r\n    // padding: 10px 0;\r\n    // background-color: rgba(255, 255, 255, 0.5);\r\n    display: flex;\r\n    justify-content: center;\r\n    // margin-bottom: 10px;\r\n    .info {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      // width: 173px;\r\n      background-color: #fff;\r\n      box-shadow: 2px 2px 5px 0px #ccc;\r\n      padding: 10px 20px;\r\n      border-radius: 8px;\r\n      img {\r\n        cursor: pointer;\r\n      }\r\n      i {\r\n        font-size: 20px;\r\n        line-height: 28px;\r\n        cursor: pointer;\r\n      }\r\n      .page {\r\n        display: flex;\r\n        line-height: 28px;\r\n        padding: 0 10px;\r\n        .totalNum {\r\n          padding-left: 10px;\r\n          font-size: 18px;\r\n        }\r\n      }\r\n      /deep/ .el-input__inner {\r\n        width: 60px;\r\n        height: 28px;\r\n        text-align: center;\r\n        background: #eaedef;\r\n        border: none;\r\n      }\r\n    }\r\n    .operate {\r\n      margin: 10px 0 0;\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      div {\r\n        // width: 80px;\r\n        text-align: center;\r\n        font-size: 15px;\r\n      }\r\n      .btn {\r\n        cursor: pointer;\r\n        margin: 5px 10px;\r\n        width: 120px;\r\n        border-radius: 10px;\r\n        padding: 5px;\r\n        color: #fff;\r\n        background-color: #3dcbbc;\r\n      }\r\n    }\r\n  }\r\n}\r\n.outlineNone {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  .none {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n}\r\n.tag {\r\n  width: 53px;\r\n  height: 27px;\r\n  line-height: 27px;\r\n  text-align: center;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #ffffff;\r\n  font-style: normal;\r\n  background: #71afbb;\r\n  position: absolute;\r\n  top: 25px;\r\n  right: 0;\r\n  border-top-left-radius: 5px;\r\n  border-bottom-left-radius: 5px;\r\n  z-index: 99;\r\n}\r\n#image-viewer__canvas {\r\n  // width: 100%;\r\n  height: 100%;\r\n  overflow-y: auto;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/PdfCover.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pdf\",attrs:{\"id\":_vm.mindpdfId}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pdfUrl),expression:\"pdfUrl\"}],staticClass:\"show\",attrs:{\"id\":_vm.showId}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showTag && _vm.pdfUrl),expression:\"showTag && pdfUrl\"}],ref:\"tag\",staticClass:\"tag\",attrs:{\"id\":_vm.tagId}},[_vm._v(\"PDF\")]),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"position\":\"relative\"}},[_c('canvas',{staticStyle:{\"float\":\"left\"},attrs:{\"id\":(\"pdf_canvas_cover_\" + _vm.canvasId)}})]),_vm._v(\" \"),(_vm.loading)?_c('div',{staticClass:\"loading\"},[_vm._v(\"加载中\")]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-585165c6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PdfCover.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-585165c6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PdfCover.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./PdfCover.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./PdfCover.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-585165c6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./PdfCover.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-585165c6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PdfCover.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI2cHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDI2IDI2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgMzwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhteeZvW1pbmlWMuaAnee7tOWvvOWbvi3nvJbovpEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00MzksIC0xODEpIiBzdHJva2U9IiM3MUFGQkIiPg0KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzksIDE4MSkiPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTblpIfku70tMyI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMywwLjUgQzE2LjQ1MTc3OTcsMC41IDE5LjU3Njc3OTcsMS44OTkxMTAxNiAyMS44Mzg4MzQ4LDQuMTYxMTY1MjQgQzI0LjEwMDg4OTgsNi40MjMyMjAzMSAyNS41LDkuNTQ4MjIwMzEgMjUuNSwxMyBDMjUuNSwxNi40NTE3Nzk3IDI0LjEwMDg4OTgsMTkuNTc2Nzc5NyAyMS44Mzg4MzQ4LDIxLjgzODgzNDggQzE5LjU3Njc3OTcsMjQuMTAwODg5OCAxNi40NTE3Nzk3LDI1LjUgMTMsMjUuNSBDOS41NDgyMjAzMSwyNS41IDYuNDIzMjIwMzEsMjQuMTAwODg5OCA0LjE2MTE2NTI0LDIxLjgzODgzNDggQzEuODk5MTEwMTYsMTkuNTc2Nzc5NyAwLjUsMTYuNDUxNzc5NyAwLjUsMTMgQzAuNSw5LjU0ODIyMDMxIDEuODk5MTEwMTYsNi40MjMyMjAzMSA0LjE2MTE2NTI0LDQuMTYxMTY1MjQgQzYuNDIzMjIwMzEsMS44OTkxMTAxNiA5LjU0ODIyMDMxLDAuNSAxMywwLjUgWiIgaWQ9IuefqeW9ouWkh+S7vS04Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS41ODE1LCA2Ljc1NzQpIiBzdHJva2Utd2lkdGg9IjEuNSI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03LDExLjM5MjYyODYgTDEwLjM0MDE0NzIsMTEuMzkyNjI4NiBDMTIuMzYxNDI4MSwxMS4zOTI2Mjg2IDE0LDkuNzU0MDU2NjUgMTQsNy43MzI3NzU3NiBDMTQsNS43MTE0OTQ4NyAxMi4zNjE0MjgxLDQuMDcyOTIyOTUgMTAuMzQwMTQ3Miw0LjA3MjkyMjk1IEwwLDQuMDcyOTIyOTUgTDAsNC4wNzI5MjI5NSIgaWQ9Iui3r+W+hC00Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBpZD0i6Lev5b6ELTUiIHBvaW50cz0iNC40MTg1MjQ4MiAwIDAuMTc1ODg0MTMzIDQuMjQyNjQwNjkgNC40MTg1MjQ4MiA4LjU0OTkzODE1Ij48L3BvbHlsaW5lPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/withdraw.svg\n// module id = WY5V\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"evp before\">\r\n    <div class=\"top\">\r\n      <div class=\"content\">\r\n        <div class=\"course_class_name\">\r\n          {{\r\n            data.course_class_name1 + \"&nbsp;&nbsp;\" + data.course_class_name2\r\n          }}\r\n        </div>\r\n        <div class=\"course_name\">{{ data.course_name }}</div>\r\n        <span class=\"course_intro\">{{ course_intro }} </span>\r\n        <div class=\"diliver\"></div>\r\n        <div class=\"items\">\r\n          <div class=\"item item-name\">思维导图</div>\r\n          <div\r\n            class=\"item item-value\"\r\n            :class=\"data.mindmap_complete == 1 ? 'complete' : ''\"\r\n          >\r\n            <span v-if=\"data.mindmap_complete == 2\">未完成</span>\r\n            <img\r\n              v-else\r\n              width=\"22\"\r\n              height=\"22\"\r\n              src=\"@/assets/img/studylog_done.svg\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <div class=\"items\">\r\n          <div class=\"item item-name\">问题意识</div>\r\n          <div\r\n            class=\"item item-value\"\r\n            :class=\"data.mindmap_complete == 1 ? 'complete' : ''\"\r\n          >\r\n            <span v-if=\"data.question_complete == 2\">未完成</span>\r\n            <img\r\n              v-else\r\n              width=\"22\"\r\n              height=\"22\"\r\n              src=\"@/assets/img/studylog_done.svg\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <div class=\"items\">\r\n          <div class=\"item item-name\" v-if=\"app_type == 2\">本课问题解决</div>\r\n          <div class=\"item item-name\" v-else>问题解决</div>\r\n          <div\r\n            class=\"item item-value\"\r\n            :class=\"data.mindmap_complete == 1 ? 'complete' : ''\"\r\n          >\r\n            <span v-if=\"data.solve_complete == 2\">未完成</span>\r\n            <img\r\n              v-else\r\n              width=\"22\"\r\n              height=\"22\"\r\n              src=\"@/assets/img/studylog_done.svg\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <div class=\"items\">\r\n          <div class=\"item item-name\">观念的禅修</div>\r\n          <div\r\n            class=\"item item-value\"\r\n            :class=\"data.mindmap_complete == 1 ? 'complete' : ''\"\r\n          >\r\n            <span v-if=\"data.guannian_complete == 2\">未完成</span>\r\n            <img\r\n              v-else\r\n              width=\"22\"\r\n              height=\"22\"\r\n              src=\"@/assets/img/studylog_done.svg\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <div class=\"items\">\r\n          <div class=\"item item-name\">心态的禅修</div>\r\n          <div\r\n            class=\"item item-value\"\r\n            :class=\"data.mindmap_complete == 1 ? 'complete' : ''\"\r\n          >\r\n            <span v-if=\"data.xintai_complete == 2\">未完成</span>\r\n            <img\r\n              v-else\r\n              width=\"22\"\r\n              height=\"22\"\r\n              src=\"@/assets/img/studylog_done.svg\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <div class=\"items\">\r\n          <div class=\"item item-name\">发布心得</div>\r\n          <div class=\"item item-value\" style=\"color: #64AFD5\">\r\n            {{ data.experience_num }}\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    data: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    course_intro: {\r\n      type: String,\r\n      default: () => {\r\n        return \"\";\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      app_type: 1\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {},\r\n  created() {},\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.top {\r\n  width: 100%;\r\n  height: 100%;\r\n  overflow: hidden;\r\n  transition: transform 1000ms ease-in-out;\r\n  display: flex;\r\n  flex-direction: column;\r\n\r\n  // justify-content: center;\r\n  // .content {\r\n  //   margin: 23px 25px;\r\n  // }\r\n  .course_class_name {\r\n    font-size: 13px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #d4d9db;\r\n    line-height: 21px;\r\n    padding-bottom: 11px;\r\n    padding-left: 1px;\r\n  }\r\n  .course_name {\r\n    height: 52px;\r\n    overflow: auto;\r\n    // word-break: break-all;\r\n    // word-wrap: break-word;\r\n    // white-space: pre-wrap;\r\n    // text-overflow: ellipsis;\r\n    // -webkit-line-clamp: 2;\r\n    // -webkit-box-orient: vertical;\r\n    // display: -webkit-box;\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 22px;\r\n    padding-left: 2px;\r\n  }\r\n  .course_intro {\r\n    // height: 63px;\r\n    overflow: hidden;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 20px;\r\n    word-break: break-all;\r\n    word-wrap: break-word;\r\n    white-space: pre-wrap;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 3;\r\n    -webkit-box-orient: vertical;\r\n    display: -webkit-box;\r\n    // margin: 0 0 20px;\r\n    -webkit-animation: courseIntro 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: courseIntro 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes courseIntro {\r\n    0% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n    100% {\r\n      height: 63px;\r\n      margin: 0 0 20;\r\n    }\r\n  }\r\n  @keyframes courseIntro {\r\n    0% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n    100% {\r\n      height: 63px;\r\n      margin: 0 0 20;\r\n    }\r\n  }\r\n\r\n  .course_intro1 {\r\n    -webkit-animation: courseIntro1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: courseIntro1 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes courseIntro1 {\r\n    0% {\r\n      height: 63px;\r\n      margin: 0 0 20;\r\n    }\r\n    100% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n  }\r\n  @keyframes courseIntro1 {\r\n    0% {\r\n      height: 63px;\r\n      margin: 0 0 20;\r\n    }\r\n    100% {\r\n      height: 0;\r\n      margin: 0;\r\n    }\r\n  }\r\n  .diliver {\r\n    height: 0;\r\n    width: 100%;\r\n    border: 1px solid #f3f3f4;\r\n    margin-bottom: 20px;\r\n  }\r\n  .diliver1 {\r\n    border: none;\r\n    -webkit-animation: diliver1 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: diliver1 0.8s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes diliver1 {\r\n    0% {\r\n      margin-bottom: 20px;\r\n    }\r\n    100% {\r\n      margin-bottom: 0px;\r\n    }\r\n  }\r\n  @keyframes diliver1 {\r\n    0% {\r\n      margin-bottom: 20px;\r\n    }\r\n    100% {\r\n      margin-bottom: 0px;\r\n    }\r\n  }\r\n  .items {\r\n    display: flex;\r\n    padding-bottom: 6px;\r\n    .item {\r\n      width: 50%;\r\n    }\r\n    .item-name {\r\n      font-size: 15px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 27px;\r\n      text-align: right;\r\n      padding-right: 6px;\r\n    }\r\n    .item-value {\r\n      font-size: 15px;\r\n      font-family: PingFangSC-Medium, PingFang SC;\r\n      // font-weight: 600;\r\n      color: #7e878c;\r\n      line-height: 26px;\r\n      text-align: center;\r\n      padding-left: 37px;\r\n    }\r\n    .complete {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n    }\r\n  }\r\n}\r\n\r\n.evp {\r\n  width: 100%;\r\n  height: 100%;\r\n  /* background-color: #fff; */\r\n  //text-align: center;\r\n  //line-height: 240px;\r\n  perspective: 360px;\r\n}\r\n\r\n.before {\r\n  z-index: 2;\r\n}\r\n.num {\r\n  font-size: 38px;\r\n  margin: 40px 40px 0 40px;\r\n  cursor: pointer;\r\n}\r\n\r\n.el-icon-circle-check {\r\n  position: absolute;\r\n  font-size: 32px;\r\n  left: 90px;\r\n  bottom: 40px;\r\n  z-index: 10;\r\n  color: #d4d9db;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/studyLog/CompleteData.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"evp before\"},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"course_class_name\"},[_vm._v(\"\\n        \"+_vm._s(_vm.data.course_class_name1 + \"  \" + _vm.data.course_class_name2)+\"\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"course_name\"},[_vm._v(_vm._s(_vm.data.course_name))]),_vm._v(\" \"),_c('span',{staticClass:\"course_intro\"},[_vm._v(_vm._s(_vm.course_intro)+\" \")]),_vm._v(\" \"),_c('div',{staticClass:\"diliver\"}),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value\",class:_vm.data.mindmap_complete == 1 ? 'complete' : ''},[(_vm.data.mindmap_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"width\":\"22\",\"height\":\"22\",\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value\",class:_vm.data.mindmap_complete == 1 ? 'complete' : ''},[(_vm.data.question_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"width\":\"22\",\"height\":\"22\",\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[(_vm.app_type == 2)?_c('div',{staticClass:\"item item-name\"},[_vm._v(\"本课问题解决\")]):_c('div',{staticClass:\"item item-name\"},[_vm._v(\"问题解决\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value\",class:_vm.data.mindmap_complete == 1 ? 'complete' : ''},[(_vm.data.solve_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"width\":\"22\",\"height\":\"22\",\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name\"},[_vm._v(\"观念的禅修\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value\",class:_vm.data.mindmap_complete == 1 ? 'complete' : ''},[(_vm.data.guannian_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"width\":\"22\",\"height\":\"22\",\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name\"},[_vm._v(\"心态的禅修\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value\",class:_vm.data.mindmap_complete == 1 ? 'complete' : ''},[(_vm.data.xintai_complete == 2)?_c('span',[_vm._v(\"未完成\")]):_c('img',{attrs:{\"width\":\"22\",\"height\":\"22\",\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name\"},[_vm._v(\"发布心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value\",staticStyle:{\"color\":\"#64AFD5\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.data.experience_num)+\"\\n        \")])])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6cd2cfc5\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/studyLog/CompleteData.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6cd2cfc5\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CompleteData.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CompleteData.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CompleteData.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6cd2cfc5\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CompleteData.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6cd2cfc5\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/studyLog/CompleteData.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/headimage6.a4d356d.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage6.png\n// module id = WxR8\n// module chunks = 171","var map = {\n\t\"./78-EUC-H.bcmap\": [\n\t\t\"Mgxk\",\n\t\t168\n\t],\n\t\"./78-EUC-V.bcmap\": [\n\t\t\"v/tZ\",\n\t\t167\n\t],\n\t\"./78-H.bcmap\": [\n\t\t\"BXi3\",\n\t\t166\n\t],\n\t\"./78-RKSJ-H.bcmap\": [\n\t\t\"7s+k\",\n\t\t165\n\t],\n\t\"./78-RKSJ-V.bcmap\": [\n\t\t\"DjO4\",\n\t\t164\n\t],\n\t\"./78-V.bcmap\": [\n\t\t\"YVXS\",\n\t\t163\n\t],\n\t\"./78ms-RKSJ-H.bcmap\": [\n\t\t\"DzDT\",\n\t\t162\n\t],\n\t\"./78ms-RKSJ-V.bcmap\": [\n\t\t\"2duc\",\n\t\t161\n\t],\n\t\"./83pv-RKSJ-H.bcmap\": [\n\t\t\"o5es\",\n\t\t160\n\t],\n\t\"./90ms-RKSJ-H.bcmap\": [\n\t\t\"KSpO\",\n\t\t159\n\t],\n\t\"./90ms-RKSJ-V.bcmap\": [\n\t\t\"t4Fo\",\n\t\t158\n\t],\n\t\"./90msp-RKSJ-H.bcmap\": [\n\t\t\"qvtg\",\n\t\t157\n\t],\n\t\"./90msp-RKSJ-V.bcmap\": [\n\t\t\"sodt\",\n\t\t156\n\t],\n\t\"./90pv-RKSJ-H.bcmap\": [\n\t\t\"ZvOI\",\n\t\t155\n\t],\n\t\"./90pv-RKSJ-V.bcmap\": [\n\t\t\"lVxq\",\n\t\t154\n\t],\n\t\"./Add-H.bcmap\": [\n\t\t\"2cg/\",\n\t\t153\n\t],\n\t\"./Add-RKSJ-H.bcmap\": [\n\t\t\"zqS0\",\n\t\t152\n\t],\n\t\"./Add-RKSJ-V.bcmap\": [\n\t\t\"/DFN\",\n\t\t151\n\t],\n\t\"./Add-V.bcmap\": [\n\t\t\"w7m+\",\n\t\t150\n\t],\n\t\"./Adobe-CNS1-0.bcmap\": [\n\t\t\"i/zN\",\n\t\t149\n\t],\n\t\"./Adobe-CNS1-1.bcmap\": [\n\t\t\"Zyex\",\n\t\t148\n\t],\n\t\"./Adobe-CNS1-2.bcmap\": [\n\t\t\"Hxc6\",\n\t\t147\n\t],\n\t\"./Adobe-CNS1-3.bcmap\": [\n\t\t\"WF1f\",\n\t\t146\n\t],\n\t\"./Adobe-CNS1-4.bcmap\": [\n\t\t\"2epI\",\n\t\t145\n\t],\n\t\"./Adobe-CNS1-5.bcmap\": [\n\t\t\"XR0w\",\n\t\t144\n\t],\n\t\"./Adobe-CNS1-6.bcmap\": [\n\t\t\"mwoO\",\n\t\t143\n\t],\n\t\"./Adobe-CNS1-UCS2.bcmap\": [\n\t\t\"bZtV\",\n\t\t142\n\t],\n\t\"./Adobe-GB1-0.bcmap\": [\n\t\t\"k95C\",\n\t\t141\n\t],\n\t\"./Adobe-GB1-1.bcmap\": [\n\t\t\"LUpy\",\n\t\t140\n\t],\n\t\"./Adobe-GB1-2.bcmap\": [\n\t\t\"TdPJ\",\n\t\t139\n\t],\n\t\"./Adobe-GB1-3.bcmap\": [\n\t\t\"ysZm\",\n\t\t138\n\t],\n\t\"./Adobe-GB1-4.bcmap\": [\n\t\t\"xUbE\",\n\t\t137\n\t],\n\t\"./Adobe-GB1-5.bcmap\": [\n\t\t\"xwIg\",\n\t\t136\n\t],\n\t\"./Adobe-GB1-UCS2.bcmap\": [\n\t\t\"UzTy\",\n\t\t135\n\t],\n\t\"./Adobe-Japan1-0.bcmap\": [\n\t\t\"6Y0u\",\n\t\t134\n\t],\n\t\"./Adobe-Japan1-1.bcmap\": [\n\t\t\"Casz\",\n\t\t133\n\t],\n\t\"./Adobe-Japan1-2.bcmap\": [\n\t\t\"7idH\",\n\t\t132\n\t],\n\t\"./Adobe-Japan1-3.bcmap\": [\n\t\t\"Tb0V\",\n\t\t131\n\t],\n\t\"./Adobe-Japan1-4.bcmap\": [\n\t\t\"7qb7\",\n\t\t130\n\t],\n\t\"./Adobe-Japan1-5.bcmap\": [\n\t\t\"G3xy\",\n\t\t129\n\t],\n\t\"./Adobe-Japan1-6.bcmap\": [\n\t\t\"uPZo\",\n\t\t128\n\t],\n\t\"./Adobe-Japan1-UCS2.bcmap\": [\n\t\t\"YXHF\",\n\t\t127\n\t],\n\t\"./Adobe-Korea1-0.bcmap\": [\n\t\t\"XI21\",\n\t\t126\n\t],\n\t\"./Adobe-Korea1-1.bcmap\": [\n\t\t\"qZmg\",\n\t\t125\n\t],\n\t\"./Adobe-Korea1-2.bcmap\": [\n\t\t\"k7/t\",\n\t\t124\n\t],\n\t\"./Adobe-Korea1-UCS2.bcmap\": [\n\t\t\"PBKa\",\n\t\t123\n\t],\n\t\"./B5-H.bcmap\": [\n\t\t\"zdXs\",\n\t\t122\n\t],\n\t\"./B5-V.bcmap\": [\n\t\t\"5dr9\",\n\t\t121\n\t],\n\t\"./B5pc-H.bcmap\": [\n\t\t\"C26i\",\n\t\t120\n\t],\n\t\"./B5pc-V.bcmap\": [\n\t\t\"h1zw\",\n\t\t119\n\t],\n\t\"./CNS-EUC-H.bcmap\": [\n\t\t\"OsWp\",\n\t\t118\n\t],\n\t\"./CNS-EUC-V.bcmap\": [\n\t\t\"pdsc\",\n\t\t117\n\t],\n\t\"./CNS1-H.bcmap\": [\n\t\t\"sF0w\",\n\t\t116\n\t],\n\t\"./CNS1-V.bcmap\": [\n\t\t\"ta4x\",\n\t\t115\n\t],\n\t\"./CNS2-H.bcmap\": [\n\t\t\"H3u0\",\n\t\t114\n\t],\n\t\"./CNS2-V.bcmap\": [\n\t\t\"W0QL\",\n\t\t113\n\t],\n\t\"./ETHK-B5-H.bcmap\": [\n\t\t\"3bm8\",\n\t\t112\n\t],\n\t\"./ETHK-B5-V.bcmap\": [\n\t\t\"SJnF\",\n\t\t111\n\t],\n\t\"./ETen-B5-H.bcmap\": [\n\t\t\"bjyf\",\n\t\t110\n\t],\n\t\"./ETen-B5-V.bcmap\": [\n\t\t\"q0QU\",\n\t\t109\n\t],\n\t\"./ETenms-B5-H.bcmap\": [\n\t\t\"2t44\",\n\t\t108\n\t],\n\t\"./ETenms-B5-V.bcmap\": [\n\t\t\"RYte\",\n\t\t107\n\t],\n\t\"./EUC-H.bcmap\": [\n\t\t\"z4mJ\",\n\t\t106\n\t],\n\t\"./EUC-V.bcmap\": [\n\t\t\"R9K4\",\n\t\t105\n\t],\n\t\"./Ext-H.bcmap\": [\n\t\t\"1Rqr\",\n\t\t104\n\t],\n\t\"./Ext-RKSJ-H.bcmap\": [\n\t\t\"Lss4\",\n\t\t103\n\t],\n\t\"./Ext-RKSJ-V.bcmap\": [\n\t\t\"f6HW\",\n\t\t102\n\t],\n\t\"./Ext-V.bcmap\": [\n\t\t\"X3u3\",\n\t\t101\n\t],\n\t\"./GB-EUC-H.bcmap\": [\n\t\t\"7f68\",\n\t\t100\n\t],\n\t\"./GB-EUC-V.bcmap\": [\n\t\t\"7Wgx\",\n\t\t99\n\t],\n\t\"./GB-H.bcmap\": [\n\t\t\"xd9S\",\n\t\t98\n\t],\n\t\"./GB-V.bcmap\": [\n\t\t\"Ns5e\",\n\t\t97\n\t],\n\t\"./GBK-EUC-H.bcmap\": [\n\t\t\"CrH3\",\n\t\t96\n\t],\n\t\"./GBK-EUC-V.bcmap\": [\n\t\t\"JI3r\",\n\t\t95\n\t],\n\t\"./GBK2K-H.bcmap\": [\n\t\t\"QBfz\",\n\t\t94\n\t],\n\t\"./GBK2K-V.bcmap\": [\n\t\t\"JxIa\",\n\t\t93\n\t],\n\t\"./GBKp-EUC-H.bcmap\": [\n\t\t\"fmFA\",\n\t\t92\n\t],\n\t\"./GBKp-EUC-V.bcmap\": [\n\t\t\"gdYX\",\n\t\t91\n\t],\n\t\"./GBT-EUC-H.bcmap\": [\n\t\t\"7VZZ\",\n\t\t90\n\t],\n\t\"./GBT-EUC-V.bcmap\": [\n\t\t\"J62S\",\n\t\t89\n\t],\n\t\"./GBT-H.bcmap\": [\n\t\t\"ZVO1\",\n\t\t88\n\t],\n\t\"./GBT-V.bcmap\": [\n\t\t\"V08j\",\n\t\t87\n\t],\n\t\"./GBTpc-EUC-H.bcmap\": [\n\t\t\"wLxB\",\n\t\t86\n\t],\n\t\"./GBTpc-EUC-V.bcmap\": [\n\t\t\"KZMH\",\n\t\t85\n\t],\n\t\"./GBpc-EUC-H.bcmap\": [\n\t\t\"stqF\",\n\t\t84\n\t],\n\t\"./GBpc-EUC-V.bcmap\": [\n\t\t\"xCas\",\n\t\t83\n\t],\n\t\"./H.bcmap\": [\n\t\t\"/4JE\",\n\t\t82\n\t],\n\t\"./HKdla-B5-H.bcmap\": [\n\t\t\"nkgT\",\n\t\t81\n\t],\n\t\"./HKdla-B5-V.bcmap\": [\n\t\t\"EWjt\",\n\t\t80\n\t],\n\t\"./HKdlb-B5-H.bcmap\": [\n\t\t\"nnUP\",\n\t\t79\n\t],\n\t\"./HKdlb-B5-V.bcmap\": [\n\t\t\"MiaD\",\n\t\t78\n\t],\n\t\"./HKgccs-B5-H.bcmap\": [\n\t\t\"8Nw2\",\n\t\t77\n\t],\n\t\"./HKgccs-B5-V.bcmap\": [\n\t\t\"VrB3\",\n\t\t76\n\t],\n\t\"./HKm314-B5-H.bcmap\": [\n\t\t\"GgTY\",\n\t\t75\n\t],\n\t\"./HKm314-B5-V.bcmap\": [\n\t\t\"YF6o\",\n\t\t74\n\t],\n\t\"./HKm471-B5-H.bcmap\": [\n\t\t\"xMC2\",\n\t\t73\n\t],\n\t\"./HKm471-B5-V.bcmap\": [\n\t\t\"3T+w\",\n\t\t72\n\t],\n\t\"./HKscs-B5-H.bcmap\": [\n\t\t\"dHC8\",\n\t\t71\n\t],\n\t\"./HKscs-B5-V.bcmap\": [\n\t\t\"SgTG\",\n\t\t70\n\t],\n\t\"./Hankaku.bcmap\": [\n\t\t\"DdWE\",\n\t\t69\n\t],\n\t\"./Hiragana.bcmap\": [\n\t\t\"stqh\",\n\t\t68\n\t],\n\t\"./KSC-EUC-H.bcmap\": [\n\t\t\"zbOh\",\n\t\t67\n\t],\n\t\"./KSC-EUC-V.bcmap\": [\n\t\t\"Om9S\",\n\t\t66\n\t],\n\t\"./KSC-H.bcmap\": [\n\t\t\"0V7o\",\n\t\t65\n\t],\n\t\"./KSC-Johab-H.bcmap\": [\n\t\t\"jjir\",\n\t\t64\n\t],\n\t\"./KSC-Johab-V.bcmap\": [\n\t\t\"i+NP\",\n\t\t63\n\t],\n\t\"./KSC-V.bcmap\": [\n\t\t\"ngnl\",\n\t\t62\n\t],\n\t\"./KSCms-UHC-H.bcmap\": [\n\t\t\"OhI3\",\n\t\t61\n\t],\n\t\"./KSCms-UHC-HW-H.bcmap\": [\n\t\t\"jtQD\",\n\t\t60\n\t],\n\t\"./KSCms-UHC-HW-V.bcmap\": [\n\t\t\"RfY1\",\n\t\t59\n\t],\n\t\"./KSCms-UHC-V.bcmap\": [\n\t\t\"RL0w\",\n\t\t58\n\t],\n\t\"./KSCpc-EUC-H.bcmap\": [\n\t\t\"wQwQ\",\n\t\t57\n\t],\n\t\"./KSCpc-EUC-V.bcmap\": [\n\t\t\"wgs1\",\n\t\t56\n\t],\n\t\"./Katakana.bcmap\": [\n\t\t\"IlE6\",\n\t\t55\n\t],\n\t\"./NWP-H.bcmap\": [\n\t\t\"YvdN\",\n\t\t54\n\t],\n\t\"./NWP-V.bcmap\": [\n\t\t\"wwkC\",\n\t\t53\n\t],\n\t\"./RKSJ-H.bcmap\": [\n\t\t\"I6VY\",\n\t\t52\n\t],\n\t\"./RKSJ-V.bcmap\": [\n\t\t\"mGWw\",\n\t\t51\n\t],\n\t\"./Roman.bcmap\": [\n\t\t\"1wMl\",\n\t\t50\n\t],\n\t\"./UniCNS-UCS2-H.bcmap\": [\n\t\t\"NUeI\",\n\t\t49\n\t],\n\t\"./UniCNS-UCS2-V.bcmap\": [\n\t\t\"LzHV\",\n\t\t48\n\t],\n\t\"./UniCNS-UTF16-H.bcmap\": [\n\t\t\"/tWY\",\n\t\t47\n\t],\n\t\"./UniCNS-UTF16-V.bcmap\": [\n\t\t\"i9De\",\n\t\t46\n\t],\n\t\"./UniCNS-UTF32-H.bcmap\": [\n\t\t\"BVCm\",\n\t\t45\n\t],\n\t\"./UniCNS-UTF32-V.bcmap\": [\n\t\t\"u7ou\",\n\t\t44\n\t],\n\t\"./UniCNS-UTF8-H.bcmap\": [\n\t\t\"ptJt\",\n\t\t43\n\t],\n\t\"./UniCNS-UTF8-V.bcmap\": [\n\t\t\"x84W\",\n\t\t42\n\t],\n\t\"./UniGB-UCS2-H.bcmap\": [\n\t\t\"GfME\",\n\t\t41\n\t],\n\t\"./UniGB-UCS2-V.bcmap\": [\n\t\t\"QVOW\",\n\t\t40\n\t],\n\t\"./UniGB-UTF16-H.bcmap\": [\n\t\t\"tE6R\",\n\t\t39\n\t],\n\t\"./UniGB-UTF16-V.bcmap\": [\n\t\t\"kbI5\",\n\t\t38\n\t],\n\t\"./UniGB-UTF32-H.bcmap\": [\n\t\t\"aXC5\",\n\t\t37\n\t],\n\t\"./UniGB-UTF32-V.bcmap\": [\n\t\t\"Dawq\",\n\t\t36\n\t],\n\t\"./UniGB-UTF8-H.bcmap\": [\n\t\t\"sclq\",\n\t\t35\n\t],\n\t\"./UniGB-UTF8-V.bcmap\": [\n\t\t\"7TdJ\",\n\t\t34\n\t],\n\t\"./UniJIS-UCS2-H.bcmap\": [\n\t\t\"yAKh\",\n\t\t33\n\t],\n\t\"./UniJIS-UCS2-HW-H.bcmap\": [\n\t\t\"2K7Q\",\n\t\t32\n\t],\n\t\"./UniJIS-UCS2-HW-V.bcmap\": [\n\t\t\"yPbR\",\n\t\t31\n\t],\n\t\"./UniJIS-UCS2-V.bcmap\": [\n\t\t\"AG0j\",\n\t\t30\n\t],\n\t\"./UniJIS-UTF16-H.bcmap\": [\n\t\t\"Ku36\",\n\t\t29\n\t],\n\t\"./UniJIS-UTF16-V.bcmap\": [\n\t\t\"G72w\",\n\t\t28\n\t],\n\t\"./UniJIS-UTF32-H.bcmap\": [\n\t\t\"ZGTT\",\n\t\t27\n\t],\n\t\"./UniJIS-UTF32-V.bcmap\": [\n\t\t\"iAth\",\n\t\t26\n\t],\n\t\"./UniJIS-UTF8-H.bcmap\": [\n\t\t\"7ixo\",\n\t\t25\n\t],\n\t\"./UniJIS-UTF8-V.bcmap\": [\n\t\t\"9PvY\",\n\t\t24\n\t],\n\t\"./UniJIS2004-UTF16-H.bcmap\": [\n\t\t\"KJnI\",\n\t\t23\n\t],\n\t\"./UniJIS2004-UTF16-V.bcmap\": [\n\t\t\"/Lqd\",\n\t\t22\n\t],\n\t\"./UniJIS2004-UTF32-H.bcmap\": [\n\t\t\"KGie\",\n\t\t21\n\t],\n\t\"./UniJIS2004-UTF32-V.bcmap\": [\n\t\t\"XGCn\",\n\t\t20\n\t],\n\t\"./UniJIS2004-UTF8-H.bcmap\": [\n\t\t\"4e00\",\n\t\t19\n\t],\n\t\"./UniJIS2004-UTF8-V.bcmap\": [\n\t\t\"jXKH\",\n\t\t18\n\t],\n\t\"./UniJISPro-UCS2-HW-V.bcmap\": [\n\t\t\"Ha2c\",\n\t\t17\n\t],\n\t\"./UniJISPro-UCS2-V.bcmap\": [\n\t\t\"jrwT\",\n\t\t16\n\t],\n\t\"./UniJISPro-UTF8-V.bcmap\": [\n\t\t\"59XV\",\n\t\t15\n\t],\n\t\"./UniJISX0213-UTF32-H.bcmap\": [\n\t\t\"z9po\",\n\t\t14\n\t],\n\t\"./UniJISX0213-UTF32-V.bcmap\": [\n\t\t\"vPF8\",\n\t\t13\n\t],\n\t\"./UniJISX02132004-UTF32-H.bcmap\": [\n\t\t\"a8/L\",\n\t\t12\n\t],\n\t\"./UniJISX02132004-UTF32-V.bcmap\": [\n\t\t\"t68O\",\n\t\t11\n\t],\n\t\"./UniKS-UCS2-H.bcmap\": [\n\t\t\"RTkv\",\n\t\t10\n\t],\n\t\"./UniKS-UCS2-V.bcmap\": [\n\t\t\"S9tS\",\n\t\t9\n\t],\n\t\"./UniKS-UTF16-H.bcmap\": [\n\t\t\"wzgU\",\n\t\t8\n\t],\n\t\"./UniKS-UTF16-V.bcmap\": [\n\t\t\"1rto\",\n\t\t7\n\t],\n\t\"./UniKS-UTF32-H.bcmap\": [\n\t\t\"VWuM\",\n\t\t6\n\t],\n\t\"./UniKS-UTF32-V.bcmap\": [\n\t\t\"9oKs\",\n\t\t5\n\t],\n\t\"./UniKS-UTF8-H.bcmap\": [\n\t\t\"gnb+\",\n\t\t4\n\t],\n\t\"./UniKS-UTF8-V.bcmap\": [\n\t\t\"yOvj\",\n\t\t3\n\t],\n\t\"./V.bcmap\": [\n\t\t\"BpCM\",\n\t\t2\n\t],\n\t\"./WP-Symbol.bcmap\": [\n\t\t\"9j+e\",\n\t\t1\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"XyBv\";\nmodule.exports = webpackAsyncContext;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/pdfjs-dist/cmaps lazy ./node_modules/vue-pdf/src/buffer-loader.js ^\\.\\/.*\\.bcmap$\n// module id = XyBv\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2LjAgMTYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw4NDcgTDAsODQ3IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTIuNDE1MDkyLDAgQzE0LjM5NDg3NzMsMCAxNiwxLjYwNTAyMTk3IDE2LDMuNTg1Njg3MzggTDE2LDEyLjQxNTMxNyBDMTYsMTQuMzk0OTc4IDE0LjM5NDg3NzMsMTYgMTIuNDE1MDkyLDE2IEwzLjU4NDkwODAzLDE2IEMxLjYwNTEyMjczLDE2IDAsMTQuMzk0OTc4IDAsMTIuNDE1MzE3IEwwLDMuNTg1Njg3MzggQzAsMS42MDUwMjE5NyAxLjYwNTEyMjczLDAgMy41ODQ5MDgwMywwIEwxMi40MTUwOTIsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEzNS4wIC00MDQuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzNS4wIDQwNC4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy43MDg0NTYyNzQ3MTkwNjQ0IDMuNDkyNjgwNDc3MDg3MjU1KSI+PHBhdGggZD0iTTAsMC41MDIxOTcxMTIgTDguNTgzMDg3NDUsMC41MDIxOTcxMTIiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy43MDg0NTYyNzQ3MTkwNjQ0IDcuNDMwNjA4OTEzOTk4NzQ0KSI+PHBhdGggZD0iTTAsMC41MDIxOTcxMTIgTDguNTgzMDg3NDUsMC41MDIxOTcxMTIiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy43MDg0NTYyNzQ3MTkwNjQ0IDExLjM2ODQzNjkxMTQ4Nzc2KSI+PHBhdGggZD0iTTAsMC41MDIxOTcxMTIgTDYuMTA2MDk1OCwwLjUwMjE5NzExMiIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMTIuNDE1MDkyLDE2IEwzLjU4NDkwODAzLDE2IEMxLjYwNTEyMjczLDE2IDAsMTQuMzk0OTc4IDAsMTIuNDE1MzE3IEwwLDMuNTg1Njg3MzggQzAsMS42MDUwMjE5NyAxLjYwNTEyMjczLDAgMy41ODQ5MDgwMywwIEwxMi40MTUwOTIsMCBDMTQuMzk0ODc3MywwIDE2LDEuNjA1MDIxOTcgMTYsMy41ODU2ODczOCBMMTYsMTIuNDE1MzE3IEMxNiwxNC4zOTQ5NzggMTQuMzk0ODc3MywxNiAxMi40MTUwOTIsMTYgWiIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_font.svg\n// module id = Y51x\n// module chunks = 171","<!-- 我有疑问 -->\r\n<template>\r\n  <div class=\"content-box big-view bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\">\r\n    <img src=\"@/assets/img/back.svg\" @click=\"back\" class=\"back\" />\r\n    <div class=\"selfHelp\" id=\"selfHelp\">\r\n      <div class=\"chatAppBody\">\r\n        <div class=\"chatBox\">\r\n          <div v-for=\"(item, index) in list\" :key=\"'row' + index\">\r\n            <!-- // 左边 -->\r\n            <div class=\"chatRow\" v-if=\"index % 2 == 0\">\r\n              <img class=\"chatAvatar chatAvatar1\" :src=\"require('@/assets/img/tag.svg')\" />\r\n              <div\r\n                class=\"chatRowRobot\"\r\n                v-if=\"!item.knowledge_id && !item.msg_id\"\r\n              >\r\n                <div class=\"chatText\" v-if=\"item.text\">{{ item.welcome }}</div>\r\n                <div class=\"chatText\">\r\n                  {{ item.text || item.category_name }}\r\n                </div>\r\n                <!-- 一级 创建机器人 -->\r\n                <div v-if=\"item.categorys && item.categorys.length\">\r\n                  <div\r\n                    v-for=\"(category, idx) in item.categorys\"\r\n                    :key=\"'category' + idx\"\r\n                  >\r\n                    <div\r\n                      class=\"chatContent\"\r\n                      @click=\"getCategoryKnowledge(category)\"\r\n                    >\r\n                      {{ category.category_name }}>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <!-- 自助查询分类问题列表 二级 -->\r\n                <div v-else-if=\"item.knowledges\">\r\n                  <div\r\n                    v-for=\"(knowledge, idx) in item.knowledges\"\r\n                    :key=\"'knowledge' + idx\"\r\n                  >\r\n                    <div\r\n                      class=\"chatContent\"\r\n                      @click=\"getZizhuKnowledgeAnswer(knowledge)\"\r\n                    >\r\n                      {{ knowledge.knowledge_name }}>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <!-- 自助查询问题答案接口 三级 -->\r\n              <div v-else-if=\"item.knowledge_id\" class=\"answerWrapper\">\r\n                <div\r\n                  class=\"answer\"\r\n                  v-if=\"item.msg_type == 'richtext'\"\r\n                  v-html=\"item.knowledge_answer\"\r\n                ></div>\r\n                <div class=\"answer\" v-else>\r\n                  {{ item.knowledge_answer }}\r\n                </div>\r\n                <div class=\"useWrapper\">\r\n                  <div class=\"use\" @click=\"msgEvaluation(item, 2)\">\r\n                    <img\r\n                      v-if=\"item.checked\"\r\n                      src=\"@/assets/img/usefulchecked.png\"\r\n                    /><img v-else src=\"@/assets/img/useful.svg\" />有用\r\n                  </div>\r\n                  <div class=\"use\" @click=\"msgEvaluation(item, 1)\">\r\n                    <img\r\n                      v-if=\"item.checked1\"\r\n                      src=\"@/assets/img/uselesschecked.png\"\r\n                    /><img v-else src=\"@/assets/img/useless.svg\" />无用\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <!-- 获取用户输入问题答案接口 -->\r\n              <div\r\n                v-else-if=\"item.msg_id && !item.knowledges\"\r\n                class=\"answerWrapper\"\r\n              >\r\n                <div\r\n                  class=\"answer answer1\"\r\n                  v-if=\"item.msg_type == 'richtext'\"\r\n                  v-html=\"item.knowledge_answer\"\r\n                ></div>\r\n                <div class=\"answer\" v-else>\r\n                  {{ item.knowledge_answer }}\r\n                </div>\r\n              </div>\r\n              <div\r\n                v-else-if=\"item.msg_id && item.knowledges\"\r\n                class=\"chatRowRobot\"\r\n              >\r\n                <div\r\n                  class=\"answer answer1\"\r\n                  v-if=\"item.msg_type == 'richtext'\"\r\n                  v-html=\"item.knowledge_answer\"\r\n                ></div>\r\n                <div class=\"answer\" v-else>\r\n                  {{ item.knowledge_answer }}\r\n                </div>\r\n                <!-- 相似问题列表 -->\r\n                <div\r\n                  v-for=\"(knowledge, idx) in item.knowledges\"\r\n                  :key=\"'knowledge' + idx\"\r\n                  class=\"chatContent\"\r\n                  @click=\"getZizhuKnowledgeAnswer(knowledge)\"\r\n                >\r\n                  {{ knowledge.knowledge_name }}>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 右边 -->\r\n            <div class=\"chatRow chatRowMe\" v-else>\r\n              <div class=\"chatMsgContent\">\r\n                {{ item.category_name || item.knowledge_name }}\r\n              </div>\r\n              <img\r\n                v-if=\"user_headimage_show\"\r\n                class=\"chatAvatar\"\r\n                :src=\"require(`@/assets/img/avatarList/${user_headimage_show}`)\"\r\n              />\r\n              <img v-else class=\"chatAvatar\" src=\"@/assets/img/avatarList/headimage1.png\" />\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"chatBottom\">\r\n          <el-button type=\"default\" @click=\"zizhuSearch\">自助查询</el-button>\r\n          <el-button class=\"feedback\" type=\"default\">意见反馈</el-button>\r\n        </div>\r\n        <div class=\"chatBottom chatBottom1\">\r\n          <el-input\r\n            placeholder=\"请输入问题或关键词\"\r\n            id=\"selfHelpKeywords\"\r\n            v-model=\"shuru\"\r\n            @blur=\"blurKeywords\"\r\n            @focus=\"focusKeywords\"\r\n            @change=\"change\"\r\n          ></el-input>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  createRobot,\r\n  getCategoryKnowledge,\r\n  getZizhuKnowledgeAnswer,\r\n  getShuruKnowledgeAnswer,\r\n  getMsgEvaluationSetting,\r\n  msgEvaluation,\r\n  closeRobot,\r\n  getSessionHistory\r\n} from \"@/api/index.js\";\r\nimport { ensurePngSuffix, removeFontSize, getIsAndroid } from \"@/utils/util.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport md5 from \"js-md5\";\r\nimport { Base64 } from \"js-base64\";\r\nimport padInputMiddle from \"@/utils/padInputMiddle.js\";\r\n\r\nexport default {\r\n  mixins: [padInputMiddle],\r\n  components: {},\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      list: [],\r\n      shuru: \"\",\r\n      user_headimage_show: \"\",\r\n      isMobile: false\r\n    };\r\n  },\r\n  computed: {\r\n    user() {\r\n      let user = this.$store.getters.user;\r\n      console.log(user);\r\n      if (typeof user == \"string\") {\r\n        return JSON.parse(user);\r\n      } else {\r\n        return user;\r\n      }\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    }\r\n  },\r\n  watch: {},\r\n  beforeRouteLeave(to, from, next) {\r\n    if (to.name == \"index\") {\r\n      EventBus.$emit(\"setBlackTheme\", \"black\");\r\n    }\r\n    next();\r\n  },\r\n  methods: {\r\n    focusKeywords() {\r\n      if(this.isMobile) {\r\n        const selfHelp = document.getElementById(\"selfHelp\");\r\n        const $selfHelpKeywords = document.getElementById('selfHelpKeywords');\r\n        this.setInputMiddle($selfHelpKeywords, selfHelp, 0);\r\n      }\r\n    },\r\n    blurKeywords() {\r\n      if(this.isMobile) {\r\n        const $selfHelp = document.getElementById('selfHelp');\r\n        $selfHelp.style.paddingBottom = 0+'px';\r\n      }\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n    //滚动到底部\r\n    scrollBottom: function() {\r\n      var _this = this;\r\n      this.$nextTick(function() {\r\n        var container = _this.$el.querySelector(\".chatBox\");\r\n        container.scrollTop = 999999999;\r\n      });\r\n    },\r\n    zizhuSearch() {\r\n      this.list.push({\r\n        category_name: \"自主查询\"\r\n      });\r\n      this.createRobot(1);\r\n    },\r\n    // 创建机器人会话接口\r\n    async createRobot(create_type) {\r\n      try {\r\n        const params = {\r\n          create_type\r\n        };\r\n        const res = await createRobot(params);\r\n        if (res && res.code == 0) {\r\n          let data = res.data;\r\n          if (data.length > 0) {\r\n            this.list.push(data[0]);\r\n            this.scrollBottom();\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async closeRobot(close_reason) {\r\n      try {\r\n        let params = {\r\n          close_reason\r\n        };\r\n        const res = await closeRobot(params);\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 获取自助查询分类问题接口\r\n    async getCategoryKnowledge(category) {\r\n      try {\r\n        // 是否还有下级 1是 2否\r\n        this.list.push(category);\r\n        let params = {\r\n          category_id: category.category_id,\r\n          category_name: category.category_name,\r\n          category_isend: category.category_isend\r\n        };\r\n        const res = await getCategoryKnowledge(params);\r\n        if (res && res.code == 0) {\r\n          if (res.data.length && res.data[0].categorys) {\r\n            let data = res.data[0].categorys[0];\r\n            this.list.push(data);\r\n            this.scrollBottom();\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 获取自助查询问题答案接口\r\n    async getZizhuKnowledgeAnswer(knowledge) {\r\n      try {\r\n        this.list.push(knowledge);\r\n        let time = new Date().getMilliseconds();\r\n        let user_id = this.user.user_id;\r\n        let checksum = md5(user_id + time + knowledge.knowledge_name);\r\n        let params = {\r\n          knowledge_id: knowledge.knowledge_id,\r\n          knowledge_name: knowledge.knowledge_name,\r\n          checksum\r\n        };\r\n        const res = await getZizhuKnowledgeAnswer(params);\r\n        if (res && res.code == 0) {\r\n          if (res.data && res.data[0]) {\r\n            const answer = res.data[0];\r\n            if(answer.knowledge_answer) {\r\n              const answerFormat = removeFontSize(answer.knowledge_answer);\r\n              answer.knowledge_answer = answerFormat;\r\n            }\r\n            this.list.push(answer);\r\n            this.scrollBottom();\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 输入框输入\r\n    change() {\r\n      if (this.shuru) {\r\n        let shuru = this.shuru;\r\n        this.list.push({\r\n          category_name: this.shuru\r\n        });\r\n        this.shuru = \"\";\r\n        this.getShuruKnowledgeAnswer(shuru);\r\n      }\r\n    },\r\n    // 获取用户输入问题答案接口\r\n    async getShuruKnowledgeAnswer(shuru) {\r\n      try {\r\n        let time = new Date().getMilliseconds();\r\n        let user_id = this.user.user_id;\r\n        let checksum = md5(user_id + time + shuru);\r\n        let params = {\r\n          knowledge_name: Base64.encode(shuru),\r\n          checksum\r\n        };\r\n        const res = await getShuruKnowledgeAnswer(params);\r\n        if (res && res.code == 0 && res.data && res.data.length) {\r\n          const answer = res.data[0];\r\n          if(answer.knowledge_answer) {\r\n            const answerFormat = removeFontSize(answer.knowledge_answer);\r\n            answer.knowledge_answer = answerFormat;\r\n          }\r\n          this.list.push(answer);\r\n          this.scrollBottom();\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 机器人回复消息评价接口\r\n    async msgEvaluation(answer, evaluation) {\r\n      try {\r\n        let params = {\r\n          msg_id: answer.msg_id || \"\",\r\n          qiyu_session_id: answer.qiyu_session_id,\r\n          evaluation\r\n        };\r\n        const res = await msgEvaluation(params);\r\n        if (res && res.code == 0) {\r\n          if (evaluation == 2) {\r\n            // answer.checked = true;\r\n            this.$set(answer, \"checked\", true);\r\n            this.$set(answer, \"checked1\", false);\r\n          } else {\r\n            this.$set(answer, \"checked\", false);\r\n            this.$set(answer, \"checked1\", true);\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.list = [];\r\n    this.createRobot(\"\");\r\n    const userInfo = this.$store.getters.user;\r\n    console.log(\"selfhelp userInfo\", userInfo);\r\n    if (userInfo && typeof userInfo == \"string\") {\r\n      const userInfojson = JSON.parse(userInfo);\r\n      this.user_headimage_show = ensurePngSuffix(userInfojson.user_headimage);\r\n    } else if(userInfo) {\r\n      this.user_headimage_show = ensurePngSuffix(userInfo.user_headimage);\r\n    }\r\n  },\r\n  deactivated() {\r\n    this.closeRobot(1);\r\n  },\r\n  mounted() {\r\n    this.fullscreen = true;\r\n    // this.isMobile = getIsAndroid();\r\n    if (window.addEventListener) {\r\n      window.addEventListener('keyboardWillShow', function(event) {\r\n        console.log('Keyboard will show with height:', event.detail.keyboardHeight);\r\n        alert(\"keyboardWillShow:\", event.detail.keyboardHeight)\r\n      });\r\n\r\n      window.addEventListener('keyboardWillHide', function(event) {\r\n        console.log('Keyboard will hide');\r\n      });\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.content-box {\r\n  width: 100%;\r\n  height: 100%;\r\n  padding: 69px 92px;\r\n  display: flex;\r\n  justify-content: center;\r\n  z-index: 105;\r\n}\r\n.selfHelp {\r\n  width: 100%;\r\n  height: 100%;\r\n  background-image: url(\"~@/assets/img/selfhelp.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n  position: relative;\r\n  overflow-y: auto;\r\n}\r\n.back {\r\n  cursor: pointer;\r\n  position: absolute;\r\n  top: 69px;\r\n  left: 31px;\r\n  width: 10px;\r\n  height: 16px;\r\n}\r\n.chatAppBody {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n  background-color: #f2f4f5;\r\n  border-radius: 16px;\r\n}\r\n.chatTitle {\r\n  background: #fff;\r\n}\r\n.chatBox {\r\n  flex: 1;\r\n  padding: 0 37px;\r\n  max-height: 70vh;\r\n  overflow-y: auto;\r\n}\r\n.chatBottom {\r\n  // background: #fff;\r\n  padding: 15px 37px;\r\n  /deep/ .el-button {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #2e2e2e;\r\n    line-height: 21px;\r\n    padding: 5px 15px;\r\n    border-radius: 8px;\r\n    border-color: #64afd5;\r\n  }\r\n  /deep/ .el-input {\r\n    font-size: 14px;\r\n  }\r\n  /deep/ .el-input__inner {\r\n    border-radius: 8px;\r\n    height: 40px;\r\n    line-height: 40px;\r\n    padding: 0 15px;\r\n  }\r\n  .feedback {\r\n    opacity: 0.5;\r\n    color: #292929;\r\n  }\r\n}\r\n.chatBottom1 {\r\n  padding-top: 10px;\r\n  padding-bottom: 42px;\r\n}\r\n.chatRow {\r\n  display: flex;\r\n  align-items: flex-start;\r\n  margin: 20px 0;\r\n  &:first-child {\r\n    padding-top: 37px;\r\n  }\r\n  &:last-child {\r\n    padding-bottom: 37px;\r\n  }\r\n}\r\n.chatAvatar {\r\n  width: 40px;\r\n  height: 40px;\r\n  flex-shrink: 0;\r\n  border-radius: 50%;\r\n}\r\n.chatAvatar1 {\r\n  width: 55px;\r\n  height: 55px;\r\n}\r\n.chatUsername {\r\n  font-size: 12px;\r\n  white-space: nowrap;\r\n  color: #999;\r\n  margin-bottom: 2px;\r\n}\r\n\r\n.chatRowMe {\r\n  justify-content: flex-end;\r\n}\r\n.chatMsgContent {\r\n  padding: 8px 16px;\r\n  background-color: rgb(255, 255, 255);\r\n  box-shadow: 0 5px 30px rgb(50 50 93 / 8%), 0 1px 3px rgb(0 0 0 / 5%);\r\n  font-size: 14px;\r\n  word-break: break-all;\r\n  line-height: 21px;\r\n  border-radius: 10px;\r\n  margin-right: 13px;\r\n  background-color: #64afd5;\r\n  color: #fff;\r\n}\r\n.chatRowRobot {\r\n  width: 351px;\r\n  background-image: url(\"~@/assets/img/chatRowRobotBg.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n  padding: 26px 49px;\r\n  margin-left: 18px;\r\n  .chatText {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 700;\r\n    color: #292929;\r\n    line-height: 18px;\r\n    padding-bottom: 19px;\r\n  }\r\n  .chatContent {\r\n    font-size: 14px;\r\n    word-break: break-all;\r\n    line-height: 39px;\r\n    color: #64afd5;\r\n    cursor: pointer;\r\n  }\r\n}\r\n\r\n.answerWrapper {\r\n  width: 351px;\r\n  margin-left: 18px;\r\n  border-radius: 16px;\r\n  background-color: #fff;\r\n  .answer {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 27px;\r\n    padding: 30px 11px 10px 17px;\r\n  }\r\n  .answer1 {\r\n    padding-bottom: 30px;\r\n  }\r\n  .useWrapper {\r\n    display: flex;\r\n    padding: 0 11px 0 17px;\r\n    border-top: 1px solid #d4d9db;\r\n    img {\r\n      width: 17px;\r\n      height: 15px;\r\n    }\r\n  }\r\n  .use {\r\n    width: 50%;\r\n    padding: 10px 0;\r\n    text-align: center;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #929a9f;\r\n    line-height: 24px;\r\n    letter-spacing: 1px;\r\n    cursor: pointer;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    &:first-of-type {\r\n      border-right: 1px solid #d4d9db;\r\n    }\r\n    img {\r\n      margin-right: 3px;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/SelfHelp.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-box big-view bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : '']},[_c('img',{staticClass:\"back\",attrs:{\"src\":require(\"@/assets/img/back.svg\")},on:{\"click\":_vm.back}}),_vm._v(\" \"),_c('div',{staticClass:\"selfHelp\",attrs:{\"id\":\"selfHelp\"}},[_c('div',{staticClass:\"chatAppBody\"},[_c('div',{staticClass:\"chatBox\"},_vm._l((_vm.list),function(item,index){return _c('div',{key:'row' + index},[(index % 2 == 0)?_c('div',{staticClass:\"chatRow\"},[_c('img',{staticClass:\"chatAvatar chatAvatar1\",attrs:{\"src\":require('@/assets/img/tag.svg')}}),_vm._v(\" \"),(!item.knowledge_id && !item.msg_id)?_c('div',{staticClass:\"chatRowRobot\"},[(item.text)?_c('div',{staticClass:\"chatText\"},[_vm._v(_vm._s(item.welcome))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"chatText\"},[_vm._v(\"\\n                \"+_vm._s(item.text || item.category_name)+\"\\n              \")]),_vm._v(\" \"),(item.categorys && item.categorys.length)?_c('div',_vm._l((item.categorys),function(category,idx){return _c('div',{key:'category' + idx},[_c('div',{staticClass:\"chatContent\",on:{\"click\":function($event){return _vm.getCategoryKnowledge(category)}}},[_vm._v(\"\\n                    \"+_vm._s(category.category_name)+\">\\n                  \")])])}),0):(item.knowledges)?_c('div',_vm._l((item.knowledges),function(knowledge,idx){return _c('div',{key:'knowledge' + idx},[_c('div',{staticClass:\"chatContent\",on:{\"click\":function($event){return _vm.getZizhuKnowledgeAnswer(knowledge)}}},[_vm._v(\"\\n                    \"+_vm._s(knowledge.knowledge_name)+\">\\n                  \")])])}),0):_vm._e()]):(item.knowledge_id)?_c('div',{staticClass:\"answerWrapper\"},[(item.msg_type == 'richtext')?_c('div',{staticClass:\"answer\",domProps:{\"innerHTML\":_vm._s(item.knowledge_answer)}}):_c('div',{staticClass:\"answer\"},[_vm._v(\"\\n                \"+_vm._s(item.knowledge_answer)+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"useWrapper\"},[_c('div',{staticClass:\"use\",on:{\"click\":function($event){return _vm.msgEvaluation(item, 2)}}},[(item.checked)?_c('img',{attrs:{\"src\":require(\"@/assets/img/usefulchecked.png\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/useful.svg\")}}),_vm._v(\"有用\\n                \")]),_vm._v(\" \"),_c('div',{staticClass:\"use\",on:{\"click\":function($event){return _vm.msgEvaluation(item, 1)}}},[(item.checked1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/uselesschecked.png\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/useless.svg\")}}),_vm._v(\"无用\\n                \")])])]):(item.msg_id && !item.knowledges)?_c('div',{staticClass:\"answerWrapper\"},[(item.msg_type == 'richtext')?_c('div',{staticClass:\"answer answer1\",domProps:{\"innerHTML\":_vm._s(item.knowledge_answer)}}):_c('div',{staticClass:\"answer\"},[_vm._v(\"\\n                \"+_vm._s(item.knowledge_answer)+\"\\n              \")])]):(item.msg_id && item.knowledges)?_c('div',{staticClass:\"chatRowRobot\"},[(item.msg_type == 'richtext')?_c('div',{staticClass:\"answer answer1\",domProps:{\"innerHTML\":_vm._s(item.knowledge_answer)}}):_c('div',{staticClass:\"answer\"},[_vm._v(\"\\n                \"+_vm._s(item.knowledge_answer)+\"\\n              \")]),_vm._v(\" \"),_vm._l((item.knowledges),function(knowledge,idx){return _c('div',{key:'knowledge' + idx,staticClass:\"chatContent\",on:{\"click\":function($event){return _vm.getZizhuKnowledgeAnswer(knowledge)}}},[_vm._v(\"\\n                \"+_vm._s(knowledge.knowledge_name)+\">\\n              \")])})],2):_vm._e()]):_c('div',{staticClass:\"chatRow chatRowMe\"},[_c('div',{staticClass:\"chatMsgContent\"},[_vm._v(\"\\n              \"+_vm._s(item.category_name || item.knowledge_name)+\"\\n            \")]),_vm._v(\" \"),(_vm.user_headimage_show)?_c('img',{staticClass:\"chatAvatar\",attrs:{\"src\":require((\"@/assets/img/avatarList/\" + _vm.user_headimage_show))}}):_c('img',{staticClass:\"chatAvatar\",attrs:{\"src\":require(\"@/assets/img/avatarList/headimage1.png\")}})])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"chatBottom\"},[_c('el-button',{attrs:{\"type\":\"default\"},on:{\"click\":_vm.zizhuSearch}},[_vm._v(\"自助查询\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"feedback\",attrs:{\"type\":\"default\"}},[_vm._v(\"意见反馈\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"chatBottom chatBottom1\"},[_c('el-input',{attrs:{\"placeholder\":\"请输入问题或关键词\",\"id\":\"selfHelpKeywords\"},on:{\"blur\":_vm.blurKeywords,\"focus\":_vm.focusKeywords,\"change\":_vm.change},model:{value:(_vm.shuru),callback:function ($$v) {_vm.shuru=$$v},expression:\"shuru\"}})],1)])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-31b3e79b\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SelfHelp.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-31b3e79b\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SelfHelp.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelfHelp.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelfHelp.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-31b3e79b\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SelfHelp.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-31b3e79b\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SelfHelp.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzMHB4IiBoZWlnaHQ9IjUycHgiIHZpZXdCb3g9IjAgMCAyMzAuMCA1Mi4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImkwIj48cGF0aCBkPSJNNDQxLDAgTDQ0MSw4MTIgTDAsODEyIEwwLDAgTDQ0MSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0yOC41MTUyODg0LDQuNDA1MzY0OTZlLTEzIEMzMy4xODc3MTg1LDQuNDA1MzY0OTZlLTEzIDM3LjMxMTM5MDMsOS44MDk5OTA3OSA0My44NDM2NTgsOS44MDk5OTA3OSBDNTAuMzc1OTI1Nyw5LjgwOTk5MDc5IDU0Ljg5NTAyMjcsMTIuNTM2MTk0NyA2My4yNTQwMTE1LDEyLjUzNjE5NDcgQzcxLjYxMzAwMDIsMTIuNTM2MTk0NyA4NC4zOTAyNjY0LDguMTAxMjIxNTEgOTEuODc5NDUwOSwxMC44MDk5OTA4IEM5NS4zNTY5OTA3LDEyLjA2Nzc4NSAxMDEuNDU2OTQ4LDEzLjIxMzc4MzYgMTEwLjE3OTMyMSwxNC4yNDc5ODY2IEMxMTYuMjc5MjA5LDEzLjc0MzA1OCAxMjAuNzIxNTkzLDEzLjI1OTYwOTkgMTIzLjUwODYyOSwxMi43OTcyOTk2IEMxMzAuNTExMzE4LDExLjYzNTcwMTIgMTQyLjA1NzY2NiwxMS41NDQwNDAyIDE1MC40ODM5MjcsMTEuNTM2ODEyOCBMMTUyLjYzNjI2OSwxMS41MzYxOTQ3IEMxNjEuMTQxOTA3LDExLjUzNjE5NDcgMTY1Ljc0MDI4Niw3Ljc5NzI5OTU2IDE3Mi4zODcxNTUsNy43OTcyOTk1NiBDMTc5LjAzNDAyNCw3Ljc5NzI5OTU2IDE4My4yMzAwNDEsMy42ODU5NzA1MiAxODcuOTg0NDQzLDMuNjg1OTcwNTIgQzE5Mi43Mzg4NDYsMy42ODU5NzA1MiAxOTQuODc3NjUyLDE0Ljc5NzI5OTYgMjAwLjUwMDI3NiwxNC43OTcyOTk2IEMyMDYuMTIyOSwxNC43OTcyOTk2IDIxMy4xMTc3MTIsMTIuNTM2MTk0NyAyMTcsMTIuNTM2MTk0NyBMMjE3LDE4LjUzNjE5NDcgQzIxMy4xMTc3MTIsMTguNTM2MTk0NyAyMDYuMTIyOSwxNi4yNzUwODk5IDIwMC41MDAyNzYsMTYuMjc1MDg5OSBDMTk0Ljg3NzY1MiwxNi4yNzUwODk5IDE5Mi43Mzg4NDYsMjcuMzg2NDE4OSAxODcuOTg0NDQzLDI3LjM4NjQxODkgQzE4My4yMzAwNDEsMjcuMzg2NDE4OSAxNzkuMDM0MDI0LDIzLjI3NTA4OTkgMTcyLjM4NzE1NSwyMy4yNzUwODk5IEMxNjUuNzQwMjg2LDIzLjI3NTA4OTkgMTYxLjE0MTkwNywxOS41MzYxOTQ3IDE1Mi42MzYyNjksMTkuNTM2MTk0NyBMMTUxLjIxOTEyOCwxOS41MzYwMjAzIEMxNDIuNzQwNzkzLDE5LjUzMjgxNTUgMTMwLjcxNzI4LDE5LjQ3MDg1MjkgMTIzLjUwODYyOSwxOC4yNzUwODk5IEMxMjAuNzIwOTgzLDE3LjgxMjY3ODIgMTE2LjI3NzI2MywxNy4zMjkxMTk2IDExMC4xNzc0NjksMTYuODI0NDE0MSBDMTAxLjQ1NTA3OSwxNy44NTg5NTY4IDk1LjM1NjQ1ODIsMTkuMDA0Nzk3MSA5MS44Nzk0NTA5LDIwLjI2MjM5ODcgQzg0LjM5MDI2NjQsMjIuOTcxMTY4IDcxLjYxMzAwMDIsMTkuNTM2MTk0NyA2My4yNTQwMTE1LDE5LjUzNjE5NDcgQzU0Ljg5NTAyMjcsMTkuNTM2MTk0NyA1MC4zNzU5MjU3LDIyLjI2MjM5ODcgNDMuODQzNjU4LDIyLjI2MjM5ODcgQzM3LjMxMTM5MDMsMjIuMjYyMzk4NyAzMy4xODc3MTg1LDMxLjA3MjM4OTUgMjguNTE1Mjg4NCwzMS4wNzIzODk1IEMyMy44NDI4NTgzLDMxLjA3MjM4OTUgMjEuNzQwOTI4NywyMi4yNjIzOTg3IDE2LjIxNTI0NjQsMjIuMjYyMzk4NyBDMTAuNjg5NTY0LDIyLjI2MjM5ODcgMy44MTUzNTIwOSwzMC41MzYxOTQ3IDAsMzAuNTM2MTk0NyBMMCwwLjUzNjE5NDczMyBDMy44MTUzNTIwOSwwLjUzNjE5NDczMyAxMC42ODk1NjQsOC44MDk5OTA3OSAxNi4yMTUyNDY0LDguODA5OTkwNzkgQzIxLjc0MDkyODcsOC44MDk5OTA3OSAyMy44NDI4NTgzLDQuNDA1MzY0OTZlLTEzIDI4LjUxNTI4ODQsNC40MDUzNjQ5NmUtMTMgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJpMiIgeDE9Ii0yLjA4NDk2ODEycHgiIHkxPSIxcHgiIHgyPSIxOTguMjY5MTAzcHgiIHkyPSIxcHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDIzNSwgMjM4LCAyMzksIDApIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUQ4QSIgb2Zmc2V0PSI0LjYxMTAxMzk5JSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDdFNzAiIG9mZnNldD0iOTMuMTk1NDc2NCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDIxMSwgMjE3LCAyMTgsIDApIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMCAtNDc4LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMi4wIDQ3OC4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi40OTk5OTk5OTk5OTgxODEgMTAuNDYzODA1MjY2NzcxMDIpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wIDE1LjUzNjE5NDczMzIyOTQyMikiPjxwYXRoIGQ9Ik0wLjMyMjI1OTEzNiwwLjUgTDE5My42Nzc3NDEsMC41IiBzdHJva2U9InVybCgjaTIpIiBzdHJva2Utd2lkdGg9IjM1IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IiAxLjAgNS4wIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/voice-wave1.svg\n// module id = YSDf\n// module chunks = 171","// 导入组件\r\nimport Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport { getIsMobile}  from '@/utils/util';\r\nimport { getUserInfo } from \"@/utils/auth\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport store from \"@/vuex/index\";\r\nimport { checkIsOtherDevice } from \"@/utils/util\";\r\n\r\n// 启用路由\r\nVue.use(Router);\r\n\r\n// 获取原型对象上的push函数\r\nconst originalPush = Router.prototype.push;\r\n// 修改原型对象中的push方法\r\nRouter.prototype.push = function push(location) {\r\n  return originalPush.call(this, location).catch(err => err);\r\n};\r\n\r\nfunction isMobile() {\r\n  // console.log(\"navigator.userAgent:\", navigator.userAgent);\r\n  // const userAgentInfor = navigator.userAgent.toLowerCase();\r\n  // const windowsVersion = userAgentInfor.substr(userAgentInfor.indexOf('windows nt ') + 11,4);\r\n  // console.log(\"windowsVersion:\", windowsVersion)\r\n  if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPad|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)) {\r\n    return true; // 移动端\r\n  }else if((navigator.platform === 'MacIntel' || navigator.platform.match(/Linux/)) && navigator.maxTouchPoints >= 1) {\r\n    return true; // 移动端\r\n  }else{\r\n    return false; // PC端\r\n  }\r\n}\r\n\r\nlet routes = [];\r\n\r\nif (isMobile()) {\r\n  routes = require('@/router/mobile-routes').default;\r\n} else {\r\n  routes = require('@/router/web-routes').default;\r\n}\r\n\r\nconst router = new Router({\r\n  routes: routes\r\n});\r\n\r\nfunction openRouterAnimation(to, from, next) {\r\n  if (\r\n    (to.name == \"CommitProblem\" ||\r\n      to.name == \"CultrueContentAudioDetail\" ||\r\n      to.name == \"CultrueContentVideoDetail\" ||\r\n      to.name == \"Silence\" ||\r\n      to.name == \"TipsViewAdd\" || to.name == \"TAudioAdd\" || to.name == 'QuestionListHistory') &&\r\n    (from.name == \"index\" || from.name == \"PersonalCenter\")\r\n  ) {\r\n    const historyOperate = store.getters.historyOperate;\r\n    const isContained = historyOperate.some(item => {\r\n      return item.type === \"fullscreen\";\r\n    });\r\n    console.log(isContained);\r\n    if (!isContained) {\r\n      EventBus.$emit(\"OPEN_OTHER_PAGE\");\r\n      store.dispatch(\"pushHistoryOperate\", {\r\n        type: \"openOtherPage\"\r\n      });\r\n      console.log(\"next\");\r\n      next();\r\n    } else {\r\n      console.log(\"next\");\r\n      next();\r\n    }\r\n  } else if (from.name == \"TipsViewAdd\" && to.name == \"index\") {\r\n    next();\r\n  } else {\r\n    console.log(\"next\");\r\n    next();\r\n  }\r\n}\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n  console.log(\"beforeEach:\", to, from);\r\n  const isOtherDevice = checkIsOtherDevice();\r\n  console.log(\"isOtherDevice:\", isOtherDevice);\r\n\r\n  const isMobile = getIsMobile();\r\n  console.log(\"isMobile:\", isMobile);\r\n\r\n  // 去掉手机跳转下载主站的判断。用户如果是手机访问也不做任何处理。避免有些平板浏览器默认设置为手机模式导致不可用\r\n  // const isMobileDevice = false;\r\n  // if (isMobileDevice) {\r\n  //   // next({ name: 'appRemind' })\r\n  //   location.href = \"https://www.metanoteapp.com/\";\r\n  // }\r\n  if (isOtherDevice) {\r\n    if(to.name != 'WeixinRemind') {\r\n      next({ name: 'WeixinRemind' });\r\n    } else {\r\n      next();\r\n    }\r\n    // next({ name: 'WeixinRemind' })\r\n  } else {\r\n    const user = getUserInfo();\r\n    let userInfo = \"\";\r\n    if (user && typeof user === \"string\") {\r\n      userInfo = JSON.parse(user);\r\n    } else if (user) {\r\n      userInfo = user;\r\n    }\r\n    if (to.matched.length != 0) {\r\n      if (to.meta.requireAuth) {\r\n        // 判断该路由是否需要登录权限\r\n        if (userInfo) {\r\n          console.log(\"isDeleteCourse\", store.getters.isDeleteCourse, to.name != 'CourseSelect')\r\n          console.log(\"to CourseSelect\");\r\n          // 重置密码页如果返回到登录页的话\r\n          if(userInfo.user_password_reset == 1 && (to.name == 'login')) {\r\n            next();\r\n          } else if(userInfo.user_password_reset == 1 && to.name != 'resetPwd') {\r\n            // 需要重置\r\n            next({\r\n              path: \"/resetPwd\",\r\n            });\r\n          } else if(store.getters.isDeleteCourse && to.name != 'CourseSelect') {\r\n            next({\r\n              path: \"/CourseSelect\",\r\n            });\r\n          } else {\r\n            // 通过vuex state获取当前的user是否存在\r\n            const isContained = store.getters.historyOperate.some(item => {\r\n              return item.type === \"fullscreen\";\r\n            });\r\n            if (!isContained) {\r\n              openRouterAnimation(to, from, next);\r\n            } else {\r\n              console.log(\"next\");\r\n              next();\r\n            }\r\n          }\r\n        } else {\r\n          console.log(\"next\");\r\n          next({\r\n            path: \"/login\",\r\n            query: { redirect: to.fullPath } // 将跳转的路由path作为参数，登录成功后跳转到该路由\r\n          });\r\n        }\r\n      } else {\r\n        if (userInfo) {\r\n          // 重置密码页如果返回到登录页的话\r\n          if(userInfo.user_password_reset == 1 && (to.name == 'login' || from.name == 'login')) {\r\n            next();\r\n          } else if (to.path != \"/\" && to.path != \"/login\") {\r\n            // 判断是否登录\r\n            //判断是否要跳到登录界面\r\n            next();\r\n          } else {\r\n            /**\r\n             * 防刷新，如果登录，修改路由跳转到登录页面，修改路由为登录后的首页\r\n             */\r\n            next({\r\n              path: \"/\"\r\n            });\r\n          }\r\n        } else {\r\n          console.log(\"next\");\r\n          next();\r\n        }\r\n      }\r\n    } else {\r\n      console.log(\"next\");\r\n      next({\r\n        path: \"/login\",\r\n        query: { redirect: to.fullPath } // 将跳转的路由path作为参数，登录成功后跳转到该路由\r\n      });\r\n    }\r\n  }\r\n\r\n});\r\n// 导出路由\r\nexport default router;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","// 导入组件\r\n// 登录\r\nimport login from \"@/views/login01\";\r\n// 重置密码\r\nimport resetPwd from \"@/components/resetPwd\";\r\n// app提醒页\r\nimport appRemind from \"@/views/appRemind\";\r\n// 微信提醒页\r\nimport WeixinRemind from \"@/views/WeixinRemind\";\r\n// 课程选择页面\r\nimport CourseSelect from \"@/views/CourseSelect\";\r\n// 首页\r\nimport index from \"@/views/index\";\r\n/**\r\n * 基础菜单\r\n */\r\n// 首页\r\nimport index1 from \"@/views/index/Index\";\r\n// 思维导图首页\r\nimport OutlineIndex from \"@/views/index/OutlineIndex\";\r\n// 思维导图首页\r\nimport EditorIndex from \"@/views/index/EditorIndex\";\r\n// 白牌\r\nimport EditTips from \"@/views/white/EditTips.vue\";\r\nimport CreateTips from \"@/views/white/CreateTips.vue\";\r\nimport WhiteCaseList from \"@/views/white/CaseList.vue\";\r\nimport Collected from \"@/views/white/personal/collected.vue\";\r\nimport CollectedMess from \"@/views/white/personal/collectedMess.vue\";\r\n\r\n// 问题推荐\r\nimport CommitProblem from \"@/views/white/CommitProblem.vue\";\r\nimport ProblemSolving from \"@/views/white/problemSolving.vue\";\r\n\r\n// 修学日志\r\nimport StudyLog from \"@/views/white/studyLog/Index.vue\";\r\nimport StudyLogMobile from \"@/views/white/studyLog/IndexMobile.vue\";\r\nimport StudyLogDetail from \"@/views/white/studyLog/DetailIndex.vue\";\r\n\r\n// 我有疑问\r\nimport SelfHelp from \"@/components/SelfHelp.vue\";\r\n\r\nimport TipsViewAdd from \"@/views/white/TipsViewAdd.vue\";\r\nimport TipsViewDetail from \"@/views/white/TipsViewDetail.vue\";\r\nimport TAudioAdd from \"@/views/white/TAudioAdd.vue\";\r\nimport Silence from \"@/views/white/Silence.vue\";\r\nimport CultrueContentAudioDetail from \"@/views/white/CultrueContentAudioDetail.vue\";\r\nimport CultrueContentVideoDetail from \"@/views/white/CultrueContentVideoDetail.vue\";\r\nimport CultrueContentDetail from \"@/views/white/CultrueContentDetail.vue\";\r\nimport QuestionListHistory from \"@/views/white/QuestionListHistory.vue\";\r\nimport PdfRead from '@/components/Pdf.vue'\r\n\r\n//黑牌\r\nimport CaseList from \"@/views/black/CaseList.vue\";\r\nimport BlackCaseDetail from \"@/views/black/Detail.vue\";\r\nimport MyCases from \"@/views/black/MyCases.vue\";\r\nimport CreateCase from \"@/views/black/CreateCase.vue\";\r\nimport EditCase from \"@/views/black/EditCase.vue\";\r\nimport TipsList from \"@/views/black/TipsList.vue\";\r\n\r\nimport TreeMind from \"@/views/test/TreeMind.vue\";\r\n// 左侧大icon图标跳转页面\r\nimport Icon_culture from \"@/views/white/Icon_culture\";\r\n\r\n// 问题解决步骤条,无法跳转到此页面\r\nimport cs from \"@/views/white/problemSolving.vue\";\r\n\r\n//白牌路由主页\r\nimport whiteMain from \"@/views/white/whiteMain\";\r\n//个人信息设置\r\nimport Set from \"@/views/white/set.vue\";\r\nimport MindMessage from \"@/views/white/personal/mindMessage.vue\";\r\n//个人中心\r\nimport PersonalCenter from \"@/views/white/personalCenter.vue\";\r\n//我发布的心得\r\nimport PulishExperience from \"@/views/white/personal/pulishExperience.vue\";\r\n//个人中心心得详情\r\nimport ExperienceMess from \"@/views/white/personal/collectedMess.vue\";\r\n//我发布的黑牌案例\r\nimport publishBlackCase from \"@/views/black/publishBlackCase.vue\";\r\n\r\nexport default [\r\n    {\r\n      path: \"/login\",\r\n      name: \"login\",\r\n      component: login,\r\n      hidden: true,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/CultrueContentDetail\",\r\n      name: \"CultrueContentDetail\",\r\n      component: CultrueContentDetail,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/PdfRead\",\r\n      name: \"PdfRead\",\r\n      component: PdfRead,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/white/PdfRead\",\r\n      name: \"PdfRead\",\r\n      component: PdfRead,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/resetPwd\",\r\n      name: \"resetPwd\",\r\n      component: resetPwd,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/CourseSelect\",\r\n      name: \"CourseSelect\",\r\n      component: CourseSelect,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/appRemind\",\r\n      name: \"appRemind\",\r\n      component: appRemind,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/WeixinRemind\",\r\n      name: \"WeixinRemind\",\r\n      component: WeixinRemind,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/white/test\",\r\n      name: \"test\",\r\n      component: TreeMind,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/outline\",\r\n      name: \"outlineComp\",\r\n      component: OutlineIndex,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/editor\",\r\n      name: \"editorComp\",\r\n      component: EditorIndex,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/\",\r\n      name: \"index\",\r\n      component: index1,\r\n      meta: {\r\n        requireAuth: true\r\n      },\r\n      children: [\r\n        {\r\n          path: \"/white/EditTips\",\r\n          name: \"EditTips\",\r\n          components: {\r\n            white: EditTips\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/ProblemSolving\",\r\n          name: \"ProblemSolving\",\r\n          components: {\r\n            white: ProblemSolving\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CreateTips\",\r\n          name: \"CreateTips\",\r\n          components: {\r\n            white: CreateTips\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/WhiteCaseList\",\r\n          name: \"WhiteCaseList\",\r\n          components: {\r\n            white: WhiteCaseList\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/CaseList\",\r\n          name: \"CaseList\",\r\n          components: {\r\n            black: CaseList\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/BlackCaseDetail\",\r\n          name: \"BlackCaseDetail\",\r\n          components: {\r\n            black: BlackCaseDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/MyCases\",\r\n          name: \"MyCases\",\r\n          components: {\r\n            black: MyCases\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/CreateCase\",\r\n          name: \"CreateCase\",\r\n          components: {\r\n            black: CreateCase\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/EditCase\",\r\n          name: \"EditCase\",\r\n          components: {\r\n            black: EditCase\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TipsList\",\r\n          name: \"TipsList\",\r\n          components: {\r\n            white: TipsList\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/publishBlackCase\",\r\n          name: \"publishBlackCase\",\r\n          components: {\r\n            black: publishBlackCase\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CommitProblem\",\r\n          name: \"CommitProblem\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: CommitProblem\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/StudyLog\",\r\n          name: \"StudyLog\",\r\n          components: {\r\n            white: StudyLogMobile\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/StudyLogDetail\",\r\n          name: \"StudyLogDetail\",\r\n          components: {\r\n            white: StudyLogDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/SelfHelp\",\r\n          name: \"SelfHelp\",\r\n          components: {\r\n            white: SelfHelp\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TipsViewAdd\",\r\n          name: \"TipsViewAdd\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: TipsViewAdd\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TAudioAdd\",\r\n          name: \"TAudioAdd\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: TAudioAdd\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/Silence\",\r\n          name: \"Silence\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: Silence\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/QuestionListHistory\",\r\n          name: \"QuestionListHistory\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: QuestionListHistory\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TipsViewDetail\",\r\n          name: \"TipsViewDetail\",\r\n          components: {\r\n            white: TipsViewDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/PersonalCenter\",\r\n          name: \"PersonalCenter\",\r\n          components: {\r\n            white: PersonalCenter\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/PulishExperience\",\r\n          name: \"PulishExperience\",\r\n          components: {\r\n            white: PulishExperience\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/ExperienceMess\",\r\n          name: \"ExperienceMess\",\r\n          components: {\r\n            white: ExperienceMess\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/Set\",\r\n          name: \"Set\",\r\n          components: {\r\n            white: Set\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/MindMessage\",\r\n          name: \"MindMessage\",\r\n          components: {\r\n            white: MindMessage\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/Collected\",\r\n          name: \"Collected\",\r\n          components: {\r\n            white: Collected\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CollectedMess\",\r\n          name: \"CollectedMess\",\r\n          components: {\r\n            white: CollectedMess\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CultrueContentAudioDetail\",\r\n          name: \"CultrueContentAudioDetail\",\r\n          components: {\r\n            white: CultrueContentAudioDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CultrueContentVideoDetail\",\r\n          name: \"CultrueContentVideoDetail\",\r\n          components: {\r\n            white: CultrueContentVideoDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n      ]\r\n    },\r\n    {\r\n      path: \"/icon_culture\",\r\n      component: Icon_culture\r\n    },\r\n    {\r\n      path: \"/cs\",\r\n      component: cs\r\n    },\r\n  ];\n\n\n// WEBPACK FOOTER //\n// ./src/router/mobile-routes.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAaCAYAAADBuc72AAAAAXNSR0IArs4c6QAAA75JREFUWEfV1VtsFFUYB/D/f7fblhYqESESQ9BEiZhg4iVqvLQULF172amEKDHxDrazifgivohP4ov6oiY7XUS8JQYNwW7brVsRS/ESNV4SScREEzFqMCAGCy297f7NzBzoCvSy3QXqeZrJnPN9v/nO+WaI/8mgPnpzHgb670aweBfr1/06k9xKbl2M9HANysrfp9qcJKA6EP0Aa2nZn80ErBLObYC6IZQD7BqDujqiDwHWsNH+6kJi1eHchIx2QajwHS40uWUJRkd7IVxqcEdBrqBlf3chsEo410H6GMBc34g/UVRURfdaba3XgJk9EOYb3BGEgtWsb953PrFKxpdhJN0DYJ5BHoYCy9nU8oMH9bCJV6+FRnsAXWzKfQjBQBUbm388H1h1xK9GOtMLaIHJ/zdYVE1r/fd+YbOGOmM3YJS7AV1kJh8EQ5W01v18LrFKbL0SGtkLaKHJ+w+KtJIN0W9O5v0P1Ktse+wWiB9CmmMm/YYSVvIu+8C5wOoD53IMaS+ARf528xioVYxEv8jOdwbUw3bG7kCaKUhl5qz8glCoknXrfy8kVt3bFmFw0G3kKwxyAEGF2RD95PQ8Z4X6lXVWQEhCKjVBfkJJoIrh5oOFwCoVX4ihTC+kq0z8QRD1jNhux58xxoX6DdYahpQAVGxW7scsLmetfSgfrLqdBTihPQCWmjM5DNKi1ZIaL+6EUB8bi0DcAShkgu7D7LJq3vngkelgvV/28QH367LMxBsBtYZWtH2ieJNCPWxb6xpA2wEFzTZ9i4rSlax++GguWPW8Phd9g7shXW+QaYBr2dSyY7I4U4J62I7YfUjjbQAB02BfAiU1tB49NlkSf2demwMMub/Fm838DIK4n43Rd6ayfspQ02APQdgGyV9HfIrS2WHWPtA/UTJ1v1WOweMpCLebHRGIRxix35gK0k+V41C704yMWk8tI3ow/5J63nrPibOF0ufvzcLhv5IQqk89D7CFETueS+qcof6ZdTYAemksEbtRvNhiXd1QdnJ1dZVg+IDbJKuy5j7BJvvlXJDTqujJBErENkJ4fqyy7MRlgdW8sXnEe5mv4yH8kdkJqSGr+k/Rir6QKzIvqN8gsU0Qns2C7ETF0nu9+77970JYnfXsGVrRzdNB5g01DbYZGT2dVdnt3rW0NutMPseIvWm6yIJA/TMbc7fzyXEgL7IpujEfZMGgBus2yOOngV5hU3RDvsjCQt1va7vTCuExD0ZsQcRuIakZBfWPpYgOJ+zBGu1UoZAFrWghqjZRjH8BWS1XA3UYSGoAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/medidate_more_down_2.png\n// module id = YikU\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjIzcHgiIGhlaWdodD0iMjFweCIgdmlld0JveD0iMCAwIDIzIDIxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgNuWkh+S7vSA0PC90aXRsZT4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxOS43Mzg1NDI1JSIgeTE9IjIwLjE3ODUxNzYlIiB4Mj0iNzcuNDY2Mzc1MyUiIHkyPSI4Mi43OTI0NzUlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThCIiBvZmZzZXQ9IjAlIj48L3N0b3A+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NDZCIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4NCiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICA8L2RlZnM+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhteeZvW1pbmlWMuW/g+W+l+W5v+WcuiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTkxMy4wMDAwMDAsIC0zMjIuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0i57yW57uELTblpIfku70tNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTEzLjIwODY3MywgMzIyLjc4ODc0OSkiPg0KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMCI+PC9yZWN0Pg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOS45OTMzNTgzLDcuNjE2MDQ0OCBDMTkuOTkzMzU4Myw0LjkzMjc0NjAzIDE3LjgxODQwMTMsMi43NTcwOTgzOCAxNS4xMzQ0MTE5LDIuNzU3MDk4MzggQzEzLjM3MTEwMTMsMi43NTcwOTgzOCAxMS44Mjc0Mjc1LDMuNjk3MTE2MyAxMC45NzU4MTY4LDUuMTAyNjUzNzUgQzEwLjEyNDg5NjgsMy42OTcxMTYzIDguNTgwNTMyMzYsMi43NTcwOTgzOCA2LjgxNzIyMTc0LDIuNzU3MDk4MzggQzQuMTMzOTIyOTgsMi43NTcwOTgzOCAxLjk1ODk2NjAxLDQuOTMyNzQ2MDMgMS45NTg5NjYwMSw3LjYxNjA0NDggQzEuOTU4OTY2MDEsMTIuMzY3OTM1NSAxMC45NzU4MTY4LDE4LjU2ODg3NjcgMTAuOTc1ODE2OCwxOC41Njg4NzY3IEMxMC45NzU4MTY4LDE4LjU2ODg3NjcgMTkuOTkzMzU4MywxMi4zNjc5MzU1IDE5Ljk5MzM1ODMsNy42MTYwNDQ4IFoiIGlkPSJTdHJva2UtMSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/not_collect.svg\n// module id = Z0J1\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAiCAYAAABBY8kOAAAAAXNSR0IArs4c6QAABN5JREFUSEu9ln1sU1UYxp/37CtMJotTURhGFHC3jQgSEIRESUAl6Hrrt4kxYna7CVlQEAkQSFEUPyAQJXy0jdGQGGNi2g7FCCIhIogK4qAtY3wYGUYTNRCHY13vfcy967Ar3egG8fx3P87zO+973vc5R/A/DbkSHJKyHBC/iNWT3mWBfD+wiKcSb1PwHMgyEewUVbgsUH3b7mzgZYGMSOxjEo9ligqcqN4dOLhs0Zq7h7V1fes3qDZyZJZJ8z1bSCBRKnwDcj6Iwel3zSLySEDXDnU+92PMjhwb1sHkIYKDINJYOVIb73dLcs6XiYpkK9eRfNIRF/mjRNQd6zxVv/YLVBOObwM4XYAOoGhC0DvqYOZ6ayPxJyziQ4JKlCwNelwr+gwyorE6WthgCyvIsoDX9WqupBiRWIJElYhsDOqu5/sEqmk4MlxMs5HAQED2V5ZrE/1TJZUNMhpiM2hiq7MYUXUBXduUN8juFV8ksZPgPSLSrlB05yZ9ZDwb8kL4ZHmrtMVADhHBL4MGVLhW3X/DubxBRjQ+lxbXplO2MOB1vZUrZTXh+GaAT0OEBeT0TV73jryrzvgsMQpJHiQ4AJC9lbo2JZcL+MJx3QLD6YpbH9Rdc/LuIz+pWiKJ3QAnCaQNxTImOFM7mh2Nb0vTtZaZOpzuoxPlpRWj7ZTlDfKF4y9b4JudG4u5Ad39Tg9V5riE7QwU3hvS3V93d4xeGtZoiLlhyX6SJQLZFdC1qSLC7Cl235jkR+mUrQnqrnl5e51/JwtbziS+BThOgFYWFIwOVVedzBaYGz0x+Jx1PgawAiJNZdeXjc30uEumzheOL7XAVzJ7oYeURUlUA2Iq4eSA7t6X67+c5W2Ej44BOr4jUATI9pDXdV/OUo7EnwH5Qbp8Vwa97sU97cRFIH+MxS3Nie9BjhbI2SIpvn29PuJUtkDdlqahqc4qKwfkcOUobZxtrHmDfJHEaxYtZ2UCNSvo1d7PHU3scxAPiCBVIJiw0eP+sZe66n5MGA1N42maewEWCOTToNf1UM59iSYMWlbA+aaUP+TRlvcG6eYM9VubS9rak/aqNAB/FReXutfPHP7bRSkLJ25OCRudoxtyYGi5dlcuY+2xvGu3JCaZKWtPJ12aC5V6dIOnqjFzgmOs0fgOElMBJAuLZNzGB12HLxVNt4jsvjl9NhEhOTM9MakgK4aUayu7VmyEE/WE5TiDErUooGtv5AO5AKppiHnElBeVUi+R1hgCq0lenY7ugIg8WyhFbR1s/4lEqYjsm+7RJj8uYvYJZETie0lOFGBd0OuuT98JQgS7+scu2xYAt9jGWqjU2A2eqqZ8IRciMsKxYwRuFVGrgrq2oEvAsKuLXG1vfNc7JTIvoLvW9AXyX+rCsT8BXAPBkpDufj1TxNdw/CbLbA91XkZk21Bdm9HbjbTHhk0f0Sn7xqKUzA54XM7Fw7f9+CDrn/b5Qk4h1QJVUnhm2owRP/dlXzKh4gi2nj/jhKfkqYHXlUXP/f53vQUudKLsLPcVQa9raV/T1Q1UZzcgLMf+RWQziGkEb3R+EqGAn1zFUmOtd7izmP4OqY00u0wmY9kCIviCVEtCXm1/f8W7RWS79emj8eMEKtNR7YGSxcFqbdeVAHRpOMeE0zeSfJiiDoWqq766koAurX8B6FYdQRJhZbsAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/personal_edit.png\n// module id = Z8Hx\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAmCAYAAADAzmuWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAydpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMC1jMDAxIDc5LjE0ZWNiNDJmMmMsIDIwMjMvMDEvMTMtMTI6MjU6NDQgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyNC4yIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2QjVBNDg5RTYxMzMxMUVGQUJFNUExMEM3RkY0QjM1QyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2QjVBNDg5RjYxMzMxMUVGQUJFNUExMEM3RkY0QjM1QyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZCNUE0ODlDNjEzMzExRUZBQkU1QTEwQzdGRjRCMzVDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZCNUE0ODlENjEzMzExRUZBQkU1QTEwQzdGRjRCMzVDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+0XjrJAAAAxVJREFUeNq0l99LFFEUx++5O7utlvpQTxvYP9Gzlrj9FMkHN4hSJJ0VM2t/REIPLREIubuJtrW7QRKYhRahD+VDYQQRRBJBBgUGCoqVQUn0w9p7OjM760zmz7l5YZfLMPdzv/fc82sAEdl6DEX7AwCG7WoLAlYA53EIpoZkwaArTvuLcJbNIEMFGPymjWognLopA+Y63Z/+woCNaHMNTpv1YFStlQZnpfNKUvrKgHP6dRNclQefSn4At3MHwV/ocKS9GCbJ9s1SYB3enPgEjvwyustnObhg2EXKQ1JgHR7o+AwutxcYe5J7JhCjGFPPSIF1eEvXLLCi3aT80Txc4PlMu3puTe6m+fFiA+OBPBRfB+gVr7kCLjjC6dNSYB3eeXwDzv28Q+/tN88JnY5Q+oQUWIf3RVw4PnmLQqnKXMmSPJRuorVoG6zDhyOKGJnqIVc5aDFLNw956gEiwjY4q7zPISYedBP8iAXRy7eV14DPl7ENzvp2hIvYVIom9aZwdhsK4BClhl+2wVk4gog1XmIomkw4DEKxpxp8kTnb4NzIRNU47RIw7xOGYIunCuoiP7hMBiN/DjLO2+ZPwnAPzkwNSCu2KL9GyutMN1e2SynORmdDKcmqtphjmnH3aykwRv1ezMA9OvUmwzveg8NZDsGL322DMebfhygGya75hldMgqKUQjAxumR2W1mpegCFuEux7DaOPwEuVgonr7xZNm0uC21v9NF99xPUZSh9B+AsgZb02Ir5eJnjH0bI9GoF17DpW2oXSiCcGF9Vol9cqf8oCrxOah0GdBTynGTT5OSqK8i/Nm1ooiC+qlVv4/gvqXzthGOXp9dUmhZcVEAgS2hxZFzUc+Aby6h8fbRfmqJqKxXSNovzP4VCtldvcOwU0+xFqWf/ggI8hnxl12qgSyqm2G+j2G+1QB9CAask6Dfb5d9IhVbofdjsqVgLdL6NXTJ5MzZAyduXS962GhYR93csqAj9UAjVdqCL9seG1Bu82Fu7sEDa7I9xWGu6SWqCh7bWyEBztjXnKbXof32DwHp93PwRYADXFnhpUyyqHwAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/silent_arrow1.png\n// module id = Zrov\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAaCAYAAADMp76xAAAAAXNSR0IArs4c6QAAA9RJREFUWEfV1VtoHGUUB/D/2U120xrbamhRqVTBSiuKKEXxQi4moZtNdmexpRSKSm1qZhaxD2IfRAoifRD7IBY6s7Wl2AdvVNnJNptUk7YpKlaKoogVFbR4J7ZqjLnv/GV2v27WmMsmO704bztzvnN+e77D9wn+Z4947SUpSJmhbN6I0SUi9LKGp+Astt1KgNyaRQr2ImroXqK9BdvmbpCPT+robonFn/Cqy56BaZu7QD45DWyXxOJPeYH2BMykuRPg03mQyGvZgSA35t/5ZKdEjWdKRZcMZtLaATjPTkDkLSxelYP2n34DxIMFf2SHaMZzpaBLAtM2t4N8vgCQwnL/OlnTNua+46lEOX503gbZMoHGdtHiL8wXPW8wbWsb6LxY0NkjCKzQJBweKcQwnQ5i9IwNcG1B7DaJGS/NBz0vMG1LBx2zYKuPYmlVi9y7YWgqBD94cwH6fusAUVcw07pEjcRc0XMGM2lthnA/3DM3d9a+h4rKkKx9+O+ZivPIwSswPNAF4v7cOiEoWySmH5gLek5g2uYmkAcB+BT2JBBsFG3LX8UUpb3/SmDkXRB3q3gHfjwkkfirxazP9afIh0lrPcDXAfpVhz7Goop6qdv8R5EpsmE8dmAJ+od7QN6ZWycZQDZKTD9UTJ6iwLT3REE5BLBcdfYzBAN1Emo9V0yRyTHsfqUKA4PHAN6m0GMQrhct3j5bvlnBbN/TBEeSAAMq2WkEKmok/GjfbMlnnmlzGYZ4HMBqhR6FiCaa3jXTuhnBTFn1cHgYZIUag68R9NVIqO3nUrDn17IrcS1GnF6QK1X+YfikRSJ6z3T5pwXTtqoBdoJcqMbgW5SXV0t46w9eYPPo9MvLMTZ2AsSNCj0ISJNo+omp6kwJZsq6BxnnHQCVatH3CEq1NBnfeYnNozvNGzBCF3i9ejcAHxolGv9wcr3/gGlba0B2A1ysOvsTEKgRrfWbC4HNo+19NwGjvSCuUzP9J0QaRNNPFdb9F5gp63ZkeBTg1Wp7foXPVyuRti8vJDaPTiVWIeP0Alym0Ofglwckon96PiYPZtK6BeIcB7FUfTyLMqmVFuPzi4HNow+bt2I8e3pUqR3uA321EtO/cH9nwezYezPGx93tuEYF/Q5IvWjGJxcTOzEe5h0Ae0BcpTy/oKysRpof+yoHts00yCb1sR8+aZSI8dGlwE6Mh3kXHLrX+CI1np2iGeEcOGl2AAwDGIBISDTj/UuJLej0fSDdi6QSkLTEjOYc2L0qB4di8Jd1S3PrmcsBm0d37FuBzHgDFi5ISsMjZ2e9mi8nvGv5B1FnYiq0Gog4AAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/medidate_more_up_2.png\n// module id = Zz8u\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"content-wrapper\">\r\n      <div class=\"sub-title\" :class=\"'sub-title' + case_tag_type\">\r\n        <div class=\"tag-wrapper\" v-if=\"case_tag_type == 1 && cases\">\r\n          <div\r\n            class=\"title\"\r\n            :class=\"\r\n              item.case_tag_id === cases.case_tag_id\r\n                ? 'culture'\r\n                : 'culture culture1'\r\n            \"\r\n            v-for=\"(item, index) in cultureCaseTags\"\r\n            :key=\"'casetag' + index\"\r\n          >\r\n            {{ item.case_tag_title }}\r\n          </div>\r\n        </div>\r\n        <div class=\"tag-wrapper\" v-if=\"case_tag_type == 2 && cases\">\r\n          <div\r\n            class=\"title\"\r\n            :class=\"\r\n              item.case_tag_id === cases.case_tag_id\r\n                ? 'thinking'\r\n                : 'thinking thinking1'\r\n            \"\r\n            v-for=\"(item, index) in thingingCaseTags\"\r\n            :key=\"'casetag' + index\"\r\n          >\r\n            {{ item.case_tag_title }}\r\n          </div>\r\n        </div>\r\n        <div class=\"tag-wrapper\" v-if=\"case_tag_type == 3 && cases\">\r\n          <div\r\n            class=\"title\"\r\n            :class=\"\r\n              item.case_tag_id === cases.case_tag_id\r\n                ? 'behavior'\r\n                : 'behavior behavior1'\r\n            \"\r\n            v-for=\"(item, index) in behaviorCaseTags\"\r\n            :key=\"'casetag' + index\"\r\n          >\r\n            {{ item.case_tag_title }}\r\n          </div>\r\n        </div>\r\n        <div class=\"tag-wrapper\" v-if=\"case_tag_type == 4 && cases\">\r\n          <div\r\n            class=\"title\"\r\n            :class=\"\r\n              item.case_tag_id === cases.case_tag_id\r\n                ? 'personality'\r\n                : 'personality personality1'\r\n            \"\r\n            v-for=\"(item, index) in perCaseTags\"\r\n            :key=\"'casetag' + index\"\r\n          >\r\n            {{ item.case_tag_title }}\r\n          </div>\r\n        </div>\r\n\r\n        <!-- <div class=\"title thinking\" v-if=\"case_tag_type == 2\">\r\n            {{ cases && cases.case_tag_title }}\r\n          </div>\r\n          <div class=\"title behavior\" v-if=\"case_tag_type == 3\">\r\n            {{ cases && cases.case_tag_title }}\r\n          </div>\r\n          <div class=\"title personality\" v-if=\"case_tag_type == 4\">\r\n            {{ cases && cases.case_tag_title }}\r\n          </div> -->\r\n      </div>\r\n      <span class=\"content-detail prewrap-content\"\r\n        >{{ cases && cases.course_case_content }}\r\n      </span>\r\n      <div class=\"operates culture\" v-if=\"case_tag_type == 1 && showBtn\">\r\n        <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n      </div>\r\n      <div class=\"operates thinking\" v-if=\"case_tag_type == 2 && showBtn\">\r\n        <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n      </div>\r\n      <div class=\"operates behavior\" v-if=\"case_tag_type == 3 && showBtn\">\r\n        <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n      </div>\r\n      <div class=\"operates personality\" v-if=\"case_tag_type == 4 && showBtn\">\r\n        <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n      </div>\r\n    </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  getCourseCaseDetail,\r\n  getUserCaseDetail,\r\n  getNoteCourseCaseDetail,\r\n  addCaseReadNum\r\n} from \"@/api/index.js\";\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    course_case_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    case_tag_type: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    course_case_isuseradd: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    showBtn: {\r\n      type: Boolean,\r\n      default: true\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      cultureCaseTags: [],\r\n      thingingCaseTags: [],\r\n      behaviorCaseTags: [],\r\n      perCaseTags: [],\r\n      cases: {},\r\n      fadeClass: \"fadeIn\"\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    caseTags() {\r\n      return this.$store.getters.caseTags;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    }\r\n  },\r\n  watch: {\r\n    course_case_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.getData();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    caseTags: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"caseTags:\", newVal);\r\n        this.cultureCaseTags = [];\r\n        this.thingingCaseTags = [];\r\n        this.behaviorCaseTags = [];\r\n        this.perCaseTags = [];\r\n        if (newVal || newVal == 0) {\r\n          newVal.forEach(item => {\r\n            if (item.case_tag_type === 1) {\r\n              this.cultureCaseTags.push(item);\r\n            } else if (item.case_tag_type === 2) {\r\n              this.thingingCaseTags.push(item);\r\n            } else if (item.case_tag_type === 3) {\r\n              this.behaviorCaseTags.push(item);\r\n            } else {\r\n              this.perCaseTags.push(item);\r\n            }\r\n          });\r\n        }\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    getData() {\r\n      this.fadeClass = \"fadeIn\";\r\n      if (this.course_case_isuseradd == 1) {\r\n        this.getUserCaseDetail();\r\n      } else if (this.course_case_isuseradd == 2) {\r\n        this.getCourseCaseDetail();\r\n      } else {\r\n        this.getNoteCourseCaseDetail();\r\n      }\r\n    },\r\n    async getCourseCaseDetail() {\r\n      try {\r\n        console.log(this.course_case_id)\r\n        const res = await getCourseCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n          case_tag_type: this.case_tag_type\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n        }\r\n        const res1 = await addCaseReadNum({\r\n          course_case_id: this.course_case_id\r\n        })\r\n        if (res1 && res1.code === 0) {\r\n          this.$emit(\"addCaseReadNum\");\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async getUserCaseDetail() {\r\n      try {\r\n        const res = await getUserCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n          case_tag_type: this.case_tag_type\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    async getNoteCourseCaseDetail() {\r\n      try {\r\n        const res = await getNoteCourseCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n          case_tag_type: this.case_tag_type\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    back() {\r\n      this.fadeClass = \"fadeout\";\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        this.$emit(\"closeDetail\");\r\n      }, 500);\r\n    },\r\n    // 查看白牌心得\r\n    toWhiteTip() {\r\n      this.$emit(\"toWhiteTip\");\r\n    }\r\n    // 获取案例标签列表\r\n  },\r\n  created() {},\r\n  activated() {},\r\n  mounted() {\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n/deep/ .el-dialog {\r\n  border-radius: 16px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  height: 80%;\r\n  background-color: transparent;\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n/deep/ .el-dialog__body {\r\n  flex: 1;\r\n}\r\n/deep/ .el-dialog__header {\r\n  padding: 0;\r\n}\r\n.close {\r\n  width: 39px;\r\n  height: 39px;\r\n  cursor: pointer;\r\n  position: absolute;\r\n  top: 0;\r\n  right: -52px;\r\n}\r\n.box {\r\n  height: 100%;\r\n}\r\n.detail {\r\n  display: flex;\r\n  justify-content: center;\r\n  width: 100%;\r\n  height: 100%;\r\n  background-color: #1d2223;\r\n  padding: 53px 108px 46px 108px;\r\n}\r\n.content-box {\r\n  width: 100%;\r\n  height: 100%;\r\n  min-height: 388px;\r\n  z-index: 1000;\r\n}\r\n.content-wrapper {\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding: 48px 30px;\r\n  border-radius: 16px;\r\n  background-color: #121416;\r\n  position: relative;\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n.tag-wrapper {\r\n  display: flex;\r\n}\r\n.sub-title {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #ffffff;\r\n  line-height: 27px;\r\n  text-align: right;\r\n  font-style: normal;\r\n  padding-left: 26px;\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  position: relative;\r\n  &.sub-title1 {\r\n    &::after {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 0;\r\n      right: 0;\r\n      width: 3px;\r\n      height: 25px;\r\n      background: @culture;\r\n    }\r\n  }\r\n  &.sub-title2 {\r\n    &::after {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 0;\r\n      right: 0;\r\n      width: 3px;\r\n      height: 100%;\r\n      background: @thinking;\r\n    }\r\n  }\r\n  &.sub-title3 {\r\n    &::after {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 0;\r\n      right: 0;\r\n      width: 3px;\r\n      height: 100%;\r\n      background: @behavior;\r\n    }\r\n  }\r\n  &.sub-title4 {\r\n    &::after {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 0;\r\n      right: 0;\r\n      width: 3px;\r\n      height: 100%;\r\n      background: @personality;\r\n    }\r\n  }\r\n\r\n  .title {\r\n    width: 91px;\r\n    height: 27px;\r\n    // background: #000;\r\n    border-radius: 8px;\r\n    display: -webkit-box;\r\n    display: -ms-flexbox;\r\n    display: flex;\r\n    -webkit-box-align: center;\r\n    -ms-flex-align: center;\r\n    align-items: center;\r\n    padding-left: 26px;\r\n    margin-right: 10px;\r\n    position: relative;\r\n    box-sizing: border-box;\r\n  }\r\n  .culture {\r\n    opacity: 1;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 11px;\r\n      left: 13px;\r\n      width: 6px;\r\n      height: 6px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: @culture;\r\n    }\r\n    &:not(:first-of-type) {\r\n      margin-left: 11px;\r\n    }\r\n  }\r\n  .culture1 {\r\n    opacity: 0.3;\r\n  }\r\n  .behavior {\r\n    opacity: 1;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 11px;\r\n      left: 13px;\r\n      width: 6px;\r\n      height: 6px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: @behavior;\r\n    }\r\n    &:not(:first-of-type) {\r\n      margin-left: 11px;\r\n    }\r\n  }\r\n  .behavior1 {\r\n    opacity: 0.3;\r\n  }\r\n  .thinking {\r\n    opacity: 1;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 11px;\r\n      left: 13px;\r\n      width: 6px;\r\n      height: 6px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: @thinking;\r\n    }\r\n    &:not(:first-of-type) {\r\n      margin-left: 11px;\r\n    }\r\n  }\r\n  .thinking1 {\r\n    opacity: 0.3;\r\n  }\r\n  .personality {\r\n    opacity: 1;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 11px;\r\n      left: 13px;\r\n      width: 6px;\r\n      height: 6px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: @personality;\r\n    }\r\n    &:not(:first-of-type) {\r\n      margin-left: 11px;\r\n    }\r\n  }\r\n  .personality1 {\r\n    opacity: 0.3;\r\n  }\r\n}\r\n.content-detail {\r\n  font-size: 16px !important;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: rgba(255, 255, 255, 0.7);\r\n  line-height: 32px;\r\n  flex: 1;\r\n  padding-top: 26px;\r\n  text-align: justify;\r\n  display: inline-block;\r\n  overflow-y: auto;\r\n  p {\r\n    padding-top: 40px;\r\n  }\r\n}\r\n.operates {\r\n  width: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n  padding-top: 10px;\r\n}\r\n.culture {\r\n  /deep/ .el-button {\r\n    border-color: @culture;\r\n    background: @culture;\r\n    color: #fff;\r\n    width: 171px;\r\n    height: 44px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n}\r\n.behavior {\r\n  /deep/ .el-button {\r\n    border-color: @behavior;\r\n    background: @behavior;\r\n    color: #fff;\r\n    width: 171px;\r\n    height: 44px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n}\r\n.thinking {\r\n  /deep/ .el-button {\r\n    border-color: @thinking;\r\n    background: @thinking;\r\n    color: #fff;\r\n    width: 171px;\r\n    height: 44px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n}\r\n.personality {\r\n  /deep/ .el-button {\r\n    border-color: @personality;\r\n    background: @personality;\r\n    color: #fff;\r\n    width: 171px;\r\n    height: 44px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n}\r\n\r\n.confirm {\r\n  position: absolute;\r\n  left: 27px;\r\n  bottom: 84px;\r\n  z-index: 99;\r\n  cursor: pointer;\r\n  img {\r\n    width: 73px;\r\n    height: 73px;\r\n  }\r\n}\r\n.fadeIn {\r\n  -webkit-animation: fadeIn 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fadeIn 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes fadeIn {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n@-webkit-keyframes fadeIn {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n.fadeout {\r\n  -webkit-animation: fadeout 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fadeout 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes fadeout {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n@-webkit-keyframes fadeout {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/Detail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-wrapper\"},[_c('div',{staticClass:\"sub-title\",class:'sub-title' + _vm.case_tag_type},[(_vm.case_tag_type == 1 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.cultureCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n              ? 'culture'\n              : 'culture culture1'},[_vm._v(\"\\n          \"+_vm._s(item.case_tag_title)+\"\\n        \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 2 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.thingingCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n              ? 'thinking'\n              : 'thinking thinking1'},[_vm._v(\"\\n          \"+_vm._s(item.case_tag_title)+\"\\n        \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 3 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.behaviorCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n              ? 'behavior'\n              : 'behavior behavior1'},[_vm._v(\"\\n          \"+_vm._s(item.case_tag_title)+\"\\n        \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 4 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.perCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n              ? 'personality'\n              : 'personality personality1'},[_vm._v(\"\\n          \"+_vm._s(item.case_tag_title)+\"\\n        \")])}),0):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"content-detail prewrap-content\"},[_vm._v(_vm._s(_vm.cases && _vm.cases.course_case_content)+\"\\n    \")]),_vm._v(\" \"),(_vm.case_tag_type == 1 && _vm.showBtn)?_c('div',{staticClass:\"operates culture\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 2 && _vm.showBtn)?_c('div',{staticClass:\"operates thinking\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 3 && _vm.showBtn)?_c('div',{staticClass:\"operates behavior\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 4 && _vm.showBtn)?_c('div',{staticClass:\"operates personality\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2f6dabbc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/Detail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2f6dabbc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Detail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Detail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Detail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2f6dabbc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Detail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2f6dabbc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/Detail.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"course\"\r\n    :class=\"[course_class_isuseradd == 1 ? 'userCourse' : '']\"\r\n    :key=\"'courseCom' + menuType\"\r\n  >\r\n    <div\r\n      class=\"maincourse\"\r\n      v-if=\"menus.length && menus[0].course_list && menus[0].course_list.length\"\r\n    >\r\n      <el-menu\r\n        class=\"el-menu-vertical-demo\"\r\n        :default-openeds=\"defaultOpenedsArray\"\r\n        @select=\"handleSelect\"\r\n        :ref=\"'elMenu' + menuType\"\r\n        :unique-opened=\"true\"\r\n        :active-text-color=\"'#65afd5'\"\r\n      >\r\n        <el-submenu\r\n          :index=\"item.course_class_id + ''\"\r\n          v-for=\"(item, index) in menus\"\r\n          :key=\"'menus' + index + menuType\"\r\n        >\r\n          <template slot=\"title\">\r\n            <div\r\n              v-if=\"item.course_list && item.course_list.length\"\r\n              class=\"courserOne\"\r\n              @click=\"selectSubMenu(item.course_class_id)\"\r\n            >\r\n              <span>{{ item.course_class_name }}</span>\r\n              <img src=\"@/assets/img/course_arrow.png\" width=\"37\" height=\"37\" />\r\n            </div>\r\n          </template>\r\n        </el-submenu>\r\n      </el-menu>\r\n    </div>\r\n    <div\r\n      class=\"subCourseUser\"\r\n      :style=\"{ marginTop: course_ishide == 1 ? '30px' : '0px' }\"\r\n    >\r\n      <div class=\"none\" v-if=\"!menus.length\">\r\n        <img\r\n          src=\"@/assets/img/recommend_none.svg\"\r\n        />\r\n        <span>暂无笔记</span>\r\n      </div>\r\n\r\n      <div class=\"menus\" v-show=\"menus.length\">\r\n        <el-menu @select=\"selectMenuUser\" :ref=\"'elMenu1' + menuType\">\r\n          <el-menu-item\r\n            :index=\"menu.course_id\"\r\n            v-for=\"(menu, idx) in menus\"\r\n            :key=\"'menuUser' + idx\"\r\n            :class=\"[\r\n              selectedCourseUser &&\r\n              selectedCourseUser.course_id == menu.course_id\r\n                ? 'is-edit'\r\n                : '',\r\n              hoverIndex === idx ? 'hoverMenu' : ''\r\n            ]\"\r\n            @mouseover.native=\"showMenuUserOp(idx)\"\r\n            @mouseleave.native=\"hideMenuUserOp\"\r\n          >\r\n            <div class=\"menu_wrapper menu_wrapper1\">\r\n              <div class=\"course_name\">{{ menu.course_name }}</div>\r\n              <div\r\n                class=\"course_tag_name\"\r\n                v-if=\"hoverIndex !== idx && menu.course_isuseradd != 2\"\r\n              >\r\n                {{ menu.course_tag_name }}\r\n              </div>\r\n              <div\r\n                @click=\"handleMenuEdit\"\r\n                v-show=\"hoverIndex === idx && menu.course_isuseradd == 1\"\r\n              >\r\n                <img\r\n                  class=\"edit\"\r\n                  src=\"@/assets/img/editMeditate.svg\"\r\n                  @click=\"showEdit($event, menu)\"\r\n                />\r\n                <img\r\n                  class=\"del\"\r\n                  src=\"@/assets/img/moral_del.svg\"\r\n                  @click=\"showDel($event, menu)\"\r\n                />\r\n              </div>\r\n            </div>\r\n          </el-menu-item>\r\n        </el-menu>\r\n      </div>\r\n      <div\r\n        id=\"step3\"\r\n        v-if=\"course_class_isuseradd == 1\"\r\n        class=\"add\"\r\n        @click=\"showAddCourseUser\"\r\n      >\r\n        <img src=\"@/assets/img/add.svg\" />\r\n        <span>添加阅读笔记</span>\r\n      </div>\r\n    </div>\r\n    <el-dialog\r\n      v-if=\"dialogVisible\"\r\n      class=\"add_dialog\"\r\n      id=\"addCourseDialog\"\r\n      :title=\"isEdit ? '编辑笔记名称' : '添加阅读笔记'\"\r\n      :visible.sync=\"dialogVisible\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      top=\"0vh\"\r\n      :width=\"$px2rem(402)\"\r\n    >\r\n      <p class=\"title\">笔记标题</p>\r\n      <el-input\r\n        type=\"textarea\"\r\n        :rows=\"4\"\r\n        placeholder=\"请输入笔记标题\"\r\n        maxlength=\"20\"\r\n        :resize=\"'none'\"\r\n        show-word-limit\r\n        v-model=\"usercourse_name\"\r\n      >\r\n      </el-input>\r\n      <p class=\"title\">标签</p>\r\n      <el-input\r\n        id=\"addTag\"\r\n        class=\"tag\"\r\n        type=\"textarea\"\r\n        :rows=\"1\"\r\n        placeholder=\"请输入标签\"\r\n        maxlength=\"8\"\r\n        :resize=\"'none'\"\r\n        show-word-limit\r\n        v-model=\"course_tag_name\"\r\n        @blur=\"blur\"\r\n        @focus=\"focus\"\r\n      >\r\n      </el-input>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <!-- <el-button v-if=\"isEdit\" @click=\"delQuestion\">删 除</el-button> -->\r\n        <el-button @click=\"addUserCourseConfirm\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n    <el-dialog\r\n      class=\"con_dialog\"\r\n      title=\"提示\"\r\n      :visible.sync=\"dialogDelVisible\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :append-to-body=\"true\"\r\n      top=\"0vh\"\r\n      center\r\n    >\r\n      <div class=\"del_confirm\">\r\n        确定删除课程？\r\n      </div>\r\n      <span slot=\"footer\" class=\"dialog-footer del-footer\">\r\n        <el-button\r\n          @click=\"\r\n            () => {\r\n              dialogDelVisible = false;\r\n              isDel = false;\r\n              selectedCourseUser = null;\r\n            }\r\n          \"\r\n          >取 消</el-button\r\n        >\r\n        <el-button v-loading=\"loading\" v-throttle=\"[delUserCourseConfirm]\" class=\"comfirm-btn\"\r\n          >确 定</el-button\r\n        >\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { addUserCourse, delUserCourse, editUserInfo, setWebLog } from \"@/api\";\r\nimport { deepClone, getIsAndroid } from \"@/utils/util\";\r\nimport { Base64 } from \"js-base64\";\r\n\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    visible: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    course: {\r\n      type: Array,\r\n      default: () => {\r\n        return [];\r\n      }\r\n    },\r\n    selectedCourse: {\r\n      type: String,\r\n      default: () => {\r\n        return \"\";\r\n      }\r\n    },\r\n    defaultOpeneds: {\r\n      type: Array,\r\n      default: () => {\r\n        return [];\r\n      }\r\n    },\r\n    type: {\r\n      type: Number,\r\n      default: 2 // 1：一层 2：两层\r\n    },\r\n    courseName: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    menusProp: {\r\n      type: Array,\r\n      default: () => {\r\n        return [];\r\n      }\r\n    },\r\n    menuType: {\r\n      type: Number,\r\n      default: \"\" // 1：同喜 2：同修 3：同德\r\n    },\r\n    leftActiveId: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    isGlobal: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    course_class_isuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    course_ishide: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    nickName: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    pageNamePro: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      menus: [],\r\n      course_class_name: \"\",\r\n      defaultActive: \"\",\r\n      activeElMenu: \"\",\r\n      defaultOpenedsArray: this.defaultOpeneds,\r\n      leftActiveId1: this.leftActiveId,\r\n      menuKey: \"\",\r\n      // 是否编辑\r\n      isEdit: false,\r\n      // 显示添加/编辑\r\n      dialogVisible: false,\r\n      // 笔记标题\r\n      usercourse_name: \"\",\r\n      // 标签\r\n      course_tag_name: \"\",\r\n      dialogDelVisible: false,\r\n      selectedCourseUser: null,\r\n      edit_usercourse_name: \"\",\r\n      // 选中的是否是自定义课程\r\n      isSelectUser: false,\r\n      // 是否删除\r\n      isDel: false,\r\n      hoverIndex: null,\r\n      appType: 1,\r\n      loading: false,\r\n      isMobile: false\r\n    };\r\n  },\r\n  computed: {\r\n    menuTab() {\r\n      return this.$store.getters.menuTab;\r\n    },\r\n    menuTabActive() {\r\n      return this.$store.getters.menuTabActive;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    user() {\r\n      let user = this.$store.getters.user;\r\n      if (typeof user == \"string\") {\r\n        return JSON.parse(user);\r\n      } else {\r\n        return user;\r\n      }\r\n    }\r\n  },\r\n  watch: {\r\n    menuTab: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v && this.menuType == this.menuTabActive) {\r\n          this.getMenus(v);\r\n        }\r\n      }\r\n    },\r\n    visible: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.isEdit = false;\r\n          let selectedCourse = {};\r\n          if (this.selectedCourse && this.selectedCourse.length) {\r\n            selectedCourse = JSON.parse(this.selectedCourse);\r\n          }\r\n          // 官方课程\r\n          this.menus.forEach(item => {\r\n            if (item.course_tag_name == selectedCourse[0].dyname) {\r\n              if (\r\n                item.course_id ==\r\n                this.course_id + \"_\" + item.course_isuseradd\r\n              ) {\r\n                if (this.$refs[\"elMenu1\" + this.leftActiveId]) {\r\n                  this.$refs[\"elMenu1\" + this.menuType].activeIndex =\r\n                    this.course_id + \"_\" + item.course_isuseradd;\r\n                  this.$nextTick(() => {\r\n                    const selectedItem = this.$refs[\r\n                      \"elMenu1\" + this.menuType\r\n                    ].$el.querySelector(\".el-menu-item.is-active\");\r\n                    if (selectedItem) {\r\n                      selectedItem.scrollIntoView({\r\n                        behavior: \"smooth\",\r\n                        block: \"center\"\r\n                      });\r\n                    }\r\n                  });\r\n                }\r\n              }\r\n            }\r\n          });\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    focus() {\r\n      if(this.isMobile) {\r\n        const addCourseDialog = document.getElementById(\"addCourseDialog\");\r\n        const dialog = addCourseDialog.querySelector(\".el-dialog\");\r\n        console.log(dialog)\r\n        const $addTag = document.getElementById('addTag');\r\n        this.setInputMiddle($addTag, dialog);\r\n      }\r\n    },\r\n    blur() {\r\n      if(this.isMobile) {\r\n        const $addCourseDialog = document.getElementById('addCourseDialog');\r\n        const dialog = $addCourseDialog.querySelector(\".el-dialog\");\r\n        dialog.style.paddingBottom = 0+'px';\r\n      }\r\n    },\r\n    toIndex1() {\r\n      EventBus.$emit(\"CultureIndex\");\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\", true);\r\n      // this.$store.dispatch(\"clearHistoryOperate\");\r\n    },\r\n    showMenuUserOp(index) {\r\n      this.hoverIndex = index;\r\n    },\r\n    hideMenuUserOp() {\r\n      this.hoverIndex = null;\r\n    },\r\n    search() {\r\n      this.getMenus(this.menuTab);\r\n    },\r\n    getMenus(key) {\r\n      this.menus = deepClone(this.course);\r\n      this.menus.forEach(item => {\r\n        item.course_id += \"_\" + item.course_isuseradd;\r\n\r\n        if (\r\n          item.course_id == key &&\r\n          this.course_class_name === this.course_tag_name\r\n        ) {\r\n          this.course_class_name = item.course_tag_name;\r\n        }\r\n      });\r\n    },\r\n    handleSelect(key, keyPath) {\r\n      this.activeElMenu = keyPath;\r\n      this.getMenus(parseInt(key));\r\n    },\r\n    selectSubMenu(key) {\r\n      console.log(\"selectSubMenu:\", key, this.course_tag_name);\r\n      this.activeElMenu = key;\r\n      this.menus.forEach(item => {\r\n        if (\r\n          item.course_id == key &&\r\n          this.course_class_name === this.course_tag_name\r\n        ) {\r\n          this.course_class_name = item.course_tag_name;\r\n        }\r\n      });\r\n    },\r\n    // 课程选择\r\n    selectMenuUser(key) {\r\n      console.log(\"selectMenuUser:\", key, this.whiteCom, this.$route.name, this.courseIsuseradd, this.pageNamePro);\r\n      let menu = {};\r\n      this.menus.forEach(item => {\r\n        if (item.course_id == key) {\r\n          menu = item;\r\n        }\r\n      });\r\n      if(menu.course_domestic == 2 && this.isGlobal) {\r\n        this.$message.warning(\"所在区域无法阅览该内容，可在“其他阅读笔记”中自行添加\")\r\n        this.$emit(\"gotoUserCourse\")\r\n        this.$refs[\"elMenu1\" + this.menuType].activeIndex =\r\n                      this.course_id + \"_\" + this.courseIsuseradd;\r\n        return;\r\n      } else if(menu.course_domestic == 2 && !this.isGlobal) {\r\n        this.$message.warning(\"所在区域无法阅览该内容\")\r\n        this.$refs[\"elMenu1\" + this.menuType].activeIndex =\r\n                      this.course_id + \"_\" + this.courseIsuseradd;\r\n        return;\r\n      }\r\n      this.isSelectUser = true;\r\n      this.menuKey = key;\r\n\r\n      if(this.isGlobal) {\r\n        // 注销或者第一次注册后登录的情况\r\n        if(this.$route.name == \"CourseSelect\" && !this.pageNamePro) {\r\n          this.selectMenuUser1();\r\n        } else if (this.whiteCom === \"Mind\" && this.$route.name != \"CourseSelect\" && this.courseIsuseradd != 3 && this.pageNamePro == 'white') {\r\n          // 如果是思维导图，则提示弹出是否保存\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"CourseCom\");\r\n        } else if (\r\n          this.whiteCom === \"CultrueContent\" &&\r\n          this.$route.name != \"CourseSelect\"\r\n          && this.courseIsuseradd != 3\r\n          && this.pageNamePro == 'white'\r\n        ) {\r\n          // 课程内容弹出提示框\r\n          console.log(\"CultrueContentEdit\");\r\n          EventBus.$emit(\"CultrueContentEdit\", \"CourseCom\");\r\n        }  else if (\r\n          this.$route.name == \"TipsViewAdd\"\r\n          && this.courseIsuseradd != 3\r\n          && this.pageNamePro == 'white'\r\n        ) {\r\n          // 课程内容弹出提示框\r\n          console.log(\"TipsViewAddEdit\");\r\n          EventBus.$emit(\"TipsViewAddEdit\", \"CourseCom\");\r\n        }  else if(this.pageNamePro  == 'white') {\r\n          EventBus.$emit(\"toIndex\");\r\n          this.selectMenuUser1();\r\n        } else {\r\n          this.$router.replace(\"/\");\r\n          this.toIndex1();\r\n          this.selectMenuUser1();\r\n        }\r\n      } else {\r\n        this.selectMenuUser1();\r\n      }\r\n    },\r\n    //课程选择\r\n    selectMenuUser1() {\r\n\r\n      this.leftActiveId1 = this.activeElMenu;\r\n      let course_name = \"\";\r\n      let menu = {};\r\n      this.menus.forEach(item => {\r\n        if (item.course_id == this.menuKey) {\r\n          menu = item;\r\n          course_name = item.course_name;\r\n        }\r\n      });\r\n      let name = this.courseName;\r\n      this.course_class_name = menu.course_tag_name;\r\n      if (this.course_class_name) {\r\n        name += \" | \" + this.course_class_name;\r\n      }\r\n\r\n      let menuKey = this.menuKey;\r\n      if(this.menuKey && this.menuKey.indexOf(\"_\") > -1) {\r\n        menuKey = this.menuKey.split(\"_\")[0];\r\n      }\r\n\r\n      console.log(\"selectMenuUser1 menuKey:::\", this.menuKey, menuKey)\r\n\r\n\r\n      this.$emit(\"selectCourse\", {\r\n        name: name,\r\n        type: this.menuType,\r\n        course_name,\r\n        course_isuseradd: menu.course_isuseradd,\r\n        course_id: parseInt(menuKey),\r\n        jdname: this.courseName,\r\n        dyname: this.course_class_name\r\n      });\r\n      if (this.isGlobal) {\r\n        let params = {};\r\n        params = {\r\n          name: name,\r\n          type: this.menuType,\r\n          course_name,\r\n          course_isuseradd: menu.course_isuseradd,\r\n          course_id: parseInt(menuKey),\r\n          user_nickname: this.nickName ? Base64.encode(this.nickName) : Base64.encode(this.user.user_nickname)\r\n        }\r\n        console.log(\"selectMenuUser1 loading done\")\r\n        this.$store.commit(\"reset_pending\")\r\n        this.editUserInfo(params);\r\n      }\r\n    },\r\n    selectMenu(data) {\r\n      setWebLog({\r\n        content: `selectMenu setCourse: ${data ?JSON.stringify(data) : 'null'}`\r\n      })\r\n      console.log(\"selectMenu setCourse:\", data);\r\n      let user = {\r\n        ...this.user,\r\n        user_status: 1\r\n      };\r\n      const courseIsuseradd = this.courseIsuseradd;\r\n      const courseId = this.course_id;\r\n      this.$store.dispatch(\"setCourse\", [\r\n        {\r\n          course_id: data.course_id,\r\n          course_name: data.course_name,\r\n          jdname: this.courseName,\r\n          dyname: this.course_class_name,\r\n          course_isuseradd: data.course_isuseradd\r\n        }\r\n      ]);\r\n\r\n      let menuKey = this.menuKey;\r\n      if(this.menuKey && this.menuKey.indexOf(\"_\") > -1) {\r\n        menuKey = this.menuKey.split(\"_\")[0];\r\n      }\r\n\r\n      // 选择课程\r\n      // this.$store\r\n      //   .dispatch(\"setCourseId\", parseInt(menuKey))\r\n      //   .then(() => {\r\n          if (\r\n            courseId ==\r\n              parseInt(menuKey) &&\r\n            courseIsuseradd != data.course_isuseradd\r\n          ) {\r\n            // 只有course_id相同而course_isuseradd不同的情况下\r\n            this.$store.dispatch(\"setCourseIsChanged\", true);\r\n          } else {\r\n            this.$store.dispatch(\"setCourseIsChanged\", false);\r\n          }\r\n\r\n          let timeout = setTimeout(() => {\r\n            this.$store.dispatch(\"setCourseIsChanged\", false);\r\n            clearTimeout(timeout);\r\n          }, 1000);\r\n        // });\r\n      this.$store.dispatch(\"login\", user).then(() => {\r\n        // 选择完成，跳转到首页\r\n        this.$router.push(\"/\");\r\n      });\r\n    },\r\n    async editUserInfo(data) {\r\n      try {\r\n        const params = {\r\n          user_id: this.user.user_id,\r\n          course_id: data.course_id,\r\n          course_isuseradd: data.course_isuseradd,\r\n          user_nickname: data.user_nickname\r\n        };\r\n        console.log(\"editUserInfo:\", params);\r\n        const res = await editUserInfo(params);\r\n        if (res && res.code == 0) {\r\n          this.selectMenu(data);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 显示添加自定义课程\r\n    showAddCourseUser() {\r\n      this.course_tag_name = \"\";\r\n      this.usercourse_name = \"\";\r\n      this.dialogVisible = true;\r\n    },\r\n    // 确定添加自定义课程\r\n    async addUserCourseConfirm() {\r\n      try {\r\n        if (!this.usercourse_name) {\r\n          this.$message(\"请输入笔记标题\");\r\n          return;\r\n        }\r\n\r\n        let params = {\r\n          course_name: Base64.encode(this.usercourse_name),\r\n          course_tag_name: Base64.encode(this.course_tag_name)\r\n        };\r\n        let course_id = \"\";\r\n        if (this.isEdit && this.selectedCourseUser) {\r\n          course_id = this.selectedCourseUser.course_id.substring(\r\n            0,\r\n            this.selectedCourseUser.course_id.length - 2\r\n          );\r\n          params.course_id = course_id;\r\n        }\r\n        if(this.isEdit) {\r\n          console.log(\"isEditisEdit:\", this.course_id, course_id)\r\n          if(this.course_id == course_id) {\r\n            const index = this.menus.findIndex(\r\n              item => item.course_id == this.selectedCourseUser.course_id\r\n            );\r\n            if(index > -1) {\r\n              const course = this.course[index];\r\n              setWebLog({\r\n                content: `addUserCourseConfirm setCourse:${course ? JSON.stringify(course) : 'null'}`\r\n              })\r\n              this.$store.dispatch(\"setCourse\", [{\r\n                ...course,\r\n                course_tag_name: this.course_tag_name,\r\n                course_name: this.usercourse_name,\r\n                dyname: this.course_tag_name\r\n              }]);\r\n            }\r\n          }\r\n        }\r\n        const res = await addUserCourse(params);\r\n        if(res && res.code == 0) {\r\n          if (this.isEdit) {\r\n            this.$message(\"编辑成功\");\r\n            // 替换\r\n            const index = this.menus.findIndex(\r\n              item => item.course_id == this.selectedCourseUser.course_id\r\n            );\r\n            this.selectedCourseUser.course_name = this.usercourse_name;\r\n            this.selectedCourseUser.course_tag_name = this.course_tag_name;\r\n            this.menus.splice(index, 1, this.selectedCourseUser);\r\n            // 判断如果是当前的选择的课程，需要同步修改课程信息\r\n            if(this.course_id == course_id) {\r\n              const menu = this.menus[index];\r\n              let name = this.courseName;\r\n              this.course_class_name = this.course_tag_name;\r\n              if (this.course_class_name) {\r\n                name += \" | \" + this.course_class_name;\r\n              }\r\n              console.log(\"111:\",this.menuType, menu, this.courseName, this.course_class_name)\r\n\r\n              this.$emit(\"selectCourse\", {\r\n                name: name,\r\n                type: this.menuType,\r\n                course_name: menu.course_name,\r\n                course_isuseradd: menu.course_isuseradd,\r\n                course_id: course_id,\r\n                jdname: this.courseName,\r\n                dyname: this.course_class_name\r\n              });\r\n              this.$emit(\"editCourse\", course_id);\r\n            }\r\n\r\n            this.selectedCourseUser = null;\r\n            this.isEdit = false;\r\n            this.usercourse_name = \"\";\r\n            this.course_tag_name = \"\";\r\n          } else {\r\n            this.$message(\"添加成功\");\r\n            if (res.data.length) {\r\n              let data = res.data[0];\r\n              data.course_id += \"_1\";\r\n              this.menus.unshift(data);\r\n            }\r\n          }\r\n          this.$emit(\"addUserCourse\");\r\n        }\r\n\r\n        this.dialogVisible = false;\r\n        this.usercourse_name = \"\";\r\n        this.course_tag_name = \"\";\r\n        this.isEdit = false;\r\n        this.hoverIndex = null;\r\n      } catch (error) {\r\n        console.log(error)\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 删除\r\n    showDel(e, data) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      console.log(\"showDel:\", data);\r\n      this.selectedCourseUser = data;\r\n      this.dialogDelVisible = true;\r\n      this.isDel = true;\r\n    },\r\n    // 确定删除\r\n    async delUserCourseConfirm() {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      try {\r\n        let course_id = this.selectedCourseUser.course_id.substring(\r\n          0,\r\n          this.selectedCourseUser.course_id.length - 2\r\n        );\r\n\r\n        const res = await delUserCourse({ course_id });\r\n        if (res && res.code == 0) {\r\n          console.log(\"delUserCourseConfirm:\", course_id, this.course_id);\r\n          console.log(this.course_id == course_id)\r\n          if(this.course_id == course_id) {\r\n            console.log(\"delUserCourseConfirm:\", this.course_id == course_id)\r\n            // this.getCourseBase();\r\n            this.$emit(\"delUserCurrentCourse\", true);\r\n          } else {\r\n            this.$emit(\"delUserCurrentCourse\", false);\r\n          }\r\n          this.$message(\"删除成功\");\r\n          this.loading = false;\r\n          const index = this.menus.findIndex(\r\n            item => item.course_id == this.selectedCourseUser.course_id\r\n          );\r\n          this.dialogDelVisible = false;\r\n          this.menus.splice(index, 1);\r\n\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 编辑\r\n    showEdit(e, data) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      console.log(\"showEdit:\", data);\r\n      this.selectedCourseUser = data;\r\n      this.edit_usercourse_name = data.course_name;\r\n      // 笔记标题\r\n      this.usercourse_name = data.course_name;\r\n      // 标签\r\n      this.course_tag_name = data.course_tag_name;\r\n      this.isEdit = true;\r\n      this.dialogVisible = true;\r\n      this.isDel = false;\r\n    },\r\n    // 取消点击输入框选中事件\r\n    handleMenuEdit(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n    },\r\n    clearAll(menuType) {\r\n      console.log(\r\n        'this.$refs[\"elMenu\" + this.menuType]::',\r\n        this.$refs[\"elMenu\" + this.menuType]\r\n      );\r\n      console.log(\"menuTyppe:\", menuType);\r\n      this.defaultOpenedsArray = [];\r\n      if (menuType) {\r\n        if (this.$refs[\"elMenu1\" + menuType]) {\r\n          this.$refs[\"elMenu1\" + menuType].activeIndex = null;\r\n        }\r\n        if (this.$refs[\"elMenu\" + menuType]) {\r\n          this.$refs[\"elMenu\" + menuType].close();\r\n        }\r\n      } else {\r\n        if (this.$refs[\"elMenu\" + this.menuType]) {\r\n          this.$refs[\"elMenu\" + this.menuType].activeIndex = null;\r\n        }\r\n        if (this.$refs[\"elMenu\" + this.menuType]) {\r\n          this.$refs[\"elMenu\" + this.menuType].close();\r\n        }\r\n      }\r\n\r\n      // this.$refs[\"elMenu1\" + this.menuType].activeIndex = null;\r\n    },\r\n    init() {\r\n      if (this.menusProp && this.menusProp.length) {\r\n        console.log(\"setMenuTabActive\");\r\n        this.getMenus(this.menuTab);\r\n        let selectedCourse = {};\r\n        if (this.selectedCourse && this.selectedCourse.length) {\r\n          selectedCourse = JSON.parse(this.selectedCourse);\r\n          const cou = selectedCourse[0];\r\n          this.course_class_name = cou.dyname;\r\n        }\r\n        // 官方课程\r\n        this.$nextTick(() => {\r\n          if(selectedCourse && selectedCourse[0]) {\r\n            this.menus.forEach(item => {\r\n              if (item.course_tag_name == selectedCourse[0].dyname) {\r\n                if (\r\n                  item.course_id ==\r\n                  this.course_id + \"_\" + item.course_isuseradd\r\n                ) {\r\n                  if (this.$refs[\"elMenu1\" + this.leftActiveId]) {\r\n                    this.$refs[\"elMenu1\" + this.menuType].activeIndex =\r\n                      this.course_id + \"_\" + item.course_isuseradd;\r\n                    this.$nextTick(() => {\r\n                      const selectedItem = this.$refs[\r\n                        \"elMenu1\" + this.menuType\r\n                      ].$el.querySelector(\".el-menu-item.is-active\");\r\n                      if (selectedItem) {\r\n                        selectedItem.scrollIntoView({\r\n                          behavior: \"smooth\",\r\n                          block: \"center\"\r\n                        });\r\n                      }\r\n                    });\r\n                  }\r\n                }\r\n              }\r\n            });\r\n          }\r\n        });\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    // this.isMobile = getIsAndroid();\r\n    this.$nextTick(() => {\r\n      if (this.menuTab && this.menuType == this.menuTabActive) {\r\n        this.init();\r\n      }\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.course {\r\n  display: flex;\r\n  flex-direction: column;\r\n  width: calc(100% - 50px);\r\n  height: 100%;\r\n  margin-left: 50px;\r\n  .maincourse {\r\n    width: 50%;\r\n    overflow-y: auto;\r\n  }\r\n  .subcourse {\r\n    width: 100%;\r\n    overflow-y: auto;\r\n    height: 290px;\r\n  }\r\n  .subCourseUser {\r\n    margin-top: 30px;\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: space-between;\r\n    .none {\r\n      height: 100%;\r\n      display: flex;\r\n      justify-content: center;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      img {\r\n        width: 136px;\r\n        height: 136px;\r\n      }\r\n      span {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 17px;\r\n        color: #7e878c;\r\n        line-height: 25px;\r\n        text-align: right;\r\n        font-style: normal;\r\n        padding-top: 21px;\r\n      }\r\n    }\r\n    .title {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      position: relative;\r\n      padding-left: 10px;\r\n      height: 34px;\r\n      border-bottom: 1px solid #64afd5;\r\n      margin-left: 20px;\r\n      margin-right: 27px;\r\n      &::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 0px;\r\n        width: 4px;\r\n        height: 4px;\r\n        border-radius: 2px;\r\n        background-color: #64afd5;\r\n      }\r\n    }\r\n    .add {\r\n      width: 80%;\r\n      margin-left: 10%;\r\n      height: 45px;\r\n      box-shadow: 3px 3px 14px rgba(0, 0, 0, 0.05);\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      margin-top: 10px;\r\n      margin-bottom: 14px;\r\n      cursor: pointer;\r\n      // position: absolute;\r\n      // bottom: 39px;\r\n      img {\r\n        width: 16px;\r\n        height: 16px;\r\n      }\r\n      span {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 21px;\r\n        padding-left: 7px;\r\n      }\r\n    }\r\n    .menus {\r\n      overflow-y: auto;\r\n      flex: 1;\r\n      *::-webkit-scrollbar {\r\n        /*滚动条整体样式*/\r\n        width: 3px;\r\n      }\r\n      *::-webkit-scrollbar-thumb {\r\n        /*滚动条里面小方块*/\r\n        border-radius: 10px;\r\n        background: #64afd5;\r\n      }\r\n    }\r\n    .btns {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      span {\r\n        &:first-child {\r\n          color: #d4d9db;\r\n          padding-right: 14px;\r\n        }\r\n      }\r\n    }\r\n    /deep/ .el-menu {\r\n      border-right: none;\r\n    }\r\n    /deep/ .el-menu-item {\r\n      // border-bottom: 1px solid #e3e3e3;\r\n      padding: 0;\r\n      // margin: 0 20px;\r\n      width: calc(100% - 40px);\r\n      // height: 48px;\r\n      margin-left: 20px;\r\n      padding-left: 0;\r\n      height: 50px;\r\n    }\r\n    /deep/ .el-input {\r\n      padding-left: 0;\r\n      background-color: #fff;\r\n    }\r\n    /deep/.el-input__inner {\r\n      background-color: #fff;\r\n    }\r\n  }\r\n}\r\n.userCourse {\r\n  margin-left: 0;\r\n  width: 100% !important;\r\n  height: calc(100% - 70px);\r\n  .subCourseUser {\r\n    height: 100%;\r\n    padding-right: 20px;\r\n  }\r\n  /deep/ .el-menu-item {\r\n    margin-left: 0 !important;\r\n    padding-left: 66px !important;\r\n    padding-right: 66px !important;\r\n    width: 100% !important;\r\n  }\r\n  .menus {\r\n    padding-right: 0;\r\n  }\r\n}\r\n/deep/ .el-menu {\r\n  width: 99%;\r\n  height: 100%;\r\n}\r\n.subcourse /deep/ .el-menu {\r\n  border-right: none;\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 14px;\r\n}\r\n/deep/ .el-submenu.is-opened {\r\n  background: rgba(234, 237, 239, 0.4);\r\n}\r\n/deep/ .el-submenu:hover {\r\n  background: rgba(234, 237, 239, 0.4);\r\n}\r\n/deep/ .el-submenu__title {\r\n  width: 85%;\r\n  margin-left: 15%;\r\n  color: #7e878c;\r\n}\r\n/deep/ .el-submenu__title:hover {\r\n  background: transparent;\r\n}\r\n/deep/ .el-submenu__title:active {\r\n  // padding-left: 0 !important;\r\n  // background: #ecf5ff;\r\n  background: transparent;\r\n}\r\n/deep/ .is-opened .el-submenu__title {\r\n  // background: rgba(234, 237, 239, 0.4);\r\n  color: #65afd5 !important;\r\n  // /deep/ .el-submenu__title {\r\n  //   color: #65afd5 !important;\r\n  // }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.courserOne {\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  // color: #7e878c;\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  width: 100%;\r\n  line-height: 56px;\r\n  padding-right: 20px;\r\n  &::before {\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 25px;\r\n    left: 0;\r\n    width: 5px;\r\n    height: 5px;\r\n    -webkit-border-radius: 50%;\r\n    -moz-border-radius: 50%;\r\n    border-radius: 50%;\r\n    border: 1px solid #64afd5;\r\n    background: #64afd5;\r\n  }\r\n}\r\n.selected {\r\n  background: #ecf5ff;\r\n}\r\n.menu_wrapper {\r\n  height: 50px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  .edit {\r\n    width: 14px;\r\n    height: 19px;\r\n    margin-right: 20px;\r\n  }\r\n  .del {\r\n    width: 17px;\r\n    height: 19px;\r\n  }\r\n  .course_name {\r\n    font-size: 16px;\r\n    font-family: PingFangSC-Regular, PingFang SC;\r\n    font-weight: 400;\r\n    line-height: 24px;\r\n    // white-space: break-spaces;\r\n  }\r\n  .course_tag_name {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #d4d9db;\r\n    line-height: 21px;\r\n  }\r\n}\r\n.hoverMenu {\r\n  background: rgb(100 175 213 / 5%) !important;\r\n}\r\n/deep/ .el-menu-item.is-active {\r\n  // background: rgba(234, 237, 239, 0.4);\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item.is-active.is-edit {\r\n  background: #fff;\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item.is-active img {\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item {\r\n  background: #fff;\r\n  color: #7e878c;\r\n  width: 81%;\r\n  margin-left: 20%;\r\n  i {\r\n    font-size: 22px;\r\n  }\r\n}\r\n.subcourse /deep/ .el-menu-item {\r\n  width: 100%;\r\n  margin-left: 0;\r\n}\r\n/deep/ .el-submenu__icon-arrow {\r\n  display: none;\r\n}\r\n\r\n.add_dialog,\r\n.del-dialog {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 10px 0;\r\n    margin: 0 20px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-size: 18px;\r\n    font-family: PingFangSC-Medium, PingFang SC;\r\n    font-weight: 500;\r\n    color: #65afd5;\r\n    line-height: 22px;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0 38px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 26px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    letter-spacing: 1px;\r\n    padding: 7px 14px 21px;\r\n    // border: none;\r\n    border-radius: 4px;\r\n    border: 1px solid #64afd5;\r\n    width: 327px;\r\n    height: 78px;\r\n  }\r\n  /deep/ .el-button {\r\n    width: 72px;\r\n    height: 30px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    border-color: #64afd5;\r\n    padding: 7px;\r\n    border-radius: 10px;\r\n  }\r\n  .del-tip {\r\n    font-size: 16px;\r\n    height: 64px;\r\n    line-height: 64px;\r\n  }\r\n}\r\n\r\n.add_dialog {\r\n  .title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    color: #64afd5;\r\n    line-height: 27px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding-bottom: 13px;\r\n    &:first-of-type {\r\n      padding-top: 13px;\r\n    }\r\n    &:last-of-type {\r\n      padding-top: 23px;\r\n    }\r\n  }\r\n  .tag {\r\n    margin-bottom: 45px;\r\n    /deep/ .el-textarea__inner {\r\n      height: 39px;\r\n      padding-bottom: 7px;\r\n    }\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 10px 0;\r\n    margin: 0 38px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 300;\r\n    font-size: 24px;\r\n    color: #292929;\r\n    line-height: 36px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    display: inline-block;\r\n    padding-top: 21px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    font-size: 20px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    padding: 0 0 74px 0;\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n  /deep/ .el-input__count {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  .dialog-footer {\r\n    /deep/ .el-button {\r\n      width: 202px;\r\n      height: 52px;\r\n      text-align: center;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 16px;\r\n      color: #ffffff;\r\n      line-height: 24px;\r\n      font-style: normal;\r\n      background-color: #64afd5;\r\n      box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n    }\r\n  }\r\n}\r\n#addCourseDialog {\r\n  /deep/ .el-dialog {\r\n    height: 495px;\r\n    overflow-y: auto;\r\n    // top: 40%;\r\n  }\r\n}\r\n\r\n*::-webkit-scrollbar {\r\n  /*滚动条整体样式*/\r\n  width: 3px;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #64afd5;\r\n}\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #fff;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/CourseCom.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:'courseCom' + _vm.menuType,staticClass:\"course\",class:[_vm.course_class_isuseradd == 1 ? 'userCourse' : '']},[(_vm.menus.length && _vm.menus[0].course_list && _vm.menus[0].course_list.length)?_c('div',{staticClass:\"maincourse\"},[_c('el-menu',{ref:'elMenu' + _vm.menuType,staticClass:\"el-menu-vertical-demo\",attrs:{\"default-openeds\":_vm.defaultOpenedsArray,\"unique-opened\":true,\"active-text-color\":'#65afd5'},on:{\"select\":_vm.handleSelect}},_vm._l((_vm.menus),function(item,index){return _c('el-submenu',{key:'menus' + index + _vm.menuType,attrs:{\"index\":item.course_class_id + ''}},[_c('template',{slot:\"title\"},[(item.course_list && item.course_list.length)?_c('div',{staticClass:\"courserOne\",on:{\"click\":function($event){return _vm.selectSubMenu(item.course_class_id)}}},[_c('span',[_vm._v(_vm._s(item.course_class_name))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/course_arrow.png\"),\"width\":\"37\",\"height\":\"37\"}})]):_vm._e()])],2)}),1)],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"subCourseUser\",style:({ marginTop: _vm.course_ishide == 1 ? '30px' : '0px' })},[(!_vm.menus.length)?_c('div',{staticClass:\"none\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"暂无笔记\")])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menus.length),expression:\"menus.length\"}],staticClass:\"menus\"},[_c('el-menu',{ref:'elMenu1' + _vm.menuType,on:{\"select\":_vm.selectMenuUser}},_vm._l((_vm.menus),function(menu,idx){return _c('el-menu-item',{key:'menuUser' + idx,class:[\n            _vm.selectedCourseUser &&\n            _vm.selectedCourseUser.course_id == menu.course_id\n              ? 'is-edit'\n              : '',\n            _vm.hoverIndex === idx ? 'hoverMenu' : ''\n          ],attrs:{\"index\":menu.course_id},nativeOn:{\"mouseover\":function($event){return _vm.showMenuUserOp(idx)},\"mouseleave\":function($event){return _vm.hideMenuUserOp.apply(null, arguments)}}},[_c('div',{staticClass:\"menu_wrapper menu_wrapper1\"},[_c('div',{staticClass:\"course_name\"},[_vm._v(_vm._s(menu.course_name))]),_vm._v(\" \"),(_vm.hoverIndex !== idx && menu.course_isuseradd != 2)?_c('div',{staticClass:\"course_tag_name\"},[_vm._v(\"\\n              \"+_vm._s(menu.course_tag_name)+\"\\n            \")]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hoverIndex === idx && menu.course_isuseradd == 1),expression:\"hoverIndex === idx && menu.course_isuseradd == 1\"}],on:{\"click\":_vm.handleMenuEdit}},[_c('img',{staticClass:\"edit\",attrs:{\"src\":require(\"@/assets/img/editMeditate.svg\")},on:{\"click\":function($event){return _vm.showEdit($event, menu)}}}),_vm._v(\" \"),_c('img',{staticClass:\"del\",attrs:{\"src\":require(\"@/assets/img/moral_del.svg\")},on:{\"click\":function($event){return _vm.showDel($event, menu)}}})])])])}),1)],1),_vm._v(\" \"),(_vm.course_class_isuseradd == 1)?_c('div',{staticClass:\"add\",attrs:{\"id\":\"step3\"},on:{\"click\":_vm.showAddCourseUser}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/add.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"添加阅读笔记\")])]):_vm._e()]),_vm._v(\" \"),(_vm.dialogVisible)?_c('el-dialog',{staticClass:\"add_dialog\",attrs:{\"id\":\"addCourseDialog\",\"title\":_vm.isEdit ? '编辑笔记名称' : '添加阅读笔记',\"visible\":_vm.dialogVisible,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"top\":\"0vh\",\"width\":_vm.$px2rem(402)},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('p',{staticClass:\"title\"},[_vm._v(\"笔记标题\")]),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":4,\"placeholder\":\"请输入笔记标题\",\"maxlength\":\"20\",\"resize\":'none',\"show-word-limit\":\"\"},model:{value:(_vm.usercourse_name),callback:function ($$v) {_vm.usercourse_name=$$v},expression:\"usercourse_name\"}}),_vm._v(\" \"),_c('p',{staticClass:\"title\"},[_vm._v(\"标签\")]),_vm._v(\" \"),_c('el-input',{staticClass:\"tag\",attrs:{\"id\":\"addTag\",\"type\":\"textarea\",\"rows\":1,\"placeholder\":\"请输入标签\",\"maxlength\":\"8\",\"resize\":'none',\"show-word-limit\":\"\"},on:{\"blur\":_vm.blur,\"focus\":_vm.focus},model:{value:(_vm.course_tag_name),callback:function ($$v) {_vm.course_tag_name=$$v},expression:\"course_tag_name\"}}),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.addUserCourseConfirm}},[_vm._v(\"确 定\")])],1)],1):_vm._e(),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"title\":\"提示\",\"visible\":_vm.dialogDelVisible,\"modal\":true,\"close-on-click-modal\":false,\"append-to-body\":true,\"top\":\"0vh\",\"center\":\"\"},on:{\"update:visible\":function($event){_vm.dialogDelVisible=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"\\n      确定删除课程？\\n    \")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer del-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function () {\n            _vm.dialogDelVisible = false;\n            _vm.isDel = false;\n            _vm.selectedCourseUser = null;\n          }}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.delUserCourseConfirm]),expression:\"[delUserCourseConfirm]\"}],staticClass:\"comfirm-btn\"},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-86ff668a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/CourseCom.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-86ff668a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CourseCom.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./CourseCom.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./CourseCom.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-86ff668a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./CourseCom.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-86ff668a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/CourseCom.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"course guideSubCourseUser\" :class=\"[guideStep == 3 ? 'userCourse' : '']\">\r\n    <div class=\"subCourseUser\" style=\"margin-top: 0px;\">\r\n      <div class=\"menus\" v-show=\"guideStep == 1\">\r\n        <el-menu>\r\n          <el-menu-item\r\n            :id=\"'step1_' + idx\"\r\n            v-for=\"(menu, idx) in mockMenus_2\"\r\n            class=\"is-edit\"\r\n            :key=\"'menuUser' + idx\">\r\n            <div class=\"menu_wrapper menu_wrapper1\">\r\n              <div class=\"course_name\">{{ menu.course_name }}</div>\r\n            </div>\r\n          </el-menu-item>\r\n        </el-menu>\r\n      </div>\r\n      <div class=\"none\"  v-show=\"guideStep == 3\">\r\n        <img\r\n          src=\"@/assets/img/recommend_none.svg\"\r\n          width=\"136px\"\r\n          height=\"136px\"\r\n        />\r\n        <span>暂无笔记</span>\r\n      </div>\r\n      <div\r\n        id=\"step3\"\r\n        v-show=\"guideStep == 3\"\r\n        class=\"add\">\r\n        <img src=\"@/assets/img/add.svg\" />\r\n        <span>添加阅读笔记</span>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    guideStep: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n  },\r\n  activated() {},\r\n  data() {\r\n    return {\r\n      mockMenus_1:[{\"course_name\": \"示例笔记第一课\"}, {\"course_name\": \"《人生五大问题》\"}, {\"course_name\": \"《心灵创造幸福》\"}, {\"course_name\": \"《生命的回归》\"}],\r\n      mockMenus_2:[{\"course_name\": \"认识静心学堂（《学员手册》节选）\"},{\"course_name\": \"《人生五大问题》\"}, {\"course_name\": \"《信仰与人生》\"},\r\n        {\"course_name\": \"《“慈经”的修行》\"},{\"course_name\": \"同喜班复习课之一\"},{\"course_name\": \"《生命的学习方法——八步骤》\"},\r\n        {\"course_name\": \"《心灵创造幸福》\"}\r\n      ],\r\n    };\r\n  },\r\n\r\n  methods: {\r\n\r\n  },\r\n  created() {},\r\n  mounted() {}\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.course {\r\n  display: flex;\r\n  flex-direction: column;\r\n  width: calc(100% - 50px);\r\n  height: 100%;\r\n  margin-left: 50px;\r\n  .maincourse {\r\n    width: 50%;\r\n    overflow-y: auto;\r\n  }\r\n  .subcourse {\r\n    width: 100%;\r\n    overflow-y: auto;\r\n    height: 290px;\r\n  }\r\n  .subCourseUser {\r\n    margin-top: 30px;\r\n    height: 100%;\r\n    .none {\r\n      height: 100%;\r\n      display: flex;\r\n      justify-content: center;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      span {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 17px;\r\n        color: #7e878c;\r\n        line-height: 25px;\r\n        text-align: right;\r\n        font-style: normal;\r\n        padding-top: 21px;\r\n      }\r\n    }\r\n    .title {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      position: relative;\r\n      padding-left: 10px;\r\n      height: 34px;\r\n      border-bottom: 1px solid #64afd5;\r\n      margin-left: 20px;\r\n      margin-right: 27px;\r\n      &::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 0px;\r\n        width: 4px;\r\n        height: 4px;\r\n        border-radius: 2px;\r\n        background-color: #64afd5;\r\n      }\r\n    }\r\n    .add {\r\n      width: 80%;\r\n      margin-left: 10%;\r\n      height: 45px;\r\n      box-shadow: 2px 2px 8px #f1f0f0;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      margin-top: 30px;\r\n      cursor: pointer;\r\n      position: absolute;\r\n      bottom: 39px;\r\n      img {\r\n        width: 16px;\r\n        height: 16px;\r\n      }\r\n      span {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 21px;\r\n        padding-left: 7px;\r\n      }\r\n    }\r\n    .menus {\r\n      overflow-y: auto;\r\n      height: 100%;\r\n    }\r\n    .btns {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      span {\r\n        &:first-child {\r\n          color: #d4d9db;\r\n          padding-right: 14px;\r\n        }\r\n      }\r\n    }\r\n    /deep/ .el-menu {\r\n      border-right: none;\r\n    }\r\n    /deep/ .el-menu-item {\r\n      // border-bottom: 1px solid #e3e3e3;\r\n      padding: 0;\r\n      // margin: 0 20px;\r\n      width: calc(100% - 40px);\r\n      // height: 48px;\r\n      margin-left: 20px;\r\n      padding-left: 0;\r\n      height: 50px;\r\n    }\r\n    /deep/ .el-input {\r\n      padding-left: 0;\r\n      background-color: #fff;\r\n    }\r\n    /deep/.el-input__inner {\r\n      background-color: #fff;\r\n    }\r\n  }\r\n}\r\n.userCourse {\r\n  margin-left: 0;\r\n  width: 100% !important;\r\n  height: calc(100% - 155px);\r\n  .subCourseUser {\r\n    height: 100%;\r\n  }\r\n  /deep/ .el-menu-item {\r\n    margin-left: 0 !important;\r\n    padding-left: 66px !important;\r\n    padding-right: 66px !important;\r\n    width: 100% !important;\r\n  }\r\n  .menus {\r\n    padding-right: 0;\r\n  }\r\n}\r\n/deep/ .el-menu {\r\n  width: 99%;\r\n  height: 100%;\r\n}\r\n.subcourse /deep/ .el-menu {\r\n  border-right: none;\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 14px;\r\n}\r\n/deep/ .el-submenu.is-opened {\r\n  background: rgba(234, 237, 239, 0.4);\r\n}\r\n/deep/ .el-submenu:hover {\r\n  background: rgba(234, 237, 239, 0.4);\r\n}\r\n/deep/ .el-submenu__title {\r\n  width: 85%;\r\n  margin-left: 15%;\r\n  color: #7e878c;\r\n}\r\n/deep/ .el-submenu__title:hover {\r\n  background: transparent;\r\n}\r\n/deep/ .el-submenu__title:active {\r\n  // padding-left: 0 !important;\r\n  // background: #ecf5ff;\r\n  background: transparent;\r\n}\r\n/deep/ .is-opened .el-submenu__title {\r\n  // background: rgba(234, 237, 239, 0.4);\r\n  color: #65afd5 !important;\r\n  // /deep/ .el-submenu__title {\r\n  //   color: #65afd5 !important;\r\n  // }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.courserOne {\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  // color: #7e878c;\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  width: 100%;\r\n  line-height: 56px;\r\n  padding-right: 20px;\r\n  &::before {\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 25px;\r\n    left: 0;\r\n    width: 5px;\r\n    height: 5px;\r\n    -webkit-border-radius: 50%;\r\n    -moz-border-radius: 50%;\r\n    border-radius: 50%;\r\n    border: 1px solid #64afd5;\r\n    background: #64afd5;\r\n  }\r\n}\r\n.selected {\r\n  background: #ecf5ff;\r\n}\r\n.menu_wrapper {\r\n  height: 50px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  .edit {\r\n    width: 14px;\r\n    height: 19px;\r\n    margin-right: 20px;\r\n  }\r\n  .del {\r\n    width: 17px;\r\n    height: 19px;\r\n  }\r\n  .course_name {\r\n    font-size: 16px;\r\n    font-family: PingFangSC-Regular, PingFang SC;\r\n    font-weight: 400;\r\n    line-height: 24px;\r\n  }\r\n  .course_tag_name {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #d4d9db;\r\n    line-height: 21px;\r\n  }\r\n}\r\n.hoverMenu {\r\n  background: rgb(100 175 213 / 5%) !important;\r\n}\r\n/deep/ .el-menu-item.is-active {\r\n  // background: rgba(234, 237, 239, 0.4);\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item.is-active.is-edit {\r\n  background: #fff;\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item.is-active img {\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item {\r\n  background: #fff;\r\n  color: #7e878c;\r\n  width: 81%;\r\n  margin-left: 20%;\r\n  i {\r\n    font-size: 22px;\r\n  }\r\n}\r\n.subcourse /deep/ .el-menu-item {\r\n  width: 100%;\r\n  margin-left: 0;\r\n}\r\n/deep/ .el-submenu__icon-arrow {\r\n  display: none;\r\n}\r\n\r\n.add_dialog,\r\n.del-dialog {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 10px 0;\r\n    margin: 0 20px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-size: 18px;\r\n    font-family: PingFangSC-Medium, PingFang SC;\r\n    font-weight: 500;\r\n    color: #65afd5;\r\n    line-height: 22px;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0 38px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 26px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    letter-spacing: 1px;\r\n    padding: 7px 14px 21px;\r\n    // border: none;\r\n    border-radius: 4px;\r\n    border: 1px solid #64afd5;\r\n    width: 327px;\r\n    height: 78px;\r\n  }\r\n  /deep/ .el-button {\r\n    width: 72px;\r\n    height: 30px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    border-color: #64afd5;\r\n    padding: 7px;\r\n    border-radius: 10px;\r\n  }\r\n  .del-tip {\r\n    font-size: 16px;\r\n    height: 64px;\r\n    line-height: 64px;\r\n  }\r\n}\r\n\r\n.add_dialog {\r\n  .title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    color: #64afd5;\r\n    line-height: 27px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding-bottom: 13px;\r\n    &:first-of-type {\r\n      padding-top: 13px;\r\n    }\r\n    &:last-of-type {\r\n      padding-top: 23px;\r\n    }\r\n  }\r\n  .tag {\r\n    margin-bottom: 45px;\r\n    /deep/ .el-textarea__inner {\r\n      height: 39px;\r\n      padding-bottom: 7px;\r\n    }\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 10px 0;\r\n    margin: 0 38px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 300;\r\n    font-size: 24px;\r\n    color: #292929;\r\n    line-height: 36px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    display: inline-block;\r\n    padding-top: 21px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    font-size: 20px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    padding: 0 0 74px 0;\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n  /deep/ .el-input__count {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  .dialog-footer {\r\n    /deep/ .el-button {\r\n      width: 202px;\r\n      height: 52px;\r\n      text-align: center;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 16px;\r\n      color: #ffffff;\r\n      line-height: 24px;\r\n      font-style: normal;\r\n      background-color: #64afd5;\r\n      box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/GuideOverseasCourseCom.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"course guideSubCourseUser\",class:[_vm.guideStep == 3 ? 'userCourse' : '']},[_c('div',{staticClass:\"subCourseUser\",staticStyle:{\"margin-top\":\"0px\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.guideStep == 1),expression:\"guideStep == 1\"}],staticClass:\"menus\"},[_c('el-menu',_vm._l((_vm.mockMenus_2),function(menu,idx){return _c('el-menu-item',{key:'menuUser' + idx,staticClass:\"is-edit\",attrs:{\"id\":'step1_' + idx}},[_c('div',{staticClass:\"menu_wrapper menu_wrapper1\"},[_c('div',{staticClass:\"course_name\"},[_vm._v(_vm._s(menu.course_name))])])])}),1)],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.guideStep == 3),expression:\"guideStep == 3\"}],staticClass:\"none\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\"),\"width\":\"136px\",\"height\":\"136px\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"暂无笔记\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.guideStep == 3),expression:\"guideStep == 3\"}],staticClass:\"add\",attrs:{\"id\":\"step3\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/add.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"添加阅读笔记\")])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-602a430e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/GuideOverseasCourseCom.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-602a430e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./GuideOverseasCourseCom.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideOverseasCourseCom.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideOverseasCourseCom.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-602a430e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./GuideOverseasCourseCom.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-602a430e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/GuideOverseasCourseCom.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"course userCourse guideSubCourseUser\">\r\n    <div class=\"subCourseUser guideSubCourseUser\" style=\"margin-top: 0px;\">\r\n      <div class=\"menus\">\r\n        <el-menu>\r\n          <el-menu-item\r\n            :id=\"'step1_' + idx\"\r\n            v-for=\"(menu, idx) in mockMenus_1\"\r\n            class=\"is-edit\"\r\n            :key=\"'menuUser' + idx\">\r\n            <div class=\"menu_wrapper menu_wrapper1\">\r\n              <div class=\"course_name\">{{ menu.course_name }}</div>\r\n            </div>\r\n          </el-menu-item>\r\n        </el-menu>\r\n      </div>\r\n      <div\r\n        id=\"step3\"\r\n        class=\"add\">\r\n        <img src=\"@/assets/img/add.svg\" />\r\n        <span>添加阅读笔记</span>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    guideStep: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n  },\r\n  activated() {},\r\n  data() {\r\n    return {\r\n      mockMenus_1:[{\"course_name\": \"示例笔记第一课\"}, {\"course_name\": \"《人生五大问题》\"}, {\"course_name\": \"《心灵创造幸福》\"}, {\"course_name\": \"《生命的回归》\"}],\r\n      mockMenus_2:[{\"course_name\": \"认识静心学堂（《学员手册》节选）\"},{\"course_name\": \"《人生五大问题》\"}, {\"course_name\": \"《信仰与人生》\"},\r\n        {\"course_name\": \"《“慈经”的修行》\"},{\"course_name\": \"同喜班复习课之一\"},{\"course_name\": \"《生命的学习方法——八步骤》\"},\r\n        {\"course_name\": \"《心灵创造幸福》\"}\r\n      ],\r\n    };\r\n  },\r\n\r\n  methods: {\r\n\r\n  },\r\n  created() {},\r\n  mounted() {}\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.course {\r\n  display: flex;\r\n  flex-direction: column;\r\n  width: calc(100% - 50px);\r\n  height: 100%;\r\n  margin-left: 50px;\r\n  .maincourse {\r\n    width: 50%;\r\n    overflow-y: auto;\r\n  }\r\n  .subcourse {\r\n    width: 100%;\r\n    overflow-y: auto;\r\n    height: 290px;\r\n  }\r\n  .subCourseUser {\r\n    margin-top: 30px;\r\n    height: 100%;\r\n    .none {\r\n      height: 100%;\r\n      display: flex;\r\n      justify-content: center;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      span {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 17px;\r\n        color: #7e878c;\r\n        line-height: 25px;\r\n        text-align: right;\r\n        font-style: normal;\r\n        padding-top: 21px;\r\n      }\r\n    }\r\n    .title {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      position: relative;\r\n      padding-left: 10px;\r\n      height: 34px;\r\n      border-bottom: 1px solid #64afd5;\r\n      margin-left: 20px;\r\n      margin-right: 27px;\r\n      &::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 0px;\r\n        width: 4px;\r\n        height: 4px;\r\n        border-radius: 2px;\r\n        background-color: #64afd5;\r\n      }\r\n    }\r\n    .add {\r\n      width: 80%;\r\n      margin-left: 10%;\r\n      height: 45px;\r\n      box-shadow: 2px 2px 8px #f1f0f0;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      margin-top: 30px;\r\n      cursor: pointer;\r\n      position: absolute;\r\n      bottom: 39px;\r\n      img {\r\n        width: 16px;\r\n        height: 16px;\r\n      }\r\n      span {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 21px;\r\n        padding-left: 7px;\r\n      }\r\n    }\r\n    .menus {\r\n      overflow-y: auto;\r\n      height: 100%;\r\n    }\r\n    .btns {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      span {\r\n        &:first-child {\r\n          color: #d4d9db;\r\n          padding-right: 14px;\r\n        }\r\n      }\r\n    }\r\n    /deep/ .el-menu {\r\n      border-right: none;\r\n    }\r\n    /deep/ .el-menu-item {\r\n      // border-bottom: 1px solid #e3e3e3;\r\n      padding: 0;\r\n      // margin: 0 20px;\r\n      width: calc(100% - 40px);\r\n      // height: 48px;\r\n      margin-left: 20px;\r\n      padding-left: 0;\r\n      height: 50px;\r\n    }\r\n    /deep/ .el-input {\r\n      padding-left: 0;\r\n      background-color: #fff;\r\n    }\r\n    /deep/.el-input__inner {\r\n      background-color: #fff;\r\n    }\r\n  }\r\n}\r\n.userCourse {\r\n  margin-left: 0;\r\n  width: 100% !important;\r\n  height: calc(100% - 155px);\r\n  .subCourseUser {\r\n    height: 100%;\r\n  }\r\n  /deep/ .el-menu-item {\r\n    margin-left: 0 !important;\r\n    padding-left: 66px !important;\r\n    padding-right: 66px !important;\r\n    width: 100% !important;\r\n  }\r\n  .menus {\r\n    padding-right: 0;\r\n  }\r\n}\r\n/deep/ .el-menu {\r\n  width: 99%;\r\n  height: 100%;\r\n}\r\n.subcourse /deep/ .el-menu {\r\n  border-right: none;\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 14px;\r\n}\r\n/deep/ .el-submenu.is-opened {\r\n  background: rgba(234, 237, 239, 0.4);\r\n}\r\n/deep/ .el-submenu:hover {\r\n  background: rgba(234, 237, 239, 0.4);\r\n}\r\n/deep/ .el-submenu__title {\r\n  width: 85%;\r\n  margin-left: 15%;\r\n  color: #7e878c;\r\n}\r\n/deep/ .el-submenu__title:hover {\r\n  background: transparent;\r\n}\r\n/deep/ .el-submenu__title:active {\r\n  // padding-left: 0 !important;\r\n  // background: #ecf5ff;\r\n  background: transparent;\r\n}\r\n/deep/ .is-opened .el-submenu__title {\r\n  // background: rgba(234, 237, 239, 0.4);\r\n  color: #65afd5 !important;\r\n  // /deep/ .el-submenu__title {\r\n  //   color: #65afd5 !important;\r\n  // }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.courserOne {\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  // color: #7e878c;\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  width: 100%;\r\n  line-height: 56px;\r\n  padding-right: 20px;\r\n  &::before {\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 25px;\r\n    left: 0;\r\n    width: 5px;\r\n    height: 5px;\r\n    -webkit-border-radius: 50%;\r\n    -moz-border-radius: 50%;\r\n    border-radius: 50%;\r\n    border: 1px solid #64afd5;\r\n    background: #64afd5;\r\n  }\r\n}\r\n.selected {\r\n  background: #ecf5ff;\r\n}\r\n.menu_wrapper {\r\n  height: 50px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  .edit {\r\n    width: 14px;\r\n    height: 19px;\r\n    margin-right: 20px;\r\n  }\r\n  .del {\r\n    width: 17px;\r\n    height: 19px;\r\n  }\r\n  .course_name {\r\n    font-size: 16px;\r\n    font-family: PingFangSC-Regular, PingFang SC;\r\n    font-weight: 400;\r\n    line-height: 24px;\r\n  }\r\n  .course_tag_name {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #d4d9db;\r\n    line-height: 21px;\r\n  }\r\n}\r\n.hoverMenu {\r\n  background: rgb(100 175 213 / 5%) !important;\r\n}\r\n/deep/ .el-menu-item.is-active {\r\n  // background: rgba(234, 237, 239, 0.4);\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item.is-active.is-edit {\r\n  background: #fff;\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item.is-active img {\r\n  color: #64afd5;\r\n}\r\n/deep/ .el-menu-item {\r\n  background: #fff;\r\n  color: #7e878c;\r\n  width: 81%;\r\n  margin-left: 20%;\r\n  i {\r\n    font-size: 22px;\r\n  }\r\n}\r\n.subcourse /deep/ .el-menu-item {\r\n  width: 100%;\r\n  margin-left: 0;\r\n}\r\n/deep/ .el-submenu__icon-arrow {\r\n  display: none;\r\n}\r\n\r\n.add_dialog,\r\n.del-dialog {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 10px 0;\r\n    margin: 0 20px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-size: 18px;\r\n    font-family: PingFangSC-Medium, PingFang SC;\r\n    font-weight: 500;\r\n    color: #65afd5;\r\n    line-height: 22px;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0 38px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 26px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    letter-spacing: 1px;\r\n    padding: 7px 14px 21px;\r\n    // border: none;\r\n    border-radius: 4px;\r\n    border: 1px solid #64afd5;\r\n    width: 327px;\r\n    height: 78px;\r\n  }\r\n  /deep/ .el-button {\r\n    width: 72px;\r\n    height: 30px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    border-color: #64afd5;\r\n    padding: 7px;\r\n    border-radius: 10px;\r\n  }\r\n  .del-tip {\r\n    font-size: 16px;\r\n    height: 64px;\r\n    line-height: 64px;\r\n  }\r\n}\r\n\r\n.add_dialog {\r\n  .title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    color: #64afd5;\r\n    line-height: 27px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding-bottom: 13px;\r\n    &:first-of-type {\r\n      padding-top: 13px;\r\n    }\r\n    &:last-of-type {\r\n      padding-top: 23px;\r\n    }\r\n  }\r\n  .tag {\r\n    margin-bottom: 45px;\r\n    /deep/ .el-textarea__inner {\r\n      height: 39px;\r\n      padding-bottom: 7px;\r\n    }\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 10px 0;\r\n    margin: 0 38px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 300;\r\n    font-size: 24px;\r\n    color: #292929;\r\n    line-height: 36px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    display: inline-block;\r\n    padding-top: 21px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    font-size: 20px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    padding: 0 0 74px 0;\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n  /deep/ .el-input__count {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  .dialog-footer {\r\n    /deep/ .el-button {\r\n      width: 202px;\r\n      height: 52px;\r\n      text-align: center;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 16px;\r\n      color: #ffffff;\r\n      line-height: 24px;\r\n      font-style: normal;\r\n      background-color: #64afd5;\r\n      box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/GuideDomesticCourseCom.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"course userCourse guideSubCourseUser\"},[_c('div',{staticClass:\"subCourseUser guideSubCourseUser\",staticStyle:{\"margin-top\":\"0px\"}},[_c('div',{staticClass:\"menus\"},[_c('el-menu',_vm._l((_vm.mockMenus_1),function(menu,idx){return _c('el-menu-item',{key:'menuUser' + idx,staticClass:\"is-edit\",attrs:{\"id\":'step1_' + idx}},[_c('div',{staticClass:\"menu_wrapper menu_wrapper1\"},[_c('div',{staticClass:\"course_name\"},[_vm._v(_vm._s(menu.course_name))])])])}),1)],1),_vm._v(\" \"),_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add\",attrs:{\"id\":\"step3\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/add.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"添加阅读笔记\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e33804ea\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/GuideDomesticCourseCom.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e33804ea\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./GuideDomesticCourseCom.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideDomesticCourseCom.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideDomesticCourseCom.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e33804ea\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./GuideDomesticCourseCom.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-e33804ea\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/GuideDomesticCourseCom.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <el-dialog\r\n    class=\"course\"\r\n    :class=\"[course_ishide == 1 ? 'userCourse' : '', isMobile ? 'mobileCourse' : '', guiding1 ? 'guiding' : '']\"\r\n    :width=\"course_ishide == 1 && courses[0] ? '30%' : '70%'\"\r\n    title=\"\"\r\n    :visible=\"dialogVisible\"\r\n    :modal=\"true\"\r\n    :append-to-body=\"true\"\r\n    :close-on-click-modal=\"false\"\r\n    :show-close=\"false\"\r\n    center\r\n    top=\"0vh\"\r\n  >\r\n    <img\r\n      class=\"dialog-close\"\r\n      src=\"@/assets/img/close.svg\"\r\n      @click=\"close\"\r\n    />\r\n    <el-tabs\r\n      v-if=\"course_ishide == 2 && courseClassNameGuideMode === 1\"\r\n      v-model=\"activeName\"\r\n      :tab-position=\"'left'\"\r\n      @tab-click=\"handleClick\"\r\n      :stretch=\"true\"\r\n    >\r\n      <el-tab-pane\r\n        v-for=\"(item, index) in courses\"\r\n        :key=\"'course' + index\"\r\n        :label=\"item.course_class_name\"\r\n        :name=\"item.course_class_id + ''\"\r\n      >\r\n        <div class=\"search\" v-if=\"item.course_class_id == -1\">\r\n          <el-input\r\n            id=\"step1\"\r\n            placeholder=\"搜索\"\r\n            prefix-icon=\"el-icon-search\"\r\n            v-model=\"keywords\"\r\n            @input=\"changeSearch\"\r\n          >\r\n          </el-input>\r\n        </div>\r\n        <CourseCom\r\n          v-show=\"app_type == 1 || (app_type == 2 && (canAccessYouTube || (item.course_class_domestic == 1 && !canAccessYouTube)))\"\r\n          :key=\"item.course_class_id == -1 ? courseComKey : item.course_class_id\"\r\n          :course=\"\r\n           item.course_class_id == -1 ? selfCourses.course_list : item.course_list\r\n          \"\r\n          :course_id=\"course_id\"\r\n          :selectedCourse=\"course\"\r\n          :visible=\"dialogVisible\"\r\n          :courseName=\"item.course_class_name\"\r\n          :type=\"1\"\r\n          :defaultOpeneds=\"defaultOpenedsxi\"\r\n          :menusProp=\"\r\n            item.course_list.length > 0 ? item.course_list : item.course_list\r\n          \"\r\n          :menuType=\"item.course_class_id\"\r\n          :leftActiveId=\"activeName\"\r\n          :isGlobal=\"isGlobal\"\r\n          :course_class_isuseradd=\"item.course_class_isuseradd\"\r\n          :course_ishide=\"course_ishide\"\r\n          :pageNamePro=\"pageNamePro\"\r\n          :nickName=\"nickName\"\r\n          @selectCourse=\"selectCourse\"\r\n          @addUserCourse=\"addUserCourse\"\r\n          @editCourse=\"editCourse\"\r\n          @delUserCurrentCourse=\"delUserCurrentCourse\"\r\n          @gotoUserCourse=\"gotoUserCourse\"\r\n          :ref=\"'courseCom' + item.course_class_id\"\r\n        />\r\n        <div class=\"tip\" v-show=\"item.course_class_domestic == 2 && !canAccessYouTube && app_type == 2\">{{isGlobal ? '所在区域无法阅览该内容，可在“其他阅读笔记”中自行添加' : '所在区域无法阅览该内容'}}</div>\r\n      </el-tab-pane>\r\n    </el-tabs>\r\n    <!--    海外引导-->\r\n    <el-tabs\r\n      v-if=\"course_ishide == 2 && courseClassNameGuideMode === 0\"\r\n      v-model=\"guide_activeName\"\r\n      :tab-position=\"'left'\"\r\n      :stretch=\"true\"\r\n    >\r\n      <el-tab-pane\r\n        v-for=\"(item, index) in guide_courses\"\r\n        :key=\"'guide_courses' + index\"\r\n        :label=\"item.course_class_name\"\r\n        :name=\"item.course_class_id + '-guide'\"\r\n      >\r\n        <div class=\"search\" v-show=\"guideStep == 3\">\r\n          <el-input\r\n            id=\"step1\"\r\n            placeholder=\"搜索\"\r\n            prefix-icon=\"el-icon-search\"\r\n            v-model=\"keywords\"\r\n          >\r\n          </el-input>\r\n        </div>\r\n        <GuideOverseasCourseCom :guideStep=\"guideStep\" />\r\n      </el-tab-pane>\r\n    </el-tabs>\r\n    <!--    海外引导结束-->\r\n\r\n    <div class=\"courseHide\" v-else-if=\"course_ishide == 1 && courses[0]\">\r\n      <div class=\"search\">\r\n        <el-input\r\n          id=\"step1\"\r\n          placeholder=\"搜索\"\r\n          prefix-icon=\"el-icon-search\"\r\n          v-model=\"keywords\"\r\n          @input=\"changeSearch\"\r\n        >\r\n        </el-input>\r\n      </div>\r\n      <CourseCom\r\n        :key=\"courseComKey\"\r\n        v-if=\"courseClassNameGuideMode === 1\"\r\n        :course=\"\r\n        selfCourses.course_list.length > 0\r\n            ? selfCourses.course_list\r\n            : selfCourses.course_list\r\n        \"\r\n        :course_id=\"course_id\"\r\n        :selectedCourse=\"course\"\r\n        :visible=\"dialogVisible\"\r\n        :courseName=\"courses[0].course_class_name\"\r\n        :type=\"1\"\r\n        :defaultOpeneds=\"defaultOpenedsxi\"\r\n        :menusProp=\"\r\n          courses[0].course_list.length > 0\r\n            ? courses[0].course_list\r\n            : courses[0].course_list\r\n        \"\r\n        :menuType=\"courses[0].course_class_id\"\r\n        :leftActiveId=\"activeName\"\r\n        :isGlobal=\"isGlobal\"\r\n        :course_class_isuseradd=\"courses[0].course_class_isuseradd\"\r\n        :nickName=\"nickName\"\r\n        :pageNamePro=\"pageNamePro\"\r\n        @selectCourse=\"selectCourse\"\r\n        @editCourse=\"editCourse\"\r\n        @addUserCourse=\"addUserCourse\"\r\n        @delUserCurrentCourse=\"delUserCurrentCourse\"\r\n        :ref=\"'courseCom' + courses[0].course_class_id\"\r\n      />\r\n      <GuideDomesticCourseCom\r\n        v-if=\"courseClassNameGuideMode === 0\"\r\n        :guideStep=\"guideStep\"\r\n      />\r\n    </div>\r\n  </el-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { getCourseList, getUserCourseSearch, getCourseBase } from \"@/api/index\";\r\nimport CourseCom from \"./CourseCom.vue\";\r\nimport GuideOverseasCourseCom from \"./GuideOverseasCourseCom.vue\";\r\nimport GuideDomesticCourseCom from \"./GuideDomesticCourseCom.vue\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { throttle, getIsAndroid, testAlert } from \"@/utils/util\";\r\nimport { randomNum } from \"@/utils/oss\";\r\nimport {\r\n  courseClassName_guide_1,\r\n  courseClassName_guide_2\r\n} from \"@/utils/intro\";\r\n\r\nexport default {\r\n  props: {\r\n    dialogVisible: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    course: {\r\n      type: String,\r\n      default: () => {\r\n        return \"\";\r\n      }\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    isGlobal: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    nickName: {\r\n      type: String,\r\n      default: () => {\r\n        return \"\";\r\n      }\r\n    },\r\n    pageNamePro: {\r\n      type: String,\r\n      default: () => {\r\n        return \"\";\r\n      }\r\n    },\r\n    guiding: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n  },\r\n  components: { CourseCom, GuideOverseasCourseCom, GuideDomesticCourseCom },\r\n  data() {\r\n    return {\r\n      guideStep: 1,\r\n      guide_activeName: \"1-guide\",\r\n      guide_courses: [\r\n        { course_class_id: 1, course_class_name: \"智慧人生\" },\r\n        { course_class_id: 2, course_class_name: \"走进佛陀\" },\r\n        { course_class_id: 3, course_class_name: \"佛法要领\" },\r\n        { course_class_id: 4, course_class_name: \"正念之道\" },\r\n        { course_class_id: 5, course_class_name: \"学做菩萨\" },\r\n        { course_class_id: 6, course_class_name: \"入不二门\" },\r\n        { course_class_id: 7, course_class_name: \"回归本心\" },\r\n        { course_class_id: -1, course_class_name: \"其他阅读笔记\" }\r\n      ],\r\n      activeName: \"1\",\r\n      courses: [],\r\n      tongxi: [],\r\n      tongxiu: [],\r\n      tongde: [],\r\n      defaultOpenedsxi: [],\r\n      defaultOpenedsxiu: [],\r\n      defaultOpenedsde: [],\r\n      menus: [],\r\n      tongxiMenus: [],\r\n      tongxiuMenus: [],\r\n      tongdeMenus: [],\r\n      // 默认选中的左边的课程\r\n      leftActiveId: \"\",\r\n      // 课程是否隐藏\r\n      course_ishide: 2,\r\n      keywords: \"\",\r\n      courseClassNameGuideMode: 1, //课程是否是引导模式的数据\r\n      courseComKey: randomNum(4),\r\n      selfCourses: {},\r\n      isMobile: false,\r\n      isEditCourse: false, //是否是删除或者新增修改课程，是的话不要初始化\r\n      guiding1: this.guiding,\r\n      app_type: 1\r\n    };\r\n  },\r\n  computed: {\r\n    menuTabActive() {\r\n      return this.$store.getters.menuTabActive;\r\n    },\r\n    user() {\r\n      let user = this.$store.getters.user;\r\n      if (typeof user == \"string\") {\r\n        return JSON.parse(user);\r\n      } else {\r\n        return user;\r\n      }\r\n    },\r\n    courseList() {\r\n        return this.$store.getters.courseList;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    },\r\n  },\r\n  watch: {\r\n    course: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v && v.length) {\r\n          const course = JSON.parse(v);\r\n          const cou = course[0];\r\n          this.menus = course;\r\n\r\n          if (this.menus[0]) {\r\n            for (let i = 0; i < this.courses.length; i++) {\r\n              let item = this.courses[i];\r\n              if (item.course_class_name === this.menus[0].jdname) {\r\n                console.log(item);\r\n                this.defaultOpenedsxi = [item.course_id];\r\n                this.leftActiveId = item.course_class_id + \"\";\r\n                this.activeName = item.course_class_id + \"\";\r\n                this.$store.dispatch(\"setMenuTab\", item.course_class_id);\r\n                this.$store.dispatch(\"setMenuTabActive\", item.course_class_id);\r\n              }\r\n            }\r\n          }\r\n        } else {\r\n          this.menus = [];\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    courseList: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"courseList changed:\", v);\r\n        console.log(\"courseList changed:\", this.isGlobal);\r\n        if (v) {\r\n          if(this.isGlobal) {\r\n            this.courses = v;\r\n            this.courseComKey = randomNum(4);\r\n          } else {\r\n            this.courses = v.filter(item => item.course_class_id != -1);\r\n          }\r\n          this.initCourse(v);\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    dialogVisible: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"dialogVisible changed:\", v);\r\n        if (!v) {\r\n          this.keywords = \"\";\r\n        }\r\n        if(this.activeName == -1) {\r\n          this.search();\r\n        }\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    gotoUserCourse() {\r\n      console.log(\"gotoUserCourse\");\r\n      const course_id_user = '-1'\r\n      this.defaultOpenedsxi = [course_id_user];\r\n      this.leftActiveId = course_id_user;\r\n      this.activeName = course_id_user;\r\n      this.$store.dispatch(\"setMenuTab\", course_id_user);\r\n      this.$store.dispatch(\"setMenuTabActive\", course_id_user);\r\n    },\r\n    toIndex1() {\r\n      EventBus.$emit(\"CultureIndex\");\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\", true);\r\n      // this.$store.dispatch(\"clearHistoryOperate\");\r\n    },\r\n    async delUserCurrentCourse(isCurrentCourse) {\r\n      console.log(\"delUserCurrentCourse\")\r\n      this.close();\r\n      if(isCurrentCourse) {\r\n        this.$store.dispatch(\"setIsDeleteCourse\", true).then(() => {\r\n          console.log(\"to CourseSelect\");\r\n          this.$router.push({\r\n            path: \"/CourseSelect\",\r\n          });\r\n        });\r\n      } else {\r\n        this.isEditCourse = true;\r\n      }\r\n      // const res = await getCourseList();\r\n      // if (res && res.code === 0) {\r\n      //   const data = res.data;\r\n      //   if(this.isGlobal) {\r\n      //     this.courses = data;\r\n      //     console.log(\"setCourseList:\", data);\r\n      //     if(isCurrentCourse) {\r\n      //       this.$store.dispatch(\"setCourseList\", data).then(() => {\r\n\r\n      //       });\r\n      //     } else {\r\n      //       this.isEditCourse = true;\r\n      //       this.$store.dispatch(\"setCourseList\", data);\r\n      //     }\r\n      //   } else {\r\n      //     this.courses = data.filter(item => item.course_class_id != -1);\r\n      //   }\r\n        // this.initCourse();\r\n      // }\r\n\r\n    },\r\n    async addUserCourse() {\r\n      try {\r\n        const res = await getCourseList();\r\n        if (res && res.code === 0) {\r\n          this.courses = res.data;\r\n          console.log(\"setCourseList:\", res.data);\r\n          this.isEditCourse = true;\r\n          this.$store.dispatch(\"setCourseList\", res.data).then(() => {\r\n            this.search();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    getGuideStatus() {\r\n      const GUIDE_STATUS_KEY = \"guideStatus\";\r\n      const guideStatusStr = localStorage.getItem(GUIDE_STATUS_KEY);\r\n      try {\r\n        return JSON.parse(guideStatusStr);\r\n      } catch (e) {\r\n        console.error(\"Error parsing guideStatus from localStorage:\", e);\r\n        return {};\r\n      }\r\n    },\r\n    shouldTriggerGuide(guideStatus) {\r\n      return (\r\n        guideStatus.courseClassName === 0 && this.$route.name !== \"CourseSelect\"\r\n      );\r\n    },\r\n    guide_1() {\r\n      this.setCourseClassNameGuideMode(0);\r\n      let timeout = setTimeout(() => {\r\n        this.courseClassName_initGuide_1();\r\n        clearTimeout(timeout);\r\n      }, 800);\r\n    },\r\n    guide_2() {\r\n      this.setCourseClassNameGuideMode(0);\r\n      let timeout = setTimeout(() => {\r\n        this.courseClassName_initGuide_2();\r\n        clearTimeout(timeout);\r\n      }, 800);\r\n    },\r\n    setCourseClassNameGuideMode(status) {\r\n      this.courseClassNameGuideMode = status;\r\n      if(status == 1) {\r\n        this.guiding1 = false;\r\n      }\r\n    },\r\n    changeSearch() {\r\n      console.log(\"throttleChange\");\r\n      this.search();\r\n    },\r\n    search: throttle(async function() {\r\n      try {\r\n        let params = {\r\n          keywords: this.keywords,\r\n          course_class_id: this.activeName\r\n        };\r\n        const res = await getUserCourseSearch(params);\r\n        if (res && res.code === 0) {\r\n          if (this.course_ishide == 1) {\r\n            this.courses = [\r\n              {\r\n                course_class_id: this.courses[0].course_class_id,\r\n                course_class_name: this.courses[0].course_class_name,\r\n                course_class_isuseradd: this.courses[0].course_class_isuseradd,\r\n                course_class_tag: this.courses[0].course_class_tag,\r\n                course_class_size: this.courses[0].course_class_size,\r\n                course_list: [...res.data]\r\n              }\r\n            ];\r\n            const index = this.courses.findIndex(\r\n              item => item.course_class_id == -1\r\n            );\r\n            if (index > -1) {\r\n              this.selfCourses = {\r\n                ...this.courses[index],\r\n                course_list: [...res.data]\r\n              };\r\n            }\r\n            console.log(\"selfCourses:\", this.selfCourses);\r\n            this.$nextTick(() => {\r\n              this.$refs[\r\n                \"courseCom\" + this.courses[0].course_class_id\r\n              ].search();\r\n            });\r\n          } else {\r\n            const index = this.courses.findIndex(\r\n              item => item.course_class_id == -1\r\n            );\r\n            console.log(\"index:\", index);\r\n            if (index > -1) {\r\n              // this.courses.splice(index, 1, {\r\n              //   ...this.courses[index],\r\n              //   course_list: [...res.data]\r\n              // });\r\n              this.selfCourses = {\r\n                ...this.courses[index],\r\n                course_list: [...res.data]\r\n              };\r\n              console.log(\"selfCourses:\", this.selfCourses);\r\n              this.$nextTick(() => {\r\n                if (this.$refs[\"courseCom\" + this.activeName]) {\r\n                  this.$refs[\"courseCom\" + this.activeName][0].search();\r\n                }\r\n              });\r\n              console.log(this.courses);\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    }, 100),\r\n    handleClick() {\r\n      this.$store.dispatch(\"setMenuTab\", this.activeName);\r\n      this.$store.dispatch(\"setMenuTabActive\", this.activeName);\r\n      console.log(this.activeName);\r\n    },\r\n    initCourse() {\r\n      const index = this.courses.findIndex(\r\n        item => item.course_class_id == -1\r\n      );\r\n      console.log(\"index:\", index);\r\n      if (index > -1) {\r\n        this.selfCourses = {\r\n          ...this.courses[index]\r\n        };\r\n        console.log(\"selfCourses:\", this.selfCourses);\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"courseCom-1\"] && this.$refs[\"courseCom-1\"][0]) {\r\n            this.$refs[\"courseCom-1\"][0].search();\r\n          } else if(this.$refs[\"courseCom-1\"]) {\r\n            this.$refs[\"courseCom-1\"].search();\r\n          }\r\n        });\r\n        console.log(this.courses);\r\n      }\r\n      if (this.course && this.course.length) {\r\n        const course = JSON.parse(this.course);\r\n        const cou = course[0];\r\n        this.menus = course;\r\n      } else if (this.courses.length > 0) {\r\n        if (this.user.user_status == 2 && !this.isEditCourse) {\r\n          this.activeName = \"1\";\r\n          this.handleClick();\r\n        } else if(!this.isEditCourse){\r\n          this.menus = [this.courses[0]];\r\n          if (this.courses[0].course_list) {\r\n            if (this.courses[0] && this.courses[0].course_list[0])\r\n              this.menus = [\r\n                {\r\n                  course_id: parseInt(\r\n                    this.courses[0].course_list[0].course_id\r\n                  ),\r\n                  course_name: this.courses[0].course_list[0].course_name,\r\n                  dyname: this.courses[0].course_list[0].course_tag_name,\r\n                  jdname: this.courses[0].course_class_name,\r\n                  type: this.courses[0].course_class_id,\r\n                  course_isuseradd: this.courses[0].course_list[0]\r\n                    .course_isuseradd\r\n                }\r\n              ];\r\n          } else {\r\n            this.menus = [\r\n              {\r\n                course_id: parseInt(\r\n                  this.courses[0].course_list[0].course_id\r\n                ),\r\n                course_name: this.courses[0].course_list[0].course_name,\r\n                dyname: this.courses[0].course_list[0].course_name,\r\n                jdname: \"\",\r\n                type: this.courses[0].course_class_id,\r\n                course_isuseradd: this.courses[0].course_list[0]\r\n                  .course_isuseradd\r\n              }\r\n            ];\r\n          }\r\n        }\r\n      }\r\n      // 第一级课程\r\n      if(!this.isEditCourse) {\r\n        if (this.menus[0]) {\r\n          for (let i = 0; i < this.courses.length; i++) {\r\n            let item = this.courses[i];\r\n            if (item.course_class_name === this.menus[0].jdname) {\r\n              console.log(item);\r\n              this.defaultOpenedsxi = [item.course_id];\r\n              this.leftActiveId = item.course_class_id + \"\";\r\n              this.activeName = item.course_class_id + \"\";\r\n              this.$store.dispatch(\"setMenuTab\", item.course_class_id);\r\n              this.$store.dispatch(\"setMenuTabActive\", item.course_class_id);\r\n            }\r\n          }\r\n        } else if (this.courses.length) {\r\n          this.defaultOpenedsxi = [this.courses[0].course_id];\r\n          this.leftActiveId = this.courses[0].course_class_id + \"\";\r\n          this.activeName = this.courses[0].course_class_id + \"\";\r\n          this.$store.dispatch(\"setMenuTab\", this.courses[0].course_class_id);\r\n          this.$store.dispatch(\r\n            \"setMenuTabActive\",\r\n            this.courses[0].course_class_id\r\n          );\r\n        }\r\n        this.isEditCourse = false;\r\n      }\r\n    },\r\n    close() {\r\n      this.parent.closeDialog();\r\n    },\r\n    // 选择课程\r\n    selectCourse(data) {\r\n      this.parent.name = data.name;\r\n      this.parent.course_name = data.course_name;\r\n      this.parent.handleClose();\r\n      const menuType = data.type;\r\n      this.$emit(\"selectCourse\", data);\r\n      console.log(\"selectCourse:\", data);\r\n      this.courses.forEach(item => {\r\n        if (item.course_class_id != menuType) {\r\n          if (\r\n            this.$refs[\"courseCom\" + item.course_class_id] &&\r\n            this.$refs[\"courseCom\" + item.course_class_id][0]\r\n          ) {\r\n            this.$refs[\"courseCom\" + item.course_class_id][0].clearAll(\r\n              item.course_class_id\r\n            );\r\n          }\r\n        }\r\n      });\r\n    },\r\n    editCourse(course_id) {\r\n      this.getCourseBase(course_id);\r\n    },\r\n    async getCourseBase(course_id) {\r\n      try {\r\n        if (course_id) {\r\n          const course = await getCourseBase({ course_id: course_id });\r\n          if (course.code === 0) {\r\n            this.$store.dispatch(\"setCourseBase\", course.data[0]);\r\n          } else if (course.code === 1028) {\r\n            this.$router.push(\"/CourseSelect\");\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    courseClassName_initGuide_1() {\r\n      // 适配未激活页面\r\n      const step1Elements = document.querySelectorAll(\"#step1\");\r\n      let visibleStep1 = null;\r\n      for (let i = 0; i < step1Elements.length; i++) {\r\n        const step1 = step1Elements[i];\r\n        if (step1.offsetWidth > 0 || step1.offsetHeight > 0) {\r\n          visibleStep1 = step1;\r\n          break;\r\n        }\r\n      }\r\n      const step3Elements = document.querySelectorAll(\"#step3\");\r\n      let visibleStep3 = null;\r\n      for (let i = 0; i < step3Elements.length; i++) {\r\n        const step3 = step3Elements[i];\r\n        if (step3.offsetWidth > 0 || step3.offsetHeight > 0) {\r\n          visibleStep3 = step3;\r\n          break;\r\n        }\r\n      }\r\n      courseClassName_guide_1(this, [\r\n        {\r\n          intro: \"可通过关键字查询阅读笔记\",\r\n          element: document.querySelector(\"#step1\")\r\n        },\r\n        {\r\n          intro: \"点击查看【示例笔记】（只读）\",\r\n          element: document.querySelector(\"#step1_1\")\r\n        },\r\n        {\r\n          intro: \"点击添加自己的阅读笔记\",\r\n          element: visibleStep3,\r\n          position: \"top\"\r\n        }\r\n      ]);\r\n    },\r\n    courseClassName_initGuide_2() {\r\n      courseClassName_guide_2(this, [\r\n        {\r\n          intro: \"目录显示当前课程\",\r\n          element: document.querySelector(\"#step1_2\"),\r\n          position: \"bottom\"\r\n        },\r\n        {\r\n          intro: \"选择相关章节进入子目录\",\r\n          element: document.querySelector(\"#tab-1-guide\"),\r\n          position: \"bottom\"\r\n        },\r\n        {\r\n          intro: \"可通过关键字查询阅读笔记\",\r\n          element: document.querySelector(\"#step1\"),\r\n          position: \"bottom\"\r\n        },\r\n        {\r\n          intro: \"也可自定义添加其他阅读笔记\",\r\n          // element: document.querySelector('#tab--1'),\r\n          element: document\r\n            .querySelector(\"#pane-1-guide\")\r\n            .querySelector(\"#step3\"),\r\n          position: \"top\"\r\n        }\r\n      ]);\r\n    },\r\n    guideCourseComInit() {\r\n      this.$refs[\"courseCom\" + this.activeName][0].init();\r\n    },\r\n    guide_handleClick(index) {\r\n      this.guide_activeName = index;\r\n    },\r\n    setGuideStep(index) {\r\n      this.guideStep = index;\r\n    },\r\n    confirm(whiteCom) {\r\n      this.$nextTick(() => {\r\n        let menuType = this.activeName;\r\n        console.log(this.$refs[\"courseCom\" + menuType]);\r\n        console.log(\"selectMenuUser1\");\r\n        if (\r\n          whiteCom === \"CourseCom\" &&\r\n          this.$refs[\"courseCom\" + menuType] &&\r\n          this.$refs[\"courseCom\" + menuType][0] &&\r\n          this.course_ishide == 2\r\n        ) {\r\n          this.$refs[\"courseCom\" + menuType][0].selectMenuUser1();\r\n        } else if (\r\n          whiteCom === \"CourseCom\" &&\r\n          this.$refs[\"courseCom\" + menuType] &&\r\n          this.course_ishide == 1\r\n        ) {\r\n          this.$refs[\"courseCom\" + menuType].selectMenuUser1();\r\n        }\r\n      });\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    const course_ishide = localStorage.getItem(\"course_ishide\");\r\n    if (course_ishide) {\r\n      this.course_ishide = course_ishide;\r\n    }\r\n\r\n    // 保存完思维导图然后选中课程\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom => {\r\n      console.log(\"MIND_OUTLINE_SAVE_CONFIRMED confirm:\", whiteCom)\r\n      if(whiteCom === 'CourseCom' && this.pageNamePro  == 'white') {\r\n        this.confirm(whiteCom);\r\n        EventBus.$emit(\"toIndex\");\r\n        // if(this.pageName  == 'white') {\r\n        //   EventBus.$emit(\"toIndex\");\r\n        // } else {\r\n        //   this.$router.replace(\"/\");\r\n        //   this.toIndex1();\r\n        // }\r\n      }\r\n    });\r\n    // 保存完课程内容然后选中课程\r\n    EventBus.$on(\"CultrueContentEditConfirmed\", whiteCom => {\r\n      console.log(\"CultrueContentEditConfirmed confirm:\", whiteCom)\r\n      if(whiteCom === 'CourseCom' && this.pageNamePro  == 'white') {\r\n        this.confirm(whiteCom);\r\n        EventBus.$emit(\"toIndex\");\r\n        // if(this.pageName  == 'white') {\r\n        //   EventBus.$emit(\"toIndex\");\r\n        // } else {\r\n        //   this.$router.replace(\"/\");\r\n        //   this.toIndex1();\r\n        // }\r\n      }\r\n    });\r\n    // 保存完观修文之后然后执行toIndex\r\n    EventBus.$on(\"CONTENT_CONFIRM_COURSE\", whiteCom => {\r\n      console.log(\"CONTENT_CONFIRM_COURSE\", whiteCom === 'CourseCom' && this.pageName  == 'white')\r\n      console.log(whiteCom, whiteCom === 'CourseCom', this.pageName)\r\n      if(whiteCom === 'CourseCom' && this.pageName  == 'white') {\r\n        EventBus.$emit(\"CultureIndex\");\r\n        let timeout = setTimeout(() => {\r\n          this.confirm(whiteCom);\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n        }, 100)\r\n\r\n        // this.close();\r\n      }\r\n    });\r\n\r\n    EventBus.$on(\"CLOSE_COURSE\", () => {\r\n      this.close();\r\n    })\r\n\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n/deep/ .el-dialog__header {\r\n  padding: 0;\r\n}\r\n/deep/ .el-tabs__content {\r\n  padding: 0 40px;\r\n}\r\n/deep/ .el-tabs__header {\r\n  width: 206px;\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tabs__nav {\r\n  border-right: 1px solid rgba(0, 0, 0, 0.05);\r\n  padding-right: 81px;\r\n  padding-left: 30px;\r\n  height: 100%;\r\n  overflow-y: auto;\r\n}\r\n/deep/ .el-tabs__nav-wrap::after {\r\n  // background-color: #64afd5;\r\n  height: 1px;\r\n}\r\n/deep/ .el-tabs--left .el-tabs__item.is-left {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  line-height: 14px;\r\n  color: #292929;\r\n  padding: 25px 30px 25px 30px;\r\n}\r\n/deep/ .el-tabs--left .el-tabs__item.is-active {\r\n  color: #65afd5;\r\n  border-bottom: 1px solid #65afd5;\r\n  // background: rgba(234, 237, 239, 0.4);\r\n}\r\n/deep/ .el-tabs__active-bar {\r\n  height: 50px;\r\n  background: #fff;\r\n}\r\n/deep/ .el-tabs--left .el-tabs__nav-wrap.is-left::after {\r\n  width: 0px;\r\n}\r\n/deep/ .el-tabs__item {\r\n  font-size: 18px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 22px;\r\n}\r\n.guiding {\r\n  pointer-events: none;\r\n}\r\n.course {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n    height: 80vh;\r\n  }\r\n}\r\n.userCourse {\r\n  /deep/ .el-dialog__body {\r\n    padding: 56px 0 72px !important;\r\n  }\r\n}\r\n.mobileCourse {\r\n  /deep/ .el-dialog__body {\r\n    padding: 8vh 7vh 8vh;\r\n    height: 100%;\r\n  }\r\n}\r\n.mobileCourse.userCourse {\r\n  /deep/ .el-dialog__body {\r\n    padding: 7vh 0 8vh !important;\r\n  }\r\n}\r\n// dialog\r\n/deep/ .el-dialog__wrapper > div {\r\n  min-width: 720px;\r\n}\r\n/deep/ .el-dialog {\r\n  border-radius: 16px;\r\n  max-width: 1100px;\r\n  min-width: 786px;\r\n  // min-height: 592px;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding: 75px 20px 72px 61px;\r\n  height: 100%;\r\n}\r\n/deep/ .el-dialog__headerbtn .el-dialog__close {\r\n  color: #65afd5;\r\n  font-size: 22px;\r\n}\r\n/deep/ .el-tabs {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tabs__content {\r\n  padding: 0;\r\n  height: 100%;\r\n}\r\n.dialog-close {\r\n  right: -54px;\r\n  position: absolute;\r\n  top: 0;\r\n  cursor: pointer;\r\n  width: 39px;\r\n  height: 39px;\r\n}\r\n.courseHide {\r\n  height: 100%;\r\n}\r\n.search {\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  padding: 0 66px 30px;\r\n  /deep/ .el-input {\r\n    width: 220px;\r\n    padding-left: 0;\r\n    font-size: 14px;\r\n  }\r\n  /deep/ .el-input__inner {\r\n    background-color: #fff;\r\n    border: 1px solid #d4d9db;\r\n    border-radius: 20px;\r\n    padding-left: 30px;\r\n    height: 40px;\r\n    line-height: 40px;\r\n    // height: 34px;\r\n    // line-height: 34px;\r\n  }\r\n  /deep/ .el-input__prefix {\r\n    color: #64afd5;\r\n    left: 5px;\r\n  }\r\n  /deep/ .el-input__icon {\r\n    width: 25px;\r\n    line-height: 40px;\r\n  }\r\n}\r\n.tip {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 16px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Course.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"course\",class:[_vm.course_ishide == 1 ? 'userCourse' : '', _vm.isMobile ? 'mobileCourse' : '', _vm.guiding1 ? 'guiding' : ''],attrs:{\"width\":_vm.course_ishide == 1 && _vm.courses[0] ? '30%' : '70%',\"title\":\"\",\"visible\":_vm.dialogVisible,\"modal\":true,\"append-to-body\":true,\"close-on-click-modal\":false,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"}},[_c('img',{staticClass:\"dialog-close\",attrs:{\"src\":require(\"@/assets/img/close.svg\")},on:{\"click\":_vm.close}}),_vm._v(\" \"),(_vm.course_ishide == 2 && _vm.courseClassNameGuideMode === 1)?_c('el-tabs',{attrs:{\"tab-position\":'left',\"stretch\":true},on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},_vm._l((_vm.courses),function(item,index){return _c('el-tab-pane',{key:'course' + index,attrs:{\"label\":item.course_class_name,\"name\":item.course_class_id + ''}},[(item.course_class_id == -1)?_c('div',{staticClass:\"search\"},[_c('el-input',{attrs:{\"id\":\"step1\",\"placeholder\":\"搜索\",\"prefix-icon\":\"el-icon-search\"},on:{\"input\":_vm.changeSearch},model:{value:(_vm.keywords),callback:function ($$v) {_vm.keywords=$$v},expression:\"keywords\"}})],1):_vm._e(),_vm._v(\" \"),_c('CourseCom',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.app_type == 1 || (_vm.app_type == 2 && (_vm.canAccessYouTube || (item.course_class_domestic == 1 && !_vm.canAccessYouTube)))),expression:\"app_type == 1 || (app_type == 2 && (canAccessYouTube || (item.course_class_domestic == 1 && !canAccessYouTube)))\"}],key:item.course_class_id == -1 ? _vm.courseComKey : item.course_class_id,ref:'courseCom' + item.course_class_id,refInFor:true,attrs:{\"course\":item.course_class_id == -1 ? _vm.selfCourses.course_list : item.course_list,\"course_id\":_vm.course_id,\"selectedCourse\":_vm.course,\"visible\":_vm.dialogVisible,\"courseName\":item.course_class_name,\"type\":1,\"defaultOpeneds\":_vm.defaultOpenedsxi,\"menusProp\":item.course_list.length > 0 ? item.course_list : item.course_list,\"menuType\":item.course_class_id,\"leftActiveId\":_vm.activeName,\"isGlobal\":_vm.isGlobal,\"course_class_isuseradd\":item.course_class_isuseradd,\"course_ishide\":_vm.course_ishide,\"pageNamePro\":_vm.pageNamePro,\"nickName\":_vm.nickName},on:{\"selectCourse\":_vm.selectCourse,\"addUserCourse\":_vm.addUserCourse,\"editCourse\":_vm.editCourse,\"delUserCurrentCourse\":_vm.delUserCurrentCourse,\"gotoUserCourse\":_vm.gotoUserCourse}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.course_class_domestic == 2 && !_vm.canAccessYouTube && _vm.app_type == 2),expression:\"item.course_class_domestic == 2 && !canAccessYouTube && app_type == 2\"}],staticClass:\"tip\"},[_vm._v(_vm._s(_vm.isGlobal ? '所在区域无法阅览该内容，可在“其他阅读笔记”中自行添加' : '所在区域无法阅览该内容'))])],1)}),1):_vm._e(),_vm._v(\" \"),(_vm.course_ishide == 2 && _vm.courseClassNameGuideMode === 0)?_c('el-tabs',{attrs:{\"tab-position\":'left',\"stretch\":true},model:{value:(_vm.guide_activeName),callback:function ($$v) {_vm.guide_activeName=$$v},expression:\"guide_activeName\"}},_vm._l((_vm.guide_courses),function(item,index){return _c('el-tab-pane',{key:'guide_courses' + index,attrs:{\"label\":item.course_class_name,\"name\":item.course_class_id + '-guide'}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.guideStep == 3),expression:\"guideStep == 3\"}],staticClass:\"search\"},[_c('el-input',{attrs:{\"id\":\"step1\",\"placeholder\":\"搜索\",\"prefix-icon\":\"el-icon-search\"},model:{value:(_vm.keywords),callback:function ($$v) {_vm.keywords=$$v},expression:\"keywords\"}})],1),_vm._v(\" \"),_c('GuideOverseasCourseCom',{attrs:{\"guideStep\":_vm.guideStep}})],1)}),1):(_vm.course_ishide == 1 && _vm.courses[0])?_c('div',{staticClass:\"courseHide\"},[_c('div',{staticClass:\"search\"},[_c('el-input',{attrs:{\"id\":\"step1\",\"placeholder\":\"搜索\",\"prefix-icon\":\"el-icon-search\"},on:{\"input\":_vm.changeSearch},model:{value:(_vm.keywords),callback:function ($$v) {_vm.keywords=$$v},expression:\"keywords\"}})],1),_vm._v(\" \"),(_vm.courseClassNameGuideMode === 1)?_c('CourseCom',{key:_vm.courseComKey,ref:'courseCom' + _vm.courses[0].course_class_id,attrs:{\"course\":_vm.selfCourses.course_list.length > 0\n          ? _vm.selfCourses.course_list\n          : _vm.selfCourses.course_list,\"course_id\":_vm.course_id,\"selectedCourse\":_vm.course,\"visible\":_vm.dialogVisible,\"courseName\":_vm.courses[0].course_class_name,\"type\":1,\"defaultOpeneds\":_vm.defaultOpenedsxi,\"menusProp\":_vm.courses[0].course_list.length > 0\n          ? _vm.courses[0].course_list\n          : _vm.courses[0].course_list,\"menuType\":_vm.courses[0].course_class_id,\"leftActiveId\":_vm.activeName,\"isGlobal\":_vm.isGlobal,\"course_class_isuseradd\":_vm.courses[0].course_class_isuseradd,\"nickName\":_vm.nickName,\"pageNamePro\":_vm.pageNamePro},on:{\"selectCourse\":_vm.selectCourse,\"editCourse\":_vm.editCourse,\"addUserCourse\":_vm.addUserCourse,\"delUserCurrentCourse\":_vm.delUserCurrentCourse}}):_vm._e(),_vm._v(\" \"),(_vm.courseClassNameGuideMode === 0)?_c('GuideDomesticCourseCom',{attrs:{\"guideStep\":_vm.guideStep}}):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-96861f7a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Course.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-96861f7a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Course.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Course.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Course.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-96861f7a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Course.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-96861f7a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Course.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTIzLjUxIDMwLjkiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO30uY2xzLTJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoKTt9LmNscy0ze2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0yKTt9LmNscy00e2ZpbGw6IzcwYWViYTt9LmNscy01e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0zKTt9LmNscy02e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC00KTt9LmNscy03e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC01KTt9LmNscy04e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC02KTt9LmNscy05e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC03KTt9LmNscy0xMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtOCk7fS5jbHMtMTF7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTkpO30uY2xzLTEye2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMCk7fS5jbHMtMTN7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTExKTt9LmNscy0xNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTIpO30uY2xzLTE1e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xMyk7fS5jbHMtMTZ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE0KTt9LmNscy0xN3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTUpO30uY2xzLTE4e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xNik7fS5jbHMtMTl7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTE3KTt9LmNscy0yMHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMTgpO30uY2xzLTIxe2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aC0xOSk7fS5jbHMtMjJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIwKTt9LmNscy0yM3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMjEpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTI0IiBoZWlnaHQ9IjMyIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIzOC4xNiIgeT0iMjcuMDUiIHdpZHRoPSI2LjkiIGhlaWdodD0iMC42Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTEuNDQsMjUuOHY0LjdoLS41VjI1LjhabS0uMi0yLjIuNS4yYy0uMS4xLS4xLjItLjIuM2E5LDksMCwwLDAsMy4zLDIuNSwxLDEsMCwwLDAtLjQuNSwxMS4xMSwxMS4xMSwwLDAsMS0zLjItMi42QTcuNzgsNy43OCwwLDAsMSw0OCwyN2wtLjQtLjRBNy4xNiw3LjE2LDAsMCwwLDUxLjI0LDIzLjZaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC00IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEuNTgsMjMuODl2MS41aDIuN3YuNWgtMi43djEuN0g2NHYuNWgtMi40djJoM3YuNUg1OFYzMGgzVjI4aC0yLjJ2LS40SDYxdi0xLjdoLTEuN2MtLjMuNC0uNi45LS44LDEuMi0uMS0uMS0uNC0uMi0uNS0uM2E3LjM3LDcuMzcsMCwwLDAsMS40LTIuOGwuNS4xYy0uMS41LS4zLjktLjQsMS4zSDYxdi0xLjVaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC01IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNzMuOTQsMjYuN3YyLjFhLjQ2LjQ2LDAsMCwxLS4zLjUsMi41MywyLjUzLDAsMCwxLTEuMS4xLDQuMzMsNC4zMywwLDAsMS0uMS0uNWguOWMuMSwwLC4xLDAsLjEtLjFWMjcuMmgtMS41djMuM2gtLjRWMjYuN1ptLTMuMy4xdjIuNWgtMS43di42aC0uNVYyNi44Wm0tLjQuNGgtMS4zdjEuNmgxLjNabTEtMy42LjQuM2MwLC4xLS4xLjEtLjEuMmE3LjA1LDcuMDUsMCwwLDAsMy4xLDEuOWMtLjEsMC0uMy4yLS40LjRhNy44OSw3Ljg5LDAsMCwxLTMuMS0yLDYuNzIsNi43MiwwLDAsMS0zLjIsMiwxLjY5LDEuNjksMCwwLDAtLjItLjVBNi4yMSw2LjIxLDAsMCwwLDcxLjI0LDIzLjZabTEuNCwydi41aC0zdi0uNVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MS4zLDI2Ljl2LjhjMCwuOS0uMywyLTMuMSwyLjhsLS40LS40YzIuOC0uNywyLjktMS43LDIuOS0yLjR2LS44Wm0uNiwxLjR2MS4zYzAsLjIuMS4yLjQuMmgxLjNjLjMsMCwuNC0uMS40LS44YS43Ni43NiwwLDAsMCwuNS4yYy0uMi45LS4zLDEuMS0uOSwxLjFIODIuM2MtLjcsMC0uOS0uMS0uOS0uN1YyOC4zWm0xLjMtMi4ydjIuN2gtLjVWMjYuNkg3OS4zdjIuMmgtLjVWMjYuMVptMC0yLjUuNS4yYy0uMy40LS42LjgtLjgsMS4xaDEuNHYxLjVoLS42di0xSDc4LjR2MWgtLjVWMjQuOWgxLjNhNyw3LDAsMCwwLS44LTFsLjQtLjJhMy41MSwzLjUxLDAsMCwxLC44LDFsLS4zLjJoM0E2LDYsMCwwLDAsODMuMiwyMy42Wm0tMi40LDBhNi43Myw2LjczLDAsMCwxLC43LDEuMWwtLjUuMmE2LDYsMCwwLDAtLjYtMS4xWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTkwLjM3LDIzLjg5di40aC0xdjFoLjl2NWgtLjR2LS40aC0yLjF2LjZoLS40di01LjFoLjl2LTFoLTF2LS41Wm0uOCwyLjcuNC4xYTEuODUsMS44NSwwLDAsMC0uMi43aC44di0uN2guNXYuN2gxLjR2LjRoLTEuNXYuOGgxLjNWMjloLTEuM3YuOWgxLjZ2LjRoLTMuNnYtLjRoMS42VjI5SDkxdi0uNGgxLjJ2LS44aC0xYy0uMi4yLS4zLjUtLjUuN2ExLjM4LDEuMzgsMCwwLDAtLjQtLjNBNC4xNyw0LjE3LDAsMCwwLDkxLjE3LDI2LjU5Wm0tMS4zLDIuMWgtMi4xdi44aDIuMVptLS44LTIuOWgtLjV2LjZhMiwyLDAsMCwxLS42LDEuNWMwLS4xLS4xLS4xLS4yLS4ydi42aDIuMXYtLjZoLS40Yy0uMywwLS40LS4xLS40LS40Wm0tLjgsMGgtLjV2MS44YTEuMjIsMS4yMiwwLDAsMCwuNS0xLjJabTEuNiwwaC0uNXYxLjRjMCwuMSwwLC4xLjEuMWguNFptMy45LTEuOXYyLjZoLTN2LTIuNlptLS41LDEuNWgtMnYuN2gyWm0tNC4yLTFoLS41djFoLjVabTQuMi0uMWgtMlYyNWgyWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwMS41MSwyMy42bC41LjFjLS4xLjQtLjMuOC0uNCwxLjFoMi4zdi4zYy0uMSwzLjUtLjIsNC43LS41LDUuMWEuNzEuNzEsMCwwLDEtLjYuM2gtMS4xYS43Ni43NiwwLDAsMC0uMi0uNWgxLjJjLjIsMCwuMiwwLC4zLS4xLjItLjMuMy0xLjUuNC00LjZoLTJjLS4yLjUtLjUsMS0uNywxLjQtLjEtLjEtLjMtLjItLjQtLjNBOS4wOCw5LjA4LDAsMCwwLDEwMS41MSwyMy42Wm0tMi43LDAsLjUuMWMtLjEuNC0uMy44LS40LDEuMmgxLjN2NWgtMi4xdi42aC0uNVYyNC45aC44QTYuNDcsNi40NywwLDAsMCw5OC44MSwyMy42Wm0uOSwzLjloLTEuNnYxLjloMS43VjI3LjVabTEuOC0uOWExMy42LDEzLjYsMCwwLDEsMS4yLDEuN2wtLjQuM2E5LjM5LDkuMzksMCwwLDAtMS4yLTEuOFptLTEuOC0xLjNoLTEuNlYyN2gxLjdWMjUuM1oiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMTIuODUsMjQuMTd2Ni4zaC0uNVYzMGgtMy45di41SDEwOHYtNi4zWm0tLjUsMy4xaC0zLjl2Mi4yaDMuOHYtMi4yWm0wLTIuNmgtMy45djIuMWgzLjh2LTIuMVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIzLjE1LDI0LjE5djMuNGgtLjV2LS40aC0yLjN2Mi40YzAsLjMuMS40LjYuNGgxLjdjLjUsMCwuNi0uMi42LTEuM2EuNzYuNzYsMCwwLDAsLjUuMmMtLjEsMS4zLS4zLDEuNi0xLjEsMS42aC0xLjhjLS44LDAtMS0uMi0xLS45di0yLjloMi45di0yaC0zdi0uNVptLTQuNiwxLjl2My4zbC44LS42YS43Ni43NiwwLDAsMCwuMi40LDEwLjE5LDEwLjE5LDAsMCwwLTEuNiwxLjJjMC0uMS0uMS0uMi0uMi0uM2ExLjE0LDEuMTQsMCwwLDAsLjMtLjd2LTIuOGgtMS4ydi0uNVptLS43LTIuMmE2LjgxLDYuODEsMCwwLDEsMS4yLDEuMmwtLjQuMy0xLjItMS4yWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02Mi40NCwzLjk0YS41OC41OCwwLDAsMSwuNi42LjUzLjUzLDAsMCwxLS42LjZoLTEwYS42My42MywwLDAsMS0uNS0uNi41OC41OCwwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTEyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjQsOC42OGEuNi42LDAsMSwxLDAsMS4ySDYwdjYuNGEuNDMuNDMsMCwwLDAsLjQuNGguOGEyLjQzLDIuNDMsMCwwLDAsMi40LTIuNHYtMWEuNTguNTgsMCwwLDEsLjYtLjYuNTMuNTMsMCwwLDEsLjYuNnYxYTMuNTQsMy41NCwwLDAsMS0zLjUsMy41aC0uOGExLjcyLDEuNzIsMCwwLDEtMS42LTEuNlY5Ljc4aC0zLjJjLS4xLDQuNS0xLjUsNy00LjYsNy45SDUxYS42OC42OCwwLDAsMS0uNi0uNC41Ny41NywwLDAsMSwuNC0uNyw0LjI3LDQuMjcsMCwwLDAsMi45LTIuMyw5LjQ1LDkuNDUsMCwwLDAsLjktNC41aC0zLjVhLjU4LjU4LDAsMCwxLS42LS42LjYzLjYzLDAsMCwxLC42LS41WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik05OS4wNiw0YS42MS42MSwwLDAsMSwuOCwwbDEuNywxLjVhLjYxLjYxLDAsMCwxLDAsLjhjMCwuMS0uMi4xLS4zLjFhLjYuNiwwLDAsMS0uNC0uMWwtMS43LTEuNUEuNjIuNjIsMCwwLDEsOTkuMDYsNFoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAwLjksOGEuNTguNTgsMCwwLDEsLjYuNnY2LjFsLjctLjZjLjEtLjIuNC0uMS42LjFhLjYxLjYxLDAsMCwxLDAsLjhsLTMuMSwyLjdjLS4xLDAtLjMuMS0uNC4xYS41Mi41MiwwLDAsMS0uNC0uMi42MS42MSwwLDAsMSwwLS44bDEuNC0xLjJWOS4xMUg5OC4yYy0uNCwwLS42LS4yLS42LS41YS41My41MywwLDAsMSwuNi0uNloiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTA2LjE1LDQuMTJoMy41YTEuNTQsMS41NCwwLDAsMSwxLjUsMS41djIuOGExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtNXY2LjNhLjQzLjQzLDAsMCwwLC40LjRoMy40YTIuNDMsMi40MywwLDAsMCwyLjQtMi40di0xYS42LjYsMCwwLDEsMS4yLDB2MWEzLjU0LDMuNTQsMCwwLDEtMy41LDMuNUgxMDVhMS4zOSwxLjM5LDAsMCwxLTEuNS0xLjRWOS40MmMwLS4zLjItLjUuNi0uNWg1LjZhLjQzLjQzLDAsMCwwLC40LS40VjUuNjJhLjQzLjQzLDAsMCwwLS40LS40aC01LjVhLjg2Ljg2LDAsMCwxLS42LS4zYy0uMi0uMi0uMS0uNS4yLS43aDBjLjEtLjEuMy0uMSwxLjEtLjFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTg1LjQxLDMuODFhMS41NCwxLjU0LDAsMCwxLDEuNSwxLjV2MTAuOWExLjU0LDEuNTQsMCwwLDEtMS41LDEuNWgtOC41YTEuNTQsMS41NCwwLDAsMS0xLjUtMS41VjUuMzFhMS41NCwxLjU0LDAsMCwxLDEuNS0xLjVabTAsMS4xaC04LjVhLjQzLjQzLDAsMCwwLS40LjR2MTAuOWEuNDMuNDMsMCwwLDAsLjQuNGg4LjVhLjQzLjQzLDAsMCwwLC40LS40VjUuMzFBLjQzLjQzLDAsMCwwLDg1LjQxLDQuOTFaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0xNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTc3LjgsOS4yOGgwbDcsMS42YS40NC40NCwwLDAsMSwuNC42LjU0LjU0LDAsMCwxLS41LjVoLS4xbC03LTEuNmEuNTcuNTcsMCwwLDEtLjQtLjdjLjEtLjMuNC0uNS42LS40WiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjI1IC0wLjYpIj48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjEyMS43OSIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSI0MC41MyIgY3k9IjEwLjQ2IiByPSIxLjMiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4yNSAtMC42KSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTQuNTUuNmExLjE3LDEuMTcsMCwwLDEsMS4xLjlWNy4xbDUuNy0xLjVoLjNhMS4xMSwxLjExLDAsMCwxLDEuMSwxLjFWMjYuMmEyLDIsMCwwLDEtMS40LDEuOUw4LjY1LDMxLjRoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjI0LjlsLTUuNiwxLjVoLS4zYTEuMTEsMS4xMSwwLDAsMS0xLjEtMS4xVjUuOUEyLDIsMCwwLDEsMS42NSw0TDE0LjI1LjZabTcuMSw1LjhoMEw5LDkuOGExLjA1LDEuMDUsMCwwLDAtLjgsMVYzMC4zYzAsLjIuMS4zLjIuM2guMWwxMi42LTMuNWExLjA1LDEuMDUsMCwwLDAsLjgtMVY2LjZBLjIyLjIyLDAsMCwwLDIxLjY1LDYuNFptLTYuOC00LjdMOS40NSw4LjhsNS40LTEuNVYxLjdaIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMjUgLTAuNikiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIwLDE3LjcyYS40LjQsMCwwLDEsMCwuOGgtOS45YS4zNy4zNywwLDAsMS0uNC0uNC40My40MywwLDAsMSwuNC0uNFoiLz48L2NsaXBQYXRoPjwvZGVmcz48dGl0bGU+bG9nb19jdWx0dXJlPC90aXRsZT48ZyBpZD0i5Zu+5bGCXzIiIGRhdGEtbmFtZT0i5Zu+5bGCIDIiPjxnIGlkPSLlm77lsYJfMS0yIiBkYXRhLW5hbWU9IuWbvuWxgiAxIj48ZyBjbGFzcz0iY2xzLTIiPjxnIGNsYXNzPSJjbHMtMyI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjM3LjkyIDI2LjQ1IDQ0LjgyIDI2LjQ1IDQ0LjgyIDI3LjA1IDM3LjkyIDI3LjA1IDM3LjkyIDI2LjQ1Ii8+PC9nPjxnIGNsYXNzPSJjbHMtNSI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9IjQ3LjQgMjMgNTQuNiAyMyA1NC42IDI5LjkgNDcuNCAyOS45IDQ3LjQgMjMiLz48L2c+PGcgY2xhc3M9ImNscy02Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNTcuNzMgMjMuMjkgNjQuMzMgMjMuMjkgNjQuMzMgMjkuODkgNTcuNzMgMjkuODkgNTcuNzMgMjMuMjkiLz48L2c+PGcgY2xhc3M9ImNscy03Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNjcuNSAyMyA3NC40IDIzIDc0LjQgMjkuOSA2Ny41IDI5LjkgNjcuNSAyMyIvPjwvZz48ZyBjbGFzcz0iY2xzLTgiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI3Ny41NSAyMyA4NC4xNSAyMyA4NC4xNSAyOS45IDc3LjU1IDI5LjkgNzcuNTUgMjMiLz48L2c+PGcgY2xhc3M9ImNscy05Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iODcuMDMgMjMuMjkgOTMuOTMgMjMuMjkgOTMuOTMgMjkuODkgODcuMDMgMjkuODkgODcuMDMgMjMuMjkiLz48L2c+PGcgY2xhc3M9ImNscy0xMCI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijk3LjM3IDIzIDEwMy42NyAyMyAxMDMuNjcgMjkuOSA5Ny4zNyAyOS45IDk3LjM3IDIzIi8+PC9nPjxnIGNsYXNzPSJjbHMtMTEiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIxMDcuNyAyMy41NyAxMTIuNjEgMjMuNTcgMTEyLjYxIDI5Ljg3IDEwNy43IDI5Ljg3IDEwNy43IDIzLjU3Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTIiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIxMTYuNjEgMjMuMjkgMTIzLjUxIDIzLjI5IDEyMy41MSAyOS44OSAxMTYuNjEgMjkuODkgMTE2LjYxIDIzLjI5Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTMiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI1MS43IDMuMzQgNjIuOCAzLjM0IDYyLjggNC40NCA1MS43IDQuNDQgNTEuNyAzLjM0Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMTQiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI1MC4xIDguMDggNjQuNSA4LjA4IDY0LjUgMTcuMDggNTAuMSAxNy4wOCA1MC4xIDguMDgiLz48L2c+PGcgY2xhc3M9ImNscy0xNSI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijk4LjcyIDMuMjEgMTAxLjUyIDMuMjEgMTAxLjUyIDUuODEgOTguNzIgNS44MSA5OC43MiAzLjIxIi8+PC9nPjxnIGNsYXNzPSJjbHMtMTYiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI5Ny4zNiA3LjQxIDEwMi43NiA3LjQxIDEwMi43NiAxNy4yMSA5Ny4zNiAxNy4yMSA5Ny4zNiA3LjQxIi8+PC9nPjxnIGNsYXNzPSJjbHMtMTciPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIxMDMuMiAzLjUyIDExMS43IDMuNTIgMTExLjcgMTcuMjEgMTAzLjIgMTcuMjEgMTAzLjIgMy41MiIvPjwvZz48ZyBjbGFzcz0iY2xzLTE4Ij48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iNzUuMTYgMy4yMSA4Ni42NiAzLjIxIDg2LjY2IDE3LjExIDc1LjE2IDE3LjExIDc1LjE2IDMuMjEiLz48L2c+PGcgY2xhc3M9ImNscy0xOSI+PHBvbHlnb24gY2xhc3M9ImNscy00IiBwb2ludHM9Ijc2Ljk1IDguNjggODQuOTUgOC42OCA4NC45NSAxMS4zOCA3Ni45NSAxMS4zOCA3Ni45NSA4LjY4Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMjAiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIxMjAuMjQgOC41NiAxMjIuODQgOC41NiAxMjIuODQgMTEuMTYgMTIwLjI0IDExLjE2IDEyMC4yNCA4LjU2Ii8+PC9nPjxnIGNsYXNzPSJjbHMtMjEiPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIzOC45OSA4LjU2IDQxLjU5IDguNTYgNDEuNTkgMTEuMTYgMzguOTkgMTEuMTYgMzguOTkgOC41NiIvPjwvZz48ZyBjbGFzcz0iY2xzLTIyIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMCAwIDIyLjUgMCAyMi41IDMwLjkgMCAzMC45IDAgMCIvPjwvZz48ZyBjbGFzcz0iY2xzLTIzIj48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iOS40MSAxNy4xMSAyMC4xMSAxNy4xMSAyMC4xMSAxNy45MSA5LjQxIDE3LjkxIDkuNDEgMTcuMTEiLz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_culture.svg\n// module id = arhQ\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/headimage7.3375f0c.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage7.png\n// module id = bNf9\n// module chunks = 171","export const NODE_KEY = '$treeNodeId';\r\n\r\nexport const markNodeData = function(node, data) {\r\n  if (!data || data[NODE_KEY]) return;\r\n  Object.defineProperty(data, NODE_KEY, {\r\n    value: node.id,\r\n    enumerable: false,\r\n    configurable: false,\r\n    writable: false\r\n  });\r\n};\r\n\r\nexport const getNodeKey = function(key, data) {\r\n  if (!key) return data[NODE_KEY];\r\n  return data[key];\r\n};\r\n\r\nexport const findNearestComponent = (element, componentName) => {\r\n  let target = element;\r\n  while (target && target.tagName !== 'BODY') {\r\n    if (target.__vue__ && target.__vue__.$options.name === componentName) {\r\n      return target.__vue__;\r\n    }\r\n    target = target.parentNode;\r\n  }\r\n  return null;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/tree/src/model/util.js","import objectAssign from 'element-ui/src/utils/merge';\r\nimport { markNodeData, NODE_KEY } from './util';\r\nimport { arrayFindIndex } from 'element-ui/src/utils/util';\r\n\r\nexport const getChildState = node => {\r\n  let all = true;\r\n  let none = true;\r\n  let allWithoutDisable = true;\r\n  for (let i = 0, j = node.length; i < j; i++) {\r\n    const n = node[i];\r\n    if (n.checked !== true || n.indeterminate) {\r\n      all = false;\r\n      if (!n.disabled) {\r\n        allWithoutDisable = false;\r\n      }\r\n    }\r\n    if (n.checked !== false || n.indeterminate) {\r\n      none = false;\r\n    }\r\n  }\r\n\r\n  return { all, none, allWithoutDisable, half: !all && !none };\r\n};\r\n\r\nconst reInitChecked = function(node) {\r\n  if (node.childNodes.length === 0 || node.loading) return;\r\n\r\n  const {all, none, half} = getChildState(node.childNodes);\r\n  if (all) {\r\n    node.checked = true;\r\n    node.indeterminate = false;\r\n  } else if (half) {\r\n    node.checked = false;\r\n    node.indeterminate = true;\r\n  } else if (none) {\r\n    node.checked = false;\r\n    node.indeterminate = false;\r\n  }\r\n\r\n  const parent = node.parent;\r\n  if (!parent || parent.level === 0) return;\r\n\r\n  if (!node.store.checkStrictly) {\r\n    reInitChecked(parent);\r\n  }\r\n};\r\n\r\nconst getPropertyFromData = function(node, prop) {\r\n  const props = node.store.props;\r\n  const data = node.data || {};\r\n  const config = props[prop];\r\n\r\n  if (typeof config === 'function') {\r\n    return config(data, node);\r\n  } else if (typeof config === 'string') {\r\n    return data[config];\r\n  } else if (typeof config === 'undefined') {\r\n    const dataProp = data[prop];\r\n    return dataProp === undefined ? '' : dataProp;\r\n  }\r\n};\r\n\r\nlet nodeIdSeed = 0;\r\n\r\nexport default class Node {\r\n  constructor(options) {\r\n    this.id = nodeIdSeed++;\r\n    this.text = null;\r\n    this.checked = false;\r\n    this.indeterminate = false;\r\n    this.data = null;\r\n    this.expanded = false;\r\n    this.parent = null;\r\n    this.visible = true;\r\n    this.isCurrent = false;\r\n\r\n    for (let name in options) {\r\n      if (options.hasOwnProperty(name)) {\r\n        this[name] = options[name];\r\n      }\r\n    }\r\n\r\n    // internal\r\n    this.level = 0;\r\n    this.loaded = false;\r\n    this.childNodes = [];\r\n    this.loading = false;\r\n\r\n    if (this.parent) {\r\n      this.level = this.parent.level + 1;\r\n    }\r\n\r\n    const store = this.store;\r\n    if (!store) {\r\n      throw new Error('[Node]store is required!');\r\n    }\r\n    store.registerNode(this);\r\n\r\n    const props = store.props;\r\n    if (props && typeof props.isLeaf !== 'undefined') {\r\n      const isLeaf = getPropertyFromData(this, 'isLeaf');\r\n      if (typeof isLeaf === 'boolean') {\r\n        this.isLeafByUser = isLeaf;\r\n      }\r\n    }\r\n\r\n    if (store.lazy !== true && this.data) {\r\n      this.setData(this.data);\r\n\r\n      if (store.defaultExpandAll) {\r\n        this.expanded = true;\r\n      }\r\n    } else if (this.level > 0 && store.lazy && store.defaultExpandAll) {\r\n      this.expand();\r\n    }\r\n    if (!Array.isArray(this.data)) {\r\n      markNodeData(this, this.data);\r\n    }\r\n    if (!this.data) return;\r\n    const defaultExpandedKeys = store.defaultExpandedKeys;\r\n    const key = store.key;\r\n    if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) {\r\n      this.expand(null, store.autoExpandParent);\r\n    }\r\n\r\n    if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) {\r\n      store.currentNode = this;\r\n      store.currentNode.isCurrent = true;\r\n    }\r\n\r\n    if (store.lazy) {\r\n      store._initDefaultCheckedNode(this);\r\n    }\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  setData(data) {\r\n    if (!Array.isArray(data)) {\r\n      markNodeData(this, data);\r\n    }\r\n\r\n    this.data = data;\r\n    this.childNodes = [];\r\n\r\n    let children;\r\n    if (this.level === 0 && this.data instanceof Array) {\r\n      children = this.data;\r\n    } else {\r\n      children = getPropertyFromData(this, 'children') || [];\r\n    }\r\n\r\n    for (let i = 0, j = children.length; i < j; i++) {\r\n      this.insertChild({ data: children[i] });\r\n    }\r\n  }\r\n\r\n  get label() {\r\n    return getPropertyFromData(this, 'label');\r\n  }\r\n\r\n  get key() {\r\n    const nodeKey = this.store.key;\r\n    if (this.data) return this.data[nodeKey];\r\n    return null;\r\n  }\r\n\r\n  get disabled() {\r\n    return getPropertyFromData(this, 'disabled');\r\n  }\r\n\r\n  get nextSibling() {\r\n    const parent = this.parent;\r\n    if (parent) {\r\n      const index = parent.childNodes.indexOf(this);\r\n      if (index > -1) {\r\n        return parent.childNodes[index + 1];\r\n      }\r\n    }\r\n    return null;\r\n  }\r\n\r\n  get previousSibling() {\r\n    const parent = this.parent;\r\n    if (parent) {\r\n      const index = parent.childNodes.indexOf(this);\r\n      if (index > -1) {\r\n        return index > 0 ? parent.childNodes[index - 1] : null;\r\n      }\r\n    }\r\n    return null;\r\n  }\r\n\r\n  contains(target, deep = true) {\r\n    const walk = function(parent) {\r\n      const children = parent.childNodes || [];\r\n      let result = false;\r\n      for (let i = 0, j = children.length; i < j; i++) {\r\n        const child = children[i];\r\n        if (child === target || (deep && walk(child))) {\r\n          result = true;\r\n          break;\r\n        }\r\n      }\r\n      return result;\r\n    };\r\n\r\n    return walk(this);\r\n  }\r\n\r\n  remove() {\r\n    const parent = this.parent;\r\n    if (parent) {\r\n      parent.removeChild(this);\r\n    }\r\n  }\r\n\r\n  insertChild(child, index, batch) {\r\n    if (!child) throw new Error('insertChild error: child is required.');\r\n\r\n    if (!(child instanceof Node)) {\r\n      if (!batch) {\r\n        const children = this.getChildren(true) || [];\r\n        if (children.indexOf(child.data) === -1) {\r\n          if (typeof index === 'undefined' || index < 0) {\r\n            children.push(child.data);\r\n          } else {\r\n            children.splice(index, 0, child.data);\r\n          }\r\n        }\r\n      }\r\n      objectAssign(child, {\r\n        parent: this,\r\n        store: this.store\r\n      });\r\n      child = new Node(child);\r\n    }\r\n\r\n    child.level = this.level + 1;\r\n\r\n    if (typeof index === 'undefined' || index < 0) {\r\n      this.childNodes.push(child);\r\n    } else {\r\n      this.childNodes.splice(index, 0, child);\r\n    }\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  insertBefore(child, ref) {\r\n    let index;\r\n    if (ref) {\r\n      index = this.childNodes.indexOf(ref);\r\n    }\r\n    this.insertChild(child, index);\r\n  }\r\n\r\n  insertAfter(child, ref) {\r\n    let index;\r\n    if (ref) {\r\n      index = this.childNodes.indexOf(ref);\r\n      if (index !== -1) index += 1;\r\n    }\r\n    this.insertChild(child, index);\r\n  }\r\n\r\n  removeChild(child) {\r\n    const children = this.getChildren() || [];\r\n    const dataIndex = children.indexOf(child.data);\r\n    if (dataIndex > -1) {\r\n      children.splice(dataIndex, 1);\r\n    }\r\n\r\n    const index = this.childNodes.indexOf(child);\r\n\r\n    if (index > -1) {\r\n      this.store && this.store.deregisterNode(child);\r\n      child.parent = null;\r\n      this.childNodes.splice(index, 1);\r\n    }\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  removeChildByData(data) {\r\n    let targetNode = null;\r\n\r\n    for (let i = 0; i < this.childNodes.length; i++) {\r\n      if (this.childNodes[i].data === data) {\r\n        targetNode = this.childNodes[i];\r\n        break;\r\n      }\r\n    }\r\n\r\n    if (targetNode) {\r\n      this.removeChild(targetNode);\r\n    }\r\n  }\r\n\r\n  expand(callback, expandParent) {\r\n    const done = () => {\r\n      if (expandParent) {\r\n        let parent = this.parent;\r\n        while (parent.level > 0) {\r\n          parent.expanded = true;\r\n          parent = parent.parent;\r\n        }\r\n      }\r\n      this.expanded = true;\r\n      if (callback) callback();\r\n    };\r\n\r\n    if (this.shouldLoadData()) {\r\n      this.loadData((data) => {\r\n        if (data instanceof Array) {\r\n          if (this.checked) {\r\n            this.setChecked(true, true);\r\n          } else if (!this.store.checkStrictly) {\r\n            reInitChecked(this);\r\n          }\r\n          done();\r\n        }\r\n      });\r\n    } else {\r\n      done();\r\n    }\r\n  }\r\n\r\n  doCreateChildren(array, defaultProps = {}) {\r\n    array.forEach((item) => {\r\n      this.insertChild(objectAssign({ data: item }, defaultProps), undefined, true);\r\n    });\r\n  }\r\n\r\n  collapse() {\r\n    this.expanded = false;\r\n  }\r\n\r\n  shouldLoadData() {\r\n    return this.store.lazy === true && this.store.load && !this.loaded;\r\n  }\r\n\r\n  updateLeafState() {\r\n    if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') {\r\n      this.isLeaf = this.isLeafByUser;\r\n      return;\r\n    }\r\n    const childNodes = this.childNodes;\r\n    if (!this.store.lazy || (this.store.lazy === true && this.loaded === true)) {\r\n      this.isLeaf = !childNodes || childNodes.length === 0;\r\n      return;\r\n    }\r\n    this.isLeaf = false;\r\n  }\r\n\r\n  setChecked(value, deep, recursion, passValue) {\r\n    this.indeterminate = value === 'half';\r\n    this.checked = value === true;\r\n\r\n    if (this.store.checkStrictly) return;\r\n\r\n    if (!(this.shouldLoadData() && !this.store.checkDescendants)) {\r\n      let { all, allWithoutDisable } = getChildState(this.childNodes);\r\n\r\n      if (!this.isLeaf && (!all && allWithoutDisable)) {\r\n        this.checked = false;\r\n        value = false;\r\n      }\r\n\r\n      const handleDescendants = () => {\r\n        if (deep) {\r\n          const childNodes = this.childNodes;\r\n          for (let i = 0, j = childNodes.length; i < j; i++) {\r\n            const child = childNodes[i];\r\n            passValue = passValue || value !== false;\r\n            const isCheck = child.disabled ? child.checked : passValue;\r\n            child.setChecked(isCheck, deep, true, passValue);\r\n          }\r\n          const { half, all } = getChildState(childNodes);\r\n          if (!all) {\r\n            this.checked = all;\r\n            this.indeterminate = half;\r\n          }\r\n        }\r\n      };\r\n\r\n      if (this.shouldLoadData()) {\r\n        // Only work on lazy load data.\r\n        this.loadData(() => {\r\n          handleDescendants();\r\n          reInitChecked(this);\r\n        }, {\r\n          checked: value !== false\r\n        });\r\n        return;\r\n      } else {\r\n        handleDescendants();\r\n      }\r\n    }\r\n\r\n    const parent = this.parent;\r\n    if (!parent || parent.level === 0) return;\r\n\r\n    if (!recursion) {\r\n      reInitChecked(parent);\r\n    }\r\n  }\r\n\r\n  getChildren(forceInit = false) { // this is data\r\n    if (this.level === 0) return this.data;\r\n    const data = this.data;\r\n    if (!data) return null;\r\n\r\n    const props = this.store.props;\r\n    let children = 'children';\r\n    if (props) {\r\n      children = props.children || 'children';\r\n    }\r\n\r\n    if (data[children] === undefined) {\r\n      data[children] = null;\r\n    }\r\n\r\n    if (forceInit && !data[children]) {\r\n      data[children] = [];\r\n    }\r\n\r\n    return data[children];\r\n  }\r\n\r\n  updateChildren() {\r\n    const newData = this.getChildren() || [];\r\n    const oldData = this.childNodes.map((node) => node.data);\r\n\r\n    const newDataMap = {};\r\n    const newNodes = [];\r\n\r\n    newData.forEach((item, index) => {\r\n      const key = item[NODE_KEY];\r\n      const isNodeExists = !!key && arrayFindIndex(oldData, data => data[NODE_KEY] === key) >= 0;\r\n      if (isNodeExists) {\r\n        newDataMap[key] = { index, data: item };\r\n      } else {\r\n        newNodes.push({ index, data: item });\r\n      }\r\n    });\r\n\r\n    if (!this.store.lazy) {\r\n      oldData.forEach((item) => {\r\n        if (!newDataMap[item[NODE_KEY]]) this.removeChildByData(item);\r\n      });\r\n    }\r\n\r\n    newNodes.forEach(({ index, data }) => {\r\n      this.insertChild({ data }, index);\r\n    });\r\n\r\n    this.updateLeafState();\r\n  }\r\n\r\n  loadData(callback, defaultProps = {}) {\r\n    if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {\r\n      this.loading = true;\r\n\r\n      const resolve = (children) => {\r\n        this.childNodes = [];\r\n\r\n        this.doCreateChildren(children, defaultProps);\r\n        this.loaded = true;\r\n        this.loading = false;\r\n        this.updateLeafState();\r\n        if (callback) {\r\n          callback.call(this, children);\r\n        }\r\n      };\r\n\r\n      this.store.load(this, resolve);\r\n    } else {\r\n      if (callback) {\r\n        callback.call(this);\r\n      }\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/tree/src/model/node.js","import Node from './node';\r\nimport { getNodeKey } from './util';\r\n\r\nexport default class TreeStore {\r\n  constructor(options) {\r\n    this.currentNode = null;\r\n    this.currentNodeKey = null;\r\n\r\n    for (let option in options) {\r\n      if (options.hasOwnProperty(option)) {\r\n        this[option] = options[option];\r\n      }\r\n    }\r\n\r\n    this.nodesMap = {};\r\n\r\n    this.root = new Node({\r\n      data: this.data,\r\n      store: this\r\n    });\r\n\r\n    if (this.lazy && this.load) {\r\n      const loadFn = this.load;\r\n      loadFn(this.root, (data) => {\r\n        this.root.doCreateChildren(data);\r\n        this._initDefaultCheckedNodes();\r\n      });\r\n    } else {\r\n      this._initDefaultCheckedNodes();\r\n    }\r\n  }\r\n\r\n  filter(value) {\r\n    const filterNodeMethod = this.filterNodeMethod;\r\n    const lazy = this.lazy;\r\n    const traverse = function(node) {\r\n      const childNodes = node.root ? node.root.childNodes : node.childNodes;\r\n\r\n      childNodes.forEach((child) => {\r\n        child.visible = filterNodeMethod.call(child, value, child.data, child);\r\n\r\n        traverse(child);\r\n      });\r\n\r\n      if (!node.visible && childNodes.length) {\r\n        let allHidden = true;\r\n        allHidden = !childNodes.some(child => child.visible);\r\n\r\n        if (node.root) {\r\n          node.root.visible = allHidden === false;\r\n        } else {\r\n          node.visible = allHidden === false;\r\n        }\r\n      }\r\n      if (!value) return;\r\n\r\n      if (node.visible && !node.isLeaf && !lazy) node.expand();\r\n    };\r\n\r\n    traverse(this);\r\n  }\r\n\r\n  setData(newVal) {\r\n    const instanceChanged = newVal !== this.root.data;\r\n    if (instanceChanged) {\r\n      this.root.setData(newVal);\r\n      this._initDefaultCheckedNodes();\r\n    } else {\r\n      this.root.updateChildren();\r\n    }\r\n  }\r\n\r\n  getNode(data) {\r\n    if (data instanceof Node) return data;\r\n    const key = typeof data !== 'object' ? data : getNodeKey(this.key, data);\r\n    return this.nodesMap[key] || null;\r\n  }\r\n\r\n  insertBefore(data, refData) {\r\n    const refNode = this.getNode(refData);\r\n    refNode.parent.insertBefore({ data }, refNode);\r\n  }\r\n\r\n  insertAfter(data, refData) {\r\n    const refNode = this.getNode(refData);\r\n    refNode.parent.insertAfter({ data }, refNode);\r\n  }\r\n\r\n  remove(data) {\r\n    const node = this.getNode(data);\r\n\r\n    if (node && node.parent) {\r\n      if (node === this.currentNode) {\r\n        this.currentNode = null;\r\n      }\r\n      node.parent.removeChild(node);\r\n    }\r\n  }\r\n\r\n  append(data, parentData) {\r\n    const parentNode = parentData ? this.getNode(parentData) : this.root;\r\n\r\n    if (parentNode) {\r\n      parentNode.insertChild({ data });\r\n    }\r\n  }\r\n\r\n  _initDefaultCheckedNodes() {\r\n    const defaultCheckedKeys = this.defaultCheckedKeys || [];\r\n    const nodesMap = this.nodesMap;\r\n\r\n    defaultCheckedKeys.forEach((checkedKey) => {\r\n      const node = nodesMap[checkedKey];\r\n\r\n      if (node) {\r\n        node.setChecked(true, !this.checkStrictly);\r\n      }\r\n    });\r\n  }\r\n\r\n  _initDefaultCheckedNode(node) {\r\n    const defaultCheckedKeys = this.defaultCheckedKeys || [];\r\n\r\n    if (defaultCheckedKeys.indexOf(node.key) !== -1) {\r\n      node.setChecked(true, !this.checkStrictly);\r\n    }\r\n  }\r\n\r\n  setDefaultCheckedKey(newVal) {\r\n    if (newVal !== this.defaultCheckedKeys) {\r\n      this.defaultCheckedKeys = newVal;\r\n      this._initDefaultCheckedNodes();\r\n    }\r\n  }\r\n\r\n  registerNode(node) {\r\n    const key = this.key;\r\n    if (!key || !node || !node.data) return;\r\n\r\n    const nodeKey = node.key;\r\n    if (nodeKey !== undefined) this.nodesMap[node.key] = node;\r\n  }\r\n\r\n  deregisterNode(node) {\r\n    const key = this.key;\r\n    if (!key || !node || !node.data) return;\r\n\r\n    node.childNodes.forEach(child => {\r\n      this.deregisterNode(child);\r\n    });\r\n\r\n    delete this.nodesMap[node.key];\r\n  }\r\n\r\n  getCheckedNodes(leafOnly = false, includeHalfChecked = false) {\r\n    const checkedNodes = [];\r\n    const traverse = function(node) {\r\n      const childNodes = node.root ? node.root.childNodes : node.childNodes;\r\n\r\n      childNodes.forEach((child) => {\r\n        if ((child.checked || (includeHalfChecked && child.indeterminate)) && (!leafOnly || (leafOnly && child.isLeaf))) {\r\n          checkedNodes.push(child.data);\r\n        }\r\n\r\n        traverse(child);\r\n      });\r\n    };\r\n\r\n    traverse(this);\r\n\r\n    return checkedNodes;\r\n  }\r\n\r\n  getCheckedKeys(leafOnly = false) {\r\n    return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key]);\r\n  }\r\n\r\n  getHalfCheckedNodes() {\r\n    const nodes = [];\r\n    const traverse = function(node) {\r\n      const childNodes = node.root ? node.root.childNodes : node.childNodes;\r\n\r\n      childNodes.forEach((child) => {\r\n        if (child.indeterminate) {\r\n          nodes.push(child.data);\r\n        }\r\n\r\n        traverse(child);\r\n      });\r\n    };\r\n\r\n    traverse(this);\r\n\r\n    return nodes;\r\n  }\r\n\r\n  getHalfCheckedKeys() {\r\n    return this.getHalfCheckedNodes().map((data) => (data || {})[this.key]);\r\n  }\r\n\r\n  _getAllNodes() {\r\n    const allNodes = [];\r\n    const nodesMap = this.nodesMap;\r\n    for (let nodeKey in nodesMap) {\r\n      if (nodesMap.hasOwnProperty(nodeKey)) {\r\n        allNodes.push(nodesMap[nodeKey]);\r\n      }\r\n    }\r\n\r\n    return allNodes;\r\n  }\r\n\r\n  updateChildren(key, data) {\r\n    const node = this.nodesMap[key];\r\n    if (!node) return;\r\n    const childNodes = node.childNodes;\r\n    for (let i = childNodes.length - 1; i >= 0; i--) {\r\n      const child = childNodes[i];\r\n      this.remove(child.data);\r\n    }\r\n    for (let i = 0, j = data.length; i < j; i++) {\r\n      const child = data[i];\r\n      this.append(child, node.data);\r\n    }\r\n  }\r\n\r\n  _setCheckedKeys(key, leafOnly = false, checkedKeys) {\r\n    const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level);\r\n    const cache = Object.create(null);\r\n    const keys = Object.keys(checkedKeys);\r\n    allNodes.forEach(node => node.setChecked(false, false));\r\n    for (let i = 0, j = allNodes.length; i < j; i++) {\r\n      const node = allNodes[i];\r\n      const nodeKey = node.data[key].toString();\r\n      let checked = keys.indexOf(nodeKey) > -1;\r\n      if (!checked) {\r\n        if (node.checked && !cache[nodeKey]) {\r\n          node.setChecked(false, false);\r\n        }\r\n        continue;\r\n      }\r\n\r\n      let parent = node.parent;\r\n      while (parent && parent.level > 0) {\r\n        cache[parent.data[key]] = true;\r\n        parent = parent.parent;\r\n      }\r\n\r\n      if (node.isLeaf || this.checkStrictly) {\r\n        node.setChecked(true, false);\r\n        continue;\r\n      }\r\n      node.setChecked(true, true);\r\n\r\n      if (leafOnly) {\r\n        node.setChecked(false, false);\r\n        const traverse = function(node) {\r\n          const childNodes = node.childNodes;\r\n          childNodes.forEach((child) => {\r\n            if (!child.isLeaf) {\r\n              child.setChecked(false, false);\r\n            }\r\n            traverse(child);\r\n          });\r\n        };\r\n        traverse(node);\r\n      }\r\n    }\r\n  }\r\n\r\n  setCheckedNodes(array, leafOnly = false) {\r\n    const key = this.key;\r\n    const checkedKeys = {};\r\n    array.forEach((item) => {\r\n      checkedKeys[(item || {})[key]] = true;\r\n    });\r\n\r\n    this._setCheckedKeys(key, leafOnly, checkedKeys);\r\n  }\r\n\r\n  setCheckedKeys(keys, leafOnly = false) {\r\n    this.defaultCheckedKeys = keys;\r\n    const key = this.key;\r\n    const checkedKeys = {};\r\n    keys.forEach((key) => {\r\n      checkedKeys[key] = true;\r\n    });\r\n\r\n    this._setCheckedKeys(key, leafOnly, checkedKeys);\r\n  }\r\n\r\n  setDefaultExpandedKeys(keys) {\r\n    keys = keys || [];\r\n    this.defaultExpandedKeys = keys;\r\n\r\n    keys.forEach((key) => {\r\n      const node = this.getNode(key);\r\n      if (node) node.expand(null, this.autoExpandParent);\r\n    });\r\n  }\r\n\r\n  setChecked(data, checked, deep) {\r\n    const node = this.getNode(data);\r\n\r\n    if (node) {\r\n      node.setChecked(!!checked, deep);\r\n    }\r\n  }\r\n\r\n  getCurrentNode() {\r\n    return this.currentNode;\r\n  }\r\n\r\n  setCurrentNode(currentNode) {\r\n    const prevCurrentNode = this.currentNode;\r\n    if (prevCurrentNode) {\r\n      prevCurrentNode.isCurrent = false;\r\n    }\r\n    this.currentNode = currentNode;\r\n    this.currentNode.isCurrent = true;\r\n  }\r\n\r\n  setUserCurrentNode(node) {\r\n    const key = node[this.key];\r\n    const currNode = this.nodesMap[key];\r\n    this.setCurrentNode(currNode);\r\n  }\r\n\r\n  setCurrentNodeKey(key) {\r\n    if (key === null || key === undefined) {\r\n      this.currentNode && (this.currentNode.isCurrent = false);\r\n      this.currentNode = null;\r\n      return;\r\n    }\r\n    const node = this.getNode(key);\r\n    if (node) {\r\n      this.setCurrentNode(node);\r\n    }\r\n  }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/tree/src/model/tree-store.js","<template>\r\n  <div\r\n    class=\"el-tree-node\"\r\n    @click.stop=\"handleClick\"\r\n    @contextmenu=\"($event) => this.handleContextMenu($event)\"\r\n    v-show=\"node.visible\"\r\n    :class=\"{\r\n      'el-tree-node-last-item': isLastItem,\r\n      //'is-expanded': expanded,\r\n      //'is-current': node.isCurrent,\r\n      //'is-hidden': !node.visible,\r\n      //'is-focusable': !node.disabled,\r\n      //'is-checked': !node.disabled && node.checked\r\n    }\"\r\n    role=\"treeitem\"\r\n    tabindex=\"-1\"\r\n    :name=\"node.id\"\r\n    :aria-expanded=\"expanded\"\r\n    :aria-disabled=\"node.disabled\"\r\n    :aria-checked=\"node.checked\"\r\n    :draggable=\"tree.draggable\"\r\n    @dragstart.stop=\"handleDragStart\"\r\n    @dragover.stop=\"handleDragOver\"\r\n    @dragend.stop=\"handleDragEnd\"\r\n    @drop.stop=\"handleDrop\"\r\n\r\n\r\n    ref=\"node\"\r\n  >\r\n  <!-- @touchstart=\"handleTouchStart\"\r\n   @touchmove.stop=\"handleTouchmove\"\r\n    @touchend.stop=\"handleTouchend\" -->\r\n    <div class=\"el-tree-node__content\"\r\n      :style=\"{ 'padding-left': (node.level - 1) * tree.indent + 'px' }\">\r\n      <span\r\n        @click.stop=\"handleExpandIconClick\"\r\n        :class=\"[\r\n          { 'is-leaf': node.isLeaf, expanded: !node.isLeaf && expanded },\r\n          'el-tree-node__expand-icon',\r\n          tree.iconClass ? tree.iconClass : 'el-icon-caret-right'\r\n        ]\"\r\n      >\r\n      </span>\r\n      <el-checkbox\r\n        v-if=\"showCheckbox\"\r\n        v-model=\"node.checked\"\r\n        :indeterminate=\"node.indeterminate\"\r\n        :disabled=\"!!node.disabled\"\r\n        @click.native.stop\r\n        @change=\"handleCheckChange\"\r\n      >\r\n      </el-checkbox>\r\n      <span\r\n        v-if=\"node.loading\"\r\n        class=\"el-tree-node__loading-icon el-icon-loading\">\r\n      </span>\r\n\r\n      <div class=\"el-tree-node__content-text\">\r\n        <div :class=\"`drop-type ${dropType === 'before' && dropNodeId === node.id ? 'drop-type-before' : ''}`\"></div>\r\n        <node-content :node=\"node\"></node-content>\r\n        <div\r\n          :style=\"dropType === 'after' ? {marginTop: '5px'} : {marginBottom: '5px'}\"\r\n          :class=\"`drop-type ${dropType === 'after' && dropNodeId === node.id ? 'drop-type-after' : ''} ${dropType === 'inner' && dropNodeId === node.id ? 'drop-type-inner' : ''}`\"\r\n        ></div>\r\n      </div>\r\n    </div>\r\n    <el-collapse-transition>\r\n      <div\r\n        class=\"el-tree-node__children\"\r\n        v-if=\"!renderAfterExpand || childNodeRendered\"\r\n        v-show=\"expanded\"\r\n        role=\"group\"\r\n        :aria-expanded=\"expanded\"\r\n      >\r\n        <el-tree-node\r\n          :render-content=\"renderContent\"\r\n          v-for=\"(child, index) in node.childNodes\"\r\n          :dropNodeId=\"dropNodeId\"\r\n          :isLastItem=\"index === node.childNodes.length - 1\"\r\n          :dropType=\"dropType\"\r\n          :render-after-expand=\"renderAfterExpand\"\r\n          :show-checkbox=\"showCheckbox\"\r\n          :key=\"getNodeKey(child)\"\r\n          :node=\"child\"\r\n          @node-expand=\"handleChildNodeExpand\">\r\n        </el-tree-node>\r\n      </div>\r\n    </el-collapse-transition>\r\n  </div>\r\n</template>\r\n\r\n<script type=\"text/jsx\">\r\n  import ElCollapseTransition from 'element-ui/src/transitions/collapse-transition';\r\n  import ElCheckbox from 'element-ui/packages/checkbox';\r\n  import emitter from 'element-ui/src/mixins/emitter';\r\n  import { getNodeKey } from './model/util';\r\n\r\n  export default {\r\n    name: 'ElTreeNode',\r\n\r\n    componentName: 'ElTreeNode',\r\n\r\n    mixins: [emitter],\r\n\r\n    props: {\r\n      node: {\r\n        default() {\r\n          return {};\r\n        }\r\n      },\r\n      isLastItem: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      dropType: {\r\n        type: String,\r\n        default: ''\r\n      },\r\n      dropNodeId: {\r\n        type: [String, Number],\r\n        default: ''\r\n      },\r\n      props: {},\r\n      renderContent: Function,\r\n      renderAfterExpand: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      showCheckbox: {\r\n        type: Boolean,\r\n        default: false\r\n      }\r\n    },\r\n\r\n    components: {\r\n      ElCollapseTransition,\r\n      ElCheckbox,\r\n      NodeContent: {\r\n        props: {\r\n          node: {\r\n            required: true\r\n          }\r\n        },\r\n        render(h) {\r\n          const parent = this.$parent;\r\n          const tree = parent.tree;\r\n          const node = this.node;\r\n          const { data, store } = node;\r\n          return (\r\n            parent.renderContent\r\n              ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node, data, store })\r\n              : tree.$scopedSlots.default\r\n                ? tree.$scopedSlots.default({ node, data })\r\n                : <span class=\"el-tree-node__label\">{ node.label }</span>\r\n          );\r\n        }\r\n      }\r\n    },\r\n\r\n    data() {\r\n      return {\r\n        tree: null,\r\n        expanded: false,\r\n        childNodeRendered: false,\r\n        oldChecked: null,\r\n        oldIndeterminate: null,\r\n        offset: {},\r\n        dragOptions: {},\r\n        touchStartTime: null,\r\n      };\r\n    },\r\n\r\n    watch: {\r\n      'node.indeterminate'(val) {\r\n        this.handleSelectChange(this.node.checked, val);\r\n      },\r\n\r\n      'node.checked'(val) {\r\n        this.handleSelectChange(val, this.node.indeterminate);\r\n      },\r\n\r\n      'node.expanded'(val) {\r\n        this.$nextTick(() => this.expanded = val);\r\n        if (val) {\r\n          this.childNodeRendered = true;\r\n        }\r\n      }\r\n    },\r\n\r\n    methods: {\r\n      getNodeKey(node) {\r\n        return getNodeKey(this.tree.nodeKey, node.data);\r\n      },\r\n\r\n      handleSelectChange(checked, indeterminate) {\r\n        if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) {\r\n          this.tree.$emit('check-change', this.node.data, checked, indeterminate);\r\n        }\r\n        this.oldChecked = checked;\r\n        this.indeterminate = indeterminate;\r\n      },\r\n\r\n      handleClick() {\r\n        const store = this.tree.store;\r\n        store.setCurrentNode(this.node);\r\n        this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode);\r\n        this.tree.currentNode = this;\r\n        if (this.tree.expandOnClickNode) {\r\n          this.handleExpandIconClick();\r\n        }\r\n        if (this.tree.checkOnClickNode && !this.node.disabled) {\r\n          this.handleCheckChange(null, {\r\n            target: { checked: !this.node.checked }\r\n          });\r\n        }\r\n        this.tree.$emit('node-click', this.node.data, this.node, this);\r\n      },\r\n\r\n      handleContextMenu(event) {\r\n        if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) {\r\n          event.stopPropagation();\r\n          event.preventDefault();\r\n        }\r\n        this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this);\r\n      },\r\n\r\n      handleExpandIconClick() {\r\n        if (this.node.isLeaf) return;\r\n        if (this.expanded) {\r\n          this.tree.$emit('node-collapse', this.node.data, this.node, this);\r\n          this.node.collapse();\r\n        } else {\r\n          this.node.expand();\r\n          this.$emit('node-expand', this.node.data, this.node, this);\r\n        }\r\n      },\r\n\r\n      handleCheckChange(value, ev) {\r\n        this.node.setChecked(ev.target.checked, !this.tree.checkStrictly);\r\n        this.$nextTick(() => {\r\n          const store = this.tree.store;\r\n          this.tree.$emit('check', this.node.data, {\r\n            checkedNodes: store.getCheckedNodes(),\r\n            checkedKeys: store.getCheckedKeys(),\r\n            halfCheckedNodes: store.getHalfCheckedNodes(),\r\n            halfCheckedKeys: store.getHalfCheckedKeys(),\r\n          });\r\n        });\r\n      },\r\n\r\n      handleChildNodeExpand(nodeData, node, instance) {\r\n        this.broadcast('ElTreeNode', 'tree-node-expand', node);\r\n        this.tree.$emit('node-expand', nodeData, node, instance);\r\n      },\r\n\r\n      handleTouchStart() {\r\n        this.touchStartTimeValue = setTimeout(() => {\r\n          this.dragOptions.isDragStartEvent = true;\r\n        }, 500);\r\n      },\r\n      handleTouchmove(event) {\r\n        // const now = +(new Date());\r\n        // let isCanCopyNode = !this.dragOptions.isDragStartEvent && this.touchStartTime && now - this.touchStartTime > 500\r\n        // isCanCopyNode = isCanCopyNode || this.dragOptions.isDragStartEvent;\r\n        if(!this.dragOptions.isDragStartEvent) {\r\n          return\r\n        }\r\n        if(this.dragOptions.isDragOverEvent) {\r\n          return;\r\n        }\r\n        const touch = event.touches[0]; // 获取第一个触点\r\n\r\n        if(!(this.offset && this.offset.dragX)) {\r\n          this.offset.dragX = touch.pageX - this.offset.x;\r\n        }\r\n        if(!(this.offset && this.offset.dragY)) {\r\n          this.offset.dragY = touch.pageY - this.offset.y;\r\n        }\r\n\r\n        let x = parseInt(touch.pageX - this.offset.dragX, 10);\r\n        let y = parseInt(touch.pageY - this.offset.dragY, 10); // 触点相对于页面的纵坐标\r\n        this.tree.$emit('tree-node-touchmove', event, {\r\n          x,\r\n          y,\r\n          height:this.offset.dragHeight,\r\n          width: this.offset.width,\r\n          node: this.node,\r\n          nodeId: this.node.id,\r\n          nodeComponent: this,\r\n        });\r\n        event.preventDefault();\r\n      },\r\n      handleTouchend(event) {\r\n        this.touchStartTime = null;\r\n        if(!this.dragOptions.isDragStartEvent || this.dragOptions.isDragOverEvent) {\r\n          return;\r\n        }\r\n        if (!this.tree.draggable) return;\r\n\r\n        this.dragOptions = {};\r\n        this.tree.$emit('tree-node-touchend', event, this);\r\n        this.$nextTick(() => {\r\n          this.getOffset();\r\n        })\r\n        event.preventDefault();\r\n      },\r\n\r\n      handleDragStart(event) {\r\n        if (!this.tree.draggable) return;\r\n        this.tree.$emit('tree-node-drag-start', event, this);\r\n        this.dragOptions.isDragStartEvent = true;\r\n      },\r\n\r\n      handleDragOver(event) {\r\n        if (!this.tree.draggable) return;\r\n        this.dragOptions.isDragOverEvent = true;\r\n        this.tree.$emit('tree-node-drag-over', event, this);\r\n        event.preventDefault();\r\n      },\r\n\r\n      handleDrop(event) {\r\n        event.preventDefault();\r\n      },\r\n\r\n      handleDragEnd(event) {\r\n        if (!this.tree.draggable) return;\r\n        this.tree.$emit('tree-node-drag-end', event, this);\r\n        this.dragOptions = {};\r\n        this.$nextTick(() => {\r\n          this.getOffset();\r\n        })\r\n      },\r\n\r\n      getOffset() {\r\n        const offset = this.$el.getBoundingClientRect();\r\n        this.offset = {\r\n          ...offset,\r\n          x: parseInt(offset.x, 10),\r\n          y: parseInt(offset.y, 10),\r\n          height: this.$el.childNodes[0].clientHeight,\r\n          width: parseInt(offset.width, 10),\r\n          dragHeight: parseInt(offset.height, 10),\r\n        };\r\n        this.tree.$emit('tree-node-offset', {\r\n          ...this.offset,\r\n          nodeId: this.node.id,\r\n          nodeComponent: this,\r\n        });\r\n      },\r\n    },\r\n\r\n    created() {\r\n      const parent = this.$parent;\r\n\r\n      if (parent.isTree) {\r\n        this.tree = parent;\r\n      } else {\r\n        this.tree = parent.tree;\r\n      }\r\n\r\n      const tree = this.tree;\r\n      if (!tree) {\r\n        console.warn('Can not find node\\'s tree.');\r\n      }\r\n\r\n      const props = tree.props || {};\r\n      const childrenKey = props['children'] || 'children';\r\n\r\n      this.$watch(`node.data.${childrenKey}`, () => {\r\n        this.node.updateChildren();\r\n      });\r\n\r\n      if (this.node.expanded) {\r\n        this.expanded = true;\r\n        this.childNodeRendered = true;\r\n      }\r\n\r\n      if(this.tree.accordion) {\r\n        this.$on('tree-node-expand', node => {\r\n          if(this.node !== node) {\r\n            this.node.collapse();\r\n          }\r\n        });\r\n      }\r\n    },\r\n\r\n    mounted() {\r\n      this.getOffset();\r\n    },\r\n  };\r\n</script>\r\n<style scoped lang=\"less\">\r\n.drop-type{\r\n  height: 1px;\r\n}\r\n.drop-type-bottom{\r\n  margin-bottom: 12px;\r\n  height: 1px;\r\n}\r\n.drop-type-before{\r\n  background:#409EFF;\r\n}\r\n.drop-type-after{\r\n  background:#409EFF;\r\n}\r\n.drop-type-inner{\r\n  margin-left: 20px;\r\n  background:#409EFF;\r\n}\r\n.is-expanded,\r\n.is-current,\r\n.is-hidden,\r\n.is-focusable,\r\n.is-checked{\r\n\r\n}\r\n.is-leaf{}\r\n.el-tree-node__expand-icon{}\r\n.el-icon-caret-right{}\r\n.el-tree-node__loading-icon{}\r\n.el-icon-loading{}\r\n.el-tree-node__children{}\r\n.el-tree-node__label{}\r\n.el-tree-node{}\r\n.el-tree-node__content{}\r\n\r\n\r\n.el-tree-node{\r\n  position: relative;\r\n  margin: 0 0 0 29px !important;\r\n  padding: 0 !important;\r\n  transform: translate(0,0);\r\n  display: block;\r\n  .el-tree-node__content{\r\n    display: block;\r\n    position: relative;\r\n    padding: 0 !important;\r\n    margin: 0 !important;\r\n    .el-tree-node__expand-icon,\r\n    .el-tree-node__loading-icon{\r\n      margin: 0 !important;\r\n      padding: 0 !important;\r\n      width: 29px !important;\r\n      height: 29px !important;\r\n      position: absolute;\r\n      left: -29px;\r\n      top: 0px;\r\n      text-align: center;\r\n      text-indent: 0;\r\n      display: flex;\r\n      text-align: center;\r\n      justify-content: center;\r\n      align-items: center;\r\n    }\r\n    .expanded{\r\n      &::before{\r\n        display: inline-block !important;\r\n        margin:0 !important;\r\n        padding: 0 !important;\r\n        font-size: 1em;\r\n        transform: translate(0, 0);\r\n\r\n      }\r\n    }\r\n    .is-leaf{\r\n      &::before{\r\n        display: inline-block !important;\r\n        margin:0 !important;\r\n        padding: 0 !important;\r\n        font-size: 1em;\r\n\r\n      }\r\n    }\r\n    .el-tree-node__loading-icon{\r\n\r\n    }\r\n    .el-tree-node__content-text{\r\n\r\n    }\r\n  }\r\n  .el-tree-node__children{\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n  &::after{\r\n    position: absolute;\r\n    content: '';\r\n    width:1px;\r\n    left: -15px;\r\n    top: 23px;\r\n    height: calc(100% - 18px);\r\n    background: #71afbb;\r\n  }\r\n}\r\n.el-tree-node-last-item{\r\n  &::after{\r\n    display: none;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/tree/src/tree-node.vue","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.node.visible),expression:\"node.visible\"}],ref:\"node\",staticClass:\"el-tree-node\",class:{\n    'el-tree-node-last-item': _vm.isLastItem,\n    //'is-expanded': expanded,\n    //'is-current': node.isCurrent,\n    //'is-hidden': !node.visible,\n    //'is-focusable': !node.disabled,\n    //'is-checked': !node.disabled && node.checked\n  },attrs:{\"role\":\"treeitem\",\"tabindex\":\"-1\",\"name\":_vm.node.id,\"aria-expanded\":_vm.expanded,\"aria-disabled\":_vm.node.disabled,\"aria-checked\":_vm.node.checked,\"draggable\":_vm.tree.draggable},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleClick.apply(null, arguments)},\"contextmenu\":function ($event) { return this$1.handleContextMenu($event); },\"dragstart\":function($event){$event.stopPropagation();return _vm.handleDragStart.apply(null, arguments)},\"dragover\":function($event){$event.stopPropagation();return _vm.handleDragOver.apply(null, arguments)},\"dragend\":function($event){$event.stopPropagation();return _vm.handleDragEnd.apply(null, arguments)},\"drop\":function($event){$event.stopPropagation();return _vm.handleDrop.apply(null, arguments)}}},[_c('div',{staticClass:\"el-tree-node__content\",style:({ 'padding-left': (_vm.node.level - 1) * _vm.tree.indent + 'px' })},[_c('span',{class:[\n        { 'is-leaf': _vm.node.isLeaf, expanded: !_vm.node.isLeaf && _vm.expanded },\n        'el-tree-node__expand-icon',\n        _vm.tree.iconClass ? _vm.tree.iconClass : 'el-icon-caret-right'\n      ],on:{\"click\":function($event){$event.stopPropagation();return _vm.handleExpandIconClick.apply(null, arguments)}}}),_vm._v(\" \"),(_vm.showCheckbox)?_c('el-checkbox',{attrs:{\"indeterminate\":_vm.node.indeterminate,\"disabled\":!!_vm.node.disabled},on:{\"change\":_vm.handleCheckChange},nativeOn:{\"click\":function($event){$event.stopPropagation();}},model:{value:(_vm.node.checked),callback:function ($$v) {_vm.$set(_vm.node, \"checked\", $$v)},expression:\"node.checked\"}}):_vm._e(),_vm._v(\" \"),(_vm.node.loading)?_c('span',{staticClass:\"el-tree-node__loading-icon el-icon-loading\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"el-tree-node__content-text\"},[_c('div',{class:(\"drop-type \" + (_vm.dropType === 'before' && _vm.dropNodeId === _vm.node.id ? 'drop-type-before' : ''))}),_vm._v(\" \"),_c('node-content',{attrs:{\"node\":_vm.node}}),_vm._v(\" \"),_c('div',{class:(\"drop-type \" + (_vm.dropType === 'after' && _vm.dropNodeId === _vm.node.id ? 'drop-type-after' : '') + \" \" + (_vm.dropType === 'inner' && _vm.dropNodeId === _vm.node.id ? 'drop-type-inner' : '')),style:(_vm.dropType === 'after' ? {marginTop: '5px'} : {marginBottom: '5px'})})],1)],1),_vm._v(\" \"),_c('el-collapse-transition',[(!_vm.renderAfterExpand || _vm.childNodeRendered)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expanded),expression:\"expanded\"}],staticClass:\"el-tree-node__children\",attrs:{\"role\":\"group\",\"aria-expanded\":_vm.expanded}},_vm._l((_vm.node.childNodes),function(child,index){return _c('el-tree-node',{key:_vm.getNodeKey(child),attrs:{\"render-content\":_vm.renderContent,\"dropNodeId\":_vm.dropNodeId,\"isLastItem\":index === _vm.node.childNodes.length - 1,\"dropType\":_vm.dropType,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,\"node\":child},on:{\"node-expand\":_vm.handleChildNodeExpand}})}),1):_vm._e()])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-822e064e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/tree/src/tree-node.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-822e064e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./tree-node.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree-node.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree-node.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-822e064e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./tree-node.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-822e064e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/tree/src/tree-node.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div\r\n    class=\"el-tree\"\r\n    :class=\"{\r\n      //'el-tree--highlight-current': highlightCurrent,\r\n      //'is-dragging': dragState.draggingNode ? true : false,\r\n      //'is-drop-not-allow': !dragState.allowDrop,\r\n      //'is-drop-inner': dragState.dropType === 'inner'\r\n    }\"\r\n    role=\"tree\"\r\n  >\r\n    <el-tree-node\r\n      v-if=\"dragOffset.nodeId && dragState.dropNode\"\r\n      :style=\"{\r\n        top: dragOffset.y + 'px', \r\n        left: dragOffset.x + 'px',\r\n        position: 'fixed',\r\n        width: dragOffset.width + 'px'\r\n      }\"\r\n      class=\"drag-copy-item\"\r\n      :node=\"dragOffset.node\"\r\n      :props=\"props\"\r\n      :render-after-expand=\"renderAfterExpand\"\r\n      :show-checkbox=\"showCheckbox\"\r\n      :key=\"getNodeKey(dragOffset.node) + (+ (new Date()))\"\r\n      :render-content=\"renderContent\"\r\n      @node-expand=\"handleNodeExpand\">\r\n    </el-tree-node>\r\n\r\n    <el-tree-node\r\n      v-for=\"(child, index) in root.childNodes\"\r\n      :dropNodeId=\"dragState.dropNode && dragState.dropNode.node && dragState.dropNode.node.id\"\r\n      :dropType=\"dragState.dropType\"\r\n      :node=\"child\"\r\n      :props=\"props\"\r\n      :isLastItem=\"index === root.childNodes.length - 1\"\r\n      :render-after-expand=\"renderAfterExpand\"\r\n      :show-checkbox=\"showCheckbox\"\r\n      :key=\"getNodeKey(child)\"\r\n      :render-content=\"renderContent\"\r\n      @node-expand=\"handleNodeExpand\">\r\n    </el-tree-node>\r\n\r\n    \r\n    <div class=\"el-tree__empty-block\" v-if=\"isEmpty\">\r\n      <span class=\"el-tree__empty-text\">{{ emptyText }}</span>\r\n    </div>\r\n    <div\r\n      v-show=\"dragState.showDropIndicator\"\r\n      class=\"el-tree__drop-indicator\"\r\n      ref=\"dropIndicator\">\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport TreeStore from './model/tree-store';\r\nimport { getNodeKey, findNearestComponent } from './model/util';\r\nimport ElTreeNode from './tree-node.vue';\r\nimport {t} from 'element-ui/src/locale';\r\nimport emitter from 'element-ui/src/mixins/emitter';\r\nimport { addClass, removeClass } from 'element-ui/src/utils/dom';\r\n\r\n  export default {\r\n    name: 'ElTree',\r\n\r\n    mixins: [emitter],\r\n\r\n    components: {\r\n      ElTreeNode\r\n    },\r\n\r\n    data() {\r\n      return {\r\n        store: null,\r\n        root: null,\r\n        currentNode: null,\r\n        treeItems: null,\r\n        checkboxItems: [],\r\n        dragState: {\r\n          showDropIndicator: false,\r\n          draggingNode: null,\r\n          dropNode: null,\r\n          allowDrop: true\r\n        },\r\n        nodesOffset: [],//所有node的坐标\r\n        dragOffset: {x: 0, y: 0}\r\n      };\r\n    },\r\n\r\n    props: {\r\n      data: {\r\n        type: Array\r\n      },\r\n      isLastDragFixed: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      emptyText: {\r\n        type: String,\r\n        default() {\r\n          return t('el.tree.emptyText');\r\n        }\r\n      },\r\n      renderAfterExpand: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      nodeKey: String,\r\n      checkStrictly: Boolean,\r\n      defaultExpandAll: Boolean,\r\n      expandOnClickNode: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      checkOnClickNode: Boolean,\r\n      checkDescendants: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      autoExpandParent: {\r\n        type: Boolean,\r\n        default: true\r\n      },\r\n      defaultCheckedKeys: Array,\r\n      defaultExpandedKeys: Array,\r\n      currentNodeKey: [String, Number],\r\n      renderContent: Function,\r\n      showCheckbox: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      draggable: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      allowDrag: Function,\r\n      allowDrop: Function,\r\n      props: {\r\n        default() {\r\n          return {\r\n            children: 'children',\r\n            label: 'label',\r\n            disabled: 'disabled'\r\n          };\r\n        }\r\n      },\r\n      lazy: {\r\n        type: Boolean,\r\n        default: false\r\n      },\r\n      highlightCurrent: Boolean,\r\n      load: Function,\r\n      filterNodeMethod: Function,\r\n      accordion: Boolean,\r\n      indent: {\r\n        type: Number,\r\n        default: 18\r\n      },\r\n      iconClass: String\r\n    },\r\n\r\n    computed: {\r\n      children: {\r\n        set(value) {\r\n          this.data = value;\r\n        },\r\n        get() {\r\n          return this.data;\r\n        }\r\n      },\r\n\r\n      treeItemArray() {\r\n        return Array.prototype.slice.call(this.treeItems);\r\n      },\r\n\r\n      isEmpty() {\r\n        const { childNodes } = this.root;\r\n        return !childNodes || childNodes.length === 0 || childNodes.every(({visible}) => !visible);\r\n      }\r\n    },\r\n\r\n    watch: {\r\n      defaultCheckedKeys(newVal) {\r\n        this.store.setDefaultCheckedKey(newVal);\r\n      },\r\n\r\n      defaultExpandedKeys(newVal) {\r\n        this.store.defaultExpandedKeys = newVal;\r\n        this.store.setDefaultExpandedKeys(newVal);\r\n      },\r\n\r\n      data(newVal) {\r\n        this.store.setData(newVal);\r\n      },\r\n\r\n      checkboxItems(val) {\r\n        Array.prototype.forEach.call(val, (checkbox) => {\r\n          checkbox.setAttribute('tabindex', -1);\r\n        });\r\n      },\r\n\r\n      checkStrictly(newVal) {\r\n        this.store.checkStrictly = newVal;\r\n      }\r\n    },\r\n\r\n    methods: {\r\n      filter(value) {\r\n        if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter');\r\n        this.store.filter(value);\r\n      },\r\n\r\n      getNodeKey(node) {\r\n        return getNodeKey(this.nodeKey, node.data);\r\n      },\r\n\r\n      getNodePath(data) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath');\r\n        const node = this.store.getNode(data);\r\n        if (!node) return [];\r\n        const path = [node.data];\r\n        let parent = node.parent;\r\n        while (parent && parent !== this.root) {\r\n          path.push(parent.data);\r\n          parent = parent.parent;\r\n        }\r\n        return path.reverse();\r\n      },\r\n\r\n      getCheckedNodes(leafOnly, includeHalfChecked) {\r\n        return this.store.getCheckedNodes(leafOnly, includeHalfChecked);\r\n      },\r\n\r\n      getCheckedKeys(leafOnly) {\r\n        return this.store.getCheckedKeys(leafOnly);\r\n      },\r\n\r\n      getCurrentNode() {\r\n        const currentNode = this.store.getCurrentNode();\r\n        return currentNode ? currentNode.data : null;\r\n      },\r\n\r\n      getCurrentKey() {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey');\r\n        const currentNode = this.getCurrentNode();\r\n        return currentNode ? currentNode[this.nodeKey] : null;\r\n      },\r\n\r\n      setCheckedNodes(nodes, leafOnly) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes');\r\n        this.store.setCheckedNodes(nodes, leafOnly);\r\n      },\r\n\r\n      setCheckedKeys(keys, leafOnly) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys');\r\n        this.store.setCheckedKeys(keys, leafOnly);\r\n      },\r\n\r\n      setChecked(data, checked, deep) {\r\n        this.store.setChecked(data, checked, deep);\r\n      },\r\n\r\n      getHalfCheckedNodes() {\r\n        return this.store.getHalfCheckedNodes();\r\n      },\r\n\r\n      getHalfCheckedKeys() {\r\n        return this.store.getHalfCheckedKeys();\r\n      },\r\n\r\n      setCurrentNode(node) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode');\r\n        this.store.setUserCurrentNode(node);\r\n      },\r\n\r\n      setCurrentKey(key) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey');\r\n        this.store.setCurrentNodeKey(key);\r\n      },\r\n\r\n      getNode(data) {\r\n        return this.store.getNode(data);\r\n      },\r\n\r\n      getParentNode(nodeId) {\r\n        return this.store.nodesMap[nodeId] && this.store.nodesMap[nodeId].parent;\r\n      },\r\n\r\n      updateNodeContent(nodeId, content) {\r\n        const currNode = this.store.nodesMap[nodeId];\r\n        currNode.data.name = content.trim();\r\n      },\r\n\r\n      remove(data) {\r\n        this.store.remove(data);\r\n      },\r\n\r\n      append(data, parentNode) {\r\n        this.store.append(data, parentNode);\r\n      },\r\n\r\n      insertBefore(data, refNode) {\r\n        this.store.insertBefore(data, refNode);\r\n      },\r\n\r\n      insertAfter(data, refNode) {\r\n        this.store.insertAfter(data, refNode);\r\n      },\r\n\r\n      handleNodeExpand(nodeData, node, instance) {\r\n        this.broadcast('ElTreeNode', 'tree-node-expand', node);\r\n        this.$emit('node-expand', nodeData, node, instance);\r\n      },\r\n\r\n      updateKeyChildren(key, data) {\r\n        if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild');\r\n        this.store.updateChildren(key, data);\r\n      },\r\n\r\n      initTabIndex() {\r\n        this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');\r\n        this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');\r\n        const checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]');\r\n        if (checkedItem.length) {\r\n          checkedItem[0].setAttribute('tabindex', 0);\r\n          return;\r\n        }\r\n        this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0);\r\n      },\r\n\r\n      handleKeydown(ev) {\r\n        const currentItem = ev.target;\r\n        if (currentItem.className.indexOf('el-tree-node') === -1) return;\r\n        const keyCode = ev.keyCode;\r\n        this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');\r\n        const currentIndex = this.treeItemArray.indexOf(currentItem);\r\n        let nextIndex;\r\n        if ([38, 40].indexOf(keyCode) > -1) { // up、down\r\n          ev.preventDefault();\r\n          if (keyCode === 38) { // up\r\n            nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;\r\n          } else {\r\n            nextIndex = (currentIndex < this.treeItemArray.length - 1) ? currentIndex + 1 : 0;\r\n          }\r\n          this.treeItemArray[nextIndex].focus(); // 选中\r\n        }\r\n        if ([37, 39].indexOf(keyCode) > -1) { // left、right 展开\r\n          ev.preventDefault();\r\n          currentItem.click(); // 选中\r\n        }\r\n        const hasInput = currentItem.querySelector('[type=\"checkbox\"]');\r\n        if ([13, 32].indexOf(keyCode) > -1 && hasInput) { // space enter选中checkbox\r\n          ev.preventDefault();\r\n          hasInput.click();\r\n        }\r\n      }\r\n    },\r\n\r\n    created() {\r\n      this.isTree = true;\r\n\r\n      this.store = new TreeStore({\r\n        key: this.nodeKey,\r\n        data: this.data,\r\n        lazy: this.lazy,\r\n        props: this.props,\r\n        load: this.load,\r\n        currentNodeKey: this.currentNodeKey,\r\n        checkStrictly: this.checkStrictly,\r\n        checkDescendants: this.checkDescendants,\r\n        defaultCheckedKeys: this.defaultCheckedKeys,\r\n        defaultExpandedKeys: this.defaultExpandedKeys,\r\n        autoExpandParent: this.autoExpandParent,\r\n        defaultExpandAll: this.defaultExpandAll,\r\n        filterNodeMethod: this.filterNodeMethod\r\n      });\r\n\r\n      this.root = this.store.root;\r\n\r\n      let dragState = this.dragState;\r\n      this.$on('tree-node-drag-start', (event, treeNode) => {\r\n        if (typeof this.allowDrag === 'function' && !this.allowDrag(treeNode.node)) {\r\n          event.preventDefault();\r\n          return false;\r\n        }\r\n        event.dataTransfer.effectAllowed = 'move';\r\n\r\n        // wrap in try catch to address IE's error when first param is 'text/plain'\r\n        try {\r\n          // setData is required for draggable to work in FireFox\r\n          // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\r\n          event.dataTransfer.setData('text/plain', '');\r\n          \r\n        } catch (e) {}\r\n        dragState.draggingNode = treeNode;\r\n        this.$emit('node-drag-start', treeNode.node, event);\r\n      });\r\n\r\n      const dragOver = (dropNode, event) => {\r\n        let dragState = this.dragState;\r\n        const oldDropNode = dragState.dropNode;\r\n        if (oldDropNode && oldDropNode !== dropNode) {\r\n          removeClass(oldDropNode.$el, 'is-drop-inner');\r\n        }\r\n        const draggingNode = dragState.draggingNode;\r\n        if (!draggingNode || !dropNode) return;\r\n\r\n        let dropPrev = true;\r\n        let dropInner = true;\r\n        let dropNext = true;\r\n        let userAllowDropInner = true;\r\n        if (typeof this.allowDrop === 'function') {\r\n          dropPrev = this.allowDrop(draggingNode.node, dropNode.node, 'prev');\r\n          userAllowDropInner = dropInner = this.allowDrop(draggingNode.node, dropNode.node, 'inner');\r\n          dropNext = this.allowDrop(draggingNode.node, dropNode.node, 'next');\r\n        }\r\n\r\n        if(event.dataTransfer) {\r\n          event.dataTransfer.dropEffect = dropInner ? 'move' : 'none';\r\n        }\r\n        \r\n        if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {\r\n          if (oldDropNode) {\r\n            this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event);\r\n          }\r\n          this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event);\r\n        }\r\n\r\n        if (dropPrev || dropInner || dropNext) {\r\n          dragState.dropNode = dropNode;\r\n        }\r\n\r\n        if (dropNode.node.nextSibling === draggingNode.node) {\r\n          dropNext = false;\r\n        }\r\n        if (dropNode.node.previousSibling === draggingNode.node) {\r\n          dropPrev = false;\r\n        }\r\n        if (dropNode.node.contains(draggingNode.node, false)) {\r\n          dropInner = false;\r\n        }\r\n        if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) {\r\n          dropPrev = false;\r\n          dropInner = false;\r\n          dropNext = false;\r\n        }\r\n\r\n        const targetPosition = dropNode.$el.getBoundingClientRect();\r\n        const treePosition = this.$el.getBoundingClientRect();\r\n\r\n        let dropType;\r\n        const prevPercent = dropPrev ? (dropInner ? 0.25 : (dropNext ? 0.45 : 1)) : -1;\r\n        const nextPercent = dropNext ? (dropInner ? 0.75 : (dropPrev ? 0.55 : 0)) : 1;\r\n        \r\n        const distance = event.clientY - targetPosition.y;//targetPosition.top\r\n        if (distance < targetPosition.height * prevPercent) {\r\n          dropType = 'before';\r\n        } else if (distance > targetPosition.height * nextPercent) {\r\n          dropType = 'after';\r\n        } else if (dropInner) {\r\n          dropType = 'inner';\r\n        } else {\r\n          dropType = 'none';\r\n        }\r\n\r\n        // let indicatorTop = -9999;\r\n        // const iconPosition = dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect();\r\n        // const dropIndicator = this.$refs.dropIndicator;\r\n        // if (dropType === 'before') {\r\n        //   indicatorTop = iconPosition.top - treePosition.top;\r\n        // } else if (dropType === 'after') {\r\n        //   indicatorTop = iconPosition.bottom - treePosition.top;\r\n        // }\r\n        // dropIndicator.style.top = indicatorTop + 'px';\r\n        // dropIndicator.style.left = (iconPosition.right - treePosition.left) + 'px';\r\n\r\n        // if (dropType === 'inner') {\r\n        //   addClass(dropNode.$el, 'is-my-drop-inner');\r\n        // } else {\r\n        //   removeClass(dropNode.$el, 'is-my-drop-inner');\r\n        // }\r\n\r\n        dragState.showDropIndicator = dropType === 'before' || dropType === 'after';\r\n        dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;\r\n        dragState.dropType = dropType;\r\n        this.$emit('node-drag-over', draggingNode.node, dropNode.node, event);\r\n      };\r\n\r\n      const dragEnd = (event) => {\r\n        const { draggingNode, dropType, dropNode } = dragState;\r\n        event.preventDefault();\r\n        if(event.dataTransfer) {\r\n          event.dataTransfer.dropEffect = 'move';\r\n        }\r\n\r\n        if (draggingNode && dropNode) {\r\n          const draggingNodeCopy = { data: draggingNode.node.data };\r\n          if (dropType !== 'none') {\r\n            draggingNode.node.remove();\r\n          }\r\n          if (dropType === 'before') {\r\n            dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);\r\n          } else if (dropType === 'after') {\r\n            dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);\r\n          } else if (dropType === 'inner') {\r\n            dropNode.node.insertChild(draggingNodeCopy);\r\n          }\r\n          if (dropType !== 'none') {\r\n            this.store.registerNode(draggingNodeCopy);\r\n          }\r\n\r\n          removeClass(dropNode.$el, 'is-drop-inner');\r\n\r\n          this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event);\r\n          if (dropType !== 'none') {\r\n            this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event);\r\n          }\r\n        }\r\n        if (draggingNode && !dropNode) {\r\n          this.$emit('node-drag-end', draggingNode.node, null, dropType, event);\r\n        }\r\n\r\n        dragState.showDropIndicator = false;\r\n        dragState.draggingNode = null;\r\n        dragState.dropNode = null;\r\n        dragState.allowDrop = true;\r\n        this.dragOffset = {}\r\n      }\r\n\r\n      const getChildNodeIds = (nodeComponent) => {\r\n        let childIds = {};\r\n        if(nodeComponent && nodeComponent.$children && nodeComponent.$children.length) {\r\n          nodeComponent.$children.forEach(item => {\r\n            if(item) {\r\n              childIds[item.node.id] = true;\r\n              if(item.$children && item.$children.length) {\r\n                childIds = {\r\n                  ...childIds,\r\n                  ...getChildNodeIds(item),\r\n                }\r\n              }\r\n            }\r\n          })\r\n        }\r\n        return childIds;\r\n      }\r\n      \r\n      this.$on('tree-node-touchmove', (event, offset) => {\r\n        this.dragOffset = {\r\n          nodeId: offset.nodeId,\r\n          ...offset\r\n        };\r\n        \r\n        if(!dragState.draggingNode) {\r\n          this.dragState = {\r\n            ...this.dragState,\r\n            draggingNode: offset.nodeComponent\r\n          }\r\n        }\r\n        \r\n        try {\r\n          const dragY = offset.y;\r\n          const dragHalfHeight = parseInt(offset.height/2, 10);\r\n          const lastNode = this.root.childNodes[this.root.childNodes.length - 1];\r\n          const childNodeIds = getChildNodeIds(dragState.draggingNode);\r\n          this.nodesOffset.forEach((nodeOffset, index) => {\r\n            const targetY = nodeOffset.y || 0;\r\n            const targetHeight = nodeOffset.height || 0;\r\n            \r\n            if(\r\n              !childNodeIds[nodeOffset.nodeComponent.node.id] &&\r\n              dragY > targetY - dragHalfHeight && \r\n              dragY < targetY + targetHeight && \r\n              dragState.draggingNode.node.id !== nodeOffset.nodeComponent.node.id &&\r\n              (!this.isLastDragFixed || (this.isLastDragFixed && lastNode.id !== nodeOffset.nodeComponent.node.id)) // 不是最后一个\r\n            ) {\r\n              dragOver(nodeOffset.nodeComponent, {\r\n                ...event,\r\n                clientY: dragY,\r\n              });\r\n            }\r\n          })\r\n        } catch (error) {\r\n          \r\n        }\r\n      })\r\n\r\n      this.$on('tree-node-touchend', (event) => {\r\n        try {\r\n          dragEnd(event);\r\n          this.nodesOffset = [];\r\n        } catch (error) {\r\n          \r\n        }\r\n      })\r\n\r\n      this.$on('tree-node-offset', (offset) => {\r\n        this.nodesOffset.push(offset);\r\n      })\r\n      \r\n      this.$on('tree-node-drag-over', (event, treeNode) => {\r\n        this.dragOffset = {};\r\n        const dropNode = findNearestComponent(event.target, 'ElTreeNode');\r\n        const lastNode = this.root.childNodes[this.root.childNodes.length - 1];\r\n        const childNodeIds = getChildNodeIds(dragState.draggingNode);\r\n        if(\r\n          !childNodeIds[dropNode.node.id] && \r\n          !(this.isLastDragFixed && dropNode && lastNode.id === dropNode.node.id) && \r\n          dragState.draggingNode.node.id !== dropNode.node.id && \r\n          dropNode\r\n        ) {\r\n          dragOver(dropNode, event);\r\n        }\r\n      });\r\n\r\n      this.$on('tree-node-drag-end', (event) => {\r\n        dragEnd(event);\r\n      });\r\n    },\r\n\r\n    mounted() {\r\n      this.initTabIndex();\r\n      this.$el.addEventListener('keydown', this.handleKeydown);\r\n    },\r\n\r\n    updated() {\r\n      this.treeItems = this.$el.querySelectorAll('[role=treeitem]');\r\n      this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');\r\n    }\r\n  };\r\n</script>\r\n<style scoped lang=\"less\">\r\n\r\n.el-tree--highlight-current{\r\n  \r\n}\r\n.is-drop-not-allow{\r\n\r\n}\r\n.is-drop-inner{\r\n\r\n}\r\n.drag-copy-item{\r\n  background: #fff;\r\n  z-index: 2;\r\n  box-shadow: 0 2px 5px 0 rgba(0,0,0,.1);\r\n}\r\n.el-tree__drop-indicator{\r\n  opacity: 0;\r\n}\r\n\r\n.el-tree{}\r\n.el-tree__empty-block{}\r\n.el-tree__drop-indicator{}\r\n.el-tree__empty-text{}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/tree/src/tree.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"el-tree\",class:{\n    //'el-tree--highlight-current': highlightCurrent,\n    //'is-dragging': dragState.draggingNode ? true : false,\n    //'is-drop-not-allow': !dragState.allowDrop,\n    //'is-drop-inner': dragState.dropType === 'inner'\n  },attrs:{\"role\":\"tree\"}},[(_vm.dragOffset.nodeId && _vm.dragState.dropNode)?_c('el-tree-node',{key:_vm.getNodeKey(_vm.dragOffset.node) + (+ (new Date())),staticClass:\"drag-copy-item\",style:({\n      top: _vm.dragOffset.y + 'px', \n      left: _vm.dragOffset.x + 'px',\n      position: 'fixed',\n      width: _vm.dragOffset.width + 'px'\n    }),attrs:{\"node\":_vm.dragOffset.node,\"props\":_vm.props,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,\"render-content\":_vm.renderContent},on:{\"node-expand\":_vm.handleNodeExpand}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.root.childNodes),function(child,index){return _c('el-tree-node',{key:_vm.getNodeKey(child),attrs:{\"dropNodeId\":_vm.dragState.dropNode && _vm.dragState.dropNode.node && _vm.dragState.dropNode.node.id,\"dropType\":_vm.dragState.dropType,\"node\":child,\"props\":_vm.props,\"isLastItem\":index === _vm.root.childNodes.length - 1,\"render-after-expand\":_vm.renderAfterExpand,\"show-checkbox\":_vm.showCheckbox,\"render-content\":_vm.renderContent},on:{\"node-expand\":_vm.handleNodeExpand}})}),_vm._v(\" \"),(_vm.isEmpty)?_c('div',{staticClass:\"el-tree__empty-block\"},[_c('span',{staticClass:\"el-tree__empty-text\"},[_vm._v(_vm._s(_vm.emptyText))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragState.showDropIndicator),expression:\"dragState.showDropIndicator\"}],ref:\"dropIndicator\",staticClass:\"el-tree__drop-indicator\"})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-dc2ae92a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/tree/src/tree.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-dc2ae92a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./tree.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dc2ae92a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./tree.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-dc2ae92a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/tree/src/tree.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIzLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ0MS4wIC00MjEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxNy4wIDQwNC4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTI1LjM0MjUxNjc1MzUzODc5IDE3Ljg0NTEyMjg1OTI2OTM5NSkiPjxwYXRoIGQ9Ik0yMC4zNzIzMDA4LDUuNDg4ODQxMzQgQzIwLjM3MjMwMDgsMi40NTc2OTAxNSAxNy45MTUzOTA5LDAgMTQuODgzNDU5NSwwIEMxMi44OTE1NjAxLDAgMTEuMTQ3NzcwNCwxLjA2MTg3ODE5IDEwLjE4NTc2MDMsMi42NDk2MjQwNSBDOS4yMjQ1MzAzNywxLjA2MTg3ODE5IDcuNDc5OTYwNDcsMCA1LjQ4ODA2MTEyLDAgQzIuNDU2OTA5OTMsMCAwLDIuNDU3NjkwMTUgMCw1LjQ4ODg0MTM0IEMwLDEwLjg1Njc0ODcgMTAuMTg1NzYwMywxNy44NjE1NTU4IDEwLjE4NTc2MDMsMTcuODYxNTU1OCBDMTAuMTg1NzYwMywxNy44NjE1NTU4IDIwLjM3MjMwMDgsMTAuODU2NzQ4NyAyMC4zNzIzMDA4LDUuNDg4ODQxMzQgWiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/audio_collect.svg\n// module id = bTt7\n// module chunks = 171","var map = {\n\t\"./headimage1.png\": \"jc9e\",\n\t\"./headimage10.png\": \"RCRV\",\n\t\"./headimage11.png\": \"zDu4\",\n\t\"./headimage2.png\": \"h1Bl\",\n\t\"./headimage3.png\": \"la9E\",\n\t\"./headimage4.png\": \"CrZE\",\n\t\"./headimage5.png\": \"B4Uq\",\n\t\"./headimage6.png\": \"WxR8\",\n\t\"./headimage7.png\": \"bNf9\",\n\t\"./headimage8.png\": \"MT2U\",\n\t\"./headimage9.png\": \"mpvo\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"c2NV\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList ^\\.\\/headimage.*\\.png$\n// module id = c2NV\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMTMwIDExOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTMwIDExODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2NsaXAtcGF0aDp1cmwoI1NWR0lEXzJfKTt9DQoJLnN0MXtjbGlwLXBhdGg6dXJsKCNTVkdJRF80Xyk7fQ0KCS5zdDJ7ZmlsbDojNjNBRUQ0O30NCgkuc3Qze2NsaXAtcGF0aDp1cmwoI1NWR0lEXzZfKTt9DQoJLnN0NHtjbGlwLXBhdGg6dXJsKCNTVkdJRF84Xyk7fQ0KCS5zdDV7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMTBfKTt9DQoJLnN0NntjbGlwLXBhdGg6dXJsKCNTVkdJRF8xMl8pO30NCgkuc3Q3e2NsaXAtcGF0aDp1cmwoI1NWR0lEXzE0Xyk7fQ0KCS5zdDh7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMTZfKTt9DQoJLnN0OXtjbGlwLXBhdGg6dXJsKCNTVkdJRF8xOF8pO30NCgkuc3QxMHtjbGlwLXBhdGg6dXJsKCNTVkdJRF8yMF8pO30NCgkuc3QxMXtjbGlwLXBhdGg6dXJsKCNTVkdJRF8yMl8pO30NCgkuc3QxMntjbGlwLXBhdGg6dXJsKCNTVkdJRF8yNF8pO30NCgkuc3QxM3tjbGlwLXBhdGg6dXJsKCNTVkdJRF8yNl8pO30NCjwvc3R5bGU+DQo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDQ3LjAgLTc3LjApIj4NCgk8Zz4NCgkJPGRlZnM+DQoJCQk8cmVjdCBpZD0iU1ZHSURfMV8iIHdpZHRoPSIxMDI0IiBoZWlnaHQ9Ijc2OCIvPg0KCQk8L2RlZnM+DQoJCTxjbGlwUGF0aCBpZD0iU1ZHSURfMl8iPg0KCQkJPHVzZSB4bGluazpocmVmPSIjU1ZHSURfMV8iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz4NCgkJPC9jbGlwUGF0aD4NCgkJPGcgY2xhc3M9InN0MCI+DQoJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDcuMCA3Ny4wMDAwMDAwMDAwMDAwOSkiPg0KCQkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCA5LjApIj4NCgkJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMzQ0Njc3MDA4MTMzNzkzIDg2LjU3MTEyODM0ODY2MjE5KSI+DQoJCQkJCQk8Zz4NCgkJCQkJCQk8ZGVmcz4NCgkJCQkJCQkJPHBhdGggaWQ9IlNWR0lEXzNfIiBkPSJNMTcsMGMwLjUsMCwwLjksMC40LDAuOSwwLjlTMTcuNSwxLjgsMTcsMS44SDAuOUMwLjQsMS44LDAsMS40LDAsMC45UzAuNCwwLDAuOSwwSDE3eiIvPg0KCQkJCQkJCTwvZGVmcz4NCgkJCQkJCQk8Y2xpcFBhdGggaWQ9IlNWR0lEXzRfIj4NCgkJCQkJCQkJPHVzZSB4bGluazpocmVmPSIjU1ZHSURfM18iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz4NCgkJCQkJCQk8L2NsaXBQYXRoPg0KCQkJCQkJCTxnIGNsYXNzPSJzdDEiPg0KCQkJCQkJCQk8cG9seWdvbiBjbGFzcz0ic3QyIiBwb2ludHM9IjAsMCAxNy45LDAgMTcuOSwxLjggMCwxLjggCQkJCQkJCQkiLz4NCgkJCQkJCQk8L2c+DQoJCQkJCQk8L2c+DQoJCQkJCTwvZz4NCgkJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMuNzc4NDI2MzYyNjIxMzA5IDk0LjIyOTg2MTE1MTM2NjA3KSI+DQoJCQkJCQk8Zz4NCgkJCQkJCQk8ZGVmcz4NCgkJCQkJCQkJPHBhdGggaWQ9IlNWR0lEXzVfIiBkPSJNMjEuOSwwYzAuNSwwLDAuOSwwLjQsMC45LDAuOWMwLDAuNS0wLjQsMC45LTAuOSwwLjloLTYuM1YxMmMwLDAuNCwwLjMsMC43LDAuNywwLjdoMS4zDQoJCQkJCQkJCQljMi4xLDAsMy44LTEuNywzLjgtMy44VjcuM2MwLTAuNSwwLjQtMC45LDAuOS0wLjljMC41LDAsMC45LDAuNCwwLjksMC45djEuNmMwLDMuMS0yLjUsNS42LTUuNiw1LjZoLTEuMw0KCQkJCQkJCQkJYy0xLjQsMC0yLjUtMS4xLTIuNS0yLjVWMS44SDguNkM4LjUsOS4xLDYuMSwxMywxLjEsMTQuNWMtMC4xLDAtMC4yLDAtMC4zLDBjLTAuNCwwLTAuNy0wLjMtMC45LTAuNg0KCQkJCQkJCQkJYy0wLjEtMC41LDAuMS0xLDAuNi0xLjFjMi4yLTAuNywzLjctMS44LDQuNy0zLjdjMC45LTEuNywxLjQtNC4xLDEuNS03LjJIMS4yYy0wLjUsMC0wLjktMC40LTAuOS0wLjlDMC4zLDAuNCwwLjcsMCwxLjIsMA0KCQkJCQkJCQkJSDIxLjl6Ii8+DQoJCQkJCQkJPC9kZWZzPg0KCQkJCQkJCTxjbGlwUGF0aCBpZD0iU1ZHSURfNl8iPg0KCQkJCQkJCQk8dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF81XyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPg0KCQkJCQkJCTwvY2xpcFBhdGg+DQoJCQkJCQkJPGcgY2xhc3M9InN0MyI+DQoJCQkJCQkJCTxwb2x5Z29uIGNsYXNzPSJzdDIiIHBvaW50cz0iMCwwIDIzLjIsMCAyMy4yLDE0LjUgMCwxNC41IAkJCQkJCQkJIi8+DQoJCQkJCQkJPC9nPg0KCQkJCQkJPC9nPg0KCQkJCQk8L2c+DQoJCQkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDk1LjI2ODc3MjA1MTE3NTY1IDg2LjM2MDIzMjIzNzAzMjIpIj4NCgkJCQkJCTxnPg0KCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQk8cGF0aCBpZD0iU1ZHSURfN18iIGQ9Ik0wLjIsMC4zYzAuMy0wLjQsMC45LTAuNCwxLjMtMC4xbDIuOCwyLjVDNC42LDMsNC43LDMuNiw0LjMsNEM0LjIsNC4yLDMuOSw0LjMsMy43LDQuMw0KCQkJCQkJCQkJQzMuNSw0LjMsMy4yLDQuMiwzLjEsNEwwLjMsMS42Qy0wLjEsMS4yLTAuMSwwLjcsMC4yLDAuM3oiLz4NCgkJCQkJCQk8L2RlZnM+DQoJCQkJCQkJPGNsaXBQYXRoIGlkPSJTVkdJRF84XyI+DQoJCQkJCQkJCTx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzdfIiAgc3R5bGU9Im92ZXJmbG93OnZpc2libGU7Ii8+DQoJCQkJCQkJPC9jbGlwUGF0aD4NCgkJCQkJCQk8ZyBjbGFzcz0ic3Q0Ij4NCgkJCQkJCQkJPHBvbHlnb24gY2xhc3M9InN0MiIgcG9pbnRzPSIwLDAgNC42LDAgNC42LDQuMyAwLDQuMyAJCQkJCQkJCSIvPg0KCQkJCQkJCTwvZz4NCgkJCQkJCTwvZz4NCgkJCQkJPC9nPg0KCQkJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5My4wNzk0NjA2MjY2MDY5OSA5My4xMzI2NjUxMzIzNzA3KSI+DQoJCQkJCQk8Zz4NCgkJCQkJCQk8ZGVmcz4NCgkJCQkJCQkJPHBhdGggaWQ9IlNWR0lEXzlfIiBkPSJNNS4zLDBjMC41LDAsMC45LDAuNCwwLjksMC45djkuOWwxLjEtMC45QzcuNiw5LjYsOC4xLDkuNiw4LjUsMTBjMC4zLDAuNCwwLjMsMC45LTAuMSwxLjNsLTUuMSw0LjMNCgkJCQkJCQkJCWMtMC4yLDAuMS0wLjQsMC4yLTAuNiwwLjJjLTAuMiwwLTAuNS0wLjEtMC43LTAuM2MtMC4zLTAuNC0wLjMtMC45LDAuMS0xLjNsMi4yLTEuOVYxLjhIMC45QzAuNCwxLjgsMCwxLjQsMCwwLjkNCgkJCQkJCQkJCUMwLDAuNCwwLjQsMCwwLjksMEg1LjN6Ii8+DQoJCQkJCQkJPC9kZWZzPg0KCQkJCQkJCTxjbGlwUGF0aCBpZD0iU1ZHSURfMTBfIj4NCgkJCQkJCQkJPHVzZSB4bGluazpocmVmPSIjU1ZHSURfOV8iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz4NCgkJCQkJCQk8L2NsaXBQYXRoPg0KCQkJCQkJCTxnIGNsYXNzPSJzdDUiPg0KCQkJCQkJCQk8cG9seWdvbiBjbGFzcz0ic3QyIiBwb2ludHM9IjAsMCA4LjcsMCA4LjcsMTUuOCAwLDE1LjggCQkJCQkJCQkiLz4NCgkJCQkJCQk8L2c+DQoJCQkJCQk8L2c+DQoJCQkJCTwvZz4NCgkJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAyLjUxMjIwMjU2NjIyNTggODYuODUzODU4NzQ5Nzk3MTEpIj4NCgkJCQkJCTxnPg0KCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQk8cGF0aCBpZD0iU1ZHSURfMTFfIiBkPSJNNC4xLDBsMC4zLDBjMS45LDAsNCwwLDUuNiwwYzEuNCwwLDIuNCwxLjEsMi40LDIuNVY3YzAsMS40LTEuMSwyLjUtMi41LDIuNUgxLjh2MTAuMg0KCQkJCQkJCQkJYzAsMC40LDAuMywwLjcsMC43LDAuN2g1LjZjMi4xLDAsMy44LTEuNywzLjgtMy44di0xLjZjMC0wLjUsMC40LTAuOSwwLjktMC45YzAuNSwwLDAuOSwwLjQsMC45LDAuOXYxLjYNCgkJCQkJCQkJCWMwLDMuMS0yLjUsNS42LTUuNiw1LjZIMi41QzEuMSwyMi4xLDAsMjEsMCwxOS42VjguNmMwLTAuNSwwLjQtMC45LDAuOS0wLjloOWMwLjQsMCwwLjctMC4zLDAuNy0wLjdWMi41DQoJCQkJCQkJCQljMC0wLjQtMC4zLTAuNy0wLjctMC43Yy0yLjMsMC00LjIsMC01LjcsMGwtMS4xLDBjLTEuMSwwLTEuOCwwLTIsMEMwLjcsMS45LDAuMywxLjcsMC4xLDEuNEMtMC4xLDEsMCwwLjQsMC40LDAuMg0KCQkJCQkJCQkJYzAsMCwwLDAsMC4xLDBsMCwwQzAuNywwLDEsMCwyLjMsMEw0LjEsMHoiLz4NCgkJCQkJCQk8L2RlZnM+DQoJCQkJCQkJPGNsaXBQYXRoIGlkPSJTVkdJRF8xMl8iPg0KCQkJCQkJCQk8dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8xMV8iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz4NCgkJCQkJCQk8L2NsaXBQYXRoPg0KCQkJCQkJCTxnIGNsYXNzPSJzdDYiPg0KCQkJCQkJCQk8cG9seWdvbiBjbGFzcz0ic3QyIiBwb2ludHM9IjAsMCAxMy43LDAgMTMuNywyMi4xIDAsMjIuMSAJCQkJCQkJCSIvPg0KCQkJCQkJCTwvZz4NCgkJCQkJCTwvZz4NCgkJCQkJPC9nPg0KCQkJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NS43MjQ5MDAwOTAwODA3NjYgODYuNDE3NDYwNDYyMDQ5NzIpIj4NCgkJCQkJCTxnPg0KCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQk8cGF0aCBpZD0iU1ZHSURfMTNfIiBkPSJNMTYuMSwwYzEuNCwwLDIuNSwxLjEsMi41LDIuNVYyMGMwLDEuNC0xLjEsMi41LTIuNSwyLjVIMi41QzEuMSwyMi41LDAsMjEuNCwwLDIwVjIuNQ0KCQkJCQkJCQkJQzAsMS4xLDEuMSwwLDIuNSwwSDE2LjF6IE0xNi4xLDEuOEgyLjVjLTAuNCwwLTAuNywwLjMtMC43LDAuN1YyMGMwLDAuNCwwLjMsMC43LDAuNywwLjdoMTMuNmMwLjQsMCwwLjctMC4zLDAuNy0wLjdWMi41DQoJCQkJCQkJCQlDMTYuOCwyLjEsMTYuNSwxLjgsMTYuMSwxLjh6Ii8+DQoJCQkJCQkJPC9kZWZzPg0KCQkJCQkJCTxjbGlwUGF0aCBpZD0iU1ZHSURfMTRfIj4NCgkJCQkJCQkJPHVzZSB4bGluazpocmVmPSIjU1ZHSURfMTNfIiAgc3R5bGU9Im92ZXJmbG93OnZpc2libGU7Ii8+DQoJCQkJCQkJPC9jbGlwUGF0aD4NCgkJCQkJCQk8ZyBjbGFzcz0ic3Q3Ij4NCgkJCQkJCQkJPHBvbHlnb24gY2xhc3M9InN0MiIgcG9pbnRzPSIwLDAgMTguNiwwIDE4LjYsMjIuNSAwLDIyLjUgCQkJCQkJCQkiLz4NCgkJCQkJCQk8L2c+DQoJCQkJCQk8L2c+DQoJCQkJCTwvZz4NCgkJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTguNjEzMTczNzExNjkxNTMgOTUuMjUxODgwNjA3NTk3MDMpIj4NCgkJCQkJCTxnPg0KCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQk8cGF0aCBpZD0iU1ZHSURfMTVfIiBkPSJNMCwwLjdDMC4xLDAuMiwwLjYtMC4xLDEuMSwwbDExLjIsMi41YzAuNSwwLjEsMC44LDAuNiwwLjcsMS4xYy0wLjEsMC40LTAuNSwwLjctMC45LDAuNw0KCQkJCQkJCQkJYy0wLjEsMC0wLjEsMC0wLjIsMEwwLjcsMS44QzAuMiwxLjYtMC4xLDEuMiwwLDAuN3oiLz4NCgkJCQkJCQk8L2RlZnM+DQoJCQkJCQkJPGNsaXBQYXRoIGlkPSJTVkdJRF8xNl8iPg0KCQkJCQkJCQk8dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8xNV8iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz4NCgkJCQkJCQk8L2NsaXBQYXRoPg0KCQkJCQkJCTxnIGNsYXNzPSJzdDgiPg0KCQkJCQkJCQk8cG9seWdvbiBjbGFzcz0ic3QyIiBwb2ludHM9IjAsMCAxMywwIDEzLDQuMyAwLDQuMyAJCQkJCQkJCSIvPg0KCQkJCQkJCTwvZz4NCgkJCQkJCTwvZz4NCgkJCQkJPC9nPg0KCQkJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgOTUuNTgzMjAzMjM2MjU4NTYpIj4NCgkJCQkJCTxnPg0KCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQk8Y2lyY2xlIGlkPSJTVkdJRF8xN18iIGN4PSIxLjYiIGN5PSIxLjYiIHI9IjEuNiIvPg0KCQkJCQkJCTwvZGVmcz4NCgkJCQkJCQk8Y2xpcFBhdGggaWQ9IlNWR0lEXzE4XyI+DQoJCQkJCQkJCTx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzE3XyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPg0KCQkJCQkJCTwvY2xpcFBhdGg+DQoJCQkJCQkJPGcgY2xhc3M9InN0OSI+DQoJCQkJCQkJCTxwb2x5Z29uIGNsYXNzPSJzdDIiIHBvaW50cz0iMCwwIDMuMiwwIDMuMiwzLjIgMCwzLjIgCQkJCQkJCQkiLz4NCgkJCQkJCQk8L2c+DQoJCQkJCQk8L2c+DQoJCQkJCTwvZz4NCgkJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTI2LjgzOTUzMTg2NDc3NDIgOTUuNTgzMjAzMjM2MjU4NTYpIj4NCgkJCQkJCTxnPg0KCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQk8Y2lyY2xlIGlkPSJTVkdJRF8xOV8iIGN4PSIxLjYiIGN5PSIxLjYiIHI9IjEuNiIvPg0KCQkJCQkJCTwvZGVmcz4NCgkJCQkJCQk8Y2xpcFBhdGggaWQ9IlNWR0lEXzIwXyI+DQoJCQkJCQkJCTx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzE5XyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPg0KCQkJCQkJCTwvY2xpcFBhdGg+DQoJCQkJCQkJPGcgY2xhc3M9InN0MTAiPg0KCQkJCQkJCQk8cG9seWdvbiBjbGFzcz0ic3QyIiBwb2ludHM9IjAsMCAzLjIsMCAzLjIsMy4yIDAsMy4yIAkJCQkJCQkJIi8+DQoJCQkJCQkJPC9nPg0KCQkJCQkJPC9nPg0KCQkJCQk8L2c+DQoJCQkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQwLjMwODgwODEyNTkyNzk5NiAtNy4xMDU0MjczNTc2MDEwMDJlLTE1KSI+DQoJCQkJCQk8Zz4NCgkJCQkJCQk8ZGVmcz4NCgkJCQkJCQkJPHJlY3QgaWQ9IlNWR0lEXzIxXyIgeD0iMCIgd2lkdGg9IjQ5LjQiIGhlaWdodD0iNjcuOSIvPg0KCQkJCQkJCTwvZGVmcz4NCgkJCQkJCQk8Y2xpcFBhdGggaWQ9IlNWR0lEXzIyXyI+DQoJCQkJCQkJCTx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzIxXyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPg0KCQkJCQkJCTwvY2xpcFBhdGg+DQoJCQkJCQkJPGcgY2xhc3M9InN0MTEiPg0KCQkJCQkJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgLTIuOTYyOTM4ODc5MTM2MzQ1M2UtMDUpIj4NCgkJCQkJCQkJCTxnPg0KCQkJCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQkJCQk8cGF0aCBpZD0iU1ZHSURfMjNfIiBkPSJNMzEuNSwwYzEuMSwwLDIuMiwwLjgsMi40LDJjMCwwLjEsMC4xLDAuMywwLjEsMC40djExLjhsMTIuMy0zLjNjMC4yLTAuMSwwLjQtMC4xLDAuNi0wLjENCgkJCQkJCQkJCQkJCWMxLjMsMCwyLjQsMS4xLDIuNCwyLjR2NDIuOGMwLDEuOS0xLjMsMy42LTMuMSw0LjFsLTI3LjgsNy42Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMS4zLDAtMi40LTEuMS0yLjQtMi40VjUzLjYNCgkJCQkJCQkJCQkJCUwzLjEsNTYuOUMyLjksNTcsMi43LDU3LDIuNCw1N0MxLjEsNTcsMCw1NiwwLDU0LjZ2LTQzQzAsOS43LDEuMyw4LDMuMSw3LjVsMjcuNy03LjRDMzEuMSwwLDMxLjMsMCwzMS41LDB6IE00Ni45LDEyLjcNCgkJCQkJCQkJCQkJCUw0Ni45LDEyLjdsLTAuMiwwTDE5LDIwLjJjLTEsMC4zLTEuOCwxLjItMS44LDIuM3Y0M2MwLDAuNCwwLjMsMC42LDAuNiwwLjZjMC4xLDAsMC4xLDAsMC4yLDBsMjcuOC03LjYNCgkJCQkJCQkJCQkJCWMxLTAuMywxLjctMS4yLDEuNy0yLjNWMTMuM0M0Ny41LDEyLjksNDcuMiwxMi43LDQ2LjksMTIuN3ogTTMyLjEsMi40QzMyLjEsMi40LDMyLjEsMi40LDMyLjEsMi40TDIwLjEsMTcuOWwxMi0zLjINCgkJCQkJCQkJCQkJCUwzMi4xLDIuNEMzMi4xLDIuNCwzMi4xLDIuNCwzMi4xLDIuNHoiLz4NCgkJCQkJCQkJCQk8L2RlZnM+DQoJCQkJCQkJCQkJPGNsaXBQYXRoIGlkPSJTVkdJRF8yNF8iPg0KCQkJCQkJCQkJCQk8dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8yM18iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz4NCgkJCQkJCQkJCQk8L2NsaXBQYXRoPg0KCQkJCQkJCQkJCTxnIGNsYXNzPSJzdDEyIj4NCgkJCQkJCQkJCQkJPHBvbHlnb24gY2xhc3M9InN0MiIgcG9pbnRzPSIwLDAgNDkuNCwwIDQ5LjQsNjcuOSAwLDY3LjkgCQkJCQkJCQkJCQkiLz4NCgkJCQkJCQkJCQk8L2c+DQoJCQkJCQkJCQk8L2c+DQoJCQkJCQkJCTwvZz4NCgkJCQkJCQk8L2c+DQoJCQkJCQk8L2c+DQoJCQkJCTwvZz4NCgkJCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAuOTg1MDI1MjMwOTQzNzggMzcuNjIyODY0NTI4MjgwNzMpIj4NCgkJCQkJCTxnPg0KCQkJCQkJCTxkZWZzPg0KCQkJCQkJCQk8cGF0aCBpZD0iU1ZHSURfMjVfIiBkPSJNMjIuNSwwYzAuNSwwLDAuOSwwLjQsMC45LDAuOWMwLDAuNS0wLjQsMC45LTAuOSwwLjlIMC45QzAuNCwxLjksMCwxLjQsMCwwLjlDMCwwLjQsMC40LDAsMC45LDANCgkJCQkJCQkJCUgyMi41eiIvPg0KCQkJCQkJCTwvZGVmcz4NCgkJCQkJCQk8Y2xpcFBhdGggaWQ9IlNWR0lEXzI2XyI+DQoJCQkJCQkJCTx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzI1XyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPg0KCQkJCQkJCTwvY2xpcFBhdGg+DQoJCQkJCQkJPGcgY2xhc3M9InN0MTMiPg0KCQkJCQkJCQk8cG9seWdvbiBjbGFzcz0ic3QyIiBwb2ludHM9IjAsMCAyMy41LDAgMjMuNSwxLjkgMCwxLjkgCQkJCQkJCQkiLz4NCgkJCQkJCQk8L2c+DQoJCQkJCQk8L2c+DQoJCQkJCTwvZz4NCgkJCQk8L2c+DQoJCQk8L2c+DQoJCTwvZz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo.svg\n// module id = cH+4\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI2cHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDI2LjAgMjYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMC45OTU0MjEyNCwwIEMxLjU0NTE3NzIxLC0xLjAwOTg4NTMzZS0xNiAxLjk5MDg0MjQ4LDAuNDQ1NjY1MjY5IDEuOTkwODQyNDgsMC45OTU0MjEyNCBMMS45OTA4NDI0OCwyMS4wMDQ1Nzg4IEMxLjk5MDg0MjQ4LDIxLjU1NDMzNDcgMS41NDUxNzcyMSwyMiAwLjk5NTQyMTI0LDIyIEMwLjQ0NTY2NTI2OSwyMiA2LjczMjU2ODg5ZS0xNywyMS41NTQzMzQ3IDAsMjEuMDA0NTc4OCBMMCwwLjk5NTQyMTI0IEMtMi44OTM3MDI5NGUtMTYsMC40NDU2NjUyNjkgMC40NDU2NjUyNjksMS4wMDk4ODUzM2UtMTYgMC45OTU0MjEyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iaTIiIHgxPSIwLjM5Mjk2MzI4OXB4IiB5MT0iMi40NjUxOTY5OHB4IiB4Mj0iMS41NDIyMzM1MXB4IiB5Mj0iMjAuMzg1MDkwNnB4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QSIgb2Zmc2V0PSIwJSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDc0NkEiIG9mZnNldD0iMTAwJSI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00OTguMCAtNDg4LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5Mi43ODE5NTkwMjkwNjAwOSAxNDIuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3Mi43MTgwNDA5NzA5Mzk5IDMxNy40NTIwNTc0MTM1OTIyMykiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzMy4wIDI5LjM5MzE0MDQzMTAzODU0KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy45OTE0OTg1MjUyNzk4OTQyIDEuOTg1ODQzOTY2NTg5NTI3NikiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEuOTkwODQyNDgsMCAxLjk5MDg0MjQ4LDIyIDAsMjIgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InVybCgjaTIpIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNS45ODIzNDEwMDQ4MTU2OCAxLjk4NTg0Mzk2NjU4OTUyNzYpIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAxLjk5MDg0MjQ4LDAgMS45OTA4NDI0OCwyMiAwLDIyIDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSJ1cmwoI2kyKSI+PC9wb2x5Z29uPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tip_detail_pause.svg\n// module id = cc+o\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDMyLjAgMzIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNOC45NDE2ODYzLDEuMTEyOTczMTkgTDguOTQxNjg2MywxMy40NTAzMDgzIEM4Ljk0MTY4NjMsMTQuMjk0OTY4OSA4LjAzNDY2ODI1LDE0LjgzMTYyMTIgNy4yOTM5MzY4NCwxNC40MjM0NjMxIEw0LjQ1MzgzNjU2LDExLjMzMjA0MzIgTDEuODA4MzY3MjQsMTAuNzgwMjczOSBDMC43NTM5NTg3NTYsMTAuNTYxMDc3OSAwLDkuNjMzMjc0MDEgMCw4LjU1NjE5MDA4IEwwLDYuNzc0Mjc3NTMgQzAsNS44MDY3OTE2MSAwLjYxMjIzNzE4NSw0Ljk0NTEyNDQ2IDEuNTI2ODEzNzIsNC42Mjc2NjgxNCBMNC40NzA4NDMxNSwzLjYwNTM4MzIxIEw3LjE5OTQ1NTc5LDAuMTk4Mzk2NjUgQzcuOTM2NDA3OTYsLTAuMzA5OTExMzgzIDguOTQxNjg2MywwLjIxNzI5Mjg1OSA4Ljk0MTY4NjMsMS4xMTI5NzMxOSBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxNS4wIC01MTkuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkzLjAgNDA0LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjMuMjg4MTYwODMzOTUyMTMgMTE2LjI4ODE2MDgzMzk1Mzk1KSI+PHBhdGggZD0iTTE0LjcxMzMyODQsMCBDNi41ODcwNDM5MywwIDAsNi41ODc3NzQxMiAwLDE0LjcxMzMyODQgQzAsMjIuODM5NjEyOCA2LjU4NzA0MzkzLDI5LjQyNjY1NjcgMTQuNzEzMzI4NCwyOS40MjY2NTY3IEMyMi44Mzk2MTI4LDI5LjQyNjY1NjcgMjkuNDI2NjU2NywyMi44Mzk2MTI4IDI5LjQyNjY1NjcsMTQuNzEzMzI4NCBDMjkuNDI2NjU2Nyw2LjU4Nzc3NDEyIDIyLjgzOTYxMjgsMCAxNC43MTMzMjg0LDAiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2LjcyODM0OTkzMjU3MzExIDcuODc0NTA3NDY5NDE1MjIyKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDYuOTM4ODkzOWUtMTYgOC45NDE2ODYzLDYuOTM4ODkzOWUtMTYgOC45NDE2ODYzLDE0LjU2Mjk0OCAwLDE0LjU2Mjk0OCAwLDYuOTM4ODkzOWUtMTYiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkuMDYyMDk0NzgzMzU0MDQgMTAuNTkwMDY4MTc2MjI0NTgpIj48cGF0aCBkPSJNMCw5LjEzMjUzODAxIEMxLjU4NTM5MTk3LDguMjE5ODUxMSAyLjY2NjI1NTE1LDYuNTI2NzUwNzMgMi42NjYyNTUxNSw0LjU2NTMyNDIgQzIuNjY2MjU1MTUsMi42MDM4OTc2NiAxLjU4NTM5MTk3LDAuOTEyNjg2OTE1IDAsMCIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/audio_volume.svg\n// module id = cmuL\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white bg-white-subpage\" ref=\"problemSolvingRef\">\r\n    <!-- icon + 问题解决 -->\r\n    <div class=\"title box-content-name\"\r\n      style=\"cursor: pointer\"\r\n      @click=\"back\">\r\n      <img class=\"full_page_eye\"\r\n        src=\"/static/img/thinking.svg\" />\r\n      <span v-if=\"app_type == 2\">本课问题解决</span>\r\n      <span v-else>问题解决</span>\r\n    </div>\r\n    <el-container class=\"content-box\">\r\n      <el-aside>\r\n\r\n        <!-- 中间大盒子: 3. + < + span -->\r\n        <div class=\"big_box\"\r\n          id=\"problemSolveSide\">\r\n          <!-- '<' -->\r\n          <img src=\"@/assets/img/problem_back.svg\"\r\n            @click=\"back\"\r\n            style=\"cursor: pointer\" />\r\n          <div class=\"title_content\">\r\n            <div class=\"num\">{{ moralComprehend.index }}.</div>\r\n            <span id=\"problemSolveTitle\" class=\"title prewrap-content\">{{ moralComprehend.course_question_title }}</span>\r\n            <div class=\"status\"\r\n              :class=\"problemSolve.status === 1 ? 'status1' : ''\">\r\n              {{ problemSolve.status === 1 ? \"已解决\" : \"待解决\" }}\r\n            </div>\r\n            <div v-if=\"problemSolveTitleLines >= 14\" class=\"problemSolveTitleLayer\"></div>\r\n          </div>\r\n        </div>\r\n      </el-aside>\r\n      <el-main class=\"content\"\r\n        id=\"problemSolveContent\"\r\n        :class=\"problemSolve.status === 1 ? 'content1' : ''\">\r\n        <div class=\"progress\"\r\n          id=\"moralContent\">\r\n          <el-steps direction=\"vertical\"\r\n            space=\"0%\">\r\n            <el-step class=\"st_1 moral\"\r\n              :class=\"courseIsuseradd == 3 ? 'st_1_shili' : ''\"\r\n              id=\"moral\"\r\n              ref=\"moralRef\">\r\n              <i slot=\"icon\"></i>\r\n              <div slot=\"title\"\r\n                class=\"title\">道理上的理解</div>\r\n              <div class=\"moral_content\"\r\n                slot=\"description\">\r\n                <div class=\"moral_operate\"\r\n                  v-if=\"\r\n                    problemSolve.course_solve_isuseradd === 1 &&\r\n                    courseIsuseradd != 3\r\n                  \">\r\n                  <div class=\"operate_img moral_edit\" :class=\"problemSolve.status === 1 ? 'operate_img_done' : ''\">\r\n                    <img v-if=\"problemSolve.status === 1\" src=\"@/assets/img/moral_edit_done.svg\"\r\n                      v-throttle=\"[edit, `click`, 300, [1]]\"/>\r\n                    <img v-else src=\"@/assets/img/moral_edit.svg\"\r\n                      v-throttle=\"[edit, `click`, 300, [1]]\"/>\r\n                  </div>\r\n                  <div class=\"operate_img\">\r\n                    <img v-if=\"problemSolve.status === 1\" src=\"@/assets/img/moral_del_done.svg\"\r\n                      @click=\"showDel\" />\r\n                    <img v-else src=\"@/assets/img/moral_del.svg\"\r\n                      @click=\"showDel\" />\r\n                  </div>\r\n                </div>\r\n                <!-- {{ problemSolve.course_solve_content }} -->\r\n                <div class=\"wrapper\"\r\n                  ref=\"wrapper\"\r\n                  style=\"position: relative; width: 100%\">\r\n                  <div id=\"root\"\r\n                    style=\"\r\n                      word-break: break-all;\r\n                      width: 100%;\r\n                      min-width: 469px;\r\n                      white-space: pre-wrap;\r\n                    \"></div>\r\n                </div>\r\n              </div>\r\n            </el-step>\r\n            <div class=\"truth_box\">\r\n              <el-step class=\"st_1\" :class=\"[courseIsuseradd == 3 ? 'st_1_shili' : '', courseIsuseradd == 3 && selectData && selectData.course_solve_cuowu && selectData.course_solve_cuowu.length ? '' : 'st_3_shili']\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"\r\n                  class=\"title truth\">事实上的理解</div>\r\n                <div slot=\"description\"></div>\r\n              </el-step>\r\n              <el-step class=\"st_2\"\r\n                :class=\"[courseIsuseradd == 3 ? 'st_2_shili' : '', courseIsuseradd == 3 && selectData && selectData.course_solve_cuowu && selectData.course_solve_cuowu.length ? '' : 'st_3_shili', selectData && selectData.course_solve_id == item.course_solve_id ? 'addProblemSolve' : '']\"\r\n                v-for=\"(item, index) in problemSolve.course_solve_shishi\"\r\n                :key=\"'shishi' + index\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"></div>\r\n                <div slot=\"description\"\r\n                  class=\"truth_card\">\r\n                  <el-card v-if=\"selectData && selectData.course_solve_id == item.course_solve_id\">\r\n                    <el-input\r\n                      type=\"textarea\"\r\n                      :ref=\"'edittextarea' + item.course_solve_id\"\r\n                      :id=\"'edittextarea' + item.course_solve_id\"\r\n                      :autosize=\"{ minRows: 1 }\"\r\n                      :resize=\"'none'\"\r\n                      class=\"preserve-indent\"\r\n                      v-model=\"course_solve_content\"\r\n                    ></el-input>\r\n                    <span class=\"addBtn\" @click=\"saveEdit\">保存</span>\r\n                    <span class=\"addBtn saveDel\" @click=\"saveDel\">删除</span>\r\n                  </el-card>\r\n                  <el-card v-else>\r\n                    <span @click=\"editNode(item, 2)\" class=\"truth_content prewrap-content\">{{ item.course_solve_content }}</span>\r\n                  </el-card>\r\n                </div>\r\n              </el-step>\r\n              <el-step class=\"st_2\"\r\n                :class=\"[courseIsuseradd == 3 ? 'st_2_shili' : '', 'addProblemSolve']\"\r\n                v-if=\"addProblemSolve && course_solve_type == 2\"\r\n                :key=\"'shishiAddKey'\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"></div>\r\n                <div slot=\"description\"\r\n                  class=\"truth_card\"\r\n                  >\r\n                  <el-card>\r\n                    <!-- <span class=\"truth_content prewrap-content\">{{ item.course_solve_content }}</span> -->\r\n                    <el-input\r\n                      type=\"textarea\"\r\n                      :ref=\"'shishiAdd'\"\r\n                      :id=\"'shishiAdd'\"\r\n                      :autosize=\"{ minRows: 1 }\"\r\n                      :resize=\"'none'\"\r\n                      class=\"preserve-indent\"\r\n                      v-model=\"course_solve_content\"\r\n                      style=\"min-height: 30px !important\"\r\n\r\n                    ></el-input>\r\n                    <span class=\"addBtn\" @click=\"saveAdd(2)\">保存</span>\r\n                    <p style=\"opacity: 0; height: 0\">{{ course_solve_content }}</p>\r\n                  </el-card>\r\n                </div>\r\n              </el-step>\r\n              <el-step class=\"st_3\"\r\n                v-if=\"courseIsuseradd != 3\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"></div>\r\n                <div slot=\"description\">\r\n                  <span class=\"addStep\"\r\n                    @click=\"addUserQuestionSolveShow(2)\">\r\n                    <img src=\"@/assets/img/add.svg\"\r\n                      alt=\"\" />\r\n                  </span>\r\n                </div>\r\n              </el-step>\r\n              <el-step class=\"st_1\" :class=\"[courseIsuseradd == 3 ? 'st_1_shili' : '']\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"\r\n                  class=\"title\">摆脱错误观念</div>\r\n                <div slot=\"description\"></div>\r\n              </el-step>\r\n              <el-step class=\"st_2\"\r\n                :class=\"[courseIsuseradd == 3 ? 'st_2_shili' : '', selectData && selectData.course_solve_id == item.course_solve_id ? 'addProblemSolve' : '']\"\r\n                v-for=\"(item, index) in problemSolve.course_solve_cuowu\"\r\n                :key=\"'cuowu' + index\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"></div>\r\n                <div slot=\"description\"\r\n                  class=\"truth_card\"\r\n                  >\r\n                  <el-card v-if=\"selectData && selectData.course_solve_id == item.course_solve_id\">\r\n                    <el-input\r\n                      type=\"textarea\"\r\n                      :ref=\"'edittextarea' + item.course_solve_id\"\r\n                      :id=\"'edittextarea' + item.course_solve_id\"\r\n                      :autosize=\"{ minRows: 1 }\"\r\n                      :resize=\"'none'\"\r\n                      class=\"preserve-indent\"\r\n                      v-model=\"course_solve_content\"\r\n                    ></el-input>\r\n                    <span class=\"addBtn\" @click=\"saveEdit\">保存</span>\r\n                    <span class=\"addBtn saveDel\" @click=\"saveDel\">删除</span>\r\n                  </el-card>\r\n                  <el-card v-else>\r\n                    <span @click=\"editNode(item, 3)\" class=\"truth_content prewrap-content\">{{ item.course_solve_content }}</span>\r\n                  </el-card>\r\n                </div>\r\n              </el-step>\r\n              <el-step class=\"st_2\"\r\n                :class=\"[courseIsuseradd == 3 ? 'st_2_shili' : '', 'addProblemSolve']\"\r\n                v-if=\"addProblemSolve && course_solve_type == 3\"\r\n                :key=\"'cuowuAddKey'\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"></div>\r\n                <div slot=\"description\"\r\n                  class=\"truth_card\"\r\n                  >\r\n                  <el-card>\r\n                    <!-- <span class=\"truth_content prewrap-content\">{{ item.course_solve_content }}</span> -->\r\n                    <el-input\r\n                      type=\"textarea\"\r\n                      :ref=\"'cuowuAdd'\"\r\n                      :id=\"'cuowuAdd'\"\r\n                      :autosize=\"{ minRows: 1 }\"\r\n                      :resize=\"'none'\"\r\n                      class=\"preserve-indent\"\r\n                      v-model=\"course_solve_content\"\r\n                      style=\"min-height: 30px !important\"\r\n\r\n                    ></el-input>\r\n                    <span class=\"addBtn\" @click=\"saveAdd(3)\">保存</span>\r\n                    <p style=\"opacity: 0; height: 0\">{{ course_solve_content }}</p>\r\n                  </el-card>\r\n                </div>\r\n              </el-step>\r\n              <el-step class=\"st_3\"\r\n                v-if=\"courseIsuseradd != 3\">\r\n                <i slot=\"icon\"></i>\r\n                <div slot=\"title\"></div>\r\n                <div slot=\"description\">\r\n                  <span class=\"addStep\"\r\n                    @click=\"addUserQuestionSolveShow(3)\">\r\n                    <img src=\"@/assets/img/add.svg\"\r\n                      alt=\"\" />\r\n                  </span>\r\n                </div>\r\n              </el-step>\r\n            </div>\r\n          </el-steps>\r\n        </div>\r\n        <ProblemSolvingDialog ref=\"problemSolvingDialog\"\r\n          v-if=\"dialogVisible\"\r\n          :dialogVisible=\"dialogVisible\"\r\n          :title=\"title\"\r\n          :course_solve_type=\"course_solve_type\"\r\n          :course_solve_isuseradd=\"course_solve_isuseradd\"\r\n          :data=\"selectData\"\r\n          :isEdit=\"isEdit\"\r\n          @addUserQuestionSolveSuc=\"addUserQuestionSolve1\"\r\n          @handleClose=\"handleClose\"\r\n          @del=\"del\" />\r\n      </el-main>\r\n    </el-container>\r\n\r\n    <el-dialog class=\"del_dialog\"\r\n      title=\"\"\r\n      :visible.sync=\"dialogDelVisible\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :append-to-body=\"true\"\r\n      top=\"0vh\"\r\n      center>\r\n      <div style=\"text-align: center\">\r\n        确定删除当前问题解决板块？\r\n      </div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer del-footer\">\r\n        <el-button @click=\"dialogDelVisible = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\"\r\n          type=\"primary\"\r\n          v-loading=\"loading\"\r\n          v-throttle=\"[delUserQuestionSolve, `click`, 300, [1, problemSolve.course_solve_id]]\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n    <el-dialog\r\n      class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">当前内容与服务器不一致，确定保存当前内容？</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleCon = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\" v-throttle=\"[submitCon]\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport ProblemSolvingDialog from \"./ProblemSolvingDialog.vue\";\r\nimport { measure, getLines } from \"@/utils/util\";\r\nimport {\r\n  getQuestionSolve,\r\n  delUserQuestionSolve,\r\n  getQuestionList,\r\n  getUserCourseProgress,\r\n  addUserQuestionSolve,\r\n  editUserQuestionSolve\r\n} from \"@/api/index\";\r\nimport { Base64 } from \"js-base64\";\r\n\r\nexport default {\r\n  components: { ProblemSolvingDialog },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      truthBoxHeight: 0,\r\n      progress_solve_question_ids: \"\",\r\n      course_solve_isuseradd: 1, //是否是用户添加1是2否\r\n      course_solve_type: 2, //类型1=道理上的理解2=事实上的理解3=摆脱错误观念\r\n      dialogVisible: false,\r\n      isEdit: false,\r\n      course_solve_content: \"\",\r\n      title: \"\",\r\n      truthBoxStyle: {},\r\n      selectData: {},\r\n      dialogDelVisible: false,\r\n      fold: true,\r\n      unfoldText: \"展开\",\r\n      foldText: \"收起\",\r\n      ellipsisStr: \"...\",\r\n      text: \"css实现最多展示三行，展示不开用省略号表示，省略号和展开按钮有渐变背景色盖住底下文案。css实现最多展示三行，展示不开用省略号表示，省略号和展开按钮有渐变背景色盖住底下文案。css实现最多展示三行，展示不开用省略号表示，省略号和展开按钮有渐变背景色盖住底下文案。\",\r\n      root: null,\r\n      moral: null,\r\n      isActivated: true,\r\n      app_type: 1,\r\n      loading: false,\r\n      addProblemSolve: false,\r\n      course_solve_content: \"\",\r\n      confirmData: {},\r\n      dialogVisibleCon: false,\r\n      problemSolveTitleLines: 0\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    problemSolve() {\r\n      return this.$store.getters.problemSolve;\r\n    },\r\n    moralComprehend() {\r\n      return this.$store.getters.moralComprehend;\r\n    },\r\n    problemSolveList() {\r\n      return this.$store.getters.problemSolveList;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n  },\r\n  watch: {\r\n    moralComprehend: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"moralComprehend:\", newVal);\r\n        let timeout = null;\r\n        timeout = setTimeout(() => {\r\n          this.$nextTick(() => {\r\n            this.addProblemSolveTitleLayer();\r\n            clearTimeout(timeout);\r\n          });\r\n        }, 500);\r\n      },\r\n      immediate: true\r\n    },\r\n    problemSolve: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"problemSolve:\", newVal, this.$route);\r\n        let timeout = null;\r\n        timeout = setTimeout(() => {\r\n          this.$nextTick(() => {\r\n            let root = document.getElementById(\"root\");\r\n            if(root) {\r\n              const course_solve_content = this.problemSolve.course_solve_content;\r\n              let result = measure(\r\n                root,\r\n                3,\r\n                course_solve_content,\r\n                this.unfoldText,\r\n                this.ellipsisStr\r\n              );\r\n              this.renderRealContext(result);\r\n              clearTimeout(timeout);\r\n            }\r\n\r\n          });\r\n        }, 200);\r\n      },\r\n      immediate: true\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"courseProgress:\", this.courseProgress);\r\n        this.progress_solve_question_ids = v.progress_solve_question_ids || \"\";\r\n      },\r\n    },\r\n    problemSolveList: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"problemSolveList:\", this.problemSolveList);\r\n        this.problemSolveList.forEach((item) => {\r\n          if (item.course_solve_id === this.problemSolve.course_solve_id) {\r\n            this.$store.dispatch(\"setProblemSolve\", item);\r\n          }\r\n        });\r\n      },\r\n    },\r\n  },\r\n  async beforeRouteLeave(to, from, next) {\r\n    console.log(\"beforeRouteLeavebeforeRouteLeave:\", this.dialogVisible && !this.dialogDelVisible);\r\n    if(this.dialogVisible && !this.dialogDelVisible) {\r\n      // this.$nextTick(async () => {\r\n      //   console.log(\"this.selectData.course_solve_content:\", this.$refs.problemSolvingDialog.$data.course_solve_content)\r\n      //   if(this.$refs.problemSolvingDialog.$data.course_solve_content) {\r\n      //     let root = document.getElementById(\"root\");\r\n      //     console.log(root);\r\n      //     const course_solve_content = this.$refs.problemSolvingDialog.$data.course_solve_content;\r\n      //     let result = measure(\r\n      //       root,\r\n      //       3,\r\n      //       course_solve_content,\r\n      //       this.unfoldText,\r\n      //       this.ellipsisStr\r\n      //     );\r\n      //     this.renderRealContext(result);\r\n      //     await this.$refs.problemSolvingDialog.submit();\r\n      //     if(this.$refs.problemSolvingDialog.$data.course_solve_content) {\r\n      //       await this.addUserQuestionSolve();\r\n      //     }\r\n      //   }\r\n      // });\r\n\r\n    } else if(this.selectData.course_solve_id && !this.dialogDelVisible) {\r\n      await this.saveEdit();\r\n    } else if(this.addProblemSolve && this.course_solve_content && !this.dialogDelVisible) {\r\n      await this.saveAdd(this.course_solve_type);\r\n    }\r\n    this.dialogVisible = false;\r\n    this.dialogDelVisible = false;\r\n    this.selectData = {};\r\n    this.isEdit = false;\r\n    this.course_solve_content = \"\";\r\n    this.addProblemSolve = false;\r\n    if (to.path != from.path) {\r\n      if (to.name == \"index\") {\r\n        this.backToProblemSolve();\r\n        let timeout = setTimeout(() => {\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n          next();\r\n          if(to.hash == \"#questionDetail\") {\r\n            // 点击返回\r\n            EventBus.$emit(\"BACKTO_WHITE_THINK_PROBLEM_SOLVE\");\r\n          } else {\r\n            // 点击logo或者切换课程\r\n            EventBus.$emit(\"CultureIndex\");\r\n          }\r\n        }, 400);\r\n      } else {\r\n        next();\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    handleScroll() {\r\n      let problemSolveTitle = document.getElementById(\"problemSolveTitle\");\r\n      const { scrollTop, scrollHeight, clientHeight } = problemSolveTitle;\r\n      const distanceToBottom = scrollHeight - scrollTop - clientHeight;\r\n      const problemSolveTitleLayer = document.getElementsByClassName(\"problemSolveTitleLayer\")[0];\r\n      const height = problemSolveTitleLayer.clientHeight;\r\n      if (problemSolveTitleLayer && distanceToBottom <= height) {\r\n        console.log('距离底部 ≤ 遮罩高度，执行操作...');\r\n        problemSolveTitleLayer.style.visibility = 'hidden';\r\n      } else {\r\n        problemSolveTitleLayer.style.visibility = 'visible';\r\n      }\r\n    },\r\n    addProblemSolveTitleLayer() {\r\n      let problemSolveTitle = document.getElementById(\"problemSolveTitle\");\r\n      const lines = getLines(\"problemSolveTitle\");\r\n      console.log(\"problemSolveTitle lines:\", lines);\r\n      this.problemSolveTitleLines = lines;\r\n      if(lines >= 14) {\r\n        problemSolveTitle.classList.add(\"title_layer\")\r\n        problemSolveTitle.addEventListener(\"scroll\", this.handleScroll)\r\n      }\r\n    },\r\n    // 保存新增节点\r\n    async saveAdd(type) {\r\n      try {\r\n        if(!this.course_solve_content) {\r\n          // if(type == 2) {\r\n          //   this.$message.warning(\"请输入事实上的理解\");\r\n          // } else if(type == 3) {\r\n          //   this.$message.warning(\"请输入摆脱错误观念\");\r\n          // }\r\n          return;\r\n        }\r\n        let params = {\r\n          course_id: this.course_id,\r\n          question_id: this.moralComprehend.course_question_id,\r\n          course_solve_type: this.course_solve_type,\r\n          course_solve_content: Base64.encode(this.course_solve_content),\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          course_solve_isuseradd: this.course_solve_isuseradd,\r\n          course_question_isuseradd: this.moralComprehend\r\n            .course_question_isuseradd\r\n        };\r\n        if (this.course_solve_type !== 1) {\r\n          params = {\r\n            ...params,\r\n            version_new: 1,\r\n            course_solve_pid: this.problemSolve.course_solve_id, //道理上的理解id(type=2,3传)\r\n            course_solve_isuseradd: this.course_solve_isuseradd // 道理上的理解是否是用户添加1是2否(type=2,3传)\r\n          };\r\n        }\r\n        console.log(\"addUserQuestionSolve params:\", params);\r\n        const res = await addUserQuestionSolve(params);\r\n        if (res && res.code === 0) {\r\n          this.addProblemSolve = false;\r\n          this.course_solve_content = \"\";\r\n          // this.$message.success(\"添加成功\");\r\n          this.addUserQuestionSolve();\r\n        }\r\n        this.loading = false;\r\n      } catch (error) {\r\n        this.loading = false;\r\n        console.log(\"error:\", error);\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    submitCon() {\r\n      // 示例笔记不能新增编辑道理上的理解、摆脱错误观念这些内容\r\n      if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      this.editUserQuestionSolve(\r\n        1,\r\n        this.confirmData.last_update_device,\r\n        this.confirmData.last_update_at\r\n      );\r\n    },\r\n    saveDel() {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.$confirm(\"确认删除?\", \"\", {\r\n        confirmButtonText: \"确定\",\r\n        cancelButtonText: \"取消\",\r\n        center: true,\r\n        closeOnClickModal: false,\r\n        closeOnPressEscape: false,\r\n        // showClose: false,\r\n        customClass: \"confirmClass\"\r\n      }).then(() => {\r\n        this.delUserQuestionSolve(\r\n          undefined,\r\n          this.course_solve_type,\r\n          this.selectData.course_solve_id\r\n        );\r\n      });\r\n\r\n    },\r\n    saveEdit() {\r\n      console.log(\"saveEdit  course_solve_content:\",  this.course_solve_content);\r\n      // 示例笔记不能新增编辑道理上的理解、摆脱错误观念这些内容\r\n      if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n      if (this.course_solve_content === \"\") {\r\n        console.log(\"delUserQuestionSolve\");\r\n        this.delUserQuestionSolve(\r\n          undefined,\r\n          this.course_solve_type,\r\n          this.selectData.course_solve_id\r\n        );\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      this.editUserQuestionSolve();\r\n    },\r\n    async editUserQuestionSolve(\r\n      is_confirm,\r\n      last_update_device,\r\n      last_update_at\r\n    ) {\r\n      if (this.course_solve_content === \"\") {\r\n        this.$message(\"内容不能为空\");\r\n        return;\r\n      }\r\n      try {\r\n        let params = {\r\n          course_id: this.course_id,\r\n          course_solve_id: this.selectData.course_solve_id,\r\n          course_solve_content: Base64.encode(this.course_solve_content),\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          last_update_device: last_update_device\r\n            ? last_update_device\r\n            : this.selectData.last_update_device,\r\n          last_update_at: last_update_at\r\n            ? last_update_at\r\n            : this.selectData.last_update_at,\r\n          is_confirm: is_confirm ? is_confirm : 2\r\n        };\r\n        console.log(\"editUserQuestionSolve:\", params)\r\n        this.selectData = {};\r\n        this.course_solve_content = \"\";\r\n        const res = await editUserQuestionSolve(params);\r\n        if (res && res.code === 0) {\r\n          // this.$message.success(\"修改成功\");\r\n          console.log(\"editUserQuestionSolve:\")\r\n          await this.addUserQuestionSolve();\r\n          console.log(\"editUserQuestionSolve:\")\r\n          // this.$emit(\"addUserQuestionSolveSuc\");\r\n        } else if (res && res.code === 1023 && res.data[0].need_confirm === 1) {\r\n          this.confirmData = res.data[0];\r\n          this.dialogVisibleCon = true;\r\n        }\r\n        this.loading = false;\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 编辑\r\n    async editNode(currentProblemsolve, course_solve_type) {\r\n      console.log(\"editNode\")\r\n      console.log(currentProblemsolve.course_solve_isuseradd, this.courseIsuseradd)\r\n      if (\r\n        currentProblemsolve.course_solve_isuseradd === 2 ||\r\n        currentProblemsolve.course_solve_isuseradd === 3 ||\r\n        this.courseIsuseradd == 3\r\n      ) {\r\n        // 官方添加， 示例笔记 不能修改\r\n        return;\r\n      }\r\n      if(this.dialogVisible) {\r\n        return;\r\n      }\r\n      if(this.addProblemSolve && !this.dialogDelVisible) {\r\n        await this.saveAdd(this.course_solve_type);\r\n      } else if(this.selectData.course_solve_id && !this.dialogDelVisible) {\r\n        await this.saveEdit();\r\n      }\r\n      this.selectData = currentProblemsolve;\r\n      this.addProblemSolve = false;\r\n      if (course_solve_type === 1) {\r\n        this.title = \"道理上的理解\";\r\n      } else if (course_solve_type === 2) {\r\n        this.title = \"事实上的理解\";\r\n      } else {\r\n        this.title = \"摆脱错误观念\";\r\n      }\r\n      this.course_solve_isuseradd = currentProblemsolve.course_solve_isuseradd;\r\n      this.course_solve_type = course_solve_type;\r\n      this.course_solve_content = currentProblemsolve.course_solve_content;\r\n    },\r\n    handle() {\r\n      let result = measure(\r\n        this.root,\r\n        3,\r\n        this.problemSolve.course_solve_content,\r\n        this.unfoldText,\r\n        this.ellipsisStr\r\n      );\r\n      this.renderRealContext(result);\r\n    },\r\n    renderRealContext(result) {\r\n      const { content, ellipsis } = result;\r\n      let root = document.getElementById(\"root\");\r\n      if (ellipsis) {\r\n        if (this.fold) {\r\n          root.innerHTML = `${content}${this.ellipsisStr}<span id='fold' style=\"color: #97c8e0;padding-left: 2px;cursor:pointer;\">${this.unfoldText}</span>`;\r\n        } else {\r\n          root.innerHTML = `${this.problemSolve.course_solve_content}<span id='fold' style=\"color: #97c8e0;padding-left: 2px;cursor:pointer;\">${this.foldText}</span>`;\r\n        }\r\n        document.getElementById(\"fold\").addEventListener(\"click\", () => {\r\n          this.fold = !this.fold;\r\n          this.renderRealContext(result);\r\n        });\r\n      } else {\r\n        root.innerHTML = content;\r\n      }\r\n\r\n      this.truthBoxHeight = this.moral.offsetHeight;\r\n      let moralContent = document.getElementById(\"moralContent\");\r\n      let height = moralContent.scrollHeight - this.moral.offsetHeight;\r\n      this.truthBoxStyle = {\r\n        height: height + \"px\",\r\n      };\r\n    },\r\n    // 添加\r\n    async addUserQuestionSolveShow(course_solve_type, course_solve_isuseradd) {\r\n      if (this.courseIsuseradd == 3 || this.dialogVisible) {\r\n        return;\r\n      }\r\n      if(this.selectData.course_solve_id) {\r\n        await this.saveEdit();\r\n      } else if(this.addProblemSolve && this.course_solve_content) {\r\n        await this.saveAdd(this.course_solve_type);\r\n      } else if(this.addProblemSolve && !this.course_solve_content && this.course_solve_type == course_solve_type) {\r\n        return;\r\n      }\r\n      this.addProblemSolve = true;\r\n      this.course_solve_type = course_solve_type;\r\n      this.course_solve_isuseradd = this.problemSolve.course_solve_isuseradd;\r\n      this.selectData = {};\r\n      this.course_solve_content = \"\";\r\n    },\r\n    // 编辑\r\n    async edit(e,course_solve_type) {\r\n      if (\r\n        this.problemSolve.course_solve_isuseradd === 2 ||\r\n        this.problemSolve.course_solve_isuseradd === 3 ||\r\n        this.courseIsuseradd == 3\r\n      ) {\r\n        // 官方添加， 示例笔记 不能修改\r\n        return;\r\n      }\r\n      if(this.isEdit) {\r\n        return;\r\n      }\r\n      if(this.selectData.course_solve_id) {\r\n        await this.saveEdit();\r\n      } else if(this.addProblemSolve && this.course_solve_content) {\r\n        await this.saveAdd(this.course_solve_type);\r\n      } else if(this.addProblemSolve && !this.course_solve_content && this.course_solve_type == course_solve_type) {\r\n        this.addProblemSolve = false;\r\n      }\r\n      this.selectData = this.problemSolve;\r\n      this.isEdit = true;\r\n      if (course_solve_type === 1) {\r\n        this.title = \"道理上的理解\";\r\n      } else if (course_solve_type === 2) {\r\n        this.title = \"事实上的理解\";\r\n      } else {\r\n        this.title = \"摆脱错误观念\";\r\n      }\r\n      this.course_solve_isuseradd = this.problemSolve.course_solve_isuseradd;\r\n      this.course_solve_type = course_solve_type;\r\n      this.dialogVisible = true;\r\n    },\r\n    addUserQuestionSolve1() {\r\n      this.dialogVisible = false;\r\n      this.selectData = {};\r\n      this.isEdit = false;\r\n      this.addUserQuestionSolve();\r\n    },\r\n    addUserQuestionSolve() {\r\n      console.log(\"addUserQuestionSolve\")\r\n      this.getQuestionSolve();\r\n      this.getUserCourseProgress();\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false;\r\n      this.selectData = {};\r\n      this.addProblemSolve = false;\r\n      this.isEdit = false;\r\n    },\r\n    del(course_solve_type, course_solve_id) {\r\n      console.log(\"delUserQuestionSolve\")\r\n      if (course_solve_type === 1) {\r\n        this.showDel();\r\n      } else {\r\n        this.delUserQuestionSolve(\r\n          undefined,\r\n          course_solve_type,\r\n          course_solve_id\r\n        );\r\n      }\r\n    },\r\n    // 删除\r\n    showDel() {\r\n      // 示例笔记不能新增编辑删除道理上的理解、摆脱错误观念这些内容\r\n      if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n      this.dialogDelVisible = true;\r\n    },\r\n    async delUserQuestionSolve(e, course_solve_type, course_solve_id) {\r\n      console.log(\"delUserQuestionSolve:\", e, course_solve_type, course_solve_id, this.problemSolve);\r\n      if (this.loading) {\r\n        return;\r\n      }\r\n      if(course_solve_type == 1) {\r\n        course_solve_id = this.problemSolve.course_solve_id;\r\n      }\r\n      this.loading = true;\r\n      try {\r\n        let params = {\r\n          version_new: 1,\r\n          course_id: this.course_id,\r\n          course_isuseradd: this.courseIsuseradd,\r\n          question_id: this.moralComprehend.course_question_id,\r\n          course_solve_type: course_solve_type,\r\n          course_solve_id: course_solve_id,\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          course_question_isuseradd:\r\n            this.moralComprehend.course_question_isuseradd,\r\n        };\r\n        console.log(\"delUserQuestionSolve params:\", params);\r\n        this.dialogVisible = false;\r\n        const res = await delUserQuestionSolve(params);\r\n        this.selectData = {};\r\n        if (res && res.code === 0) {\r\n          // this.getQuestionSolve();\r\n          // this.getUserCourseProgress();\r\n          this.addUserQuestionSolve();\r\n          if (course_solve_type === 1) {\r\n            this.back();\r\n          } else {\r\n            this.dialogDelVisible = false;\r\n          }\r\n        }\r\n        this.$nextTick(() => {\r\n          this.loading = false;\r\n        });\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 问题解决列表\r\n    async getQuestionSolve() {\r\n      try {\r\n        const params = {\r\n          version_new: 1,\r\n          question_id: this.moralComprehend.course_question_id,\r\n          course_id: this.course_id,\r\n          course_question_isuseradd:\r\n            this.moralComprehend.course_question_isuseradd,\r\n        };\r\n        const res = await getQuestionSolve(params);\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          data.forEach((item) => {\r\n            const shishi = item.course_solve_shishi;\r\n            const cuowu = item.course_solve_cuowu;\r\n            if (shishi.length && cuowu.length) {\r\n              item.status = 1;\r\n            } else {\r\n              item.status = 0;\r\n            }\r\n          });\r\n          this.$store.dispatch(\"setProblemSolveList\", data);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 问题列表\r\n    async getQuestionList() {\r\n      try {\r\n        const res = await getQuestionList({\r\n          course_id: this.course_id,\r\n          small_list: 1,\r\n        });\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          let selectData = null;\r\n          data.forEach((item, index) => {\r\n            item.index = index + 1;\r\n            const course_question_id = item.course_question_id;\r\n            if (\r\n              this.progress_solve_question_ids.indexOf(course_question_id) > -1\r\n            ) {\r\n              item.status = 1;\r\n            } else {\r\n              item.status = 0;\r\n            }\r\n            // // 选中的问题列表\r\n            if (\r\n              this.moralComprehend.course_question_id === course_question_id\r\n            ) {\r\n              selectData = item;\r\n            }\r\n          });\r\n          // 问题列表\r\n          this.$store.dispatch(\"setQuestionList\", data).then(() => {\r\n            this.$store.dispatch(\"setMoralComprehend\", selectData);\r\n          });\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({ course_id: this.course_id });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0]).then(() => {\r\n            this.getQuestionList();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n    fromProblemSolve() {\r\n      this.$nextTick(() => {\r\n        const aside = document.getElementById(\"problemSolveSide\");\r\n        aside.style.marginLeft = \"0\";\r\n        aside.style.opacity = \"1\";\r\n        aside.style.transition = \"all 0.3s linear\";\r\n\r\n        const problemSolveContent = document.getElementById(\r\n          \"problemSolveContent\"\r\n        );\r\n        problemSolveContent.style.marginTop = \"0\";\r\n        problemSolveContent.style.opacity = \"1\";\r\n        problemSolveContent.style.transition = \"all 0.3s linear\";\r\n      });\r\n    },\r\n    backToProblemSolve() {\r\n      this.$nextTick(() => {\r\n        const aside = document.getElementById(\"problemSolveSide\");\r\n        aside.style.marginLeft = this.$px2rem(288);\r\n        aside.style.opacity = \"0\";\r\n        aside.style.transition = \"all 0.3s linear\";\r\n\r\n        const problemSolveContent = document.getElementById(\r\n          \"problemSolveContent\"\r\n        );\r\n        problemSolveContent.style.marginTop = this.$px2rem(200);\r\n        problemSolveContent.style.opacity = \"0\";\r\n        problemSolveContent.style.transition = \"all 0.3s linear\";\r\n      });\r\n    }\r\n  },\r\n  activated() {\r\n    this.addProblemSolveTitleLayer();\r\n  },\r\n  mounted() {\r\n    console.log(\"mounted\");\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.fullscreen = true;\r\n    this.moral = document.getElementById(\"moral\");\r\n    this.fromProblemSolve();\r\n    EventBus.$on(\"FROM_WHITE_THINK_PROBLEM_SOLVE\", () => {\r\n      this.fromProblemSolve();\r\n    });\r\n  },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\" scope>\r\n@import \"~@/assets/styles/variable.less\";\r\n\r\n.container {\r\n  width: 100%;\r\n  height: 100%;\r\n\r\n}\r\n.content-box {\r\n  // padding: 18px 27px;\r\n  overflow-y: auto;\r\n  padding: 26px 32px 0 32px;\r\n  background: #eaedef;\r\n  height: 100%;\r\n  border-radius: 0;\r\n  * {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n  }\r\n}\r\n.box-content-name {\r\n  display: flex;\r\n  color: #64afd5;\r\n  position: relative;\r\n  z-index: 200;\r\n  margin-left: 28px;\r\n  margin-top: 21px;\r\n  position: absolute;\r\n  left:0;\r\n  top:0;\r\n  img{\r\n    position: initial;\r\n    z-index: 106;\r\n    margin-top: 1px;\r\n    margin-left: 0px;\r\n  }\r\n  span {\r\n    line-height: 34px;\r\n    padding-left: 5px;\r\n  }\r\n}\r\n// /deep/ .el-header {\r\n//   padding: 0;\r\n//   position: fixed;\r\n//   top: 0;\r\n//   width: 100%;\r\n//   background: #eaedef;\r\n//   box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);\r\n//   padding: 10px 32px;\r\n//   height: auto !important;\r\n//   z-index: 100;\r\n// }\r\n.el-aside {\r\n  height: 100%;\r\n  width: 285px !important;\r\n  margin-left: 0;\r\n  position: relative;\r\n}\r\n.big_box {\r\n  width: 100%;\r\n  display: flex;\r\n  position: absolute;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  margin-left: 300px;\r\n  img {\r\n    width: 39px;\r\n    height: 39px;\r\n  }\r\n}\r\n.title_content {\r\n  padding-left: 6px;\r\n  position: relative;\r\n  .num {\r\n    font-size: 38px;\r\n    font-family: SourceHanSansCN-Medium;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 28px;\r\n    padding-bottom: 21px;\r\n  }\r\n  .title {\r\n    padding: 0 5px 0 0;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 21px;\r\n    color: #292929;\r\n    line-height: 32px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n    // color: #64AFD5;\r\n    width: 191px;\r\n    // height: 245px;\r\n    max-height: 450px;\r\n    overflow-y: auto;\r\n    display: inline-block;\r\n    text-align: justify;\r\n    padding-bottom: 70px;\r\n  }\r\n  *::-webkit-scrollbar {\r\n    /*滚动条整体样式*/\r\n    width: 3px;\r\n  }\r\n  *::-webkit-scrollbar-thumb {\r\n    /*滚动条里面小方块*/\r\n    border-radius: 10px;\r\n    background: #64afd5;\r\n  }\r\n  .status {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    padding-top: 30px;\r\n  }\r\n  .status1 {\r\n    color: #64afd5;\r\n  }\r\n  .problemSolveTitleLayer {\r\n    width: 100%;\r\n    height: 70px;\r\n    background: linear-gradient( 180deg, rgba(234, 237, 239, 0.4) 0%, #EAEDEF 100%);\r\n    position: absolute;\r\n    bottom: 48px;\r\n  }\r\n}\r\n\r\n.content {\r\n  // background: #eff1f2;\r\n  background: #f4f6f7;\r\n  // border-radius: 16px;\r\n  border-top-left-radius: 16px;\r\n  border-top-right-radius: 16px;\r\n  min-height: 100%;\r\n  padding: 0;\r\n  min-height: 100%;\r\n  padding-top: 50px;\r\n  margin-top: 200px;\r\n  opacity: 0;\r\n  margin-right: 62px;\r\n  position: relative;\r\n  overflow: visible;\r\n  // min-width: 800px;\r\n  .moral {\r\n    /deep/ .el-step__line {\r\n      bottom: -51px !important;\r\n    }\r\n  }\r\n}\r\n.progress {\r\n  width: 100%;\r\n  height: 100%;\r\n  min-height: 100%;\r\n  // padding-top: 30px;\r\n  /deep/ .el-steps--vertical {\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n}\r\n.content1 {\r\n  background: #64afd5;\r\n  .moral {\r\n    /deep/ .el-step__line {\r\n      bottom: -51px !important;\r\n    }\r\n    .title {\r\n      color: #fff;\r\n      font-size: 16px;\r\n    }\r\n    /deep/ .el-step__icon {\r\n      width: 10px;\r\n      height: 10px;\r\n      // left: 7px;\r\n      top: -3px;\r\n      background-color: #fff;\r\n    }\r\n    /deep/ .is-text {\r\n      border-color: #fff;\r\n    }\r\n    .moral_content {\r\n      color: #fff;\r\n    }\r\n  }\r\n}\r\n\r\n// steps css---------------------------------\r\n.truth_box .el-step:nth-child(2){\r\n\r\n}\r\n/deep/ .el-step.is-vertical {\r\n  padding-left: 43px;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__head{\r\n  padding: 0;\r\n  width: 13px;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__line {\r\n  background-color: #d4d9db;\r\n  left: 0;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__line .el-step__line-inner{\r\n  display: none !important;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__icon{\r\n  transform: translateX(-50%);\r\n}\r\n/deep/ .el-step.is-vertical .el-step__main {\r\n  padding-left: 5px;\r\n}\r\n/deep/ .el-step .el-step__description {\r\n  padding-right: 39px;\r\n}\r\n\r\n/deep/ .el-step:last-of-type .el-step__description, .el-step:last-of-type .el-step__main {\r\n  padding-right: 10%;\r\n}\r\n\r\n.moral {\r\n  position: relative;\r\n  .moral_operate {\r\n    position: absolute;\r\n    right: 18px;\r\n    top: -38px;\r\n    padding: 8px 0;\r\n    display: flex;\r\n    align-items: center;\r\n    // background: #fff;\r\n    // border-radius: 8px;\r\n    cursor: pointer;\r\n    z-index: 201;\r\n    .operate_img {\r\n      padding: 0 20px;\r\n      height: 21px;\r\n      &:first-of-type {\r\n        border-right: 1px solid #64afd5;\r\n      }\r\n      &.operate_img_done {\r\n        &:first-of-type {\r\n          border-right: 1px solid #fff;\r\n        }\r\n      }\r\n      img {\r\n        width: 17px;\r\n        height: 19px;\r\n      }\r\n    }\r\n    .moral_edit {\r\n      img {\r\n        width: 15px;\r\n        height: 21px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.st_1 {\r\n  .title {\r\n    color: #64afd5;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  }\r\n  .moral_content {\r\n    padding: 20px 0 31px 0;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 18px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n    color: #292929;\r\n    line-height: 26px;\r\n    width: 90%;\r\n  }\r\n  /deep/ .el-step__icon {\r\n    left: 1px;\r\n    width: 10px;\r\n    height: 10px;\r\n    // left: 7px;\r\n    top: -3px;\r\n    background-color: #64afd5;\r\n  }\r\n  /deep/ .is-text {\r\n    border-color: #64afd5;\r\n  }\r\n  /deep/ .el-step__line {\r\n    bottom: -18px;\r\n    top: 8px;\r\n  }\r\n  /deep/ .el-step__title {\r\n    padding-bottom: 0;\r\n    line-height: 24px;\r\n  }\r\n}\r\n.st_1_shili {\r\n  /deep/ .el-step__line {\r\n    bottom: -25px;\r\n    top: 8px;\r\n  }\r\n}\r\n.st_2 {\r\n  &.el-step.is-vertical {\r\n    padding-left: 44px;\r\n  }\r\n  /deep/ .el-step__icon {\r\n    width: 8px;\r\n    height: 8px;\r\n    // left: 8px;\r\n    top: 12px;\r\n    background-color: #64afd5;\r\n  }\r\n  /deep/ .is-text {\r\n    border-color: #64afd5;\r\n    // margin-left: 1px;\r\n  }\r\n  /deep/ .el-step__line {\r\n    bottom: -18px;\r\n    top: -4px;\r\n    left: -1px !important;\r\n  }\r\n  &.addProblemSolve {\r\n    /deep/ .el-card__body {\r\n      padding: 0;\r\n      // padding-right: 10px;\r\n      position: relative;\r\n    }\r\n    /deep/ .el-textarea__inner {\r\n      padding: 20px 20px 35px 20px;\r\n      border: none;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #292929;\r\n      line-height: 21px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n    .addBtn {\r\n      position: absolute;\r\n      width: 40px;\r\n      right: 10px;\r\n      bottom: 10px;\r\n      cursor: pointer;\r\n      color: #64afd5;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      border: 1px solid #64afd5;\r\n      display: inline-block;\r\n      text-align: center;\r\n      border-radius: 6px;\r\n      cursor: pointer;\r\n    }\r\n    .saveDel {\r\n      right: 60px;\r\n    }\r\n  }\r\n}\r\n.st_2_shili {\r\n  /deep/ .el-step__line {\r\n    bottom: -25px;\r\n    top: 8px;\r\n  }\r\n  /deep/ .el-step__description {\r\n    padding-right: 39px !important;\r\n  }\r\n}\r\n.st_3_shili {\r\n  /deep/ .el-step__line {\r\n    bottom: -15px;\r\n    top: 8px;\r\n  }\r\n}\r\n.st_3 {\r\n  .addStep {\r\n    width: 42px;\r\n    height: 36px;\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    margin: 0 0 40px 0;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    img {\r\n      width: 19px;\r\n      height: 21px;\r\n    }\r\n  }\r\n  /deep/ .el-step__icon {\r\n    width: 8px;\r\n    height: 8px;\r\n    left: 1px;\r\n    top: -2px;\r\n    background-color: #64afd5;\r\n  }\r\n  /deep/ .is-text {\r\n    border-color: #64afd5;\r\n  }\r\n  /deep/ .el-step__line {\r\n    bottom: -30px;\r\n    top: -4px;\r\n  }\r\n}\r\n/deep/ .el-card__body {\r\n  padding: 0;\r\n}\r\n.truth_box {\r\n  flex: 1;\r\n  padding-top: 38px;\r\n  background: #fafafa;\r\n  box-shadow: 0px 0px 166px 0px rgba(0, 0, 0, 0.1);\r\n  border-radius: 16px 16px 0px 0px;\r\n  cursor: pointer;\r\n  overflow: auto;\r\n  // padding-bottom: 20px;\r\n  /deep/ .el-step__main {\r\n    width: 100%;\r\n    padding-bottom: 17px;\r\n  }\r\n}\r\n.truth_content {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #292929;\r\n  line-height: 20px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n  padding: 20px;\r\n  width: 100%;\r\n  // overflow: hidden;\r\n  // text-overflow: ellipsis;\r\n  // -webkit-line-clamp: 4;\r\n  // -webkit-box-orient: vertical;\r\n  // display: -webkit-box;\r\n  white-space: pre-wrap;\r\n  // word-break: break-all;\r\n  // word-wrap: break-word;\r\n  // white-space: pre-wrap;\r\n}\r\n.prewrap-content {\r\n  // white-space: pre-line;\r\n}\r\n.truth_card {\r\n  margin-bottom: 10px;\r\n  font-size: 12px;\r\n  line-height: 20px;\r\n  font-weight: 400;\r\n}\r\n.del-dialog {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    padding: 0 51px 0 52px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    height: 47px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-size: 18px;\r\n    font-family: PingFangSC-Medium, PingFang SC;\r\n    font-weight: 500;\r\n    color: #65afd5;\r\n    line-height: 22px;\r\n    text-align: center;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0;\r\n    padding-bottom: 36px;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 22px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    padding: 0 0 46px 0;\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: PingFangSC-Regular, PingFang SC;\r\n    font-weight: 400;\r\n    color: #727a7f;\r\n    line-height: 27px;\r\n    letter-spacing: 1px;\r\n    padding: 5px 0px;\r\n    border: none;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    width: 111px;\r\n    border-radius: 8px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #fff;\r\n    border-color: #64afd5;\r\n    background: #64afd5;\r\n    padding: 7px;\r\n  }\r\n  /deep/ .el-button--default {\r\n    // width: 72px;\r\n    // height: 30px;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    // margin-right: 20%;\r\n  }\r\n}\r\n.del_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n#root {\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  font-size: 18px;\r\n  line-height: 26px;\r\n  text-align: left;\r\n  font-style: normal;\r\n}\r\n\r\n// el-step样式---------------------------\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/problemSolving.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"problemSolvingRef\",staticClass:\"main-content big-view bg-white bg-white-subpage\"},[_c('div',{staticClass:\"title box-content-name\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":_vm.back}},[_c('img',{staticClass:\"full_page_eye\",attrs:{\"src\":\"/static/img/thinking.svg\"}}),_vm._v(\" \"),(_vm.app_type == 2)?_c('span',[_vm._v(\"本课问题解决\")]):_c('span',[_vm._v(\"问题解决\")])]),_vm._v(\" \"),_c('el-container',{staticClass:\"content-box\"},[_c('el-aside',[_c('div',{staticClass:\"big_box\",attrs:{\"id\":\"problemSolveSide\"}},[_c('img',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"src\":require(\"@/assets/img/problem_back.svg\")},on:{\"click\":_vm.back}}),_vm._v(\" \"),_c('div',{staticClass:\"title_content\"},[_c('div',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.moralComprehend.index)+\".\")]),_vm._v(\" \"),_c('span',{staticClass:\"title prewrap-content\",attrs:{\"id\":\"problemSolveTitle\"}},[_vm._v(_vm._s(_vm.moralComprehend.course_question_title))]),_vm._v(\" \"),_c('div',{staticClass:\"status\",class:_vm.problemSolve.status === 1 ? 'status1' : ''},[_vm._v(\"\\n            \"+_vm._s(_vm.problemSolve.status === 1 ? \"已解决\" : \"待解决\")+\"\\n          \")]),_vm._v(\" \"),(_vm.problemSolveTitleLines >= 14)?_c('div',{staticClass:\"problemSolveTitleLayer\"}):_vm._e()])])]),_vm._v(\" \"),_c('el-main',{staticClass:\"content\",class:_vm.problemSolve.status === 1 ? 'content1' : '',attrs:{\"id\":\"problemSolveContent\"}},[_c('div',{staticClass:\"progress\",attrs:{\"id\":\"moralContent\"}},[_c('el-steps',{attrs:{\"direction\":\"vertical\",\"space\":\"0%\"}},[_c('el-step',{ref:\"moralRef\",staticClass:\"st_1 moral\",class:_vm.courseIsuseradd == 3 ? 'st_1_shili' : '',attrs:{\"id\":\"moral\"}},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{staticClass:\"title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"道理上的理解\")]),_vm._v(\" \"),_c('div',{staticClass:\"moral_content\",attrs:{\"slot\":\"description\"},slot:\"description\"},[(\n                  _vm.problemSolve.course_solve_isuseradd === 1 &&\n                  _vm.courseIsuseradd != 3\n                )?_c('div',{staticClass:\"moral_operate\"},[_c('div',{staticClass:\"operate_img moral_edit\",class:_vm.problemSolve.status === 1 ? 'operate_img_done' : ''},[(_vm.problemSolve.status === 1)?_c('img',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.edit, \"click\", 300, [1]]),expression:\"[edit, `click`, 300, [1]]\"}],attrs:{\"src\":require(\"@/assets/img/moral_edit_done.svg\")}}):_c('img',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.edit, \"click\", 300, [1]]),expression:\"[edit, `click`, 300, [1]]\"}],attrs:{\"src\":require(\"@/assets/img/moral_edit.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"operate_img\"},[(_vm.problemSolve.status === 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/moral_del_done.svg\")},on:{\"click\":_vm.showDel}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/moral_del.svg\")},on:{\"click\":_vm.showDel}})])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"wrapper\",staticClass:\"wrapper\",staticStyle:{\"position\":\"relative\",\"width\":\"100%\"}},[_c('div',{staticStyle:{\"word-break\":\"break-all\",\"width\":\"100%\",\"min-width\":\"469px\",\"white-space\":\"pre-wrap\"},attrs:{\"id\":\"root\"}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"truth_box\"},[_c('el-step',{staticClass:\"st_1\",class:[_vm.courseIsuseradd == 3 ? 'st_1_shili' : '', _vm.courseIsuseradd == 3 && _vm.selectData && _vm.selectData.course_solve_cuowu && _vm.selectData.course_solve_cuowu.length ? '' : 'st_3_shili']},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{staticClass:\"title truth\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"})]),_vm._v(\" \"),_vm._l((_vm.problemSolve.course_solve_shishi),function(item,index){return _c('el-step',{key:'shishi' + index,staticClass:\"st_2\",class:[_vm.courseIsuseradd == 3 ? 'st_2_shili' : '', _vm.courseIsuseradd == 3 && _vm.selectData && _vm.selectData.course_solve_cuowu && _vm.selectData.course_solve_cuowu.length ? '' : 'st_3_shili', _vm.selectData && _vm.selectData.course_solve_id == item.course_solve_id ? 'addProblemSolve' : '']},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"}),_vm._v(\" \"),_c('div',{staticClass:\"truth_card\",attrs:{\"slot\":\"description\"},slot:\"description\"},[(_vm.selectData && _vm.selectData.course_solve_id == item.course_solve_id)?_c('el-card',[_c('el-input',{ref:'edittextarea' + item.course_solve_id,refInFor:true,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'edittextarea' + item.course_solve_id,\"autosize\":{ minRows: 1 },\"resize\":'none'},model:{value:(_vm.course_solve_content),callback:function ($$v) {_vm.course_solve_content=$$v},expression:\"course_solve_content\"}}),_vm._v(\" \"),_c('span',{staticClass:\"addBtn\",on:{\"click\":_vm.saveEdit}},[_vm._v(\"保存\")]),_vm._v(\" \"),_c('span',{staticClass:\"addBtn saveDel\",on:{\"click\":_vm.saveDel}},[_vm._v(\"删除\")])],1):_c('el-card',[_c('span',{staticClass:\"truth_content prewrap-content\",on:{\"click\":function($event){return _vm.editNode(item, 2)}}},[_vm._v(_vm._s(item.course_solve_content))])])],1)])}),_vm._v(\" \"),(_vm.addProblemSolve && _vm.course_solve_type == 2)?_c('el-step',{key:'shishiAddKey',staticClass:\"st_2\",class:[_vm.courseIsuseradd == 3 ? 'st_2_shili' : '', 'addProblemSolve']},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"}),_vm._v(\" \"),_c('div',{staticClass:\"truth_card\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',[_c('el-input',{ref:'shishiAdd',staticClass:\"preserve-indent\",staticStyle:{\"min-height\":\"30px !important\"},attrs:{\"type\":\"textarea\",\"id\":'shishiAdd',\"autosize\":{ minRows: 1 },\"resize\":'none'},model:{value:(_vm.course_solve_content),callback:function ($$v) {_vm.course_solve_content=$$v},expression:\"course_solve_content\"}}),_vm._v(\" \"),_c('span',{staticClass:\"addBtn\",on:{\"click\":function($event){return _vm.saveAdd(2)}}},[_vm._v(\"保存\")]),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.course_solve_content))])],1)],1)]):_vm._e(),_vm._v(\" \"),(_vm.courseIsuseradd != 3)?_c('el-step',{staticClass:\"st_3\"},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('span',{staticClass:\"addStep\",on:{\"click\":function($event){return _vm.addUserQuestionSolveShow(2)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/add.svg\"),\"alt\":\"\"}})])])]):_vm._e(),_vm._v(\" \"),_c('el-step',{staticClass:\"st_1\",class:[_vm.courseIsuseradd == 3 ? 'st_1_shili' : '']},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{staticClass:\"title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"})]),_vm._v(\" \"),_vm._l((_vm.problemSolve.course_solve_cuowu),function(item,index){return _c('el-step',{key:'cuowu' + index,staticClass:\"st_2\",class:[_vm.courseIsuseradd == 3 ? 'st_2_shili' : '', _vm.selectData && _vm.selectData.course_solve_id == item.course_solve_id ? 'addProblemSolve' : '']},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"}),_vm._v(\" \"),_c('div',{staticClass:\"truth_card\",attrs:{\"slot\":\"description\"},slot:\"description\"},[(_vm.selectData && _vm.selectData.course_solve_id == item.course_solve_id)?_c('el-card',[_c('el-input',{ref:'edittextarea' + item.course_solve_id,refInFor:true,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'edittextarea' + item.course_solve_id,\"autosize\":{ minRows: 1 },\"resize\":'none'},model:{value:(_vm.course_solve_content),callback:function ($$v) {_vm.course_solve_content=$$v},expression:\"course_solve_content\"}}),_vm._v(\" \"),_c('span',{staticClass:\"addBtn\",on:{\"click\":_vm.saveEdit}},[_vm._v(\"保存\")]),_vm._v(\" \"),_c('span',{staticClass:\"addBtn saveDel\",on:{\"click\":_vm.saveDel}},[_vm._v(\"删除\")])],1):_c('el-card',[_c('span',{staticClass:\"truth_content prewrap-content\",on:{\"click\":function($event){return _vm.editNode(item, 3)}}},[_vm._v(_vm._s(item.course_solve_content))])])],1)])}),_vm._v(\" \"),(_vm.addProblemSolve && _vm.course_solve_type == 3)?_c('el-step',{key:'cuowuAddKey',staticClass:\"st_2\",class:[_vm.courseIsuseradd == 3 ? 'st_2_shili' : '', 'addProblemSolve']},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"}),_vm._v(\" \"),_c('div',{staticClass:\"truth_card\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',[_c('el-input',{ref:'cuowuAdd',staticClass:\"preserve-indent\",staticStyle:{\"min-height\":\"30px !important\"},attrs:{\"type\":\"textarea\",\"id\":'cuowuAdd',\"autosize\":{ minRows: 1 },\"resize\":'none'},model:{value:(_vm.course_solve_content),callback:function ($$v) {_vm.course_solve_content=$$v},expression:\"course_solve_content\"}}),_vm._v(\" \"),_c('span',{staticClass:\"addBtn\",on:{\"click\":function($event){return _vm.saveAdd(3)}}},[_vm._v(\"保存\")]),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.course_solve_content))])],1)],1)]):_vm._e(),_vm._v(\" \"),(_vm.courseIsuseradd != 3)?_c('el-step',{staticClass:\"st_3\"},[_c('i',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('span',{staticClass:\"addStep\",on:{\"click\":function($event){return _vm.addUserQuestionSolveShow(3)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/add.svg\"),\"alt\":\"\"}})])])]):_vm._e()],2)],1)],1),_vm._v(\" \"),(_vm.dialogVisible)?_c('ProblemSolvingDialog',{ref:\"problemSolvingDialog\",attrs:{\"dialogVisible\":_vm.dialogVisible,\"title\":_vm.title,\"course_solve_type\":_vm.course_solve_type,\"course_solve_isuseradd\":_vm.course_solve_isuseradd,\"data\":_vm.selectData,\"isEdit\":_vm.isEdit},on:{\"addUserQuestionSolveSuc\":_vm.addUserQuestionSolve1,\"handleClose\":_vm.handleClose,\"del\":_vm.del}}):_vm._e()],1)],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"title\":\"\",\"visible\":_vm.dialogDelVisible,\"modal\":true,\"close-on-click-modal\":false,\"append-to-body\":true,\"top\":\"0vh\",\"center\":\"\"},on:{\"update:visible\":function($event){_vm.dialogDelVisible=$event}}},[_c('div',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"\\n      确定删除当前问题解决板块？\\n    \")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer del-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogDelVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.delUserQuestionSolve, \"click\", 300, [1, _vm.problemSolve.course_solve_id]]),expression:\"[delUserQuestionSolve, `click`, 300, [1, problemSolve.course_solve_id]]\"}],staticClass:\"comfirm-btn\",attrs:{\"type\":\"primary\"}},[_vm._v(\"确 定\")])],1)]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"当前内容与服务器不一致，确定保存当前内容？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleCon = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submitCon]),expression:\"[submitCon]\"}],staticClass:\"comfirm-btn\"},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-35454238\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/problemSolving.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-35454238\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./problemSolving.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./problemSolving.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./problemSolving.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-35454238\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./problemSolving.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-35454238\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/problemSolving.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAA5RJREFUeF7tmzFoVEEQQN8gqSKICoJgJ6II2kUEQcFCFJsoiAp24USwixYWolEsLGI6QQzpBBVB0ykWgoIg2kWUSLAQAoKgIpgqyOjo3vH9+ffv7v+53A97CwdHcn929s3f2dmZXaHLTVXXA7uBrcDm8FkHDAKrQ/c/gQXgG/AxfD4Ar0TkazdVlG4IV9WdwFFgL7CtZB+zwAvgoYjMlJS15HE3AKpq1jwFnAS2eCsa5M39eZPuAndExN6a0q00AFVdA9SAEcC+L0f7AUwBkyJi3wu3wgBU1Z49DlwEbE73opnPuAbcFxEtokAhAKq6CbgJDBXptAvPvAHOish8p7I7BqCqu8LrZ969Ss1WixERed2JUh0BUFVzcNeBgU46WcbfLgIXRMQcZVutLQCqugq4FJxdW4J7/KNJ4KqI/GqlR0sAYfDmcQ+0Elax/z8NUyIXQjsArqwgy6dtYMvk5TzD5AIIc/5GxSzbqTrn8nxCUwDB2z+osMNrF4Q5xmPNVodMAGGdfwxUbalrd9Dp39kSeSgrTlgCIER40xUKcooOOv2cBUvD6YgxC8AJYMKr14rJGRWRe0md/gMQNjYvexjbd5uX7R32JDdQaQDngdFua9Fj+RMiMl7XoQEg7OdtnpTe0n5ZWLTIsdE2DA60jMiyoHjJScm27fNQPZ+QBHAmhLulDVSbfr8xKWRyePvnIkK95GT0bWHyLft7EsBzr0yOl+JecjIAzInIvgaAkMN7UsRKWc94Ke4lp8m4DlqO8e8boKpjwOnIANwWkbE6gGcO2dsGPy/LeclpYthZEdkvIW//1sv6JsdLcS85OWPbYQAOW3Y1UgA1A2CBjwVAbs3Lcl5ycgY2bgAsu3vEbfQrawo8MgC2/Fkpy615Wc5LTs7AZgyApZEtz+/WvBT3kpMzsHkD8A5Y6zb6lTUFvhuAT95pLy/LecnJMe5iH0B/CvSdYH8ZjD4Qij4Ujn4zZNWfeLfDISMUb0KknxL7lxO03WC8SdHwFsSbFg8Aoi+M2FFXl9KY1y7OS05qN5hdGgtvgUtx1EtxLzkpANnF0QDACqOly+NeRU0vOQkA+eXxACHeAxIBgFWL4j0iEyBYkjTOQ1L1+RL1MbkEBDscHedByQSEeI/KBn9g533iPSydgBDncflkFBXthYkUhHivzCQcY7yXphIQ4r02l5oScV6cTFdco706m1V6jvLydLMafNWvz/8GNnpZadFmW24AAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/play_detail_pause.png\n// module id = cq5L\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMzcHgiIGhlaWdodD0iMzNweCIgdmlld0JveD0iMCAwIDMzLjAgMzMuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQwJSIgeT0iLTQwJSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB3aWR0aD0iMTYyLjIyMjIyMiUiIGhlaWdodD0iMTYyLjIyMjIyMiUiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJpMiI+PC9mZUdhdXNzaWFuQmx1cj48ZmVPZmZzZXQgZHg9IjIiIGR5PSIyIiBpbj0iaTIiIHJlc3VsdD0iaTMiPjwvZmVPZmZzZXQ+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjA1IDAiIHR5cGU9Im1hdHJpeCIgaW49ImkzIj48L2ZlQ29sb3JNYXRyaXg+PC9maWx0ZXI+PGNsaXBQYXRoIGlkPSJpNCI+PHBhdGggZD0iTTE2LjUsMCBDMjUuNjEyNjk4NCwwIDMzLDcuMzg3MzAxNjMgMzMsMTYuNSBDMzMsMjUuNjEyNjk4NCAyNS42MTI2OTg0LDMzIDE2LjUsMzMgQzcuMzg3MzAxNjMsMzMgMCwyNS42MTI2OTg0IDAsMTYuNSBDMCw3LjM4NzMwMTYzIDcuMzg3MzAxNjMsMCAxNi41LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNy4wIC0yNjEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLjAgMjYxLjApIHNjYWxlKC0xLjAgMS4wKSI+PGcgb3BhY2l0eT0iMSUiPjxwYXRoIGQ9Ik0xNi41LDMzIEMyNS42MTI2OTg0LDMzIDMzLDI1LjYxMjY5ODQgMzMsMTYuNSBDMzMsNy4zODczMDE2MyAyNS42MTI2OTg0LDAgMTYuNSwwIEM3LjM4NzMwMTYzLDAgMCw3LjM4NzMwMTYzIDAsMTYuNSBDMCwyNS42MTI2OTg0IDcuMzg3MzAxNjMsMzMgMTYuNSwzMyBaIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiIGZpbHRlcj0idXJsKCNpMSkiPjwvcGF0aD48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAzMywwIDMzLDMzIDAsMzMgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNGRkZGRkYiPjwvcG9seWdvbj48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjM1MTQ1ODg4NTk0MTc2NCAyNS4wMzQ0ODI3NTg2MjA2OCkgcm90YXRlKDkwLjApIHNjYWxlKC0xLjAgMS4wKSI+PHBhdGggZD0iTTE3LjA2ODk2NTUsMCBMOC41MzQwOTMzMiw3Ljk2NTUxNzI0IEwwLDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/go_button_think.svg\n// module id = d2Jb\n// module chunks = 171","<style src=\"./annotationLayer.css\"></style>\r\n<script>\r\n\r\n\timport componentFactory from './componentFactory.js'\r\n\r\n\tif ( process.env.VUE_ENV !== 'server' ) {\r\n\r\n\t\tvar pdfjsWrapper = require('./pdfjsWrapper.js').default;\r\n\t\tvar PDFJS = require('pdfjs-dist/es5/build/pdf.js');\r\n\r\n\t\tif ( typeof window !== 'undefined' && 'Worker' in window && navigator.appVersion.indexOf('MSIE 10') === -1 ) {\r\n\r\n\t\t\tvar PdfjsWorker = require('worker-loader!pdfjs-dist/es5/build/pdf.worker.js');\r\n\t\t\tPDFJS.GlobalWorkerOptions.workerPort = new PdfjsWorker();\r\n\t\t}\r\n\r\n\t\tvar component = componentFactory(pdfjsWrapper(PDFJS));\r\n\t} else {\r\n\r\n\t\tvar component = componentFactory({});\r\n\t}\r\n\r\n\texport default component;\r\n</script>\n\n\n// WEBPACK FOOTER //\n// node_modules/vue-pdf/src/vuePdfNoSss.vue","function injectStyle (ssrContext) {\n  require(\"!!../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f92faa3\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!./annotationLayer.css\")\n}\nvar normalizeComponent = require(\"!../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../vue-loader/lib/selector?type=script&index=0!./vuePdfNoSss.vue\"\nimport __vue_script__ from \"!!babel-loader!../../vue-loader/lib/selector?type=script&index=0!./vuePdfNoSss.vue\"\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-pdf/src/vuePdfNoSss.vue\n// module id = null\n// module chunks = ","import { EventBus } from \"@/utils/eventBus\";\r\nlet fullscreenMixins = {\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      isNeedOutFullscreenAni: false,\r\n      eyeAnimationIng: false\r\n    };\r\n  },\r\n  activated() {\r\n    console.log(\"fullscreen activated\");\r\n    this.isNeedOutFullscreenAni = false;\r\n  },\r\n  methods: {\r\n    courseChangeFullscreenWhite(whiteCom, pageName) {\r\n      console.log(\"fullscreen courseChangeFullscreen:\", whiteCom, pageName);\r\n      console.log(this.fullscreen, this.whiteCom, whiteCom, this.$route.name, this.pageName)\r\n      // 判断是否是全屏，是的话切换课程需要先缩小\r\n      if(this.course_id && this.fullscreen && this.whiteCom == whiteCom && this.$route.name == 'index' && this.pageName == pageName) {\r\n        this.toggle(whiteCom);\r\n      }\r\n    },\r\n    courseChangeFullscreenBlack(blackCom, pageName) {\r\n      console.log(\"fullscreen courseChangeFullscreenBlack:\", blackCom, pageName);\r\n      console.log(this.fullscreen, this.blackCom, blackCom, this.$route.name, this.pageName)\r\n      // 判断是否是全屏，是的话切换课程需要先缩小\r\n      if(this.course_id && this.fullscreen && this.blackCom == blackCom && this.$route.name == 'index') {\r\n        this.toggleBlack(blackCom);\r\n      }\r\n    },\r\n    toggle(whiteCom, isFullScreen) {\r\n      console.log(\"mixins toggle\");\r\n      if(this.eyeAnimationIng) {\r\n        return;\r\n      }\r\n      if(isFullScreen == this.fullscreen) {\r\n        return;\r\n      }\r\n      this.fullscreen = !this.fullscreen;\r\n      this.$store.dispatch(\"setWhiteFullScreenPages\", whiteCom).then(() => {\r\n        this.eyeAnimationIng = true;\r\n        if (!this.fullscreen) {\r\n          this.isNeedOutFullscreenAni = true;\r\n          EventBus.$emit(\"FULLSCREEN\", false);\r\n          this.$store.dispatch(\"clearHistoryOperate\");\r\n          // 需要在500ms后将isNeedOutFullscreen去掉， 因为position为fixed导致之前的动效失效;动画完成之后，将eyeAnimationIng设置未false\r\n          let timeout = setTimeout(() => {\r\n            this.isNeedOutFullscreenAni = false;\r\n            this.eyeAnimationIng = false;\r\n            clearTimeout(timeout);\r\n          }, 550);\r\n        } else {\r\n          EventBus.$emit(\"FULLSCREEN\", true);\r\n          \r\n          // 全屏操作记录\r\n          this.$store.dispatch(\"pushHistoryOperate\", {\r\n            type: \"fullscreen\",\r\n            com: whiteCom\r\n          });\r\n          let timeout = setTimeout(() => {\r\n            this.eyeAnimationIng = false;\r\n            clearTimeout(timeout);\r\n          }, 550);\r\n        }\r\n      });\r\n    },\r\n    toggleBlack(whiteCom) {\r\n      console.log(\"mixins toggleBlack\")\r\n      if(this.eyeAnimationIng) {\r\n        return;\r\n      }\r\n      this.$store.dispatch(\"setBlackFullScreenPages\", whiteCom).then(() => {\r\n        this.eyeAnimationIng = true;\r\n        this.fullscreen = !this.fullscreen;\r\n        if (!this.fullscreen) {\r\n          this.isNeedOutFullscreenAni = true;\r\n          EventBus.$emit(\"FULLSCREENBLACK\", false);\r\n          // 需要在500ms后将isNeedOutFullscreen去掉， 因为position为fixed导致之前的动效失效;动画完成之后，将eyeAnimationIng设置未false\r\n          let timeout = setTimeout(() => {\r\n            this.isNeedOutFullscreenAni = false;\r\n            this.eyeAnimationIng = false;\r\n            clearTimeout(timeout);\r\n          }, 550);\r\n        } else {\r\n          EventBus.$emit(\"FULLSCREENBLACK\", true);\r\n          let timeout = setTimeout(() => {\r\n            this.eyeAnimationIng = false;\r\n            clearTimeout(timeout);\r\n          }, 550);\r\n        }\r\n      });\r\n    }\r\n  }\r\n};\r\n\r\nexport default fullscreenMixins;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/fullscreenMixins.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEycHgiIGhlaWdodD0iMjJweCIgdmlld0JveD0iMCAwIDEyLjAgMjIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTQ0MSwwIEw0NDEsODEyIEwwLDgxMiBMMCwwIEw0NDEsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMxLjAgLTc0Ni4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDEuOTk3NzE4NDU3Njc2MDIgNzQ3LjAwMDAwMDAwMDAwMTQpIHJvdGF0ZSg5MC4wKSI+PHBhdGggZD0iTTE5LjQxNzQ3NTcsMCBMOS43MDgyOTQ4NSw5Ljk5NzcxODQ2IEwwLDAiIHN0cm9rZT0iI0ZGQjA5NSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/behavior_back.svg\n// module id = dZKo\n// module chunks = 171","<template>\r\n  <div class=\"main-content big-view bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n    <div class=\"pleft\">\r\n      <label class=\"ctitle\">我发布的心得</label>\r\n      <div class=\"pleftMenu\">\r\n        <el-menu :default-active=\"mainActive\" :default-openeds=\"['1']\">\r\n          <el-submenu index=\"1\">\r\n            <template slot=\"title\" v-if=\"app_type == 2\">课程</template>\r\n            <template slot=\"title\" v-else>笔记</template>\r\n            <el-menu-item\r\n              index=\"1-0\"\r\n              @click=\"allExperience\"\r\n              @mouseover.native=\"hiddenSubMenu\"\r\n              >{{ app_type == 2 ? \"全部课程\" : \"全部笔记\" }}</el-menu-item\r\n            >\r\n            <el-menu-item\r\n              :index=\"'1-' + (index + 1)\"\r\n              :id=\"'menuitem' + index\"\r\n              @mouseover.native=\"showSubMenu($event, index, item)\"\r\n              @click=\"selMenu(index, item)\"\r\n              v-for=\"(item, index) in menuList\"\r\n              :key=\"index\"\r\n              >{{ item.name }}</el-menu-item\r\n            >\r\n          </el-submenu>\r\n        </el-menu>\r\n        <div\r\n          class=\"submenu\"\r\n          id=\"submenu\"\r\n          v-show=\"showSub\"\r\n          @mouseleave=\"hiddenSubMenu\"\r\n        >\r\n          <label\r\n            class=\"smenuitem\"\r\n            :class=\"course_station2 == item.course_station_id ? 'sel' : ''\"\r\n            v-for=\"(item, index) in submenu\"\r\n            @click=\"selSubMenu(index)\"\r\n            :key=\"index\"\r\n            >{{ item.name }}</label\r\n          >\r\n        </div>\r\n        <div class=\"bqList\" @mouseover=\"hiddenSubMenu\">\r\n          <label class=\"bqtitle\"> 标签 </label>\r\n          <label\r\n            class=\"evbq\"\r\n            @click=\"selBq(-1)\"\r\n            :class=\"experience_tag_id == '' ? 'sel' : ''\"\r\n            >全部</label\r\n          >\r\n          <label\r\n            class=\"evbq\"\r\n            :class=\"experience_tag_id == item.experience_tag_id ? 'sel' : ''\"\r\n            @click=\"selBq(index)\"\r\n            v-for=\"(item, index) in bqList\"\r\n            :key=\"index\"\r\n            >{{ item.name }}</label\r\n          >\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"pright\">\r\n      <div class=\"top\" @click=\"back\">\r\n        <i\r\n          class=\"el-icon-arrow-left\"\r\n          :style=\"{\r\n            color: bgColor\r\n          }\"\r\n        />\r\n      </div>\r\n      <NoData v-if=\"!collList.length\" />\r\n      <div class=\"collectedList\">\r\n        <div class=\"list\">\r\n          <div\r\n            class=\"evCollected\"\r\n            v-for=\"(item, index) in collList\"\r\n            :key=\"index\"\r\n            @click=\"collectedMess(item)\"\r\n          >\r\n            <div class=\"header\">\r\n              <div class=\"left\">\r\n                <label class=\"btitle ellipsis-content\">{{\r\n                  item.experience_title\r\n                }}</label>\r\n                <label class=\"stitle\">{{ item.course_name }}</label>\r\n              </div>\r\n              <div class=\"right\">\r\n                <div\r\n                  v-if=\"item.experience_status === 2 && item.course_isuseradd == 2\"\r\n                  class=\"draft button_center\"\r\n                >\r\n                  已投稿\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <span class=\"content ellipsis-content\"\r\n              >{{ item.experience_content }}\r\n            </span>\r\n            <div class=\"typeArea\">\r\n              <label class=\"type\">{{ item.experience_tag_title }}</label>\r\n              <label class=\"clnum\">{{ item.experience_create_at }}</label>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <p v-if=\"publishExperienceLoading\" class=\"loading\">加载中...</p>\r\n        <p v-if=\"noMoreClass\" class=\"loading\">--到底啦--</p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getCourseClassList,\r\n  getExperienceTag,\r\n  getUserExperience\r\n} from \"@/api/index\";\r\nimport NoData from \"@/components/NoData\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nexport default {\r\n  components: { NoData },\r\n  data() {\r\n    return {\r\n      app_type: 2,\r\n      fullscreen: false,\r\n      collList: [],\r\n      isCollapse: false,\r\n      menuList: [],\r\n      bqList: [\"觉醒文化\", \"如理思维\", \"观念禅修\", \"心态禅修\", \"品质禅修\"],\r\n      submenu: [\"入门篇\", \"信仰篇\", \"人生篇\", \"社会篇\", \"利他篇\"],\r\n      showSub: false,\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      publishExperienceLoading: false,\r\n      noMoreClass: false,\r\n      course_station1: \"\",\r\n      course_station2: \"\",\r\n      experience_tag_id: \"\",\r\n      mainActive: \"1-0\",\r\n      mainIndex: null,\r\n      subMenuIndex: \"\",\r\n      bgColor:\r\n        this.$store.getters.whiteActiveIndex === 0\r\n          ? \"#71afbb\"\r\n          : this.$store.getters.whiteActiveIndex === 1\r\n          ? \"#64AFD5\"\r\n          : this.$store.getters.whiteActiveIndex === 2\r\n          ? \"#FFB096\"\r\n          : \"#2C51AF\"\r\n    };\r\n  },\r\n  computed: {\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    }\r\n  },\r\n  watch: {\r\n    whiteActiveIndex: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"whiteActiveIndex:\", newVal);\r\n        this.bgColor =\r\n          this.whiteActiveIndex === 0\r\n            ? \"#71afbb\"\r\n            : this.whiteActiveIndex === 1\r\n            ? \"#64AFD5\"\r\n            : this.whiteActiveIndex === 2\r\n            ? \"#FFB096\"\r\n            : \"#2C51AF\";\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n    selMenu(index, item) {\r\n      if (item.subMenu.length) {\r\n        return;\r\n      }\r\n      this.collList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.publishExperienceLoading = false;\r\n      this.course_station1 = this.menuList[index].course_station_id;\r\n      this.course_station2 = \"\";\r\n      this.collList = [];\r\n    },\r\n    showSubMenu(e, index, menu) {\r\n      this.mainIndex = index + 1;\r\n      if (!menu.subMenu.length) {\r\n        this.showSub = false;\r\n        return;\r\n      }\r\n      this.showSub = true;\r\n      // this.mainActive = \"1-\" + (index + 1);\r\n      const submenuId = document.getElementById(`submenu`);\r\n      const submenuitem = document.getElementById(`menuitem${index}`);\r\n      this.submenu = this.menuList[index].subMenu;\r\n      this.subMenuIndex = index;\r\n      // this.course_station1 = this.menuList[index].course_station_id;\r\n      submenuId.style.top = submenuitem.offsetTop + \"px\";\r\n    },\r\n    selSubMenu(index) {\r\n      this.collList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.publishExperienceLoading = false;\r\n      this.mainActive = \"1-\" + this.mainIndex;\r\n      this.course_station2 = this.submenu[index].course_station_id;\r\n      this.course_station1 = this.menuList[this.subMenuIndex].course_station_id;\r\n      console.log(\"course_station1:\", this.course_station1);\r\n      this.collList = [];\r\n    },\r\n    allExperience() {\r\n      this.course_station1 = \"\";\r\n      this.course_station2 = \"\";\r\n      this.collList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.publishExperienceLoading = false;\r\n    },\r\n    selBq(index) {\r\n      this.experience_tag_id =\r\n        index >= 0 ? this.bqList[index].experience_tag_id : \"\";\r\n      this.collList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.publishExperienceLoading = false;\r\n    },\r\n    hiddenSubMenu() {\r\n      this.showSub = false;\r\n    },\r\n    getCourseClassList() {\r\n      getCourseClassList().then(res => {\r\n        console.log(res);\r\n        this.menuList = [];\r\n        if (res && res.code == 0) {\r\n          res.data.forEach(item => {\r\n            let evmenu = {\r\n              name: item.course_class_name,\r\n              course_station_id: item.course_class_id,\r\n              subMenu: []\r\n            };\r\n            item.course_class1.forEach(item1 => {\r\n              evmenu.subMenu.push({\r\n                name: item1.course_class_name,\r\n                course_station_id: item1.course_class_id\r\n              });\r\n            });\r\n            this.menuList.push(evmenu);\r\n          });\r\n        }\r\n      });\r\n    },\r\n    getExperienceTag() {\r\n      getExperienceTag().then(res => {\r\n        this.bqList = [];\r\n        if (res && res.code == 0) {\r\n          res.data.forEach(item => {\r\n            this.bqList.push({\r\n              name: item.experience_tag_title,\r\n              experience_tag_id: item.experience_tag_id\r\n            });\r\n          });\r\n        }\r\n      });\r\n    },\r\n    getUserExperience() {\r\n      const params = {\r\n        page: this.classPage,\r\n        pageSize: this.pageSize,\r\n        course_class1: this.course_station1,\r\n        course_class2: this.course_station2,\r\n        experience_tag_id: this.experience_tag_id,\r\n        // experience_status: 2\r\n      };\r\n      console.log(\"getUserExperience:\", params);\r\n      getUserExperience(params).then(res => {\r\n        console.log(res);\r\n        this.publishExperienceLoading = false;\r\n        if (res && res.code === 0) {\r\n          res.data.forEach(item => {\r\n            item.experience_create_at = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          this.collList.push(...res.data);\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n      });\r\n    },\r\n    load() {\r\n      console.log(\"load:\", this.noMoreClass, this.publishExperienceLoading);\r\n      if (this.noMoreClass || this.publishExperienceLoading) {\r\n        return;\r\n      }\r\n      this.classPage += 1;\r\n      if(this.classPage == 1) {\r\n        this.collList = [];\r\n      }\r\n      this.publishExperienceLoading = true;\r\n      this.getUserExperience();\r\n    },\r\n    init() {\r\n      this.collList = [];\r\n      this.classPage = 0;\r\n      // this.course_station1 = \"\";\r\n      // this.course_station2 = \"\";\r\n      // this.experience_tag_id = \"\";\r\n      this.noMoreClass = false;\r\n      this.publishExperienceLoading = false;\r\n    },\r\n    collectedMess(item) {\r\n      this.$router.push({\r\n        path: \"/white/EditTips\",\r\n        query: {\r\n          experience_id: item.experience_id,\r\n          experience_isuseradd: item.experience_isuseradd\r\n        }\r\n      });\r\n      // this.$router.push(\"/white/ExperienceMess?id=\" + item.experience_id);\r\n    }\r\n  },\r\n  activated() {\r\n    this.getCourseClassList();\r\n    this.getExperienceTag();\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.toggle();\r\n    // this.getCourseClassList();\r\n    // this.getExperienceTag();\r\n    // this.init();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  background-color: #eaedef;\r\n  overflow: hidden;\r\n  display: flex;\r\n  z-index: 105;\r\n}\r\n.pleft {\r\n  display: flex;\r\n  flex-direction: column;\r\n  width: 160px;\r\n  margin-top: 25px;\r\n  margin-left: 32px;\r\n  .ctitle {\r\n    font-size: 16px;\r\n    font-family: \"SourceHanSansCN\";\r\n    color: #292929;\r\n    margin-left: 12px;\r\n    display: flex;\r\n    align-items: center;\r\n    &::before {\r\n      content: \"\";\r\n      width: 4px;\r\n      height: 4px;\r\n      background: #64afd5;\r\n      border-radius: 50%;\r\n      display: block;\r\n      margin-right: 5px;\r\n    }\r\n  }\r\n  .pleftMenu {\r\n    width: 160px;\r\n    height: auto;\r\n    padding: 17px;\r\n    border-radius: 16px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    margin-top: 26px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    position: relative;\r\n    .el-menu {\r\n      border-right: 0;\r\n      width: 120px;\r\n      /deep/.el-submenu__title {\r\n        padding: 0 !important;\r\n        width: 100%;\r\n        text-align: center;\r\n        color: #64afd5;\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Medium;\r\n        position: relative;\r\n        height: 40px;\r\n        line-height: 40px;\r\n        // &::after {\r\n        //   width: 46px;\r\n        //   height: 3px;\r\n        //   content: \"\";\r\n        //   background-color: #64afd5;\r\n        //   position: absolute;\r\n        //   bottom: 10px;\r\n        //   left: 37px;\r\n        // }\r\n      }\r\n      /deep/.el-icon-arrow-down:before {\r\n        content: \"\";\r\n      }\r\n    }\r\n    /deep/ .el-submenu .el-menu {\r\n      padding-top: 12px;\r\n    }\r\n    /deep/.el-submenu .el-menu-item {\r\n      padding: 0 !important;\r\n      text-align: center;\r\n      font-size: 12px;\r\n      font-family: \"SourceHanSansCN\";\r\n      color: #7e878c;\r\n      min-width: 120px;\r\n      background-color: #fff;\r\n      line-height: 18px;\r\n      height: 32px;\r\n    }\r\n    .is-active,\r\n    .is-active:hover,\r\n    .el-submenu .el-menu-item:hover {\r\n      color: #64afd5 !important;\r\n      background-color: #fff;\r\n    }\r\n    .bqList {\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      &::before {\r\n        width: 78px;\r\n        height: 1px;\r\n        content: \"\";\r\n        background-color: #64afd5;\r\n      }\r\n      .bqtitle {\r\n        font-size: 12px;\r\n        color: #7e878c;\r\n        font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n        margin: 17px 0 25px;\r\n        font-weight: bold;\r\n      }\r\n      .evbq {\r\n        // padding-bottom: 35px;\r\n        height: 32px;\r\n        color: #7e878c;\r\n        font-family: SourceHanSansCN;\r\n        font-size: 12px;\r\n        line-height: 18px;\r\n        cursor: pointer;\r\n        &:hover,\r\n        &.sel {\r\n          color: #64afd5;\r\n        }\r\n      }\r\n    }\r\n    .submenu {\r\n      position: absolute;\r\n      white-space: nowrap;\r\n      padding: 30px 60px;\r\n      left: 161px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      background: #fdfdfd;\r\n      box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n        3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n      border-radius: 8px;\r\n      .smenuitem {\r\n        display: flex;\r\n        white-space: nowrap;\r\n        // max-width: 300px;\r\n        text-align: center;\r\n        height: 36px;\r\n        line-height: 36px;\r\n        color: #292929;\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        cursor: pointer;\r\n        &:hover,\r\n        &.sel {\r\n          color: #64afd5;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n.pright {\r\n  display: flex;\r\n  flex-direction: column;\r\n  margin-left: 70px;\r\n  margin-top: 25px;\r\n  // width: calc(100% - 192px);\r\n  flex: 1;\r\n  min-height: 0;\r\n  .top {\r\n    display: flex;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    i {\r\n      font-size: 20px;\r\n      font-weight: bold;\r\n    }\r\n    img {\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n  }\r\n  .collectedList {\r\n    // width: 75%;\r\n    // height: 100%;\r\n    padding-right: 0;\r\n    flex: 1;\r\n    min-height: 0;\r\n    overflow-y: auto;\r\n    margin-top: 26px;\r\n    padding-bottom: 20px;\r\n    .list {\r\n      display: flex;\r\n      justify-content: flex-start;\r\n      flex-wrap: wrap;\r\n      align-content: flex-start;\r\n      overflow-y: auto;\r\n      .none_wrapper {\r\n      width: 100%;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      height: 100%;\r\n      flex-direction: column;\r\n      p {\r\n        font-size: 16px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 24px;\r\n        margin-top: 20px;\r\n      }\r\n    }\r\n    .evCollected {\r\n      cursor: pointer;\r\n      display: flex;\r\n      flex-direction: column;\r\n      width: 306px;\r\n      height: 180px;\r\n      background: #fdfdfd;\r\n      box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n        3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n      border-radius: 8px;\r\n      border: 1px solid #ffffff;\r\n      margin-right: 20px;\r\n      margin-bottom: 20px;\r\n      .header {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        border-bottom: 1px solid #f3f3f4;\r\n        .draft {\r\n          width: 47px;\r\n          height: 18px;\r\n          line-height: 18px;\r\n          border-radius: 4px;\r\n          border: 1px solid #d4d9db;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #d4d9db;\r\n          margin-right: 10px;\r\n          text-align: center;\r\n        }\r\n      }\r\n      .left {\r\n        width: 100%;\r\n      }\r\n      .btitle {\r\n        font-size: 14px;\r\n        color: #292929;\r\n        font-family: SourceHanSansCN-Medium;\r\n        padding: 10px 15px 0 15px;\r\n        -webkit-line-clamp: 1;\r\n        margin-bottom: 5px;\r\n      }\r\n      .stitle {\r\n        font-size: 12px;\r\n        color: #bcc4c8;\r\n        font-family: \"SourceHanSansCN\";\r\n        padding: 0 15px 9px 15px;\r\n        // border-bottom: 1px solid #f3f3f4;\r\n        width: 100%;\r\n        display: inline-block;\r\n      }\r\n      .content {\r\n        font-size: 12px;\r\n        color: #7e878c;\r\n        padding: 10px 15px 0 15px;\r\n        margin-bottom: 2px;\r\n        height: 63px;\r\n        display: -webkit-box;\r\n        word-break: break-all;\r\n        text-overflow: ellipsis;\r\n        -webkit-box-orient: vertical;\r\n        -webkit-line-clamp: 3;\r\n        overflow: hidden;\r\n      }\r\n      .typeArea {\r\n        padding: 15px 15px 0;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: flex-end;\r\n\r\n        .type {\r\n          border: 1px solid #FFB096;\r\n          border-radius: 4px;\r\n          height: 23px;\r\n          line-height: 23px;\r\n          font-size: 12px;\r\n          color: #FFB096;\r\n          padding: 0 7px 0 5px;\r\n          display: flex;\r\n          align-items: center;\r\n          &::before {\r\n            content: \"\";\r\n            width: 5px;\r\n            height: 5px;\r\n            border-radius: 50%;\r\n            background-color: #FFB096;\r\n            display: block;\r\n            margin-right: 5px;\r\n          }\r\n        }\r\n        .clnum {\r\n          font-size: 12px;\r\n          color: #bcc4c8;\r\n          font-family: \"SourceHanSansCN\";\r\n        }\r\n      }\r\n    }\r\n    }\r\n  }\r\n}\r\n.loading {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 26px;\r\n  width: 100%;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/pulishExperience.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"main-content big-view bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : ''],attrs:{\"infinite-scroll-distance\":1}},[_c('div',{staticClass:\"pleft\"},[_c('label',{staticClass:\"ctitle\"},[_vm._v(\"我发布的心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"pleftMenu\"},[_c('el-menu',{attrs:{\"default-active\":_vm.mainActive,\"default-openeds\":['1']}},[_c('el-submenu',{attrs:{\"index\":\"1\"}},[(_vm.app_type == 2)?_c('template',{slot:\"title\"},[_vm._v(\"课程\")]):_c('template',{slot:\"title\"},[_vm._v(\"笔记\")]),_vm._v(\" \"),_c('el-menu-item',{attrs:{\"index\":\"1-0\"},on:{\"click\":_vm.allExperience},nativeOn:{\"mouseover\":function($event){return _vm.hiddenSubMenu.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.app_type == 2 ? \"全部课程\" : \"全部笔记\"))]),_vm._v(\" \"),_vm._l((_vm.menuList),function(item,index){return _c('el-menu-item',{key:index,attrs:{\"index\":'1-' + (index + 1),\"id\":'menuitem' + index},on:{\"click\":function($event){return _vm.selMenu(index, item)}},nativeOn:{\"mouseover\":function($event){return _vm.showSubMenu($event, index, item)}}},[_vm._v(_vm._s(item.name))])})],2)],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSub),expression:\"showSub\"}],staticClass:\"submenu\",attrs:{\"id\":\"submenu\"},on:{\"mouseleave\":_vm.hiddenSubMenu}},_vm._l((_vm.submenu),function(item,index){return _c('label',{key:index,staticClass:\"smenuitem\",class:_vm.course_station2 == item.course_station_id ? 'sel' : '',on:{\"click\":function($event){return _vm.selSubMenu(index)}}},[_vm._v(_vm._s(item.name))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"bqList\",on:{\"mouseover\":_vm.hiddenSubMenu}},[_c('label',{staticClass:\"bqtitle\"},[_vm._v(\" 标签 \")]),_vm._v(\" \"),_c('label',{staticClass:\"evbq\",class:_vm.experience_tag_id == '' ? 'sel' : '',on:{\"click\":function($event){return _vm.selBq(-1)}}},[_vm._v(\"全部\")]),_vm._v(\" \"),_vm._l((_vm.bqList),function(item,index){return _c('label',{key:index,staticClass:\"evbq\",class:_vm.experience_tag_id == item.experience_tag_id ? 'sel' : '',on:{\"click\":function($event){return _vm.selBq(index)}}},[_vm._v(_vm._s(item.name))])})],2)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"pright\"},[_c('div',{staticClass:\"top\",on:{\"click\":_vm.back}},[_c('i',{staticClass:\"el-icon-arrow-left\",style:({\n          color: _vm.bgColor\n        })})]),_vm._v(\" \"),(!_vm.collList.length)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"collectedList\"},[_c('div',{staticClass:\"list\"},_vm._l((_vm.collList),function(item,index){return _c('div',{key:index,staticClass:\"evCollected\",on:{\"click\":function($event){return _vm.collectedMess(item)}}},[_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"left\"},[_c('label',{staticClass:\"btitle ellipsis-content\"},[_vm._v(_vm._s(item.experience_title))]),_vm._v(\" \"),_c('label',{staticClass:\"stitle\"},[_vm._v(_vm._s(item.course_name))])]),_vm._v(\" \"),_c('div',{staticClass:\"right\"},[(item.experience_status === 2 && item.course_isuseradd == 2)?_c('div',{staticClass:\"draft button_center\"},[_vm._v(\"\\n                已投稿\\n              \")]):_vm._e()])]),_vm._v(\" \"),_c('span',{staticClass:\"content ellipsis-content\"},[_vm._v(_vm._s(item.experience_content)+\"\\n          \")]),_vm._v(\" \"),_c('div',{staticClass:\"typeArea\"},[_c('label',{staticClass:\"type\"},[_vm._v(_vm._s(item.experience_tag_title))]),_vm._v(\" \"),_c('label',{staticClass:\"clnum\"},[_vm._v(_vm._s(item.experience_create_at))])])])}),0),_vm._v(\" \"),(_vm.publishExperienceLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMoreClass)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()])],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7cc1efe0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/pulishExperience.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7cc1efe0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./pulishExperience.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./pulishExperience.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./pulishExperience.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7cc1efe0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./pulishExperience.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7cc1efe0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/pulishExperience.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjUwcHgiIGhlaWdodD0iNTBweCIgdmlld0JveD0iMCAwIDUwIDUwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT5wYXVzZeWkh+S7vTwvdGl0bGU+DQogICAgPGRlZnM+DQogICAgICAgIDxjaXJjbGUgaWQ9InBhdGgtMSIgY3g9IjE5IiBjeT0iMTkiIHI9IjE5Ij48L2NpcmNsZT4NCiAgICAgICAgPGZpbHRlciB4PSItMjEuMSUiIHk9Ii0yMS4xJSIgd2lkdGg9IjE1Mi42JSIgaGVpZ2h0PSIxNTIuNiUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4NCiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMiIgZHk9IjIiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+DQogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+DQogICAgICAgIDwvZmlsdGVyPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9Ii0yLjYyNzcxNjIyZS0xMSUiIHkxPSIzOS43Mjc3MDk1JSIgeDI9IjEwMCUiIHkyPSIzOS43Mjc3MDk1JSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QiIgb2Zmc2V0PSIwJSI+PC9zdG9wPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+DQogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMy45ODYwNDEwNmUtMTMlIiB5MT0iNDUuNTk2ODQxMyUiIHgyPSIxMDAlIiB5Mj0iNDUuNTk2ODQxMyUiIGlkPSJsaW5lYXJHcmFkaWVudC00Ij4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkFFOEIiIG9mZnNldD0iMCUiPjwvc3RvcD4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRDc0NkIiIG9mZnNldD0iMTAwJSI+PC9zdG9wPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgIDwvZGVmcz4NCiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG155m9bWluaVYy5b+D5oCB5o+Q5Lqk5b+D5b6XZnVsbC1zY3JlZW4iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03NzkuMDAwMDAwLCAtNjUzLjAwMDAwMCkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC025aSH5Lu9IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDAuMDAwMDAwLCA0NDQuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC05IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy4wMDAwMDAsIDE2NS4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9InBhdXNl5aSH5Lu9IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMjYuMDAwMDAwLCA0OC4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSLmpK3lnIblvaIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50LTMpIiB4PSIxNC45MTM3OTMxIiB5PSIxMi42OTQwNzQyIiB3aWR0aD0iMS4wMDYxMTk0OSIgaGVpZ2h0PSIxMi4zMzc1ODE1IiByeD0iMC41MDMwNTk3NDciPjwvcmVjdD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tMiIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50LTQpIiB4PSIyNC43Njk4ODIiIHk9IjEyLjY5NDA3NDIiIHdpZHRoPSIxLjAwNjExOTQ5IiBoZWlnaHQ9IjEyLjMzNzU4MTUiIHJ4PSIwLjUwMzA1OTc0NyI+PC9yZWN0Pg0KICAgICAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tip_audio_pause.svg\n// module id = e19K\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDI0LTA1LTIzVDE1OjU3OjExKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wNS0yM1QxNjowNjo0NyswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0wNS0yM1QxNjowNjo0NyswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphZTFiNzgzNy1mZTkwLTgwNDAtOGUzNS0xMGQ4ODc2ZmNmZDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6YWUxYjc4MzctZmU5MC04MDQwLThlMzUtMTBkODg3NmZjZmQ3IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YWUxYjc4MzctZmU5MC04MDQwLThlMzUtMTBkODg3NmZjZmQ3Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphZTFiNzgzNy1mZTkwLTgwNDAtOGUzNS0xMGQ4ODc2ZmNmZDciIHN0RXZ0OndoZW49IjIwMjQtMDUtMjNUMTU6NTc6MTErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ZJTyNAAADaUlEQVRYhe2YP2zcVBzHv882SZ3jLF/u8izLPnvLgKiSCokidenQdgNVTCzA1AEQA6IwVWJjqIQQqAMCtgohVQgJtV0yNUM3/qgqYkIQP9uXs+/suySH77icbRauSqIjse8MCVK+09Pv/fz7fmT7/d7TI2ma4iRKAID19fWZC2ma9s5gMHidEDJst9vPFwJWhHZ3dy8GQbDC83wh9bhCqvwLOrFgTz6lYRjn4zhePZjAcdzvtm2vFW1sGIYSx/HVg3FCyJDn+a8FANA07Rpj7PNJBWRZdgDUiwZLkuSK67qfTZqTJOkmBwCj0ehy0cazKIqi6r5VSQiBrutXD8Sa3W63cHOe5+/X6/V9XlEUfRAEwTlgQruwbfu7wikmyLKsEMA+L0rpG+PxiV2Vp2B5dQqWV6dgeZUZTNO065qmvT+LmWmaZyila6ZpLh6Vm+k8pqrqrUaj8RbHcamu6786jvPtNGA7OzuPwjBcLpVKlmEYzzDG7H/KzfTGOI57RAhBHMfE9/07hmGs5oWilK6FYbgMAIIg9Aghm4d6Zinquu4XiqJ8BADD4ZBvt9sPTdOkWaFUVf3U9/3LAFAqlf6QZfmsZVmjmcEAYHNz8zql9B4ARFG00Ol0HpumOXfUc5qmvel53tsAMD8/P6pWqy9YltU+6rlcq9L3/RcXFxd/AYDt7W3a6/V+OCy/Xq9f8TzvVpIkEAQhpZS+zBj7OYtX7nZRLpfPSZLUAoAgCJ6llE48jRiGsdxqte6NRiNCCIGiKO/atn03q09uMMuyhrIsn11YWOgDgO/7L6mqenNvjmmachiG3w8Gg6cAQFGUL13X/TiPz1QNljHm1Wq1C3NzczEAeJ73XhzHxnh+a2vrca/XKwPA0tLSerPZvJbXY+rOzxj7iVL6Cs/zaZIk6Ha7KwDw91gHgEql8lur1bo4Tf2ZtiTHcb5RFOXGuMcBwPjKoVwudyVJWpm29sx7ZaPR+FBRlNt7Y6Io/lmpVFYty+odGxgANJvN16rV6o8AIAhCUqvVLjHGrFlqFnZ3EQTBc7quv8px3IPD9sCsKgwMABzHuX10Vjb9/89j/7VOLNi+fyxNU4ii2D8umE6n8+S0IgAAx3GNcaDf7585Dqi9EgRhl6Rpio2Njaf7/f5XcRybxw0FIBFF8ZO/ANwKP0rQYRJ3AAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/audio_download_disabled.png\n// module id = e2ad\n// module chunks = 171","<!--  -->\n<template>\n  <div\n    class=\"header\"\n    :style=\"{ backgroundColor: theme === 'white' ? '#eaedef' : '#1f1f1f' }\"\n  >\n    <div class=\"left\">\n      <img\n        src=\"@/assets/img/logo_culture.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-if=\"whiteActiveIndex === 0 && app_type == 1\"\n      />\n      <img\n        src=\"@/assets/img/logo_culture_overseas.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-else-if=\"whiteActiveIndex === 0 && app_type == 2\"\n      />\n      <img\n        src=\"@/assets/img/logo_thinking.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-else-if=\"whiteActiveIndex === 1 && app_type == 1\"\n      />\n      <img\n        src=\"@/assets/img/logo_thinking_overseas.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-else-if=\"whiteActiveIndex === 1 && app_type == 2\"\n      />\n      <img\n        src=\"@/assets/img/logo_behavior.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-else-if=\"whiteActiveIndex === 2 && app_type == 1\"\n      />\n      <img\n        src=\"@/assets/img/logo_behavior_overseas.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-else-if=\"whiteActiveIndex === 2 && app_type == 2\"\n      />\n      <img\n        src=\"@/assets/img/logo_personality.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-else-if=\"whiteActiveIndex === 3 && app_type == 1\"\n      />\n      <img\n        src=\"@/assets/img/logo_personality_overseas.svg\"\n        @click=\"toIndex\"\n        :class=\"[$route.name !== 'index' ? 'back' : '']\"\n        v-else\n      />\n      <div\n        class=\"babu1\"\n        :style=\"{\n          'border-color': bgColor\n        }\"\n      ></div>\n      <div class=\"tx\" @click=\"showCourse\">\n        <i\n          id=\"index_step7\"\n          class=\"el-icon-arrow-down\"\n          :style=\"{\n            color: bgColor,\n            'border-color': bgColor\n          }\"\n        ></i>\n        <p v-if=\"isGuiding\">笔记目录|智慧人生</p>\n        <p v-else>{{ name }}</p>\n      </div>\n      <div\n        class=\"theme\"\n        :style=\"{ color: theme === 'black' ? '#fff' : '#000' }\"\n      >\n       {{ isGuiding ? '人生五大问题' : course_name }}\n      </div>\n    </div>\n    <div\n      class=\"right\"\n      :style=\"{\n        color: bgColor\n      }\"\n    >\n      <i id=\"index_step10\" class=\"icon iconfont bs-log\" @click=\"toPage(1)\"></i>\n      <i class=\"line\"></i>\n      <i\n        id=\"index_step9\"\n        class=\"icon iconfont bs-center\"\n        @click=\"toPage(2)\"\n      ></i>\n      <i class=\"icon iconfont bs-setting\" @click=\"toPage(3)\"></i>\n      <i class=\"icon iconfont bs-notice\" :class=\"userMessageUnread > 0 ? 'notice' : ''\" @click=\"toPage(4)\"></i>\n      <!-- <img src=\"@/assets/img/tag.svg\" width=\"28\" height=\"28\" @click=\"showDropdown\"/> -->\n      <el-popover\n        placement=\"bottom-end\"\n        :title=\"mindMessage ? mindMessage.msg_title : ''\"\n        trigger=\"manual\"\n        :content=\"mindMessage ? mindMessage.msg_content : ''\"\n        popper-class=\"mindMessage\"\n        v-model=\"visibleToast\">\n        <el-dropdown slot=\"reference\" ref=\"myDropdown\" trigger=\"click\" @command=\"handleCommand\" @click.native=\"preventDropdown\">\n          <span class=\"el-dropdown-link\">\n            <img id=\"index_step8\" src=\"@/assets/img/tag.svg\" />\n          </span>\n          <el-dropdown-menu slot=\"dropdown\" class=\"dropdown\">\n            <el-dropdown-item command=\"4\">小觉解惑</el-dropdown-item>\n            <el-dropdown-item command=\"1\" v-if=\"!isDisabledGuide\">功能说明</el-dropdown-item>\n            <el-dropdown-item command=\"2\" v-if=\"xiaojue_open == 1\">我有疑问</el-dropdown-item>\n            <el-dropdown-item command=\"3\">退出登录</el-dropdown-item>\n          </el-dropdown-menu>\n        </el-dropdown>\n      </el-popover>\n\n    </div>\n    <Course\n      :dialogVisible=\"dialogVisible\"\n      :parent=\"that\"\n      :course=\"course\"\n      :course_id=\"course_id\"\n      :pageNamePro=\"pageNamePro\"\n      @closeDialog=\"handleClose\"\n    />\n    <el-dialog\n      class=\"function\"\n      title=\"主页功能说明\"\n      :visible=\"dialogVisibleFu\"\n      width=\"60%\"\n      :modal=\"true\"\n      :close-on-click-modal=\"false\"\n      :destroy-on-close=\"true\"\n      :append-to-body=\"true\"\n      top=\"0vh\"\n    >\n      <el-carousel :interval=\"5000\" arrow=\"always\">\n        <!-- <el-carousel-item v-for=\"item in 4\" :key=\"item\">\n          <h3>{{ item }}</h3>\n        </el-carousel-item> -->\n      </el-carousel>\n      <span slot=\"footer\" class=\"dialog-footer\">\n        <!-- <el-button @click=\"dialogVisibleFu = false\">取 消</el-button> -->\n        <el-button type=\"primary\" @click=\"dialogVisibleFu = false\"\n          >知道了</el-button\n        >\n      </span>\n    </el-dialog>\n  </div>\n</template>\n\n<script>\nimport Course from \"./Course.vue\";\nimport { EventBus } from \"@/utils/eventBus\";\n\n\nexport default {\n  components: { Course },\n  props: {\n    theme: {\n      type: String,\n      default: \"white\"\n    },\n    bgColorPro: {\n      type: String,\n      default: \"\"\n    },\n    isDisabledGuide: {\n      type: Boolean,\n      default: false\n    },\n    pageNamePro: {\n      type: String,\n      default: \"\"\n    },\n  },\n  data() {\n    return {\n      dialogVisible: false,\n      // iIndexicon: this.iIndex_icon,\n      name: \"\",\n      // 对话框关闭icon\n      showClo: false,\n      that: this,\n      course_name: \"\",\n      isBlackMine: false,\n      bgColor: \"#71afbb\",\n      dialogVisibleFu: false,\n      isGuiding: false,\n      app_type: localStorage.getItem(\"app_type\"),\n      situation: \"\",\n      visibleToast: false,\n      mindMessage: {}\n    };\n  },\n  computed: {\n    course() {\n      return this.$store.getters.course;\n    },\n    courseBase() {\n      return this.$store.getters.courseBase;\n    },\n    course_id() {\n      return this.$store.getters.course_id;\n    },\n    whiteActiveIndex() {\n      return this.$store.getters.whiteActiveIndex;\n    },\n    whiteCom() {\n      return this.$store.getters.whiteCom;\n    },\n    pageName() {\n      return this.$store.getters.pageName;\n    },\n    xiaojue_open() {\n      return this.$store.getters.xiaojue_open;\n    },\n    historyOperate() {\n      return this.$store.getters.historyOperate;\n    },\n    courseIsuseradd() {\n      return this.$store.getters.courseIsuseradd;\n    },\n    isLoading() {\n      return this.$store.getters.isLoading;\n    },\n    isFromIndex() {\n      return this.$store.getters.isFromIndex;\n    },\n    user() {\n      let user = this.$store.getters.user;\n      if (typeof user == \"string\") {\n        return JSON.parse(user);\n      } else {\n        return user;\n      }\n    },\n    userMessageUnread() {\n      return this.$store.getters.userMessageUnread;\n    },\n  },\n  watch: {\n    $route: {\n      deep: true,\n      handler: function(newVal, oldVal) {\n        console.log(\"blackCaseList route:\", newVal, oldVal);\n        if((oldVal.name == 'TipsList' && newVal.name == 'index' && this. pageName == 'black') || (oldVal.name == 'EditTips' && newVal.name == 'index' && this. pageName == 'black') ) {\n          EventBus.$emit(\"BACK_FROM_BlACK_CASE_LIST\");\n        }\n      }\n    },\n    course: {\n      deep: true,\n      handler: function(v) {\n        console.log(\"course:\", this.course);\n        if (v && v.length) {\n          const course = JSON.parse(v);\n          const cou = course[0];\n          let name = cou.jdname;\n          if (cou.dyname) {\n            name += \" | \" + cou.dyname;\n          }\n          this.name = name;\n          this.course_name = cou.course_name;\n        } else {\n          this.name = \"\";\n          this.course_name = \"\";\n        }\n      }\n    },\n    whiteActiveIndex: {\n      deep: true,\n      handler: function(v) {\n        if (this.whiteActiveIndex === 0) {\n          this.bgColor = \"#71afbb\";\n        } else if (this.whiteActiveIndex === 1) {\n          this.bgColor = \"#64AFD5\";\n        } else if (this.whiteActiveIndex === 2) {\n          this.bgColor = \"#FFB096\";\n        } else if (this.whiteActiveIndex === 3) {\n          this.bgColor = \"#2C51AF\";\n        }\n      }\n    }\n  },\n  methods: {\n    toIndex() {\n      if(this.isLoading) {\n        return;\n      }\n      if(this.pageName  == 'white' && this.$route.name == 'index' && this.$route.hash == \"\") {\n        return;\n      }\n      // if(this.isFromIndex) {\n      //   EventBus.$emit(\n      //     \"BACK_FROM_BlACK_CASE_LIST\",\n      //     this.$route.query.case_tag_type\n      //   );\n      // }\n      this.situation = 1;\n      // 如果是思维导图，则提示弹出是否保存\n      if (this.whiteCom === \"Mind\" && this.$route.name != \"CourseSelect\" && this.courseIsuseradd != 3 && this.pageName == 'white') {\n        console.log(\"MIND_OUTLINE_SAVE\");\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Logo\");\n        EventBus.$emit(\"LOGO_CLICK\", true);\n      } else if (\n        this.whiteCom === \"CultrueContent\" &&\n        this.$route.name != \"CourseSelect\"\n        && this.courseIsuseradd != 3\n        && this.pageName == 'white'\n        && !(this.courseBase.course_intro_isedit == 2 && this.app_type == 2 && this.courseIsuseradd == 2)\n      ) {\n        // 课程内容弹出提示框\n        console.log(\"CultrueContentEdit\");\n        EventBus.$emit(\"CultrueContentEdit\", \"Logo\");\n        EventBus.$emit(\"LOGO_CLICK\", true);\n      }  else if (\n        this.$route.name == \"TipsViewAdd\"\n        && this.courseIsuseradd != 3\n         && this.pageName == 'white'\n      ) {\n        // 课程内容弹出提示框\n        console.log(\"TipsViewAddEdit\");\n        EventBus.$emit(\"TipsViewAddEdit\", \"Logo\");\n        EventBus.$emit(\"LOGO_CLICK\", true);\n      } else if(this.pageName  == 'white' && this.$route.name != 'index') {\n        EventBus.$emit(\"toIndex\");\n      } else {\n        this.$router.replace(\"/\");\n        this.toIndex1();\n      }\n    },\n    toIndex1() {\n      EventBus.$emit(\"CultureIndex\");\n      const isContained = this.historyOperate.some(item => {\n        return item.type === \"fullscreen\";\n      });\n      console.log(\"isContainedisContained:\", isContained)\n      if(isContained) {\n        EventBus.$emit(\"closeFullScreen\");\n      } else {\n        EventBus.$emit(\"CLOSE_OTHER_PAGE\", true);\n      }\n\n    },\n    showDropdown() {\n      this.showDropdown = true;\n    },\n    handleCloseFu() {\n      this.dialogVisibleFu = false;\n    },\n    preventDropdown(e) {\n      if(this.isLoading) {\n        this.$refs.myDropdown.hide();\n        e.preventDefault();\n        e.stopPropagation();\n      }\n    },\n    handleCommand(command) {\n      if(this.isLoading) {\n        return;\n      }\n      if (command == \"1\") {\n        if (this.pageName === \"white\") {\n          console.log('gdklfdsjkl ', this.$route.name);\n          // this.$store.dispatch(\"setGuideName\", this.whiteCom);\n          if (this.$route.name === 'StudyLog') {\n            EventBus.$emit(\"studyLog_initGuide\");\n          }\n          else if(this.$route.name === 'StudyLogDetail') {\n            EventBus.$emit(\"studyLog_detail_initGuide\");\n          } else if (this.$route.name === \"Silence\") {\n            EventBus.$emit(\"silence1_initGuide\");\n          } else if (this.$route.name === \"CreateTips\") {\n            EventBus.$emit(\"createTips_initGuide\");\n          } else if (this.$route.name === \"CommitProblem\") {\n            EventBus.$emit(\"commitProblem_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === 'CultrueContent') {\n            EventBus.$emit(\"index_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"Mind\") {\n            EventBus.$emit(\"mind_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"Problem\") {\n            EventBus.$emit(\"problem_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"QuestionList\") {\n            EventBus.$emit(\"questionList_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"TipsView\") {\n            EventBus.$emit(\"tipsView_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"BehaviorAudio\") {\n            EventBus.$emit(\"behaviorAudio_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"ConfirmTips\") {\n            EventBus.$emit(\"confirmTips_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"TipsSquare\") {\n            EventBus.$emit(\"heartPlaza_initGuide\");\n          } else if (this.$route.name === 'index' && this.whiteCom === \"Ocean\") {\n            EventBus.$emit(\"ocean_initGuide\");\n          }\n        } else if (this.pageName === \"black\") {\n          if(this.$route.name === 'index') {\n            EventBus.$emit(\"black_index_initGuide\");\n          }\n          else if(this.$route.name === 'CreateCase') {\n            EventBus.$emit(\"blackCreateCaseGuide\", true);\n          }\n          else if(this.$route.name === 'MyCases') {\n            EventBus.$emit(\"blackMyCaseaGuide\", true);\n          }\n          else if (this.$route.name === 'StudyLog') {\n            EventBus.$emit(\"studyLog_initGuide\");\n          }\n          else if(this.$route.name === 'StudyLogDetail') {\n            EventBus.$emit(\"studyLog_detail_initGuide\");\n          }\n\n        }\n        // 功能说明\n        // this.dialogVisibleFu = true;\n      } else if (command == \"2\") {\n        this.situation = 2;\n        // 我有疑问\n        this.toPage(\"SelfHelp\");\n\n      } else if (command === \"3\") {\n        this.situation = 3;\n        this.toPage();\n      } else if (command === \"4\") {\n        // 跳转小觉解惑\n        // window.open(`https://aiwebt1.cleanarya.com/?userId=${this.user.user_id}&channelCode=yrj`, '_blank');\n        window.open(`${window.aiXj}?userId=${this.user.user_id}&channelCode=yrj`, '_blank');\n      }\n    },\n    logout() {\n      console.log(\"logout header\");\n      this.$confirm(\"确定退出登录?\", \"\", {\n        confirmButtonText: \"确定\",\n        cancelButtonText: \"取消\",\n        center: true,\n        closeOnClickModal: false,\n        closeOnPressEscape: false,\n        // showClose: false,\n        customClass: \"confirmClass\"\n      }).then(() => {\n        this.$store.dispatch(\"logout\").then(() => {\n          location.reload(); // 为了重新实例化vue-router对象 避免bug\n        });\n      }).catch(() => {\n        EventBus.$emit(\"CANCEL_LOGOUT\");\n      });\n    },\n    showCourse() {\n      console.log(\"showCourse:\", this.isLoading);\n      if(this.isLoading) {\n        return;\n      }\n      this.dialogVisible = true;\n    },\n    handleClose() {\n      console.log(\"handleClose\");\n      this.dialogVisible = false;\n    },\n    // 将选择的课程渲染到Header中\n    closeDialog() {\n      this.dialogVisible = false;\n      // this.name = \"同修班 | 下士道\";\n    },\n    toPage(type) {\n      if(this.isLoading) {\n        return;\n      }\n      if(type == 1) {\n        this.situation = 4;\n      } else if(type == 2) {\n        this.situation = 5;\n      } else if(type == 3) {\n        this.situation = 6;\n      } else if(type == 4) {\n        this.situation = 7;\n      }\n      // 如果是思维导图，则提示弹出是否保存\n      if (this.whiteCom === \"Mind\" && this.$route.name != \"CourseSelect\" && this.$route.name == \"index\" && this.courseIsuseradd != 3 && this.pageName == 'white') {\n        console.log(\"MIND_OUTLINE_SAVE\");\n        // EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"toPage\");\n        EventBus.$emit(\"toPage\");\n      } else if (\n        this.whiteCom === \"CultrueContent\" &&\n        this.$route.name != \"CourseSelect\"\n        && this.$route.name == \"index\"\n        && this.courseIsuseradd != 3\n        && this.pageName == 'white'\n        && !(this.courseBase.course_intro_isedit == 2 && this.app_type == 2 && this.courseIsuseradd == 2)\n      ) {\n        // 课程内容弹出提示框\n        console.log(\"CultrueContentEdit\");\n        EventBus.$emit(\"CultrueContentEdit\", \"CultrueContent\");\n      }  else if (\n        this.$route.name == \"TipsViewAdd\"\n        && this.courseIsuseradd != 3\n        && this.pageName == 'white'\n      ) {\n        // 课程内容弹出提示框\n        console.log(\"TipsViewAddEdit\");\n        EventBus.$emit(\"TipsViewAddEdit\", this.toPage1);\n      } else {\n        // type: 1、toStudyLog 2、toPersonal 3、toSet\n        if (this.whiteCom === \"Icon\") {\n          // 如果当前是简介页，点击时则要先关闭简介页然后再跳转到其他页\n          EventBus.$emit(\"CLOSE_ICON\", this.situation);\n        } else {\n          if (this.pageName == \"black\") {\n            let timeout = setTimeout(() => {\n              EventBus.$emit(\"setBlackTheme\", \"white\");\n              clearTimeout(timeout);\n            }, 100);\n\n          }\n          this.toPage1();\n        }\n      }\n\n    },\n    toPage1() {\n      if (this.situation === 4) {\n        // 修学日志\n        this.toStudyLog();\n      } else if (this.situation === 5) {\n        // 个人中心\n        this.toPersonal();\n      } else if (this.situation === 6) {\n        // 设置\n        this.toSet();\n      } else if (this.situation === 2) {\n        // 我有疑问\n        this.toSelfHelp();\n      } else if(this.situation === 3) {\n        // 退出登录\n        this.logout();\n      } else if(this.situation === 7) {\n        // 消息中心\n        this.toMindMessage();\n      }\n      this.situation = \"\";\n    },\n    toMindMessage() {\n      console.log(\"toMindMessage\")\n      this.$router.push(\"/white/MindMessage\");\n    },\n    toSet() {\n      this.$router.push(\"/white/Set\");\n    },\n    toPersonal() {\n      this.$router.push(\"/white/PersonalCenter\");\n    },\n    toStudyLog() {\n      if(this.$route.name === 'StudyLog') {\n        this.$router.replace(\"/white/StudyLogDetail\");\n      } else {\n        this.$router.push(\"/white/StudyLogDetail\");\n      }\n\n    },\n    toSelfHelp() {\n      this.$router.push(\"/white/SelfHelp\");\n    }\n  },\n  created() {},\n  mounted() {\n    console.log(\"this.course:\", this.course);\n    if (this.course && this.course.length) {\n      const course = JSON.parse(this.course);\n      const cou = course[0];\n      let name = cou.jdname;\n      if (cou.dyname) {\n        name += \" | \" + cou.dyname;\n      }\n      this.name = name;\n      this.course_name = cou.course_name;\n    } else {\n      this.name = \"\";\n      this.course_name = \"\";\n    }\n    if (this.whiteActiveIndex === 0) {\n      this.bgColor = \"#71afbb\";\n    } else if (this.whiteActiveIndex === 1) {\n      this.bgColor = \"#64AFD5\";\n    } else if (this.whiteActiveIndex === 2) {\n      this.bgColor = \"#FFB096\";\n    } else if (this.whiteActiveIndex === 3) {\n      this.bgColor = \"#2C51AF\";\n    }\n    EventBus.$on(\"CLOSE_ICON_FINISH\", type => {\n      // 关闭完简介页然后再跳转\n      console.log(\"CLOSE_ICON_FINISH\");\n      if(type) {\n        this.situation = type;\n        this.toPage1();\n      }\n\n    });\n    EventBus.$on(\"disableReadOnlyMode\", (whiteCom) => {\n      this.isGuiding = false;\n    });\n    EventBus.$on(\"enableReadOnlyMode\", (whiteCom) => {\n      this.isGuiding = true;\n    });\n    EventBus.$on(\"CONTENT_CONFIRM\", whiteCom => {\n      console.log(\"CONTENT_CONFIRM\", whiteCom)\n      if (whiteCom !== \"CourseCom\") {\n        this.$router.replace(\"/\");\n        this.toIndex1();\n      }\n    });\n\n    EventBus.$on(\"toPageConfirmed\", () => {\n      this.toPage1();\n    });\n\n    // 保存思维导图弹出窗关闭弹窗事件\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CANCEL\", whiteCom => {\n      if(whiteCom === 'toPage') {\n        this.situation = ''\n      }\n    });\n\n    // 保存完思维导图然后选中课程\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom => {\n      console.log(\"MIND_OUTLINE_SAVE_CONFIRMED confirm:\", whiteCom);\n      if(this.situation == 1) {\n        // 点击logo\n        if(whiteCom === 'Logo') {\n          if(this.pageName  == 'white') {\n            EventBus.$emit(\"toIndex\");\n          } else {\n            this.$router.replace(\"/\");\n            this.toIndex1();\n          }\n        }\n      } else {\n        this.toPage1();\n      }\n    });\n    // 保存完课程内容然后选中课程\n    EventBus.$on(\"CultrueContentEditConfirmed\", whiteCom => {\n      console.log(\"CultrueContentEditConfirmed confirm:\", whiteCom)\n      if(this.situation == 1) {\n        // 点击logo\n        if(whiteCom === 'Logo') {\n          if(this.pageName  == 'white') {\n            EventBus.$emit(\"toIndex\");\n          } else {\n            this.$router.replace(\"/\");\n            this.toIndex1();\n          }\n        }\n      } else {\n        this.toPage1();\n      }\n    });\n    // 保存完观修文之后然后执行toIndex\n    EventBus.$on(\"CONTENT_CONFIRM_LOGO\", whiteCom => {\n      console.log(\"CONTENT_CONFIRM_LOGO\", whiteCom === 'Logo' && this.pageName  == 'white')\n      // 点击logo\n      if(whiteCom === 'Logo' && this.pageName  == 'white') {\n        EventBus.$emit(\"CultureIndex\");\n        this.toIndex1();\n      }\n    });\n\n    EventBus.$on(\"openMindMessage\", mindMessage => {\n      console.log(\"openMindMessage\", mindMessage, this.pageName, this.pageNamePro, this.$route.name)\n      if(this.$route.name == 'index' && this.pageName === this.pageNamePro && mindMessage) {\n        this.visibleToast = true;\n        this.mindMessage = mindMessage;\n        console.log(\"this.visibleToast:\", this.visibleToast);\n      }\n    });\n    EventBus.$on(\"closeMindMessage\", () => {\n      this.visibleToast = false;\n      this.mindMessage = {};\n      // if(this.$route.name == 'index' && this.pageName === this.pageNamePro) {\n      //   this.visibleToast = false;\n      //   this.mindMessage = {};\n      // }\n    });\n  }\n};\n</script>\n<style scoped lang=\"less\">\n@import \"~@/assets/styles/variable.less\";\n* {\n  list-style: none;\n}\n.dropdown {\n  border-radius: 14px !important;\n  padding: 10px 25px;\n  margin-top: 25px;\n}\n/deep/ .popper__arrow {\n  display: none;\n}\n/deep/ .el-dropdown-menu__item {\n  padding: 0 10px;\n  text-align: center;\n  &:not(:last-of-type) {\n    border-bottom: 1px solid #f3f3f4;\n  }\n}\n.header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  .back {\n    cursor: pointer;\n  }\n  .left {\n    flex: 1;\n    display: flex;\n    align-items: center;\n    & > img {\n      width: 116px;\n      height: 31px;\n    }\n    .babu1 {\n      color: @culture;\n      width: 27px;\n      height: 42px;\n      margin-left: 2.3px;\n      writing-mode: vertical-lr;\n      border-right: 2px solid #71afbb;\n      font-size: 16px;\n    }\n\n    .theme {\n      font-family: SourceHanSansCN, SourceHanSansCN;\n      font-weight: 500;\n      font-size: 16px;\n      color: #292929;\n      line-height: 24px;\n      text-align: left;\n      font-style: normal;\n    }\n\n    .tx {\n      display: flex;\n      align-items: center;\n      padding: 0 22px;\n      cursor: pointer;\n    }\n\n    .tx i {\n      margin-right: 16px;\n      cursor: pointer;\n      color: #71afbb;\n      font-weight: 700;\n      font-size: 17px;\n    }\n\n    .tx p {\n      font-family: SourceHanSansCN, SourceHanSansCN;\n      font-weight: 400;\n      font-size: 12px;\n      color: #7e878c;\n      line-height: 18px;\n      text-align: left;\n      font-style: normal;\n    }\n  }\n\n  .right {\n    display: flex;\n    align-items: center;\n    // width: 50%;\n    justify-content: flex-end;\n    font-size: 42px;\n    padding-right: 38px;\n    position: relative;\n    i {\n      //todo padding定位元素形状不对，改为margin\n      margin: 0 19px;\n      //padding: 0 19px;\n      font-size: 38px;\n      cursor: pointer;\n    }\n    .bs-setting {\n      margin-left: 0;\n      margin-right: 0;\n    }\n    .el-dropdown {\n      position: absolute;\n      right: 20px;\n    }\n    .bs-notice.notice {\n      position: relative;\n      &::after {\n        content: \"\";\n        position: absolute;\n        top: 10px;\n        right: 7px;\n        width: 4px;\n        height: 4px;\n        background-color: #ff0000;\n        border-radius: 50%;\n      }\n    }\n    .line {\n      width: 1px;\n      height: 24px;\n      margin: 0;\n      background-color: #d4d9db;\n    }\n    img {\n      cursor: pointer;\n      width: 51px;\n      height: 51px;\n      top: -26px;\n      right: -31px;\n      position: absolute;\n    }\n  }\n}\n/deep/ .el-input {\n  padding-left: 30px;\n  width: 100%;\n  box-sizing: border-box;\n}\n/deep/ .el-input__inner {\n  border: 0px solid #dcdfe6;\n  padding: 0;\n  background-color: #eaedef;\n}\n/deep/ .el-input__suffix {\n  right: 173px;\n}\n// dialog对话框\n.function {\n  .course_solve_content {\n    font-size: 18px;\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\n    font-weight: 400;\n    color: #727a7f;\n    line-height: 29px;\n    padding-top: 10px;\n    height: 523px;\n  }\n  /deep/ .el-dialog {\n    border-radius: 16px;\n    padding: 0 57px 0 60px;\n    top: 50%;\n    transform: translateY(-50%);\n  }\n  /deep/ .el-dialog__header {\n    border-bottom: 1px solid #64afd5;\n    padding: 40px 0 15px 0;\n  }\n  /deep/ .el-dialog__headerbtn {\n    display: none;\n  }\n  /deep/ .el-dialog__title {\n    font-size: 20px;\n    font-family: PingFangSC-Medium, PingFang SC;\n    font-weight: 500;\n    color: #65afd5;\n    line-height: 22px;\n  }\n  /deep/ .el-dialog__body {\n    padding: 0;\n  }\n  /deep/ .el-dialog__headerbtn {\n    color: #64afd5;\n  }\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\n    color: #64afd5;\n    font-size: 22px;\n  }\n  /deep/ .el-dialog__footer {\n    padding: 0 0 20px 0;\n    display: flex;\n    justify-content: center;\n    .el-button {\n      width: 150px;\n      height: 48px;\n      text-align: center;\n      color: #fff;\n      background: #64afd5;\n      border-color: #64afd5;\n      font-size: 16px;\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\n      font-weight: 400;\n      color: #ffffff;\n      line-height: 24px;\n      padding: 0;\n      border-radius: 12px;\n    }\n  }\n  /deep/ .el-textarea.is-disabled .el-textarea__inner {\n    background: #fff;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Hearder.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header\",style:({ backgroundColor: _vm.theme === 'white' ? '#eaedef' : '#1f1f1f' })},[_c('div',{staticClass:\"left\"},[(_vm.whiteActiveIndex === 0 && _vm.app_type == 1)?_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_culture.svg\")},on:{\"click\":_vm.toIndex}}):(_vm.whiteActiveIndex === 0 && _vm.app_type == 2)?_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_culture_overseas.svg\")},on:{\"click\":_vm.toIndex}}):(_vm.whiteActiveIndex === 1 && _vm.app_type == 1)?_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_thinking.svg\")},on:{\"click\":_vm.toIndex}}):(_vm.whiteActiveIndex === 1 && _vm.app_type == 2)?_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_thinking_overseas.svg\")},on:{\"click\":_vm.toIndex}}):(_vm.whiteActiveIndex === 2 && _vm.app_type == 1)?_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_behavior.svg\")},on:{\"click\":_vm.toIndex}}):(_vm.whiteActiveIndex === 2 && _vm.app_type == 2)?_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_behavior_overseas.svg\")},on:{\"click\":_vm.toIndex}}):(_vm.whiteActiveIndex === 3 && _vm.app_type == 1)?_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_personality.svg\")},on:{\"click\":_vm.toIndex}}):_c('img',{class:[_vm.$route.name !== 'index' ? 'back' : ''],attrs:{\"src\":require(\"@/assets/img/logo_personality_overseas.svg\")},on:{\"click\":_vm.toIndex}}),_vm._v(\" \"),_c('div',{staticClass:\"babu1\",style:({\n        'border-color': _vm.bgColor\n      })}),_vm._v(\" \"),_c('div',{staticClass:\"tx\",on:{\"click\":_vm.showCourse}},[_c('i',{staticClass:\"el-icon-arrow-down\",style:({\n          color: _vm.bgColor,\n          'border-color': _vm.bgColor\n        }),attrs:{\"id\":\"index_step7\"}}),_vm._v(\" \"),(_vm.isGuiding)?_c('p',[_vm._v(\"笔记目录|智慧人生\")]):_c('p',[_vm._v(_vm._s(_vm.name))])]),_vm._v(\" \"),_c('div',{staticClass:\"theme\",style:({ color: _vm.theme === 'black' ? '#fff' : '#000' })},[_vm._v(\"\\n     \"+_vm._s(_vm.isGuiding ? '人生五大问题' : _vm.course_name)+\"\\n    \")])]),_vm._v(\" \"),_c('div',{staticClass:\"right\",style:({\n      color: _vm.bgColor\n    })},[_c('i',{staticClass:\"icon iconfont bs-log\",attrs:{\"id\":\"index_step10\"},on:{\"click\":function($event){return _vm.toPage(1)}}}),_vm._v(\" \"),_c('i',{staticClass:\"line\"}),_vm._v(\" \"),_c('i',{staticClass:\"icon iconfont bs-center\",attrs:{\"id\":\"index_step9\"},on:{\"click\":function($event){return _vm.toPage(2)}}}),_vm._v(\" \"),_c('i',{staticClass:\"icon iconfont bs-setting\",on:{\"click\":function($event){return _vm.toPage(3)}}}),_vm._v(\" \"),_c('i',{staticClass:\"icon iconfont bs-notice\",class:_vm.userMessageUnread > 0 ? 'notice' : '',on:{\"click\":function($event){return _vm.toPage(4)}}}),_vm._v(\" \"),_c('el-popover',{attrs:{\"placement\":\"bottom-end\",\"title\":_vm.mindMessage ? _vm.mindMessage.msg_title : '',\"trigger\":\"manual\",\"content\":_vm.mindMessage ? _vm.mindMessage.msg_content : '',\"popper-class\":\"mindMessage\"},model:{value:(_vm.visibleToast),callback:function ($$v) {_vm.visibleToast=$$v},expression:\"visibleToast\"}},[_c('el-dropdown',{ref:\"myDropdown\",attrs:{\"slot\":\"reference\",\"trigger\":\"click\"},on:{\"command\":_vm.handleCommand},nativeOn:{\"click\":function($event){return _vm.preventDropdown.apply(null, arguments)}},slot:\"reference\"},[_c('span',{staticClass:\"el-dropdown-link\"},[_c('img',{attrs:{\"id\":\"index_step8\",\"src\":require(\"@/assets/img/tag.svg\")}})]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"dropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"4\"}},[_vm._v(\"小觉解惑\")]),_vm._v(\" \"),(!_vm.isDisabledGuide)?_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_vm._v(\"功能说明\")]):_vm._e(),_vm._v(\" \"),(_vm.xiaojue_open == 1)?_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_vm._v(\"我有疑问\")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"3\"}},[_vm._v(\"退出登录\")])],1)],1)],1)],1),_vm._v(\" \"),_c('Course',{attrs:{\"dialogVisible\":_vm.dialogVisible,\"parent\":_vm.that,\"course\":_vm.course,\"course_id\":_vm.course_id,\"pageNamePro\":_vm.pageNamePro},on:{\"closeDialog\":_vm.handleClose}}),_vm._v(\" \"),_c('el-dialog',{staticClass:\"function\",attrs:{\"title\":\"主页功能说明\",\"visible\":_vm.dialogVisibleFu,\"width\":\"60%\",\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"top\":\"0vh\"}},[_c('el-carousel',{attrs:{\"interval\":5000,\"arrow\":\"always\"}}),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.dialogVisibleFu = false}}},[_vm._v(\"知道了\")])],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4861ba40\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Hearder.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4861ba40\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Hearder.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Hearder.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Hearder.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4861ba40\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Hearder.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4861ba40\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Hearder.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/tag.2be2709.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tag.svg\n// module id = evpZ\n// module chunks = 171","// 导入组件\r\n// 登录\r\nimport login from \"@/views/login01\";\r\n// 重置密码\r\nimport resetPwd from \"@/components/resetPwd\";\r\n// app提醒页\r\n// app提醒页\r\nimport appRemind from \"@/views/appRemind\";\r\n// 微信提醒页\r\nimport WeixinRemind from \"@/views/WeixinRemind\";\r\n// 课程选择页面\r\nimport CourseSelect from \"@/views/CourseSelect\";\r\n// 首页\r\nimport index from \"@/views/index\";\r\n/**\r\n * 基础菜单\r\n */\r\n// 首页\r\nimport index1 from \"@/views/index/Index\";\r\n// 思维导图首页\r\nimport OutlineIndex from \"@/views/index/OutlineIndex\";\r\n// 思维导图首页\r\nimport EditorIndex from \"@/views/index/EditorIndex\";\r\n// 白牌\r\nimport EditTips from \"@/views/white/EditTips.vue\";\r\nimport CreateTips from \"@/views/white/CreateTips.vue\";\r\nimport WhiteCaseList from \"@/views/white/CaseList.vue\";\r\nimport Collected from \"@/views/white/personal/collected.vue\";\r\nimport CollectedMess from \"@/views/white/personal/collectedMess.vue\";\r\n\r\n// 问题推荐\r\nimport CommitProblem from \"@/views/white/CommitProblem.vue\";\r\nimport ProblemSolving from \"@/views/white/problemSolving.vue\";\r\n\r\n// 修学日志\r\nimport StudyLog from \"@/views/white/studyLog/Index.vue\";\r\nimport StudyLogMobile from \"@/views/white/studyLog/IndexMobile.vue\";\r\nimport StudyLogDetail from \"@/views/white/studyLog/DetailIndex.vue\";\r\n\r\n// 我有疑问\r\nimport SelfHelp from \"@/components/SelfHelp.vue\";\r\n\r\nimport TipsViewAdd from \"@/views/white/TipsViewAdd.vue\";\r\nimport TipsViewDetail from \"@/views/white/TipsViewDetail.vue\";\r\nimport TAudioAdd from \"@/views/white/TAudioAdd.vue\";\r\nimport Silence from \"@/views/white/Silence.vue\";\r\nimport CultrueContentAudioDetail from \"@/views/white/CultrueContentAudioDetail.vue\";\r\nimport CultrueContentVideoDetail from \"@/views/white/CultrueContentVideoDetail.vue\";\r\nimport CultrueContentDetail from \"@/views/white/CultrueContentDetail.vue\";\r\nimport QuestionListHistory from \"@/views/white/QuestionListHistory.vue\";\r\nimport PdfRead from '@/components/Pdf.vue'\r\n\r\n//黑牌\r\nimport CaseList from \"@/views/black/CaseList.vue\";\r\nimport BlackCaseDetail from \"@/views/black/Detail.vue\";\r\nimport MyCases from \"@/views/black/MyCases.vue\";\r\nimport CreateCase from \"@/views/black/CreateCase.vue\";\r\nimport EditCase from \"@/views/black/EditCase.vue\";\r\nimport TipsList from \"@/views/black/TipsList.vue\";\r\n\r\nimport TreeMind from \"@/views/test/TreeMind.vue\";\r\n// 左侧大icon图标跳转页面\r\nimport Icon_culture from \"@/views/white/Icon_culture\";\r\n\r\n// 问题解决步骤条,无法跳转到此页面\r\nimport cs from \"@/views/white/problemSolving.vue\";\r\n\r\n//白牌路由主页\r\nimport whiteMain from \"@/views/white/whiteMain\";\r\n//个人信息设置\r\nimport Set from \"@/views/white/set.vue\";\r\nimport MindMessage from \"@/views/white/personal/mindMessage.vue\";\r\n//个人中心\r\nimport PersonalCenter from \"@/views/white/personalCenter.vue\";\r\n//我发布的心得\r\nimport PulishExperience from \"@/views/white/personal/pulishExperience.vue\";\r\n//个人中心心得详情\r\nimport ExperienceMess from \"@/views/white/personal/collectedMess.vue\";\r\n//我发布的黑牌案例\r\nimport publishBlackCase from \"@/views/black/publishBlackCase.vue\";\r\n\r\nexport default [\r\n    {\r\n      path: \"/login\",\r\n      name: \"login\",\r\n      component: login,\r\n      hidden: true,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/CultrueContentDetail\",\r\n      name: \"CultrueContentDetail\",\r\n      component: CultrueContentDetail,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/PdfRead\",\r\n      name: \"PdfRead\",\r\n      component: PdfRead,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/white/PdfRead\",\r\n      name: \"PdfRead\",\r\n      component: PdfRead,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/resetPwd\",\r\n      name: \"resetPwd\",\r\n      component: resetPwd,\r\n      hidden: true,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/CourseSelect\",\r\n      name: \"CourseSelect\",\r\n      component: CourseSelect,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/appRemind\",\r\n      name: \"appRemind\",\r\n      component: appRemind,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/WeixinRemind\",\r\n      name: \"WeixinRemind\",\r\n      component: WeixinRemind,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/white/test\",\r\n      name: \"test\",\r\n      component: TreeMind,\r\n      meta: {\r\n        requireAuth: true\r\n      }\r\n    },\r\n    {\r\n      path: \"/outline\",\r\n      name: \"outlineComp\",\r\n      component: OutlineIndex,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/editor\",\r\n      name: \"editorComp\",\r\n      component: EditorIndex,\r\n      meta: {\r\n        requireAuth: false\r\n      }\r\n    },\r\n    {\r\n      path: \"/\",\r\n      name: \"index\",\r\n      component: index1,\r\n      meta: {\r\n        requireAuth: true\r\n      },\r\n      children: [\r\n        {\r\n          path: \"/white/EditTips\",\r\n          name: \"EditTips\",\r\n          components: {\r\n            white: EditTips\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/ProblemSolving\",\r\n          name: \"ProblemSolving\",\r\n          components: {\r\n            white: ProblemSolving\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CreateTips\",\r\n          name: \"CreateTips\",\r\n          components: {\r\n            white: CreateTips\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/WhiteCaseList\",\r\n          name: \"WhiteCaseList\",\r\n          components: {\r\n            white: WhiteCaseList\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/CaseList\",\r\n          name: \"CaseList\",\r\n          components: {\r\n            black: CaseList\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/BlackCaseDetail\",\r\n          name: \"BlackCaseDetail\",\r\n          components: {\r\n            black: BlackCaseDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/MyCases\",\r\n          name: \"MyCases\",\r\n          components: {\r\n            black: MyCases\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/CreateCase\",\r\n          name: \"CreateCase\",\r\n          components: {\r\n            black: CreateCase\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/EditCase\",\r\n          name: \"EditCase\",\r\n          components: {\r\n            black: EditCase\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TipsList\",\r\n          name: \"TipsList\",\r\n          components: {\r\n            white: TipsList\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/black/publishBlackCase\",\r\n          name: \"publishBlackCase\",\r\n          components: {\r\n            black: publishBlackCase\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"black\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CommitProblem\",\r\n          name: \"CommitProblem\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: CommitProblem\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/StudyLog\",\r\n          name: \"StudyLog\",\r\n          components: {\r\n            white: StudyLog\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/StudyLogDetail\",\r\n          name: \"StudyLogDetail\",\r\n          components: {\r\n            white: StudyLogDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/SelfHelp\",\r\n          name: \"SelfHelp\",\r\n          components: {\r\n            white: SelfHelp\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TipsViewAdd\",\r\n          name: \"TipsViewAdd\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: TipsViewAdd\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TAudioAdd\",\r\n          name: \"TAudioAdd\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: TAudioAdd\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/Silence\",\r\n          name: \"Silence\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: Silence\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/QuestionListHistory\",\r\n          name: \"QuestionListHistory\",\r\n          // component: CommitProblem,\r\n          components: {\r\n            white: QuestionListHistory\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/TipsViewDetail\",\r\n          name: \"TipsViewDetail\",\r\n          components: {\r\n            white: TipsViewDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/PersonalCenter\",\r\n          name: \"PersonalCenter\",\r\n          components: {\r\n            white: PersonalCenter\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/PulishExperience\",\r\n          name: \"PulishExperience\",\r\n          components: {\r\n            white: PulishExperience\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/ExperienceMess\",\r\n          name: \"ExperienceMess\",\r\n          components: {\r\n            white: ExperienceMess\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/Set\",\r\n          name: \"Set\",\r\n          components: {\r\n            white: Set\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/MindMessage\",\r\n          name: \"MindMessage\",\r\n          components: {\r\n            white: MindMessage\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/Collected\",\r\n          name: \"Collected\",\r\n          components: {\r\n            white: Collected\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CollectedMess\",\r\n          name: \"CollectedMess\",\r\n          components: {\r\n            white: CollectedMess\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CultrueContentAudioDetail\",\r\n          name: \"CultrueContentAudioDetail\",\r\n          components: {\r\n            white: CultrueContentAudioDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n        {\r\n          path: \"/white/CultrueContentVideoDetail\",\r\n          name: \"CultrueContentVideoDetail\",\r\n          components: {\r\n            white: CultrueContentVideoDetail\r\n          },\r\n          meta: {\r\n            requireAuth: true,\r\n            theme: \"white\"\r\n          }\r\n        },\r\n      ]\r\n    },\r\n    {\r\n      path: \"/icon_culture\",\r\n      component: Icon_culture\r\n    },\r\n    {\r\n      path: \"/cs\",\r\n      component: cs\r\n    },\r\n  ];\n\n\n// WEBPACK FOOTER //\n// ./src/router/web-routes.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDMyLjAgMzIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTEsMCBDMTcuMDc1MTMyMiwwIDIyLDQuOTI0ODY3NzUgMjIsMTEgQzIyLDE3LjA3NTEzMjIgMTcuMDc1MTMyMiwyMiAxMSwyMiBDNC45MjQ4Njc3NSwyMiAwLDE3LjA3NTEzMjIgMCwxMSBDMCw0LjkyNDg2Nzc1IDQuOTI0ODY3NzUsMCAxMSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjcyLjAgLTIxNC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTEuMCAxNTQuNTk2MzIyMzQwMDQwOCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MS4wIDU5LjQwMzY3NzY1OTk1OTE2KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4wIDMuNTk2MzIyMzQwMDQwODQyNCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwYXRoIGQ9Ik0xMSwyMiBDMTcuMDc1MTMyMiwyMiAyMiwxNy4wNzUxMzIyIDIyLDExIEMyMiw0LjkyNDg2Nzc1IDE3LjA3NTEzMjIsMCAxMSwwIEM0LjkyNDg2Nzc1LDAgMCw0LjkyNDg2Nzc1IDAsMTEgQzAsMTcuMDc1MTMyMiA0LjkyNDg2Nzc1LDIyIDExLDIyIFoiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIzIiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iNSI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1Ljc5ODk4MTE2Njk3Njc2NCA3LjQ5ODY3Mzc0MDA1MzA2MjUpIj48cGF0aCBkPSJNMTEsMCBMNC41NTMxNzQ0Niw2LjYgTDAsMi4zOTE1Nzg4MyIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/quesion_done.svg\n// module id = fNWK\n// module chunks = 171","import JSEncrypt from \"jsencrypt\";\r\n\r\nconst encrypt = new JSEncrypt();\r\nconst pubKey =\r\n  \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw4wPLOnPFTcA87drH3H+6mvmAE9ZfbVEf+R2p2l5IkppcB9ag4NygmUzqCThLbZRJHgWFd2HJfXXvS9NGV1twb3Yhuu7oUtKhusxmuQXGXOqrhkcm1cPoBQNiqqWUCEGtXaAL9Bdu/5ydPZglBBcXnNQHGtegWKxxwNhSowimckG8r7Up1J+FEXH4+odGRhBqQSfXa/pGwKk+DdlI92xmWMbgSlSYO0CWHpQiUWuPxe6OtmOjbH1gdZGyAtRECFRWXlpu5/j+4WFQoeYe+k0NyFveBsoxgx0qAmgqpLp4OZnEitC1ynTZC/iB1YThbTpIpURION1Mo3KHa2+9GeY8QIDAQAB\"; //可以直接找后端要，也可以请求接口获取\r\nencrypt.setPublicKey(pubKey);\r\n\r\n//分段加密算法方法\r\nJSEncrypt.prototype.encryptLong = function(string) {\r\n  var k = this.getKey(),\r\n    maxLength = ((k.n.bitLength() + 7) >> 3) - 11;\r\n\r\n  try {\r\n    var lt = \"\",\r\n      ct = \"\";\r\n\r\n    if (string.length > maxLength) {\r\n      lt = string.match(/.{1,50}/g);\r\n      lt.forEach(entry => {\r\n        var t1 = k.encrypt(entry);\r\n        ct += t1;\r\n      });\r\n      return hex2b64(ct);\r\n    }\r\n    var t = k.encrypt(string),\r\n      y = hex2b64(t);\r\n    return y;\r\n  } catch (ex) {\r\n    return ex;\r\n  }\r\n};\r\n\r\n//分段解密算法方法\r\nJSEncrypt.prototype.decryptLong = function(string) {\r\n  var k = this.getKey(),\r\n    maxLength = ((k.n.bitLength() + 7) >> 3) - 11;\r\n\r\n  try {\r\n    var ct = \"\";\r\n    string = b64tohex(string);\r\n    if (string.length > maxLength) {\r\n      var lt = string.match(/.{1,256}/g);\r\n      lt.forEach(function(entry) {\r\n        var t1 = k.decrypt(entry);\r\n        ct += t1;\r\n      });\r\n      return ct;\r\n    }\r\n    var y = k.decrypt(b64tohex(string));\r\n    return y;\r\n  } catch (ex) {\r\n    return ex;\r\n  }\r\n};\r\n\r\n//分段加密\r\nexport function getLongCode(str) {\r\n  // var encrypt = new JSEncrypt();\r\n  // encrypt.setPublicKey(key);\r\n  var data = encrypt.encryptLong(str);\r\n  return data;\r\n}\r\n\r\n//分段解密\r\nexport function deLongCode(str) {\r\n  // var decryptLong = new JSEncrypt();\r\n  // decryptLong.setPrivateKey(key);\r\n  var data = encrypt.decryptLong(str);\r\n  return (/^{.+}$/g.test(data) && JSON.parse(data)) || data;\r\n}\r\n\r\nvar dbits;\r\nvar canary = 244837814094590;\r\nvar j_lm = (canary & 16777215) == 15715070;\r\nfunction BigInteger(e, d, f) {\r\n  if (e != null) {\r\n    if (\"number\" == typeof e) {\r\n      this.fromNumber(e, d, f);\r\n    } else {\r\n      if (d == null && \"string\" != typeof e) {\r\n        this.fromString(e, 256);\r\n      } else {\r\n        this.fromString(e, d);\r\n      }\r\n    }\r\n  }\r\n}\r\nfunction nbi() {\r\n  return new BigInteger(null);\r\n}\r\nfunction am1(f, a, b, e, h, g) {\r\n  while (--g >= 0) {\r\n    var d = a * this[f++] + b[e] + h;\r\n    h = Math.floor(d / 67108864);\r\n    b[e++] = d & 67108863;\r\n  }\r\n  return h;\r\n}\r\nfunction am2(f, q, r, e, o, a) {\r\n  var k = q & 32767,\r\n    p = q >> 15;\r\n  while (--a >= 0) {\r\n    var d = this[f] & 32767;\r\n    var g = this[f++] >> 15;\r\n    var b = p * d + g * k;\r\n    d = k * d + ((b & 32767) << 15) + r[e] + (o & 1073741823);\r\n    o = (d >>> 30) + (b >>> 15) + p * g + (o >>> 30);\r\n    r[e++] = d & 1073741823;\r\n  }\r\n  return o;\r\n}\r\nfunction am3(f, q, r, e, o, a) {\r\n  var k = q & 16383,\r\n    p = q >> 14;\r\n  while (--a >= 0) {\r\n    var d = this[f] & 16383;\r\n    var g = this[f++] >> 14;\r\n    var b = p * d + g * k;\r\n    d = k * d + ((b & 16383) << 14) + r[e] + o;\r\n    o = (d >> 28) + (b >> 14) + p * g;\r\n    r[e++] = d & 268435455;\r\n  }\r\n  return o;\r\n}\r\n//if (j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) { //xpp注释\r\n//    BigInteger.prototype.am = am2;\r\n//    dbits = 30\r\n//} else {\r\n//    if (j_lm && (navigator.appName != \"Netscape\")) {\r\n//    BigInteger.prototype.am = am1;\r\n//    dbits = 26\r\n//    } else {\r\nBigInteger.prototype.am = am3;\r\ndbits = 28;\r\n//    }\r\n//}\r\nBigInteger.prototype.DB = dbits;\r\nBigInteger.prototype.DM = (1 << dbits) - 1;\r\nBigInteger.prototype.DV = 1 << dbits;\r\nvar BI_FP = 52;\r\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\r\nBigInteger.prototype.F1 = BI_FP - dbits;\r\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\r\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\r\nvar BI_RC = new Array();\r\nvar rr, vv;\r\nrr = \"0\".charCodeAt(0);\r\nfor (vv = 0; vv <= 9; ++vv) {\r\n  BI_RC[rr++] = vv;\r\n}\r\nrr = \"a\".charCodeAt(0);\r\nfor (vv = 10; vv < 36; ++vv) {\r\n  BI_RC[rr++] = vv;\r\n}\r\nrr = \"A\".charCodeAt(0);\r\nfor (vv = 10; vv < 36; ++vv) {\r\n  BI_RC[rr++] = vv;\r\n}\r\nfunction int2char(a) {\r\n  return BI_RM.charAt(a);\r\n}\r\nfunction intAt(b, a) {\r\n  var d = BI_RC[b.charCodeAt(a)];\r\n  return d == null ? -1 : d;\r\n}\r\nfunction bnpToRadix(b) {\r\n  if (b == null) {\r\n    b = 10;\r\n  }\r\n  if (this.signum() == 0 || b < 2 || b > 36) {\r\n    return \"0\";\r\n  }\r\n  var cs = this.chunkSize(b);\r\n  var a = Math.pow(b, cs);\r\n  var d = nbv(a),\r\n    y = nbi(),\r\n    z = nbi(),\r\n    r = \"\";\r\n  this.divRemTo(d, y, z);\r\n  while (y.signum() > 0) {\r\n    r = (a + z.intValue()).toString(b).substr(1) + r;\r\n    y.divRemTo(d, y, z);\r\n  }\r\n  return z.intValue().toString(b) + r;\r\n}\r\nfunction bnSigNum() {\r\n  if (this.s < 0) {\r\n    return -1;\r\n  } else {\r\n    if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {\r\n      return 0;\r\n    } else {\r\n      return 1;\r\n    }\r\n  }\r\n}\r\nfunction bnpChunkSize(r) {\r\n  return Math.floor((Math.LN2 * this.DB) / Math.log(r));\r\n}\r\nfunction bnIntValue() {\r\n  if (this.s < 0) {\r\n    if (this.t == 1) {\r\n      return this[0] - this.DV;\r\n    } else {\r\n      if (this.t == 0) {\r\n        return -1;\r\n      }\r\n    }\r\n  } else {\r\n    if (this.t == 1) {\r\n      return this[0];\r\n    } else {\r\n      if (this.t == 0) {\r\n        return 0;\r\n      }\r\n    }\r\n  }\r\n  return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\r\n}\r\n\r\nfunction bnpCopyTo(b) {\r\n  for (var a = this.t - 1; a >= 0; --a) {\r\n    b[a] = this[a];\r\n  }\r\n  b.t = this.t;\r\n  b.s = this.s;\r\n}\r\nfunction bnpFromInt(a) {\r\n  this.t = 1;\r\n  this.s = a < 0 ? -1 : 0;\r\n  if (a > 0) {\r\n    this[0] = a;\r\n  } else {\r\n    if (a < -1) {\r\n      this[0] = a + DV;\r\n    } else {\r\n      this.t = 0;\r\n    }\r\n  }\r\n}\r\nfunction nbv(a) {\r\n  var b = nbi();\r\n  b.fromInt(a);\r\n  return b;\r\n}\r\nfunction bnpFromString(h, c) {\r\n  var e;\r\n  if (c == 16) {\r\n    e = 4;\r\n  } else {\r\n    if (c == 8) {\r\n      e = 3;\r\n    } else {\r\n      if (c == 256) {\r\n        e = 8;\r\n      } else {\r\n        if (c == 2) {\r\n          e = 1;\r\n        } else {\r\n          if (c == 32) {\r\n            e = 5;\r\n          } else {\r\n            if (c == 4) {\r\n              e = 2;\r\n            } else {\r\n              this.fromRadix(h, c);\r\n              return;\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n  this.t = 0;\r\n  this.s = 0;\r\n  var g = h.length,\r\n    d = false,\r\n    f = 0;\r\n  while (--g >= 0) {\r\n    var a = e == 8 ? h[g] & 255 : intAt(h, g);\r\n    if (a < 0) {\r\n      if (h.charAt(g) == \"-\") {\r\n        d = true;\r\n      }\r\n      continue;\r\n    }\r\n    d = false;\r\n    if (f == 0) {\r\n      this[this.t++] = a;\r\n    } else {\r\n      if (f + e > this.DB) {\r\n        this[this.t - 1] |= (a & ((1 << (this.DB - f)) - 1)) << f;\r\n        this[this.t++] = a >> (this.DB - f);\r\n      } else {\r\n        this[this.t - 1] |= a << f;\r\n      }\r\n    }\r\n    f += e;\r\n    if (f >= this.DB) {\r\n      f -= this.DB;\r\n    }\r\n  }\r\n  if (e == 8 && (h[0] & 128) != 0) {\r\n    this.s = -1;\r\n    if (f > 0) {\r\n      this[this.t - 1] |= ((1 << (this.DB - f)) - 1) << f;\r\n    }\r\n  }\r\n  this.clamp();\r\n  if (d) {\r\n    BigInteger.ZERO.subTo(this, this);\r\n  }\r\n}\r\nfunction bnpClamp() {\r\n  var a = this.s & this.DM;\r\n  while (this.t > 0 && this[this.t - 1] == a) {\r\n    --this.t;\r\n  }\r\n}\r\nfunction bnToString(c) {\r\n  if (this.s < 0) {\r\n    return \"-\" + this.negate().toString(c);\r\n  }\r\n  var e;\r\n  if (c == 16) {\r\n    e = 4;\r\n  } else {\r\n    if (c == 8) {\r\n      e = 3;\r\n    } else {\r\n      if (c == 2) {\r\n        e = 1;\r\n      } else {\r\n        if (c == 32) {\r\n          e = 5;\r\n        } else {\r\n          if (c == 4) {\r\n            e = 2;\r\n          } else {\r\n            return this.toRadix(c);\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n  var g = (1 << e) - 1,\r\n    l,\r\n    a = false,\r\n    h = \"\",\r\n    f = this.t;\r\n  var j = this.DB - ((f * this.DB) % e);\r\n  if (f-- > 0) {\r\n    if (j < this.DB && (l = this[f] >> j) > 0) {\r\n      a = true;\r\n      h = int2char(l);\r\n    }\r\n    while (f >= 0) {\r\n      if (j < e) {\r\n        l = (this[f] & ((1 << j) - 1)) << (e - j);\r\n        l |= this[--f] >> (j += this.DB - e);\r\n      } else {\r\n        l = (this[f] >> (j -= e)) & g;\r\n        if (j <= 0) {\r\n          j += this.DB;\r\n          --f;\r\n        }\r\n      }\r\n      if (l > 0) {\r\n        a = true;\r\n      }\r\n      if (a) {\r\n        h += int2char(l);\r\n      }\r\n    }\r\n  }\r\n  return a ? h : \"0\";\r\n}\r\nfunction bnNegate() {\r\n  var a = nbi();\r\n  BigInteger.ZERO.subTo(this, a);\r\n  return a;\r\n}\r\nfunction bnAbs() {\r\n  return this.s < 0 ? this.negate() : this;\r\n}\r\nfunction bnCompareTo(b) {\r\n  var d = this.s - b.s;\r\n  if (d != 0) {\r\n    return d;\r\n  }\r\n  var c = this.t;\r\n  d = c - b.t;\r\n  if (d != 0) {\r\n    return this.s < 0 ? -d : d;\r\n  }\r\n  while (--c >= 0) {\r\n    if ((d = this[c] - b[c]) != 0) {\r\n      return d;\r\n    }\r\n  }\r\n  return 0;\r\n}\r\nfunction nbits(a) {\r\n  var c = 1,\r\n    b;\r\n  if ((b = a >>> 16) != 0) {\r\n    a = b;\r\n    c += 16;\r\n  }\r\n  if ((b = a >> 8) != 0) {\r\n    a = b;\r\n    c += 8;\r\n  }\r\n  if ((b = a >> 4) != 0) {\r\n    a = b;\r\n    c += 4;\r\n  }\r\n  if ((b = a >> 2) != 0) {\r\n    a = b;\r\n    c += 2;\r\n  }\r\n  if ((b = a >> 1) != 0) {\r\n    a = b;\r\n    c += 1;\r\n  }\r\n  return c;\r\n}\r\nfunction bnBitLength() {\r\n  if (this.t <= 0) {\r\n    return 0;\r\n  }\r\n  return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\r\n}\r\n\r\nfunction bnpDLShiftTo(c, b) {\r\n  var a;\r\n  for (a = this.t - 1; a >= 0; --a) {\r\n    b[a + c] = this[a];\r\n  }\r\n  for (a = c - 1; a >= 0; --a) {\r\n    b[a] = 0;\r\n  }\r\n  b.t = this.t + c;\r\n  b.s = this.s;\r\n}\r\nfunction bnpDRShiftTo(c, b) {\r\n  for (var a = c; a < this.t; ++a) {\r\n    b[a - c] = this[a];\r\n  }\r\n  b.t = Math.max(this.t - c, 0);\r\n  b.s = this.s;\r\n}\r\nfunction bnpLShiftTo(j, e) {\r\n  var b = j % this.DB;\r\n  var a = this.DB - b;\r\n  var g = (1 << a) - 1;\r\n  var f = Math.floor(j / this.DB),\r\n    h = (this.s << b) & this.DM,\r\n    d;\r\n  for (d = this.t - 1; d >= 0; --d) {\r\n    e[d + f + 1] = (this[d] >> a) | h;\r\n    h = (this[d] & g) << b;\r\n  }\r\n  for (d = f - 1; d >= 0; --d) {\r\n    e[d] = 0;\r\n  }\r\n  e[f] = h;\r\n  e.t = this.t + f + 1;\r\n  e.s = this.s;\r\n  e.clamp();\r\n}\r\nfunction bnpRShiftTo(g, d) {\r\n  d.s = this.s;\r\n  var e = Math.floor(g / this.DB);\r\n  if (e >= this.t) {\r\n    d.t = 0;\r\n    return;\r\n  }\r\n  var b = g % this.DB;\r\n  var a = this.DB - b;\r\n  var f = (1 << b) - 1;\r\n  d[0] = this[e] >> b;\r\n  for (var c = e + 1; c < this.t; ++c) {\r\n    d[c - e - 1] |= (this[c] & f) << a;\r\n    d[c - e] = this[c] >> b;\r\n  }\r\n  if (b > 0) {\r\n    d[this.t - e - 1] |= (this.s & f) << a;\r\n  }\r\n  d.t = this.t - e;\r\n  d.clamp();\r\n}\r\nfunction bnpSubTo(d, f) {\r\n  var e = 0,\r\n    g = 0,\r\n    b = Math.min(d.t, this.t);\r\n  while (e < b) {\r\n    g += this[e] - d[e];\r\n    f[e++] = g & this.DM;\r\n    g >>= this.DB;\r\n  }\r\n  if (d.t < this.t) {\r\n    g -= d.s;\r\n    while (e < this.t) {\r\n      g += this[e];\r\n      f[e++] = g & this.DM;\r\n      g >>= this.DB;\r\n    }\r\n    g += this.s;\r\n  } else {\r\n    g += this.s;\r\n    while (e < d.t) {\r\n      g -= d[e];\r\n      f[e++] = g & this.DM;\r\n      g >>= this.DB;\r\n    }\r\n    g -= d.s;\r\n  }\r\n  f.s = g < 0 ? -1 : 0;\r\n  if (g < -1) {\r\n    f[e++] = this.DV + g;\r\n  } else {\r\n    if (g > 0) {\r\n      f[e++] = g;\r\n    }\r\n  }\r\n  f.t = e;\r\n  f.clamp();\r\n}\r\nfunction bnpMultiplyTo(c, e) {\r\n  var b = this.abs(),\r\n    f = c.abs();\r\n  var d = b.t;\r\n  e.t = d + f.t;\r\n  while (--d >= 0) {\r\n    e[d] = 0;\r\n  }\r\n  for (d = 0; d < f.t; ++d) {\r\n    e[d + b.t] = b.am(0, f[d], e, d, 0, b.t);\r\n  }\r\n  e.s = 0;\r\n  e.clamp();\r\n  if (this.s != c.s) {\r\n    BigInteger.ZERO.subTo(e, e);\r\n  }\r\n}\r\nfunction bnpSquareTo(d) {\r\n  var a = this.abs();\r\n  var b = (d.t = 2 * a.t);\r\n  while (--b >= 0) {\r\n    d[b] = 0;\r\n  }\r\n  for (b = 0; b < a.t - 1; ++b) {\r\n    var e = a.am(b, a[b], d, 2 * b, 0, 1);\r\n    if (\r\n      (d[b + a.t] += a.am(b + 1, 2 * a[b], d, 2 * b + 1, e, a.t - b - 1)) >=\r\n      a.DV\r\n    ) {\r\n      d[b + a.t] -= a.DV;\r\n      d[b + a.t + 1] = 1;\r\n    }\r\n  }\r\n  if (d.t > 0) {\r\n    d[d.t - 1] += a.am(b, a[b], d, 2 * b, 0, 1);\r\n  }\r\n  d.s = 0;\r\n  d.clamp();\r\n}\r\nfunction bnpDivRemTo(n, h, g) {\r\n  var w = n.abs();\r\n  if (w.t <= 0) {\r\n    return;\r\n  }\r\n  var k = this.abs();\r\n  if (k.t < w.t) {\r\n    if (h != null) {\r\n      h.fromInt(0);\r\n    }\r\n    if (g != null) {\r\n      this.copyTo(g);\r\n    }\r\n    return;\r\n  }\r\n  if (g == null) {\r\n    g = nbi();\r\n  }\r\n  var d = nbi(),\r\n    a = this.s,\r\n    l = n.s;\r\n  var v = this.DB - nbits(w[w.t - 1]);\r\n  if (v > 0) {\r\n    w.lShiftTo(v, d);\r\n    k.lShiftTo(v, g);\r\n  } else {\r\n    w.copyTo(d);\r\n    k.copyTo(g);\r\n  }\r\n  var p = d.t;\r\n  var b = d[p - 1];\r\n  if (b == 0) {\r\n    return;\r\n  }\r\n  var o = b * (1 << this.F1) + (p > 1 ? d[p - 2] >> this.F2 : 0);\r\n  var A = this.FV / o,\r\n    z = (1 << this.F1) / o,\r\n    x = 1 << this.F2;\r\n  var u = g.t,\r\n    s = u - p,\r\n    f = h == null ? nbi() : h;\r\n  d.dlShiftTo(s, f);\r\n  if (g.compareTo(f) >= 0) {\r\n    g[g.t++] = 1;\r\n    g.subTo(f, g);\r\n  }\r\n  BigInteger.ONE.dlShiftTo(p, f);\r\n  f.subTo(d, d);\r\n  while (d.t < p) {\r\n    d[d.t++] = 0;\r\n  }\r\n  while (--s >= 0) {\r\n    var c = g[--u] == b ? this.DM : Math.floor(g[u] * A + (g[u - 1] + x) * z);\r\n    if ((g[u] += d.am(0, c, g, s, 0, p)) < c) {\r\n      d.dlShiftTo(s, f);\r\n      g.subTo(f, g);\r\n      while (g[u] < --c) {\r\n        g.subTo(f, g);\r\n      }\r\n    }\r\n  }\r\n  if (h != null) {\r\n    g.drShiftTo(p, h);\r\n    if (a != l) {\r\n      BigInteger.ZERO.subTo(h, h);\r\n    }\r\n  }\r\n  g.t = p;\r\n  g.clamp();\r\n  if (v > 0) {\r\n    g.rShiftTo(v, g);\r\n  }\r\n  if (a < 0) {\r\n    BigInteger.ZERO.subTo(g, g);\r\n  }\r\n}\r\nfunction bnMod(b) {\r\n  var c = nbi();\r\n  this.abs().divRemTo(b, null, c);\r\n  if (this.s < 0 && c.compareTo(BigInteger.ZERO) > 0) {\r\n    b.subTo(c, c);\r\n  }\r\n  return c;\r\n}\r\nfunction Classic(a) {\r\n  this.m = a;\r\n}\r\nfunction cConvert(a) {\r\n  if (a.s < 0 || a.compareTo(this.m) >= 0) {\r\n    return a.mod(this.m);\r\n  } else {\r\n    return a;\r\n  }\r\n}\r\nfunction cRevert(a) {\r\n  return a;\r\n}\r\nfunction cReduce(a) {\r\n  a.divRemTo(this.m, null, a);\r\n}\r\nfunction cMulTo(a, c, b) {\r\n  a.multiplyTo(c, b);\r\n  this.reduce(b);\r\n}\r\nfunction cSqrTo(a, b) {\r\n  a.squareTo(b);\r\n  this.reduce(b);\r\n}\r\nClassic.prototype.convert = cConvert;\r\nClassic.prototype.revert = cRevert;\r\nClassic.prototype.reduce = cReduce;\r\nClassic.prototype.mulTo = cMulTo;\r\nClassic.prototype.sqrTo = cSqrTo;\r\nfunction bnpInvDigit() {\r\n  if (this.t < 1) {\r\n    return 0;\r\n  }\r\n  var a = this[0];\r\n  if ((a & 1) == 0) {\r\n    return 0;\r\n  }\r\n  var b = a & 3;\r\n  b = (b * (2 - (a & 15) * b)) & 15;\r\n  b = (b * (2 - (a & 255) * b)) & 255;\r\n  b = (b * (2 - (((a & 65535) * b) & 65535))) & 65535;\r\n  b = (b * (2 - ((a * b) % this.DV))) % this.DV;\r\n  return b > 0 ? this.DV - b : -b;\r\n}\r\nfunction Montgomery(a) {\r\n  this.m = a;\r\n  this.mp = a.invDigit();\r\n  this.mpl = this.mp & 32767;\r\n  this.mph = this.mp >> 15;\r\n  this.um = (1 << (a.DB - 15)) - 1;\r\n  this.mt2 = 2 * a.t;\r\n}\r\nfunction montConvert(a) {\r\n  var b = nbi();\r\n  a.abs().dlShiftTo(this.m.t, b);\r\n  b.divRemTo(this.m, null, b);\r\n  if (a.s < 0 && b.compareTo(BigInteger.ZERO) > 0) {\r\n    this.m.subTo(b, b);\r\n  }\r\n  return b;\r\n}\r\nfunction montRevert(a) {\r\n  var b = nbi();\r\n  a.copyTo(b);\r\n  this.reduce(b);\r\n  return b;\r\n}\r\nfunction montReduce(a) {\r\n  while (a.t <= this.mt2) {\r\n    a[a.t++] = 0;\r\n  }\r\n  for (var c = 0; c < this.m.t; ++c) {\r\n    var b = a[c] & 32767;\r\n    var d =\r\n      (b * this.mpl +\r\n        (((b * this.mph + (a[c] >> 15) * this.mpl) & this.um) << 15)) &\r\n      a.DM;\r\n    b = c + this.m.t;\r\n    a[b] += this.m.am(0, d, a, c, 0, this.m.t);\r\n    while (a[b] >= a.DV) {\r\n      a[b] -= a.DV;\r\n      a[++b]++;\r\n    }\r\n  }\r\n  a.clamp();\r\n  a.drShiftTo(this.m.t, a);\r\n  if (a.compareTo(this.m) >= 0) {\r\n    a.subTo(this.m, a);\r\n  }\r\n}\r\nfunction montSqrTo(a, b) {\r\n  a.squareTo(b);\r\n  this.reduce(b);\r\n}\r\nfunction montMulTo(a, c, b) {\r\n  a.multiplyTo(c, b);\r\n  this.reduce(b);\r\n}\r\nMontgomery.prototype.convert = montConvert;\r\nMontgomery.prototype.revert = montRevert;\r\nMontgomery.prototype.reduce = montReduce;\r\nMontgomery.prototype.mulTo = montMulTo;\r\nMontgomery.prototype.sqrTo = montSqrTo;\r\nfunction bnpIsEven() {\r\n  return (this.t > 0 ? this[0] & 1 : this.s) == 0;\r\n}\r\nfunction bnpExp(h, j) {\r\n  if (h > 4294967295 || h < 1) {\r\n    return BigInteger.ONE;\r\n  }\r\n  var f = nbi(),\r\n    a = nbi(),\r\n    d = j.convert(this),\r\n    c = nbits(h) - 1;\r\n  d.copyTo(f);\r\n  while (--c >= 0) {\r\n    j.sqrTo(f, a);\r\n    if ((h & (1 << c)) > 0) {\r\n      j.mulTo(a, d, f);\r\n    } else {\r\n      var b = f;\r\n      f = a;\r\n      a = b;\r\n    }\r\n  }\r\n  return j.revert(f);\r\n}\r\nfunction bnModPowInt(b, a) {\r\n  var c;\r\n  if (b < 256 || a.isEven()) {\r\n    c = new Classic(a);\r\n  } else {\r\n    c = new Montgomery(a);\r\n  }\r\n  return this.exp(b, c);\r\n}\r\n\r\nBigInteger.prototype.toRadix = bnpToRadix;\r\nBigInteger.prototype.signum = bnSigNum;\r\nBigInteger.prototype.chunkSize = bnpChunkSize;\r\nBigInteger.prototype.intValue = bnIntValue;\r\n\r\nBigInteger.prototype.copyTo = bnpCopyTo;\r\nBigInteger.prototype.fromInt = bnpFromInt;\r\nBigInteger.prototype.fromString = bnpFromString;\r\nBigInteger.prototype.clamp = bnpClamp;\r\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\r\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\r\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\r\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\r\nBigInteger.prototype.subTo = bnpSubTo;\r\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\r\nBigInteger.prototype.squareTo = bnpSquareTo;\r\nBigInteger.prototype.divRemTo = bnpDivRemTo;\r\nBigInteger.prototype.invDigit = bnpInvDigit;\r\nBigInteger.prototype.isEven = bnpIsEven;\r\nBigInteger.prototype.exp = bnpExp;\r\nBigInteger.prototype.toString = bnToString;\r\nBigInteger.prototype.negate = bnNegate;\r\nBigInteger.prototype.abs = bnAbs;\r\nBigInteger.prototype.compareTo = bnCompareTo;\r\nBigInteger.prototype.bitLength = bnBitLength;\r\nBigInteger.prototype.mod = bnMod;\r\nBigInteger.prototype.modPowInt = bnModPowInt;\r\nBigInteger.ZERO = nbv(0);\r\nBigInteger.ONE = nbv(1);\r\nfunction Arcfour() {\r\n  this.i = 0;\r\n  this.j = 0;\r\n  this.S = new Array();\r\n}\r\nfunction ARC4init(d) {\r\n  var c, a, b;\r\n  for (c = 0; c < 256; ++c) {\r\n    this.S[c] = c;\r\n  }\r\n  a = 0;\r\n  for (c = 0; c < 256; ++c) {\r\n    a = (a + this.S[c] + d[c % d.length]) & 255;\r\n    b = this.S[c];\r\n    this.S[c] = this.S[a];\r\n    this.S[a] = b;\r\n  }\r\n  this.i = 0;\r\n  this.j = 0;\r\n}\r\nfunction ARC4next() {\r\n  var a;\r\n  this.i = (this.i + 1) & 255;\r\n  this.j = (this.j + this.S[this.i]) & 255;\r\n  a = this.S[this.i];\r\n  this.S[this.i] = this.S[this.j];\r\n  this.S[this.j] = a;\r\n  return this.S[(a + this.S[this.i]) & 255];\r\n}\r\nArcfour.prototype.init = ARC4init;\r\nArcfour.prototype.next = ARC4next;\r\nfunction prng_newstate() {\r\n  return new Arcfour();\r\n}\r\nvar rng_psize = 256;\r\nvar rng_state;\r\nvar rng_pool;\r\nvar rng_pptr;\r\nfunction rng_seed_int(a) {\r\n  rng_pool[rng_pptr++] ^= a & 255;\r\n  rng_pool[rng_pptr++] ^= (a >> 8) & 255;\r\n  rng_pool[rng_pptr++] ^= (a >> 16) & 255;\r\n  rng_pool[rng_pptr++] ^= (a >> 24) & 255;\r\n  if (rng_pptr >= rng_psize) {\r\n    rng_pptr -= rng_psize;\r\n  }\r\n}\r\nfunction rng_seed_time() {\r\n  rng_seed_int(new Date().getTime());\r\n}\r\nif (rng_pool == null) {\r\n  //注释\r\n  rng_pool = new Array();\r\n  rng_pptr = 0;\r\n  var t;\r\n  // if (navigator.appName == \"Netscape\" && navigator.appVersion < \"5\" && window.crypto) {\r\n  //    var z = window.crypto.random(32);\r\n  //    for (t = 0; t < z.length; ++t) {\r\n  //    rng_pool[rng_pptr++] = z.charCodeAt(t) & 255\r\n  //    }\r\n  // }\r\n  // while (rng_pptr < rng_psize) {\r\n  //    t = Math.floor(65536 * Math.random());\r\n  //    rng_pool[rng_pptr++] = t >>> 8;\r\n  //    rng_pool[rng_pptr++] = t & 255\r\n  // }\r\n  // rng_pptr = 0;\r\n  // rng_seed_time()\r\n}\r\nfunction rng_get_byte() {\r\n  if (rng_state == null) {\r\n    rng_seed_time();\r\n    rng_state = prng_newstate();\r\n    rng_state.init(rng_pool);\r\n    for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\r\n      rng_pool[rng_pptr] = 0;\r\n    }\r\n    rng_pptr = 0;\r\n  }\r\n  return rng_state.next();\r\n}\r\nfunction rng_get_bytes(b) {\r\n  var a;\r\n  for (a = 0; a < b.length; ++a) {\r\n    b[a] = rng_get_byte();\r\n  }\r\n}\r\nfunction SecureRandom() {}\r\nSecureRandom.prototype.nextBytes = rng_get_bytes;\r\nfunction parseBigInt(b, a) {\r\n  return new BigInteger(b, a);\r\n}\r\nfunction linebrk(c, d) {\r\n  var a = \"\";\r\n  var b = 0;\r\n  while (b + d < c.length) {\r\n    a += c.substring(b, b + d) + \"\\n\";\r\n    b += d;\r\n  }\r\n  return a + c.substring(b, c.length);\r\n}\r\nfunction byte2Hex(a) {\r\n  if (a < 16) {\r\n    return \"0\" + a.toString(16);\r\n  } else {\r\n    return a.toString(16);\r\n  }\r\n}\r\nfunction pkcs1pad2(e, h) {\r\n  if (h < e.length + 11) {\r\n    //    alert(\"Message too long for RSA\");\r\n    return null;\r\n  }\r\n  var g = new Array();\r\n  var d = e.length - 1;\r\n  while (d >= 0 && h > 0) {\r\n    var f = e.charCodeAt(d--);\r\n    if (f < 128) {\r\n      g[--h] = f;\r\n    } else {\r\n      if (f > 127 && f < 2048) {\r\n        g[--h] = (f & 63) | 128;\r\n        g[--h] = (f >> 6) | 192;\r\n      } else {\r\n        g[--h] = (f & 63) | 128;\r\n        g[--h] = ((f >> 6) & 63) | 128;\r\n        g[--h] = (f >> 12) | 224;\r\n      }\r\n    }\r\n  }\r\n  g[--h] = 0;\r\n  var b = new SecureRandom();\r\n  var a = new Array();\r\n  while (h > 2) {\r\n    a[0] = 0;\r\n    while (a[0] == 0) {\r\n      b.nextBytes(a);\r\n    }\r\n    g[--h] = a[0];\r\n  }\r\n  g[--h] = 2;\r\n  g[--h] = 0;\r\n  return new BigInteger(g);\r\n}\r\nfunction RSAKey() {\r\n  this.n = null;\r\n  this.e = 0;\r\n  this.d = null;\r\n  this.p = null;\r\n  this.q = null;\r\n  this.dmp1 = null;\r\n  this.dmq1 = null;\r\n  this.coeff = null;\r\n}\r\nfunction RSASetPublic(b, a) {\r\n  if (b != null && a != null && b.length > 0 && a.length > 0) {\r\n    this.n = parseBigInt(b, 16);\r\n    this.e = parseInt(a, 16);\r\n    return this.n.toString();\r\n  } else {\r\n    //    alert(\"Invalid RSA public key\")\r\n    return 0;\r\n  }\r\n}\r\nfunction RSADoPublic(a) {\r\n  return a.modPowInt(this.e, this.n);\r\n}\r\nfunction RSAEncrypt(d) {\r\n  var a = pkcs1pad2(d, (this.n.bitLength() + 7) >> 3);\r\n  if (a == null) {\r\n    return null;\r\n  }\r\n  var e = this.doPublic(a);\r\n  if (e == null) {\r\n    return null;\r\n  }\r\n  var b = e.toString(16);\r\n  if ((b.length & 1) == 0) {\r\n    return b;\r\n  } else {\r\n    return \"0\" + b;\r\n  }\r\n  return a;\r\n}\r\nRSAKey.prototype.doPublic = RSADoPublic;\r\nRSAKey.prototype.setPublic = RSASetPublic;\r\nRSAKey.prototype.encrypt = RSAEncrypt;\r\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\nvar b64pad = \"=\";\r\nfunction hex2b64(d) {\r\n  var b;\r\n  var e;\r\n  var a = \"\";\r\n  for (b = 0; b + 3 <= d.length; b += 3) {\r\n    e = parseInt(d.substring(b, b + 3), 16);\r\n    a += b64map.charAt(e >> 6) + b64map.charAt(e & 63);\r\n  }\r\n  if (b + 1 == d.length) {\r\n    e = parseInt(d.substring(b, b + 1), 16);\r\n    a += b64map.charAt(e << 2);\r\n  } else {\r\n    if (b + 2 == d.length) {\r\n      e = parseInt(d.substring(b, b + 2), 16);\r\n      a += b64map.charAt(e >> 2) + b64map.charAt((e & 3) << 4);\r\n    }\r\n  }\r\n  while ((a.length & 3) > 0) {\r\n    a += b64pad;\r\n  }\r\n  return a;\r\n}\r\nfunction b64tohex(e) {\r\n  var c = \"\";\r\n  var d;\r\n  var a = 0;\r\n  var b;\r\n  var v;\r\n  for (d = 0; d < e.length; ++d) {\r\n    if (e.charAt(d) == b64pad) {\r\n      break;\r\n    }\r\n    v = b64map.indexOf(e.charAt(d));\r\n    if (v < 0) {\r\n      continue;\r\n    }\r\n    if (a == 0) {\r\n      c += int2char(v >> 2);\r\n      b = v & 3;\r\n      a = 1;\r\n    } else {\r\n      if (a == 1) {\r\n        c += int2char((b << 2) | (v >> 4));\r\n        b = v & 15;\r\n        a = 2;\r\n      } else {\r\n        if (a == 2) {\r\n          c += int2char(b);\r\n          c += int2char(v >> 2);\r\n          b = v & 3;\r\n          a = 3;\r\n        } else {\r\n          c += int2char((b << 2) | (v >> 4));\r\n          c += int2char(v & 15);\r\n          a = 0;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  if (a == 1) {\r\n    c += int2char(b << 2);\r\n  }\r\n  return c;\r\n}\r\nfunction b64toBA(e) {\r\n  var d = b64tohex(e);\r\n  var c;\r\n  var b = new Array();\r\n  for (c = 0; 2 * c < d.length; ++c) {\r\n    b[c] = parseInt(d.substring(2 * c, 2 * c + 2), 16);\r\n  }\r\n  return b;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/jsencrypt.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEycHgiIGhlaWdodD0iMjJweCIgdmlld0JveD0iMCAwIDEyLjAgMjIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTQ0MSwwIEw0NDEsODEyIEwwLDgxMiBMMCwwIEw0NDEsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwNS4wIC03NDYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExNS45OTc3MTg0NTc2NzU5NiA3NDcuMDAwMDAwMDAwMDAxNCkgcm90YXRlKDkwLjApIj48cGF0aCBkPSJNMTkuNDE3NDc1NywwIEw5LjcwODI5NDg1LDkuOTk3NzE4NDYgTDAsMCIgc3Ryb2tlPSIjMkM1MUFFIiBzdHJva2Utd2lkdGg9IjEuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/personality_back.svg\n// module id = g3te\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjYyIEwwLDEyNjIgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMywwIEMyMC4xNzk3MDE3LDAgMjYsNS44MjAyOTgyNSAyNiwxMyBDMjYsMjAuMTc5NzAxNyAyMC4xNzk3MDE3LDI2IDEzLDI2IEM1LjgyMDI5ODI1LDI2IDAsMjAuMTc5NzAxNyAwLDEzIEMwLDUuODIwMjk4MjUgNS44MjAyOTgyNSwwIDEzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MjguMCAtNzg0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMzkuMCA2NzguMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4OS41IDEwNi4yNSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDI2LDAgMjYsMjYgMCwyNiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0QzRDlEQiI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2Ljg1MzM0MTM3OTE1NDM1OCA4Ljg2MjA2ODk2NTUxNzI1MykiPjxwYXRoIGQ9Ik0xMywwIEw1LjM4MTAyNDM3LDcuOCBMMCwyLjgyNjQxMTM0IiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/studylog_undone.svg\n// module id = gGp6\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"analyse\">\r\n    <el-card class=\"player\" :style=\"{ background: bgColor }\">\r\n      <!-- <canvas :id=\"id\" style=\"width: 217px; height: 50px\"></canvas> -->\r\n      <div\r\n        class=\"playImgs\"\r\n        @click=\"clickPlays($event)\"\r\n      >\r\n        <img\r\n          v-if=\"!playing || playIndex == 0\"\r\n          class=\"voice-wave\"\r\n          :src=\"require('@/assets/img/voice-wave1.svg')\"\r\n        />\r\n        <img\r\n          v-else-if=\"playIndex == 1\"\r\n          class=\"voice-wave\"\r\n          :src=\"require('@/assets/img/voice-wave2.svg')\"\r\n        />\r\n        <img\r\n          v-else-if=\"playIndex == 2\"\r\n          class=\"voice-wave\"\r\n          :src=\"require('@/assets/img/voice-wave3.svg')\"\r\n        />\r\n        <img\r\n          v-else-if=\"playIndex == 3\"\r\n          class=\"voice-wave\"\r\n          :src=\"require('@/assets/img/voice-wave4.svg')\"\r\n        />\r\n        <img\r\n          v-else-if=\"playIndex == 4\"\r\n          class=\"voice-wave\"\r\n          :src=\"require('@/assets/img/voice-wave5.svg')\"\r\n        />\r\n      </div>\r\n      <span class=\"total-time\" :style=\"{ color: timeColor }\"\r\n        >{{ totalTime.minutes }}'{{ totalTime.seconds }}\"</span\r\n      >\r\n    </el-card>\r\n\r\n    <img\r\n      class=\"tip_audio_btn\"\r\n      src=\"@/assets/img/tip_audio_play.svg\"\r\n      v-if=\"!playing && !clickPlay\"\r\n      @click=\"play()\"\r\n    />\r\n    <img\r\n      class=\"tip_audio_btn\"\r\n      src=\"@/assets/img/tip_audio_pause.svg\"\r\n      @click=\"pause()\"\r\n      v-if=\"playing && !clickPlay\"\r\n    />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { secTotime1 } from \"@/utils/util\";\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    url: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    id: {\r\n      type: String,\r\n      default: \"playChart\",\r\n    },\r\n    experienceAudioLong: {\r\n      type: Number,\r\n      default: 0,\r\n    },\r\n    bgColor: {\r\n      type: String,\r\n      default: \"#fff\",\r\n    },\r\n    timeColor: {\r\n      type: String,\r\n      default: \"#7e878c\",\r\n    },\r\n    clickPlay: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      audio: null,\r\n      audioCtx: null,\r\n      analyser: null,\r\n      drawPlayId: null,\r\n      bufferLength: 0,\r\n      pCanvas: null,\r\n      pCtx: null,\r\n      playing: false,\r\n      totalTime: {\r\n        minutes: \"00\",\r\n        seconds: \"00\",\r\n      },\r\n      currentTime: \"\",\r\n      totalTimeFormat: \"\",\r\n      timeout: null,\r\n      flagIndex: 1,\r\n      isInited: false,\r\n      playIndex: 0\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {\r\n    url: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"audio url changed\");\r\n        this.isInited = false;\r\n        if (this.audio) {\r\n          this.pause(true);\r\n        }\r\n        this.audio = null;\r\n        if (v) {\r\n          // 先不去重新加载音频，等点击播放的时候再去加载，节省流量\r\n          // this.init();\r\n        }\r\n        console.log(\"this.audio:\", this.audio);\r\n      },\r\n    },\r\n    experienceAudioLong: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\r\n          \"audio experienceAudioLong changed\",\r\n          this.experienceAudioLong\r\n        );\r\n        if (this.experienceAudioLong) {\r\n          this.totalTime = secTotime1(parseInt(this.experienceAudioLong));\r\n        } else {\r\n          this.totalTime = {\r\n            minutes: \"00\",\r\n            seconds: \"00\",\r\n          };\r\n        }\r\n      },\r\n    },\r\n    playing: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          this.timeout = setInterval(() => {\r\n            this.playIndex++;\r\n            if(this.playIndex > 4) {\r\n              this.playIndex = 0\r\n            }\r\n            console.log(this.playIndex)\r\n          },300);\r\n        } else {\r\n          this.playIndex = 0;\r\n          if(this.timeout) {\r\n            clearInterval(this.timeout);\r\n            this.timeout = null;\r\n          }\r\n        }\r\n      },\r\n    }\r\n  },\r\n  methods: {\r\n    clickPlays($event) {\r\n      console.log(\"e:\", $event);\r\n      if (this.clickPlay) {\r\n        if (this.playing) {\r\n          this.pause();\r\n        } else {\r\n          this.play();\r\n        }\r\n      }\r\n    },\r\n    init() {\r\n      // var AudioContext =\r\n      //   window.AudioContext ||\r\n      //   window.webkitAudioContext ||\r\n      //   window.mozAudioContext ||\r\n      //   window.msAudioContext; // 兼容性\r\n      // this.audioCtx = new AudioContext(); // 创建Audio上下文\r\n      this.audio = new Audio();\r\n      this.audio.src = this.url;\r\n      // vue 播放器开发获取音频数据流，CORS跨域限制的问题\r\n      // this.audio.crossOrigin = \"anonymous\";\r\n\r\n      this.audio.onended = () => {\r\n        this.playEnd();\r\n      };\r\n\r\n      this.audio.onplay = () => {\r\n        console.log(\"playing\");\r\n        // this.totalTime = this.audio.duration; //获取总播放时间\r\n        // this.currentTime = 0;\r\n        // this.totalTimeFormat = this.secTotime(this.totalTime);\r\n      };\r\n\r\n      this.audio.oncanplay = () => {\r\n        console.log(\"oncanplay\");\r\n        this.playing = true;\r\n        this.$emit(\"changePlaying\", this.playing);\r\n        this.audio.play();\r\n      };\r\n\r\n      this.audio.onloadeddata = e => {\r\n        console.log(\"loadeddata:\", e);\r\n      };\r\n\r\n      this.audio.onloadedmetadata = () => {\r\n        console.log(\"loadedmetadata:\");\r\n        // var source = this.audioCtx.createMediaElementSource(this.audio);\r\n        // this.analyser = this.audioCtx.createAnalyser();\r\n        // source.connect(this.analyser); //将分析器与destination链接，这样才能形成到达扬声器的通路\r\n        // this.analyser.connect(this.audioCtx.destination); //将解码后的buffer数据复制给source\r\n        this.isInited = false;\r\n      };\r\n    },\r\n    draw() {\r\n      if (!this.playing) {\r\n        return;\r\n      }\r\n      this.drawPlayId = requestAnimationFrame(this.draw);\r\n      let output = new Uint8Array(1024); //这里可以设置获取数组的长度\r\n      // this.analyser.getByteFrequencyData(output);\r\n      this.analyser.getByteTimeDomainData(output); // 将当前波形，或者时域数据拷贝进 Uint8Array (en-US)数组（无符号字节数组）。\r\n      // console.log(\"output:\", output);\r\n      // let bufferLength = output.length;\r\n      let bufferLength = 430;\r\n\r\n      // 填充背景色\r\n      this.pCtx.fillStyle = \"#fff\";\r\n      this.pCtx.fillRect(0, 0, this.pCanvas.width, this.pCanvas.height);\r\n\r\n      // 设定波形绘制颜色\r\n      this.pCtx.lineWidth = 2;\r\n      this.pCtx.strokeStyle = \"#FFB096\";\r\n\r\n      this.pCtx.beginPath();\r\n\r\n      var sliceWidth =\r\n          (this.pCanvas.width * 1.0) / Math.ceil(bufferLength / 20), // 一个点占多少位置，共有bufferLength个点要绘制\r\n        x = 0; // 绘制点的x轴位置\r\n\r\n      for (var i = 0; i < bufferLength; i++) {\r\n        if (i % 20 === 0) {\r\n          var v = output[i] / 200.0;\r\n          var y = (v * this.pCanvas.height) / 1;\r\n\r\n          const random = Math.random();\r\n          this.pCtx.moveTo(x, y);\r\n          this.pCtx.lineTo(x, y * 1.5 * random);\r\n          this.pCtx.moveTo(x, y);\r\n          this.pCtx.lineTo(x, (y / 2) * random);\r\n          //结束（不关闭的话会和开始的地方直接相接）\r\n          this.pCtx.closePath();\r\n          this.pCtx.stroke();\r\n          // 依次平移，绘制所有点\r\n          x += sliceWidth;\r\n        }\r\n      }\r\n    },\r\n    play() {\r\n      if(!this.isInited) {\r\n        this.init();\r\n      } else {\r\n        this.playing = true;\r\n        this.$emit(\"changePlaying\", this.playing);\r\n        this.audio.play();\r\n      }\r\n      \r\n      // 用requestAnimationFrame稳定60fps绘制\r\n      // this.drawPlayId = requestAnimationFrame(this.draw);\r\n    },\r\n    pause() {\r\n      this.playing = false;\r\n      this.$emit(\"changePlaying\", this.playing);\r\n      this.audio.pause();\r\n    },\r\n    playEnd() {\r\n      this.playing = false;\r\n      this.$emit(\"changePlaying\", this.playing);\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    console.log(this.url);\r\n    if (this.url) {\r\n      if (this.experienceAudioLong) {\r\n        this.totalTime = secTotime1(parseInt(this.experienceAudioLong));\r\n      } else {\r\n        this.totalTime = {\r\n          minutes: \"00\",\r\n          seconds: \"00\",\r\n        };\r\n      }\r\n      // this.pCanvas = document.getElementById(this.id);\r\n      // this.pCtx = this.pCanvas.getContext(\"2d\");\r\n      // 先不去重新加载音频，等点击播放的时候再去加载，节省流量\r\n      this.$nextTick(() => {\r\n        // this.init();\r\n      });\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.analyse {\r\n  display: flex;\r\n  align-items: center;\r\n}\r\n.playImgs {\r\n  position: relative;\r\n  width: 230px;\r\n  height: 52px;\r\n  // background-image: url(\"~@/assets/img/voice-wave1.svg\");\r\n  // background-position: left top;\r\n  // background-size: 100% 100%;\r\n  .voice-wave {\r\n    width: 100%;\r\n    height: 100%;\r\n  }\r\n}\r\n.playImgsIng {\r\n  animation: am1 1.5s linear infinite;\r\n  -webkit-animation: am1 1.5s linear infinite;\r\n  background-position: left top;\r\n  background-size: 100% 100%;\r\n  @keyframes am1 {\r\n    0% {\r\n      background-image: url(\"~@/assets/img/voice-wave1.svg\");\r\n      // background-position: left top;\r\n      // background-size: 100% 100%;\r\n    }\r\n    20% {\r\n      background-image: url(\"~@/assets/img/voice-wave2.svg\");\r\n      // background-position: left top;\r\n      // background-size: 100% 100%;\r\n    }\r\n    40% {\r\n      background-image: url(\"~@/assets/img/voice-wave3.svg\");\r\n      // background-position: left top;\r\n      // background-size: 100% 100%;\r\n    }\r\n    60% {\r\n      background-image: url(\"~@/assets/img/voice-wave4.svg\");\r\n      // background-position: left top;\r\n      // background-size: 100% 100%;\r\n    }\r\n    80% {\r\n      background-image: url(\"~@/assets/img/voice-wave5.svg\");\r\n      // background-position: left top;\r\n      // background-size: 100% 100%;\r\n    }\r\n    100% {\r\n      background-image: url(\"~@/assets/img/voice-wave5.svg\");\r\n      // background-position: left top;\r\n      // background-size: 100% 100%;\r\n    }\r\n  }\r\n}\r\n.player {\r\n  padding: 5px 10px;\r\n  height: 60px;\r\n  display: flex;\r\n  align-items: center;\r\n  background: #fff;\r\n  border-radius: 5px;\r\n  margin-right: 10px;\r\n  border: none;\r\n  /deep/ .el-card__body {\r\n    display: flex;\r\n    align-items: center;\r\n  }\r\n  .total-time {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 21px;\r\n  }\r\n}\r\n.tip_audio_btn {\r\n  width: 50px;\r\n  height: 50px;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/PlayerAnalyseData.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"analyse\"},[_c('el-card',{staticClass:\"player\",style:({ background: _vm.bgColor })},[_c('div',{staticClass:\"playImgs\",on:{\"click\":function($event){return _vm.clickPlays($event)}}},[(!_vm.playing || _vm.playIndex == 0)?_c('img',{staticClass:\"voice-wave\",attrs:{\"src\":require('@/assets/img/voice-wave1.svg')}}):(_vm.playIndex == 1)?_c('img',{staticClass:\"voice-wave\",attrs:{\"src\":require('@/assets/img/voice-wave2.svg')}}):(_vm.playIndex == 2)?_c('img',{staticClass:\"voice-wave\",attrs:{\"src\":require('@/assets/img/voice-wave3.svg')}}):(_vm.playIndex == 3)?_c('img',{staticClass:\"voice-wave\",attrs:{\"src\":require('@/assets/img/voice-wave4.svg')}}):(_vm.playIndex == 4)?_c('img',{staticClass:\"voice-wave\",attrs:{\"src\":require('@/assets/img/voice-wave5.svg')}}):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"total-time\",style:({ color: _vm.timeColor })},[_vm._v(_vm._s(_vm.totalTime.minutes)+\"'\"+_vm._s(_vm.totalTime.seconds)+\"\\\"\")])]),_vm._v(\" \"),(!_vm.playing && !_vm.clickPlay)?_c('img',{staticClass:\"tip_audio_btn\",attrs:{\"src\":require(\"@/assets/img/tip_audio_play.svg\")},on:{\"click\":function($event){return _vm.play()}}}):_vm._e(),_vm._v(\" \"),(_vm.playing && !_vm.clickPlay)?_c('img',{staticClass:\"tip_audio_btn\",attrs:{\"src\":require(\"@/assets/img/tip_audio_pause.svg\")},on:{\"click\":function($event){return _vm.pause()}}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3516e8f2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PlayerAnalyseData.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3516e8f2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PlayerAnalyseData.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./PlayerAnalyseData.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./PlayerAnalyseData.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3516e8f2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./PlayerAnalyseData.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3516e8f2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PlayerAnalyseData.vue\n// module id = null\n// module chunks = ","/**\r\n * @fileoverview Axios 请求服务封装\r\n * @module request/service\r\n *\r\n * @description\r\n * 提供统一的 HTTP 请求服务，包含：\r\n * - 全局 Loading 控制\r\n * - 静默请求支持\r\n * - 请求重试机制\r\n * - Token 自动刷新\r\n *\r\n * @example\r\n * // 静默请求（不显示 Loading）\r\n * request({ url: '/api/xxx', silent: true })\r\n *\r\n * // 强制显示 Loading（覆盖 URL 匹配）\r\n * request({ url: '/api/xxx', silent: false })\r\n *\r\n * // 其他等效写法\r\n * request({ url: '/api/xxx', hideLoading: true })\r\n * request({ url: '/api/xxx', noLoading: true })\r\n */\r\n\r\n/**\r\n * 扩展的 Axios 请求配置\r\n * @extends axios.AxiosRequestConfig\r\n * @typedef {Object} ExtendedAxiosRequestConfig\r\n * @property {boolean} [silent] - 是否静默请求（不显示全局 Loading）\r\n * @property {boolean} [hideLoading] - 同 silent，隐藏 Loading\r\n * @property {boolean} [noLoading] - 同 silent，兼容旧代码\r\n * @property {boolean} [_showLoading] - 内部标记，记录是否显示了 Loading\r\n */\r\n\r\nimport store from \"@/vuex\";\r\nimport router from \"@/router\";\r\nimport { getToken, getCanAccessYouTube, decrypt } from \"@/utils/auth\";\r\nimport { Notification, MessageBox } from \"element-ui\";\r\n\r\nimport axios from \"axios\";\r\nimport { getNewUserToken } from \"@/api/index\";\r\nimport { rsa, popRequestParams } from \"@/utils/util\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\n\r\nlet baseURL = \"\";\r\n\r\n// ============================================================\r\n// 🔧 静默请求配置（不触发全局 Loading 的 URL 列表）\r\n// ============================================================\r\n// 在此数组中添加不需要显示全局 Loading 的接口关键词\r\n// 支持字符串匹配（url.includes）或正则表达式\r\nconst SILENT_URLS = [\r\n  \"setWebLog\",        // 日志上报\r\n  \"getUserInfo\",      // 获取用户信息\r\n  \"setUserGuideStatus\",\r\n  \"getUserGuideStatus\",\r\n  \"getTimeInterval\",\r\n  \"editUserVedioReadTime\",\r\n  \"editUserAudioReadTime\",\r\n  \"addCaseReadNum\",\r\n  \"setQuestionRead\",\r\n  \"addUserExperienceRead\",\r\n  \"getUserMessageUnread\",\r\n  \"setMessageRead\",\r\n  \"getMeditateZhijingParams\",\r\n  \"getUserCourseSearch\",\r\n  \"getNewUserToken\",\r\n  \"setCourseComplete\",\r\n  \"addSelectQuestiontags\",\r\n  \"setMeditateTextComplete\",\r\n  \"createRobot\",\r\n  \"getCategoryKnowledge\",\r\n  \"getZizhuKnowledgeAnswer\",\r\n  \"getShuruKnowledgeAnswer\",\r\n  \"getMsgEvaluationSetting\",\r\n  \"msgEvaluation\",\r\n  \"closeRobot\",\r\n  \"getUserCourseProgress\"\r\n];\r\n\r\n/**\r\n * 判断当前请求是否需要显示全局 Loading\r\n * ============================================================\r\n * 优先级逻辑：\r\n * 1. 显式配置 (silent/hideLoading/noLoading) - 最高优先级\r\n * 2. 静态 URL 匹配 (SILENT_URLS) - 兜底策略\r\n * 3. 默认显示 Loading\r\n * ============================================================\r\n * @param {string} url - 请求 URL\r\n * @param {object} config - Axios config 对象\r\n * @returns {boolean} - true: 显示 Loading, false: 静默请求\r\n *\r\n * @example\r\n * // 方式1: 使用 silent 属性（推荐）\r\n * request({ url: '/api/xxx', silent: true })\r\n *\r\n * // 方式2: 使用 hideLoading 属性\r\n * request({ url: '/api/xxx', hideLoading: true })\r\n *\r\n * // 方式3: 使用 noLoading 属性（兼容旧代码）\r\n * request({ url: '/api/xxx', noLoading: true })\r\n */\r\nconst shouldShowLoading = (url, config) => {\r\n  // 优先级 1: 显式配置（最高优先级）\r\n  // 支持 silent / hideLoading / noLoading 三种命名，方便不同开发习惯\r\n  if (config) {\r\n    if (config.silent === true || config.hideLoading === true || config.noLoading === true) {\r\n      console.log(`[Loading] 静默请求（显式配置）: ${url}`);\r\n      return false;\r\n    }\r\n    // 显式要求显示 Loading（覆盖 URL 匹配）\r\n    if (config.silent === false || config.hideLoading === false || config.noLoading === false) {\r\n      console.log(`[Loading] 强制显示 Loading（显式配置）: ${url}`);\r\n      return true;\r\n    }\r\n  }\r\n\r\n  // 优先级 2: 静态 URL 匹配（兜底策略）\r\n  if (!url) return true;\r\n\r\n  const isSilentUrl = SILENT_URLS.some(pattern => {\r\n    if (typeof pattern === 'string') {\r\n      return url.includes(pattern);\r\n    }\r\n    if (pattern instanceof RegExp) {\r\n      return pattern.test(url);\r\n    }\r\n    return false;\r\n  });\r\n\r\n  if (isSilentUrl) {\r\n    // console.log(`[Loading] 静默请求（URL 匹配）: ${url}`);\r\n    return false;\r\n  }\r\n\r\n  // 优先级 3: 默认显示 Loading\r\n  return true;\r\n};\r\n// ============================================================\r\n\r\n// 添加判断大请求的方法\r\nfunction isLargeRequest(config) {\r\n  // 方法1: 通过URL判断（上传文件等接口）\r\n  // const largeRequestUrls = ['/upload', '/import', '/batch', '/large'];\r\n  // if (largeRequestUrls.some(url => config.url.includes(url))) {\r\n  //   return true;\r\n  // }\r\n\r\n  // 方法2: 通过请求体大小判断（如果是FormData）\r\n  if (config.data instanceof FormData) {\r\n    // FormData 大小不容易直接获取，但通常包含文件的就是大请求,直接返回true\r\n    // let hasFile = false;\r\n    // config.data.forEach((value) => {\r\n    //   if (value instanceof File || value instanceof Blob) {\r\n    //     hasFile = true;\r\n    //   }\r\n    // });\r\n    console.log('请求体大小判断: true')\r\n    return true;\r\n  }\r\n\r\n\r\n  if (\r\n    config.headers[\"Content-Type\"] ===\r\n    \"application/x-www-form-urlencoded; charset=UTF-8\"\r\n  ) {\r\n    // 方法3: 通过内容长度判断（如果是JSON）\r\n    console.log('请求体大小判断1:', config.data && typeof config.data === 'string');\r\n    if (config.data && typeof config.data === 'string') {\r\n      try {\r\n        const jsonData = JSON.parse(config.data);\r\n        // 如果数据对象很大或者包含base64等大字段\r\n        const jsonString = JSON.stringify(jsonData);\r\n        console.log('请求体大小判断2:', jsonString && jsonString.length);\r\n        return jsonString.length > 70000; // 超过70KB认为是大数据\r\n      } catch (e) {\r\n        // 不是JSON格式\r\n        console.log('请求体大小判断3:', config.data.length);\r\n        return config.data.length > 70000;\r\n      }\r\n    }\r\n  } else {\r\n    console.log('请求体大小判断4:', config.url);\r\n    const configUrl = config.url.split(\"?\");\r\n    const paramsStr = configUrl[1];\r\n    return paramsStr.length > 70000;\r\n  }\r\n\r\n\r\n  // 方法4: 通过配置标记\r\n  if (config.disableRetry) {\r\n    return true;\r\n  }\r\n\r\n  return false;\r\n}\r\n\r\n// 创建服务实例\r\nexport function createService() {\r\n  try {\r\n    console.log(\"createService baseURL:\", baseURL)\r\n    // 创建axios实例\r\n    const service = axios.create();\r\n\r\n    // 拦截重复请求\r\n    let pending = {};\r\n    const CancelToken = axios.CancelToken;\r\n    const source = CancelToken.source();\r\n    // 请求标识；完成请求后也需要执行删除记录，所以添加此参数避免执行无用操作\r\n    const removePending = (key, isRequest = false) => {\r\n      if (pending[key] && isRequest) {\r\n        console.log(\"取消重复请求;\", pending[key]);\r\n        source.cancel(\"请求被用户取消\");\r\n        pending[key](\"取消重复请求\");\r\n      }\r\n    };\r\n    /**\r\n     * 由于我们请求用了代理 直接代理到测试服务器 因此请求响应拦截器的config.url是一致的，不需要标识值区分\r\n     * 如果请求拦截器和响应拦截器的config.url不一致，就需要一个标识值用来区分判断\r\n     */\r\n    const getRequestIdentify = (config) => {\r\n      const urls = config.url.split(\"?\");\r\n      const url = urls[0];\r\n      return url;\r\n    };\r\n\r\n    // request拦截器\r\n    service.interceptors.request.use(\r\n      async (config) => {\r\n        // 如果不想请求可以重复发起，给在请求参数中加notAllowedRepeat：true  (后续会删除，不会发送给服务端)\r\n        // 判断是否有网络连接\r\n        if (!navigator.onLine) {\r\n          // 无网络连接时，直接抛出错误\r\n          Notification.error({\r\n            title: \"错误\",\r\n            message: \"无网络连接，请检查网络设置\",\r\n          });\r\n          return Promise.reject(new Error(\"无网络连接，请检查网络设置\"));\r\n        }\r\n        config.headers[\"Content-Type\"] = config.ContentType || \"application/json\";\r\n        if (\r\n          config.headers[\"Content-Type\"] ===\r\n          \"application/x-www-form-urlencoded; charset=UTF-8\"\r\n        ) {\r\n          // 不是重试的则进行处理\r\n          if(!config.retryCount) {\r\n            // 🔧 统一判断是否需要显示 Loading，并标记在 config 上\r\n            // 响应拦截器会根据此标记决定是否 decrement_pending\r\n            config._showLoading = shouldShowLoading(config.url, config);\r\n            if (config._showLoading) {\r\n              store.commit(\"increment_pending\");\r\n            }\r\n            const params = new URLSearchParams();\r\n            const paramKey = Object.keys(config.data);\r\n            // 是否包含notAllowedRepeat\r\n            if (paramKey.includes(\"notAllowedRepeat\")) {\r\n              const notAllowedRepeat = config.data.notAllowedRepeat;\r\n              if (notAllowedRepeat) {\r\n                // 1. 设置拦截 防止重复请求\r\n                // 拦截重复请求(即当前正在进行的相同请求)\r\n                const requestData = getRequestIdentify(config);\r\n                removePending(requestData, true);\r\n                // 使用 cancel token 取消请求 参考：http://www.axios-js.com/zh-cn/docs/#%E6%8B%A6%E6%88%AA%E5%99%A8\r\n                config.cancelToken = new CancelToken((c) => {\r\n                  pending[requestData] = c;\r\n                });\r\n              }\r\n            }\r\n            for (const key in config.data) {\r\n              if (config.data.hasOwnProperty(key) && key != \"notAllowedRepeat\") {\r\n                params.append(key, config.data[key]);\r\n              }\r\n            }\r\n            config.data = params;\r\n          }\r\n        } else {\r\n          // 不是重试的则进行处理\r\n          if(!config.retryCount) {\r\n            // 🔧 统一判断是否需要显示 Loading，并标记在 config 上\r\n            // 响应拦截器会根据此标记决定是否 decrement_pending\r\n            config._showLoading = shouldShowLoading(config.url, config);\r\n            if (config._showLoading) {\r\n              store.commit(\"increment_pending\");\r\n            }\r\n            const configUrl = config.url.split(\"?\");\r\n            const paramsStr = configUrl[1];\r\n            if (paramsStr) {\r\n              const params = paramsStr.split(\"&\");\r\n              let notAllowedRepeat = false;\r\n              if (params.length > 0) {\r\n                // 判断有没有notAllowedRepeat这个参数\r\n                const lastParam = params[params.length - 1];\r\n                if (lastParam.indexOf(\"notAllowedRepeat\") > -1) {\r\n                  notAllowedRepeat = lastParam.split(\"=\")[1];\r\n                }\r\n              }\r\n              // 拿到notAllowedRepeat的值\r\n              if (notAllowedRepeat) {\r\n                // 如果不允许重复请求，开启拦截\r\n                // todo: 1. 设置拦截 防止重复请求\r\n                // 拦截重复请求(即当前正在进行的相同请求)\r\n                const requestData = getRequestIdentify(config);\r\n                removePending(requestData, true);\r\n                // 使用 cancel token 取消请求 参考：http://www.axios-js.com/zh-cn/docs/#%E6%8B%A6%E6%88%AA%E5%99%A8\r\n                config.cancelToken = new CancelToken((c) => {\r\n                  pending[requestData] = c;\r\n                });\r\n                // 去掉params的最后一个元素\r\n                let paramsResult = params.slice(0, -1);\r\n                config.url = configUrl[0] + \"?\" + paramsResult;\r\n              }\r\n            }\r\n          }\r\n        }\r\n\r\n        return config;\r\n      },\r\n      (error) => {\r\n        if(store.state.loading.pendingCount === 0) {\r\n          store.commit(\"reset_pending\")\r\n          console.log(\"loading reset_pending:\");\r\n        }\r\n        console.log(\"请求错误：\", error); // for debug\r\n        Promise.reject(error);\r\n      }\r\n    );\r\n\r\n    // 是否正在刷新的标记\r\n    let isRefreshing = false;\r\n    //重试队列\r\n    let requests = [];\r\n    let MAX_RETRIES = 2;\r\n\r\n    // response 拦截器\r\n    service.interceptors.response.use(\r\n      async (response) => {\r\n        const code = response.data.code;\r\n        // 请求失败重试机制\r\n        if (!response) {\r\n          if (config.retryCount == undefined) {\r\n            config.retryCount = 0;\r\n          }\r\n\r\n          if (config.retryCount < MAX_RETRIES) {\r\n            config.retryCount += 1;\r\n\r\n            // 延迟一段时间后重试\r\n            await new Promise((resolve) =>\r\n              setTimeout(resolve, 1000 * config.retryCount)\r\n            );\r\n\r\n            return service(config);\r\n          } else {\r\n            console.log(\"error:\");\r\n            if (config._showLoading) {\r\n              store.commit('decrement_pending');\r\n            }\r\n            Notification.error({\r\n              title: \"错误\",\r\n              message: \"无网络连接，请检查网络设置\",\r\n            });\r\n            return Promise.reject(new Error(\"无网络连接，请检查网络设置\"));\r\n          }\r\n        }\r\n        // 过时刷新token\r\n        if (code === 1002) {\r\n          if (!isRefreshing) {\r\n            isRefreshing = true;\r\n            const user = store.getters.user;\r\n            let userInfo = {};\r\n            if (user && typeof user === \"string\") {\r\n              userInfo = JSON.parse(user);\r\n            } else if (user) {\r\n              userInfo = user;\r\n            }\r\n\r\n            // 过期\r\n            // 根据refresh_token获取新的token并重试请求\r\n            return new Promise((resolve, reject) => {\r\n              getNewUserToken({\r\n                refresh_token: userInfo.refresh_token,\r\n                device_tag: 3,\r\n                user_id: userInfo.user_id,\r\n              })\r\n                .then((res) => {\r\n                  const newUserInfo = {\r\n                    ...userInfo,\r\n                  };\r\n                  if (res.data[0].user_token) {\r\n                    newUserInfo.user_token = res.data[0].user_token;\r\n                  }\r\n                  if (res.data[0].refresh_token) {\r\n                    newUserInfo.refresh_token = res.data[0].refresh_token;\r\n                  }\r\n                  store.dispatch(\"login\", newUserInfo).then(() => {\r\n                    localStorage.setItem(\r\n                      \"expiredTime\",\r\n                      new Date().getTime() + window.expiredTime * 1000\r\n                    );\r\n                    const requestParamsStr = store.getters.requestParams;\r\n                    let requestParams = {};\r\n                    if (\r\n                      requestParamsStr &&\r\n                      typeof requestParamsStr === \"string\"\r\n                    ) {\r\n                      userInfo = JSON.parse(requestParamsStr);\r\n                    } else if (requestParamsStr) {\r\n                      requestParams = requestParamsStr;\r\n                    }\r\n                    let config = response.config;\r\n                    requests.push(() => {\r\n                      const configUrl = config.url.split(\"?\");\r\n                      const urlWhole = configUrl[0].split(\"/\");\r\n                      const url = urlWhole[urlWhole.length - 1];\r\n                      // 拿出请求参数\r\n                      const param = requestParams[url];\r\n                      let params = rsa(param);\r\n                      if (\r\n                        config.headers[\"Content-Type\"] ===\r\n                        \"application/x-www-form-urlencoded; charset=UTF-8\"\r\n                      ) {\r\n                        config.data = {\r\n                          params: params,\r\n                        };\r\n                      } else {\r\n                        config.url = configUrl[0] + \"?params=\" + params;\r\n                      }\r\n\r\n                      resolve(service(config));\r\n                    });\r\n                    // 重新发起原始请求\r\n                    // token 刷新后将数组的方法重新执行\r\n                    requests.forEach((cb) => {\r\n                      console.log(\"// 重新发起原始请求\");\r\n                      cb();\r\n                    });\r\n                    requests = []; // 重新请求完清空\r\n                  });\r\n                })\r\n                .catch((error) => {\r\n                  // 处理刷新token失败的情况\r\n                  // 清除token并跳转到登录页\r\n                  // store.dispatch(\"logout\").then(() => {\r\n                  //   location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n                  // });\r\n                  return Promise.reject(error);\r\n                })\r\n                .finally(() => {\r\n                  isRefreshing = false;\r\n                });\r\n            });\r\n          } else {\r\n            // 返回未执行 resolve 的 Promise\r\n            return new Promise((resolve) => {\r\n              // 用函数形式将 resolve 存入，等待刷新后再执行\r\n              const requestParamsStr = store.getters.requestParams;\r\n              let requestParams = {};\r\n              if (requestParamsStr && typeof requestParamsStr === \"string\") {\r\n                userInfo = JSON.parse(requestParamsStr);\r\n              } else if (requestParamsStr) {\r\n                requestParams = requestParamsStr;\r\n              }\r\n              let config = response.config;\r\n              requests.push(() => {\r\n                const configUrl = config.url.split(\"?\");\r\n                const urlWhole = configUrl[0].split(\"/\");\r\n                const url = urlWhole[urlWhole.length - 1];\r\n                // 拿出请求参数\r\n                const param = requestParams[url];\r\n                let params = rsa(param);\r\n                config.url = configUrl[0] + \"?params=\" + params;\r\n                resolve(service(config));\r\n              });\r\n            });\r\n          }\r\n        } else if (code === 1011 || code === 1012) {\r\n          store.commit(\"reset_pending\")\r\n          MessageBox.confirm(response.data.msg, \"系统提示\", {\r\n            confirmButtonText: \"重新登录\",\r\n            cancelButtonText: \"取消\",\r\n            type: \"warning\",\r\n            customClass: \"confirmClass\",\r\n          })\r\n            .then(() => {\r\n              store.dispatch(\"logout\").then(() => {\r\n                location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n              });\r\n            })\r\n            .catch(() => {\r\n              store.dispatch(\"logout\").then(() => {\r\n                location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n              });\r\n            });\r\n        } else if (code === 1005) {\r\n          store.dispatch(\"logout\").then(() => {\r\n            location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n          });\r\n        } else if (code == 1028) {\r\n          console.log(\"to CourseSelect\");\r\n          const user = store.getters.user;\r\n          let userInfo = {};\r\n          if (user && typeof user === \"string\") {\r\n            userInfo = JSON.parse(user);\r\n          } else if (user) {\r\n            userInfo = user;\r\n          }\r\n          if (userInfo.user_password_reset == 1) {\r\n            router.push(\"/resetPwd\");\r\n          } else {\r\n            router.push(\"/CourseSelect\");\r\n          }\r\n          store.commit('reset_pending');\r\n        } else if (code !== 0 && code !== 1028 && code !== 1025) {\r\n          let config = response.config;\r\n          const configUrl = config.url.split(\"?\");\r\n          const urlWhole = configUrl[0].split(\"/\");\r\n          const url = urlWhole[urlWhole.length - 1];\r\n          popRequestParams(url);\r\n          delete pending[\"/\" + url];\r\n          // console.log(\"error:\", response.data.msg);\r\n          Notification.error({\r\n            title: response.data.msg,\r\n          });\r\n          if (config._showLoading) {\r\n            store.commit('decrement_pending');\r\n          }\r\n          return response && response.data;\r\n        } else {\r\n          let config = response.config;\r\n          if (config._showLoading) {\r\n            store.commit('decrement_pending');\r\n          }\r\n          const configUrl = config.url.split(\"?\");\r\n          const urlWhole = configUrl[0].split(\"/\");\r\n          const url = urlWhole[urlWhole.length - 1];\r\n          popRequestParams(url);\r\n          delete pending[\"/\" + url];\r\n          return response && response.data;\r\n        }\r\n      },\r\n      async (error) => {\r\n        const { config, response, code } = error;\r\n        console.log(\"errorerror:\", error);\r\n\r\n        // 无网络连接\r\n        if (!navigator.onLine) {\r\n          return Promise.reject(error);\r\n        }\r\n\r\n        // 大请求检查\r\n        const isLarge = isLargeRequest(config);\r\n        console.log(\"isLarge:\", isLarge);\r\n        if (isLargeRequest(config)) {\r\n          console.log(\"大请求，禁用重试机制\");\r\n          if (config.url && config.url.indexOf(\"getMindmap\") > -1) {\r\n            // 如果是请求思维导图,则要给出提示，并返回未编辑状态\r\n            EventBus.$emit(\"connectionError\");\r\n          }\r\n          Notification.error({\r\n            title: \"错误\",\r\n            message: \"网络连接失败，请确保网络畅通后重试\",\r\n          });\r\n          return Promise.reject(error);\r\n        }\r\n\r\n        // if(code == \"ECONNABORTED\") {\r\n        //   if (config.url && config.url.indexOf(\"getMindmap\") > -1) {\r\n        //     // 如果是请求思维导图,则要给出提示，并返回未编辑状态\r\n        //     EventBus.$emit(\"connectionError\");\r\n        //   }\r\n        //   Notification.error({\r\n        //     title: \"错误\",\r\n        //     message: \"网络连接失败，请确保网络畅通后重试\",\r\n        //   });\r\n        //   return Promise.reject(error);\r\n        // }\r\n\r\n        // 请求失败重试机制\r\n        if (!response) {\r\n          if (config.retryCount == undefined) {\r\n            config.retryCount = 0;\r\n          }\r\n\r\n          if (config.retryCount < MAX_RETRIES) {\r\n            console.log(\"config.retryCount:\", config.retryCount, MAX_RETRIES);\r\n            config.retryCount += 1;\r\n\r\n            // 延迟一段时间后重试\r\n            await new Promise((resolve) =>\r\n              setTimeout(resolve, 1000 * config.retryCount)\r\n            );\r\n            console.log(\"retry:\", config);\r\n            return service(config);\r\n          } else {\r\n            console.log(\"error:\", error);\r\n            if (config._showLoading) {\r\n              store.commit('decrement_pending');\r\n            }\r\n            if (config.url && config.url.indexOf(\"getMindmap\") > -1) {\r\n              // 如果是请求思维导图,则要给出提示，并返回未编辑状态\r\n              EventBus.$emit(\"connectionError\");\r\n            }\r\n            if(store.state.loading.pendingCount === 0) {\r\n              store.commit(\"reset_pending\")\r\n              console.log(\"loading reset_pending:\");\r\n            }\r\n            Notification.error({\r\n              title: \"错误\",\r\n              message: \"网络连接失败，请确保网络畅通后重试\",\r\n            });\r\n            return Promise.reject(error);\r\n          }\r\n          return Promise.reject(error);\r\n        } else {\r\n          if(store.state.loading.pendingCount === 0) {\r\n            store.commit(\"reset_pending\")\r\n            console.log(\"loading reset_pending:\");\r\n          }\r\n          return Promise.reject(error);\r\n        }\r\n      }\r\n    );\r\n\r\n    // 异常拦截处理器\r\n    const errorHandler = (error) => {\r\n      console.log(\"errorHandler:\", error);\r\n      if (error.message == \"Network Error\") {\r\n        message.error(\"系统异常\");\r\n      }\r\n      if (error.response) {\r\n        const data = error.response.data;\r\n        // 从 localstorage 获取 token\r\n        const token = getToken();\r\n        // 判断http状态是否是1002\r\n        if (error.response.status === 1002) {\r\n          // 调接口，刷新token\r\n          store\r\n            .dispatch(\"refreshToken\")\r\n            .then(() => {\r\n              // 再发请求\r\n              return request(error.config);\r\n            })\r\n            .catch((err) => {\r\n              message.error(\"系统异常\");\r\n            });\r\n        }\r\n      }\r\n      return Promise.reject(error);\r\n    };\r\n\r\n    return service;\r\n  } catch (error) {\r\n    console.log(\"请求错误:\", error);\r\n  }\r\n}\r\nexport const service = createService()\n\n\n// WEBPACK FOOTER //\n// ./src/request/service.js","import store from \"@/vuex\";\r\nimport router from \"@/router\";\r\nimport { getToken, getCanAccessYouTube, decrypt } from \"@/utils/auth\";\r\nimport { Notification, MessageBox } from \"element-ui\";\r\n\r\nimport { service } from \"./service\";\r\n\r\nimport axios from \"axios\";\r\nimport { getNewUserToken } from \"@/api/index\";\r\nimport { rsa, popRequestParams } from \"@/utils/util\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\n\r\nlet baseURL = \"\";\r\n\r\n// 检测是国内用户还是海外用户\r\nexport async function httpTest() {\r\n  const accessible = await getCanAccessYouTube();\r\n  console.log(\"getCanAccessYouTube:\", accessible);\r\n  store.dispatch(\"setCanAccessYouTube\", accessible);\r\n  // 如果是海外用户，则插入script\r\n  if (accessible) {\r\n    var script = document.createElement(\"script\");\r\n    script.type = \"text/javascript\";\r\n    script.src = \"https://www.youtube.com/iframe_api\";\r\n    script.async = true;\r\n    document.getElementsByTagName(\"head\")[0].appendChild(script);\r\n  }\r\n  var ishttps = document.location.protocol;\r\n  console.log(\"ishttps:\", ishttps);\r\n  // accessible = true 国外使用\r\n  let webIP = accessible ? window.webIP : window.webIPNoCDN;\r\n  const res = await axios.get(\r\n    ishttps + \"//\" + webIP\r\n  );\r\n  if (res.data.code == 0) {\r\n    localStorage.setItem(\"url\", res.data.data[0].url);\r\n    baseURL = decrypt(res.data.data[0].url);\r\n    localStorage.setItem(\"environment\", res.data.data[0].environment);\r\n    localStorage.setItem(\"xieyi_url\", res.data.data[0].xieyi_url);\r\n    localStorage.setItem(\"bucket\", res.data.data[0].bucket);\r\n    localStorage.setItem(\"endpoint\", res.data.data[0].endpoint);\r\n    localStorage.setItem(\"accesskey\", res.data.data[0].accesskey);\r\n    localStorage.setItem(\"accesssecret\", res.data.data[0].accesssecret);\r\n    localStorage.setItem(\"mindmap_img_ossurl\", res.data.data[0].mindmap_img);\r\n    localStorage.setItem(\r\n      \"meditate_image_size\",\r\n      res.data.data[0].meditate_image_size\r\n    );\r\n    localStorage.setItem(\"mindmap_pdf_ossurl\", res.data.data[0].mindmap_pdf);\r\n    localStorage.setItem(\r\n      \"meditate_pdf_size\",\r\n      res.data.data[0].meditate_pdf_size\r\n    );\r\n    localStorage.setItem(\r\n      \"mindmap_pdf_admin\",\r\n      res.data.data[0].mindmap_pdf_admin\r\n    );\r\n    localStorage.setItem(\r\n      \"mindmap_pdf_size_admin\",\r\n      res.data.data[0].mindmap_pdf_size_admin\r\n    );\r\n    localStorage.setItem(\"feedback_img\", res.data.data[0].feedback_img);\r\n    localStorage.setItem(\r\n      \"feedback_image_size\",\r\n      res.data.data[0].feedback_image_size\r\n    );\r\n    localStorage.setItem(\r\n      \"experience_ishide\",\r\n      res.data.data[0].experience_ishide\r\n    );\r\n    localStorage.setItem(\"course_pdf\", res.data.data[0].course_pdf);\r\n    localStorage.setItem(\"course_pdf_size\", res.data.data[0].course_pdf_size);\r\n    localStorage.setItem(\"questiontag_num\", res.data.data[0].questiontag_num);\r\n    // const url = decrypt(res.data.data[0].url, \"url\");\r\n    localStorage.setItem(\"url\", res.data.data[0].url);\r\n    const environment = decrypt(res.data.data[0].environment, \"environment\");\r\n    localStorage.setItem(\"environment\", environment);\r\n    const app_type = decrypt(res.data.data[0].app_type, \"app_type\");\r\n    localStorage.setItem(\"app_type\", app_type);\r\n    localStorage.setItem(\"scan_url\", res.data.data[0].scan_url);\r\n    localStorage.setItem(\"click_url\", res.data.data[0].click_url);\r\n    const course_ishide_new = decrypt(\r\n      res.data.data[0].course_ishide,\r\n      \"course_ishide\"\r\n    );\r\n    localStorage.setItem(\"course_ishide\", course_ishide_new);\r\n\r\n    // ws\r\n    localStorage.setItem(\"gwworker_url\", res.data.data[0].gwworker_url);\r\n    localStorage.setItem(\r\n      \"gwworker_hostport\",\r\n      res.data.data[0].gwworker_hostport\r\n    );\r\n    localStorage.setItem(\r\n      \"gwworker_heartbeat\",\r\n      res.data.data[0].gwworker_heartbeat\r\n    );\r\n\r\n    if (app_type == 2) {\r\n      // 找到所有 rel=\"icon\" 或 rel=\"shortcut icon\" 的 <link> 标签\r\n      const faviconLinks = document.querySelectorAll(\r\n        'link[rel=\"icon\"], link[rel=\"shortcut icon\"]'\r\n      );\r\n\r\n      // 遍历所有找到的 <link> 标签\r\n      faviconLinks.forEach((link) => {\r\n        // 修改 href 属性\r\n        link.href = \"./static/favicon_overseas.ico\";\r\n      });\r\n\r\n      const title = document.querySelector(\"title\");\r\n      title.innerHTML = \"元日记国际版\";\r\n    }\r\n    console.log(\"httpTest:\");\r\n    return new Promise((resolve, reject) => {\r\n      resolve(true);\r\n    });\r\n  }\r\n}\r\n// 初始化标志\r\nlet isInitialized = false;\r\nlet isInitialing = false;\r\nlet initPromise = null;\r\nlet pendingRequests = [];\r\n// 创建请求函数\r\nfunction createRequest() {\r\n  console.log(\"createRequest:\");\r\n  try {\r\n    const initialize = async () => {\r\n      console.log(\"initialize:\", isInitialized);\r\n      if (isInitialized) return initPromise;\r\n      if (!initPromise) {\r\n        await httpTest();\r\n        isInitialized = true;\r\n        // 执行所有等待中的请求\r\n        console.log(\"执行所有等待中的请求:\", pendingRequests);\r\n        // pendingRequests.forEach(req => req.resolve(service(req.config)));\r\n        pendingRequests.forEach(req => {\r\n          const finalConfig = {\r\n            baseURL: baseURL,\r\n            timeout: 30000,\r\n            headers: {\r\n              ...req.config.headers,\r\n            },\r\n            ...req.config,\r\n          };\r\n          req.resolve(service(finalConfig));\r\n        })\r\n        pendingRequests = [];\r\n        pendingRequests.length = 0;\r\n      }\r\n      console.log(\"initialize:\", isInitialized);\r\n      return initPromise;\r\n    };\r\n\r\n    return async (config) => {\r\n      console.log(\"createRequest:::\", config)\r\n      // if(!baseURL) {\r\n      //   await initialize();\r\n      // }\r\n      // // 模拟获取token和sourceType\r\n      // // const token = localStorage.getItem('token') || '';\r\n      // console.log(\"baseURL:\", baseURL);\r\n\r\n      // const finalConfig = {\r\n      //   baseURL: baseURL,\r\n      //   timeout: 30000,\r\n      //   headers: {\r\n      //     ...config.headers,\r\n      //   },\r\n      //   ...config,\r\n      // };\r\n\r\n      // return service(finalConfig);\r\n      if (isInitialized) {\r\n        const finalConfig = {\r\n          baseURL: baseURL,\r\n          timeout: 30000,\r\n          headers: {\r\n            ...config.headers,\r\n          },\r\n          ...config,\r\n        };\r\n        return service(finalConfig);\r\n      }\r\n\r\n      // 如果正在初始化，等待初始化完成\r\n      // if (initPromise) {\r\n      //   console.log(\"\")\r\n      //   await initPromise;\r\n      //   // 执行所有等待中的请求\r\n      //   pendingRequests.forEach(req => req.resolve(service(req.config)));\r\n      //   pendingRequests.length = 0;\r\n      //   const finalConfig = {\r\n      //     baseURL: baseURL,\r\n      //     timeout: 30000,\r\n      //     headers: {\r\n      //       ...config.headers,\r\n      //     },\r\n      //     ...config,\r\n      //   };\r\n      //   return service(finalConfig);\r\n      // }\r\n\r\n      // 如果尚未开始初始化，将请求加入队列并等待初始化\r\n      return new Promise((resolve, reject) => {\r\n        console.log(\"// 请求加入队列并等待初始化\");\r\n        pendingRequests.push({ config, resolve, reject });\r\n        if(!isInitialing) {\r\n          isInitialing = true;\r\n          initialize();\r\n        }\r\n      });\r\n    };\r\n  } catch (error) {\r\n    console.log('createRequest:', error);\r\n  }\r\n}\r\n\r\nexport const request = createRequest();\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/request/request.js","import { request } from \"@/request/request\";\r\nimport { rsa, setRequestParams } from \"@/utils/util\";\r\nimport store from \"@/vuex/index\";\r\n/**\r\n * @param {string} uid\r\n */\r\n//获取验证码接口(完成)\r\nexport function getCode(data) {\r\n  setRequestParams(\"getCode\", data).then(() => {});\r\n  let params = rsa(data);\r\n  return request({\r\n    url: `/getCode?params=` + params,\r\n    method: \"get\"\r\n    // params: params\r\n  });\r\n}\r\n//获取验证码接口新(完成)\r\nexport function getCodeNew(data) {\r\n  setRequestParams(\"getCodeNew\", data).then(() => {});\r\n  let params = rsa(data);\r\n  return request({\r\n    url: `/getCodeNew?params=` + params,\r\n    method: \"get\"\r\n    // params: params\r\n  });\r\n}\r\n//获取国家区号接口 (完成)\r\nexport function getAreaCode() {\r\n  let params = rsa();\r\n  return request({\r\n    url: `/getAreaCode?params=` + params,\r\n    method: \"get\"\r\n  });\r\n}\r\n//验证码登录接口 (完成)\r\nexport function login(data) {\r\n  return setRequestParams(\"login\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/login?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//请求刷新用户token接口(完成)\r\nexport function getNewUserToken(data) {\r\n  return setRequestParams(\"getNewUserToken\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getNewUserToken?params=` + params,\r\n      method: \"GET\"\r\n    });\r\n  });\r\n}\r\n\r\n//注销用户接口(完成)\r\nexport function accountDestroy(data) {\r\n  return setRequestParams(\"accountDestroy\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/accountDestroy?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//密码登录接口(完成)\r\nexport function passwordLogin(data) {\r\n  return setRequestParams(\"passwordLogin\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/passwordLogin?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//重置密码接口(完成)\r\nexport function resetPassword(data) {\r\n  return setRequestParams(\"resetPassword\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/resetPassword?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//初始化密码接口(完成)\r\nexport function createPassword(data) {\r\n  return setRequestParams(\"createPassword\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/createPassword?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户当前课程(已完成)\r\nexport function getNowCourse() {\r\n  let data = {\r\n    network_type: store.getters.canAccessYouTube ? 1 : 2\r\n  };\r\n  return setRequestParams(\"getNowCourse\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getNowCourse?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户任务进度接口(完成)\r\nexport function getUserCourseProgress(data, options = {}) {\r\n  return setRequestParams(\"getUserCourseProgress\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserCourseProgress?params=` + params,\r\n      method: \"POST\",\r\n      // 支持 silent 静默请求配置\r\n      ...(options.silent !== undefined && { silent: options.silent })\r\n    });\r\n  });\r\n}\r\n\r\n//获取课程首页内容(完成)\r\nexport function getCourseBase(data, options = {}) {\r\n  if(data.course_tongbu != 1) {\r\n    data.course_tongbu = 2;\r\n  }\r\n  data['network_type'] = store.getters.canAccessYouTube ? 1 : 2;\r\n  data.version_date = '20260112'\r\n  return setRequestParams(\"getCourseBase\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseBase?params=` + params,\r\n      method: \"POST\",\r\n      // 支持 silent 静默请求配置\r\n      ...(options.silent !== undefined && { silent: options.silent })\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户课程思维导图(完成)\r\nexport function getMindmap(data, options = {}) {\r\n  return setRequestParams(\"getMindmap\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getMindmap?params=` + params,\r\n      method: \"POST\",\r\n      // 支持 silent 静默请求配置\r\n      ...(options.silent !== undefined && { silent: options.silent })\r\n    });\r\n  });\r\n}\r\n\r\n//获取课程法义内容(完成)\r\nexport function getCourseFaYi(data) {\r\n  return setRequestParams(\"getCourseFaYi\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseFaYi?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取课程视频列表(完成)\r\nexport function getCourseVedioList(data) {\r\n  data['network_type'] = store.getters.canAccessYouTube ? 1 : 2\r\n  return setRequestParams(\"getCourseVedioList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseVedioList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取课程音频列表(完成)\r\nexport function getCourseAudioList(data) {\r\n  return setRequestParams(\"getCourseAudioList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseAudioList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取课程观修文列表(完成)\r\nexport function getCourseMeditate(data) {\r\n  return setRequestParams(\"getCourseMeditate\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseMeditate?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取课程列表(完成)\r\nexport function getCourseList() {\r\n  let data = {\r\n    network_type: store.getters.canAccessYouTube ? 1 : 2\r\n  };\r\n  return setRequestParams(\"getCourseList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//增加法义阅读次数(完成)\r\nexport function setFayiReadNum(data) {\r\n  return setRequestParams(\"setFayiReadNum\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setFayiReadNum?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//完成课程内容接口\r\nexport function setCourseComplete(data) {\r\n  return setRequestParams(\"setCourseComplete\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setCourseComplete?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//更新课程视频观看时长(完成)\r\nexport function editUserVedioReadTime(data) {\r\n  return setRequestParams(\"editUserVedioReadTime\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editUserVedioReadTime?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//更新课程音频播放时长(完成)\r\nexport function editUserAudioReadTime(data) {\r\n  return setRequestParams(\"editUserAudioReadTime\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editUserAudioReadTime?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//添加用户思维导图(完成)\r\nexport function addUserMindmap(data, options = {}) {\r\n  return setRequestParams(\"addUserMindmap\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserMindmap`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      },\r\n      // 支持 silent 静默请求配置\r\n      ...(options.silent !== undefined && { silent: options.silent })\r\n    });\r\n  });\r\n}\r\n\r\n//编辑用户思维导图(完成)\r\nexport function editUserMindmap(data, options = {}) {\r\n  return setRequestParams(\"editUserMindmap\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editUserMindmap`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      },\r\n      // 支持 silent 静默请求配置\r\n      ...(options.silent !== undefined && { silent: options.silent })\r\n    });\r\n  });\r\n}\r\n\r\n// 清空思维导图\r\nexport function delUserMindmap(data) {\r\n  return setRequestParams(\"delUserMindmap\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delUserMindmap?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取生命海洋视频链接\r\nexport function getLifeOceanVideo(data) {\r\n  return setRequestParams(\"getLifeOceanVideo\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getLifeOceanVideo?params=` + params,\r\n      method: \"GET\"\r\n    });\r\n  });\r\n}\r\n\r\n//更新观修文观看时间(完成)\r\nexport function editMeditateTime(data) {\r\n  return setRequestParams(\"editMeditateTime\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editMeditateTime?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取官方案例详情(完成)\r\nexport function getCaseInfobyType(data) {\r\n  return setRequestParams(\"getCaseInfobyType\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCaseInfobyType?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户心得详情接口\r\nexport function getCourseCaseDetail(data) {\r\n  return setRequestParams(\"getCourseCaseDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseCaseDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取案例标签列表(完成)\r\nexport function getCaseTag() {\r\n  return setRequestParams(\"getCaseTag\", {}).then(() => {\r\n    let params = rsa();\r\n    return request({\r\n      url: `/getCaseTag?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取案例列表(完成)\r\nexport function getCaseListbyType(data) {\r\n  return setRequestParams(\"getCaseListbyType\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCaseListbyType?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//增加案例阅读次数(完成)\r\nexport function addCaseReadNum(data) {\r\n  return setRequestParams(\"addCaseReadNum\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addCaseReadNum?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//创建案例(完成)\r\nexport function addCourseCase(data) {\r\n  return setRequestParams(\"addCourseCase\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addCourseCase`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n//编辑案例(完成)\r\nexport function editCourseCase(data) {\r\n  return setRequestParams(\"editCourseCase\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editCourseCase`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n//案例详情(完成)\r\nexport function getUserCaseDetail(data) {\r\n  return setRequestParams(\"getUserCaseDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserCaseDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//示例笔记案例详情(完成)\r\nexport function getNoteCourseCaseDetail(data) {\r\n  return setRequestParams(\"getNoteCourseCaseDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getNoteCourseCaseDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//删除案例(完成)\r\nexport function delCourseCase(data) {\r\n  return setRequestParams(\"delCourseCase\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delCourseCase?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户案例列表(完成)\r\nexport function getUserCaseList(data) {\r\n  return setRequestParams(\"getUserCaseList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserCaseList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取案例性格人格视频接口(完成)\r\nexport function getCaseXrVideo(data) {\r\n  return setRequestParams(\"getCaseXrVideo\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCaseXrVideo?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//收藏/取消收藏(完成)\r\nexport function addUserCollection(data) {\r\n  return setRequestParams(\"addUserCollection\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserCollection?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取问题意识标签列表(完成)\r\nexport function getQuestiontags(data) {\r\n  return setRequestParams(\"getQuestiontags\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getQuestiontags?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//选择问题意识标签(完成)\r\nexport function addSelectQuestiontags(data) {\r\n  return setRequestParams(\"addSelectQuestiontags\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addSelectQuestiontags?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//添加问题意识标签(完成)\r\nexport function addQuestiontags(data) {\r\n  return setRequestParams(\"addQuestiontags\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addQuestiontags?params=` + params + `&notAllowedRepeat=true`,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//编辑问题意识标签(完成)\r\nexport function editQuestiontags(data) {\r\n  return setRequestParams(\"editQuestiontags\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editQuestiontags?params=` + params + `&notAllowedRepeat=true`,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//删除问题意识标签(完成)\r\nexport function delQuestiontags(data) {\r\n  return setRequestParams(\"delQuestiontags\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delQuestiontags?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取官方推荐问题列表(完成)\r\nexport function getQuestionList(data) {\r\n  return setRequestParams(\"getQuestionList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getQuestionList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//设置问题为读(完成)\r\nexport function setQuestionRead(data) {\r\n  return setRequestParams(\"setQuestionRead\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setQuestionRead?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取推荐问题解决内容(完成)\r\nexport function getQuestionSolve(data) {\r\n  return setRequestParams(\"getQuestionSolve\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getQuestionSolve?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//添加用户问题解决(完成)\r\nexport function addUserQuestionSolve(data) {\r\n  return setRequestParams(\"addUserQuestionSolve\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserQuestionSolve`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n//编辑用户问题解决(完成)\r\nexport function editUserQuestionSolve(data) {\r\n  return setRequestParams(\"editUserQuestionSolve\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editUserQuestionSolve`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n//删除用户问题解决(完成)\r\nexport function delUserQuestionSolve(data) {\r\n  return setRequestParams(\"delUserQuestionSolve\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delUserQuestionSolve?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function getQuestionHistory(data) {\r\n  return setRequestParams(\"getQuestionHistory\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getQuestionHistory?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function getUserProgressHistory(data) {\r\n  return setRequestParams(\"getUserProgressHistory\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserProgressHistory?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户的心得标签(完成)\r\nexport function getExperienceTag(data) {\r\n  return setRequestParams(\"getExperienceTag\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getExperienceTag?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户的心得列表(完成)\r\nexport function getUserExperience(data) {\r\n  return setRequestParams(\"getUserExperience\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserExperience?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//创建心得(完成)\r\nexport function addUserExperience(data) {\r\n  return setRequestParams(\"addUserExperience\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserExperience`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n//编辑心得(完成)\r\nexport function editUserExperience(data) {\r\n  return setRequestParams(\"editUserExperience\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editUserExperience`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n//删除心得(完成)\r\nexport function delUserExperience(data) {\r\n  return setRequestParams(\"delUserExperience\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delUserExperience?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n//获取心得广场列表(完成)\r\nexport function getExperienceSquare(data) {\r\n  return setRequestParams(\"getExperienceSquare\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getExperienceSquare?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//黑牌获取心得广场列表(完成)\r\nexport function getWhiteExperienceList(data) {\r\n  return setRequestParams(\"getWhiteExperienceList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getWhiteExperienceList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//增加心得阅读记录(完成)\r\nexport function addUserExperienceRead(data) {\r\n  return setRequestParams(\"addUserExperienceRead\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserExperienceRead?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户统计信息(完成)\r\nexport function getUserStatistic(data) {\r\n  return setRequestParams(\"getUserStatistic\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserStatistic?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户未读消息数接口(完成)\r\nexport function getUserMessageUnread(data) {\r\n  return setRequestParams(\"getUserMessageUnread\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserMessageUnread?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户消息列表接口(完成)\r\nexport function getMessageList(data) {\r\n  return setRequestParams(\"getMessageList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getMessageList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//设置用户消息已读接口(完成)\r\nexport function setMessageRead(data) {\r\n  return setRequestParams(\"setMessageRead\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setMessageRead?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//删除用户消息接口(完成)\r\nexport function delUserMessage(data) {\r\n  return setRequestParams(\"delUserMessage\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delUserMessage?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户课程法义收藏接口(完成)\r\nexport function getUserFayiCollection(data) {\r\n  return setRequestParams(\"getUserFayiCollection\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserFayiCollection?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户课程音频收藏接口(完成)\r\nexport function getUserAudioCollection(data) {\r\n  return setRequestParams(\"getUserAudioCollection\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserAudioCollection?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户课程视频收藏接口(完成)\r\nexport function getUserVideoCollection(data) {\r\n  return setRequestParams(\"getUserVideoCollection\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserVideoCollection?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户思维导图收藏接口(完成)\r\nexport function getUserMindmapCollection(data) {\r\n  return setRequestParams(\"getUserMindmapCollection\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserMindmapCollection?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户信息接口(完成)\r\nexport function getUserInfo(data) {\r\n  return setRequestParams(\"getUserInfo\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserInfo?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取城市列表(完成)\r\nexport function getCityTimeZone(data) {\r\n  return setRequestParams(\"getCityTimeZone\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCityTimeZone?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//编辑用户信息接口(完成)\r\nexport function editUserInfo(data) {\r\n  return setRequestParams(\"editUserInfo\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editUserInfo?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//用户反馈接口(完成)\r\nexport function setFeedback(data) {\r\n  return setRequestParams(\"setFeedback\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setFeedback`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户反馈列表接口(完成)\r\nexport function getFeedbackList(data) {\r\n  return setRequestParams(\"getFeedbackList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getFeedbackList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户反馈详情接口(完成)\r\nexport function getFeedbackDetail(data) {\r\n  return setRequestParams(\"getFeedbackDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getFeedbackDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户反馈回复列表接口(完成)\r\nexport function getFeedbackReplyList(data) {\r\n  return setRequestParams(\"getFeedbackReplyList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getFeedbackReplyList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//回复用户反馈接口(完成)\r\nexport function setFeedbackReply(data) {\r\n  return setRequestParams(\"setFeedbackReply\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setFeedbackReply?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户反馈列表标签接口(完成)\r\nexport function getFeedbackTag(data) {\r\n  return setRequestParams(\"getFeedbackTag\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getFeedbackTag?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户心得收藏接口\r\nexport function getUserExperienceCollection(data) {\r\n  return setRequestParams(\"getUserExperienceCollection\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserExperienceCollection?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//获取用户心得被收藏列表\r\nexport function getExperienceByCollect(data) {\r\n  return setRequestParams(\"getExperienceByCollect\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getExperienceByCollect?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n//获取用户图像列表接口\r\nexport function getHeadimageList(data) {\r\n  return setRequestParams(\"getHeadimageList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getHeadimageList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n//获取用户心得详情接口\r\nexport function getUserExperienceDetail(data) {\r\n  return setRequestParams(\"getUserExperienceDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserExperienceDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n//获取官方心得详情接口\r\nexport function getExperienceSquareDetail(data) {\r\n  return setRequestParams(\"getExperienceSquareDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getExperienceSquareDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 用户添加本课问题接口\r\nexport function addUserQuestion(data) {\r\n  return setRequestParams(\"addUserQuestion\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserQuestion`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n// 用户编辑本课问题接口\r\nexport function editUserQuestion(data) {\r\n  return setRequestParams(\"editUserQuestion\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/editUserQuestion`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n// 删除本课问题接口\r\nexport function delUserQuestion(data) {\r\n  return setRequestParams(\"delUserQuestion\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delUserQuestion?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 修学日志-获取修学日志一级分类课程\r\nexport function getStudyCourseTopClass() {\r\n  let data = {};\r\n  data['network_type'] = store.getters.canAccessYouTube ? 1 : 2\r\n  return setRequestParams(\"getStudyCourseTopClass\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getStudyCourseTopClass?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 修学日志-获取修学日志二级分类课程完成比例接口\r\nexport function getClassCompleteRatio(data) {\r\n  return setRequestParams(\"getClassCompleteRatio\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getClassCompleteRatio?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 修学日志-获取二级分类下课程完成项数据\r\nexport function getCourseCompleteData(data) {\r\n  return setRequestParams(\"getCourseCompleteData\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCourseCompleteData?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 修学日志-获取日志详情接口\r\nexport function getUserStudyLogDetail(data) {\r\n  return setRequestParams(\"getUserStudyLogDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserStudyLogDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 创建观修文\r\nexport function addUserMeditate(data) {\r\n  return setRequestParams(\"addUserMeditate\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserMeditate`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n// 编辑观修文\r\nexport function editUserMeditate(data1) {\r\n  return setRequestParams(\"editUserMeditate\", data1).then(() => {\r\n    let params = rsa(data1);\r\n    return request({\r\n      url: `/editUserMeditate`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n// 删除观修文\r\nexport function delUserMeditate(data) {\r\n  return setRequestParams(\"delUserMeditate\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delUserMeditate?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 修改官方观修文文字完成状态\r\nexport function setMeditateTextComplete(data) {\r\n  return setRequestParams(\"setMeditateTextComplete\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setMeditateTextComplete?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 获取课程观修文详情\r\nexport function getUserMeditateDetail(data) {\r\n  console.log(\"getUserMeditateDetail:\", data);\r\n  return setRequestParams(\"getUserMeditateDetail\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserMeditateDetail?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 创建机器人会话接口\r\nexport function createRobot(data) {\r\n  return setRequestParams(\"createRobot\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/createRobot?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 获取自助查询分类问题接口\r\nexport function getCategoryKnowledge(data) {\r\n  return setRequestParams(\"getCategoryKnowledge\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCategoryKnowledge?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 获取自助查询问题答案接口\r\nexport function getZizhuKnowledgeAnswer(data) {\r\n  return setRequestParams(\"getZizhuKnowledgeAnswer\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getZizhuKnowledgeAnswer?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 获取用户输入问题答案接口\r\nexport function getShuruKnowledgeAnswer(data) {\r\n  return setRequestParams(\"getShuruKnowledgeAnswer\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getShuruKnowledgeAnswer?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 获取机器人回复消息评价配置\r\nexport function getMsgEvaluationSetting(data) {\r\n  return setRequestParams(\"getMsgEvaluationSetting\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getMsgEvaluationSetting?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 机器人回复消息评价接口\r\nexport function msgEvaluation(data) {\r\n  return setRequestParams(\"msgEvaluation\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/msgEvaluation?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 关闭机器人会话接口\r\nexport function closeRobot(data) {\r\n  return setRequestParams(\"closeRobot\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/closeRobot?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 获取会话记录接口\r\nexport function getSessionHistory(data) {\r\n  return setRequestParams(\"getSessionHistory\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getSessionHistory?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 添加编辑用户课程\r\nexport function addUserCourse(data) {\r\n  return setRequestParams(\"addUserCourse\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addUserCourse?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 删除用户课程\r\nexport function delUserCourse(data) {\r\n  return setRequestParams(\"delUserCourse\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/delUserCourse?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 添加编辑课程简介\r\nexport function addCourseIntro(data) {\r\n  return setRequestParams(\"addCourseIntro\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/addCourseIntro`,\r\n      method: \"POST\",\r\n      ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n      data: {\r\n        params: params,\r\n        notAllowedRepeat: true\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n// 获取筛选用的课程分类\r\nexport function getCourseClassList() {\r\n  return setRequestParams(\"getCourseClassList\", {}).then(() => {\r\n    let params = rsa();\r\n    return request({\r\n      url: `/getCourseClassList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//\t获取观修文止静,完成参数接口\r\nexport function getMeditateZhijingParams() {\r\n  return setRequestParams(\"getCode\", {}).then(() => {\r\n    let params = rsa();\r\n    return request({\r\n      url: `/getMeditateZhijingParams?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n//\t获取黑牌案例提醒文案列表\r\nexport function getCaseRemindList(data) {\r\n  return setRequestParams(\"getCaseRemindList\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCaseRemindList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n//\t获取黑牌案例提醒文案列表\r\nexport function getUserCourseSearch(data) {\r\n  return setRequestParams(\"getUserCourseSearch\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getUserCourseSearch?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 获取官方课程思维导图\r\nexport function getMindmapAdmin(data) {\r\n  console.log(\"getMindmapAdmin:\", data);\r\n  return request({\r\n    url: `/getMindmapAdmin?params=` + data,\r\n    method: \"POST\"\r\n  });\r\n}\r\n\r\nexport function editUserMindmapAdmin(data, course_id) {\r\n  let params = rsa(data);\r\n  return request({\r\n    url: `/editUserMindmapAdmin`,\r\n    method: \"POST\",\r\n    ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n    data: {\r\n      params: params,\r\n      params1: course_id,\r\n      notAllowedRepeat: true\r\n    }\r\n  });\r\n}\r\n\r\n// 后台获取官方课程内容接口\r\nexport function getCourseIntroAdmin(data) {\r\n  return request({\r\n    url: `/getCourseIntroAdmin?params=` + data,\r\n    method: \"POST\"\r\n  });\r\n}\r\n\r\n// 后台添加编辑课程简介\r\n\r\nexport function editCourseIntroAdmin(data, course_id) {\r\n  let params = rsa(data);\r\n  console.log(\"course_id:::\", course_id);\r\n  return request({\r\n    url: `/editCourseIntroAdmin`,\r\n    method: \"POST\",\r\n    ContentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n    data: {\r\n      params: params,\r\n      params1: course_id,\r\n      notAllowedRepeat: true\r\n    }\r\n  });\r\n}\r\n\r\nexport function setUserGuideStatus(data) {\r\n  return setRequestParams(\"setUserGuideStatus\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setUserGuideStatus?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function getUserGuideStatus() {\r\n  return setRequestParams(\"getUserGuideStatus\", {}).then(() => {\r\n    let params = rsa();\r\n    return request({\r\n      url: `/getUserGuideStatus?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function getTimeInterval() {\r\n  return setRequestParams(\"getTimeInterval\", {}).then(() => {\r\n    let params = rsa();\r\n    return request({\r\n      url: `/getTimeInterval?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 获取验证图片  以及token\r\nexport function getCaptcha(data) {\r\n  return setRequestParams(\"getCaptcha\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/getCaptcha?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function setUserSolveSort(data) {\r\n  return setRequestParams(\"setUserSolveSort\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setUserSolveSort?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\n// 获取验证图片  以及token\r\nexport function checkCaptcha(data) {\r\n  return setRequestParams(\"checkCaptcha\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/checkCaptcha?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n// 文件上传时，获取临时凭证上传\r\nexport function getStsToken() {\r\n  return setRequestParams(\"getStsToken\", {}).then(() => {\r\n    let params = rsa();\r\n    return request({\r\n      url: `/getStsToken?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function setUserQuestionSort(data) {\r\n  return setRequestParams(\"setUserQuestionSort\", data).then(() => {\r\n    let params = rsa(data);\r\n    return request({\r\n      url: `/setUserQuestionSort?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function setWebLog(data) {\r\n  return setRequestParams(\"setWebLog\", data).then(() => {\r\n    let params = rsa(data, 'setWebLog');\r\n    return request({\r\n      url: `/setWebLog?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function getCourseAuxiliary(data) {\r\n  return setRequestParams(\"getCourseAuxiliary\", data).then(() => {\r\n    let params = rsa(data, 'getCourseAuxiliary');\r\n    return request({\r\n      url: `/getCourseAuxiliary?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function getUserAuxiliaryCollection(data) {\r\n  return setRequestParams(\"getUserAuxiliaryCollection\", data).then(() => {\r\n    let params = rsa(data, 'getUserAuxiliaryCollection');\r\n    return request({\r\n      url: `/getUserAuxiliaryCollection?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\r\n\r\nexport function getUserRemindList(data) {\r\n  return setRequestParams(\"getUserRemindList\", data).then(() => {\r\n    let params = rsa(data, 'getUserRemindList');\r\n    return request({\r\n      url: `/getUserRemindList?params=` + params,\r\n      method: \"POST\"\r\n    });\r\n  });\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/api/index.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw4NTggTDAsODU4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTk0OC4wIC0xMzEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDk0OC4wIDEzMS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMjcsMCAyNywyNyAwLDI3IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZGRkZGIj48L3BvbHlnb24+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMCA3LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4LjU1NzM3Mjg5NjY4ODk4NSAwLjApIj48cGF0aCBkPSJNNC40NDI2MjcxLDQuNDQyNjI3MSBMNC40NDI2MjcxLDIuMzUyMDg5NzQgQzQuNDQyNjI3MSwxLjA1MzI2NTc5IDMuMzg5MzYxMzIsMCAyLjA5MDUzNzM2LDAgTDAsMCIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0LjQ0MDg5MjA5ODUwMDYyNmUtMTYgOC41NTc1NjEwNjM4NjgyODUpIj48cGF0aCBkPSJNMCwwIEwwLDIuMDkwNTM3MzYgQzAsMy4zODkzNjEzMiAxLjA1MzI2NTc5LDQuNDQyNjI3MSAyLjM1MjA4OTc0LDQuNDQyNjI3MSBMNC40NDI2MjcxLDQuNDQyNjI3MSIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_fullscreen.svg\n// module id = h12a\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/headimage2.4ee79f0.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage2.png\n// module id = h1Bl\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3LjAgMjcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNSwwIEMyMC45NTU4NDQxLDAgMjcsNi4wNDQxNTU4OCAyNywxMy41IEMyNywyMC45NTU4NDQxIDIwLjk1NTg0NDEsMjcgMTMuNSwyNyBDNi4wNDQxNTU4OCwyNyAwLDIwLjk1NTg0NDEgMCwxMy41IEMwLDYuMDQ0MTU1ODggNi4wNDQxNTU4OCwwIDEzLjUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTk0OC4wIC0xMzEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDk0OC4wIDEzMS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMjcsMCAyNywyNyAwLDI3IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjRkZGRkZGIj48L3BvbHlnb24+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMDAwMDAwMDAwMDAwMDAyIDYuOTk5OTk5OTk5OTk5OTk4KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC41NTczNzI4OTY2ODg5ODUgMC4wKSI+PHBhdGggZD0iTTQuNDQyNjI3MSw0LjQ0MjYyNzEgTDQuNDQyNjI3MSwyLjM1MjA4OTc0IEM0LjQ0MjYyNzEsMS4wNTMyNjU3OSAzLjM4OTM2MTMyLDAgMi4wOTA1MzczNiwwIEwwLDAiIHN0cm9rZT0iI0ZGQjA5NSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNC40NDA4OTIwOTg1MDA2MjZlLTE2IDguNTU3NTYxMDYzODY4Mjg1KSI+PHBhdGggZD0iTTAsMCBMMCwyLjA5MDUzNzM2IEMwLDMuMzg5MzYxMzIgMS4wNTMyNjU3OSw0LjQ0MjYyNzEgMi4zNTIwODk3NCw0LjQ0MjYyNzEgTDQuNDQyNjI3MSw0LjQ0MjYyNzEiIHN0cm9rZT0iI0ZGQjA5NSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/fullscreen01.svg\n// module id = hKrO\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjU3cHgiIGhlaWdodD0iNTRweCIgdmlld0JveD0iMCAwIDU3LjAgNTQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjYyIEwwLDEyNjIgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik01LjQzNDEwNjMzLDAgQzguNDM0ODQ1NDMsMCAxMC44NjgyMTI3LDIuNDM2ODM5NSAxMC44NjgyMTI3LDUuNDQxODYwNDYgQzEwLjg2ODIxMjcsOC40NDY4ODE0MyA4LjQzNDg0NTQzLDEwLjg4MzcyMDkgNS40MzQxMDYzMywxMC44ODM3MjA5IEMyLjQzMjEyNTczLDEwLjg4MzcyMDkgMCw4LjQ0Njg4MTQzIDAsNS40NDE4NjA0NiBDMCwyLjQzNjgzOTUgMi40MzIxMjU3MywwIDUuNDM0MTA2MzMsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNNy4yNDU0NzUxMSwwIEMxMS4yNDY0NjA2LDAgMTQuNDkwOTUwMiwzLjI0OTExOTM0IDE0LjQ5MDk1MDIsNy4yNTU4MTM5NSBDMTQuNDkwOTUwMiwxMS4yNjI1MDg2IDExLjI0NjQ2MDYsMTQuNTExNjI3OSA3LjI0NTQ3NTExLDE0LjUxMTYyNzkgQzMuMjQyODM0MywxNC41MTE2Mjc5IDAsMTEuMjYyNTA4NiAwLDcuMjU1ODEzOTUgQzAsMy4yNDkxMTkzNCAzLjI0MjgzNDMsMCA3LjI0NTQ3NTExLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJpMyI+PHBhdGggZD0iTTcuMjQ1NDc1MTEsMCBDMTEuMjQ2NDYwNiwwIDE0LjQ5MDk1MDIsMy4yNDkxMTkzNCAxNC40OTA5NTAyLDcuMjU1ODEzOTUgQzE0LjQ5MDk1MDIsMTEuMjYyNTA4NiAxMS4yNDY0NjA2LDE0LjUxMTYyNzkgNy4yNDU0NzUxMSwxNC41MTE2Mjc5IEMzLjI0MjgzNDMsMTQuNTExNjI3OSAwLDExLjI2MjUwODYgMCw3LjI1NTgxMzk1IEMwLDMuMjQ5MTE5MzQgMy4yNDI4MzQzLDAgNy4yNDU0NzUxMSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjYzLjAgLTIzOC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjYzLjAgMjM4Ljk5OTk5OTk5OTk5OTk3KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMjM1Nzk5NzczNzU2MzAyIDI1LjQ4NDQ3NDQxOTI0MTQ1KSI+PHBhdGggZD0iTTAsMC42MDQ2NTExNjMgTDguNDgzMjQzNzgsMC42MDQ2NTExNjMiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC4zNDE2NzEzODAwOTA3MDIgNy4yNTU4MTM5NTQ1NjUzODMpIj48cGF0aCBkPSJNMjIuMTAwNzExNywwIEwxMCwwIEM0LjQ3NzE1MjUsMS4wMTQ1MzA2M2UtMTUgLTQuMjI5MDY3NDNlLTE1LDQuNDc3MTUyNSAwLDEwIEwwLDI3LjY2NjEzOTUgQzMuMTI4OTkwNzNlLTE1LDMzLjE4ODk4NyA0LjQ3NzE1MjUsMzcuNjY2MTM5NSAxMCwzNy42NjYxMzk1IEwyMi4xMTA0NjczLDM3LjY2NjEzOTUgTDIyLjExMDQ2NzMsMzcuNjY2MTM5NSIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCAyMC43OTYwMDkzMDMwNzYwNikiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDEwLjg2ODIxMjcsMCAxMC44NjgyMTI3LDEwLjg4MzcyMDkgMCwxMC44ODM3MjA5IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNzBBRUJBIj48L3BvbHlnb24+PC9nPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MS41MDkwNDk3NzM3NTgzMSAwLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTIpIj48cG9seWdvbiBwb2ludHM9IjAsMCAxNC40OTA5NTAyLDAgMTQuNDkwOTUwMiwxNC41MTE2Mjc5IDAsMTQuNTExNjI3OSAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzcwQUVCQSI+PC9wb2x5Z29uPjwvZz48cGF0aCBkPSJNMTQuNDkwOTUwMiw3LjI1NTgxMzk1IEMxNC40OTA5NTAyLDExLjI2MjUwODYgMTEuMjQ2NDYwNiwxNC41MTE2Mjc5IDcuMjQ1NDc1MTEsMTQuNTExNjI3OSBDMy4yNDI4MzQzLDE0LjUxMTYyNzkgMCwxMS4yNjI1MDg2IDAsNy4yNTU4MTM5NSBDMCwzLjI0OTExOTM0IDMuMjQyODM0MywwIDcuMjQ1NDc1MTEsMCBDMTEuMjQ2NDYwNiwwIDE0LjQ5MDk1MDIsMy4yNDkxMTkzNCAxNC40OTA5NTAyLDcuMjU1ODEzOTUgWiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MS41MDkwNDk3NzM3NTQ2NyAzNy40ODgzNzIwOTMzNzIxNikiPjxnIGNsaXAtcGF0aD0idXJsKCNpMykiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDE0LjQ5MDk1MDIsMCAxNC40OTA5NTAyLDE0LjUxMTYyNzkgMCwxNC41MTE2Mjc5IDAsMCIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNzBBRUJBIj48L3BvbHlnb24+PC9nPjxwYXRoIGQ9Ik0xNC40OTA5NTAyLDcuMjU1ODEzOTUgQzE0LjQ5MDk1MDIsMTEuMjYyNTA4NiAxMS4yNDY0NjA2LDE0LjUxMTYyNzkgNy4yNDU0NzUxMSwxNC41MTE2Mjc5IEMzLjI0MjgzNDMsMTQuNTExNjI3OSAwLDExLjI2MjUwODYgMCw3LjI1NTgxMzk1IEMwLDMuMjQ5MTE5MzQgMy4yNDI4MzQzLDAgNy4yNDU0NzUxMSwwIEMxMS4yNDY0NjA2LDAgMTQuNDkwOTUwMiwzLjI0OTExOTM0IDE0LjQ5MDk1MDIsNy4yNTU4MTM5NSBaIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/guide_done.svg\n// module id = iHi4\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgMTg8L3RpdGxlPg0KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLkuLvpobXnmb1taW5pVjLlv4Plvpflub/lnLoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00MTIuMDAwMDAwLCAtNTM2LjAwMDAwMCkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0xOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDEyLjAwMDAwMCwgNTM2LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMy4yMjI0NDI2IiBoZWlnaHQ9IjIzLjIyIj48L3JlY3Q+DQogICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuaYn+W9oiIgc3Ryb2tlPSIjN0U4NzhDIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgcG9pbnRzPSIxMS42MTEyMjEzIDE1Ljc1IDYuNjE1MDQ2NjcgMTguMzc2NjQ0NSA3LjU2OTIzMTEyIDEyLjgxMzMyMjIgMy41MjcyNDA5MiA4Ljg3MzM1NTU1IDkuMTEzMTMzOTkgOC4wNjE2Nzc3NyAxMS42MTEyMjEzIDMgMTQuMTA5MzA4NiA4LjA2MTY3Nzc3IDE5LjY5NTIwMTcgOC44NzMzNTU1NSAxNS42NTMyMTE1IDEyLjgxMzMyMjIgMTYuNjA3Mzk2IDE4LjM3NjY0NDUiPjwvcG9seWdvbj4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/recommended.svg\n// module id = iPqi\n// module chunks = 171","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/recording.png\n// module id = ig+R\n// module chunks = 171","import Vue from \"vue\";\r\n\r\nexport const EventBus = new Vue();\r\n// 课程内容\r\nexport const WHITE_CULTURE_CONTENT = \"WHITE_CULTURE_CONTENT\";\r\n// 心态观修文\r\nexport const WHITE_MIND_MEDITATE = \"WHITE_MIND_MEDITATE\";\r\nexport const WHITE_MIND_MEDITATE_PAGE = \"WHITE_MIND_MEDITATE_PAGE\";\r\n// 观念观修文\r\nexport const WHITE_THINK_MEDITATE = \"WHITE_THINK_MEDITATE\";\r\nexport const WHITE_THINK_MEDITATE_PAGE = \"WHITE_THINK_MEDITATE_PAGE\";\r\n//生命海洋\r\nexport const WHITE_THINK_OCEAN = \"WHITE_THINK_OCEAN\";\r\n// 心得广场\r\nexport const WHITE_TIPS_SQUARE = \"WHITE_TIPS_SQUARE\";\r\n// 提交心得\r\nexport const WHITE_CONFIRM_TIPS = \"WHITE_CONFIRM_TIPS\";\r\n// 创建心得\r\nexport const WHITE_CREATE_TIPS = \"WHITE_CREATE_TIPS\";\r\n// 编辑心得\r\nexport const WHITE_EDIT_TIPS = \"WHITE_EDIT_TIPS\";\r\n\r\n// 图表简介页\r\nexport const WHITE_ICON = \"WHITE_ICON\";\r\n// 前一个组件名称\r\nexport const WHITE_PREV_COM = \"WHITE_PREV_COM\";\r\n// 子组件前一个组件名称\r\nexport const WHITE_CHILD_PREV_COM = \"WHITE_CHILD_PREV_COM\";\r\n// 问题解决\r\nexport const WHITE_THINK_QUESTIONLIST = \"WHITE_THINK_QUESTIONLIST\";\r\n// 问题意识\r\nexport const WHITE_THINK_PROBLEM = \"WHITE_THINK_PROBLEM\";\r\n// 思维导图\r\nexport const WHITE_CULTURE_MIND = \"WHITE_CULTURE_MIND\";\r\n// 问题推荐\r\nexport const WHITE_THINK_COMMITPROBLEM = \"WHITE_THINK_COMMITPROBLEM\";\r\n// 问题解决-道德上的理解\r\nexport const WHITE_THINK_PROBLEM_SOLVE = \"WHITE_THINK_PROBLEM_SOLVE\";\r\n// 问题解决-道德上的理解\r\nexport const WHITE_THINK_MORAL_COMPREHEND = \"WHITE_THINK_MORAL_COMPREHEND\";\r\n\r\n// 白牌-个人设置\r\nexport const WHITE_SET = \"WHITE_SET\";\r\n// 白牌-个人中心\r\nexport const WHITE_PERSONAL_CENTER = \"WHITE_PERSONAL_CENTER\";\r\n// 白牌-个人中心-被收藏\r\nexport const WHITE_PERSONAL_COLLECTED = \"WHITE_PERSONAL_COLLECTED\";\r\n// 白牌-个人中心-被收藏详情\r\nexport const WHITE_COLLECTED_MESS = \"WHITE_COLLECTED_MESS\";\r\n// 白牌-个人中心-发布的心得\r\nexport const WHITE_PERSONAL_PULISH = \"WHITE_PERSONAL_PULISH\";\r\n// 黑牌\r\nexport const BLACK_CULTRUE_CONTENT = \"BLACK_CULTRUE_CONTENT\";\r\nexport const BLACK_BEHAVIOR_CONTENT = \"BLACK_BEHAVIOR_CONTENT\";\r\nexport const BLACK_THINKING_CONTENT = \"BLACK_THINKING_CONTENT\";\r\nexport const BLACK_PERSONALITY_CONTENT = \"BLACK_PERSONALITY_CONTENT\";\r\nexport const BLACK_CASE_LIST = \"BLACK_CASE_LIST\";\r\nexport const BLACK_CASE_CREATE = \"BLACK_CASE_CREATE\";\r\nexport const BLACK_CASE_MINE = \"BLACK_CASE_MINE\";\r\nexport const BLACK_CASE_EDIT = \"BLACK_CASE_EDIT\";\r\nexport const BLACK_LIFEOCEAN = \"BLACK_LIFEOCEAN\";\r\nexport const BLACK_CASE_DETAIL = \"BLACK_CASE_DETAIL\";\r\nexport const WHITE_CASE_DETAIL = \"WHITE_CASE_DETAIL\";\r\n// 查看黑牌案例\r\nexport const SEE_BLACK_CASES = \"SEE_BLACK_CASES\";\r\n// 返回心得详情\r\nexport const BACKTO_WHITE_TIPDETAIL = \"BACKTO_WHITE_TIPDETAIL\";\r\n// 查看白牌案例\r\nexport const SEE_WHITE_TIPS = \"SEE_WHITE_TIPS\";\r\n// 返回黑牌案例\r\nexport const BACKTO_BLACK_CONTENT = \"BACKTO_BLACK_CONTENT\";\r\n// 白牌心得详情\r\nexport const BLACK_TIPS_DETAIL = \"BLACK_TIPS_DETAIL\";\r\n// 我发布的黑牌列表\r\nexport const PUBLISH_BLACK_CASE = \"PUBLISH_BLACK_CASE\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/eventBus.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjE1LjA1NTczNzdweCIgaGVpZ2h0PSIxNy4xNzUxNzEycHgiIHZpZXdCb3g9IjAgMCAxNS4wNTU3Mzc3IDE3LjE3NTE3MTIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQogICAgPHRpdGxlPuWIoOmZpDwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG155m9bWluaVYy5pys6K++6Zeu6aKY6Kej5YazLemBk+eQhuS4iueahOeQhuino+WujOaIkO+8iOmimOebrui/h+mVv+aXtu+8iSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg3Ni45NTU3MzgsIC05NS40OTQyMTcpIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS40Ij4NCiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIwLjMxOTY3MiwgOTMuNDgzNjA3KSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9IuWIoOmZpCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTcuMzM2MDY2LCAyLjQwOTgzNikiPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMi4yNzYwNzY1OSwyLjkzMjU0NTc2IEwyLjI3OTA4NDMzLDE0LjAwMjIyOTMgQzIuMjc5Njg1ODgsMTUuMTQyNzY0IDMuMjA0MjY0OTIsMTYuMDY3OTQ0NiA0LjM0NTQwMTE5LDE2LjA2OTE0NzcgTDkuMzA1NzY0NzUsMTYuMDczOTYxMiBDMTAuNDQ4MTA0MSwxNi4wNzUxNjMyIDExLjM3NTY5MDksMTUuMTQ4Nzc5NSAxMS4zNzU2OTA5LDE0LjAwNTgzODYgTDExLjM3NTY5MDksMi45MzI1NDU3NiIgaWQ9IlN0cm9rZS0xIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMi45MzI1NDU3NiIgeDI9IjEzLjY1NTczNzciIHkyPSIyLjkzMjU0NTc2IiBpZD0iU3Ryb2tlLTMiPjwvbGluZT4NCiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUuMTI4MDc1MSIgeTE9IjAuMzAwNzczOTI0IiB4Mj0iOC41MjY4MjA0NCIgeTI9IjAuMzAwNzczOTI0IiBpZD0iU3Ryb2tlLTUiPjwvbGluZT4NCiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUuNTExNTYxODUiIHkxPSIxNi4wNzU5NDUyIiB4Mj0iNS41MTE1NjE4NSIgeTI9IjUuMzM3MTEyOTciIGlkPSJTdHJva2UtNyI+PC9saW5lPg0KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iOC4xNDMzMzM2OSIgeTE9IjE2LjA3NTk0NTIiIHgyPSI4LjE0MzMzMzY5IiB5Mj0iNS4zMzcxMTI5NyIgaWQ9IlN0cm9rZS05Ij48L2xpbmU+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/moral_del_done.svg\n// module id = j55E\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3IDI3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT5mdWxsIHNjcmVlbkAzeDwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhtem7kW1pbmlWMuaWh+WMliIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMi4wMDAwMDAsIC0xMjEuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iZnVsbC1zY3JlZW4iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMi4wMDAwMDAsIDEyMS4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGZpbGw9IiMwMDAwMDAiIGN4PSIxMy41IiBjeT0iMTMuNSIgcj0iMTMuNSI+PC9jaXJjbGU+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4wMDAwMDAsIDcuMDAwMDAwKSIgc3Ryb2tlPSIjNzFBRkJCIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNiI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMyw0LjQ0MjYyNzEgTDEzLDIuMzUyMDg5NzQgQzEzLDEuMDUzMjY1NzkgMTEuOTQ2NzM0MiwwIDEwLjY0NzkxMDMsMCBMOC41NTczNzI5LDAiIGlkPSJTdHJva2UtMSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNS4yMjI2ODgzN2UtMTYsOC41NTc1NjEwNiBMNS4yMjI2ODgzN2UtMTYsMTAuNjQ4MDk4NCBDNS4yMjI2ODgzN2UtMTYsMTEuOTQ2OTIyNCAxLjA1MzI2NTc5LDEzLjAwMDE4ODIgMi4zNTIwODk3NCwxMy4wMDAxODgyIEw0LjQ0MjYyNzEsMTMuMDAwMTg4MiIgaWQ9IlN0cm9rZS0zIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/fullscreen_black.svg\n// module id = jEDw\n// module chunks = 171","var map = {\n\t\"./headimage1.png\": \"jc9e\",\n\t\"./headimage10.png\": \"RCRV\",\n\t\"./headimage11.png\": \"zDu4\",\n\t\"./headimage2.png\": \"h1Bl\",\n\t\"./headimage3.png\": \"la9E\",\n\t\"./headimage4.png\": \"CrZE\",\n\t\"./headimage5.png\": \"B4Uq\",\n\t\"./headimage6.png\": \"WxR8\",\n\t\"./headimage7.png\": \"bNf9\",\n\t\"./headimage8.png\": \"MT2U\",\n\t\"./headimage9.png\": \"mpvo\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"jHuN\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList ^\\.\\/.*$\n// module id = jHuN\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE1MnB4IiBoZWlnaHQ9IjE1M3B4IiB2aWV3Qm94PSIwIDAgMTUyLjAgMTUzLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxjbGlwUGF0aCBpZD0iaTAiPjxwYXRoIGQ9Ik0xMDI0LDAgTDEwMjQsNzY4IEwwLDc2OCBMMCwwIEwxMDI0LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yODIuMCAtMzIxLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyODMuMCAzMjIuNSkiPjxnIG9wYWNpdHk9IjE1JSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIuMDc3MDIxNzY1MDYzMzY0IDkwLjg0NjU3NTQzNDk2MzY0KSI+PHBhdGggZD0iTTAsMTAuOTEzNDc5OSBDNS40NjQzMzYzNiwxNy43MDI5NjQzIDE0LjY4Mjk3NzMsMjEuMjMxMDY1MyAyMy42MzE1MjQ1LDE4Ljc5Njg0NDQgQzMyLjY2OTU0MDIsMTYuMzM3MzAyMiAzOC45Mjg5NjUzLDguNzMyNDcyMDMgNDAuMTEwNjI1OSwwIEwwLDEwLjkxMzQ3OTkgWiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNy44MjkwODY2NTQ4NjIwNyA2Ni45NjMxODg0NTc5ODkxMykiPjxwYXRoIGQ9Ik0xNS40OTE2NjExLDI4Ljc0NDczODggTDQuMDY2NjkwODgsMCBDMC4wMzIxNjM4Nzk3LDUuMTEzMjE0MzQgLTEuMjM4OTY1MzQsMTIuMTc2MTY4NyAxLjMzODc0MjkyLDE4LjY2MzQ4NTYgQzMuNDkyNzQxNDMsMjQuMDgyMjQzNiA3Ljg3ODM5MDQ0LDI3Ljk0OTY1IDEzLjAxODYxNDIsMjkuNjI5Mjk2MiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2My43NTQ0NzM0Mjk1MTY3NSAzOS4yNDM5ODkxOTkzNDEzNCkiPjxwYXRoIGQ9Ik03LjcwMTA1MTEyLDc1Ljk2MjY4ODkgQzUxLjc1NjczNTUsNzMuNDMzOTM1MSA3My41NTE2MjE3LDQ3LjcwNzQ5NTIgNjAuNDc3MzkwOSwyOC43NDE4NDIxIEM2OC4xMzI4NjM3LDguMDMyMzk1NTkgNDEuMDI3MjU3LC05LjQ3MzA2MjU1IDI1LjEyMjEwNDksNS43NjY5ODMzNiBDOC40MTM0MjM2Niw0LjA4Mzk2MTAxIC0wLjczNjAwNTc2MiwxOS42OTcwNzQxIDcuNzI0Njg0MzMsMjkuNzczMjYzIEMyMy4wNjYwMTU0LDkuNTY2ODY2MzIgNDcuMTgwMzMyNywyNS4wNTMzNzI5IDQ2LjUzODg1OTgsNDEuMjMzNjgzIEM0Ni4wMDM3MzYzLDU0Ljc3MjEzNzcgMzEuNzMyNjUyMSw3Mi4wMzYxOTk0IDAsNzMuODA4NjkwNCIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MS45MjQyNzgwNjE2MjY0MSA0MC4wOTU4NTUxODQ2NzY2NSkiPjxwYXRoIGQ9Ik01LjM4Mjg4NjE4LDUuMzgyODg2MTggQzQuMTUwNTgyOTUsNi42MTUxODk0IDIuMTU1MjY0NTgsNi42MTUxODk0IDAuOTIyOTYxMzU0LDUuMzgyODg2MTggQy0wLjMwNzY1Mzc4NSw0LjE1MDU4Mjk1IC0wLjMwNzY1Mzc4NSwyLjE1NTI2NDU4IDAuOTIyOTYxMzU0LDAuOTIyOTYxMzU0IEMyLjE1NTI2NDU4LC0wLjMwNzY1Mzc4NSA0LjE1MDU4Mjk1LC0wLjMwNzY1Mzc4NSA1LjM4Mjg4NjE4LDAuOTIyOTYxMzU0IEM2LjYxNTE4OTQsMi4xNTUyNjQ1OCA2LjYxNTE4OTQsNC4xNTA1ODI5NSA1LjM4Mjg4NjE4LDUuMzgyODg2MTggWiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4MS42MzQyNjQ3ODIwMTE3NCAyNi43NjMwMDk1MjA4MDg0NikiPjxwYXRoIGQ9Ik0zLjkyMTg0NzIyLDMuOTIxODQ3MjIgQzMuMDIzNzg1MTQsNC44MTk5MDkyOSAxLjU3MDM0MjU3LDQuODE5OTA5MjkgMC42NzIyODA0OTIsMy45MjE4NDcyMiBDLTAuMjI0MDkzNDk3LDMuMDIzNzg1MTQgLTAuMjI0MDkzNDk3LDEuNTcwMzQyNTcgMC42NzIyODA0OTIsMC42NzIyODA0OTIgQzEuNTcwMzQyNTcsLTAuMjI0MDkzNDk3IDMuMDIzNzg1MTQsLTAuMjI0MDkzNDk3IDMuOTIxODQ3MjIsMC42NzIyODA0OTIgQzQuODE5OTA5MjksMS41NzAzNDI1NyA0LjgxOTkwOTI5LDMuMDIzNzg1MTQgMy45MjE4NDcyMiwzLjkyMTg0NzIyIFoiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTcuMjM5ODkzOTg4MTYwODcgMTAuNDk4NjMyNjQ5ODQ1OCkiPjxwYXRoIGQ9Ik0zLjkyMTg0NzIyLDMuOTIxODQ3MjIgQzMuMDIzNzg1MTQsNC44MTk5MDkyOSAxLjU3MDM0MjU3LDQuODE5OTA5MjkgMC42NzIyODA0OTIsMy45MjE4NDcyMiBDLTAuMjI0MDkzNDk3LDMuMDIzNzg1MTQgLTAuMjI0MDkzNDk3LDEuNTcwMzQyNTcgMC42NzIyODA0OTIsMC42NzIyODA0OTIgQzEuNTcwMzQyNTcsLTAuMjI0MDkzNDk3IDMuMDIzNzg1MTQsLTAuMjI0MDkzNDk3IDMuOTIxODQ3MjIsMC42NzIyODA0OTIgQzQuODE5OTA5MjksMS41NzAzNDI1NyA0LjgxOTkwOTI5LDMuMDIzNzg1MTQgMy45MjE4NDcyMiwzLjkyMTg0NzIyIFoiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjcuOTA0MjQwNDczNTY0NTcgMTA4LjUxOTIzMDkyNjg4NSkiPjxwYXRoIGQ9Ik0wLDUuMzA1OTE3MDYgQzM4LjEwMzQ5MSwtNi4xMjU4MDU0NiAzNS44NDk4OTUzLDE2LjMzOTI1MTEgNzYuODY1MzM1Nyw0LjUzNDQ2MTQ4IEM5MC45NTU3OTQ2LDAuNDc5Njc3NDQ0IDk4LjQwMTk0NDcsLTMuMTkwMjIyODUgMTEyLjA1NTE4OSw0LjQ1NjgwOTUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTkuNTM3ODAxODg2MTU1NDUgNjUuNDI0OTM5NDg3Mzg4MTMpIj48cGF0aCBkPSJNMTEuOTQxNTI0NywzLjU5MTgwNjMzIEMzMi40NDY3MTI3LC03Ljk3NjY1MTIxIDQzLjg2NjYxODYsMTEuMDQxMzMyNSAzNy42MjkxMzg2LDIzLjMxMDM0NiBDMzEuNTYyMTU1MywzNS4yNDAwNTQxIDIxLjUzNjYwOSw0Mi41MzU5NjQ0IDAsNDYuNTI4Mjg5MyIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuNiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS42Nzk4NzEyNTUyNjEyMDUgMTEzLjEzNDA2ODcyMjgwOTEpIj48cGF0aCBkPSJNMCwyLjA3MjYwOTM1IEMyMS42MTQyNjEsLTYuNzM0MTM4NSAzMy44MDczMTA1LDE1LjM0OTQxMDUgNjMuMzIwMTI4NywxNS43NDk0ODcxIEM5MS4wNTM3MDM3LDE2LjEyNTkzMDQgOTkuOTE5NTM0NSwtMC41Nzc2ODY2MyAxMjYuMjI2Njc2LDIuNzIwODM0NjEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAuMzM1NzYwNDI2NzQ4MzEgMTE5Ljg3OTMwMTgwNzM3OCkiPjxwYXRoIGQ9Ik0wLDE1LjU1NDAzIEMzOS4xNTE3OTI3LC03LjkyNzI1NDcyIDY4LjUzNDYyODMsMzcuNTI3ODUzNCAxMDQuNzU3NTkxLDAiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjYiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEzLjc4MTU5NTM1NDM4NTYgMTAwLjIwMzcwNzUyOTc3MjkpIj48cGF0aCBkPSJNMCwyLjA4NDM4MTMzIEMxMi4wNTQ2MjY1LC0xLjA1MDM5NTUgMjEuMzM3NDE0OCwtMC45MTM2NjA0ODggMzAuMTQ1ODUwNyw0LjMxNjAzMTgzIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjxwYXRoIGQ9Ik0xNTAsNzUgQzE1MCwxMTYuNDIwNTgxIDExNi40MjIyNjksMTUwIDc1LDE1MCBDMzMuNTc5NDE4OCwxNTAgMCwxMTYuNDIwNTgxIDAsNzUgQzAsMzMuNTc5NDE4OCAzMy41Nzk0MTg4LDAgNzUsMCBDMTE2LjQyMjI2OSwwIDE1MCwzMy41Nzk0MTg4IDE1MCw3NSBaIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/black_none.svg\n// module id = jT4X\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/yuanriji_app.115ae69.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/yuanriji_app.png\n// module id = jaFI\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"audio_wrapper\">\r\n    <div class=\"time\" v-if=\"!onlyShowBar\">{{ currentTimeFormat }}</div>\r\n    <div class=\"totalTime\" v-if=\"!onlyShowBar\">时长：{{ totalTimeFormat }}</div>\r\n    <img\r\n      v-if=\"!playing && !onlyShowBar\"\r\n      class=\"play\"\r\n      src=\"@/assets/img/play_big.svg\"\r\n      @click=\"play()\"\r\n    />\r\n    <img\r\n      v-if=\"playing && !onlyShowBar\"\r\n      class=\"play\"\r\n      src=\"@/assets/img/pause_big.svg\"\r\n      @click=\"pause()\"\r\n    />\r\n    <div class=\"title\" v-if=\"!onlyShowBar\">{{ title }}</div>\r\n    <div class=\"onlyShowBar\">\r\n      <div class=\"onlyShowBar_time currentTime\" v-if=\"onlyShowBar\">\r\n        {{ currentTimeFormat }}\r\n      </div>\r\n      <div class=\"audio\" style=\"width: 35%;\">\r\n        <div\r\n          class=\"box\"\r\n          id=\"div_box\"\r\n          :style=\"{ backgroundColor: progressColor }\"\r\n          @click=\"changeCurrentTime\"\r\n        >\r\n          <div\r\n            ref=\"load\"\r\n            class=\"load\"\r\n            id=\"load\"\r\n            :style=\"{\r\n              backgroundImage:\r\n                bgColor.split(',').length > 1\r\n                  ? 'linear-gradient(90deg, ' +\r\n                    bgColor.split(',')[0] +\r\n                    ' 0%, ' +\r\n                    bgColor.split(',')[1] +\r\n                    ' 100%)'\r\n                  : 'linear-gradient(90deg, ' +\r\n                    bgColor +\r\n                    ' 0%, ' +\r\n                    bgColor +\r\n                    ' 100%)',\r\n              width: loadWidth + '%'\r\n            }\"\r\n          ></div>\r\n          <div\r\n            ref=\"circle\"\r\n            class=\"circle\"\r\n            id=\"circle\"\r\n            :style=\"{\r\n              backgroundImage:\r\n                bgColor.split(',').length > 1\r\n                  ? 'linear-gradient(90deg, ' +\r\n                    bgColor.split(',')[0] +\r\n                    ' 0%, ' +\r\n                    bgColor.split(',')[1] +\r\n                    ' 100%)'\r\n                  : 'linear-gradient(90deg, ' +\r\n                    bgColor +\r\n                    ' 0%, ' +\r\n                    bgColor +\r\n                    ' 100%)',\r\n              left: circleLeft + '%'\r\n            }\"\r\n            @mousedown=\"onmousedown\"\r\n          ></div>\r\n        </div>\r\n      </div>\r\n      <div class=\"onlyShowBar_time totalTimeFormat\" v-if=\"onlyShowBar\">\r\n        {{ totalTimeFormat }}\r\n      </div>\r\n      <img\r\n        v-if=\"playing && onlyShowBar && onlyShowBarPlay\"\r\n        class=\"onlyShowBar_play\"\r\n        src=\"@/assets/img/culture_pause.svg\"\r\n        @click=\"pause()\"\r\n      />\r\n      <img\r\n        v-if=\"!playing && onlyShowBar && onlyShowBarPlay\"\r\n        class=\"onlyShowBar_play\"\r\n        src=\"@/assets/img/culture_play.svg\"\r\n        @click=\"play()\"\r\n      />\r\n    </div>\r\n\r\n    <!-- <audio\r\n      :src=\"\r\n        require('@/assets/宋雨琦 _ Minnie (米妮) _ 美延 (미연) - 비가 오는 날엔 (下雨的日子) (Live).mp3')\r\n      \"\r\n      type=\"audio/mp3\"\r\n    ></audio> -->\r\n    <!-- <audio :src=\"url\" type=\"audio/mp3\"></audio> -->\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { secTotime } from \"@/utils/util.js\";\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    onlyShowBar: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    onlyShowBarPlay: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    bgColor: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    progressColor: {\r\n      type: String,\r\n      default: \"#eaedef\"\r\n    },\r\n    title: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    url: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    currentTimeProp: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    needPlay: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      timer: null,\r\n      totalTime: 0,\r\n      currentTime: 0,\r\n      audio: null,\r\n      playing: false,\r\n      loadWidth: 0,\r\n      circleLeft: 0,\r\n      totalTimeFormat: \"00:00\",\r\n      currentTimeFormat: \"00:00\",\r\n      inited: false,\r\n      loading: null,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n  },\r\n  watch: {\r\n    url: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"audio url changed：\", this.url);\r\n        // if (this.audio) {\r\n        //   this.pause(true);\r\n        // }\r\n        if (this.playing) {\r\n          this.pause(true);\r\n        }\r\n        // this.inited = false;\r\n        if (v) {\r\n          try {\r\n            this.audio = null;\r\n            // 创建音频元素\r\n            const audio = new Audio();\r\n            audio.src = this.url;\r\n            // 创建音频元素\r\n            // const audio = document.createElement(\"audio\");\r\n            // audio.setAttribute(\"controls\", \"\"); // 添加控制属性以显示播放控件\r\n            // audio.setAttribute(\"crossorigin\", \"anonymous\");\r\n\r\n            // 创建 source 元素并设置其 src 和 type 属性\r\n            // const source = document.createElement(\"source\");\r\n            // source.setAttribute(\"src\", this.url);\r\n            // source.setAttribute(\"type\", \"audio/mp3\");\r\n\r\n            // 将 source 元素添加到 audio 元件中\r\n            // audio.appendChild(source);\r\n\r\n            this.audio = audio;\r\n            this.audio.currentTime = 0;\r\n\r\n            this.openFullScreen();\r\n            this.audio.oncanplay = () => {\r\n              console.log(\"oncanplay\");\r\n              if(this.needPlay) {\r\n                this.play(true);\r\n              }\r\n              if (this.loading) {\r\n                this.loading.close();\r\n              }\r\n            };\r\n            this.audio.ondurationchange = () => {\r\n              this.durationchange();\r\n            };\r\n            this.audio.onended = () => {\r\n              console.log(\"ended\");\r\n              this.ended();\r\n            };\r\n            this.audio.onerror = e => {\r\n              console.log(\"onerror:\", e);\r\n            };\r\n          } catch (error) {\r\n            if (this.loading) {\r\n              this.loading.close();\r\n            }\r\n          }\r\n        } else {\r\n          this.totalTime = 0; //获取总播放时间\r\n          this.totalTimeFormat = secTotime(0);\r\n          const currentTimeProp = parseFloat(0);\r\n          console.log(\"this.currentTimeProp:\", currentTimeProp);\r\n          const left = 0; // 占比\r\n          this.currentTime = 0; //获取播放进度\r\n          this.currentTimeFormat = secTotime(0);\r\n          this.loadWidth = left;\r\n          this.circleLeft = left;\r\n        }\r\n      }\r\n    },\r\n    course_id(newVal) {\r\n      console.log(\"audioCom course_id:\", newVal);\r\n      if (newVal || newVal === 0) {\r\n        if (this.audio) {\r\n          this.pause(true);\r\n        }\r\n        // this.audio = null;\r\n      }\r\n    },\r\n    courseIsChanged(newVal) {\r\n      if (newVal) {\r\n        if (this.audio) {\r\n          this.pause(true);\r\n        }\r\n        // this.audio = null;\r\n      }\r\n    },\r\n    pageName(newVal) {\r\n      if (newVal) {\r\n        if (this.audio) {\r\n          this.pause(true);\r\n        }\r\n      }\r\n    },\r\n    currentTimeProp(newVal) {\r\n      if (newVal || newVal == 0) {\r\n        console.log(\"this.currentTimeProp:\", newVal);\r\n        this.audio.currentTime = newVal;\r\n        this.currentTime = newVal; //获取播放进度\r\n        this.currentTimeFormat = secTotime(newVal);\r\n        this.setLoadWidth(newVal, this.totalTime);\r\n        if (this.needPlay) {\r\n          console.log(\"updata\")\r\n          // this.updata();\r\n        } else {\r\n          this.inited = true;\r\n        }                \r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    clearTimer() {\r\n      if(this.timer) {\r\n        clearInterval(this.timer);\r\n        this.timer = null;\r\n      }\r\n    },\r\n    onmousedown(e) {\r\n      var circle = document.getElementById(\"circle\");\r\n      console.log(\"onmousedown\", e);\r\n      const offsetX = e.offsetX;\r\n      circle.onmousedown = function(event) {\r\n        event = event || window.event;\r\n      };\r\n    },\r\n    changeCurrentTime(e) {\r\n      e.stopPropagation();\r\n      if (!this.audio) {\r\n        return;\r\n      }\r\n      let offsetX = e.offsetX;\r\n      let width = e.target.offsetWidth;\r\n      const _prevClass = e.target._prevClass;\r\n      if (_prevClass === \"box\") {\r\n        offsetX = e.offsetX;\r\n        width = e.target.offsetWidth;\r\n      } else {\r\n        offsetX = e.offsetX;\r\n        width = e.target.parentElement.offsetWidth;\r\n      }\r\n      console.log(\"changeCurrentTime:\", e);\r\n\r\n      console.log(width, offsetX);\r\n      const left = parseFloat(offsetX / width).toFixed(2) * 100; // 占比\r\n      const currentTime = (this.totalTime * left) / 100;\r\n      console.log(\"updata\")\r\n      this.updata();\r\n      this.audio.currentTime = currentTime;\r\n      this.currentTime = currentTime; //获取播放进度\r\n      this.currentTimeFormat = secTotime(currentTime);\r\n      this.setLoadWidth(currentTime, this.totalTime);\r\n      this.$emit(\"changeCurrentTime\", currentTime);\r\n    },\r\n    setLoadWidth(currentTime, totalTime) {\r\n      const left = parseFloat(currentTime / totalTime).toFixed(2) * 100;\r\n      this.loadWidth = left;\r\n      this.circleLeft = left;\r\n    },\r\n    updataTimeInterval() {\r\n      \r\n    },\r\n    updata() {\r\n      console.log(\"updata播放\");\r\n      try {\r\n        this.playing = true;\r\n        this.clearTimer();\r\n        \r\n        this.audio.play();\r\n        this.currentTime = this.audio.currentTime; //获取播放进度\r\n        this.$emit(\"setCurrentTime\", this.currentTime); \r\n        this.currentTimeFormat = secTotime(this.currentTime);\r\n        this.setLoadWidth(this.currentTime, this.totalTime);\r\n        // 播放时长\r\n        this.timer = setInterval(() => {\r\n          try {\r\n            this.currentTime = this.audio.currentTime; //获取播放进度\r\n            this.$emit(\"setCurrentTime\", this.currentTime); \r\n            this.currentTimeFormat = secTotime(this.currentTime);\r\n            this.setLoadWidth(this.currentTime, this.totalTime);\r\n          } catch (error) {\r\n            this.clearTimer();\r\n          }\r\n        }, 1000);\r\n      } catch (error) {\r\n        console.error('播放失败:', error);\r\n      }\r\n      \r\n    },\r\n    pause(notneedEmit) {\r\n      if (!this.audio) {\r\n        return;\r\n      }\r\n      this.playing = false;\r\n      this.audio.pause();\r\n      this.clearTimer();\r\n      \r\n      if (!notneedEmit) {\r\n        this.$emit(\"pause\", this.audio.currentTime);\r\n      }\r\n      // this.$emit(\"changeCurrentTime\", this.audio.currentTime);\r\n    },\r\n    play(notneedEmit) {\r\n      console.log(\"播放录音\", this.audio, this.totalTime);\r\n      console.log(\"播放录音\", !this.audio, !this.totalTime);\r\n      if (!this.audio || !this.totalTime) {\r\n        return;\r\n      }\r\n      console.log(\"播放录音\", notneedEmit);\r\n      if (!notneedEmit) {\r\n        this.$emit(\"play\");\r\n      }\r\n      // this.$emit(\"play\");\r\n      console.log(\"updata\")\r\n      this.updata();\r\n    },\r\n    // 止静\r\n    playStart(notneedEmit) {\r\n      if (!this.audio) {\r\n        return;\r\n      }\r\n      console.log(\"播放录音\", notneedEmit);\r\n      if (!notneedEmit) {\r\n        this.$emit(\"play\");\r\n      }\r\n      this.audio.currentTime = 0;\r\n      // this.$emit(\"play\");\r\n      console.log(\"updata\")\r\n      this.updata();\r\n    },\r\n    durationchange() {\r\n      console.log(\"durationchange\");\r\n      this.audio.pause();\r\n      this.totalTime = this.audio.duration; //获取总播放时间\r\n      this.totalTimeFormat = secTotime(this.totalTime);\r\n      const currentTimeProp = parseFloat(this.currentTimeProp);\r\n      console.log(\"this.currentTimeProp:\", currentTimeProp)\r\n      this.audio.currentTime = currentTimeProp;\r\n      this.currentTime = currentTimeProp; //获取播放进度\r\n      this.currentTimeFormat = secTotime(currentTimeProp);\r\n      this.setLoadWidth(currentTimeProp, this.totalTime);\r\n      console.log(this.needPlay, this.inited);\r\n      if (this.needPlay) {\r\n        // console.log(\"updata\")\r\n        // this.updata();\r\n      } else {\r\n        this.inited = true;\r\n      }\r\n    },\r\n    ended() {\r\n      this.pause();\r\n      this.setLoadWidth(this.totalTime, this.totalTime);\r\n      this.currentTimeFormat = secTotime(this.totalTime);\r\n      this.clearTimer();\r\n    },\r\n    openFullScreen() {\r\n      if (this.needPlay) {\r\n        this.loading = this.$loading({\r\n          lock: true,\r\n          text: \"加载中\",\r\n          spinner: \"el-icon-loading\",\r\n          background: \"rgba(0, 0, 0, 0.7)\"\r\n        });\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    if (this.url) {\r\n      console.log(this.url);\r\n      try {\r\n        // const audio = new Audio();\r\n        // 创建音频元素\r\n        const audio = new Audio();\r\n        audio.src = this.url;\r\n\r\n        // audio.ondurationchange = () => {\r\n        //   console.log(\"getAudioTotalTime\", audio.duration);\r\n        //   // resolve(audio.duration);\r\n        // };\r\n        // const audio = document.createElement(\"audio\");\r\n        // audio.setAttribute(\"controls\", \"\"); // 添加控制属性以显示播放控件\r\n        // audio.setAttribute(\"crossorigin\", \"anonymous\");\r\n\r\n        // 创建 source 元素并设置其 src 和 type 属性\r\n        // const source = document.createElement(\"source\");\r\n        // source.setAttribute(\"src\", this.url);\r\n        // source.setAttribute(\"type\", \"audio/mp3\");\r\n\r\n        // 将 source 元素添加到 audio 元件中\r\n        // audio.appendChild(source);\r\n\r\n        // audio.crossorigin = \"anonymous\";\r\n        this.audio = audio;\r\n\r\n        this.openFullScreen();\r\n        // this.audio.src = this.url;\r\n        this.audio.oncanplay = () => {\r\n          console.log(\"oncanplay\");\r\n          if(this.needPlay) {\r\n            this.play(true);\r\n          }\r\n          if (this.loading) {\r\n            this.loading.close();\r\n          }\r\n        };\r\n        this.audio.ondurationchange = () => {\r\n          this.durationchange();\r\n        };\r\n        this.audio.onended = () => {\r\n          console.log(\"ended\");\r\n          this.ended();\r\n        };\r\n        this.audio.onloadeddata = e => {\r\n          console.log(\"loadeddata:\", e);\r\n        };\r\n        this.audio.onaudioprocess = e => {\r\n          console.log(\"audioprocess:\", e);\r\n        };\r\n        this.audio.onloadedmetadata = e => {\r\n          console.log(\"loadedmetadata:\", e);\r\n        };\r\n        this.audio.onerror = e => {\r\n          console.log(\"onerror:\", e);\r\n        };\r\n      } catch (error) {\r\n        if (this.loading) {\r\n          this.loading.close();\r\n        }\r\n      }\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.audio_wrapper {\r\n  position: relative;\r\n  width: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n}\r\n.time {\r\n  font-size: 71px;\r\n  font-family: Helvetica;\r\n  color: #335160;\r\n  line-height: 85px;\r\n  margin-bottom: 21px;\r\n}\r\n.totalTime {\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  color: #335160;\r\n  line-height: 22px;\r\n  margin-bottom: 43px;\r\n}\r\n.title {\r\n  font-size: 16px;\r\n  font-family: PingFangSC-Regular, PingFang SC;\r\n  font-weight: 400;\r\n  color: #335160;\r\n  line-height: 22px;\r\n  margin-bottom: 35px;\r\n}\r\n.play {\r\n  margin-bottom: 45px;\r\n  cursor: pointer;\r\n  width: 56px;\r\n  height: 56px;\r\n}\r\n.audio {\r\n  width: 50%;\r\n}\r\n.load {\r\n  height: 4px;\r\n  width: 0%;\r\n}\r\n.box {\r\n  width: 100%;\r\n  height: 4px;\r\n  border-radius: 2px;\r\n  background-color: #eaedef;\r\n  position: relative;\r\n  cursor: pointer;\r\n}\r\n.circle {\r\n  position: absolute;\r\n  height: 14px;\r\n  width: 14px;\r\n  margin-top: -9px;\r\n  margin-left: -5px;\r\n  border-radius: 100%;\r\n  cursor: pointer;\r\n}\r\n.onlyShowBar {\r\n  display: flex;\r\n  align-items: center;\r\n  width: 100%;\r\n  justify-content: flex-end;\r\n  .onlyShowBar_time {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 12px;\r\n    color: #64afd5;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  .currentTime {\r\n    padding-right: 10px;\r\n  }\r\n  .totalTimeFormat {\r\n    padding-left: 13px;\r\n  }\r\n  .onlyShowBar_play {\r\n    margin-left: 21px;\r\n    width: 34px;\r\n    height: 34px;\r\n    cursor: pointer;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/AudioCom.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"audio_wrapper\"},[(!_vm.onlyShowBar)?_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.currentTimeFormat))]):_vm._e(),_vm._v(\" \"),(!_vm.onlyShowBar)?_c('div',{staticClass:\"totalTime\"},[_vm._v(\"时长：\"+_vm._s(_vm.totalTimeFormat))]):_vm._e(),_vm._v(\" \"),(!_vm.playing && !_vm.onlyShowBar)?_c('img',{staticClass:\"play\",attrs:{\"src\":require(\"@/assets/img/play_big.svg\")},on:{\"click\":function($event){return _vm.play()}}}):_vm._e(),_vm._v(\" \"),(_vm.playing && !_vm.onlyShowBar)?_c('img',{staticClass:\"play\",attrs:{\"src\":require(\"@/assets/img/pause_big.svg\")},on:{\"click\":function($event){return _vm.pause()}}}):_vm._e(),_vm._v(\" \"),(!_vm.onlyShowBar)?_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"onlyShowBar\"},[(_vm.onlyShowBar)?_c('div',{staticClass:\"onlyShowBar_time currentTime\"},[_vm._v(\"\\n      \"+_vm._s(_vm.currentTimeFormat)+\"\\n    \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"audio\",staticStyle:{\"width\":\"35%\"}},[_c('div',{staticClass:\"box\",style:({ backgroundColor: _vm.progressColor }),attrs:{\"id\":\"div_box\"},on:{\"click\":_vm.changeCurrentTime}},[_c('div',{ref:\"load\",staticClass:\"load\",style:({\n            backgroundImage:\n              _vm.bgColor.split(',').length > 1\n                ? 'linear-gradient(90deg, ' +\n                  _vm.bgColor.split(',')[0] +\n                  ' 0%, ' +\n                  _vm.bgColor.split(',')[1] +\n                  ' 100%)'\n                : 'linear-gradient(90deg, ' +\n                  _vm.bgColor +\n                  ' 0%, ' +\n                  _vm.bgColor +\n                  ' 100%)',\n            width: _vm.loadWidth + '%'\n          }),attrs:{\"id\":\"load\"}}),_vm._v(\" \"),_c('div',{ref:\"circle\",staticClass:\"circle\",style:({\n            backgroundImage:\n              _vm.bgColor.split(',').length > 1\n                ? 'linear-gradient(90deg, ' +\n                  _vm.bgColor.split(',')[0] +\n                  ' 0%, ' +\n                  _vm.bgColor.split(',')[1] +\n                  ' 100%)'\n                : 'linear-gradient(90deg, ' +\n                  _vm.bgColor +\n                  ' 0%, ' +\n                  _vm.bgColor +\n                  ' 100%)',\n            left: _vm.circleLeft + '%'\n          }),attrs:{\"id\":\"circle\"},on:{\"mousedown\":_vm.onmousedown}})])]),_vm._v(\" \"),(_vm.onlyShowBar)?_c('div',{staticClass:\"onlyShowBar_time totalTimeFormat\"},[_vm._v(\"\\n      \"+_vm._s(_vm.totalTimeFormat)+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.playing && _vm.onlyShowBar && _vm.onlyShowBarPlay)?_c('img',{staticClass:\"onlyShowBar_play\",attrs:{\"src\":require(\"@/assets/img/culture_pause.svg\")},on:{\"click\":function($event){return _vm.pause()}}}):_vm._e(),_vm._v(\" \"),(!_vm.playing && _vm.onlyShowBar && _vm.onlyShowBarPlay)?_c('img',{staticClass:\"onlyShowBar_play\",attrs:{\"src\":require(\"@/assets/img/culture_play.svg\")},on:{\"click\":function($event){return _vm.play()}}}):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-56fe9204\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/AudioCom.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-56fe9204\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./AudioCom.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./AudioCom.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./AudioCom.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-56fe9204\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./AudioCom.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-56fe9204\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/AudioCom.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/headimage1.981de31.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage1.png\n// module id = jc9e\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEycHgiIGhlaWdodD0iMjJweCIgdmlld0JveD0iMCAwIDEyLjAgMjIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTQ0MSwwIEw0NDEsODEyIEwwLDgxMiBMMCwwIEw0NDEsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzLjAgLTc0Ni4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTMuOTk3NzE4NDU3Njc3ODMgNzQ3LjAwMDAwMDAwMDAwMTQpIHJvdGF0ZSg5MC4wKSI+PHBhdGggZD0iTTE5LjQxNzQ3NTcsMCBMOS43MDgyOTQ4NSw5Ljk5NzcxODQ2IEwwLDAiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_back.svg\n// module id = jsjG\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIycHgiIGhlaWdodD0iMTJweCIgdmlld0JveD0iMCAwIDIyLjAgMTIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQyOS4wIC01NjAuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQzMC4yOTEyNjIxMzU5MjMyNiA1NzAuOTk3NzE4NDU3Njc3OCkgc2NhbGUoMS4wIC0xLjApIj48cGF0aCBkPSJNMTkuNDE3NDc1NywwIEw5LjcwODI5NDg1LDkuOTk3NzE4NDYgTDAsMCIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjEuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/medidate_more_up_1.svg\n// module id = jwNj\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/thinking.2b5e9ab.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/thinking.svg\n// module id = kKs0\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMy45OSAxMS42NCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT7otYTmupAgMTwvdGl0bGU+PGcgaWQ9IuWbvuWxgl8yIiBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBpZD0i5Zu+5bGCXzEtMiIgZGF0YS1uYW1lPSLlm77lsYIgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi4yMyw2LjcyYTIuMDcsMi4wNywwLDAsMSwxLjIxLS4zOEEyLjUyLDIuNTIsMCwwLDEsNiw5YTIuNjQsMi42NCwwLDAsMS0yLjc4LDIuNjVDMS40NywxMS42NCwwLDEwLDAsNy43N0E4Ljc3LDguNzcsMCwwLDEsNS4xNywwTDYsMS41MUE2LjUyLDYuNTIsMCwwLDAsMi4yMyw2LjcyWm04LDBhMiwyLDAsMCwxLDEuMjItLjM4QTIuNTIsMi41MiwwLDAsMSwxNCw5YTIuNjQsMi42NCwwLDAsMS0yLjc3LDIuNjVDOS40NSwxMS42NCw4LDEwLDgsNy43N0E4LjgsOC44LDAsMCwxLDEzLjExLDBMMTQsMS41MUE2LjM1LDYuMzUsMCwwLDAsMTAuMjEsNi43MloiLz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/black_quotes_left.svg\n// module id = kYiz\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE4cHgiIGhlaWdodD0iMThweCIgdmlld0JveD0iMCAwIDE4LjAgMTguMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNNTc2LDkyLjA2MDY4NTYgQzU4NC44MzY1NTYsOTIuMDYwNjg1NiA1OTIsOTkuMjI0MTI5NiA1OTIsMTA4LjA2MDY4NiBMNTkyLDcwNC4wNjA2ODYgTDEsNzA0LjA2MDY4NiBMMSwxMDguMDYwNjg2IEMxLDk5LjIyNDEyOTYgOC4xNjM0NDQsOTIuMDYwNjg1NiAxNyw5Mi4wNjA2ODU2IEw1NzYsOTIuMDYwNjg1NiBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkyIj48cGF0aCBkPSJNOC42MTExMTExMSwwIEMxMy4zNjY4OTY1LDAgMTcuMjIyMjIyMiwzLjg1MzQ0ODU1IDE3LjIyMjIyMjIsOC42MDY5MTgyNCBDMTcuMjIyMjIyMiwxMy4zNjAzODc5IDEzLjM2Njg5NjUsMTcuMjEzODM2NSA4LjYxMTExMTExLDE3LjIxMzgzNjUgQzMuODU1MzI1NzcsMTcuMjEzODM2NSAwLDEzLjM2MDM4NzkgMCw4LjYwNjkxODI0IEMwLDMuODUzNDQ4NTUgMy44NTUzMjU3NywwIDguNjExMTExMTEsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU1Mi4wIC00MzYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5OS4wIDczLjkzOTMxNDQwNzIyNTU0KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kxKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIuMCAxNzcuMDYwNjg1NTkyNzc0NDYpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjEuMzA0MzQ3ODI2MDg3OTIgMTg1LjY0Nzc5ODc0MjEzODU1KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kyKSI+PHBvbHlnb24gcG9pbnRzPSIwLDAgMTcuMjIyMjIyMiwwIDE3LjIyMjIyMjIsMTcuMjEzODM2NSAwLDE3LjIxMzgzNjUgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM2M0FGRDUiPjwvcG9seWdvbj48cG9seWdvbiBwb2ludHM9IjAsMCAxNy4yMjIyMjIyLDAgMTcuMjIyMjIyMiwxNy4yMTM4MzY1IDAsMTcuMjEzODM2NSAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0icmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIj48L3BvbHlnb24+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNTM5NjA2NDY5MDk3OTcgNS44NjczMTU2MTY1MDIzNTUpIj48cGF0aCBkPSJNOC42MTExMTExMSwwIEwzLjU2NDM1Mzc1LDUuMTY0MTUwOTQgTDAsMS44NzEyODM5NSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/think_finish.svg\n// module id = kqCz\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"content-box big-view bg-white contentBlack-box\">\r\n    <NoData v-if=\"!loading && datas.length === 0\" />\r\n    <div class=\"case-box\">\r\n      <div class=\"case-list blackCaseList\">\r\n        <swiper\r\n          ref=\"whiteCaseListSwiper\"\r\n          id=\"whiteCaseListSwiper\"\r\n          :key=\"swiperKey\"\r\n          :options=\"swiperOption\"\r\n          :style=\"{'--pagination-active-color': paginationActiveColor}\"\r\n          class=\"show-swiper\">\r\n          <template v-if=\"datas && datas.length\">\r\n            <template>\r\n              <swiper-slide :key=\"index\"\r\n                class=\"swiper-slide-sub\"\r\n                v-for=\"(item, index) in datas\">\r\n                <el-card :class=\"['box-card', item.course_case_isuseradd == 1 ? 'personal-card' :'']\"\r\n                  :key=\"'class' + index\">\r\n                  <div @click=\"toDetail(item, index)\">\r\n                    <div class=\"card-title\">\r\n                      <div class=\"title\" :class=\"'title' + item.case_tag_type\">案例{{ index + 1 }}</div>\r\n                      <div v-if=\"item.course_case_isuseradd == 1\" class=\"personal-tag\">个人</div>\r\n                    </div>\r\n                    <div class=\"case-content ellipsis-content\">\r\n                      <span class=\"quotes quotes1\">“</span>\r\n                      <span class=\"quotes quotes2\">”</span>{{ item.course_case_content }}\r\n                    </div>\r\n                    <img\r\n                      v-if=\"\r\n                        selectData && selectData.course_case_id == item.course_case_id && (experience_tag_type == 1 ||\r\n                          (!experience_tag_type && whiteActiveIndex + 1 === 1))\r\n                      \"\r\n                      src=\"@/assets/img/go_button_cultrue.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\"\r\n                  />\r\n                    <img\r\n                      v-if=\"\r\n                        selectData && selectData.course_case_id == item.course_case_id && (experience_tag_type == 2 ||\r\n                          (!experience_tag_type && whiteActiveIndex + 1 === 2))\r\n                      \"\r\n                      src=\"@/assets/img/go_button_think.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\"\r\n                    />\r\n                    <img\r\n                      v-if=\"\r\n                        selectData && selectData.course_case_id == item.course_case_id && (experience_tag_type == 3 ||\r\n                          (!experience_tag_type && whiteActiveIndex + 1 === 3))\r\n                      \"\r\n                      src=\"@/assets/img/go_button_behavior.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\"\r\n                    />\r\n                    <img\r\n                      v-if=\"\r\n                        selectData && selectData.course_case_id == item.course_case_id && (experience_tag_type == 4 ||\r\n                          (!experience_tag_type && whiteActiveIndex + 1 === 4))\r\n                      \"\r\n                      src=\"@/assets/img/go_button_personality.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\"\r\n                    />\r\n                    <!-- <img\r\n                        v-if=\"selectData && selectData.course_case_id == item.course_case_id\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'questionDoneArrow' + index\"\r\n                        src=\"@/assets/img/black_case_arrow.svg\" /> -->\r\n                    <div class=\"footer\">\r\n                      <span class=\"tag\"\r\n                        :class=\"'tag' + experience_tag_type\">{{\r\n                        item.case_tag_title\r\n                      }}</span>\r\n                      <span class=\"num\"\r\n                        v-if=\"item.course_case_isuseradd == 2\">\r\n                        <span>阅读\r\n                          <span>{{ item.course_case_see_num }}</span>\r\n                        </span>\r\n                      </span>\r\n                    </div>\r\n                  </div>\r\n                </el-card>\r\n              </swiper-slide>\r\n            </template>\r\n          </template>\r\n          <div v-show=\"datas && datas.length\" class=\"swiper-pagination\"\r\n            slot=\"pagination\"></div>\r\n        </swiper>\r\n        <div class=\"case-detail\">\r\n          <Detail v-if=\"selectData && selectData.course_case_id\"\r\n            :course_case_id=\"selectData.course_case_id\"\r\n            :case_tag_type=\"selectData.case_tag_type\"\r\n            :course_case_isuseradd=\"selectData.course_case_isuseradd\"\r\n            @closeDetail=\"closeDetail\"\r\n            :showBtn=\"false\"\r\n            @addCaseReadNum=\"addCaseReadNum\"\r\n          />\r\n        </div>\r\n\r\n        <!-- <div class=\"cases list\"\r\n          v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n          <el-card class=\"box-card\"\r\n            v-for=\"(item, index) in datas\"\r\n            :key=\"'class' + index\">\r\n            <div @click=\"toDetail(item, index)\">\r\n              <div class=\"title\">案例{{ index + 1 }}</div>\r\n              <div class=\"case-content ellipsis-content\">\r\n                <span class=\"quotes quotes1\">“</span>\r\n                <span class=\"quotes quotes2\">”</span>{{ item.course_case_content }}\r\n              </div>\r\n              <div class=\"footer\">\r\n                <span class=\"tag\"\r\n                  :class=\"'tag' + case_tag_type\">{{\r\n                  item.case_tag_title\r\n                }}</span>\r\n                <span class=\"num\"\r\n                  v-if=\"item.course_case_isuseradd == 2\">\r\n                  <span>阅读\r\n                    <span>{{ item.course_case_see_num }}</span>\r\n                  </span>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </el-card>\r\n        </div>\r\n        <p v-if=\"loading\"\r\n          class=\"loading\">加载中...</p>\r\n        <p v-if=\"noMore && datas.length > 0\"\r\n          class=\"loading\">--到底啦--</p> -->\r\n      </div>\r\n      <div class=\"nav\">\r\n        <img\r\n          v-if=\"\r\n            experience_tag_type == 1 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 1)\r\n          \"\r\n          src=\"@/assets/img/go_button_cultrue.svg\"\r\n          @click=\"back\"\r\n        />\r\n        <img\r\n          v-if=\"\r\n            experience_tag_type == 2 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 2)\r\n          \"\r\n          src=\"@/assets/img/go_button_think.svg\"\r\n          @click=\"back\"\r\n        />\r\n        <img\r\n          v-if=\"\r\n            experience_tag_type == 3 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 3)\r\n          \"\r\n          src=\"@/assets/img/go_button_behavior.svg\"\r\n          @click=\"back\"\r\n        />\r\n        <img\r\n          v-if=\"\r\n            experience_tag_type == 4 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 4)\r\n          \"\r\n          src=\"@/assets/img/go_button_personality.svg\"\r\n          @click=\"back\"\r\n        />\r\n        <div\r\n          v-if=\"\r\n            experience_tag_type == 1 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 1)\r\n          \"\r\n          class=\"module\"\r\n          style=\"background: #71afbb\"\r\n        >\r\n          文化\r\n        </div>\r\n        <div\r\n          v-if=\"\r\n            experience_tag_type == 2 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 2)\r\n          \"\r\n          class=\"module\"\r\n          style=\"background: #64afd5\"\r\n        >\r\n          思维 &bull; 观念\r\n        </div>\r\n        <div\r\n          v-if=\"\r\n            experience_tag_type == 3 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 3)\r\n          \"\r\n          class=\"module\"\r\n          style=\"background: #ffb096\"\r\n        >\r\n          行为 &bull; 习惯\r\n        </div>\r\n        <div\r\n          v-if=\"\r\n            experience_tag_type == 4 ||\r\n              (!experience_tag_type && whiteActiveIndex + 1 === 4)\r\n          \"\r\n          class=\"module\"\r\n          style=\"background: #2c51af\"\r\n        >\r\n          性格 &bull; 人格\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getCaseListbyType, getCaseTag } from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nimport Detail from \"@/views/black/Detail.vue\";\r\nimport NoData from \"@/components/NoData\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: { NoData, Detail, swiper, swiperSlide },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      datas: [],\r\n      loading: false,\r\n      noMore: false,\r\n      page: 0,\r\n      pageSize: 10000000,\r\n      courseId: \"\",\r\n      isActivated: true,\r\n      caseInfoData: {},\r\n      experience_tag_type: \"\",\r\n      dialogVisible: false,\r\n      selectData: {},\r\n      course_id: \"\",\r\n      caseTags: [],\r\n      currentIndex: null,\r\n      swiperKey: Math.random().toString(36).substr(2) /*随机的key*/,\r\n      swiperOption: {\r\n        direction: \"vertical\",\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // 设置slider容器能够同时显示的slides数量，默认为1， 'auto'则自动根据slides的宽度来设定数量\r\n        slidesPerView: \"auto\",\r\n        /*\r\n         * 开启这个参数来计算每个slide的progress(进度、进程)\r\n         * 对于slide的progress属性，活动的那个为0，其他的依次减1\r\n         */\r\n        watchSlidesProgress: true,\r\n        // 默认active slide居左，设置为true后居中\r\n        centeredSlides: true,\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: true,\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          tap: (e) => {\r\n            const activeIndex =\r\n              this.$refs.whiteCaseListSwiper.swiper.clickedIndex;\r\n            console.log('tap:',activeIndex);\r\n            if (activeIndex || activeIndex === 0) {\r\n              this.swiper.realIndex = activeIndex;\r\n              this.swiper.activeIndex = activeIndex;\r\n              this.clickSlide(0.3, activeIndex);\r\n            }\r\n          },\r\n          slideChange: () => {\r\n            const activeIndex =\r\n              this.$refs.whiteCaseListSwiper.swiper.activeIndex;\r\n            console.log('slideChange:',activeIndex);\r\n            this.clickSlide(0.3, activeIndex);\r\n          },\r\n        },\r\n      },\r\n    };\r\n  },\r\n  computed: {\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    swiper() {\r\n      return this.$refs.whiteCaseListSwiper.swiper;\r\n    },\r\n    // 【新增】根据 experience_tag_type 计算分页器选中颜色\r\n    paginationActiveColor() {\r\n      const colorMap = {\r\n        1: '#71afbb',  // 文化\r\n        2: '#64afd5',  // 思维·观念\r\n        3: '#ffb096',  // 行为·习惯\r\n        4: '#2c51af'   // 性格·人格\r\n      };\r\n      // 优先使用 experience_tag_type，否则使用 whiteActiveIndex + 1\r\n      const type = this.experience_tag_type || (this.whiteActiveIndex + 1);\r\n      return colorMap[type] || '#64afd5';\r\n    }\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.courseId = newVal;\r\n          this.init();\r\n        }\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal) {\r\n          this.init();\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    // 数据加载后初始化 swiper\r\n    initSwiper() {\r\n      console.log(\"initSwiper：\", this.swiper);\r\n      this.$nextTick(() => {\r\n        if (!this.swiper) return;\r\n\r\n        if(this.datas.length) {\r\n          this.clickSlide(0.3, 0);\r\n        }\r\n      });\r\n    },\r\n    getSwiperSlides() {\r\n      const whiteCaseListSwiper = document.getElementById(\"whiteCaseListSwiper\");\r\n      if(!whiteCaseListSwiper) {\r\n        return [];\r\n      }\r\n      const items =\r\n        whiteCaseListSwiper.getElementsByClassName(\"swiper-slide-sub\");\r\n      return items;\r\n    },\r\n    slideTo(data) {\r\n      if (data.status) {\r\n        // 已完成\r\n        this.$set(data, \"isHover\", 1);\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"questionDoneArrowHover\" + this.activeIndex]) {\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transition = \"all 0.3s linear\";\r\n          }\r\n        });\r\n      } else {\r\n        if (this.$refs[\"thinkArrow\" + this.activeIndex]) {\r\n          this.$refs[\r\n            \"thinkArrow\" + this.activeIndex\r\n          ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n          this.$refs[\"thinkArrow\" + this.activeIndex][0].style.transition =\r\n            \"all 0.3s linear\";\r\n        }\r\n      }\r\n    },\r\n    clickSlide(duration = 0.8, activeIndex) {\r\n      console.log('clickSlide');\r\n      const items = this.getSwiperSlides();\r\n      // const activeIndex = this.$refs.whiteCaseListSwiper.swiper.clickedIndex || this.$refs.whiteCaseListSwiper.swiper.activeIndex;\r\n      console.log(\"activeIndexactiveIndex:\", activeIndex);\r\n      this.activeIndex = activeIndex;\r\n      this.$refs.whiteCaseListSwiper.swiper.slideTo(activeIndex);\r\n      this.selectData = this.datas[this.activeIndex];\r\n      this.$set(this.datas[activeIndex], \"isHover\", 1);\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const rect = slide.getBoundingClientRect();\r\n        const diff = activeIndex - i;\r\n        // const translateY = this.$px2rem(diff * 0.4 * 242); // 166是swiper-slide的高度\r\n        const translateY = -rect.height * 0.2\r\n        console.log(\"translateY:\", translateY);\r\n        const translateX = this.$px2rem(-50);\r\n        if (i === this.activeIndex) {\r\n          slide.style.transform = `translate(${translateX}, ${translateY + 'px'}) scale(${1})`;\r\n        } else {\r\n          if(i === this.activeIndex + 1 || i === this.activeIndex - 1) {\r\n            slide.style.transform = `translate(${translateX}, ${translateY + 'px'}) scale(${0.8})`;\r\n          } else {\r\n            slide.style.transform = `translate(${translateX}, ${translateY * 1.5 + 'px'}) scale(${0.8})`;\r\n          }\r\n        }\r\n        slide.style.transition = `all ${duration}s linear`;\r\n      }\r\n    },\r\n    addCaseReadNum() {\r\n      if(this.currentIndex != null) {\r\n        const course_case_see_num = this.datas[this.currentIndex].course_case_see_num;\r\n        this.$set(this.datas[this.currentIndex], \"course_case_see_num\", course_case_see_num + 1);\r\n      }\r\n    },\r\n    toCaseListAnimation() {\r\n      this.$nextTick(() => {\r\n        const blackCaseList = document.getElementsByClassName(\"blackCaseList\");\r\n        if (blackCaseList) {\r\n          blackCaseList[0].style.transform = \"translateY(50%)\";\r\n          blackCaseList[0].style.opacity = 0;\r\n          let timeout = setTimeout(() => {\r\n            clearTimeout(timeout);\r\n            blackCaseList[0].style.transform = \"translateY(0%)\";\r\n            blackCaseList[0].style.opacity = 1;\r\n            blackCaseList[0].style.transition = \"all 0.8s linear\";\r\n          }, 100);\r\n        }\r\n      });\r\n    },\r\n    back() {\r\n      EventBus.$emit(\"backToWhite\");\r\n      this.$router.back();\r\n    },\r\n    init() {\r\n      this.datas = [];\r\n      this.page = 0;\r\n      this.noMore = false;\r\n      this.loading = false;\r\n      this.experience_tag_type = this.$route.query.experience_tag_type;\r\n      this.course_id = this.$route.query.course_id;\r\n      this.selectData = {};\r\n      this.getCaseListbyType();\r\n    },\r\n    load() {\r\n      if (this.noMore || this.loading) {\r\n        return;\r\n      }\r\n      this.experience_tag_type = this.$route.query.experience_tag_type;\r\n      this.course_id = this.$route.query.course_id;\r\n      this.page += 1;\r\n      this.getCaseListbyType();\r\n    },\r\n    closeDetail() {\r\n      this.dialogVisible = false;\r\n      this.selectData = {};\r\n    },\r\n    // 编辑案例\r\n    toDetail(data, index) {\r\n      // this.dialogVisible = true;\r\n      this.selectData = data;\r\n      this.currentIndex = index;\r\n    },\r\n    async getCaseTag() {\r\n      try {\r\n        const res = await getCaseTag();\r\n        if (res && res.code === 0) {\r\n          this.caseTags = res.data;\r\n          this.$store.dispatch(\"setCaseTags\", res.data).then(() => {});\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getCaseListbyType() {\r\n      if(this.page <= 1) {\r\n        this.datas = [];\r\n      }\r\n      this.loading = true;\r\n\r\n      let params = {\r\n        course_id: this.course_id,\r\n        page: this.page,\r\n        pageSize: this.pageSize,\r\n        is_new: 1\r\n      };\r\n\r\n      if (this.experience_tag_type) {\r\n        params.case_tag_type = this.experience_tag_type;\r\n      } else {\r\n        params.case_tag_type = this.whiteActiveIndex + 1;\r\n      }\r\n      console.log(\"getCaseListbyType:\", params);\r\n\r\n      try {\r\n        const res = await getCaseListbyType(params);\r\n        this.loading = false;\r\n        if(this.page <= 1) {\r\n          this.datas = [];\r\n        }\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          data.forEach(item => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.last_update_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          this.datas.push(...data);\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n          this.initSwiper();\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.isActivated = true;\r\n    this.course_id = this.$route.query.course_id;\r\n    this.courseId = this.course_id;\r\n    this.init();\r\n    this.load();\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    this.fullscreen = true;\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n/deep/ .no-data {\r\n  position: absolute;\r\n}\r\n.loading {\r\n  text-align: center;\r\n}\r\n.contentBlack-box {\r\n  z-index: 110;\r\n}\r\n.case-tag-type {\r\n  position: fixed;\r\n  right: 32px;\r\n  top: 126px;\r\n  z-index: 1000;\r\n  list-style: none;\r\n  border-radius: 20px;\r\n  width: 25px;\r\n  text-align: center;\r\n  // margin-top: -1px;\r\n  font-size: 12px;\r\n  font-weight: 500;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  padding: 20px 6px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n}\r\n.case-tag-type-1 {\r\n  background-color: #71afbb;\r\n  height: 58px;\r\n}\r\n.case-tag-type-2 {\r\n  background-color: #64afd5;\r\n  height: 107px;\r\n}\r\n.case-tag-type-3 {\r\n  background-image: linear-gradient(135deg, #ffae8b 0%, #fd746b 100%);\r\n  height: 107px;\r\n}\r\n.case-tag-type-4 {\r\n  background-color: #2C51AF;\r\n  height: 107px;\r\n}\r\n.go_button {\r\n  position: fixed;\r\n  top: 81px;\r\n  right: 28px;\r\n}\r\n.case-box {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  height: 100%;\r\n  .case-list {\r\n    width: calc(100% - 80px);\r\n    height: 100%;\r\n    display: flex;\r\n    // padding: 81px 0 0 72px;\r\n    .cases {\r\n      display: flex;\r\n      justify-content: flex-start;\r\n      flex-wrap: wrap;\r\n      height: 100%;\r\n      overflow-y: auto;\r\n    }\r\n    .box-card {\r\n      width: 256px;\r\n      height: 100%;\r\n      background: rgba(0, 0, 0, 0.4);\r\n      border-radius: 16px;\r\n      // margin-bottom: 27px;\r\n      cursor: pointer;\r\n      // margin-left: 24px;\r\n      .card-title {\r\n        display: flex;\r\n        padding: 18px 19px;\r\n        align-items: center;\r\n        .title {\r\n          // height: 30px;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #64AFD5;\r\n          line-height: 16px;\r\n          &.title1 {\r\n            color: #71afbb;\r\n          }\r\n          &.title2 {\r\n            color: #64afd5;\r\n          }\r\n          &.title3 {\r\n            color: #ffb096;\r\n          }\r\n          &.title4 {\r\n            color: #2c51af;\r\n          }\r\n        }\r\n        .personal-tag {\r\n          width: 30px;\r\n          height: 16px;\r\n          border-radius: 3px;\r\n          border: 1px solid rgba(255,255,255,0.2);\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 10px;\r\n          color: rgba(255,255,255,0.4);\r\n          line-height: 12px;\r\n          text-align: center;\r\n          font-style: normal;\r\n          margin-left: 6px;\r\n        }\r\n      }\r\n      .case-content {\r\n        position: relative;\r\n        height: 75px;\r\n        // padding: 0 20px;\r\n        padding: 0 47px;\r\n        margin: 0 0 20px 0;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: bold;\r\n        font-size: 16px;\r\n        color: #FFFFFF;\r\n        line-height: 25px;\r\n        font-style: normal;\r\n        // text-align: justify;\r\n        // overflow: hidden;\r\n        // text-overflow: ellipsis;\r\n        -webkit-line-clamp: 3;\r\n        // -webkit-box-orient: vertical;\r\n        // display: -webkit-box;\r\n        .quotes {\r\n          position: absolute;\r\n        }\r\n        .quotes1 {\r\n          top: 0;\r\n          left: 11px;\r\n        }\r\n        .quotes2 {\r\n          right: 11px;\r\n          bottom: -4px;\r\n        }\r\n      }\r\n      .footer {\r\n        height: 48px;\r\n        border-top: 1px solid #1d2223;\r\n        padding: 16px 23px 20px 26px;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        color: #7e878c;\r\n        .tag {\r\n          padding-left: 11px;\r\n          position: relative;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #7e878c;\r\n          line-height: 18px;\r\n          font-style: normal;\r\n        }\r\n        .tag1 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 8px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #71afbb;\r\n          }\r\n        }\r\n        .tag2 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 8px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #64afd5;\r\n          }\r\n        }\r\n        .tag3 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 7px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #ffb096;\r\n          }\r\n        }\r\n        .tag4 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 7px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #2c51af;\r\n          }\r\n        }\r\n        .num {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 300;\r\n          font-size: 12px;\r\n          color: #7e878c;\r\n          line-height: 18px;\r\n          text-align: justify;\r\n          font-style: normal;\r\n          span {\r\n            color: #7d858a;\r\n          }\r\n        }\r\n      }\r\n      &.personal-card {\r\n        .title {\r\n          color: #7e878c;\r\n        }\r\n        .case-content {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 16px;\r\n          color: #FFFFFF;\r\n          line-height: 25px;\r\n          text-align: justify;\r\n          font-style: normal;\r\n        }\r\n      }\r\n    }\r\n    /deep/ .el-card {\r\n      border: none;\r\n    }\r\n    /deep/ .el-card__body {\r\n      padding: 0;\r\n    }\r\n  }\r\n  .nav {\r\n    padding-top: 27px;\r\n    padding-right: 25px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    z-index: 10;\r\n    img {\r\n      width: 33px;\r\n      height: 33px;\r\n      cursor: pointer;\r\n    }\r\n    .module {\r\n      width: 25px;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #ffffff;\r\n      line-height: 17px;\r\n      padding: 12px 6px;\r\n      // background: #6f7f7f;\r\n      border-radius: 13px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      margin-top: 20px;\r\n    }\r\n  }\r\n}\r\n.case-detail {\r\n  padding: 25px 0 40px 0;\r\n  flex: 1;\r\n}\r\n.show-swiper {\r\n  width: 350px;\r\n  height: calc(100% - 20px);\r\n  margin-left: 0\r\n  // position: absolute;\r\n  // left: 0%;\r\n}\r\n.swiper-wrapper {\r\n  margin-left: 105px;\r\n}\r\n/deep/ .swiper-slide {\r\n  width: 286px;\r\n  height: 193px;\r\n  margin-left: 110px;\r\n  /* // 表示所有属性都有动作效果，过度时间为0.4s，以慢速开始和结束的过渡效果 */\r\n  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n  &:hover {\r\n    transform: scale(1.1, 1.1);\r\n  }\r\n}\r\n/deep/.swiper-slide-active {\r\n  margin-left: 113px;\r\n}\r\n/deep/ .swiper-pagination {\r\n  left: 33px;\r\n  z-index: 5;\r\n  width: 11px;\r\n}\r\n/deep/ .swiper-pagination-bullet {\r\n  width: 4px;\r\n  height: 4px;\r\n  background-color: var(--pagination-active-color);\r\n  opacity: 0.5;\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  background-color: var(--pagination-active-color);\r\n  width: 11px;\r\n  height: 11px;\r\n  opacity: 1;\r\n}\r\n/deep/ .swiper-pagination-bullets {\r\n  right: 10px;\r\n}\r\n/deep/\r\n  .swiper-container-vertical\r\n  > .swiper-pagination-bullets\r\n  .swiper-pagination-bullet {\r\n  margin: 24px auto;\r\n}\r\n/deep/ .el-card {\r\n  border-radius: 16px;\r\n}\r\n.box-card.tip-wrapper.none-card {\r\n  /deep/ .el-card__body {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n  }\r\n}\r\n.think-arrow {\r\n  position: absolute;\r\n  right: 0;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  width: 30px;\r\n  height: 30px;\r\n}\r\n.thinkArrowActive {\r\n  -webkit-animation: thinkArrowActive 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: thinkArrowActive 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes thinkArrowActive {\r\n  0% {\r\n    transform: translateX(14px);\r\n  }\r\n  100% {\r\n    transform: translateX(77px);\r\n  }\r\n}\r\n@-webkit-keyframes thinkArrowActive {\r\n  0% {\r\n    transform: translateX(14px);\r\n  }\r\n  100% {\r\n    transform: translateX(77px);\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CaseList.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-box big-view bg-white contentBlack-box\"},[(!_vm.loading && _vm.datas.length === 0)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"case-box\"},[_c('div',{staticClass:\"case-list blackCaseList\"},[_c('swiper',{key:_vm.swiperKey,ref:\"whiteCaseListSwiper\",staticClass:\"show-swiper\",style:({'--pagination-active-color': _vm.paginationActiveColor}),attrs:{\"id\":\"whiteCaseListSwiper\",\"options\":_vm.swiperOption}},[(_vm.datas && _vm.datas.length)?[_vm._l((_vm.datas),function(item,index){return _c('swiper-slide',{key:index,staticClass:\"swiper-slide-sub\"},[_c('el-card',{key:'class' + index,class:['box-card', item.course_case_isuseradd == 1 ? 'personal-card' :'']},[_c('div',{on:{\"click\":function($event){return _vm.toDetail(item, index)}}},[_c('div',{staticClass:\"card-title\"},[_c('div',{staticClass:\"title\",class:'title' + item.case_tag_type},[_vm._v(\"案例\"+_vm._s(index + 1))]),_vm._v(\" \"),(item.course_case_isuseradd == 1)?_c('div',{staticClass:\"personal-tag\"},[_vm._v(\"个人\")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"case-content ellipsis-content\"},[_c('span',{staticClass:\"quotes quotes1\"},[_vm._v(\"“\")]),_vm._v(\" \"),_c('span',{staticClass:\"quotes quotes2\"},[_vm._v(\"”\")]),_vm._v(_vm._s(item.course_case_content)+\"\\n                  \")]),_vm._v(\" \"),(\n                      _vm.selectData && _vm.selectData.course_case_id == item.course_case_id && (_vm.experience_tag_type == 1 ||\n                        (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 1))\n                    )?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_cultrue.svg\")}}):_vm._e(),_vm._v(\" \"),(\n                      _vm.selectData && _vm.selectData.course_case_id == item.course_case_id && (_vm.experience_tag_type == 2 ||\n                        (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 2))\n                    )?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_think.svg\")}}):_vm._e(),_vm._v(\" \"),(\n                      _vm.selectData && _vm.selectData.course_case_id == item.course_case_id && (_vm.experience_tag_type == 3 ||\n                        (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 3))\n                    )?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_behavior.svg\")}}):_vm._e(),_vm._v(\" \"),(\n                      _vm.selectData && _vm.selectData.course_case_id == item.course_case_id && (_vm.experience_tag_type == 4 ||\n                        (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 4))\n                    )?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_personality.svg\")}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"footer\"},[_c('span',{staticClass:\"tag\",class:'tag' + _vm.experience_tag_type},[_vm._v(_vm._s(item.case_tag_title))]),_vm._v(\" \"),(item.course_case_isuseradd == 2)?_c('span',{staticClass:\"num\"},[_c('span',[_vm._v(\"阅读\\n                        \"),_c('span',[_vm._v(_vm._s(item.course_case_see_num))])])]):_vm._e()])])])],1)})]:_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.datas && _vm.datas.length),expression:\"datas && datas.length\"}],staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2),_vm._v(\" \"),_c('div',{staticClass:\"case-detail\"},[(_vm.selectData && _vm.selectData.course_case_id)?_c('Detail',{attrs:{\"course_case_id\":_vm.selectData.course_case_id,\"case_tag_type\":_vm.selectData.case_tag_type,\"course_case_isuseradd\":_vm.selectData.course_case_isuseradd,\"showBtn\":false},on:{\"closeDetail\":_vm.closeDetail,\"addCaseReadNum\":_vm.addCaseReadNum}}):_vm._e()],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"nav\"},[(\n          _vm.experience_tag_type == 1 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 1)\n        )?_c('img',{attrs:{\"src\":require(\"@/assets/img/go_button_cultrue.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(\n          _vm.experience_tag_type == 2 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 2)\n        )?_c('img',{attrs:{\"src\":require(\"@/assets/img/go_button_think.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(\n          _vm.experience_tag_type == 3 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 3)\n        )?_c('img',{attrs:{\"src\":require(\"@/assets/img/go_button_behavior.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(\n          _vm.experience_tag_type == 4 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 4)\n        )?_c('img',{attrs:{\"src\":require(\"@/assets/img/go_button_personality.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(\n          _vm.experience_tag_type == 1 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 1)\n        )?_c('div',{staticClass:\"module\",staticStyle:{\"background\":\"#71afbb\"}},[_vm._v(\"\\n        文化\\n      \")]):_vm._e(),_vm._v(\" \"),(\n          _vm.experience_tag_type == 2 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 2)\n        )?_c('div',{staticClass:\"module\",staticStyle:{\"background\":\"#64afd5\"}},[_vm._v(\"\\n        思维 • 观念\\n      \")]):_vm._e(),_vm._v(\" \"),(\n          _vm.experience_tag_type == 3 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 3)\n        )?_c('div',{staticClass:\"module\",staticStyle:{\"background\":\"#ffb096\"}},[_vm._v(\"\\n        行为 • 习惯\\n      \")]):_vm._e(),_vm._v(\" \"),(\n          _vm.experience_tag_type == 4 ||\n            (!_vm.experience_tag_type && _vm.whiteActiveIndex + 1 === 4)\n        )?_c('div',{staticClass:\"module\",staticStyle:{\"background\":\"#2c51af\"}},[_vm._v(\"\\n        性格 • 人格\\n      \")]):_vm._e()])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f4747492\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CaseList.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f4747492\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CaseList.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CaseList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CaseList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f4747492\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CaseList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-f4747492\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CaseList.vue\n// module id = null\n// module chunks = ","/*\r\n * @Author: your name\r\n * @Date: 2020-12-25 11:50:19\r\n * @LastEditTime: 2021-01-25 18:27:18\r\n * @LastEditors: Please set LastEditors\r\n * @Description: In User Settings Edit\r\n * @FilePath: \\dispatch-sys\\src\\store\\modules\\user.js\r\n */\r\n// import storage from 'store'\r\n// logout\r\n// import { login } from \"@/api/login\";\r\nimport {\r\n  getToken,\r\n  setToken,\r\n  removeToken,\r\n  getRefreshToken,\r\n  setRefreshToken,\r\n  removeRefreshToken,\r\n  setUserInfo,\r\n  removeUserInfo,\r\n  getUserInfo,\r\n  removeCourse,\r\n  getPageName,\r\n  setPageName,\r\n  removeAllMindMap\r\n} from \"@/utils/auth\";\r\nimport { getNewUserToken } from \"@/api/index\";\r\nconst user = {\r\n  state: {\r\n    user: getUserInfo(),\r\n    token: getToken(),\r\n    refreshToken: getRefreshToken(),\r\n    subPages: [\r\n      \"MoralComprehend\",\r\n      \"CreateTips\",\r\n      \"EditTips\",\r\n      \"Icon_culture\",\r\n      \"CastList\",\r\n      \"problemSolving\",\r\n      \"CommitProblem\",\r\n      \"MyCases\",\r\n      \"EditCase\",\r\n      \"CreateCase\",\r\n      \"TipsList\",\r\n      \"Silence\",\r\n      \"TipsViewAdd\",\r\n      \"TAudioAdd\",\r\n      \"CultrueContentAudioDetail\",\r\n      \"CultrueContentVideoDetail\",\r\n      'QuestionListHistory'\r\n    ],\r\n    tagType: null, // // 类型 1文化 2思维观念 3行为习惯 4性格人格\r\n    pageName: getPageName() ? getPageName() : \"white\",\r\n    canAccessYouTube: false,\r\n    initedCanAccessYouTube: false\r\n  },\r\n\r\n  mutations: {\r\n    // 登录\r\n    login(state, user) {\r\n      state.user = user;\r\n      localStorage.setItem(\"userInfo\", JSON.stringify(user));\r\n    },\r\n    // 退出\r\n    logout(state, user) {\r\n      state.user = {};\r\n      localStorage.setItem(\"userInfo\", \"\");\r\n    },\r\n    SET_TOKEN: (state, token) => {\r\n      state.token = token;\r\n    },\r\n    SET_RETOKEN: (state, refreshToken) => {\r\n      state.refreshToken = refreshToken;\r\n    },\r\n    setTagType: (state, tagType) => {\r\n      state.tagType = tagType;\r\n    },\r\n    setPageName: (state, pageName) => {\r\n      state.pageName = pageName;\r\n    },\r\n    setCanAccessYouTube: (state, canAccessYouTube) => {\r\n      console.log(\"dispath setCanAccessYouTube:\", canAccessYouTube)\r\n      state.canAccessYouTube = canAccessYouTube;\r\n      state.initedCanAccessYouTube = true;\r\n    }\r\n  },\r\n\r\n  actions: {\r\n    // 登录\r\n    login({ commit }, data) {\r\n      console.log(\"login data:\", data.user_token);\r\n      // data.user_token =\r\n      //   \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzYW5qaXhpdXh1ZSIsImF1ZCI6InNhbmppeGl1eHVlYXBpIiwiaWF0IjoxNjY1OTg0NjAxLCJuYmYiOjE2NjU5ODQ2MDEsImV4cCI6MTY2NjAxNDYwMSwiZGF0YSI6eyJ1c2VyaWQiOjMxMTMsImRldmljZV9pZCI6IjQ3ZGNiOWU2LWY4YjYtNDAzYy04NTAwLWFjOTcyNDk2NGQ4NCIsImZyb21BUFAiOiJCUyIsImRldmljZV90YWciOjF9fQ.36HhXVY3ZOvT7Ajnn7m9kpPHRSRXfybWy7CcQa53r7M\";\r\n      commit(\"login\", data);\r\n      commit(\"SET_TOKEN\", data.user_token);\r\n      commit(\"SET_RETOKEN\", data.refresh_token);\r\n      setToken(data.user_token);\r\n      setRefreshToken(data.refresh_token);\r\n      // 测试\r\n      setUserInfo(JSON.stringify(data));\r\n    },\r\n\r\n    // 登出\r\n    logout({ commit, state }) {\r\n      console.log(\"logout:\", state.user);\r\n      let user = {};\r\n      if (typeof state.user === \"string\") {\r\n        user = JSON.parse(state.user);\r\n      } else {\r\n        user = state.user;\r\n      }\r\n      commit(\"logout\");\r\n      commit(\"SET_TOKEN\", \"\");\r\n      commit(\"SET_RETOKEN\", \"\");\r\n      removeToken();\r\n      removeRefreshToken();\r\n      removeUserInfo();\r\n      removeAllMindMap(user.course_id, user.user_id);\r\n      // removeCourse();\r\n    },\r\n    // 刷新token\r\n    RefreshToken({ commit, res }) {\r\n      return new Promise((resolve, reject) => {\r\n        if (res && res.code == 0) {\r\n          commit(\"SET_TOKEN\", res.data[0].user_token);\r\n          if (res.data.refresh_token) {\r\n            commit(\"SET_RETOKEN\", res.data[0].refresh_token);\r\n          }\r\n          setToken(res.data[0].user_token);\r\n          resolve();\r\n        } else {\r\n          reject();\r\n        }\r\n      });\r\n    },\r\n    setTagType({ commit }, data) {\r\n      commit(\"setTagType\", data);\r\n    },\r\n    setPageName({ commit }, data) {\r\n      commit(\"setPageName\", data);\r\n      setPageName(data);\r\n    },\r\n    setCanAccessYouTube({ commit }, data) {\r\n      commit(\"setCanAccessYouTube\", data);\r\n    }\r\n  }\r\n};\r\n\r\nexport default user;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/modules/user.js","/*\r\n * @Author: your name\r\n * @Date: 2020-12-25 11:50:19\r\n * @LastEditTime: 2021-01-25 18:27:18\r\n * @LastEditors: Please set LastEditors\r\n * @Description: In User Settings Edit\r\n * @FilePath: \\dispatch-sys\\src\\store\\modules\\user.js\r\n */\r\n// import storage from 'store'\r\n// logout\r\n// import { login } from \"@/api/login\";\r\nimport {\r\n  setCourse,\r\n  getCourse,\r\n  setCourseId,\r\n  getCourseId,\r\n  setCourseIsuseradd,\r\n  getCourseIsuseradd,\r\n  setCourseIsChanged,\r\n  getCourseIsChanged,\r\n  setCourseIdExt,\r\n  getCourseIdExt,\r\n  setTip,\r\n  getTip,\r\n  removeTip,\r\n  setAddTipData,\r\n  getAddTipData,\r\n  removeAddTipData,\r\n  setMoralComprehend,\r\n  getMoralComprehend,\r\n  setProblemSolve,\r\n  getProblemSolve,\r\n  setCourseProgress,\r\n  getCourseProgress,\r\n  setProblemSolveList,\r\n  getProblemSolveList,\r\n  setWhiteCom,\r\n  getWhiteCom,\r\n  setWhiteActiveIndex,\r\n  getWhiteActiveIndex,\r\n  setMindMap,\r\n  getMindMap,\r\n  getUserInfo,\r\n  setMindMapGuide,\r\n  getMindMapGuide,\r\n  setMindMapOfficial,\r\n  getMindMapOfficial,\r\n  setGuideName\r\n} from \"@/utils/auth\";\r\nimport { setWebLog } from \"@/api\";\r\n// let userInfoLo = getUserInfo() ? getUserInfo() : \"{}\";\r\n// let userInfo = {};\r\n// if (userInfoLo !== \"{}\") {\r\n//   userInfo = JSON.parse(userInfoLo);\r\n// }\r\n\r\nconst white = {\r\n  state: {\r\n    course_idExt: \"\",\r\n    courseList: [],\r\n    course_id: null,\r\n    courseIsuseradd: \"\",\r\n    courseIsChanged: false,\r\n    course: null, //在读课程\r\n    courseBase: null, //课程首页内容\r\n    courseProgress:  null, //任务进度\r\n    mindMeditate: null, // 心态观修文\r\n    thinkMeditate: null, // 观念观修文\r\n    progress_meditate_xingwei_long: 0, //行为观修文时长\r\n    progress_meditate_siwei_long: 0, // 思维观修文时长\r\n    menuType: 0, //图表简介页\r\n    prevCom: null, //前一个组件名称\r\n    prevChildCom: null, //子组件前一个组件名称\r\n    whiteActiveIndex: getWhiteActiveIndex() ? getWhiteActiveIndex() : 0, // 当前所在模块\r\n    //whiteCom: getWhiteCom() ? getWhiteCom() : \"CultrueContent\", // 白牌选中的内容\r\n    whiteCom: 'CultrueContent',\r\n    problemSolve: getProblemSolve() ? JSON.parse(getProblemSolve()) : null, //问题解决-道德上的理解\r\n    problemSolveList: getProblemSolveList()\r\n      ? JSON.parse(getProblemSolveList())\r\n      : null, // 问题解决列表\r\n    moralComprehend: getMoralComprehend()\r\n      ? JSON.parse(getMoralComprehend())\r\n      : null, // 问题解决选中\r\n    questionList: [], // 本课问题列表\r\n    tip: null, // 编辑选中的心得\r\n    addTipData: null, // 新增心得数据缓存\r\n    editTip: false, //编辑心得成功\r\n    confirmTipType: 1, // 1：班级交流分享 2：其他分享\r\n    whiteFullScreenPages: [\r\n      \"MoralComprehend\",\r\n      \"CreateTips\",\r\n      \"EditTips\",\r\n      \"Icon_culture\",\r\n      \"ProblemSolving\",\r\n      \"CommitProblem\",\r\n      \"Set\",\r\n      \"MindMessage\",\r\n      \"PersonalCenter\",\r\n      \"Collected\",\r\n      \"PulishExperience\",\r\n      \"CollectedMess\",\r\n      \"TipsList\",\r\n      \"CaseList\",\r\n      \"Detail\",\r\n      \"ExperienceMess\",\r\n      \"WhiteCaseList\",\r\n      \"WhiteCaseDetail\",\r\n      \"publishBlackCase\",\r\n      \"StudyLog\",\r\n      \"StudyLogList\",\r\n      \"StudyLogDetail\",\r\n      \"TipsViewAdd\",\r\n      \"TipsViewDetail\",\r\n      \"TAudioAdd\",\r\n      \"SelfHelp\",\r\n      \"Icon\",\r\n      \"Silence\",\r\n      \"CultrueContentAudioDetail\",\r\n      \"CultrueContentVideoDetail\",\r\n      'QuestionListHistory'\r\n    ],\r\n    menuTab: \"\", // 1：同喜 2：同修 3：同德\r\n    menuTabActive: \"\",\r\n    experienceTagTypeObj: {\r\n      experienceTagType: 1, // 类型 1文化 2思维观念 3行为习惯 4性格人格\r\n      Com: \"\"\r\n    },\r\n    blackTip: null,\r\n    mindMap: {}, //用户课程思维导图\r\n    mindMapTimeStamp: 0,\r\n    scrollTop: 0,\r\n    mindMapOfficial: {}, //用户官方思维导图,\r\n    mindMapGuide: {}, //用户引导节点思维导图\r\n    isTaskProgressClick: false,\r\n    guideName:'',\r\n    currentAudioContent: null,\r\n    currentAudioTime: 0,\r\n    // 历史版本控制状态（双栈模式）\r\n    historyVersion: {\r\n      canUndo: false,        // 是否可撤销\r\n      canRedo: false,        // 是否可重做\r\n      undoCount: 0,          // Undo 栈深度\r\n      redoCount: 0,          // Redo 栈深度\r\n      isUndoRedoAction: false // 标记是否为撤销/重做操作（防止重复保存快照）\r\n    }\r\n  },\r\n\r\n  mutations: {\r\n    setGuideName(state, name) {\r\n      state.guideName = name;\r\n    },\r\n    setCourseList(state, courseList) {\r\n      state.courseList = courseList;\r\n    },\r\n    setCourseIdExt(state, course_id) {\r\n      state.course_idExt = course_id;\r\n    },\r\n    setCourseId(state, course_id) {\r\n      state.course_id = course_id;\r\n    },\r\n    setCourseIsuseradd(state, courseIsuseradd) {\r\n      state.courseIsuseradd = courseIsuseradd;\r\n    },\r\n    setCourseIsChanged(state, courseIsChanged) {\r\n      state.courseIsChanged = courseIsChanged;\r\n    },\r\n    setCourse(state, course) {\r\n      state.course = course;\r\n    },\r\n    setCourseBase(state, courseBase) {\r\n      state.courseBase = courseBase;\r\n    },\r\n    setCourseProgress(state, courseProgress) {\r\n      state.courseProgress = courseProgress;\r\n    },\r\n    setMindMeditate(state, mindMeditate) {\r\n      state.mindMeditate = mindMeditate;\r\n    },\r\n    setThinkMeditate(state, thinkMeditate) {\r\n      state.thinkMeditate = thinkMeditate;\r\n    },\r\n    setMindMeditateLong(state, progress_meditate_xingwei_long) {\r\n      state.progress_meditate_xingwei_long = progress_meditate_xingwei_long;\r\n    },\r\n    setThinkMeditateLong(state, progress_meditate_siwei_long) {\r\n      state.progress_meditate_siwei_long = progress_meditate_siwei_long;\r\n    },\r\n    setMenuType(state, menuType) {\r\n      state.menuType = menuType;\r\n    },\r\n    setPrevCom(state, prevCom) {\r\n      state.prevCom = prevCom;\r\n    },\r\n    setPrevChildCom(state, prevChildCom) {\r\n      state.prevChildCom = prevChildCom;\r\n    },\r\n    setWhiteActiveIndex(state, data) {\r\n      state.whiteActiveIndex = data;\r\n    },\r\n    setWhiteCom(state, whiteCom) {\r\n      state.whiteCom = whiteCom;\r\n    },\r\n    setProblemSolve(state, problemSolve) {\r\n      state.problemSolve = problemSolve;\r\n    },\r\n    setProblemSolveList(state, problemSolveList) {\r\n      state.problemSolveList = problemSolveList;\r\n    },\r\n    setMoralComprehend(state, moralComprehend) {\r\n      state.moralComprehend = moralComprehend;\r\n    },\r\n    setQuestionList(state, questionList) {\r\n      state.questionList = questionList;\r\n    },\r\n    setTip(state, tip) {\r\n      state.tip = tip;\r\n      if (tip) {\r\n        setTip(tip);\r\n      } else {\r\n        removeTip();\r\n      }\r\n    },\r\n    setAddTipData(state, tip) {\r\n      state.addTipData = tip;\r\n      if (tip) {\r\n        setAddTipData(tip);\r\n      } else {\r\n        removeAddTipData();\r\n      }\r\n    },\r\n    setEditTip(state, editTip) {\r\n      state.editTip = editTip;\r\n    },\r\n    setConfirmTipType(state, confirmTipType) {\r\n      state.confirmTipType = confirmTipType;\r\n    },\r\n    setWhiteFullScreenPages(state, fullScreenPages) {\r\n      let whiteFullScreenPages = state.whiteFullScreenPages;\r\n      const index = whiteFullScreenPages.indexOf(fullScreenPages);\r\n      if (index > -1) {\r\n        let whiteFullScreenPagesSet = new Set(whiteFullScreenPages);\r\n        whiteFullScreenPagesSet.delete(fullScreenPages);\r\n        state.whiteFullScreenPages = [...whiteFullScreenPagesSet];\r\n      } else {\r\n        state.whiteFullScreenPages.push(fullScreenPages);\r\n      }\r\n      console.log(\"state.whiteFullScreenPages:\", state.whiteFullScreenPages);\r\n    },\r\n    setMenuTab(state, menuTab) {\r\n      state.menuTab = menuTab;\r\n    },\r\n    setMenuTabActive(state, menuTabActive) {\r\n      state.menuTabActive = menuTabActive;\r\n    },\r\n    setExperienceTagType(state, experienceTagTypeObj) {\r\n      state.experienceTagTypeObj = experienceTagTypeObj;\r\n    },\r\n    setBlackTip(state, blackTip) {\r\n      state.blackTip = blackTip;\r\n    },\r\n    setMindMap(state, mindMap) {\r\n      let userInfo = JSON.parse(getUserInfo());\r\n      let mindMapJ = JSON.parse(mindMap);\r\n      console.log(\"white setMindMap:\", mindMapJ);\r\n      if (mindMapJ.data) {\r\n        state.mindMap = mindMapJ.data;\r\n        if (mindMapJ.mindMapTimeStamp) {\r\n          state.mindMapTimeStamp = mindMapJ.mindMapTimeStamp;\r\n        }\r\n\r\n        if(!mindMapJ.isOnlyReady) {\r\n          setMindMap(\r\n            mindMapJ.data,\r\n            state.course_id,\r\n            userInfo.user_id,\r\n            mindMapJ.timeStamp,\r\n            mindMapJ.isEdited,\r\n            mindMapJ.mindMapTimeStamp\r\n          );\r\n        }\r\n      } else {\r\n        state.mindMap = mindMap;\r\n        state.mindMapTimeStamp = new Date().getTime();\r\n        setMindMap(mindMap, state.course_id, userInfo.user_id);\r\n      }\r\n    },\r\n    setMindMapGuide(state, mindMap) {\r\n      let mindMapJ = JSON.parse(mindMap);\r\n      console.log(\"white setMindMapGuide:\", mindMapJ);\r\n      if (mindMapJ.data) {\r\n        state.mindMapGuide = mindMapJ.data;\r\n        console.log(\"state.mindMapGuide:\", state.mindMapGuide);\r\n        // if (mindMapJ.timeStamp) {\r\n        //   state.mindMapTimeStampGuide = mindMapJ.timeStamp;\r\n        // } else {\r\n        //   // state.mindMapTimeStamp = new Date().getTime();\r\n        // }\r\n\r\n        setMindMapGuide(\r\n          mindMapJ.data,\r\n          mindMapJ.course_id,\r\n          mindMapJ.timeStamp,\r\n          mindMapJ.isEdited\r\n        );\r\n      }\r\n      console.log(\"white js mindMapJ():::\", mindMapJ);\r\n    },\r\n    setMindMapOfficial(state, mindMap) {\r\n      let mindMapJ = JSON.parse(mindMap);\r\n      console.log(\"white setMindMapOfficial:\", mindMapJ);\r\n      if (mindMapJ.data) {\r\n        state.mindMapOfficial = mindMapJ.data;\r\n\r\n        setMindMapOfficial(\r\n          mindMapJ.data,\r\n          mindMapJ.course_id,\r\n          mindMapJ.timeStamp,\r\n          mindMapJ.isEdited\r\n        );\r\n      }\r\n      console.log(\"white js mindMapJ():::\", mindMapJ);\r\n    },\r\n    setIsTaskProgressClick(state, isTaskProgressClick) {\r\n      state.isTaskProgressClick = isTaskProgressClick;\r\n    },\r\n    setCurrentAudioContent(state, currentAudioContent) {\r\n      state.currentAudioContent = currentAudioContent;\r\n    },\r\n    setCurrentAudioTime(state, currentAudioTime) {\r\n      state.currentAudioTime = currentAudioTime;\r\n    },\r\n    // 历史版本控制 mutations（双栈模式）\r\n    SET_HISTORY_VERSION(state, payload) {\r\n      if (payload.canUndo !== undefined) {\r\n        state.historyVersion.canUndo = payload.canUndo;\r\n      }\r\n      if (payload.canRedo !== undefined) {\r\n        state.historyVersion.canRedo = payload.canRedo;\r\n      }\r\n      if (payload.undoCount !== undefined) {\r\n        state.historyVersion.undoCount = payload.undoCount;\r\n      }\r\n      if (payload.redoCount !== undefined) {\r\n        state.historyVersion.redoCount = payload.redoCount;\r\n      }\r\n      if (payload.isUndoRedoAction !== undefined) {\r\n        state.historyVersion.isUndoRedoAction = payload.isUndoRedoAction;\r\n      }\r\n    },\r\n    INIT_HISTORY_VERSION(state, payload) {\r\n      state.historyVersion = {\r\n        canUndo: payload.canUndo || false,\r\n        canRedo: payload.canRedo || false,\r\n        undoCount: payload.undoCount || 0,\r\n        redoCount: payload.redoCount || 0,\r\n        isUndoRedoAction: false\r\n      };\r\n    },\r\n    SET_UNDO_REDO_ACTION(state, isUndoRedoAction) {\r\n      state.historyVersion.isUndoRedoAction = isUndoRedoAction;\r\n    }\r\n  },\r\n  actions: {\r\n    setGuideName({ commit }, data) {\r\n      commit(\"setGuideName\", data);\r\n    },\r\n    setCourseList({ commit }, data) {\r\n      commit(\"setCourseList\", data);\r\n    },\r\n    setCourseIdExt({ commit }, data) {\r\n      commit(\"setCourseIdExt\", data);\r\n      // setCourseIdExt(data);\r\n    },\r\n    setCourseId({ commit }, data) {\r\n      console.log(\"setCourseId\", data);\r\n      setWebLog({\r\n        content: `vuex setCourseId${data}`\r\n      })\r\n      commit(\"setCourseId\", data);\r\n      setCourseId(data);\r\n    },\r\n    setCourseIsChanged({ commit }, data) {\r\n      commit(\"setCourseIsChanged\", data);\r\n      // setCourseIsChanged(data);\r\n    },\r\n    // 选择的课程\r\n    setCourse({ commit }, course) {\r\n      console.log(\"setCourse::\", course);\r\n      setWebLog({\r\n        content: 'vuex setCourse：' + course ? JSON.stringify(course) : 'course为空'\r\n      })\r\n      if (course && course.length && course[0].course_id) {\r\n        // console.log(\"setCourseId loading done\")\r\n        // commit('reset_pending', null, { root: true });\r\n        commit(\"setCourse\", JSON.stringify(course));\r\n        commit(\"setCourseIsuseradd\", course[0].course_isuseradd);\r\n        commit(\"setCourseId\", course[0].course_id);\r\n        setCourse(JSON.stringify(course));\r\n        setCourseId(course[0].course_id);\r\n      } else {\r\n        console.log(\"no course setCourse\")\r\n        setWebLog({\r\n          content: \"no course setCourse\"\r\n        })\r\n      }\r\n    },\r\n    // 课程内容\r\n    setCourseBase({ commit }, data) {\r\n      console.log(\"dispath getCourseBase\")\r\n      commit(\"setCourseBase\", data);\r\n    },\r\n    // 任务进度\r\n    setCourseProgress({ commit }, data) {\r\n      commit(\"setCourseProgress\", data);\r\n      // setCourseProgress(JSON.stringify(data));\r\n    },\r\n    // 心态观修文\r\n    setMindMeditate({ commit }, data) {\r\n      commit(\"setMindMeditate\", data);\r\n    },\r\n    // 观念观修文\r\n    setThinkMeditate({ commit }, data) {\r\n      commit(\"setThinkMeditate\", data);\r\n    },\r\n    // 心态观修文时长\r\n    setMindMeditateLong({ commit }, data) {\r\n      commit(\"setMindMeditateLong\", data);\r\n    },\r\n    // 观念观修文时长\r\n    setThinkMeditateLong({ commit }, data) {\r\n      commit(\"setThinkMeditateLong\", data);\r\n    },\r\n    // 图标简介页\r\n    setMenuType({ commit }, data) {\r\n      commit(\"setMenuType\", data);\r\n    },\r\n    // 前一个组件名称\r\n    setPrevCom({ commit }, data) {\r\n      commit(\"setPrevCom\", data);\r\n    },\r\n    // 子组件前一个组件名称\r\n    setPrevChildCom({ commit }, data) {\r\n      commit(\"setPrevChildCom\", data);\r\n    },\r\n    // 当前所在模块\r\n    setWhiteActiveIndex({ commit }, data) {\r\n      commit(\"setWhiteActiveIndex\", data);\r\n      setWhiteActiveIndex(data);\r\n    },\r\n    // 白牌当前组件\r\n    setWhiteCom({ commit }, data) {\r\n      commit(\"setWhiteCom\", data);\r\n      setWhiteCom(data);\r\n    },\r\n    // 问题解决-道德上的理解选中\r\n    setProblemSolve({ commit }, data) {\r\n      commit(\"setProblemSolve\", data);\r\n      setProblemSolve(JSON.stringify(data));\r\n    },\r\n    setProblemSolveList({ commit }, data) {\r\n      commit(\"setProblemSolveList\", data);\r\n      setProblemSolveList(JSON.stringify(data));\r\n    },\r\n    // 问题解决问题列表选中\r\n    setMoralComprehend({ commit }, data) {\r\n      commit(\"setMoralComprehend\", data);\r\n      setMoralComprehend(JSON.stringify(data));\r\n    },\r\n    // 本课问题列表\r\n    setQuestionList({ commit }, data) {\r\n      commit(\"setQuestionList\", data);\r\n    },\r\n    // 编辑选中心得\r\n    setTip({ commit }, data) {\r\n      commit(\"setTip\", data);\r\n    },\r\n    // 新增心得\r\n    setAddTipData({ commit }, data) {\r\n      commit(\"setAddTipData\", data);\r\n    },\r\n    setEditTip({ commit }, data) {\r\n      commit(\"setEditTip\", data);\r\n    },\r\n    setConfirmTipType({ commit }, data) {\r\n      commit(\"setConfirmTipType\", data);\r\n    },\r\n    setWhiteFullScreenPages({ commit }, data) {\r\n      commit(\"setWhiteFullScreenPages\", data);\r\n    },\r\n    setMenuTab({ commit }, data) {\r\n      commit(\"setMenuTab\", data);\r\n    },\r\n    setMenuTabActive({ commit }, data) {\r\n      commit(\"setMenuTabActive\", data);\r\n    },\r\n    setExperienceTagType({ commit }, data) {\r\n      commit(\"setExperienceTagType\", data);\r\n    },\r\n    setBlackTip({ commit }, data) {\r\n      commit(\"setBlackTip\", data);\r\n    },\r\n    setMindMap({ commit }, data) {\r\n      commit(\"setMindMap\", JSON.stringify(data));\r\n    },\r\n    setMindMapGuide({ commit }, data) {\r\n      commit(\"setMindMapGuide\", JSON.stringify(data));\r\n    },\r\n    setMindMapOfficial({ commit }, data) {\r\n      commit(\"setMindMapOfficial\", JSON.stringify(data));\r\n    },\r\n    setIsTaskProgressClick({ commit }, data) {\r\n      commit(\"setIsTaskProgressClick\", data);\r\n    },\r\n    setCurrentAudioContent({ commit }, data) {\r\n      commit(\"setCurrentAudioContent\", data);\r\n    },\r\n    setCurrentAudioTime({ commit }, data) {\r\n      commit(\"setCurrentAudioTime\", data);\r\n    },\r\n    // 历史版本控制 actions\r\n    setHistoryVersion({ commit }, data) {\r\n      commit(\"SET_HISTORY_VERSION\", data);\r\n    },\r\n    initHistoryVersion({ commit }, data) {\r\n      commit(\"INIT_HISTORY_VERSION\", data);\r\n    },\r\n    setUndoRedoAction({ commit }, isUndoRedoAction) {\r\n      commit(\"SET_UNDO_REDO_ACTION\", isUndoRedoAction);\r\n    }\r\n  }\r\n};\r\n\r\nexport default white;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/modules/white.js","import {\r\n  setCase,\r\n  getCase,\r\n  removeCase,\r\n  setAddCaseData,\r\n  removeAddCaseData,\r\n  getAddCaseData,\r\n  setCaseInfo,\r\n  getCaseInfo,\r\n  setBlackCom,\r\n  getBlackCom,\r\n  setBlackActiveIndex,\r\n  getBlackActiveIndex,\r\n} from \"@/utils/auth\";\r\n\r\nconst black = {\r\n  state: {\r\n    blackCom: getBlackCom() ? getBlackCom() : \"CultrueContent\", // 黑牌选中的内容\r\n    caseInfo: getCaseInfo() ? JSON.parse(getCaseInfo()) : null, //黑牌首页案例信息选中\r\n    blackFullScreenPages: [\r\n      \"CaseList\",\r\n      \"MyCases\",\r\n      \"EditCase\",\r\n      \"CreateCase\",\r\n      \"PublishBlackCase\",\r\n      \"EditTips\",\r\n      \"TipsList\",\r\n      \"BlackCaseDetail\",\r\n      \"Set\",\r\n      \"MindMessage\",\r\n      \"PersonalCenter\",\r\n      \"Collected\",\r\n      \"PulishExperience\",\r\n      \"CollectedMess\",\r\n      \"CaseList\",\r\n      \"Detail\",\r\n      \"ExperienceMess\",\r\n      \"WhiteCaseList\",\r\n      \"WhiteCaseDetail\",\r\n      \"publishBlackCase\",\r\n      \"StudyLog\",\r\n      \"StudyLogList\",\r\n      \"StudyLogDetail\",\r\n      \"SelfHelp\",\r\n    ],\r\n    case: null, // 编辑选中的案例\r\n    addCaseData: null, // 新增案例数据缓存\r\n    editCase: false, // 编辑案例成功\r\n    lifeOceanUrl: \"\", // 生命海洋链接\r\n    caseTags: [],\r\n    blackActiveIndex: getBlackActiveIndex() ? getBlackActiveIndex() : 0, // 当前所在模块\r\n    caseTagType: 1, // 类型1文化2思维观念3行为习惯4性格人格\r\n    isFromIndex: false\r\n  },\r\n  mutations: {\r\n    setBlackCom(state, blackCom) {\r\n      state.blackCom = blackCom;\r\n    },\r\n    setCaseInfo(state, caseInfo) {\r\n      state.caseInfo = caseInfo;\r\n    },\r\n    setCase(state, caseInfo) {\r\n      state.case = caseInfo;\r\n      if (caseInfo) {\r\n        setCase(caseInfo);\r\n      } else {\r\n        removeCase();\r\n      }\r\n    },\r\n    setAddCaseData(state, caseInfo) {\r\n      state.addCaseData = caseInfo;\r\n      if (caseInfo) {\r\n        setAddCaseData(caseInfo);\r\n      } else {\r\n        removeAddCaseData();\r\n      }\r\n    },\r\n    setEditCase(state, editCase) {\r\n      state.editCase = editCase;\r\n    },\r\n    setBlackFullScreenPages(state, fullScreenPages) {\r\n      let blackFullScreenPages = state.blackFullScreenPages;\r\n      const index = blackFullScreenPages.indexOf(fullScreenPages);\r\n      if (index > -1) {\r\n        let blackFullScreenPagesSet = new Set(blackFullScreenPages);\r\n        blackFullScreenPagesSet.delete(fullScreenPages);\r\n        state.blackFullScreenPages = [...blackFullScreenPagesSet];\r\n      } else {\r\n        state.blackFullScreenPages.push(fullScreenPages);\r\n      }\r\n      console.log(\"state.blackFullScreenPages:\", state.blackFullScreenPages);\r\n    },\r\n    setLifeOceanUrl(state, lifeOceanUrl) {\r\n      state.lifeOceanUrl = lifeOceanUrl;\r\n    },\r\n    setCaseTags(state, caseTags) {\r\n      state.caseTags = caseTags;\r\n    },\r\n    setBlackActiveIndex(state, data) {\r\n      state.blackActiveIndex = data;\r\n    },\r\n    setCaseTagType(state, caseTagType) {\r\n      state.caseTagType = caseTagType;\r\n    },\r\n    setIsFromIndex(state, isFromIndex) {\r\n      state.isFromIndex = isFromIndex;\r\n    },\r\n  },\r\n  actions: {\r\n    setBlackCom({ commit }, data) {\r\n      commit(\"setBlackCom\", data);\r\n      setBlackCom(data);\r\n    },\r\n    setCaseInfo({ commit }, data) {\r\n      commit(\"setCaseInfo\", data);\r\n      setCaseInfo(JSON.stringify(data));\r\n    },\r\n    setBlackFullScreenPages({ commit }, data) {\r\n      commit(\"setBlackFullScreenPages\", data);\r\n    },\r\n    setCase({ commit }, data) {\r\n      commit(\"setCase\", data);\r\n    },\r\n    // 新增案例\r\n    setAddCaseData({ commit }, data) {\r\n      commit(\"setAddCaseData\", data);\r\n    },\r\n    setEditCase({ commit }, data) {\r\n      commit(\"setEditCase\", data);\r\n    },\r\n    setLifeOceanUrl({ commit }, data) {\r\n      commit(\"setLifeOceanUrl\", data);\r\n    },\r\n    setCaseTags({ commit }, data) {\r\n      commit(\"setCaseTags\", data);\r\n    },\r\n    setBlackActiveIndex({ commit }, data) {\r\n      commit(\"setBlackActiveIndex\", data);\r\n      setBlackActiveIndex(data);\r\n    },\r\n    setCaseTagType({ commit }, data) {\r\n      commit(\"setCaseTagType\", data);\r\n    },\r\n    setIsFromIndex({ commit }, data) {\r\n      commit(\"setIsFromIndex\", data);\r\n    },\r\n  }\r\n};\r\n\r\nexport default black;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/modules/black.js","import {\r\n  setHistoryOperate,\r\n  removeHistoryOperate,\r\n  getHistoryOperate,\r\n} from \"@/utils/auth\";\r\nimport mixin from \"../../utils/mixins\";\r\n\r\nlet isMac = false;\r\nlet agent = navigator.userAgent.toLowerCase();\r\n// this.isMac = true;\r\nisMac = /macintosh|mac os x/i.test(navigator.userAgent);\r\nif (agent.indexOf(\"win32\") >= 0 || agent.indexOf(\"wow32\") >= 0) {\r\n  isMac = false;\r\n}\r\nif (agent.indexOf(\"win64\") >= 0 || agent.indexOf(\"wow64\") >= 0) {\r\n  isMac = false;\r\n}\r\n\r\nconst common = {\r\n  state: {\r\n    isMac: isMac,\r\n    historyOperate: getHistoryOperate() ? getHistoryOperate() : [],\r\n    requestParams: {},\r\n    xiaojue_open: null,\r\n    isDeleteCourse: false,\r\n    isLoading: false,\r\n    userMessageUnread: 0,\r\n  },\r\n  mutations: {\r\n    setRequestParams(state, requestParams) {\r\n      state.requestParams = {\r\n        ...state.requestParams,\r\n        ...requestParams\r\n      };\r\n    },\r\n    popRequestParams(state, key) {\r\n      if (state.requestParams[key]) {\r\n        delete state.requestParams[key];\r\n      }\r\n    },\r\n    setIsMac(state, isMac) {\r\n      state.isMac = isMac;\r\n    },\r\n    setXiaojueOpen(state, xiaojue_open) {\r\n      state.xiaojue_open = xiaojue_open;\r\n    },\r\n    pushHistoryOperate(state, historyOperate) {\r\n      state.historyOperate.push(historyOperate);\r\n      setHistoryOperate(state.historyOperate);\r\n      console.log(state.historyOperate);\r\n    },\r\n    popHistoryOperate(state, historyOperate) {\r\n      for (let i = state.historyOperate.length - 1; i >= 0; i--) {\r\n        if (state.historyOperate[i].type === historyOperate.type) {\r\n          state.historyOperate.splice(i, 1);\r\n          break;\r\n        }\r\n      }\r\n      setHistoryOperate(state.historyOperate);\r\n      console.log(state.historyOperate);\r\n    },\r\n    clearHistoryOperate(state) {\r\n      state.historyOperate = [];\r\n      setHistoryOperate([]);\r\n    },\r\n    setIsDeleteCourse(state, isDeleteCourse) {\r\n      state.isDeleteCourse = isDeleteCourse;\r\n    },\r\n    setIsLoading(state, isLoading) {\r\n      state.isLoading = isLoading;\r\n    },\r\n    setUserMessageUnread(state, userMessageUnread) {\r\n      state.userMessageUnread = userMessageUnread;\r\n    }\r\n  },\r\n  actions: {\r\n    setXiaojueOpen({ commit }, data) {\r\n      commit(\"setXiaojueOpen\", data);\r\n    },\r\n    setRequestParams({ commit }, data) {\r\n      commit(\"setRequestParams\", data);\r\n    },\r\n    popRequestParams({ commit }, data) {\r\n      commit(\"popRequestParams\", data);\r\n    },\r\n    setIsMac({ commit }, data) {\r\n      commit(\"setIsMac\", data);\r\n    },\r\n    pushHistoryOperate({ commit }, historyOperate) {\r\n      commit(\"pushHistoryOperate\", historyOperate);\r\n    },\r\n    popHistoryOperate({ commit }, historyOperate) {\r\n      commit(\"popHistoryOperate\", historyOperate);\r\n    },\r\n    clearHistoryOperate({ commit }) {\r\n      commit(\"clearHistoryOperate\");\r\n    },\r\n    async toggleFullScreen() {\r\n      if (mixin.methods.checkMobileDevice()) {\r\n        return;\r\n      }\r\n      const element = document.documentElement;\r\n      if (element.fullscreen) {\r\n        return;\r\n      }\r\n      // try {\r\n      //   if (element.requestFullscreen) {\r\n      //     await element.requestFullscreen();\r\n      //   } else if (element.webkitRequestFullScreen) {\r\n      //     await element.webkitRequestFullScreen();\r\n      //   } else if (element.mozRequestFullScreen) {\r\n      //     await element.mozRequestFullScreen();\r\n      //   } else if (element.msRequestFullscreen) {\r\n      //     await element.msRequestFullscreen();\r\n      //   } else {\r\n      //     throw new Error(\"该浏览器不支持全屏API\");\r\n      //   }\r\n      //   window.screen.orientation.lock(\"landscape-primary\");\r\n      // } catch (err) {\r\n      //   console.error(err);\r\n      // }\r\n    },\r\n    setIsDeleteCourse({ commit }, data) {\r\n      commit(\"setIsDeleteCourse\", data);\r\n    },\r\n    setIsLoading({ commit }, data) {\r\n      commit(\"setIsLoading\", data);\r\n    },\r\n    setUserMessageUnread({ commit }, data) {\r\n      commit(\"setUserMessageUnread\", data);\r\n    },\r\n  }\r\n};\r\n\r\nexport default common;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/modules/common.js","import {\r\n  setHistoryOperate,\r\n  removeHistoryOperate,\r\n  getHistoryOperate,\r\n} from \"@/utils/auth\";\r\nimport mixin from \"../../utils/mixins\";\r\n\r\nlet isMac = false;\r\nlet agent = navigator.userAgent.toLowerCase();\r\n// this.isMac = true;\r\nisMac = /macintosh|mac os x/i.test(navigator.userAgent);\r\nif (agent.indexOf(\"win32\") >= 0 || agent.indexOf(\"wow32\") >= 0) {\r\n  isMac = false;\r\n}\r\nif (agent.indexOf(\"win64\") >= 0 || agent.indexOf(\"wow64\") >= 0) {\r\n  isMac = false;\r\n}\r\n\r\nconst loading = {\r\n  state: {\r\n    isGlobalLoadingInited: false,\r\n    isGlobalLoading: false,\r\n    // 首页切换课程loading\r\n    pendingCount: 0,\r\n    // 思维导图页面loading\r\n    isLoading: false\r\n  },\r\n  mutations: {\r\n    increment_pending(state) {\r\n      state.pendingCount++;\r\n      console.log('loading increment_pending:', state.pendingCount);\r\n      if(!state.isGlobalLoadingInited) {\r\n        state.isGlobalLoading = true;\r\n      }\r\n      state.isGlobalLoadingInited = true;\r\n    },\r\n    decrement_pending(state) {\r\n      state.pendingCount = Math.max(0, state.pendingCount - 1);\r\n      console.log('decrement_pending pendingCount', state.pendingCount);\r\n      if(state.pendingCount === 0) {\r\n        state.isGlobalLoading = false;\r\n        state.isGlobalLoadingInited = true;\r\n        console.log(\"isGlobalLoading = false\")\r\n      }\r\n    },\r\n    reset_pending(state) {\r\n      console.log(\"reset_pending loading\")\r\n      state.pendingCount = 0;\r\n      state.isGlobalLoading = false;\r\n      state.isGlobalLoadingInited = false;\r\n      console.log(\"isGlobalLoading = false\")\r\n    },\r\n    setIsLoading(state, isLoading) {\r\n      state.isLoading = isLoading;\r\n    }\r\n  },\r\n  actions: {\r\n    setIsLoading({ commit }, data) {\r\n      commit(\"setIsLoading\", data);\r\n    }\r\n  }\r\n};\r\n\r\nexport default loading;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/modules/loading.js","// 在 store 中创建一个模块（WebSocket 模块）\r\nimport { Notification, Message } from \"element-ui\";\r\nimport { getToken, decrypt, getUserInfo, getCourse } from \"@/utils/auth\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport store from \"@/vuex/index\";\r\nimport { setWebLog } from \"@/api\";\r\nimport {getIsMobile}  from '@/utils/util';\r\nimport { Base64 } from \"js-base64\";\r\nimport {\r\n  pushUndo,\r\n  pushRedo,\r\n  pushUndoWithoutClear,\r\n  clearRedoStack,\r\n  clearAllStacks,\r\n  popUndoRecord,\r\n  popRedoRecord,\r\n  popUndo,\r\n  popRedo,\r\n  getStackStatus,\r\n  getDeviceId\r\n} from \"@/utils/indexDb\";\r\n\r\nlet isManualClose = false;\r\nlet tryCount = 0;\r\n// const isMobile = getIsMobile();\r\n\r\n/**\r\n * 清洗思维导图数据，只保留 node、name、lock 字段\r\n * 确保本地数据和远程数据在比较时使用相同的字段结构\r\n * @param {Array|String} data - 原始数据\r\n * @returns {Array} 清洗后的数据\r\n */\r\nfunction cleanMindmapData(data) {\r\n  if (!data) return [];\r\n\r\n  // 如果是字符串，先解析\r\n  let arr = data;\r\n  if (typeof data === 'string') {\r\n    try {\r\n      arr = data === '' ? [] : JSON.parse(data);\r\n    } catch (e) {\r\n      console.error('[cleanMindmapData] 解析失败:', e);\r\n      return [];\r\n    }\r\n  }\r\n\r\n  if (!Array.isArray(arr)) return [];\r\n\r\n  const cleanNode = (node) => {\r\n    if (!node || typeof node !== 'object') return null;\r\n\r\n    const cleaned = {};\r\n\r\n    // 只保留需要的字段\r\n    if (node.name !== undefined) cleaned.name = node.name;\r\n    if (node.lock !== undefined) cleaned.lock = node.lock;\r\n\r\n    // 处理子节点（children 或 node）\r\n    const children = node.children || node.node || [];\r\n    if (children.length > 0) {\r\n      cleaned.node = children.map(child => cleanNode(child)).filter(Boolean);\r\n    }\r\n\r\n    return cleaned;\r\n  };\r\n\r\n  return arr.map(item => cleanNode(item)).filter(Boolean);\r\n}\r\n\r\n/**\r\n * 深度比较两个节点树是否有实质性变化\r\n * 重点对比：结构、文本内容、样式、顺序\r\n * @param {Array|Object} localData - 本地数据\r\n * @param {Array|Object} remoteData - 远程数据\r\n * @returns {Boolean} true: 有变化, false: 无变化\r\n */\r\nfunction isContentChanged(localData, remoteData) {\r\n  // 空值处理\r\n  if (!localData && !remoteData) return false;\r\n  if (!localData || !remoteData) return true;\r\n\r\n  // 清洗数据：只保留 node、name、lock 字段，确保比较时字段一致\r\n  const local = cleanMindmapData(localData);\r\n  const remote = cleanMindmapData(remoteData);\r\n\r\n  console.log('[ContentCompare] 清洗后本地数据:', local);\r\n  console.log('[ContentCompare] 清洗后远程数据:', remote);\r\n\r\n  // 快速比较：JSON 字符串比较\r\n  try {\r\n    const localStr = JSON.stringify(local);\r\n    const remoteStr = JSON.stringify(remote);\r\n    if (localStr !== remoteStr) {\r\n      console.log('[ContentCompare] JSON 字符串不同，数据有变化');\r\n      console.log('[ContentCompare] local 长度:', localStr.length, 'remote 长度:', remoteStr.length);\r\n      return true;\r\n    }\r\n    console.log('[ContentCompare] JSON 字符串相同，数据无变化');\r\n    return false;\r\n  } catch (e) {\r\n    console.error('[ContentCompare] JSON.stringify 失败:', e);\r\n    // 如果 stringify 失败，使用深度比较\r\n    return compareNodeArrays(local, remote);\r\n  }\r\n}\r\n\r\n/**\r\n * 比较两个节点数组\r\n */\r\nfunction compareNodeArrays(localNodes, remoteNodes) {\r\n  // 数组长度比较\r\n  const localArr = Array.isArray(localNodes) ? localNodes : [];\r\n  const remoteArr = Array.isArray(remoteNodes) ? remoteNodes : [];\r\n\r\n  if (localArr.length !== remoteArr.length) {\r\n    return true;\r\n  }\r\n\r\n  // 逐个比较节点\r\n  for (let i = 0; i < localArr.length; i++) {\r\n    if (compareNode(localArr[i], remoteArr[i])) {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  return false;\r\n}\r\n\r\n/**\r\n * 比较单个节点（递归）\r\n * @returns {Boolean} true: 有差异, false: 相同\r\n */\r\nfunction compareNode(localNode, remoteNode) {\r\n  // 空值处理\r\n  if (!localNode && !remoteNode) return false;\r\n  if (!localNode || !remoteNode) return true;\r\n\r\n  // 关键属性比较\r\n  const keysToCompare = ['id', 'name', 'label', 'text', 'content', 'mindmap_node_name', 'mindmap_node_content'];\r\n\r\n  for (const key of keysToCompare) {\r\n    if (localNode[key] !== remoteNode[key]) {\r\n      console.log(`[ContentCompare] 节点 ${key} 变化: \"${localNode[key]}\" -> \"${remoteNode[key]}\"`);\r\n      return true;\r\n    }\r\n  }\r\n\r\n  // 样式属性比较\r\n  const styleKeys = ['style', 'color', 'background', 'fontSize', 'fontWeight'];\r\n  for (const key of styleKeys) {\r\n    if (JSON.stringify(localNode[key]) !== JSON.stringify(remoteNode[key])) {\r\n      console.log(`[ContentCompare] 节点样式 ${key} 变化`);\r\n      return true;\r\n    }\r\n  }\r\n\r\n  // 子节点递归比较\r\n  const localChildren = localNode.children || localNode.child || [];\r\n  const remoteChildren = remoteNode.children || remoteNode.child || [];\r\n\r\n  if (localChildren.length !== remoteChildren.length) {\r\n    console.log('[ContentCompare] 子节点数量变化');\r\n    return true;\r\n  }\r\n\r\n  for (let i = 0; i < localChildren.length; i++) {\r\n    if (compareNode(localChildren[i], remoteChildren[i])) {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  // 按钮节点比较（思维导图特有的添加按钮）\r\n  const localBtn = localNode.btn_add || [];\r\n  const remoteBtn = remoteNode.btn_add || [];\r\n\r\n  if (JSON.stringify(localBtn) !== JSON.stringify(remoteBtn)) {\r\n    console.log('[ContentCompare] 按钮节点变化');\r\n    return true;\r\n  }\r\n\r\n  return false;\r\n}\r\n\r\n/**\r\n * 解析 mindmap_content 数据（支持 Base64 解码和 JSON 解析）\r\n * @param {String|Object} content - 原始内容\r\n * @returns {Object|null} 解析后的数据，失败返回 null\r\n */\r\nfunction parseMindmapContent(content) {\r\n  // 【修复】空内容返回空数组而非 null，允许撤销/重做到空状态\r\n  // 空数组代表合法的\"空导图\"状态，而非解析失败\r\n  if (!content) return [];\r\n\r\n  let result = content;\r\n\r\n  // 如果是字符串，尝试解码\r\n  if (typeof result === 'string') {\r\n    try {\r\n      // 先尝试 Base64 解码\r\n      const decoded = Base64.decode(result);\r\n      result = JSON.parse(decoded);\r\n      console.log('[parseMindmapContent] Base64 解码成功');\r\n    } catch (decodeError) {\r\n      // Base64 解码失败，尝试直接 JSON 解析\r\n      try {\r\n        result = JSON.parse(result);\r\n        console.log('[parseMindmapContent] 直接 JSON 解析成功');\r\n      } catch (parseError) {\r\n        console.error('[parseMindmapContent] 解析失败:', parseError);\r\n        return null;\r\n      }\r\n    }\r\n  }\r\n\r\n  return result;\r\n}\r\n\r\nconst webSocketModule = {\r\n  state: {\r\n    ws: null,\r\n    gwworker_heartbeat: null,\r\n    online: 0,  //在线人数\r\n    status: 0, // 编辑状态 1正在编辑 2无人编辑\r\n    loading: false\r\n  },\r\n  mutations: {\r\n    SET_WS(state, ws) {\r\n      state.ws = ws;\r\n    },\r\n    CLEAR_WS(state) {\r\n      state.ws = null;\r\n    },\r\n    SET_HEART_CHECK_TIMER(state, timer) {\r\n      state.gwworker_heartbeat = timer;\r\n    },\r\n    SET_ONLINE(state, online) {\r\n        state.online = online;\r\n    },\r\n    SET_STATUS(state, status) {\r\n        state.status = status;\r\n    },\r\n    SET_LOADING(state, loading) {\r\n        state.loading = loading;\r\n    }\r\n  },\r\n  actions: {\r\n    setLoading({ commit }, data) {\r\n      commit(\"SET_LOADING\", data)\r\n    },\r\n    setStatus({ commit }, data) {\r\n      commit(\"SET_STATUS\", data)\r\n    },\r\n    setOnline({ commit }, data) {\r\n        commit(\"SET_ONLINE\", data)\r\n    },\r\n    startWebSocket({ commit, dispatch, state, rootGetters }) {\r\n      dispatch(\"clearWebSocket\");\r\n      console.log(\"startWebSocket\")\r\n      dispatch(\"setLoading\", true);\r\n      const gwworker_url = decrypt(localStorage.getItem(\"gwworker_url\"));\r\n      const webs = window.location.protocol === 'https:' ? 'wss' : 'ws'\r\n      const socketUrl = `${webs}://${gwworker_url}`;\r\n\r\n      const ws = new WebSocket(socketUrl);\r\n\r\n      ws.onmessage = function (e) {\r\n        console.log(\r\n          `${new Date().toLocaleString()} >>>>> 收到消息 ${e.data}`,\r\n          state.ws\r\n        );\r\n\r\n        const data = JSON.parse(e.data);\r\n\r\n        if(data.type === 'sys') {\r\n          // getUserData(rootGetters);\r\n          let userInfo = JSON.parse(getUserInfo());\r\n          if(userInfo) {\r\n              // 请求接口2.绑定用户信息\r\n              const course = store.getters.course;\r\n              console.log(\"1111222222233333:\", store.getters.course)\r\n              const courseJson = JSON.parse(course);\r\n              const messageData = {\"user_id\":userInfo.user_id,\"course_isuseradd\":courseJson[0].course_isuseradd,\"course_id\":courseJson[0].course_id,\"type\":\"auth\", device_type: 3}\r\n              console.log(\"messageDa:\", messageData);\r\n              dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n          }\r\n        } else if(data.type == 'online') {\r\n          // 在线人数\r\n          dispatch(\"setOnline\", data.count);\r\n        } else if(data.type === 'update') {\r\n          // 同步其他端消息，设置当前导图编辑状态\r\n          dispatch(\"setStatus\", 2).then(async () => {\r\n            // 判断是否为自己的更新（通过 device_id 或 user_id）\r\n            const currentDeviceId = getDeviceId();\r\n            const isSelfUpdate = data.device_id && data.device_id === currentDeviceId;\r\n\r\n            // 自己的更新已经在本地处理过，无需再次处理\r\n            if (isSelfUpdate) {\r\n              console.log('[WebSocket] 自己的更新，跳过处理');\r\n              return;\r\n            }\r\n\r\n            if (!data.mindmap_content) {\r\n              console.log('[WebSocket] update 消息无内容，跳过处理');\r\n              return;\r\n            }\r\n\r\n            // 远程更新处理\r\n            try {\r\n              const courseId = store.getters.course_id;\r\n\r\n              // 解析远程数据 - 支持 Base64 解码\r\n              const remoteContent = parseMindmapContent(data.mindmap_content);\r\n              if (!remoteContent) {\r\n                console.log('[WebSocket] update 消息内容解析失败，跳过处理');\r\n                return;\r\n              }\r\n\r\n              console.log('[WebSocket] 远程数据:', remoteContent);\r\n\r\n              // 获取本地当前数据\r\n              const currentMindMap = store.getters.mindMap;\r\n              let localContent = null;\r\n              if (currentMindMap && currentMindMap.mindmap_content) {\r\n                localContent = typeof currentMindMap.mindmap_content === 'string'\r\n                  ? JSON.parse(currentMindMap.mindmap_content)\r\n                  : currentMindMap.mindmap_content;\r\n              }\r\n\r\n              console.log('[WebSocket] 本地数据:', localContent);\r\n\r\n              // 深度比较：检测实质性变化\r\n              if (!isContentChanged(localContent, remoteContent)) {\r\n                console.log('[WebSocket] 检测到数据无实质性变化，忽略同步，保持栈不变');\r\n                return;\r\n              }\r\n\r\n              console.log('[WebSocket] 检测到远程数据变化，执行栈操作');\r\n\r\n              // 栈操作：保存现场 & 截断未来\r\n              // 1. 将当前本地数据推入 Undo 栈\r\n              // 【修复】空状态也需要推栈，允许用户撤销远程操作回到空状态\r\n              if (courseId) {\r\n                // 空状态用空数组表示，确保可以撤销远程操作\r\n                const snapshotToSave = localContent || [];\r\n                await pushUndo(courseId, snapshotToSave, currentDeviceId);\r\n                console.log(`[WebSocket] 当前状态已推入 Undo 栈: courseId=${courseId}, isEmpty=${!localContent}`);\r\n              }\r\n\r\n              // 2. 清空 Redo 栈（时间线分叉）\r\n              if (courseId) {\r\n                await clearRedoStack(courseId);\r\n                console.log(`[WebSocket] Redo 栈已清空: courseId=${courseId}`);\r\n              }\r\n\r\n              // 3. 更新 Vuex 状态指针\r\n              if (courseId) {\r\n                const stackStatus = await getStackStatus(courseId);\r\n                store.dispatch(\"setHistoryVersion\", {\r\n                  canUndo: stackStatus.canUndo,\r\n                  canRedo: false, // Redo 栈已清空\r\n                  undoCount: stackStatus.undoCount,\r\n                  redoCount: 0\r\n                });\r\n                console.log(`[WebSocket] 栈状态已更新: canUndo=${stackStatus.canUndo}, canRedo=false`);\r\n              }\r\n\r\n              // 4. 更新同步数据（触发视图更新）- 只有数据变化时才执行\r\n              EventBus.$emit(\"setSyncMindmapContent\", data.mindmap_content ? JSON.stringify(data.mindmap_content) : '');\r\n\r\n            } catch (error) {\r\n              console.error('[WebSocket] 栈操作失败:', error);\r\n            }\r\n          });\r\n        } else if(data.type === 'undo_update') {\r\n          // 远程撤销同步：App端执行撤销 -> Web端收到撤销后的新状态\r\n          dispatch(\"setStatus\", 2).then(async () => {\r\n            // 判断是否为自己的更新\r\n            const currentDeviceId = getDeviceId();\r\n            const isSelfUpdate = data.device_id && data.device_id === currentDeviceId;\r\n\r\n            // 自己的撤销操作已经本地处理过，无需再次处理\r\n            if (isSelfUpdate) {\r\n              console.log('[WebSocket] 自己的撤销操作，跳过处理');\r\n              return;\r\n            }\r\n\r\n            // 【修复】撤销操作可能回退到空状态，空内容也是合法的，不应拦截\r\n            // 原逻辑错误地将\"回退到空状态\"判定为\"无效消息\"，导致无法同步到空导图\r\n\r\n            try {\r\n              const courseId = store.getters.course_id;\r\n\r\n              // 解析远程数据（撤销后的新状态）- 支持 Base64 解码\r\n              const remoteContent = parseMindmapContent(data.mindmap_content);\r\n              if (!remoteContent) {\r\n                console.log('[WebSocket] 撤销消息内容解析失败，跳过处理');\r\n                return;\r\n              }\r\n\r\n              // 获取本地当前数据（即将被撤销掉的旧状态）\r\n              const currentMindMap = store.getters.mindMap;\r\n              let localContent = null;\r\n              if (currentMindMap && currentMindMap.mindmap_content) {\r\n                localContent = typeof currentMindMap.mindmap_content === 'string'\r\n                  ? JSON.parse(currentMindMap.mindmap_content)\r\n                  : currentMindMap.mindmap_content;\r\n              }\r\n\r\n              // 1. 深度比较：检测实质性变化\r\n              if (!isContentChanged(localContent, remoteContent)) {\r\n                console.log('[WebSocket] 远程撤销数据与本地一致，忽略处理');\r\n                return;\r\n              }\r\n\r\n              console.log('[WebSocket] 检测到远程撤销，执行栈操作');\r\n\r\n              // 2. 栈操作：使用 popUndo 原子操作\r\n              // popUndo 会：\r\n              //   a) 从 Undo 栈弹出栈顶元素\r\n              //   b) 将当前状态 (localContent) 压入 Redo 栈\r\n              //   c) 返回弹出的快照（撤销前的状态，用于验证）\r\n              // 【修复】空状态也需要压入 Redo 栈，允许用户重做回空状态\r\n              if (courseId) {\r\n                const snapshotForRedo = localContent || [];\r\n                const poppedSnapshot = await popUndo(courseId, snapshotForRedo);\r\n                if (poppedSnapshot) {\r\n                  console.log(`[WebSocket] popUndo 成功: Undo 栈顶已移除，当前状态已入 Redo 栈`);\r\n                } else {\r\n                  console.log(`[WebSocket] Undo 栈为空，仅更新视图`);\r\n                }\r\n              }\r\n\r\n              // 3. 更新 Vuex 状态指针\r\n              if (courseId) {\r\n                const stackStatus = await getStackStatus(courseId);\r\n                store.dispatch(\"setHistoryVersion\", {\r\n                  canUndo: stackStatus.canUndo,\r\n                  canRedo: stackStatus.canRedo,\r\n                  undoCount: stackStatus.undoCount,\r\n                  redoCount: stackStatus.redoCount\r\n                });\r\n                console.log(`[WebSocket] 栈状态已更新: canUndo=${stackStatus.canUndo}, canRedo=${stackStatus.canRedo}`);\r\n              }\r\n\r\n              // 4. 应用新数据（触发视图更新）\r\n              EventBus.$emit(\"setSyncMindmapContent\", data.mindmap_content ? JSON.stringify(data.mindmap_content) : '');\r\n\r\n              console.log('[WebSocket] 远程撤销同步完成：Undo 栈顶出栈，当前状态入 Redo，视图已更新');\r\n\r\n            } catch (error) {\r\n              console.error('[WebSocket] 远程撤销栈操作失败:', error);\r\n            }\r\n          });\r\n        } else if(data.type === 'redo_update') {\r\n          // ========================================================================\r\n          // 远程重做同步：App端执行重做 -> Web端收到重做后的新状态\r\n          // ========================================================================\r\n          dispatch(\"setStatus\", 2).then(async () => {\r\n            const currentDeviceId = getDeviceId();\r\n            const isSelfUpdate = data.device_id && data.device_id === currentDeviceId;\r\n\r\n            // 自己的重做操作已经本地处理过，无需再次处理\r\n            if (isSelfUpdate) {\r\n              console.log('[WebSocket] 自己的重做操作，跳过处理');\r\n              return;\r\n            }\r\n\r\n            // 【修复】重做操作可能恢复到空状态，空内容也是合法的，不应拦截\r\n            // 原逻辑错误地将\"恢复到空状态\"判定为\"无效消息\"，导致无法同步到空导图\r\n\r\n            try {\r\n              const courseId = store.getters.course_id;\r\n\r\n              // 解析远程数据（重做后的新状态）- 支持 Base64 解码\r\n              const remoteContent = parseMindmapContent(data.mindmap_content);\r\n              if (!remoteContent) {\r\n                console.log('[WebSocket] 重做消息内容解析失败，跳过处理');\r\n                return;\r\n              }\r\n\r\n              // 获取本地当前数据（重做前的状态）\r\n              const currentMindMap = store.getters.mindMap;\r\n              let localContent = null;\r\n              if (currentMindMap && currentMindMap.mindmap_content) {\r\n                localContent = typeof currentMindMap.mindmap_content === 'string'\r\n                  ? JSON.parse(currentMindMap.mindmap_content)\r\n                  : currentMindMap.mindmap_content;\r\n              }\r\n\r\n              console.log('[WebSocket] ========== 远程重做同步开始 ==========');\r\n\r\n              // 1. 深度比较：检测实质性变化\r\n              if (!isContentChanged(localContent, remoteContent)) {\r\n                console.log('[WebSocket] 远程重做数据与本地一致，忽略处理');\r\n                return;\r\n              }\r\n\r\n              // 2. 栈操作：使用 popRedo 原子操作\r\n              // popRedo 会：\r\n              //   a) 从 Redo 栈弹出栈顶元素\r\n              //   b) 将当前状态 (localContent) 压入 Undo 栈\r\n              //   c) 返回弹出的快照（重做后的状态，用于验证）\r\n              // 注意：popRedo 不会清空 Redo 栈，只会移除栈顶元素\r\n              // 【修复】空状态也需要压入 Undo 栈，允许用户撤销回空状态\r\n              if (courseId) {\r\n                const snapshotForUndo = localContent || [];\r\n                const poppedSnapshot = await popRedo(courseId, snapshotForUndo);\r\n                if (poppedSnapshot) {\r\n                  console.log(`[WebSocket] popRedo 成功: Redo 栈顶已移除，当前状态已入 Undo 栈`);\r\n                } else {\r\n                  console.log(`[WebSocket] Redo 栈为空，仅更新视图`);\r\n                }\r\n              }\r\n\r\n              // 3. 更新 Vuex 状态指针\r\n              if (courseId) {\r\n                const stackStatus = await getStackStatus(courseId);\r\n                store.dispatch(\"setHistoryVersion\", {\r\n                  canUndo: stackStatus.canUndo,\r\n                  canRedo: stackStatus.canRedo,\r\n                  undoCount: stackStatus.undoCount,\r\n                  redoCount: stackStatus.redoCount\r\n                });\r\n                console.log(`[WebSocket] 栈状态已更新: canUndo=${stackStatus.canUndo}, canRedo=${stackStatus.canRedo}`);\r\n              }\r\n\r\n              // 4. 应用远程数据（触发视图更新）\r\n              EventBus.$emit(\"setSyncMindmapContent\", data.mindmap_content ? JSON.stringify(data.mindmap_content) : '');\r\n\r\n              console.log('[WebSocket] ========== 远程重做同步完成 ==========');\r\n              console.log('[WebSocket] Redo 栈顶出栈，当前状态入 Undo 栈，视图已更新');\r\n\r\n            } catch (error) {\r\n              console.error('[WebSocket] 远程重做栈操作失败:', error);\r\n            }\r\n          });\r\n        } else if(data.type === 'clear_update') {\r\n          // 远程清空画布同步：App端执行清空 -> Web端收到清空指令\r\n          dispatch(\"setStatus\", 2).then(async () => {\r\n            const currentDeviceId = getDeviceId();\r\n            const isSelfUpdate = data.device_id && data.device_id === currentDeviceId;\r\n\r\n            if (isSelfUpdate) {\r\n              console.log('[WebSocket] 自己的清空操作，跳过处理');\r\n              return;\r\n            }\r\n\r\n            try {\r\n              const courseId = store.getters.course_id;\r\n\r\n              console.log('[WebSocket] 检测到远程清空画布，执行清空操作');\r\n\r\n              // 1. 清空 IndexedDB 历史栈 (Undo & Redo)\r\n              if (courseId) {\r\n                const stackClearResult = await clearAllStacks(courseId);\r\n                console.log(`[WebSocket] 历史栈已清空: courseId=${courseId}, 删除${stackClearResult}条记录`);\r\n              }\r\n\r\n              // 2. 更新 Vuex 历史版本状态\r\n              store.dispatch(\"setHistoryVersion\", {\r\n                canUndo: false,\r\n                canRedo: false,\r\n                undoCount: 0,\r\n                redoCount: 0\r\n              });\r\n              console.log('[WebSocket] Vuex 历史版本状态已重置');\r\n\r\n              // 3. 应用空数据（触发视图更新）\r\n              EventBus.$emit(\"setSyncMindmapContent\", '');\r\n\r\n              console.log('[WebSocket] 远程清空画布同步完成：历史栈已清空，视图已重置');\r\n\r\n            } catch (error) {\r\n              console.error('[WebSocket] 远程清空画布失败:', error);\r\n            }\r\n          });\r\n        } else if(data.type == 'nowstatus') {\r\n          // 获取当前导图编辑状态\r\n          dispatch(\"setStatus\", data.status).then(() => {\r\n            EventBus.$emit(\"nowstatus\", data.status);\r\n          });\r\n        } else if(data.type == 'setstatus') {\r\n          // 设置当前导图编辑状态\r\n          dispatch(\"setStatus\", data.status);\r\n          // EventBus.$emit(\"setStatusNow\", data.status);\r\n        } else if(data.type == 'updatesuccess') {\r\n          // 更新成功后返回消息\r\n          dispatch(\"setStatus\", 2);\r\n          EventBus.$emit(\"updatesuccess\", data.status);\r\n        } else if(data.type == 'getnowcontent') {\r\n          EventBus.$emit(\"setSyncMindmapContentStart\", data.mindmap_content ? JSON.stringify(data.mindmap_content) : '');\r\n          EventBus.$emit(\"getnowcontent\", data.status);\r\n        } else if(data.type == 'updatenotsaved') {\r\n          EventBus.$emit(\"updatenotsaved\", data.mindmap_content ? JSON.stringify(data.mindmap_content) : '');\r\n        }\r\n      };\r\n\r\n      ws.onclose = function (event) {\r\n        console.log(`${new Date().toLocaleString()} >>>>> 连接已关闭,${event.code},${event.reason},${event.wasClean},${tryCount}`);\r\n        // alert(`${new Date().toLocaleString()} >>>>> 连接已关闭,${event.code},${event.reason},${event.wasClean},${tryCount}`)\r\n        // 1000\t正常关闭（双方协商关闭） 1001\t服务端离开  1006\t异常断开（常见于网络问题） 1012\t服务端重启\r\n        if (event.code !== 1000) {\r\n          // 不是正常关闭, 网络不稳定，重连中，请稍候\r\n          if(tryCount < 3) {\r\n            tryCount = tryCount + 1;\r\n            console.log(\"tryCount:\", tryCount);\r\n            if(tryCount === 1) {\r\n              // Message.error(\"网络不稳定，重连中，请稍候\")\r\n            }\r\n            dispatch(\"setLoading\", true);\r\n            dispatch(\"clearHeartCheckTimer\").then(() => {\r\n              commit(\"CLEAR_WS\");\r\n              dispatch(\"reconnectWebSocket\");\r\n            });\r\n\r\n          } else {\r\n            Message.error(\"网络连接失败，请确保网络畅通后重试\")\r\n            tryCount = 0;\r\n            dispatch(\"setLoading\", false);\r\n            dispatch(\"clearHeartCheckTimer\").then(() => {\r\n              commit(\"CLEAR_WS\");\r\n              EventBus.$emit(\"connectionError\");\r\n            });\r\n\r\n          }\r\n        } else {\r\n          // tryCount = 0;\r\n          dispatch(\"clearHeartCheckTimer\").then(() => {\r\n            commit(\"CLEAR_WS\");\r\n            EventBus.$emit(\"connectionError\");\r\n          });\r\n        }\r\n      };\r\n\r\n      ws.onopen = function () {\r\n        tryCount = 0;\r\n        console.log(`${new Date().toLocaleString()} >>>>> 连接成功`, ws);\r\n        // 保存 WebSocket 连接信息\r\n        commit(\"SET_WS\", ws);\r\n        // // 在这里调用 sendWebSocketMessage，确保 state.ws 已经被正确设置\r\n        // 开始心跳检测\r\n        dispatch(\"startHeartCheck\");\r\n      };\r\n\r\n      ws.onerror = function (e) {\r\n        dispatch(\"setLoading\", false);\r\n        console.log(\r\n          `${new Date().toLocaleString()} >>>>> 数据传输发生异常`,\r\n          e\r\n        );\r\n      };\r\n    },\r\n    // 发送数据\r\n    sendWebSocketMessage({ state }, msg) {\r\n      console.log(\r\n        `${new Date().toLocaleString()} >>>>> 发送消息：${msg},, ${typeof msg}`,\r\n        state.ws\r\n      );\r\n      // setWebLog({\r\n      //   content: `${new Date().toLocaleString()} >>>>> 发送消息：${msg.course_id},, ${typeof msg}`\r\n      // })\r\n      const course = store.getters.course;\r\n      console.log(\"发送消息 course:\", course)\r\n      let sendMsg = {};\r\n      if(typeof msg == 'string') {\r\n        sendMsg = JSON.parse(msg);\r\n      }\r\n      if(!sendMsg.course_id || sendMsg.course_id == 0) {\r\n        const courseJson = JSON.parse(course);\r\n        sendMsg.course_id = courseJson[0].course_id;\r\n      }\r\n      setWebLog({\r\n        content: `>>>>> 发送消息 course：${course},,,${sendMsg.course_id}`\r\n      })\r\n      if(state.ws) {\r\n        state.ws.send(JSON.stringify(sendMsg));\r\n      }\r\n    },\r\n\r\n    reconnectWebSocket({ dispatch, state }) {\r\n      console.log(\"clearWebSocket\")\r\n      dispatch(\"clearWebSocket\");\r\n      dispatch(\"startWebSocket\");\r\n    },\r\n\r\n    clearWebSocket({ commit, state }) {\r\n      isManualClose = true;\r\n      if (state.ws) {\r\n        state.ws.close();\r\n      }\r\n    },\r\n\r\n    startHeartCheck({ commit, dispatch, state, rootGetters }) {\r\n      console.log(\r\n        `${new Date().toLocaleString()} >>>>> 开始心跳检测`,\r\n        state.ws\r\n      );\r\n      // 清除之前的计时器\r\n      dispatch(\"clearHeartCheckTimer\");\r\n\r\n      // 创建新的计时器\r\n      const course = store.getters.course;\r\n      console.log(course)\r\n      const courseJson = JSON.parse(course);\r\n      let userInfo = JSON.parse(getUserInfo());\r\n      const messageData = {\"user_id\":userInfo.user_id,\"course_isuseradd\":courseJson[0].course_isuseradd,\"course_id\":courseJson[0].course_id,\"type\":\"heartbeat\", device_type: 3}\r\n      dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n\r\n      const gwworker_heartbeat = decrypt(localStorage.getItem(\"gwworker_heartbeat\"));\r\n      console.log(\"gwworker_heartbeat:\", gwworker_heartbeat);\r\n      const timer = setInterval(() => {\r\n        if (!state.ws || state.ws.readyState !== WebSocket.OPEN) {\r\n          console.log(\r\n            `${new Date().toLocaleString()} >>>>> 心跳检测失败,触发重连`,\r\n            state.ws\r\n          );\r\n        } else {\r\n          console.log(\r\n            `${new Date().toLocaleString()} >>>>> 心跳正常,继续下一次心跳检测`,\r\n            state.ws\r\n          );\r\n          dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n        }\r\n      }, 1000 * gwworker_heartbeat);\r\n      commit(\"SET_HEART_CHECK_TIMER\", timer);\r\n    },\r\n\r\n    clearHeartCheckTimer({ commit, state }) {\r\n      const timer = state.gwworker_heartbeat;\r\n      timer && clearInterval(timer);\r\n      commit(\"SET_HEART_CHECK_TIMER\", null);\r\n    },\r\n  },\r\n};\r\n\r\nexport default webSocketModule;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/modules/webSocket.js","const getters = {\r\n  token: state => state.user.token,\r\n  refreshToken: state => state.user.refreshToken,\r\n  user: state => state.user.user,\r\n  subPages: state => state.user.subPages,\r\n  courseList: state => state.white.courseList,\r\n  course: state => state.white.course,\r\n  course_id: state => state.white.course_id,\r\n  courseIsuseradd: state => state.white.courseIsuseradd,\r\n  courseIsChanged: state => state.white.courseIsChanged,\r\n  course_name: state => state.white.course_name,\r\n  courseBase: state => state.white.courseBase,\r\n  courseProgress: state => state.white.courseProgress,\r\n  courseIdExt: state => state.white.course_idExt,\r\n  mindMeditate: state => state.white.mindMeditate,\r\n  thinkMeditate: state => state.white.thinkMeditate,\r\n  progress_meditate_xingwei_long: state =>\r\n    state.white.progress_meditate_xingwei_long,\r\n  progress_meditate_siwei_long: state =>\r\n    state.white.progress_meditate_siwei_long,\r\n  menuType: state => state.white.menuType,\r\n  prevCom: state => state.white.prevCom,\r\n  prevChildCom: state => state.white.prevChildCom,\r\n  whiteActiveIndex: state => state.white.whiteActiveIndex,\r\n  whiteCom: state => state.white.whiteCom,\r\n  problemSolve: state => state.white.problemSolve,\r\n  problemSolveList: state => state.white.problemSolveList,\r\n  moralComprehend: state => state.white.moralComprehend,\r\n  questionList: state => state.white.questionList,\r\n  tip: state => state.white.tip,\r\n  addTipData: state => state.white.addTipData,\r\n  editTip: state => state.white.editTip,\r\n  blackCom: state => state.black.blackCom,\r\n  caseInfo: state => state.black.caseInfo,\r\n  whiteFullScreenPages: state => state.white.whiteFullScreenPages,\r\n  confirmTipType: state => state.white.confirmTipType,\r\n  blackFullScreenPages: state => state.black.blackFullScreenPages,\r\n  menuTab: state => state.white.menuTab,\r\n  menuTabActive: state => state.white.menuTabActive,\r\n  case: state => state.black.case,\r\n  addCaseData: state => state.black.addCaseData,\r\n  editCase: state => state.black.editCase,\r\n  lifeOceanUrl: state => state.black.lifeOceanUrl,\r\n  caseTags: state => state.black.caseTags,\r\n  blackActiveIndex: state => state.black.blackActiveIndex,\r\n  experienceTagTypeObj: state => state.white.experienceTagTypeObj,\r\n  caseTagType: state => state.black.caseTagType,\r\n  blackTip: state => state.white.blackTip,\r\n  tagType: state => state.user.tagType,\r\n  mindMap: state => state.white.mindMap,\r\n  mindMapTimeStamp: state => state.white.mindMapTimeStamp,\r\n  mindMapGuide: state => state.white.mindMapGuide,\r\n  mindMapOfficial: state => state.white.mindMapOfficial,\r\n  mindMapTimeStampOfficial: state => state.white.mindMapTimeStampOfficial,\r\n  mindMapTimeStampGuide: state => state.white.mindMapTimeStampGuide,\r\n  scrollTop: state => state.white.scrollTop,\r\n  pageName: state => state.user.pageName,\r\n  isMac: state => state.common.isMac,\r\n  isTaskProgressClick: state => state.white.isTaskProgressClick,\r\n  historyOperate: state => state.common.historyOperate,\r\n  isFromIndex: state => state.black.isFromIndex,\r\n  guideName: state => state.white.guideName,\r\n  requestParams: state => state.common.requestParams,\r\n  xiaojue_open: state => state.common.xiaojue_open,\r\n  isDeleteCourse: state => state.common.isDeleteCourse,\r\n  currentAudioContent: state => state.white.currentAudioContent,\r\n  currentAudioTime: state => state.white.currentAudioTime,\r\n  canAccessYouTube: state => state.user.canAccessYouTube,\r\n  initedCanAccessYouTube: state => state.user.initedCanAccessYouTube,\r\n  ws: state => state.webSocket.ws,\r\n  online: state => state.webSocket.online,\r\n  status: state => state.webSocket.status,\r\n  loading: state => state.webSocket.loading,\r\n  userMessageUnread: state => state.common.userMessageUnread,\r\n  isLoading: state => state.loading.isLoading,\r\n  isGlobalLoading: state => state.loading.isGlobalLoading,\r\n  pendingCount: state => state.loading.pendingCount,\r\n  historyVersion: state => state.white.historyVersion,\r\n  canUndo: state => state.white.historyVersion.canUndo,\r\n  canRedo: state => state.white.historyVersion.canRedo,\r\n};\r\n\r\nexport default getters;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/getters.js","/*\r\n * @Author: your name\r\n * @Date: 2021-01-05 16:58:20\r\n * @LastEditTime: 2021-01-13 18:10:16\r\n * @LastEditors: your name\r\n * @Description: In User Settings Edit\r\n * @FilePath: \\dispatch-sys\\src\\store\\index.js\r\n */\r\nimport Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nimport user from \"./modules/user\";\r\nimport white from \"./modules/white\";\r\nimport black from \"./modules/black\";\r\nimport common from \"./modules/common\";\r\nimport loading from \"./modules/loading\";\r\nimport webSocketModule from './modules/webSocket';\r\n\r\nimport getters from \"./getters\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n  modules: {\r\n    user,\r\n    white,\r\n    black,\r\n    common,\r\n    loading,\r\n    webSocket: webSocketModule\r\n  },\r\n  state: {},\r\n  mutations: {},\r\n  actions: {},\r\n  getters\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/vuex/index.js","<template>\r\n  <el-dialog\r\n    class=\"con_dialog remind_dialog\"\r\n    title=\"\"\r\n    :visible=\"dialogVisible\"\r\n    :modal=\"true\"\r\n    :append-to-body=\"true\"\r\n    :show-close=\"false\"\r\n    center\r\n    top=\"0vh\"\r\n  >\r\n    <div class=\"tips\">\r\n      <div class=\"tip tips-bold\">为了更好的使用体验，推荐使用以下浏览器：</div>\r\n      <div class=\"tip\">\r\n        <span class=\"tips-bold\">Windows：</span\r\n        >Chrome，Edge，及其他Chrome内核的浏览器；\r\n      </div>\r\n      <div class=\"tip\">\r\n        <span class=\"tips-bold\">MacOS：</span>Chrome，Safari。\r\n      </div>\r\n      <!-- 这次平板不推，所以先批注掉 -->\r\n      <div class=\"tip\">\r\n        <span class=\"tips-bold\">&nbsp;&nbsp;&nbsp;&nbsp;</span\r\n        >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n      </div>\r\n      <!-- <div class=\"tip\">\r\n        <span class=\"tips-bold\">华为，荣耀，小米，联想，苹果平板</span\r\n        >建议使用系统自带的浏览器即可，其他品牌的平板，推荐使用Chrome浏览器。\r\n      </div> -->\r\n      <a class=\"download\" :href=\"chromeUrl\" target=\"_blank\">Chrome浏览器 点击下载</a>\r\n      <div class=\"btn\" @click=\"close\">知道了</div>\r\n    </div>\r\n  </el-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { getChromeUrl } from \"@/utils/util\";\r\nexport default {\r\n  props: {\r\n    dialogVisible: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      chromeUrl: \"\",\r\n    };\r\n  },\r\n  computed: {},\r\n  methods: {\r\n    close() {\r\n      this.$emit(\"close\");\r\n    },\r\n  },\r\n  mounted() {\r\n    let interval = setInterval(() => {\r\n      const app_type = localStorage.getItem(\"app_type\");\r\n      if(app_type) {\r\n        clearInterval(interval);\r\n        this.chromeUrl = getChromeUrl();\r\n      }\r\n    }, 200);\r\n  },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.tips {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: space-between;\r\n  height: 100%;\r\n  position: relative;\r\n  .tip {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #434749;\r\n    line-height: 20px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n  }\r\n  .tips-bold {\r\n    font-family: SourceHanSansCN-Medium;\r\n  }\r\n  .download {\r\n    cursor: pointer;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 12px;\r\n    color: #64afd5;\r\n    line-height: 18px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    text-decoration-line: underline;\r\n  }\r\n  .btn {\r\n    cursor: pointer;\r\n    width: 121px;\r\n    height: 33px;\r\n    box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 21px;\r\n    border: 1px solid #64afd5;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #64afd5;\r\n    line-height: 24px;\r\n    font-style: normal;\r\n    align-self: center;\r\n  }\r\n}\r\n.remind_dialog {\r\n  /deep/ .el-dialog {\r\n    width: 292px !important;\r\n    height: 396px !important;\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    display: none;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 35px 22px 30px !important;\r\n    height: 100%;\r\n    position: relative;\r\n  }\r\n}\r\n\r\n.dialog-close {\r\n  position: absolute;\r\n  bottom: -67px;\r\n  width: 48px;\r\n  height: 48px;\r\n  cursor: pointer;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/Reminder.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"con_dialog remind_dialog\",attrs:{\"title\":\"\",\"visible\":_vm.dialogVisible,\"modal\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"}},[_c('div',{staticClass:\"tips\"},[_c('div',{staticClass:\"tip tips-bold\"},[_vm._v(\"为了更好的使用体验，推荐使用以下浏览器：\")]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_c('span',{staticClass:\"tips-bold\"},[_vm._v(\"Windows：\")]),_vm._v(\"Chrome，Edge，及其他Chrome内核的浏览器；\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_c('span',{staticClass:\"tips-bold\"},[_vm._v(\"MacOS：\")]),_vm._v(\"Chrome，Safari。\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_c('span',{staticClass:\"tips-bold\"},[_vm._v(\"    \")]),_vm._v(\"       \\n    \")]),_vm._v(\" \"),_c('a',{staticClass:\"download\",attrs:{\"href\":_vm.chromeUrl,\"target\":\"_blank\"}},[_vm._v(\"Chrome浏览器 点击下载\")]),_vm._v(\" \"),_c('div',{staticClass:\"btn\",on:{\"click\":_vm.close}},[_vm._v(\"知道了\")])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-bd0b56ca\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/Reminder.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-bd0b56ca\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Reminder.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Reminder.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Reminder.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-bd0b56ca\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Reminder.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-bd0b56ca\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/Reminder.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"loginBg\">\r\n    <div class=\"main\">\r\n      <div class=\"logo\" v-if=\"!showResetPwd\">\r\n        <img src=\"@/assets/img/logo.svg\" v-if=\"app_type == 1\" />\r\n        <img src=\"@/assets/img/logo_overseas.svg\" v-else />\r\n      </div>\r\n      <span v-else class=\"reset-label\">重置密码</span>\r\n      <div class=\"loginMain\" v-show=\"!showResetPwd\">\r\n        <el-tabs v-model=\"activeName\" stretch>\r\n          <el-tab-pane label=\"密码登录\" name=\"first\">\r\n            <span slot=\"label\" class=\"codetab\">&nbsp;&nbsp;密码登录&nbsp;&nbsp;</span>\r\n            <el-form\r\n              :model=\"pwdForm\"\r\n              :rules=\"pwdRules\"\r\n              ref=\"pwdForm\"\r\n              label-width=\"0px\"\r\n              class=\"demo-pwdForm\"\r\n            >\r\n              <div class=\"form_row\">\r\n                <el-form-item label=\"\" prop=\"user_mobile\">\r\n                  <el-select v-model=\"value\" placeholder=\"\">\r\n                    <el-option-group\r\n                      v-for=\"group in areaCodes\"\r\n                      :key=\"group.area_group_name\"\r\n                      :label=\"group.area_group_name\"\r\n                    >\r\n                      <el-option\r\n                        v-for=\"(item, index) in group.area\"\r\n                        :key=\"item.area_code + index\"\r\n                        :label=\"'+' + item.area_code\"\r\n                        :value=\"item.area_code\"\r\n                      >\r\n                        <span>{{ item.area_name }}</span>\r\n                        <span class=\"area_code\">{{\r\n                          \"+\" + item.area_code\r\n                        }}</span>\r\n                      </el-option>\r\n                    </el-option-group>\r\n                  </el-select>\r\n                  <el-input\r\n                    class=\"mobile\"\r\n                    v-model=\"pwdForm.user_mobile\"\r\n                    placeholder=\"请输入手机号\"\r\n                  ></el-input>\r\n                </el-form-item>\r\n              </div>\r\n              <div class=\"form_row form_row1\">\r\n                <el-form-item label=\"\" prop=\"user_password\">\r\n                  <el-input\r\n                    v-if=\"!showPwd\"\r\n                    type=\"password\"\r\n                    ref=\"password\"\r\n                    class=\"code\"\r\n                    v-model=\"pwdForm.user_password\"\r\n                    placeholder=\"请输入长度至少六位的密码\"\r\n                  ></el-input>\r\n                  <el-input\r\n                    v-else\r\n                    type=\"text\"\r\n                    ref=\"password\"\r\n                    class=\"code\"\r\n                    v-model=\"pwdForm.user_password\"\r\n                    placeholder=\"请输入长度至少六位的密码\"\r\n                  ></el-input>\r\n                  <img\r\n                    v-if=\"!showPwd\"\r\n                    class=\"show_pwd\"\r\n                    src=\"@/assets/img/look.png\"\r\n                    @click=\"showPwdFn\"\r\n                  />\r\n                  <img\r\n                    v-else\r\n                    class=\"show_pwd\"\r\n                    src=\"@/assets/img/show_pwd.png\"\r\n                    @click=\"showPwdFn\"\r\n                  />\r\n                </el-form-item>\r\n              </div>\r\n              <div class=\"form_row form_row2\">\r\n                <div class=\"tip\">\r\n                  用户首次使用验证码注册登录，并设置密码后，推荐使用密码登录。\r\n                </div>\r\n                <div class=\"tip forget\"><span class=\"forgetPwd\" @click=\"showForgetPwd\">忘记密码</span></div>\r\n\r\n\r\n              </div>\r\n              <el-form-item class=\"btn-login\">\r\n                <el-button\r\n                  type=\"primary\"\r\n                  @click=\"onSubmitPwd('pwdForm')\"\r\n                  :disabled=\"pwdFormBtnDis\"\r\n                  >登 录</el-button\r\n                >\r\n              </el-form-item>\r\n            </el-form>\r\n          </el-tab-pane>\r\n          <el-tab-pane label=\"验证码登录\" name=\"second\">\r\n            <span slot=\"label\">验证码登录</span>\r\n            <el-form\r\n              :model=\"codeForm\"\r\n              :rules=\"codeRules\"\r\n              ref=\"codeForm\"\r\n              label-width=\"0px\"\r\n              class=\"demo-codeForm\"\r\n            >\r\n              <div class=\"form_row\">\r\n                <el-form-item label=\"\" prop=\"user_mobile\">\r\n                  <el-select v-model=\"value\" placeholder=\"\">\r\n                    <el-option-group\r\n                      v-for=\"group in areaCodes\"\r\n                      :key=\"group.area_group_name\"\r\n                      :label=\"group.area_group_name\"\r\n                    >\r\n                      <el-option\r\n                        v-for=\"(item, index) in group.area\"\r\n                        :key=\"item.area_code + index\"\r\n                        :label=\"'+' + item.area_code\"\r\n                        :value=\"item.area_code\"\r\n                      >\r\n                        <span>{{ item.area_name }}</span>\r\n                        <span class=\"area_code\">{{\r\n                          \"+\" + item.area_code\r\n                        }}</span>\r\n                      </el-option>\r\n                    </el-option-group>\r\n                  </el-select>\r\n                  <el-input\r\n                    class=\"mobile\"\r\n                    v-model=\"codeForm.user_mobile\"\r\n                    placeholder=\"请输入手机号\"\r\n                  ></el-input>\r\n                </el-form-item>\r\n              </div>\r\n              <div class=\"form_row form_row1\">\r\n                <el-form-item label=\"\" prop=\"code\">\r\n                  <el-input\r\n                    class=\"code\"\r\n                    v-model=\"codeForm.code\"\r\n                    placeholder=\"请输入验证码\"\r\n                  ></el-input>\r\n                  <el-button\r\n                    type=\"default\"\r\n                    v-if=\"!codeing\"\r\n                    @click=\"getCodeBefore(1)\"\r\n                    class=\"code-btn\"\r\n                    >获取验证码</el-button\r\n                  >\r\n                  <el-button\r\n                    v-else\r\n                    type=\"default\"\r\n                    :disabled=\"true\"\r\n                    class=\"code-btn\"\r\n                  >\r\n                    <span>{{ codeingTime + \" s\" }}</span>\r\n                  </el-button>\r\n                </el-form-item>\r\n              </div>\r\n              <el-form-item class=\"btn-login btn-login1\">\r\n                <el-button\r\n                  type=\"primary\"\r\n                  @click=\"onSubmitCode('codeForm')\"\r\n                  :disabled=\"codeFormBtnDis\"\r\n                  >登 录</el-button\r\n                >\r\n              </el-form-item>\r\n            </el-form>\r\n          </el-tab-pane>\r\n        </el-tabs>\r\n      </div>\r\n      <div class=\"loginMain\" v-show=\"showResetPwd\">\r\n        <el-form\r\n          :model=\"resetForm\"\r\n          :rules=\"resetRules\"\r\n          ref=\"resetForm\"\r\n          autocomplete=\"off\"\r\n          label-width=\"0px\"\r\n          class=\"resetForm\"\r\n        >\r\n          <div class=\"form_row form_row3\">\r\n            <el-form-item label=\"\" prop=\"user_mobile\">\r\n              <el-select v-model=\"value\" placeholder=\"\">\r\n                <el-option-group\r\n                  v-for=\"group in areaCodes\"\r\n                  :key=\"group.area_group_name\"\r\n                  :label=\"group.area_group_name\"\r\n                >\r\n                  <el-option\r\n                    v-for=\"(item, index) in group.area\"\r\n                    :key=\"item.area_code + index\"\r\n                    :label=\"'+' + item.area_code\"\r\n                    :value=\"item.area_code\"\r\n                  >\r\n                    <span>{{ item.area_name }}</span>\r\n                    <span class=\"area_code\">{{ \"+\" + item.area_code }}</span>\r\n                  </el-option>\r\n                </el-option-group>\r\n              </el-select>\r\n              <el-input\r\n                class=\"mobile\"\r\n                v-model=\"resetForm.user_mobile\"\r\n                autocomplete=\"off\"\r\n                placeholder=\"请输入手机号\"\r\n              ></el-input>\r\n            </el-form-item>\r\n          </div>\r\n          <div class=\"form_row form_row4\">\r\n            <el-form-item label=\"\" prop=\"code\">\r\n              <el-input\r\n                class=\"code\"\r\n                v-model=\"resetForm.code\"\r\n                autocomplete=\"off\"\r\n                placeholder=\"请输入验证码\"\r\n              ></el-input>\r\n              <el-button\r\n                v-if=\"!codeing1\"\r\n                @click=\"getCodeBefore(2)\"\r\n                class=\"reset-code-btn\"\r\n                >获取验证码</el-button\r\n              >\r\n              <el-button v-else disabled class=\"reset-code-btn\">\r\n                <span>{{ codeingTime1 + \" s\" }}</span>\r\n              </el-button>\r\n            </el-form-item>\r\n          </div>\r\n          <div class=\"form_row form_row4\">\r\n            <el-form-item label=\"\" prop=\"user_pass\">\r\n              <el-input\r\n                type=\"password\"\r\n                v-model=\"resetForm.user_password\"\r\n                autocomplete=\"new-password\"\r\n                placeholder=\"请输入至少6位密码\"\r\n              ></el-input>\r\n            </el-form-item>\r\n          </div>\r\n          <div class=\"form_row form_row4\">\r\n            <el-form-item label=\"\" prop=\"user_confirm_password\">\r\n              <el-input\r\n                type=\"password\"\r\n                v-model=\"resetForm.user_confirm_password\"\r\n                autocomplete=\"new-password\"\r\n                placeholder=\"请再次输入密码\"\r\n              ></el-input>\r\n            </el-form-item>\r\n          </div>\r\n          <el-form-item class=\"btn-login reset-btn-login\">\r\n            <el-button type=\"default\" class=\"back\" @click=\"back\"\r\n              >取 消</el-button\r\n            >\r\n            <el-button\r\n              :disabled=\"resetFormBtnDis\"\r\n              type=\"primary\"\r\n              @click=\"onSubmitReset('resetForm')\"\r\n              >提 交</el-button\r\n            >\r\n          </el-form-item>\r\n        </el-form>\r\n      </div>\r\n      <Verify\r\n      v-if=\"showVerify\"\r\n        @success=\"success\"\r\n        :mode=\"'pop'\"\r\n        :captchaType=\"'blockPuzzle'\"\r\n        :imgSize=\"{ width: '330px', height: '155px' }\"\r\n        ref=\"verify\"\r\n        ></Verify>\r\n      <!-- <button @click=\"useVerify\">调用验证组件</button> -->\r\n\r\n      <div class=\"privacy\" v-show=\"!showResetPwd\">\r\n        <el-checkbox v-model=\"agree\">\r\n          <span class=\"agree-label\">我已阅读并同意元日记</span>\r\n          <a class=\"privacy-a\" :href=\"agreement\" target=\"_blank\">《用户协议》</a>\r\n          <a class=\"privacy-a\" :href=\"agreement1\" target=\"_blank\">《隐私协议》</a>\r\n          <!-- <el-link\r\n            type=\"primary\"\r\n            class=\"privacy-a\"\r\n            :href=\"agreement\"\r\n            target=\"_blank\"\r\n            >《用户协议》</el-link\r\n          >\r\n          <el-link\r\n            type=\"primary\"\r\n            class=\"privacy-a\"\r\n            :href=\"agreement1\"\r\n            target=\"_blank\"\r\n            >《隐私协议》</el-link\r\n          > -->\r\n        </el-checkbox>\r\n      </div>\r\n      <div class=\"remind\">\r\n        <div class=\"remind-item remind-bold\">*为了更好的使用体验，推荐使用以下浏览器：</div>\r\n        <div class=\"remind-item\"><span class=\"remind-bold\">Windows：</span>Chrome，Edge，及其他Chrome内核的浏览器；<span class=\"remind-bold\">MacOs：</span>Chrome，Safari。&nbsp;&nbsp;&nbsp;<a :href=\"chromeUrl\" target=\"_blank\">Chrome浏览器  点击下载 </a></div>\r\n        <!-- 这次平板不推，所以先批注掉 -->\r\n        <!-- <div class=\"remind-item\"><span class=\"remind-bold\">华为，荣耀，小米，联想，苹果平板</span>建议使用系统自带的浏览器即可，其他品牌的平板，推荐使用chrome浏览器。&nbsp;&nbsp;&nbsp;<a :href=\"chromeUrl\" target=\"_blank\">Chrome浏览器  点击下载 </a></div> -->\r\n      </div>\r\n\r\n      <Messages\r\n        v-if=\"showMessage\"\r\n        :message=\"message\"\r\n        @closeMessage=\"closeMessage\"\r\n      />\r\n      <a v-if=\"app_type != 2\" class=\"reference\" target=\"_blank\" href=\"https://beian.miit.gov.cn/\">浙ICP备2020034455号</a>\r\n    </div>\r\n    <Reminder :dialogVisible=\"isShowReminder\" v-if=\"isShowReminder\" @close=\"closeReminder\" />\r\n  </div>\r\n</template>\r\n<script type=\"javascript\">\r\nimport {\r\n  getCode,\r\n  getCodeNew,\r\n  getAreaCode,\r\n  login,\r\n  passwordLogin,\r\n  resetPassword,\r\n  createPassword\r\n} from \"@/api/index\";\r\nimport { getLoginReminder, setLoginReminder, removeWhiteCom, removeBlackCom, removeWhiteActiveIndex, removeBlackActiveIndex,removePageName, removeCaseInfo,removeProblemSolveList, removeProblemSolve } from \"@/utils/auth\";\r\nimport { getChromeUrl } from \"@/utils/util\";\r\nimport Messages from \"@/components/Message\";\r\nimport Reminder from \"./Reminder.vue\";\r\nimport { decrypt } from \"@/utils/auth\";\r\nimport Verify from \"@/components/verifition/Verify\";\r\n\r\nexport default {\r\n  name: \"login\",\r\n  components: { Messages, Reminder, Verify },\r\n  data() {\r\n    return {\r\n      redirect: undefined,\r\n      activeName: \"first\",\r\n      codeForm: {\r\n        user_mobile: \"\",\r\n        send_type: 1,\r\n        code: \"\",\r\n        device_id: localStorage.getItem(\"DeviceId\"),\r\n        device_type: 3,\r\n        device_tag: 3,\r\n      },\r\n      new_code:\"\",\r\n      new_password:\"\",\r\n      codeRules: {\r\n        user_mobile: [\r\n          // { required: true, message: \"请输入手机号\", trigger: \"change\" },\r\n          // { required: false, validator: this.vPhone, trigger: \"change\" },\r\n        ],\r\n        // code: [{ required: true, message: \"请输入验证码\", trigger: \"change\" }],\r\n      },\r\n      pwdFormBtnDis: true,\r\n      codeFormBtnDis: true,\r\n      resetFormBtnDis: true,\r\n      codeBtnDis: true,\r\n      resetCodeBtnDis: true,\r\n      pwdForm: {\r\n        user_mobile: \"\",\r\n        send_type: 1,\r\n        user_password: \"\",\r\n        device_id: localStorage.getItem(\"DeviceId\"),\r\n        device_type: 3,\r\n        device_tag: 3,\r\n      },\r\n      pwdRules: {\r\n        user_mobile: [\r\n          // { required: true, message: \"请输入手机号\", trigger: \"change\" },\r\n          // { required: false, validator: this.vPhone, trigger: \"change\" },\r\n        ],\r\n        user_password: [\r\n          // {\r\n          //   required: true,\r\n          //   message: \"请输入长度至少六位的密码\",\r\n          //   trigger: \"change\",\r\n          // },\r\n        ],\r\n      },\r\n      resetForm: {\r\n        user_mobile: \"\",\r\n        send_type: 1,\r\n        code: \"\",\r\n        device_id: localStorage.getItem(\"DeviceId\"),\r\n        user_password: \"\",\r\n        user_confirm_password: \"\",\r\n      },\r\n      resetRules: {\r\n        user_mobile: [\r\n          // { required: true, message: \"请输入手机号\", trigger: \"change\" },\r\n          // { required: false, validator: this.vPhone, trigger: \"change\" },\r\n        ],\r\n        // code: [{ required: true, message: \"请输入验证码\", trigger: \"change\" }],\r\n        user_password: [\r\n          // {\r\n          //   required: true,\r\n          //   message: \"请输入长度至少六位的密码\",\r\n          //   trigger: \"change\",\r\n          // },\r\n          // { min: 6, message: \"请输入长度至少六位的密码\", trigger: \"change\" },\r\n        ],\r\n        user_confirm_password: [\r\n          // { required: true, message: \"请再次输入密码\", trigger: \"change\" },\r\n        ],\r\n      },\r\n\r\n      areaCodes: [],\r\n      value: 86,\r\n      redirect: \"\",\r\n      showPwd: false,\r\n      showResetPwd: false,\r\n      showPwdFirst: false,\r\n      showPwdResetFirst: false,\r\n      agree: false,\r\n      showMessage: false,\r\n      message: \"\",\r\n      codeing: false,\r\n      codeingTime: 60,\r\n      codeingTimer: null,\r\n      codeing1: false,\r\n      codeingTime1: 60,\r\n      codeingTimer1: null,\r\n      disabled: true,\r\n      agreement: \"\",\r\n      agreement1: \"\",\r\n      app_type: 1,\r\n      isShowReminder: false,\r\n      chromeUrl: \"\",\r\n      user: null,\r\n      // 是否显示滑块验证\r\n      isShowSliderVerify: false,\r\n      codeType: null,\r\n      showVerify: false\r\n    };\r\n  },\r\n  watch: {\r\n    $route: {\r\n      handler: function (route) {\r\n        this.redirect = route.query && route.query.redirect;\r\n      },\r\n    },\r\n    codeForm: {\r\n      deep: true,\r\n      handler: function (form) {\r\n        if (\r\n          form.code &&\r\n          form.code.length === 4\r\n        ) {\r\n          this.codeFormBtnDis = false;\r\n        } else {\r\n          this.codeFormBtnDis = true;\r\n        }\r\n        // if (\r\n        //   form.user_mobile &&\r\n        //   /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n        //     form.user_mobile\r\n        //   )\r\n        // ) {\r\n        //   this.codeBtnDis = false;\r\n        // } else {\r\n        //   this.codeBtnDis = true;\r\n        // }\r\n      },\r\n    },\r\n    pwdForm: {\r\n      deep: true,\r\n      handler: function (form) {\r\n        // &&\r\n        //   /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n        //     form.user_mobile\r\n        //   )\r\n        if (\r\n          form.user_mobile &&\r\n          form.user_password &&\r\n          form.user_password.length >= 6\r\n        ) {\r\n          this.pwdFormBtnDis = false;\r\n        } else {\r\n          this.pwdFormBtnDis = true;\r\n        }\r\n      },\r\n    },\r\n    resetForm: {\r\n      deep: true,\r\n      handler: function (form) {\r\n        // &&\r\n        //   /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n        //     form.user_mobile\r\n        //   )\r\n        if (\r\n          form.user_mobile &&\r\n          form.code &&\r\n          form.code.length === 4 &&\r\n          form.user_password &&\r\n          form.user_password.length >= 6 &&\r\n          form.user_confirm_password &&\r\n          form.user_confirm_password.length >= 6\r\n        ) {\r\n          this.resetFormBtnDis = false;\r\n        } else {\r\n          this.resetFormBtnDis = true;\r\n        }\r\n        // if (\r\n        //   form.user_mobile &&\r\n        //   /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n        //     form.user_mobile\r\n        //   )\r\n        // ) {\r\n        //   this.resetCodeBtnDis = false;\r\n        // } else {\r\n        //   this.resetCodeBtnDis = true;\r\n        // }\r\n      },\r\n    },\r\n\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n  },\r\n  methods: {\r\n     /* 滑动验证成功*/\r\n    //--------------------------------------\r\n    success(params){\r\n      // params 返回的二次验证参数, 和登录参数一起回传给登录接口，方便后台进行二次验证\r\n      console.log(\"success:\", params);\r\n      this.showVerify = false;\r\n      this.getCode(this.codeType, params);\r\n    },\r\n    useVerify(){\r\n      this.$refs.verify.show()\r\n    },\r\n    //--------------------------------------\r\n    closeReminder() {\r\n      this.isShowReminder = false;\r\n      setLoginReminder('true');\r\n    },\r\n    closeMessage() {\r\n      this.showMessage = false;\r\n    },\r\n    vPhone(rule, value, callback) {\r\n      if (\r\n        value &&\r\n        !/^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n          value\r\n        )\r\n      ) {\r\n        callback(new Error(\"格式不正确，请输入正确的手机号\"));\r\n      } else {\r\n        callback();\r\n      }\r\n    },\r\n    redirectRouter(user) {\r\n      removeWhiteCom();\r\n      removeBlackCom();\r\n      removeBlackActiveIndex();\r\n      removeCaseInfo();\r\n      removePageName();\r\n      removeProblemSolve();\r\n      removeProblemSolveList();\r\n      removeWhiteActiveIndex();\r\n      console.log('redirectRouter:', user, this.course_id)\r\n      console.log(\"to CourseSelect\");\r\n      // 其中user_status用户状态 1启用2未激活，如果为2未激活，需要跳转到一个课程进度选择页面，设置用户当前课程。\r\n      if (user.user_status == 2) {\r\n        this.$router.push(\"/CourseSelect\");\r\n      } else {\r\n        this.$router.push(\"/\");\r\n      }\r\n\r\n    },\r\n    // 验证码登录\r\n    onSubmitCode(formName) {\r\n      console.log(\"this.agree:\", this.agree);\r\n      if (!this.agree) {\r\n        this.showMessage = true;\r\n        this.message = \"请勾选用户协议隐私协议\";\r\n        return;\r\n      }\r\n      this.$refs[formName].validate(async (valid) => {\r\n        try {\r\n          if (valid) {\r\n          const params = {\r\n            ...this.codeForm,\r\n          };\r\n          const res = await login(params);\r\n          if (res && res.code === 0) {\r\n            if(this.codeingTimer) {\r\n              this.codeingTime = 60;\r\n              this.codeing = false;\r\n              clearInterval(this.codeingTimer);\r\n              this.codeingTime1 = 60;\r\n              this.codeing1 = false;\r\n              clearInterval(this.codeingTimer1);\r\n            }\r\n\r\n            const user = res.data[0];\r\n            this.user = user;\r\n            console.log(\"login01 login:\", user);\r\n            this.$store.dispatch(\"login\", user).then(() => {\r\n              if(user.user_password_reset == 1) {\r\n                // 需要重置\r\n                this.$router.push(\"/resetPwd\");\r\n              } else {\r\n                this.redirectRouter(user);\r\n              }\r\n            });\r\n          } else {\r\n            this.showMessage = true;\r\n            this.message = \"输入验证码有误\";\r\n          }\r\n        } else {\r\n          console.log(\"error submit!!\");\r\n          return false;\r\n        }\r\n        } catch (error) {\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error\r\n          // });\r\n        }\r\n\r\n      });\r\n    },\r\n    // 密码登录\r\n    onSubmitPwd(formName) {\r\n      if (!this.agree) {\r\n        this.showMessage = true;\r\n        this.message = \"请勾选用户协议隐私协议\";\r\n        return;\r\n      }\r\n      if(this.codeingTimer) {\r\n        clearInterval(this.codeingTimer);\r\n      }if(this.codeingTimer1) {\r\n        clearInterval(this.codeingTimer1);\r\n      }\r\n      this.$refs[formName].validate(async (valid) => {\r\n        try {\r\n          if (valid) {\r\n          const params = {\r\n            ...this.pwdForm,\r\n          };\r\n          console.log(params);\r\n          const res = await passwordLogin(params);\r\n          if (res && res.code === 0) {\r\n            const user = res.data[0];\r\n            // user.user_status = 2;\r\n            console.log(\"login01 login:\", user);\r\n            this.$store.dispatch(\"login\", user).then(() => {\r\n              this.redirectRouter(user);\r\n            });\r\n          } else {\r\n            this.showMessage = true;\r\n            this.message = \"账号或密码错误\";\r\n          }\r\n        } else {\r\n          console.log(\"error submit!!\");\r\n          return false;\r\n        }\r\n        } catch (error) {\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error\r\n          // });\r\n        }\r\n\r\n      });\r\n    },\r\n    onSubmitReset(formName) {\r\n      this.$refs[formName].validate(async (valid) => {\r\n        try {\r\n          if (valid) {\r\n            const params = {\r\n              ...this.resetForm,\r\n            };\r\n            const res = await resetPassword(params);\r\n            if (res && res.code === 0) {\r\n              this.$message(res.msg);\r\n              this.showResetPwd = false;\r\n            } else {\r\n              this.showMessage = true;\r\n              this.message = res.msg;\r\n            }\r\n            this.$refs.resetForm.resetFields();\r\n          } else {\r\n            console.log(\"error submit!!\");\r\n            return false;\r\n          }\r\n        } catch (error) {\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error\r\n          // });\r\n        }\r\n\r\n      });\r\n    },\r\n\r\n    // 获取国家区号接口\r\n    async getAreaCode() {\r\n      try {\r\n        const res = await getAreaCode();\r\n        if (res && res.code === 0) {\r\n          this.areaCodes = res.data;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    getCodeBefore(type) {\r\n      if(type == 1) {\r\n        if(!this.codeForm.user_mobile) {\r\n          this.$message.warning(\"手机号不能为空\");\r\n          return;\r\n        }\r\n      } else if(type == 2) {\r\n        if(!this.resetForm.user_mobile) {\r\n          this.$message.warning(\"手机号不能为空\");\r\n          return;\r\n        }\r\n      }\r\n      this.codeType = type;\r\n      this.showVerify = true;\r\n      this.$nextTick(() => {\r\n        this.useVerify();\r\n      });\r\n    },\r\n    // 获取验证码接口\r\n    async getCode(type, captchaVerification) {\r\n      try {\r\n        let params = {};\r\n        if (type === 1) {\r\n          if (this.codeForm.user_mobile === \"\") {\r\n            this.$message(\"手机号不能为空\");\r\n            return;\r\n          }\r\n          // if (\r\n          //   this.codeForm.user_mobile &&\r\n          //   !/^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n          //     this.codeForm.user_mobile\r\n          //   )\r\n          // ) {\r\n          //   this.$message(\"格式不正确，请输入正确的手机号\");\r\n          //   return;\r\n          // }\r\n          console.log(\"value:\", this.value)\r\n          params = {\r\n            user_area_code: this.value,\r\n            user_mobile: this.codeForm.user_mobile,\r\n            send_type: 1,\r\n            device_type: 3,\r\n            device_tag: 3,\r\n            ...captchaVerification\r\n          };\r\n          console.log(\"getCode:\", params);\r\n        } else if (type === 2) {\r\n          if (this.resetForm.user_mobile === \"\") {\r\n            this.$message(\"手机号不能为空\");\r\n            return;\r\n          }\r\n          // if (\r\n          //   this.resetForm.user_mobile &&\r\n          //   !/^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n          //     this.resetForm.user_mobile\r\n          //   )\r\n          // ) {\r\n          //   this.$message(\"格式不正确，请输入正确的手机号\");\r\n          //   return;\r\n          // }\r\n          params = {\r\n            user_area_code: this.value,\r\n            user_mobile: this.resetForm.user_mobile,\r\n            send_type: 2,\r\n            device_type: 3,\r\n            device_tag: 3,\r\n            ...captchaVerification\r\n          };\r\n\r\n        }\r\n\r\n        console.log(params);\r\n        const res = await getCodeNew(params);\r\n        if (res && res.code === 0) {\r\n          if(type == 1) {\r\n            this.codeingTime = 60;\r\n            this.codeing = true;\r\n            // 定时器 每隔一秒变化一次\r\n            this.codeingTimer = setInterval(() => {\r\n              this.codeingTime -= 1;\r\n              if (this.codeingTime === 0) {\r\n                this.codeing = false;\r\n                clearInterval(this.codeingTimer);\r\n              }\r\n            }, 1000);\r\n          } else {\r\n            this.codeingTime1 = 60;\r\n            this.codeing1 = true;\r\n            // 定时器 每隔一秒变化一次\r\n            this.codeingTimer1 = setInterval(() => {\r\n              this.codeingTime1 -= 1;\r\n              if (this.codeingTime1 === 0) {\r\n                this.codeing1 = false;\r\n                clearInterval(this.codeingTimer1);\r\n              }\r\n            }, 1000);\r\n          }\r\n\r\n          this.$message(\"发送验证码成功\");\r\n        } else {\r\n          this.$message(res.msg);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n\r\n    },\r\n    showPwdFn() {\r\n      this.showPwd = !this.showPwd;\r\n    },\r\n    showForgetPwd() {\r\n      this.showResetPwd = true;\r\n    },\r\n\r\n    back() {\r\n      this.showResetPwd = false;\r\n      this.$refs.resetForm.resetFields();\r\n      this.codeing1 = false;\r\n      if(this.codeingTimer1) {\r\n        clearInterval(this.codeingTimer1);\r\n      }\r\n    },\r\n    getIphone() {\r\n      // 返回由客户机发送服务器的user-agent 头部的值\r\n      const device = navigator.userAgent;\r\n      //做判断 通过返回的数据来筛选查找关键信息\r\n      let isPhone = false;\r\n      if (device.indexOf(\"iPad\") > -1) {\r\n        // ipad\r\n        isPhone == false;\r\n      } else if (device.indexOf(\"Android\") > -1 || device.indexOf(\"ios\") > -1) {\r\n        // 手机\r\n        isPhone = true;\r\n      } else {\r\n        // 电脑\r\n        isPhone = false;\r\n      }\r\n      return isPhone;\r\n    },\r\n  },\r\n  mounted() {\r\n    this.getAreaCode();\r\n    const xieyi_url = localStorage.getItem(\"xieyi_url\") ? decrypt(localStorage.getItem(\"xieyi_url\")) : \"\";\r\n    // console.log(\"xieyi_url:\", xieyi_url);\r\n\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    this.app_type = app_type;\r\n    const isShowReminder = getLoginReminder();\r\n    if (isShowReminder == 'true') {\r\n      this.isShowReminder = false;\r\n    } else {\r\n      this.isShowReminder = true;\r\n    }\r\n    setLoginReminder('true');\r\n    let interval = setInterval(() => {\r\n      if(app_type) {\r\n        clearInterval(interval);\r\n        this.chromeUrl = getChromeUrl();\r\n        const xieyi_url = localStorage.getItem(\"xieyi_url\") ? decrypt(localStorage.getItem(\"xieyi_url\")) : \"\";\r\n        if(app_type == 1) {\r\n          // 国内\r\n          // this.agreement = xieyi_url + \"/xieyi/\" + \"agreement.html\";\r\n          // this.agreement1 = xieyi_url + \"/xieyi/\" + \"agreement1.html\";\r\n          this.agreement = window.agreement;\r\n          this.agreement1 = window.agreement1;\r\n        } else {\r\n          // 海外\r\n          this.agreement = xieyi_url + \"/xieyiwweb/\" + \"agreement.html\";\r\n          this.agreement1 = xieyi_url + \"/xieyiwweb/\" + \"agreement1.html\";\r\n        }\r\n      }\r\n    }, 200);\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.loginBg {\r\n  height: 100%;\r\n  background-image: url(\"~@/assets/img/loginBg01.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n  display: flex;\r\n  overflow-y: auto;\r\n\r\n\r\n  /deep/ .el-checkbox__inner {\r\n    border-radius: 50%;\r\n    border: 1px solid #64afd5;\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-checkbox__input.is-checked .el-checkbox__inner {\r\n    // background-color: #fff;\r\n    border-color: #64afd5;\r\n  }\r\n  /deep/ .is-checked .el-checkbox__inner::after {\r\n    border: 1px solid #64afd5;\r\n    border-left: 0;\r\n    border-top: 0;\r\n    width: 3px;\r\n    height: 7px;\r\n    left: 4px;\r\n    top: 1px;\r\n  }\r\n}\r\n.main {\r\n  width: 100%;\r\n  padding-bottom: 100px;\r\n  position: relative;\r\n  min-height: 100%;\r\n  margin: 0;\r\n  padding-top:80px;\r\n  .logo {\r\n    width: 130px;\r\n    height: 109px;\r\n    margin: 0 auto;\r\n    margin-top: 0;\r\n    img {\r\n      width: 100%;\r\n      height: 100%;\r\n    }\r\n    // position: absolute;\r\n    // top: calc(50% - 357px);\r\n    // left: 50%;\r\n    // transform: translateX(-50%);\r\n  }\r\n  .reset-label {\r\n    font-size: 32px;\r\n    font-family: SourceHanSansCN-Light, SourceHanSansCN;\r\n    font-weight: 300;\r\n    color: #6fb4d7;\r\n    line-height: 48px;\r\n    display: flex;\r\n    justify-content: center;\r\n    padding-top: 61px;\r\n  }\r\n}\r\n.con_dialog {\r\n  .reset-label {\r\n    font-size: 32px;\r\n    font-family: SourceHanSansCN-Light, SourceHanSansCN;\r\n    font-weight: 300;\r\n    color: #6fb4d7;\r\n    line-height: 48px;\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n}\r\n.loginMain {\r\n  width: 295px;\r\n  height: 354px;\r\n  background: rgba(255, 255, 255, 0.7);\r\n  box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.05);\r\n  border-radius: 16px;\r\n  margin: 0 auto;\r\n  margin-top: 27px;\r\n  // left: 50%;\r\n  // top: 50%;\r\n  // margin-left: -150px;\r\n  // margin-top: -192px;\r\n  // position: absolute;\r\n}\r\n.remind {\r\n  position: absolute;\r\n  bottom: 20px;\r\n  left: 35px;\r\n  .remind-item {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 10px;\r\n    color: #4E545C;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  .remind-bold {\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  }\r\n  a {\r\n    cursor: pointer;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 12px;\r\n    color: #64AFD5;\r\n    line-height: 18px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    text-decoration-line: underline;\r\n  }\r\n}\r\n.reference {\r\n  position: absolute;\r\n  right: 46px;\r\n  bottom: 20px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  line-height: 18px;\r\n  text-align: center;\r\n  font-style: normal;\r\n  text-decoration: none;\r\n  color: #64AFD5;\r\n}\r\n.reference:hover{\r\n  text-decoration: underline;\r\n}\r\n/deep/.el-tabs__header {\r\n  padding-top: 16px;\r\n  margin: 0 0 4px;\r\n}\r\n/deep/.el-tabs__active-bar {\r\n  background-color: #64afd5 !important;\r\n  display: none;\r\n}\r\n/deep/.el-tabs__item {\r\n  color: #4e545c !important;\r\n  font-weight: 400;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #4e545c;\r\n  font-style: normal;\r\n  // padding: 0 20px;\r\n  height: 40px;\r\n  -webkit-box-sizing: border-box;\r\n  box-sizing: border-box;\r\n  line-height: 40px;\r\n  display: inline-block;\r\n  list-style: none;\r\n  padding: 0;\r\n  margin: 0 30px;\r\n  flex:0;\r\n}\r\n\r\n/deep/.el-tabs__nav{\r\n  justify-content: center !important;\r\n  justify-items: center !important;\r\n}\r\n/deep/.el-tabs__nav-scroll {\r\n  width: 100%;\r\n  margin: 0 auto;\r\n}\r\n/deep/.el-tabs__item.is-active {\r\n  color: #64afd5 !important;\r\n  font-weight: 500;\r\n  border-bottom: 2px solid #64afd5;\r\n}\r\n\r\n.codetab {\r\n  position: relative;\r\n  &::before {\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    right: -31px;\r\n    top: 1px;\r\n    width: 1px;\r\n    height: 19px;\r\n    background: #64afd5;\r\n  }\r\n}\r\n\r\n// input\r\n/deep/ .el-form-item {\r\n  margin-bottom: 0;\r\n  border-bottom: 1px solid rgba(100, 175, 213, 0.2);\r\n  width: 100%;\r\n  // height: 100%;\r\n}\r\n/deep/ .el-form-item__content {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: flex-end;\r\n  height: 100%;\r\n  line-height: 40px;\r\n  font-size: 14px;\r\n}\r\n/deep/ .el-input__inner {\r\n  border-radius: 0;\r\n  border: 0;\r\n  background-color: #f5f9fb;\r\n  background-color: rgba(255, 255, 255, 0);\r\n  padding: 0;\r\n  height: 40px;\r\n  line-height: 40px;\r\n}\r\n/deep/ .el-input {\r\n  font-size: 14px;\r\n  color: #4e545c;\r\n  line-height: 21px;\r\n}\r\n/deep/ .el-select > .el-input {\r\n  width: 80px;\r\n}\r\n/deep/ .el-select .el-input__inner {\r\n  padding-left: 5px !important;\r\n  // padding-right: 10px !important;\r\n}\r\n/deep/ .el-input__suffix {\r\n  right: 12px;\r\n  // padding-left: 10px;\r\n}\r\n\r\n/deep/ .el-button--primary {\r\n  border-color: #64afd5;\r\n}\r\n/deep/ .el-button--primary.is-disabled {\r\n  background: #eaedef !important;\r\n  border-color: #eaedef;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n}\r\n/deep/ .el-tabs__content {\r\n  padding: 0 35px;\r\n}\r\n/deep/ .el-select .el-input .el-select__caret {\r\n  color: #64afd5;\r\n  font-size: 14px;\r\n}\r\n/deep/ .el-select .el-input .el-input__icon {\r\n  width: 25px;\r\n  line-height: 25px;\r\n}\r\n/deep/ .el-checkbox {\r\n  font-size: 14px;\r\n}\r\n/deep/ .el-checkbox__inner {\r\n  width: 14px;\r\n  height: 14px;\r\n}\r\n.form_row {\r\n  display: flex;\r\n  padding-left: 10px;\r\n  align-items: flex-end;\r\n  justify-content: space-between;\r\n  padding-right: 10px;\r\n  height: 74px;\r\n  .tip {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7E878C;\r\n    line-height: 18px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n    display: inline-block;\r\n    position: relative;\r\n    padding-top: 5px;\r\n    width: 100%;\r\n    &.forget {\r\n      display: flex;\r\n      justify-content: flex-end;\r\n      .forgetPwd {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #64AFD5;\r\n        line-height: 18px;\r\n        cursor: pointer;\r\n        // text-decoration: underline;\r\n        position: absolute;\r\n        right: 0;\r\n        border-bottom: 1px solid #64AFD5;\r\n      }\r\n    }\r\n  }\r\n\r\n}\r\n.form_row2 {\r\n  height: 75px;\r\n  justify-content: flex-end;\r\n  display: block;\r\n}\r\n.form_row3 {\r\n  padding: 0 30px;\r\n}\r\n.form_row4 {\r\n  height: 48px !important;\r\n  padding: 0 30px;\r\n}\r\n.mobile {\r\n  width: 200px;\r\n}\r\n.area_code {\r\n  float: right;\r\n  color: #8492a6;\r\n  font-size: 13px;\r\n}\r\n// .code {\r\n//   width: 180px;\r\n// }\r\n.code-btn {\r\n  width: 79px;\r\n  height: 26px;\r\n  padding: 12px 20px;\r\n  // line-height: 26px;\r\n  // padding: 0 10px;\r\n  margin-bottom: 10px;\r\n  font-size: 12px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #64afd5;\r\n  // line-height: 18px;\r\n  border-radius: 6px;\r\n  border: 1px solid #64afd5;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  background: transparent;\r\n}\r\n.reset-code-btn {\r\n  border-radius: 6px;\r\n  border: 1px solid #64afd5;\r\n  color: #64afd5;\r\n  width: 79px;\r\n  height: 26px;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  // padding: 5px 10px;\r\n  margin-bottom: 7px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  font-size: 12px;\r\n  color: #64afd5;\r\n  text-align: right;\r\n  font-style: normal;\r\n}\r\n.code-btn-dis {\r\n  color: #c0c4cc;\r\n  border-color: #ebeef5;\r\n}\r\n.btn-login {\r\n  border-bottom: none;\r\n}\r\n.btn-login1 {\r\n  /deep/ .el-button {\r\n    margin-top: 75px;\r\n  }\r\n}\r\n.btn-login /deep/ .el-button {\r\n  width: 223px;\r\n  height: 40px;\r\n  background: #64afd5;\r\n  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n  border-radius: 8px;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding: 12px 20px;\r\n  color: #fff;\r\n}\r\nreset-btn-login {\r\n  display: flex;\r\n  justify-content: space-around;\r\n}\r\n.back {\r\n  background: #eaedef !important;\r\n  color: #7e878c;\r\n  border-color: #eaedef;\r\n  &:hover {\r\n    border-color: #eaedef;\r\n  }\r\n}\r\n.reset-btn-login /deep/ .el-button {\r\n  margin-top: 45px;\r\n  width: 103px;\r\n}\r\n.show_pwd {\r\n  margin-bottom: 10px;\r\n  width: 17px;\r\n  height: 17px;\r\n}\r\n.resetForm {\r\n  // padding: 27px 0;\r\n}\r\n/deep/ .el-checkbox__label {\r\n  display: inline-block;\r\n  padding-left: 10px;\r\n  line-height: 19px;\r\n  font-size: 14px;\r\n}\r\n.privacy {\r\n  margin: 0 auto;\r\n  margin-top: 36px;\r\n  text-align: center;\r\n  .agree-label {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n  }\r\n\r\n  .privacy-a {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 18px;\r\n    color: #64afd5;\r\n    text-decoration: none;\r\n  }\r\n}\r\n\r\n@media screen and(max-height: 700px) {\r\n  .loginBg{\r\n    display: block;\r\n  }\r\n}\r\n\r\n\r\n/* 隐藏左侧箭头 */\r\n/deep/ .el-icon-arrow-left::before {\r\n  display: none !important;\r\n}\r\n\r\n/* 隐藏右侧箭头 */\r\n/deep/ .el-icon-arrow-right::before {\r\n  display: none !important;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/login01.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loginBg\"},[_c('div',{staticClass:\"main\"},[(!_vm.showResetPwd)?_c('div',{staticClass:\"logo\"},[(_vm.app_type == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/logo.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/logo_overseas.svg\")}})]):_c('span',{staticClass:\"reset-label\"},[_vm._v(\"重置密码\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showResetPwd),expression:\"!showResetPwd\"}],staticClass:\"loginMain\"},[_c('el-tabs',{attrs:{\"stretch\":\"\"},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"密码登录\",\"name\":\"first\"}},[_c('span',{staticClass:\"codetab\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"  密码登录  \")]),_vm._v(\" \"),_c('el-form',{ref:\"pwdForm\",staticClass:\"demo-pwdForm\",attrs:{\"model\":_vm.pwdForm,\"rules\":_vm.pwdRules,\"label-width\":\"0px\"}},[_c('div',{staticClass:\"form_row\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_mobile\"}},[_c('el-select',{attrs:{\"placeholder\":\"\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.areaCodes),function(group){return _c('el-option-group',{key:group.area_group_name,attrs:{\"label\":group.area_group_name}},_vm._l((group.area),function(item,index){return _c('el-option',{key:item.area_code + index,attrs:{\"label\":'+' + item.area_code,\"value\":item.area_code}},[_c('span',[_vm._v(_vm._s(item.area_name))]),_vm._v(\" \"),_c('span',{staticClass:\"area_code\"},[_vm._v(_vm._s(\"+\" + item.area_code))])])}),1)}),1),_vm._v(\" \"),_c('el-input',{staticClass:\"mobile\",attrs:{\"placeholder\":\"请输入手机号\"},model:{value:(_vm.pwdForm.user_mobile),callback:function ($$v) {_vm.$set(_vm.pwdForm, \"user_mobile\", $$v)},expression:\"pwdForm.user_mobile\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"form_row form_row1\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_password\"}},[(!_vm.showPwd)?_c('el-input',{ref:\"password\",staticClass:\"code\",attrs:{\"type\":\"password\",\"placeholder\":\"请输入长度至少六位的密码\"},model:{value:(_vm.pwdForm.user_password),callback:function ($$v) {_vm.$set(_vm.pwdForm, \"user_password\", $$v)},expression:\"pwdForm.user_password\"}}):_c('el-input',{ref:\"password\",staticClass:\"code\",attrs:{\"type\":\"text\",\"placeholder\":\"请输入长度至少六位的密码\"},model:{value:(_vm.pwdForm.user_password),callback:function ($$v) {_vm.$set(_vm.pwdForm, \"user_password\", $$v)},expression:\"pwdForm.user_password\"}}),_vm._v(\" \"),(!_vm.showPwd)?_c('img',{staticClass:\"show_pwd\",attrs:{\"src\":require(\"@/assets/img/look.png\")},on:{\"click\":_vm.showPwdFn}}):_c('img',{staticClass:\"show_pwd\",attrs:{\"src\":require(\"@/assets/img/show_pwd.png\")},on:{\"click\":_vm.showPwdFn}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"form_row form_row2\"},[_c('div',{staticClass:\"tip\"},[_vm._v(\"\\n                用户首次使用验证码注册登录，并设置密码后，推荐使用密码登录。\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"tip forget\"},[_c('span',{staticClass:\"forgetPwd\",on:{\"click\":_vm.showForgetPwd}},[_vm._v(\"忘记密码\")])])]),_vm._v(\" \"),_c('el-form-item',{staticClass:\"btn-login\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":_vm.pwdFormBtnDis},on:{\"click\":function($event){return _vm.onSubmitPwd('pwdForm')}}},[_vm._v(\"登 录\")])],1)],1)],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"验证码登录\",\"name\":\"second\"}},[_c('span',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"验证码登录\")]),_vm._v(\" \"),_c('el-form',{ref:\"codeForm\",staticClass:\"demo-codeForm\",attrs:{\"model\":_vm.codeForm,\"rules\":_vm.codeRules,\"label-width\":\"0px\"}},[_c('div',{staticClass:\"form_row\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_mobile\"}},[_c('el-select',{attrs:{\"placeholder\":\"\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.areaCodes),function(group){return _c('el-option-group',{key:group.area_group_name,attrs:{\"label\":group.area_group_name}},_vm._l((group.area),function(item,index){return _c('el-option',{key:item.area_code + index,attrs:{\"label\":'+' + item.area_code,\"value\":item.area_code}},[_c('span',[_vm._v(_vm._s(item.area_name))]),_vm._v(\" \"),_c('span',{staticClass:\"area_code\"},[_vm._v(_vm._s(\"+\" + item.area_code))])])}),1)}),1),_vm._v(\" \"),_c('el-input',{staticClass:\"mobile\",attrs:{\"placeholder\":\"请输入手机号\"},model:{value:(_vm.codeForm.user_mobile),callback:function ($$v) {_vm.$set(_vm.codeForm, \"user_mobile\", $$v)},expression:\"codeForm.user_mobile\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"form_row form_row1\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"code\"}},[_c('el-input',{staticClass:\"code\",attrs:{\"placeholder\":\"请输入验证码\"},model:{value:(_vm.codeForm.code),callback:function ($$v) {_vm.$set(_vm.codeForm, \"code\", $$v)},expression:\"codeForm.code\"}}),_vm._v(\" \"),(!_vm.codeing)?_c('el-button',{staticClass:\"code-btn\",attrs:{\"type\":\"default\"},on:{\"click\":function($event){return _vm.getCodeBefore(1)}}},[_vm._v(\"获取验证码\")]):_c('el-button',{staticClass:\"code-btn\",attrs:{\"type\":\"default\",\"disabled\":true}},[_c('span',[_vm._v(_vm._s(_vm.codeingTime + \" s\"))])])],1)],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"btn-login btn-login1\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":_vm.codeFormBtnDis},on:{\"click\":function($event){return _vm.onSubmitCode('codeForm')}}},[_vm._v(\"登 录\")])],1)],1)],1)],1)],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showResetPwd),expression:\"showResetPwd\"}],staticClass:\"loginMain\"},[_c('el-form',{ref:\"resetForm\",staticClass:\"resetForm\",attrs:{\"model\":_vm.resetForm,\"rules\":_vm.resetRules,\"autocomplete\":\"off\",\"label-width\":\"0px\"}},[_c('div',{staticClass:\"form_row form_row3\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_mobile\"}},[_c('el-select',{attrs:{\"placeholder\":\"\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.areaCodes),function(group){return _c('el-option-group',{key:group.area_group_name,attrs:{\"label\":group.area_group_name}},_vm._l((group.area),function(item,index){return _c('el-option',{key:item.area_code + index,attrs:{\"label\":'+' + item.area_code,\"value\":item.area_code}},[_c('span',[_vm._v(_vm._s(item.area_name))]),_vm._v(\" \"),_c('span',{staticClass:\"area_code\"},[_vm._v(_vm._s(\"+\" + item.area_code))])])}),1)}),1),_vm._v(\" \"),_c('el-input',{staticClass:\"mobile\",attrs:{\"autocomplete\":\"off\",\"placeholder\":\"请输入手机号\"},model:{value:(_vm.resetForm.user_mobile),callback:function ($$v) {_vm.$set(_vm.resetForm, \"user_mobile\", $$v)},expression:\"resetForm.user_mobile\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"form_row form_row4\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"code\"}},[_c('el-input',{staticClass:\"code\",attrs:{\"autocomplete\":\"off\",\"placeholder\":\"请输入验证码\"},model:{value:(_vm.resetForm.code),callback:function ($$v) {_vm.$set(_vm.resetForm, \"code\", $$v)},expression:\"resetForm.code\"}}),_vm._v(\" \"),(!_vm.codeing1)?_c('el-button',{staticClass:\"reset-code-btn\",on:{\"click\":function($event){return _vm.getCodeBefore(2)}}},[_vm._v(\"获取验证码\")]):_c('el-button',{staticClass:\"reset-code-btn\",attrs:{\"disabled\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.codeingTime1 + \" s\"))])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"form_row form_row4\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_pass\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"autocomplete\":\"new-password\",\"placeholder\":\"请输入至少6位密码\"},model:{value:(_vm.resetForm.user_password),callback:function ($$v) {_vm.$set(_vm.resetForm, \"user_password\", $$v)},expression:\"resetForm.user_password\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"form_row form_row4\"},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_confirm_password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"autocomplete\":\"new-password\",\"placeholder\":\"请再次输入密码\"},model:{value:(_vm.resetForm.user_confirm_password),callback:function ($$v) {_vm.$set(_vm.resetForm, \"user_confirm_password\", $$v)},expression:\"resetForm.user_confirm_password\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"btn-login reset-btn-login\"},[_c('el-button',{staticClass:\"back\",attrs:{\"type\":\"default\"},on:{\"click\":_vm.back}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"disabled\":_vm.resetFormBtnDis,\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onSubmitReset('resetForm')}}},[_vm._v(\"提 交\")])],1)],1)],1),_vm._v(\" \"),(_vm.showVerify)?_c('Verify',{ref:\"verify\",attrs:{\"mode\":'pop',\"captchaType\":'blockPuzzle',\"imgSize\":{ width: '330px', height: '155px' }},on:{\"success\":_vm.success}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showResetPwd),expression:\"!showResetPwd\"}],staticClass:\"privacy\"},[_c('el-checkbox',{model:{value:(_vm.agree),callback:function ($$v) {_vm.agree=$$v},expression:\"agree\"}},[_c('span',{staticClass:\"agree-label\"},[_vm._v(\"我已阅读并同意元日记\")]),_vm._v(\" \"),_c('a',{staticClass:\"privacy-a\",attrs:{\"href\":_vm.agreement,\"target\":\"_blank\"}},[_vm._v(\"《用户协议》\")]),_vm._v(\" \"),_c('a',{staticClass:\"privacy-a\",attrs:{\"href\":_vm.agreement1,\"target\":\"_blank\"}},[_vm._v(\"《隐私协议》\")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"remind\"},[_c('div',{staticClass:\"remind-item remind-bold\"},[_vm._v(\"*为了更好的使用体验，推荐使用以下浏览器：\")]),_vm._v(\" \"),_c('div',{staticClass:\"remind-item\"},[_c('span',{staticClass:\"remind-bold\"},[_vm._v(\"Windows：\")]),_vm._v(\"Chrome，Edge，及其他Chrome内核的浏览器；\"),_c('span',{staticClass:\"remind-bold\"},[_vm._v(\"MacOs：\")]),_vm._v(\"Chrome，Safari。   \"),_c('a',{attrs:{\"href\":_vm.chromeUrl,\"target\":\"_blank\"}},[_vm._v(\"Chrome浏览器  点击下载 \")])])]),_vm._v(\" \"),(_vm.showMessage)?_c('Messages',{attrs:{\"message\":_vm.message},on:{\"closeMessage\":_vm.closeMessage}}):_vm._e(),_vm._v(\" \"),(_vm.app_type != 2)?_c('a',{staticClass:\"reference\",attrs:{\"target\":\"_blank\",\"href\":\"https://beian.miit.gov.cn/\"}},[_vm._v(\"浙ICP备2020034455号\")]):_vm._e()],1),_vm._v(\" \"),(_vm.isShowReminder)?_c('Reminder',{attrs:{\"dialogVisible\":_vm.isShowReminder},on:{\"close\":_vm.closeReminder}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-85182196\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/login01.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-85182196\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./login01.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./login01.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./login01.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-85182196\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./login01.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-85182196\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/login01.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjU5cHgiIGhlaWdodD0iNThweCIgdmlld0JveD0iMCAwIDU5LjAgNTguMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTMxLjAzNDQ4MjglIiB5PSItMzEuMDM0NDgyOCUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE0OC4yNzU4NjIlIiBoZWlnaHQ9IjE0OC4yNzU4NjIlIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0yMywwIEMzNS43MDI1NDkyLDAgNDYsMTAuMjk3NDUwOCA0NiwyMyBDNDYsMzUuNzAyNTQ5MiAzNS43MDI1NDkyLDQ2IDIzLDQ2IEMxMC4yOTc0NTA4LDQ2IDAsMzUuNzAyNTQ5MiAwLDIzIEMwLDEwLjI5NzQ1MDggMTAuMjk3NDUwOCwwIDIzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00MDcuMCAtNjY3LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MTEuNSA2NzEuMCkiPjxwYXRoIGQ9Ik0yMyw0NiBDMzUuNzAyNTQ5Miw0NiA0NiwzNS43MDI1NDkyIDQ2LDIzIEM0NiwxMC4yOTc0NTA4IDM1LjcwMjU0OTIsMCAyMywwIEMxMC4yOTc0NTA4LDAgMCwxMC4yOTc0NTA4IDAsMjMgQzAsMzUuNzAyNTQ5MiAxMC4yOTc0NTA4LDQ2IDIzLDQ2IFoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCIgZmlsdGVyPSJ1cmwoI2kxKSI+PC9wYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNpNCkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDQ2LDAgNDYsNDYgMCw0NiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4yMDc0MTgzMTM0NzI0MzggMTMuOTc2MjM0Njk4OTIyNDUpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1Ljg0NDIxNDAwMTYyNjgyNGUtMTMgMC43MDcxMDY3ODExODcxMjg4KSByb3RhdGUoLTQ0Ljk5OTk5OTk5OTk5OTk5KSI+PHBhdGggZD0iTTAuNSwwIEwwLjUsMjQiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy42Nzc2Njk1Mjk2NjQyNyAwLjcwNzEwNjc4MTE4NjIxOTMpIHJvdGF0ZSg0NC45OTk5OTk5OTk5OTk5OSkgc2NhbGUoLTEuMCAxLjApIj48cGF0aCBkPSJNMC41LDAgTDAuNSwyNCIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjEuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/problem_close.svg\n// module id = lExg\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE0cHgiIGhlaWdodD0iMTlweCIgdmlld0JveD0iMCAwIDE0LjAgMTkuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc1Ny4wIC01MDAuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc1OC4xOTUzNjM0OTA1NTEyIDUwMS40MjkwMzM2OTM4Nzk4KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS4wMjkzNzM0OTQ3NTE3ODE0IDAuMCkiPjxwYXRoIGQ9Ik02LjgzMDkzNzU0LDAuNTQwNDAwNTQ0IEwwLDEwLjY0MTkyIEwzLjcwMDYwMDE4LDEzLjExMzU0NzYgTDEwLjUyMzIzMDYsMy4wMjQyNDQ1NiBDMTAuOTA0MzgzMSwyLjQ1OTg0NTYyIDEwLjc1NDM2NTQsMS42OTMxNDI2MyAxMC4xODgwMTE4LDEuMzE0OTIyMDQgTDguNTMwOTc1NTcsMC4yMDcxMzY0MDUgQzcuOTY5MDE5OTEsLTAuMTY4MTUyMjQ1IDcuMjA5NjQ2NzksLTAuMDE5NjAwNDg3NyA2LjgzMDkzNzU0LDAuNTQwNDAwNTQ0IFoiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxLjQiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMTIuMTgxMTQxMDA5MDY0NSkiPjxwYXRoIGQ9Ik0wLjIyOTQ5MDY5NSwwIEwwLjAwMDc5OTE3NDI2NCwzLjQzOTY1NzMgQy0wLjAxNzI4MTEzODMsMy43MTY3MjU4NyAwLjI3NDkzNTgwNSwzLjkwNjgxMzQ4IDAuNTIwNzMwMzI0LDMuNzc3MzE5MzUgTDMuNTIzMDM5NTIsMi4xOTk0NDU1OSIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjEuNCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/editMeditate.svg\n// module id = lX2D\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/headimage3.dbecfed.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage3.png\n// module id = la9E\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"myMindOutline\">\r\n    <div\r\n      :id=\"myMindOutlineId\"\r\n\r\n      :class=\"[\r\n        'outline',\r\n        !datas.length\r\n          ? 'outlineNone'\r\n          : editOutline\r\n          ? 'outlineEdit'\r\n          : isSaveMindMap\r\n          ? ''\r\n          : ''\r\n      ]\"\r\n    >\r\n      <!-- <iframe\r\n      width=\"500px\"\r\n      height=\"500px\"\r\n      :src=\"`http://192.168.0.145:9998/#/outline?${paramsIframe}`\"\r\n    ></iframe> -->\r\n      <div\r\n        class=\"none_wrapper\"\r\n        v-if=\"datas && !datas.length\"\r\n        style=\"text-align: center;\"\r\n      >\r\n        <img src=\"@/assets/img/recommend_none.svg\" />\r\n        <p class=\"none\">暂无数据</p>\r\n      </div>\r\n      <div style=\"width:0px;height:0px;overflow:hidden;\">\r\n      {{ selectedData && selectedData.isShowOp }} {{ selectedDom.target ? true:false }}\r\n      </div>\r\n      <div\r\n        v-if=\"selectedData && selectedData.isShowOp && selectedDom.target\"\r\n        :ref=\"'operateRef'\"\r\n        :class=\"`operates-wrapper`\"\r\n        :style=\"{\r\n          'z-index': 2,\r\n          'opacity': 0\r\n        }\"\r\n        @click=\"disibledDocumentClick\"\r\n        >\r\n        <div class=\"operates-wrapper-operates\">\r\n          <div class=\"operate del\" @mousedown=\"remove\">\r\n            删除({{ isMac ? \"cmd+←\" : \"ctrl+d\" }})\r\n          </div>\r\n          <div\r\n            class=\"operate addsubtheme\"\r\n            @mousedown=\"append(selectedData, selectedNode, $event)\"\r\n            v-if=\"selectedNode.label && selectedNode.level < 5\"\r\n          >\r\n            添加子主题(tab)\r\n          </div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"addEquative(selectedNode, selectedData, $event)\"\r\n            v-if=\"selectedNode.label\"\r\n          >\r\n            添加同级主题(Enter)\r\n          </div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"tabClick(selectedNode, selectedData)\"\r\n            v-if=\"selectedData.$index > 0 && selectedNode.label && selectedNode.level < 5\"\r\n          >缩进</div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"tabClick1(selectedNode, selectedData)\"\r\n            v-if=\"selectedNode.level > 1 && selectedNode.label\"\r\n          >\r\n            减少缩进\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"copy(selectedNode, selectedData, $event)\"\r\n          >\r\n            复制({{ isMac ? \"cmd+c\" : \"ctrl+c\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"paste(selectedNode, selectedData, $event)\"\r\n          >\r\n            粘贴({{ isMac ? \"cmd+v\" : \"ctrl+v\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"cut(selectedNode, selectedData, $event)\"\r\n          >\r\n            剪切({{ isMac ? \"cmd+x\" : \"ctrl+x\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"insertNewline($event, selectedData.id)\"\r\n          >\r\n            换行({{ isMac ? \"cmd+enter\" : \"ctrl+enter\" }})\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div ref=\"box\" class=\"tree-box\" :id=\"treeId\">\r\n        <Tree\r\n          ref=\"tree\"\r\n          :data=\"datas\"\r\n          node-key=\"id\"\r\n          default-expand-all\r\n          :expand-on-click-node=\"false\"\r\n          @node-drag-start=\"handleDragStart\"\r\n          @node-drag-enter=\"handleDragEnter\"\r\n          @node-drag-leave=\"handleDragLeave\"\r\n          @node-drag-over=\"handleDragOver\"\r\n          @node-drag-end=\"handleDragEnd\"\r\n          @node-drop=\"handleDrop\"\r\n          @node-expand=\"nodeExpand\"\r\n          @node-collapse=\"nodeCollapse\"\r\n          :draggable=\"this.isEditing ? false : true\"\r\n          :allow-drop=\"allowDrop\"\r\n          :allow-drag=\"allowDrag\"\r\n          :filter-node-method=\"filterNode\"\r\n          :props=\"{ label: 'name', node: 'node', children: 'children' }\"\r\n          :empty-text=\"''\"\r\n          :is-last-drag-fixed=\"true\"\r\n        >\r\n          <div\r\n            class=\"custom-tree-node\"\r\n            slot-scope=\"{ node, data }\"\r\n            :class=\"[\r\n              !data.isAdd && data.isAddTheme ? 'theme' : ''\r\n            ]\"\r\n            :id=\"data.id\"\r\n            :ref=\"'treeNode' + data.id\"\r\n          >\r\n            <!--子主题输入框-->\r\n            <div>\r\n              <div class=\"add-input 1\"\r\n              v-if=\"data.isAdd && !data.isAddTheme\"\r\n              @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n              @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'subtitle' + data.id\"\r\n                  :id=\"'subtitle' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @keyup.esc.native=\"saveSubTitle\"\r\n                  @blur=\"triggerBlur('saveSubTitle')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n\r\n              <!--主题输入框-->\r\n              <div\r\n                class=\"add-input addtheme\"\r\n                v-else-if=\"data.isAdd && data.isAddTheme\"\r\n                @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n                @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'title' + data.id\"\r\n                  :id=\"'title' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @keyup.esc.native=\"saveTitle\"\r\n                  @blur=\"triggerBlur('saveTitle')\"\r\n                  style=\"min-height: 30px !important\"\r\n\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <div\r\n                class=\"add-input 2 addthemebtn\"\r\n                v-else-if=\"!data.isAdd && data.isAddTheme\"\r\n              >\r\n                <div class=\"btn bg-transparent\" @click=\"addTheme\">\r\n                  <i class=\"el-icon-plus\"></i>添加主题\r\n                </div>\r\n                <!-- <el-button class=\"bg-transparent\" @click=\"addTheme\"\r\n                  ><i class=\"el-icon-plus\"></i\r\n                  >添加主题</el-button\r\n                > -->\r\n              </div>\r\n\r\n              <div\r\n                class=\"add-input 3\"\r\n                v-else-if=\"selectedData && selectedData.isEdit && selectedData.id === data.id\"\r\n                @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n                @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n              <!-- @touchend=\"triggerClickEvent(node, data, $event, 'touchstart')\" -->\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'edittextarea' + data.id\"\r\n                  :id=\"'edittextarea' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @keyup.esc.native=\"editNode()\"\r\n                  @blur=\"triggerBlur('editNode')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <!-- Item同级 文字 -->\r\n              <div class=\"add-input 4\"\r\n              v-else-if=\"data.isAddEquative\"\r\n              @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n              @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'equativetitle' + data.id\"\r\n                  :id=\"'equativetitle' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @keyup.esc.native=\"saveEquative\"\r\n                  @blur=\"triggerBlur('saveEquative')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <!-- Item 编辑 文字-->\r\n              <div\r\n              class=\"content selectedData\"\r\n              v-else-if=\"data.id && selectedData && selectedData.id === data.id && !operating.isOperating\"\r\n              @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n              @click=\"triggerClickEvent(node, data, $event, 'click', 2)\"\r\n            >\r\n            <!-- @touchend=\"triggerClickEvent(node, data, $event, 'touchstart')\" -->\r\n              <div\r\n                class=\"node-content unselectable\"\r\n                :class=\"'textarea' + data.id\"\r\n                :ref=\"'textarea' + data.id\"\r\n              >\r\n                <pre>{{node.label}}</pre>\r\n              </div>\r\n            </div>\r\n              <div\r\n                v-else\r\n                class=\"content\"\r\n                @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n                @click=\"triggerClickEvent(node, data, $event, 'click', 1)\"\r\n              >\r\n              <!-- @touchend=\"triggerClickEvent(node, data, $event, 'touchstart')\" -->\r\n                <div\r\n                  class=\"node-content unselectable\"\r\n                  :class=\"'textarea' + data.id\"\r\n                  :ref=\"'textarea' + data.id\"\r\n                >\r\n                  <pre>{{node.label}}</pre>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Tree>\r\n      </div>\r\n      <el-dialog\r\n        class=\"con_dialog\"\r\n        :visible.sync=\"dialogVisibleCon\"\r\n        :modal=\"true\"\r\n        :close-on-click-modal=\"false\"\r\n        :destroy-on-close=\"true\"\r\n        :append-to-body=\"true\"\r\n        center\r\n        top=\"0vh\"\r\n        :before-close=\"handleClose\"\r\n      >\r\n        <div class=\"del_confirm\">您还有未保存的内容，请问是否保存？</div>\r\n        <span slot=\"footer\" class=\"dialog-footer\">\r\n          <el-button @click=\"submitCon(2)\">不保存</el-button>\r\n          <el-button class=\"comfirm-btn\" @click=\"submitCon(1)\">保存</el-button>\r\n        </span>\r\n      </el-dialog>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { deepClone, throttle, getIsMobile,setFullHeight } from \"@/utils/util\";\r\nimport Tree from '@/components/tree/src/tree';\r\n\r\nlet id = \"id\" + uuidv4();\r\nexport default {\r\n  components: {Tree},\r\n  props: {\r\n    dataPro: {\r\n      type: Array,\r\n      default: () => {\r\n        return [];\r\n      },\r\n    },\r\n    editOutline: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    },\r\n    mindMap: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      },\r\n    },\r\n    isSaveMindMap: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    },\r\n    paramsPro: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    type: {\r\n      type: Number,\r\n      default: 2, // 2:引导节点 1：推荐推荐\r\n    },\r\n    myMindOutlineId: {\r\n      type: String,\r\n      default: () => {\r\n        return \"myMindOutline\";\r\n      }\r\n    },\r\n    treeId: {\r\n      type: String,\r\n      default: () => {\r\n        return \"treeId\";\r\n      }\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    isBindEventBus: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      isEditing: false, //是否在编辑中\r\n      clickCount: {},\r\n      isMobile: getIsMobile(),\r\n      isToolsEventing: false, // 操作栏点击时为true, 500ms后变为false\r\n      datas: [],\r\n      node: null,\r\n      selectedData: {},\r\n      selectedDom: {},\r\n      selectedNode: {},\r\n      editingData: {},\r\n      content: \"\",\r\n      course_name: \"\",\r\n      newChild: {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 1,\r\n        isAdd: false,\r\n        isAddTheme: true\r\n      },\r\n      operating: {\r\n        isOperating: false,\r\n        operate: null // 1:添加主题 2、编辑 3、添加子主题 4、添加同级\r\n      },\r\n      isEdited: false,\r\n      dialogVisibleCon: false,\r\n      whiteCom: \"\",\r\n      timer: null, // 自动保存定时器\r\n      timeCount: window.location.href.indexOf('aaaaaaaaaa=1') >= 0 ? 30000 : 120000,  // 自动保存时间间隔\r\n      nodeCollapseData: {},\r\n      expandedKeys: [],\r\n      unExpandedKeys: [],\r\n      timeout: null,\r\n      isEditOperating: false,\r\n      // 键盘\r\n      arrKey: [],\r\n      keydown: \"\",\r\n      copyText: \"\",\r\n      removeNodes: [],\r\n      pressTs: 0,\r\n      isLocalStorageSave: false,\r\n      paramsIframe: encodeURIComponent(\r\n        \"course_isuseradd=2&params=AdS1aJPK3vfBfSes+1maMAN0OovUX12u8jFGCyBZYK0ACZdydiQLDCTSFs4htNfbJTMQIp4vERbMHUYwIwgNqEK4JU+v35zugtS8oXt4XppsKV9OWU+28mcsrKNCu61cicQTBMl/LXTGQjP0z1tecn27a1yx2LtCeTkhF2plWiomyKhtkGihbiAp8elz/Gqij/crtScNr6RLV7h4cXeIbDhkFN2Bt64T6GZJgu/9snSl4MUVKXM36/mws7TuauYQQmT7exCbhar10vosMknlN689aMmOy53Mp6DHok2PeyJrMbWMQ6NAMZH1El6cSEGM5C4NKvCg8HlxwGdTaybqAQ\"\r\n      ),\r\n      // paramsIframe: encodeURIComponent(\r\n      //   \"course_isuseradd=3&params=kCnu/YRx1sgWF99Ahqs7lLNgX2MKy2b5+MJCDROVBXJE8pBlR+L36deHs97sK3JY0p3kawLedUL9pJNePt5qr/OZ/+OQ//6Bhbtvw0xHBR7lS9Jxi3oQGuxJgY/X5Gpm6hMdHEEv4QqNmj+YdsvtRCxmq3X4PFWLkVPATGRUh3SweohNFG7vpVR27iDyL6BFAylSuHlP1X3gP5uX6YhfiXISxKwFcDTcev0cGmmBrpfpkS/1ULbK6Xd9TOOovjIHMyN7uPYkIvZNj+Ko4ErKcZXe5RBWQYJAxZHLd/TGIMWAFyE+43D6zHKjpFCuo4Ok5bj364I148QvnJw6jkmqgQ\"\r\n      // )\r\n    };\r\n  },\r\n  computed: {\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    user() {\r\n      let user = this.$store.getters.user;\r\n      if (user) {\r\n        return JSON.parse(user);\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    // mindMap() {\r\n    //   let mindMap = this.$store.getters.mindMap;\r\n    //   if (mindMap) {\r\n    //     if (typeof mindMap === \"string\") {\r\n    //       return JSON.parse(mindMap);\r\n    //     } else {\r\n    //       return mindMap;\r\n    //     }\r\n    //   } else {\r\n    //     return null;\r\n    //   }\r\n    // },\r\n    user() {\r\n      if (typeof this.$store.getters.user === \"string\") {\r\n        return JSON.parse(this.$store.getters.user);\r\n      } else {\r\n        return this.$store.getters.user;\r\n      }\r\n    },\r\n    isMac() {\r\n      return this.$store.getters.isMac;\r\n    }\r\n  },\r\n  watch: {\r\n    paramsPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.selectedData = {};\r\n        this.editingData = {};\r\n        this.isEditing = false;\r\n        this.isLocalStorageSave = false;\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      }\r\n    },\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"dataPro: init:\")\r\n        this.setSaveTimeout();\r\n        if(!this.isLocalStorageSave) {\r\n          this.init();\r\n        }\r\n      }\r\n    },\r\n    editOutline: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.mindMapTimeStampValue = this.mindMapTimeStamp();\r\n          // 新增添加主题节点\r\n          this.datas = this.addButtonData(this.datas);\r\n          this.setSaveTimeout();\r\n          this.showLayer = false;\r\n        } else {\r\n          this.clearTimeout();\r\n          this.datas = this.removeButtonData(this.datas);\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    mindMapTimeStamp() {\r\n      let mindMapTimeStamp = this.$store.getters.mindMapTimeStamp || (+new Date());\r\n      return mindMapTimeStamp + 10;\r\n    },\r\n    addButtonData(data) {\r\n      const newData = [];\r\n      let isButtonData = false;\r\n      (data || []).forEach(item => {\r\n        newData.push(item);\r\n        if(item.isAddTheme && !item.isAdd) {\r\n          isButtonData = true;\r\n        }\r\n      })\r\n\r\n      if(!isButtonData) {\r\n        newData.push(this.newChild);\r\n      }\r\n      return newData;\r\n    },\r\n    removeButtonData(data) {\r\n      const newData = [];\r\n      (data || []).forEach(item => {\r\n        if(!(item.isAddTheme && !item.isAdd)) {\r\n          newData.push(item)\r\n        }\r\n      })\r\n      return newData;\r\n    },\r\n    handleClose() {\r\n      this.submitCon(2);\r\n    },\r\n    triggerBlur(fnName) {\r\n      console.log(\"triggerBlur\");\r\n      if(this.isToolsEventing) {\r\n        return;\r\n      }\r\n      this.isEditing = false;\r\n      console.log(\"this.isLocalStorageSave = false;\");\r\n      this.isLocalStorageSave = false;\r\n      this[fnName]();\r\n    },\r\n    setToolsEventing() {\r\n      if(this.selectedDom && this.selectedDom.target) {\r\n        this.selectedDom.target.focus();\r\n      }\r\n      this.isToolsEventing = true;\r\n      this.setTimeoutValueTools = setTimeout(() => {\r\n        this.isToolsEventing = false;\r\n      }, 1000)\r\n    },\r\n    triggerTouchend(node, data, $event) {\r\n      if (this.pressTs && Date.now() - this.pressTs >= 500) {\r\n\r\n      } else {\r\n\r\n      }\r\n      this.pressTs = 0;\r\n    },\r\n    // 移动端触发“选中Item”+“显示操作栏”。pc端触发“选中Item”\r\n    triggerClickEvent(node, data, $event, eventName, type) {\r\n      this.disibledDocumentClick();\r\n      // $event.stopPropagation();\r\n      // $event.preventDefault();\r\n      //data.isShowOp = false;\r\n      if(type === 1) {\r\n        data.isEdit = false;\r\n      }\r\n      if(type == 1 && !this.isLocalStorageSave) {\r\n        this.selectedData = {};\r\n      }\r\n\r\n      // 如果已经选中，则再点击一次就修改成编辑状态\r\n      if (this.selectedData && this.selectedData.id === data.id && type === 2) {\r\n        this.edit(node, data);\r\n        this.isEditing = 'editNode';\r\n        this.editingData = data;\r\n        return;\r\n      }\r\n\r\n\r\n      // 移动端触发“选中Item”+“显示操作栏”\r\n      if(this.isMobile) {\r\n        this.showOperates(node, data, $event, true);\r\n      }\r\n      // pc端触发“选中Item”\r\n      else if(type === 1){\r\n        this.chooseNode(node, data);\r\n      }\r\n    },\r\n    // 是否可编辑\r\n    getEditOutline() {\r\n      if (!this.editOutline) {\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    //获取textarea中选中的内容\r\n    getSelectText(data) {\r\n      const id = data.id;\r\n      let t = null;\r\n      t = this.getInputElement((id || this.selectedData.id));\r\n      if (window.getSelection) {\r\n        if (t.selectionStart != undefined && t.selectionEnd != undefined) {\r\n          return t.value.substring(t.selectionStart, t.selectionEnd);\r\n        } else {\r\n          return \"\";\r\n        }\r\n      } else {\r\n        return document.selection.createRange().text;\r\n      }\r\n    },\r\n    copy(node, data, e) {\r\n      this.setToolsEventing()\r\n\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if (!data.id) {\r\n        return;\r\n      }\r\n      let txt = this.getSelectText(data);\r\n      if (txt) {\r\n        this.copyText = txt;\r\n      } else {\r\n        this.copyText = data.name;\r\n      }\r\n      let isSuccess = false;\r\n      try {\r\n        navigator.clipboard.writeText(this.copyText);\r\n        isSuccess = true;\r\n      } catch (error) {\r\n        console.log(error)\r\n        //isSuccess = this.copyTextToClipboard(this.copyText, 'copy');\r\n      }\r\n      if(isSuccess) {\r\n        this.$message({\r\n          type: \"success\",\r\n          message: \"复制成功\"\r\n        });\r\n      }\r\n\r\n    },\r\n    copyTextToClipboard(text, type) {\r\n      var textArea = document.createElement(\"textarea\");\r\n\r\n      // 隐藏文本域\r\n      textArea.style.position = 'fixed';\r\n      textArea.style.top = '0';\r\n      textArea.style.left = '0';\r\n      textArea.style.width = '2em';\r\n      textArea.style.height = '2em';\r\n      textArea.style.padding = '0';\r\n      textArea.style.border = 'none';\r\n      textArea.style.outline = 'none';\r\n      textArea.style.boxShadow = 'none';\r\n      textArea.style.background = 'transparent';\r\n      textArea.value = text;\r\n      document.body.appendChild(textArea);\r\n\r\n      let isSuccess = false\r\n      try {\r\n        if(type === 'copy') {\r\n          textArea.select();\r\n          document.execCommand('copy');\r\n          isSuccess = true;\r\n        }\r\n        else if(type === 'paste') {\r\n          textArea.focus();\r\n          document.execCommand('paste');\r\n          isSuccess = textArea.value;\r\n        }\r\n\r\n      } catch (err) {\r\n\r\n      }\r\n\r\n      document.body.removeChild(textArea);\r\n      return isSuccess;\r\n    },\r\n    copy1(node, data, e) {\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"复制成功\"\r\n      });\r\n    },\r\n    async paste(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      this.setToolsEventing()\r\n      let text = '';\r\n      try {\r\n        text = await navigator.clipboard.readText();\r\n      } catch (error) {\r\n\r\n      }\r\n\r\n      if (!data.id || !text) {\r\n        return;\r\n      }\r\n\r\n      let inputElement = null;\r\n      if (document.getElementById(\"subtitle\" + data.id)) {\r\n        inputElement = document.getElementById(\"subtitle\" + data.id);\r\n      } else if (document.getElementById(\"title\" + data.id)) {\r\n        inputElement = document.getElementById(\"title\" + data.id);\r\n      } else if (document.getElementById(\"edittextarea\" + data.id)) {\r\n        inputElement = document.getElementById(\"edittextarea\" + data.id);\r\n      } else if (document.getElementById(\"equativetitle\" + data.id)) {\r\n        inputElement = document.getElementById(\"equativetitle\" + data.id);\r\n      }\r\n\r\n      if (!inputElement) {\r\n        return;\r\n      }\r\n\r\n      const start = inputElement.selectionStart;\r\n      const end = inputElement.selectionEnd;\r\n      const value = this.content;\r\n\r\n      // // 在光标位置插入换行符\r\n      // this.content += \"\\n\";\r\n      // 在光标位置插入换行符\r\n      this.content = value.substring(0, start) + text + value.substring(end);\r\n      setTimeout(() => {\r\n        const start1 = inputElement.selectionStart;\r\n        const end1 = inputElement.selectionEnd;\r\n        // 将光标移到新的换行位置\r\n        // 调整光标位置\r\n        const newSelectionStart = start + text.length;\r\n        inputElement.selectionStart = inputElement.selectionEnd = newSelectionStart;\r\n      });\r\n    },\r\n\r\n    cut(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n      }\r\n      if (!data.id) {\r\n        return;\r\n      }\r\n      this.setToolsEventing();\r\n      let txt = this.getSelectText(data);\r\n      if (txt) {\r\n        this.copyText = txt;\r\n      } else {\r\n        this.copyText = data.name;\r\n      }\r\n\r\n      let isSuccess = false;\r\n      try {\r\n        navigator.clipboard.writeText(this.copyText);\r\n        isSuccess = true;\r\n      } catch (error) {\r\n        //isSuccess = this.copyTextToClipboard(this.copyText, 'copy');\r\n      }\r\n\r\n      if(isSuccess) {\r\n        this.content = this.content.replace(this.copyText, \"\");\r\n        this.$message({\r\n          type: \"success\",\r\n          message: \"剪切成功\"\r\n        });\r\n      }\r\n\r\n    },\r\n    // 保留服务端，清空定时器\r\n    resetTimeout() {\r\n      this.isEdited = false;\r\n      console.log(\"isEdited:\", this.isEdited);\r\n      this.clearTimeout();\r\n    },\r\n    clearTimeout() {\r\n      if (this.timer) {\r\n        clearTimeout(this.timer);\r\n        this.timer = null;\r\n      }\r\n    },\r\n    setSaveTimeout() {\r\n      if (this.timer) {\r\n        clearTimeout(this.timer);\r\n        this.timer = null;\r\n      }\r\n      if(!this.editOutline) {\r\n        return;\r\n      }\r\n      this.timer = setTimeout(() => {\r\n        // 每隔2分钟检查本地时间戳与服务器端时间戳是否相同。如果相同，则终止定时机制；如果不同，则进行一次自动提交数据到本地\r\n        this.submitCon(1, true);\r\n        this.setSaveTimeout();\r\n        clearTimeout(this.timer);\r\n        this.timer = null;\r\n      }, this.timeCount);\r\n    },\r\n    findIsEditTrueNodes(data, isAddNewNode) {\r\n      const result = [];\r\n      const that = this;\r\n      let flag = false;\r\n      function traverse(node) {\r\n        if (Array.isArray(node)) {\r\n          // 如果当前节点是数组，遍历数组中的每个元素\r\n          for (let i = 0; i < node.length; i++) {\r\n            const nd = node[i];\r\n            // 如果当前节点是对象，检查是否有 isEdit 属性\r\n            if (nd.id === that.editingData.id) {\r\n              nd.name = that.content;\r\n              if(nd.isAdd != undefined) {\r\n                delete nd.isAdd;\r\n              }\r\n              if(nd.isAddTheme!= undefined) {\r\n                delete nd.isAddTheme;\r\n              }\r\n              if(nd.isAddEquative != undefined && isAddNewNode) {\r\n                delete nd.isAddEquative;\r\n              }\r\n            }\r\n            traverse(nd.children);\r\n          }\r\n        } else if (typeof node === 'object' && node !== null) {\r\n          // 如果当前节点是对象，检查是否有 isEdit 属性\r\n          if (node.id === that.editingData.id) {\r\n            flag = true;\r\n            node.name = that.content;\r\n            if(node.isAdd != undefined) {\r\n              delete node.isAdd;\r\n            }\r\n            if(node.isAddTheme!= undefined) {\r\n              delete node.isAddTheme;\r\n            }\r\n            if(node.isAddEquative != undefined && isAddNewNode) {\r\n              delete node.isAddEquative;\r\n            }\r\n          }\r\n          // 继续遍历对象的每个属性\r\n          for (let key in node) {\r\n            if (node.hasOwnProperty(key) && key == 'node') {\r\n              traverse(node[key]);\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      traverse(data);\r\n      return data;\r\n    },\r\n    async saveMindMap() {\r\n      let mindMap = {};\r\n      if (this.mindMap && typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else if (this.mindMap) {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n\r\n      console.log(\"saveMindMap:::\", this.datas);\r\n\r\n      let newData = [];\r\n      if(!this.isLocalStorageSave) {\r\n        newData = this.removeButtonData(this.datas);\r\n      } else {\r\n        // 自动保存的，递归需要找到正在编辑的节点，替换成编辑的数据\r\n        const datas = deepClone(this.datas);\r\n        const editDatas = await this.findIsEditTrueNodes(datas);\r\n        console.log(\"removeButtonData:\", editDatas);\r\n        newData = this.removeButtonData(editDatas);\r\n      }\r\n      this.toParse(newData);\r\n      this.datas = await this.findIsEditTrueNodes(this.datas);\r\n\r\n      console.log(\"toParse:::\", newData);\r\n      mindMap.mindmap_content = JSON.stringify(newData);\r\n      if (this.type == 2) {\r\n        mindMap.course_default_studythink = JSON.stringify(newData);\r\n        // 引导思维节点\r\n        this.$store.dispatch(\"setMindMapGuide\", {\r\n          data: mindMap.course_default_studythink,\r\n          isEdited: this.isEdited,\r\n          course_id: this.paramsPro,\r\n        });\r\n      } else {\r\n        mindMap.course_recommend_studythink = JSON.stringify(newData);\r\n        this.$store.dispatch(\"setMindMapOfficial\", {\r\n          data: mindMap.course_recommend_studythink,\r\n          isEdited: this.isEdited,\r\n          course_id: this.paramsPro,\r\n        });\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    init() {\r\n      if (this.dataPro) {\r\n        let data = deepClone(this.dataPro);\r\n        console.log(\"initgvffsdhhhdfg:\", data);\r\n        this.datas = this.toParse1(data);\r\n        this.$nextTick(() => {\r\n          this.$refs && this.$refs.tree && this.$refs.tree.filter(2);\r\n        });\r\n      } else {\r\n        this.datas = [];\r\n      }\r\n\r\n      if(this.editOutline) {\r\n        this.datas = this.addButtonData(this.datas);\r\n      }\r\n      this.setSaveTimeout();\r\n      console.log('--init', this.datas, this.dataPro);\r\n      console.log(\"init isEdited:\", this.isEdited);\r\n      // this.isEdited = false;\r\n    },\r\n    submitCon(type, isLocalStorageSave) {\r\n      this.isLocalStorageSave = isLocalStorageSave;\r\n      this.dialogVisibleCon = false;\r\n\r\n      this.triggerSaveInput(() => {\r\n        this.submitCon1(type, isLocalStorageSave);\r\n      })\r\n    },\r\n    submitCon1(type, isLocalStorageSave) {\r\n      if (type === 2) {\r\n        // 不保存\r\n        if (this.type == 2) {\r\n          // 引导思维节点\r\n          this.$store.dispatch(\"setMindMapGuide\", {\r\n            data: JSON.stringify(mindMap.course_default_studythink),\r\n            isEdited: this.isEdited,\r\n            course_id: this.paramsPro,\r\n          });\r\n        } else {\r\n          this.$store.dispatch(\"setMindMapOfficial\", {\r\n            data: JSON.stringify(mindMap.course_recommend_studythink),\r\n            isEdited: this.isEdited,\r\n            course_id: this.paramsPro,\r\n          });\r\n        }\r\n        // this.$store.dispatch(\"setMindMap\", {\r\n        //   data: {\r\n        //     ...(JSON.parse(JSON.stringify(this.mindMap)))\r\n        //   },\r\n        //   isEdited: false,\r\n        //   timeStamp: this.mindMapTimeStamp,\r\n        //   mindMapTimeStamp: this.mindMapTimeStamp,\r\n        // });\r\n        this.$emit(\"doNotSave\");\r\n      } else {\r\n        // 保存\r\n        this.saveMindMap().then(() => {\r\n          this.$emit(\"saveMindMap\", false);\r\n        });\r\n      }\r\n      this.isEdited = false;\r\n    },\r\n    setFilterNode1(node, data) {\r\n      this.setFilterNode(node, data);\r\n      let childNodes = node.childNodes;\r\n      childNodes.forEach(item => {\r\n        this.setFilterNode1(item, item.data);\r\n      });\r\n    },\r\n    tabClick1(node, data) {\r\n      this.setToolsEventing()\r\n\r\n      const parent = this.node.parent;\r\n      const prevParent = parent.parent;\r\n      if (prevParent) {\r\n        // 删除节点\r\n        this.$refs.tree.remove(this.node);\r\n        // 为 Tree 的一个节点的后面增加一个节点\r\n        this.$refs.tree.insertAfter(this.selectedData, parent);\r\n\r\n        // 为 Tree 中prevNode节点追加一个子节点\r\n        // this.$refs.tree.append(data, prevParent);\r\n\r\n        this.$nextTick(() => {\r\n          // this.$refs.tree.filter(2);\r\n          // let nowParent = parent.parent;\r\n          let timeout1 = null;\r\n          let timeout2 = null;\r\n          let timeout3 = null;\r\n          let timeout4 = null;\r\n          // 之前的父节点需要重置样式\r\n          timeout1 = setTimeout(() => {\r\n            this.setFilterNode(parent, parent.data);\r\n            // let childNodes = parent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout1);\r\n          });\r\n          // 现在的父节点需要重置样式\r\n          timeout2 = setTimeout(() => {\r\n            this.setFilterNode(prevParent, prevParent.data);\r\n            // let childNodes = prevParent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout2);\r\n          });\r\n          // 当前节点需要重置样式\r\n          let selectedNode = this.$refs.tree.getNode(data.id);\r\n          timeout3 = setTimeout(() => {\r\n            this.setFilterNode(selectedNode, selectedNode.data);\r\n            clearTimeout(timeout3);\r\n          });\r\n          // 子节点遍历重置样式\r\n          timeout4 = setTimeout(() => {\r\n            let childNodes = selectedNode.childNodes;\r\n            childNodes.forEach(item => {\r\n              this.setFilterNode1(item, item.data);\r\n            });\r\n            clearTimeout(timeout4);\r\n            this.selectedData = {};\r\n          });\r\n\r\n          //保存到本地\r\n          this.saveMindMap();\r\n          this.hideOperates1();\r\n        });\r\n      }\r\n    },\r\n    tabClick(node, data) {\r\n      this.setToolsEventing()\r\n\r\n      const parent = this.node.parent;\r\n      const children = parent.data.children || parent.data;\r\n      const index = children.findIndex(d => d.id === this.selectedData.id);\r\n      // 如果是第0个元素，则执行tab默认事件\r\n      if (index > 0) {\r\n        let prevIndex = index - 1;\r\n        let prevNode = parent.childNodes[prevIndex];\r\n        // // 删除节点\r\n        this.$refs.tree.remove(this.node);\r\n        // 为 Tree 中prevNode节点追加一个子节点\r\n        this.$refs.tree.append(this.selectedData, prevNode);\r\n\r\n        this.$nextTick(() => {\r\n          // this.$refs.tree.filter(2);\r\n          // let nowParent = this.node.parent;\r\n          let timeout1 = null;\r\n          let timeout2 = null;\r\n          let timeout3 = null;\r\n          let timeout4 = null;\r\n          // 之前的父节点需要重置样式\r\n          timeout1 = setTimeout(() => {\r\n            this.setFilterNode(parent, parent.data);\r\n            // let childNodes = parent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout1);\r\n          });\r\n          // 现在的父节点需要重置样式\r\n          timeout2 = setTimeout(() => {\r\n            this.setFilterNode(prevNode, prevNode.data);\r\n            // let childNodes = prevParent.childNodes;\r\n            // childNodes.forEach((item) => {\r\n            //   this.setFilterNode1(item, item.data);\r\n            // });\r\n            clearTimeout(timeout2);\r\n          });\r\n          // 当前节点需要重置样式\r\n          let selectedNode = this.$refs.tree.getNode(data.id);\r\n          timeout3 = setTimeout(() => {\r\n            this.setFilterNode(selectedNode, selectedNode.data);\r\n            clearTimeout(timeout3);\r\n          });\r\n          // 子节点遍历重置样式\r\n          timeout4 = setTimeout(() => {\r\n            let childNodes = selectedNode.childNodes;\r\n            childNodes.forEach(item => {\r\n              this.setFilterNode1(item, item.data);\r\n            });\r\n            clearTimeout(timeout4);\r\n            this.selectedData = {};\r\n          });\r\n\r\n          //保存到本地\r\n          this.saveMindMap();\r\n\r\n          this.hideOperates1();\r\n        });\r\n      }\r\n    },\r\n    hideOperates() {\r\n      this.hideOperates1();\r\n    },\r\n    hideOperates1() {\r\n      this.$set(this.selectedData, \"isShowOp\", false);\r\n      if(!this.isLocalStorageSave) {\r\n        this.selectedData = {};\r\n      }\r\n    },\r\n    setCurrentNode(data, from) {\r\n      this.node = this.$refs.tree.getNode(data.id);\r\n      console.log('--------setCurrentNode',from, this.node, data);\r\n      return this.node;\r\n    },\r\n    // 显示操作栏\r\n    showOperates(node, data, $event, isEditOperating) {\r\n      let editOutline = this.getEditOutline();\r\n      // 不可编辑\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n\r\n      this.isEditOperating = isEditOperating;\r\n      this.showOperates1(data, node, $event, isEditOperating);\r\n    },\r\n    showOperates1(data, node, $event, isEditOperating) {\r\n      node = this.setCurrentNode(data, '出现操作栏：showOperates1');\r\n      this.selectedData = data;\r\n      this.selectedNode = node || {};\r\n      this.$set(\r\n        this.selectedData,\r\n        \"class\",\r\n        this.selectedData.class + \" s\" + this.selectedData.class\r\n      );\r\n      this.$set(data, \"isShowOp\", false);\r\n\r\n      const parent = node.parent;\r\n      const children = parent.data.children || parent.data;\r\n      const index = children.findIndex(d => d.id === this.selectedData.id);\r\n\r\n      // 如果是第0个元素且不是第一层级，则不显示缩进、显示减少缩进\r\n      if (index === 0 && node.level > 1) {\r\n        this.$set(data, \"hidetab\", true);\r\n        this.$set(data, \"hidetabReduce\", false);\r\n      } else if (node.level === 1 && index === 0) {\r\n        // 如果是是第一层级且是第一个元素，则不显示缩进、不显示减少缩进\r\n        this.$set(data, \"hidetab\", true);\r\n        this.$set(data, \"hidetabReduce\", true);\r\n      } else if (node.level === 1 && index > 0) {\r\n        // 如果是是第一层级，则显示缩进、不显示减少缩进\r\n        this.$set(data, \"hidetab\", false);\r\n        this.$set(data, \"hidetabReduce\", true);\r\n      } else {\r\n        this.$set(data, \"hidetab\", false);\r\n        this.$set(data, \"hidetabReduce\", false);\r\n      }\r\n      // 设置index,isShowOp用于模板中显示逻辑\r\n      this.$nextTick(() => {\r\n        this.$set(data, \"$index\", index);\r\n        this.$set(data, \"isShowOp\", true);\r\n\r\n        // 操作栏位置\r\n        this.selectedDom = {\r\n          target: $event.target,\r\n          data: data,\r\n        };\r\n        this.setSelectedBoxPosition();\r\n        //if($event.target && $event.target.nodeName === 'TEXTAREA') {\r\n          //$event.target.selectionStart\r\n          // const value = $event.target.value;\r\n          // $event.target.value = '';\r\n          // $event.target.focus();\r\n          // $event.target.value = value;\r\n        //}\r\n      });\r\n\r\n      if(this.setTimeValue) {\r\n        clearTimeout(this.setTimeValue);\r\n        this.setTimeValue = null;\r\n      }\r\n    },\r\n    // 单击选中\r\n    chooseNode(node, data, type) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        this.selectedData = {};\r\n        return;\r\n      }\r\n\r\n      this.triggerSaveInput(() => {\r\n        this.chooseNode1(node, data);\r\n      })\r\n\r\n    },\r\n    chooseNode1(node, data) {\r\n      if(!(data && data.id)) {\r\n        return;\r\n      }\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = 5;\r\n      this.setCurrentNode(data, '选中：chooseNode1');\r\n      this.selectedData = data;\r\n    },\r\n    // 双击修改\r\n    edit(node1, data) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      if (!this.selectedData) {\r\n        return;\r\n      }\r\n      console.log(\"this.isLocalStorageSave = true;\");\r\n      this.isLocalStorageSave = true;\r\n\r\n      this.edit1(node1, data);\r\n    },\r\n    async edit1(node1, data) {\r\n      await this.triggerSaveInput(() => {});\r\n      this.hideOperates1();\r\n      this.selectedData = data;\r\n      this.content = this.selectedData.name;\r\n      this.$set(this.selectedData, \"isEdit\", true);\r\n      this.setCurrentNode(data, \"进入编辑：edit1\");\r\n      this.$nextTick(() => {\r\n        const el = this.$refs[\"edittextarea\" + this.selectedData.id];\r\n        if (el && el.$refs.textarea) {\r\n          const value = el.$refs.textarea.value;\r\n          el.$refs.textarea.value = '';\r\n          el.$refs.textarea.focus();\r\n          el.$refs.textarea.value = value;\r\n        }\r\n      })\r\n    },\r\n\r\n    // 修改节点\r\n    editNode(e) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      // if(!this.selectedData) {\r\n      //   return;\r\n      // }\r\n      // // 如果是在编辑状态下显示菜单则隐藏\r\n      // if (this.isEditOperating) {\r\n      //   this.$set(this.selectedData, \"isShowOp\", false);\r\n      // }\r\n      // if (this.selectedData && this.selectedData.isEdit) {\r\n      //   this.$set(this.selectedData, \"isEdit\", false);\r\n      // }\r\n\r\n      this.updateTreeNode('更新编辑的内容');\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 添加主题\r\n    addTheme(e) {\r\n      this.addTreeNode('addTheme');\r\n    },\r\n\r\n    getInputElement(inputId) {\r\n      let inputElement = null;\r\n      if (document.getElementById(\"subtitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"subtitle\" + inputId);\r\n      } else if (document.getElementById(\"title\" + inputId)) {\r\n        inputElement = document.getElementById(\"title\" + inputId);\r\n      } else if (document.getElementById(\"edittextarea\" + inputId)) {\r\n        inputElement = document.getElementById(\"edittextarea\" + inputId);\r\n      } else if (document.getElementById(\"equativetitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"equativetitle\" + inputId);\r\n      }\r\n      return inputElement;\r\n    },\r\n    // 换行\r\n    insertNewline(e, inputId) {\r\n      if (e) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n      }\r\n\r\n      this.setToolsEventing();\r\n      // this.$refs[\"title\" + id].$refs.textarea.focus();\r\n      // const inputElement = this.$refs[\"title\" + id].$refs.textarea;\r\n      let inputElement = this.getInputElement(inputId);\r\n      console.log('insertNewline: 换行', inputElement);\r\n      if (!inputElement) {\r\n        return;\r\n      }\r\n\r\n      const start = inputElement.selectionStart;\r\n      const end = inputElement.selectionEnd;\r\n      const value = this.content;\r\n\r\n      // // 在光标位置插入换行符\r\n      // this.content += \"\\n\";\r\n      // 在光标位置插入换行符\r\n      this.content = value.substring(0, start) + \"\\n\" + value.substring(end);\r\n      this.$nextTick(() => {\r\n        // 将光标移到新的换行位置\r\n        inputElement.selectionStart = inputElement.selectionEnd = start + 1;\r\n      });\r\n    },\r\n    // 添加主题保存\r\n    saveTitle(e) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n\r\n      this.updateTreeNode('更新主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n\r\n    triggerSaveInput(callBack) {\r\n      console.log('--triggerSaveInput', this.isEditing,  this.isLocalStorageSave);\r\n      // 添加主题\r\n      if (this.isEditing === 'saveTitle') {\r\n        this.saveTitle().then(() => {\r\n          callBack()\r\n        });\r\n      }\r\n      // 编辑后\r\n      else if (this.isEditing === 'editNode') {\r\n        this.editNode().then(() => {\r\n          callBack()\r\n        });\r\n      }\r\n      // 添加子主题\r\n      else if (this.isEditing === 'saveSubTitle') {\r\n        this.saveSubTitle().then(() => {\r\n          callBack()\r\n        });\r\n      }\r\n      // 添加同级主题\r\n      else if (this.isEditing === 'saveEquative') {\r\n        this.saveEquative().then(() => {\r\n          callBack()\r\n        });\r\n      } else {\r\n        callBack()\r\n      }\r\n\r\n    },\r\n\r\n    // 添加子主题\r\n    append(data, node, e) {\r\n      e.preventDefault();\r\n      // 大纲模式限制5层，弹层提示“最多只能添加5级”\r\n      if (node.level >= 5) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多只能添加5级\"\r\n        });\r\n        return;\r\n      }\r\n      if (!data.id) {\r\n        return;\r\n      }\r\n\r\n      this.addTreeNode('addSubTheme');\r\n    },\r\n\r\n    // 新增Tree节点：主题/子主题/同级主题\r\n    async addTreeNode(type) {\r\n      // 阻止blue\r\n      this.setToolsEventing();\r\n\r\n      // 等先更新完上个文本框内容\r\n      await this.triggerSaveInput(() => {});\r\n      await this.findIsEditTrueNodes(this.datas, true);\r\n\r\n      this.isEdited = true;\r\n      // console.log(\"this.isLocalStorageSave = false;\");\r\n      // this.isLocalStorageSave = false;\r\n      console.log(\"isEdited:\", this.isEdited);\r\n      let targetNode = null;\r\n      let data = {};\r\n      let inputRefName = '';\r\n      let saveFnName = ''; // 更新内容的函数名称\r\n      let treeFn = '';\r\n      let typeNames = {\r\n        'addTheme': '新增主题',\r\n        'addSubTheme': '新增子主题',\r\n        'addEquativeTheme': '新增同级主题'\r\n      }\r\n      if(type === 'addTheme') {\r\n        let lastId;\r\n        this.datas.forEach(item => {\r\n          if(!item.isAdd && item.isAddTheme) {\r\n            lastId = item.id\r\n          }\r\n        })\r\n\r\n        targetNode = this.$refs.tree.getNode(lastId);\r\n        treeFn = 'insertBefore';\r\n        inputRefName = 'title';\r\n        saveFnName = 'saveTitle';\r\n        data = {\r\n          isAdd: true,\r\n          isAddTheme: true,\r\n          isEdit: true\r\n        }\r\n      }\r\n      else if(type === 'addSubTheme') {\r\n        targetNode = this.node;\r\n        targetNode.expanded = true;\r\n        treeFn = 'append';\r\n        inputRefName = 'subtitle';\r\n        saveFnName = 'saveSubTitle';\r\n        data = {\r\n          isAdd: true,\r\n        }\r\n      }\r\n      else if(type === 'addEquativeTheme') {\r\n        targetNode = this.node;\r\n        treeFn = 'insertAfter';\r\n        inputRefName = 'equativetitle';\r\n        saveFnName = 'saveEquative';\r\n        data = {\r\n          isAddEquative: true,\r\n        }\r\n      }\r\n\r\n      // 重置变量\r\n      this.content = '';\r\n      this.selectedData = {};\r\n      this.editingData = {};\r\n\r\n      // 新增节点数据\r\n      id = \"id\" + uuidv4();\r\n      const newChild = {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 1,\r\n        ...data,\r\n      };\r\n\r\n      // 通过tree中节点增加新节点\r\n      this.$refs.tree[treeFn](newChild, targetNode);\r\n\r\n      this.$nextTick(() => {\r\n        // 设置当前操作的node，因为是新增的元素，要等渲染完才能找到\r\n        this.setCurrentNode(newChild, typeNames[type]);\r\n        // fouse文本框\r\n        const refName = inputRefName + newChild.id;\r\n        const $textareaBox = this.$refs[refName] && this.$refs[refName].$refs;\r\n        $textareaBox.textarea.focus();\r\n        setTimeout(() => {\r\n          $textareaBox.textarea.focus();\r\n        }, 100);\r\n        // 变量设置\r\n        this.isEditing = saveFnName;\r\n        this.editingData = newChild;\r\n        this.selectedData = newChild;\r\n      });\r\n    },\r\n\r\n    // 更新节点内容\r\n    updateTreeNode(from) {\r\n      console.log(\"updateTreeNode:\", from);\r\n      // 删除时，会触发blur事件，\r\n      if(this.isRemoveNodeing) {\r\n        return;\r\n      }\r\n\r\n      // 变量设置\r\n      this.isEdited = true;\r\n      console.log(\"isLocalStorageSave:\", this.isEdited, this.isLocalStorageSave);\r\n      // 自动保存不将选中输入框清除\r\n      if(!this.isLocalStorageSave) {\r\n        this.isEditing = false;\r\n        this.selectedData = {};\r\n      }\r\n\r\n\r\n      // 找到操作目标节点\r\n      const currNode = this.node;\r\n      const content = this.content.trim();\r\n      const id = currNode.data.id;\r\n      let parentNode = this.$refs.tree.getParentNode(id);\r\n      const childNodes = parentNode.childNodes || [];\r\n      let updateType = 'append';\r\n      let targetNode = parentNode;\r\n      if(childNodes.length > 1) {\r\n        childNodes.forEach((node, index) => {\r\n          if(node.data.id === id) {\r\n            if(index === childNodes.length - 1 && childNodes[index - 1]) {\r\n              updateType = 'insertAfter';\r\n              targetNode = childNodes[index - 1];\r\n            }\r\n            else if(childNodes[index + 1]){\r\n              updateType = 'insertBefore';\r\n              targetNode = childNodes[index + 1];\r\n            }\r\n          }\r\n        })\r\n      }\r\n\r\n      // 先删除后，在原来的位置再新增个新的, 如果有下级的，也得带上\r\n      // 自动保存的不能删除\r\n      const children = JSON.parse(JSON.stringify(currNode.data.children || []));\r\n      // 自动保存不将选中输入框清除, 但是编辑需要\r\n      if(!this.isLocalStorageSave || (this.isLocalStorageSave && this.isEditing == 'editNode')) {\r\n        this.$refs.tree.remove(id);\r\n        this.$refs.tree[updateType](\r\n          {\r\n            id,\r\n            name: content,\r\n            node: [],\r\n            lock: 1,\r\n            children: children,\r\n          },\r\n          targetNode\r\n        );\r\n      }\r\n\r\n      console.log('-------更新tree中的node数据', currNode, content, updateType, from, children);\r\n      console.log(content)\r\n\r\n      // 重新设置当前node对像\r\n      this.setCurrentNode({id}, `${from}后，需重新设置当前node`);\r\n\r\n      //保存到本地\r\n      this.saveMindMap();\r\n    },\r\n\r\n    // 保存子主题\r\n    saveSubTitle(e) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n\r\n      this.updateTreeNode('更新子主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 增加同级节点\r\n    addEquative(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      // this.triggerSaveInput(() => {\r\n      //   this.addEquative1(this.node, data, e);\r\n      // })\r\n      this.addTreeNode('addEquativeTheme');\r\n    },\r\n    addEquative1(node, data, e) {\r\n\r\n      // this.content = \"\";\r\n      // this.operating.isOperating = true;\r\n      // this.operating.operate = 4;\r\n      // id = \"id\" + uuidv4();\r\n      // const newChild = {\r\n      //   id: id,\r\n      //   name: \"\",\r\n      //   node: [],\r\n      //   lock: 2,\r\n      //   isAddEquative: true\r\n      // };\r\n\r\n      // // 在选中节点同级后面新增一个同级节点\r\n      // console.log('增加同级节点', data, data && data.id ? this.$refs.tree.getNode(data.id): 'none')\r\n      // const currNode = this.$refs.tree.getNode(this.node.data.id);\r\n      // this.$refs.tree.insertAfter(newChild, currNode);\r\n\r\n      // this.$set(data, \"isShowOp\", false);\r\n      // this.$set(data, \"isEdit\", false);\r\n      // const nextNode = this.$refs.tree.getNode(id);\r\n      // this.setFilterNode(nextNode.parent, nextNode.parent.data);\r\n      // this.selectedData = {};\r\n      // this.content = \"\";\r\n      // this.setCurrentNode(newChild, '添加同级主题：addEquative1');\r\n\r\n      // this.$nextTick(() => {\r\n      //   const $textareaBox = this.$refs[\"equativetitle\" + id] && this.$refs[\"equativetitle\" + id].$refs;\r\n      //   if ($textareaBox) {\r\n      //     $textareaBox.textarea.focus();\r\n      //     this.isEditing = 'saveEquative';\r\n      //     this.editingData = newChild;\r\n      //   }\r\n      // })\r\n    },\r\n    // 保存同级\r\n    saveEquative(e) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      if(!this.node) {\r\n        return new Promise(resolve => {\r\n          resolve();\r\n        });\r\n      }\r\n\r\n      this.updateTreeNode('更新同级主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    toParse(arr) {\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParse(item[\"node\"]);\r\n        }\r\n        // if (item.children) {\r\n        //   delete item.children;\r\n        // }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        // if (item.id) {\r\n        //   delete item.id;\r\n        // }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if (item.isAdd !== undefined) {\r\n          delete item.isAdd;\r\n        }\r\n        if (item.isAddTheme !== undefined) {\r\n          delete item.isAddTheme;\r\n        }\r\n        if (item.isEdit !== undefined) {\r\n          delete item.isEdit;\r\n        }\r\n\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    toParse1(arr) {\r\n      arr.forEach(item => {\r\n        if(!this.isLocalStorageSave) {\r\n          item.isEdit = false;\r\n          item.isShowOp = false;\r\n          item.isAdd = false;\r\n          item.isAddEquative = false;\r\n        }\r\n        if (item.node && Array.isArray(item.node) && item.node.length) {\r\n          item[\"children\"] = [].concat(item.node);\r\n          delete item.node;\r\n        }\r\n        if(item.children && item.children.length) {\r\n          this.toParse1(item.children);\r\n        }\r\n        item.id = item.id || \"id\" + uuidv4();\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    // 删除\r\n    remove(e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if (!this.selectedData || !this.selectedData.id) {\r\n        return;\r\n      }\r\n\r\n      // 先把删除的node保存在removeNode中，以便撤回，再删除\r\n      this.isEdited = true;\r\n      console.log(\"isEdited:\", this.isEdited);\r\n      let node = this.node;\r\n      let parent = this.$refs.tree.getParentNode(node.data.id);\r\n      const childNodes = parent.childNodes;\r\n      const data = parent.data;\r\n      let currIndex;\r\n      (childNodes || []).forEach((item, index) => {\r\n        if(item.id === node.id) {\r\n          currIndex = index;\r\n        }\r\n      })\r\n      const removeNode = {\r\n        node: node,\r\n        parent: parent,\r\n        index: currIndex\r\n      }\r\n      this.removeNodes.push(removeNode);\r\n      this.$refs.tree.remove(node.data.id);\r\n\r\n      // 设计isRemoveNodeing标记，阻止触发文本框blur时去更新node内容\r\n      this.isRemoveNodeing = true;\r\n      if(this.timeValueRemoveNode) {\r\n        this.clearTimeout(this.timeValueRemoveNode);\r\n        this.timeValueRemoveNode = null;\r\n      }\r\n      this.timeValueRemoveNode = setTimeout(() => {\r\n        this.isRemoveNodeing = false;\r\n        this.clearTimeout(this.timeValueRemoveNode);\r\n        this.timeValueRemoveNode = null;\r\n      }, 500)\r\n      //保存到本地\r\n      this.saveMindMap();\r\n\r\n      this.$set(this.selectedData, \"isShowOp\", false);\r\n      this.$nextTick(() => {\r\n        this.setFilterNode(parent, data);\r\n        this.selectedData = {};\r\n        this.node = {};\r\n        this.isEditOperating = false;\r\n        console.log('--remove')\r\n      });\r\n    },\r\n    // 撤回上一次删除\r\n    withdraw() {\r\n      if (!(this.removeNodes && this.removeNodes.length)) {\r\n        return;\r\n      }\r\n\r\n      const removeNode = this.removeNodes[this.removeNodes.length - 1];\r\n      const index = removeNode.index;\r\n      const parent = removeNode.parent;\r\n\r\n      let parentNode = null;//parent\r\n      if (parent.level === 0) {\r\n        parentNode = parent;\r\n      } else {\r\n        parentNode = this.$refs.tree.getNode(parent.data.id);\r\n      }\r\n      const childNodes = parentNode.childNodes;\r\n\r\n      if (parentNode) {\r\n        // 如果只有一个元素或者是最后一个节点\r\n        if (index === childNodes.length) {\r\n          this.$refs.tree.append(removeNode.node.data, parentNode);\r\n        } else if (childNodes.length > 1) {\r\n          // 如果是节点个数大于1，找到后面一个元素\r\n          const lastNode = childNodes[index];\r\n          this.$refs.tree.insertBefore(removeNode.node.data, lastNode);\r\n        }\r\n        //保存到本地\r\n        this.saveMindMap();\r\n      }\r\n\r\n      this.$nextTick(() => {\r\n        // 父节点\r\n        this.setFilterNode(parentNode, parentNode.data);\r\n        // 本节点\r\n        this.setFilterNode(removeNode.node, removeNode.node.data);\r\n        // 子节点遍历\r\n        let childNodes = removeNode.node.childNodes;\r\n        childNodes.forEach(item => {\r\n          this.setFilterNode1(item, item.data);\r\n        });\r\n        this.selectedData = {};\r\n        this.removeNodes.splice(-1, 1);\r\n\r\n        console.log('--withdraw')\r\n      });\r\n    },\r\n    setCollapseHeight(node, offsetHeightO) {\r\n      if (node && node.level === 1) {\r\n        return;\r\n      }\r\n      let parentNode = node.parent;\r\n      let dom = document.getElementById(node.data.id);\r\n      let selector = \"#\" + node.data.id + \"::before\";\r\n      // 收起，重新设置高度\r\n      let parent = dom.parentNode;\r\n      let prevParent = parent.parentNode;\r\n      let offsetHeight = prevParent.offsetHeight - 28;\r\n      //js代码，支持IE\r\n      document.styleSheets[0].addRule(\r\n        selector,\r\n        \"height: \" + offsetHeight + \"px;\"\r\n      );\r\n      //支持非IE的现代浏览器\r\n      document.styleSheets[0].insertRule(\r\n        selector + \" { height: \" + offsetHeight + \"px; }\",\r\n        0\r\n      );\r\n      this.setCollapseHeight(parentNode);\r\n    },\r\n    setFilterNode(node, data, collapse, idName) {\r\n      let name = \"textarea\";\r\n      if (idName) {\r\n        name = idName;\r\n      }\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n      }\r\n      const childNodes = node.childNodes;\r\n      let flag = true;\r\n      if (childNodes.length <= 0) {\r\n        flag = false;\r\n      }\r\n      if (flag) {\r\n        this.$set(data, \"class\", \"isVertival\");\r\n      }\r\n      this.$nextTick(() => {\r\n        // if (this.$refs[name + this.selectedData.id]) {\r\n        //   this.$refs[name + this.selectedData.id].resizeTextarea();\r\n        // }\r\n        if (this.$refs[name + data.id]) {\r\n          if (name !== \"textarea\") {\r\n            this.$refs[name + data.id].resizeTextarea();\r\n          }\r\n          let dom = document.getElementById(data.id);\r\n          let timeout = null;\r\n          if (dom) {\r\n            let parent = dom.parentNode;\r\n            let prevParent = parent.parentNode;\r\n            let classList = parent.classList;\r\n            // 没有子节点或者收起,要把isVertival去掉\r\n            if (classList.contains(\"isVertival\") && !flag) {\r\n              parent.classList.remove(\"isVertival\");\r\n              // if(classList.contains('isVertivall' + node.level)) {\r\n              //   parent.classList.remove('isVertivall' + node.level);\r\n              // }\r\n            } else if (!classList.contains(\"isVertival\") && flag) {\r\n              parent.classList.add(\"isVertival\");\r\n            }\r\n            // if(node.level >= 4 && classList.contains('isVertival')&& !collapse) {\r\n            //   parent.classList.add('isVertivall' + node.level);\r\n            // }\r\n            // if (classList.contains(\"is-expanded\")) {\r\n            //   prevParent.classList.remove(\"is-expanded\");\r\n            // }\r\n\r\n          }\r\n        }\r\n      });\r\n      this.$set(data, \"hasVertical\", flag);\r\n    },\r\n    filterNode(value, data, node) {\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      this.$set(data, \"isShowOp\", false);\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n        const childNodes = node.childNodes;\r\n        let flag = true;\r\n        if (childNodes.length <= 0) {\r\n          flag = false;\r\n        }\r\n        if (flag) {\r\n          this.$set(data, \"class\", \"isVertival\");\r\n        }\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"textarea\" + data.id]) {\r\n            // this.$refs[\"textarea\" + data.id].resizeTextarea();\r\n            let dom = document.getElementById(data.id);\r\n            if (dom && node.level > 1) {\r\n              let parent = dom.parentNode;\r\n              let prevParent = parent.parentNode;\r\n              let classList = parent.classList;\r\n              // 没有子节点,要把isVertival去掉\r\n              if (classList.contains(\"isVertival\") && !flag) {\r\n                parent.classList.remove(\"isVertival\");\r\n              } else if (!classList.contains(\"isVertival\") && flag) {\r\n                parent.classList.add(\"isVertival\");\r\n              }\r\n              // if (node.level >= 4 && classList.contains(\"isVertival\")) {\r\n              //   parent.classList.add(\"isVertivall\" + node.level);\r\n              // }\r\n            }\r\n          }\r\n        });\r\n        this.$set(data, \"hasVertical\", flag);\r\n      }\r\n      return true;\r\n    },\r\n    getChildrenLen(node, lenObj) {\r\n      const childNodes = node.childNodes;\r\n      lenObj.len += childNodes.length;\r\n      childNodes.forEach(item => {\r\n        if (item.childNodes.length > 0) {\r\n          this.getChildrenLen(item, lenObj);\r\n        }\r\n      });\r\n    },\r\n    nodeCollapse(data, node, data1) {\r\n\r\n    },\r\n    nodeCollapse1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, true);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    isInPad() {\r\n      const isIPad = /iPad/.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);\r\n      const userAgent = window.navigator.userAgent;\r\n      const isHuaweiTablet = /Huawei/.test(userAgent);\r\n      return isIPad || isHuaweiTablet;\r\n    },\r\n    nodeExpand(data, node, data1) {\r\n      this.triggerSaveInput(() => {\r\n        this.nodeExpand1(node);\r\n      })\r\n    },\r\n    nodeExpand1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, false);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    handleDragStart(node, ev) {\r\n      if(this.selectedData && this.selectedData.isShowOp) {\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n      }\r\n      // this.draggingNode = node;\r\n      // 之前的父节点\r\n      let timeout3 = null;\r\n      timeout3 = setTimeout(() => {\r\n        this.dragNodeParPrev = node.parent;\r\n        // this.setFilterNode(parent, parent.data);\r\n        clearTimeout(timeout3);\r\n      });\r\n    },\r\n    handleDragEnter(draggingNode, dropNode, ev) {\r\n\r\n    },\r\n    handleDragLeave(draggingNode, dropNode, ev) {\r\n    },\r\n    handleDragOver(draggingNode, dropNode, ev) {\r\n      if(this.selectedData && this.selectedData.isShowOp) {\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n      }\r\n    },\r\n    handleDragEnd(draggingNode, dropNode, dropType, ev) {\r\n      if(!dropNode) {\r\n        return;\r\n      }\r\n      this.$nextTick(() => {\r\n        // 之前的父节点\r\n        this.setFilterNode(this.dragNodeParPrev, this.dragNodeParPrev.data);\r\n        //保存到本地\r\n        this.saveMindMap();\r\n        let timeout1 = null;\r\n        let timeout2 = null;\r\n        let timeout4 = null;\r\n        // 本节点\r\n        timeout1 = setTimeout(() => {\r\n          this.setFilterNode(draggingNode, draggingNode.data);\r\n          clearTimeout(timeout1);\r\n        });\r\n        // 子节点遍历重置样式\r\n        timeout4 = setTimeout(() => {\r\n          let childNodes = draggingNode.childNodes;\r\n          childNodes.forEach(item => {\r\n            this.setFilterNode1(item, item.data);\r\n          });\r\n          clearTimeout(timeout4);\r\n        });\r\n        // 现在的父节点\r\n        timeout2 = setTimeout(() => {\r\n          if(dropNode.data) {\r\n            this.setFilterNode(dropNode, dropNode.data);\r\n          }\r\n          clearTimeout(timeout2);\r\n        });\r\n      });\r\n    },\r\n    handleDrop(draggingNode, dropNode, dropType, ev) {\r\n\r\n    },\r\n    allowDrop(draggingNode, dropNode, type) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return false;\r\n      } else {\r\n        // 拖拽最多只能5层级\r\n        if (dropNode.level == 5 && type == \"inner\") {\r\n          return false;\r\n        } else {\r\n          return true;\r\n        }\r\n      }\r\n    },\r\n    allowDrag(draggingNode) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return false;\r\n      }\r\n      if (draggingNode.data.isAddTheme) {\r\n        return false;\r\n      }\r\n      if (\r\n        this.selectedData &&\r\n        this.selectedData.id === draggingNode.data.id &&\r\n        this.selectedData.isEdit\r\n      ) {\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    handleKeyDown(e) {\r\n\r\n      // 删除win\r\n      if (e.ctrlKey && e.key.toLowerCase() === \"d\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n      // 删除mac\r\n      if (e.metaKey && e.key.toLowerCase() === \"backspace\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n\r\n      // 复制win\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.isEditing\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n       this.copy1(this.node, this.editingData, e);\r\n      }\r\n      // 复制mac\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.isEditing\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy1(this.node, this.editingData, e);\r\n      }\r\n      // 粘贴win\r\n      // if (\r\n      //   e.ctrlKey &&\r\n      //   e.key.toLowerCase() === \"v\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   // e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.paste(this.node, this.editingData, e);\r\n      // }\r\n      // // 粘贴mac\r\n      // if (\r\n      //   e.metaKey &&\r\n      //   e.key.toLowerCase() === \"v\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   // e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.paste(this.node, this.editingData, e);\r\n      // }\r\n\r\n      // 剪切win\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"x\" &&\r\n        this.isEditing\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.cut(this.node, this.editingData, e);\r\n      }\r\n      // 剪切mac\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"x\" &&\r\n        this.isEditing\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.cut(this.node, this.editingData, e);\r\n      }\r\n      // 换行 mac: meta + enter\r\n      if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.metaKey &&\r\n        this.isEditing\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.editingData && this.editingData.id);\r\n      }\r\n      // 换行 win: ctrl + enter\r\n      else if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.ctrlKey &&\r\n        this.isEditing\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.editingData && this.editingData.id);\r\n      }\r\n      // 新增同级节点win、mac\r\n      else if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        !e.ctrlKey &&\r\n        !e.metaKey\r\n      ) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        this.addEquative(this.node, this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, e);\r\n      }\r\n      // 新增子节点win、mac\r\n      else if (e.key.toLowerCase() === \"tab\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.append(this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, this.node, e);\r\n      }\r\n\r\n      // 保存win\r\n      if (e.ctrlKey && e.key.toLowerCase() === \"s\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n      }\r\n      // 保存mac\r\n      if (e.metaKey && e.key.toLowerCase() === \"s\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n      }\r\n\r\n    },\r\n    handleKeyUp(e) {\r\n\r\n    },\r\n    handleGetMessage(event) {\r\n      if (event.data.status === \"ok\") {\r\n\r\n      }\r\n    },\r\n    scrollOutline(e) {\r\n      const myMindOutline = document.getElementById(this.myMindOutlineId);\r\n      const scrollTop = myMindOutline.scrollTop;\r\n\r\n      // 大纲模式时\r\n      this.$emit(\"scrollOutline\", scrollTop);\r\n    },\r\n    setSelectedBox() {\r\n      const $overflowAutoBox = this.$refs.box;\r\n      let boxOffset, offset, top;\r\n      boxOffset = $overflowAutoBox.getBoundingClientRect();\r\n      const parentOffset = $overflowAutoBox.parentNode.getBoundingClientRect();\r\n      offset = this.selectedDom.target ? this.selectedDom.target.getBoundingClientRect() : null;\r\n      // ios输入时\r\n      if(window.scrollY > 100) {\r\n        top = offset.y + window.scrollY;\r\n        this.$refs.operateRef.style.top = top + 'px';\r\n      }\r\n      else {\r\n        top = offset.y;\r\n        this.$refs.operateRef.style.top = top + 'px';\r\n      }\r\n      if(offset.y < boxOffset.y - 20) {\r\n        this.$refs.operateRef.style.display = 'none';\r\n      }\r\n      else {\r\n        this.$refs.operateRef.style.display = '';\r\n      }\r\n      this.$refs.operateRef.style.position = 'fixed';\r\n      this.$refs.operateRef.style.width = offset.width + 'px';\r\n      this.$refs.operateRef.style.opacity = 1;\r\n      this.$refs.operateRef.style.left = offset.x + 'px';\r\n      this.$refs.operateRef.setAttribute('class', 'operates-wrapper');\r\n    },\r\n    setSelectedBoxPosition() {\r\n      if(this.$refs.operateRef) {\r\n        this.setSelectedBox();\r\n        return;\r\n      }\r\n      setTimeout(() => {\r\n        if(!this.$refs.operateRef || !(this.selectedDom && this.selectedDom.target)) {\r\n          return;\r\n        }\r\n        this.setSelectedBox();\r\n      }, 100)\r\n    },\r\n    bindBoxScroll() {\r\n      //throttle(this.scrollOutline, 50);\r\n      this.setSelectedBoxPosition();\r\n    },\r\n    bindWindowScroll() {\r\n      //throttle(this.scrollOutline, 50);\r\n      setTimeout(() => {\r\n          this.setSelectedBoxPosition();\r\n      }, 300)\r\n    },\r\n    disibledDocumentClick() {\r\n      this.isDisibledDocumentClick = true;\r\n      this.setTimeValueDocumentClick = setTimeout(() => {\r\n        this.isDisibledDocumentClick = false;\r\n      }, 500)\r\n    },\r\n    handleDocumentClick() {\r\n      if(this.isDisibledDocumentClick) {\r\n        return;\r\n      }\r\n      if(this.isEditing) {\r\n        return;\r\n      }\r\n      this.selectedData = {};\r\n    },\r\n    bindDocumentEvents(type) {\r\n      if(type === 'bind') {\r\n        if(this.timeValueBindEvents) {\r\n          this.clearTimeout(this.timeValueBindEvents);\r\n          this.timeValueBindEvents = null;\r\n        }\r\n        this.timeValueBindEvents = setTimeout(() => {\r\n          document.addEventListener(\"keyup\", this.handleKeyUp);\r\n          document.addEventListener(\"keydown\", this.handleKeyDown);\r\n          document.addEventListener(\"click\", this.handleDocumentClick);\r\n          this.clearTimeout(this.timeValueBindEvents);\r\n          this.timeValueBindEvents = null;\r\n        }, 100)\r\n      }\r\n      else {\r\n        document.removeEventListener(\"keyup\", this.handleKeyUp);\r\n        document.removeEventListener(\"keydown\", this.handleKeyDown);\r\n        document.removeEventListener(\"click\", this.handleDocumentClick);\r\n      }\r\n\r\n    },\r\n  },\r\n  created() {\r\n    this.bindDocumentEvents('bind');\r\n    // window.addEventListener('scroll', this.bindWindowScroll);\r\n  },\r\n  destroyed() {\r\n    this.bindDocumentEvents('remove');\r\n    // window.removeEventListener('scroll', this.bindWindowScroll);\r\n    const $overflowAutoBox = this.$refs.box;\r\n    if($overflowAutoBox) {\r\n      $overflowAutoBox.removeEventListener(\"scroll\", this.bindBoxScroll);\r\n    }\r\n\r\n  },\r\n  mounted() {\r\n    try {\r\n      const $overflowAutoBox = this.$refs.box;\r\n      $overflowAutoBox.addEventListener(\"scroll\", this.bindBoxScroll);\r\n    } catch (error) {\r\n\r\n    }\r\n\r\n    if (this.courseBase) {\r\n      this.course_name = this.courseBase.course_name;\r\n    } else {\r\n      this.course_name = \"\";\r\n    }\r\n    this.init();\r\n    this.$nextTick(() => {\r\n      this.$refs && this.$refs.tree && this.$refs.tree.filter(1);\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n// .isVertivall(@i) when(@i <= 10) {\r\n//   // &::before {\r\n//   //   left: (@i-4) * 20 + 66px;\r\n//   // }\r\n//   // position: relative;\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     top: 18px;\r\n//     left: 66px;\r\n//     left: (@i-4) * 20 + 66px;\r\n//     width: 1px;\r\n//     height: calc(100% - 15px);\r\n//     background: #71afbb;\r\n//     min-height: 16px;\r\n//   }\r\n//   .isVertivall((@i + 1));\r\n// }\r\n// .isVertivall(1);\r\n// .isVertival {\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     width: 1px;\r\n//     // height: calc(@n * 100% - 0px);\r\n//     background: #71afbb;\r\n//     left: -12px;\r\n//     top: 22px;\r\n//   }\r\n// }\r\n.font(@i) when(@i <= 10) {\r\n  /deep/ .el-tree .el-tree-node.isVertivall@{i} {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 18px;\r\n      left: 66px;\r\n      left: (@i - 4) * 18 + 66px;\r\n      width: 1px;\r\n      height: calc(100% - 18px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  .font((@i + 1));\r\n}\r\n\r\n.font(1);\r\n\r\n.font2(@i) when(@i <= 10) {\r\n  .font3(@n) when(@n <= 100) {\r\n    .sisVertival@{i}@{n} {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        width: 1px;\r\n        height: calc(@n / 2 * 100% + 15px);\r\n        background: #71afbb;\r\n        left: -12px;\r\n        top: 22px;\r\n      }\r\n    }\r\n    .font3((@n + 1));\r\n  }\r\n  .font3(1);\r\n  .font2((@i + 1));\r\n}\r\n\r\n.font2(1);\r\n.content {\r\n  overflow: hidden;\r\n}\r\n.myMindOutline {\r\n position: relative;\r\n height: 100%;\r\n}\r\n\r\n.outline {\r\n  position: relative;\r\n  padding: 20px 30px 30px 35px;\r\n  // padding-top: 73px;\r\n  // padding-left: 73px;\r\n  height: 100%;\r\n\r\n  .tree-box{\r\n    overflow: auto;\r\n    height: 100%;\r\n    > div{\r\n      margin-bottom: 150px;\r\n    }\r\n  }\r\n\r\n  // padding: 0 39px;\r\n  /deep/ .el-textarea {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree {\r\n    background: #f2f4f5;\r\n  }\r\n  /deep/ .el-tree-node__content {\r\n    height: auto;\r\n    // position: relative;\r\n    align-items: flex-start;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #7E878C;\r\n    line-height: 19px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  /deep/ .el-tree-node .el-tree-node__children {\r\n    overflow: visible;\r\n  }\r\n  /deep/ .el-tree-node__content:hover {\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-tree-node:focus > .el-tree-node__content {\r\n    background-color: transparent;\r\n  }\r\n  .add-input {\r\n\r\n    /deep/ .el-textarea{\r\n      width: 100%;\r\n    }\r\n\r\n    /deep/ .el-input__inner {\r\n      border: none;\r\n      box-shadow: 5px 5px 14px #e9e7e7;\r\n      border-radius: 8px;\r\n    }\r\n    /deep/ .el-button {\r\n      height: 36px;\r\n      border-radius: 12px;\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 600;\r\n      color: #71afbb;\r\n      margin-top: 7px;\r\n      // margin-left: 10px;\r\n      border-width: 2px;\r\n      padding: 9px 13px;\r\n    }\r\n  }\r\n  .addthemebtn {\r\n    padding-top: 0;\r\n    .btn {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      width: 121px;\r\n      height: 36px;\r\n      border-radius: 12px;\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #71afbb;\r\n      margin-top: 7px;\r\n      // margin-left: 10px;\r\n      padding: 0 13px;\r\n      border: 2px solid #71afbb;\r\n    }\r\n    .el-button {\r\n      margin-top: 0;\r\n    }\r\n    /deep/ .el-icon-plus {\r\n      font-weight: 600;\r\n      font-size: 16px;\r\n      // margin-right: 8px;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  /deep/ .el-tree-node.is-expanded {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree-node.is-expanded > .el-tree-node__content.isVertival {\r\n    &::before {\r\n      content: \"\";\r\n      height: calc(100% - 27px);\r\n      width: 1px;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 14px;\r\n      padding-left: inherit;\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n  //四级及以上\r\n  /deep/ .el-tree .custom-tree-node .el-textarea .el-textarea__inner {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    // 光标颜色\r\n    caret-color: #71afbb; /* 光标颜色 */\r\n  }\r\n\r\n  ::selection {\r\n    background: rgba(113, 175, 187, 0.4);\r\n  }\r\n\r\n  /deep/ .is-leaf.el-tree-node__expand-icon {\r\n    &.el-icon-caret-right:before {\r\n      content: \"\";\r\n      display: block;\r\n      // position: absolute;\r\n      width: 5px;\r\n      height: 5px;\r\n      // left: 10px;\r\n      // top: 9px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      // border: 1px solid #71afbb;\r\n      background: #71afbb;\r\n      // z-index: 10;\r\n      margin: 4px 4px 5px 5px;\r\n    }\r\n  }\r\n\r\n  // ---------------------------------------------------\r\n  .custom-tree-node {\r\n    width: calc(100% - 10px);\r\n    position: relative;\r\n\r\n    .content {\r\n      position: relative;\r\n      width: 100%;\r\n      .node-label {\r\n        position: absolute;\r\n        white-space: pre-wrap;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n      }\r\n      .node-content {\r\n        white-space: normal;\r\n        word-wrap: break-word;\r\n        word-break: break-all;\r\n        line-height: 26px;\r\n        min-height: 26px;\r\n        pre {\r\n          white-space: break-spaces;\r\n        }\r\n      }\r\n    }\r\n    .selectedData {\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      padding: 8px 10px;\r\n      > div{\r\n        padding-top: 0 !important;\r\n      }\r\n    }\r\n  }\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content .node-content {\r\n    padding-top: 5px;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon {\r\n    font-size: 14px;\r\n    padding: 6px 8px 9px 7px;\r\n    color: #71afbb;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 8px 9px 10px;\r\n  }\r\n\r\n  // -------------------------------------------------------\r\n\r\n  //一级节点选择器\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 27px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    /deep/ &.custom-tree-node {\r\n      padding-top: 5px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  //一级图标未展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 9px 6px 0px 6px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n    margin-bottom: 12px;\r\n  }\r\n  //一级图标展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 8px 6px 8px 4px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n  }\r\n  // 一级叶子节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    // margin-right: 9px;\r\n    &::before {\r\n      width: 10px;\r\n      height: 10px;\r\n      // left: 11px;\r\n      // top: 12px;\r\n    }\r\n  }\r\n\r\n  // 最后一个节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node.theme\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    padding: 20px 0px 0px 6px;\r\n  }\r\n  // /deep/ .el-tree > .el-tree-node {\r\n  //   .theme {\r\n  //     padding-top: 0;\r\n  //     padding-bottom: 15px;\r\n  //   }\r\n  // }\r\n  // ----------------------------------------------------------\r\n  //二级节点选择器\r\n  // 二级节点竖线\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 33px;\r\n      width: 1px;\r\n      height: calc(100% - 20px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node:first-child {\r\n    margin-top: -4px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node:last-child {\r\n    margin-bottom: 4px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  // 二级图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  //二级图标展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      margin-top: 6px;\r\n      margin-left: 10px;\r\n      width: 7px;\r\n      height: 7px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    &::before {\r\n      margin-left: 0;\r\n    }\r\n  }\r\n\r\n  // --------------------------------------------------------------\r\n  // 三级节点\r\n\r\n  // 三级节点竖线\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 49px;\r\n      width: 1px;\r\n      height: calc(100% - 21px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 25px;\r\n  }\r\n\r\n  // 三级节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 6px 7px 8px 7px;\r\n    color: #71afbb;\r\n    font-size: 16px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 7px 9px 8px 5px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 13px 8px 0px;\r\n  }\r\n\r\n  // 三级叶子节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      width: 6px;\r\n      height: 6px;\r\n      margin-left: 12px;\r\n      margin-top: 6px;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  .content {\r\n    /deep/ .el-textarea__inner {\r\n      background-color: #f2f4f5;\r\n      border: none;\r\n      min-height: 24px !important;\r\n      padding: 0;\r\n    }\r\n  }\r\n  .add-input {\r\n    /deep/ .el-textarea__inner {\r\n      border: none;\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      // margin-bottom: 10px;\r\n      padding: 10px;\r\n      // height: auto !important;\r\n    }\r\n  }\r\n\r\n  .name {\r\n    font-size: 26px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 38px;\r\n    padding-bottom: 15px;\r\n  }\r\n}\r\n.outlineEdit{\r\n  .tree-box{\r\n    height: calc(100% - 20px);\r\n  }\r\n}\r\n.editOutline {\r\n  -webkit-animation: editOutlineAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineAni {\r\n  0% {\r\n    padding-top: 73px;\r\n    padding-left: 73px;\r\n  }\r\n  100% {\r\n    padding-top: 56px;\r\n    padding-left: 31px;\r\n  }\r\n}\r\n.editOutlineNo {\r\n  -webkit-animation: editOutlineNoAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineNoAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineNoAni {\r\n  0% {\r\n    padding-top: 56px;\r\n    padding-left: 31px;\r\n  }\r\n  100% {\r\n    padding-top: 73px;\r\n    padding-left: 73px;\r\n  }\r\n}\r\n\r\n.outlineNone {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  .none_wrapper {\r\n    img {\r\n      width: 136px;\r\n      height: 136px;\r\n    }\r\n  }\r\n  .none {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n}\r\n.operates-wrapper {\r\n  pointer-events: none;\r\n  position: absolute;\r\n  width: 100%;\r\n  bottom:100%;\r\n  left: 0;\r\n  top: auto;\r\n  // z-index: 1;\r\n  // align-items: center;\r\n  justify-content: center;\r\n  // height: 46px;\r\n  padding: 2px 0px 8px 0px;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-repeat: no-repeat;\r\n  // background-size: 100% 100%;\r\n  // background-position: top left;\r\n  display: flex;\r\n  .operate {\r\n    padding: 0 12px;\r\n    display: flex;\r\n    align-items: center;\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #ffffff;\r\n    line-height: 18px;\r\n    cursor: pointer;\r\n    height: 22px;\r\n    margin-top: 7px;\r\n    img {\r\n      margin-right: 7px;\r\n    }\r\n    &:not(:last-child) {\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n}\r\n\r\n.operates-wrapper-operates {\r\n  pointer-events:all;\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  align-items: center;\r\n  padding-bottom: 7px;\r\n  background-color: #4e545c;\r\n  border-radius: 7px;\r\n  position: relative;\r\n  // height: 36px;\r\n  &::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    border-top: 7px solid #4e545c;\r\n    border-left: 6px solid transparent;\r\n    border-right: 6px solid transparent;\r\n    bottom: -6px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n  }\r\n}\r\n\r\n.operates-wrapper{\r\n  display: block;\r\n  text-align: center;\r\n  transform: translateY(-10px);\r\n  .operates-wrapper-operates{\r\n    transform: translateY(-100%);\r\n    display: inline-block;\r\n    margin: 0 auto;\r\n    text-align: left;\r\n    max-width: 100%;\r\n    > div{\r\n      display: inline-block;\r\n      white-space: nowrap;\r\n    }\r\n  }\r\n}\r\n.operates-wrapper-bottom{\r\n  transform: translateY(0);\r\n  .operates-wrapper-operates{\r\n    transform: translateY(0);\r\n    &::before {\r\n      bottom: 100%;\r\n      transform: rotate(180deg);\r\n    }\r\n  }\r\n}\r\n.operates-wrapper1 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper2 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper3 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMacEdit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperEdit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac1 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac1Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper1Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac2 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac2Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper2Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac3 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n\r\n/* 在CSS中使用媒体查询 */\r\n/* 大屏幕样式 */\r\n@media (min-width: 1208px) {\r\n  /* 添加针对大屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n\r\n/* 小屏幕样式 */\r\n@media (max-width: 1208px) {\r\n  /* 添加针对小屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n\r\n/* 树形结构节点添加连线 */\r\n.tree /deep/ .el-tree-node {\r\n  position: relative;\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node__children {\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node :last-child:before {\r\n  height: 38px;\r\n}\r\n\r\n.tree /deep/ .el-tree > .el-tree-node:before {\r\n  border-left: none;\r\n}\r\n\r\n.tree-container /deep/ .el-tree > .el-tree-node:after {\r\n  border-top: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n.tree /deep/ .el-tree-node__expand-icon.is-leaf {\r\n  display: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  border-left: 1px dashed #b8b9bb;\r\n  bottom: 0px;\r\n  height: 100%;\r\n  top: -26px;\r\n  width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  border-top: 1px dashed #b8b9bb;\r\n  height: 20px;\r\n  top: 12px;\r\n  width: 24px;\r\n}\r\n\r\n//-----\r\n/deep/ .el-tree > .el-tree-node > .el-tree-node__content{\r\n  &  > .el-tree-node__expand-icon{\r\n    top: 8px;\r\n    font-size: 20px;\r\n  }\r\n  .el-tree-node__content{\r\n\r\n  }\r\n\r\n}\r\n/deep/ .el-tree > .el-tree-node::after{\r\n  top: 31px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/outline/MyMindOutline.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"myMindOutline\"},[_c('div',{class:[\n      'outline',\n      !_vm.datas.length\n        ? 'outlineNone'\n        : _vm.editOutline\n        ? 'outlineEdit'\n        : _vm.isSaveMindMap\n        ? ''\n        : ''\n    ],attrs:{\"id\":_vm.myMindOutlineId}},[(_vm.datas && !_vm.datas.length)?_c('div',{staticClass:\"none_wrapper\",staticStyle:{\"text-align\":\"center\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"0px\",\"height\":\"0px\",\"overflow\":\"hidden\"}},[_vm._v(\"\\n    \"+_vm._s(_vm.selectedData && _vm.selectedData.isShowOp)+\" \"+_vm._s(_vm.selectedDom.target ? true:false)+\"\\n    \")]),_vm._v(\" \"),(_vm.selectedData && _vm.selectedData.isShowOp && _vm.selectedDom.target)?_c('div',{ref:'operateRef',class:\"operates-wrapper\",style:({\n        'z-index': 2,\n        'opacity': 0\n      }),on:{\"click\":_vm.disibledDocumentClick}},[_c('div',{staticClass:\"operates-wrapper-operates\"},[_c('div',{staticClass:\"operate del\",on:{\"mousedown\":_vm.remove}},[_vm._v(\"\\n          删除(\"+_vm._s(_vm.isMac ? \"cmd+←\" : \"ctrl+d\")+\")\\n        \")]),_vm._v(\" \"),(_vm.selectedNode.label && _vm.selectedNode.level < 5)?_c('div',{staticClass:\"operate addsubtheme\",on:{\"mousedown\":function($event){return _vm.append(_vm.selectedData, _vm.selectedNode, $event)}}},[_vm._v(\"\\n          添加子主题(tab)\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedNode.label)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.addEquative(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          添加同级主题(Enter)\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.$index > 0 && _vm.selectedNode.label && _vm.selectedNode.level < 5)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.tabClick(_vm.selectedNode, _vm.selectedData)}}},[_vm._v(\"缩进\")]):_vm._e(),_vm._v(\" \"),(_vm.selectedNode.level > 1 && _vm.selectedNode.label)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.tabClick1(_vm.selectedNode, _vm.selectedData)}}},[_vm._v(\"\\n          减少缩进\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.copy(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          复制(\"+_vm._s(_vm.isMac ? \"cmd+c\" : \"ctrl+c\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.paste(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          粘贴(\"+_vm._s(_vm.isMac ? \"cmd+v\" : \"ctrl+v\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.cut(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          剪切(\"+_vm._s(_vm.isMac ? \"cmd+x\" : \"ctrl+x\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.insertNewline($event, _vm.selectedData.id)}}},[_vm._v(\"\\n          换行(\"+_vm._s(_vm.isMac ? \"cmd+enter\" : \"ctrl+enter\")+\")\\n        \")]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"box\",staticClass:\"tree-box\",attrs:{\"id\":_vm.treeId}},[_c('Tree',{ref:\"tree\",attrs:{\"data\":_vm.datas,\"node-key\":\"id\",\"default-expand-all\":\"\",\"expand-on-click-node\":false,\"draggable\":this.isEditing ? false : true,\"allow-drop\":_vm.allowDrop,\"allow-drag\":_vm.allowDrag,\"filter-node-method\":_vm.filterNode,\"props\":{ label: 'name', node: 'node', children: 'children' },\"empty-text\":'',\"is-last-drag-fixed\":true},on:{\"node-drag-start\":_vm.handleDragStart,\"node-drag-enter\":_vm.handleDragEnter,\"node-drag-leave\":_vm.handleDragLeave,\"node-drag-over\":_vm.handleDragOver,\"node-drag-end\":_vm.handleDragEnd,\"node-drop\":_vm.handleDrop,\"node-expand\":_vm.nodeExpand,\"node-collapse\":_vm.nodeCollapse},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n      var node = ref.node;\n      var data = ref.data;\nreturn _c('div',{ref:'treeNode' + data.id,staticClass:\"custom-tree-node\",class:[\n            !data.isAdd && data.isAddTheme ? 'theme' : ''\n          ],attrs:{\"id\":data.id}},[_c('div',[(data.isAdd && !data.isAddTheme)?_c('div',{staticClass:\"add-input 1\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'subtitle' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'subtitle' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"blur\":function($event){return _vm.triggerBlur('saveSubTitle')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveSubTitle.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.isAdd && data.isAddTheme)?_c('div',{staticClass:\"add-input addtheme\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'title' + data.id,staticClass:\"preserve-indent\",staticStyle:{\"min-height\":\"30px !important\"},attrs:{\"type\":\"textarea\",\"id\":'title' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"blur\":function($event){return _vm.triggerBlur('saveTitle')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveTitle.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(!data.isAdd && data.isAddTheme)?_c('div',{staticClass:\"add-input 2 addthemebtn\"},[_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.addTheme}},[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\"添加主题\\n              \")])]):(_vm.selectedData && _vm.selectedData.isEdit && _vm.selectedData.id === data.id)?_c('div',{staticClass:\"add-input 3\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'edittextarea' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'edittextarea' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"blur\":function($event){return _vm.triggerBlur('editNode')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.editNode()}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.isAddEquative)?_c('div',{staticClass:\"add-input 4\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'equativetitle' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'equativetitle' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"blur\":function($event){return _vm.triggerBlur('saveEquative')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveEquative.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.id && _vm.selectedData && _vm.selectedData.id === data.id && !_vm.operating.isOperating)?_c('div',{staticClass:\"content selectedData\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 2)}}},[_c('div',{ref:'textarea' + data.id,staticClass:\"node-content unselectable\",class:'textarea' + data.id},[_c('pre',[_vm._v(_vm._s(node.label))])])]):_c('div',{staticClass:\"content\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 1)}}},[_c('div',{ref:'textarea' + data.id,staticClass:\"node-content unselectable\",class:'textarea' + data.id},[_c('pre',[_vm._v(_vm._s(node.label))])])])])])}}])})],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\",\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"您还有未保存的内容，请问是否保存？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){return _vm.submitCon(2)}}},[_vm._v(\"不保存\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",on:{\"click\":function($event){return _vm.submitCon(1)}}},[_vm._v(\"保存\")])],1)])],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6bb9bb8a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/outline/MyMindOutline.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6bb9bb8a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMindOutline.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindOutline.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindOutline.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6bb9bb8a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMindOutline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6bb9bb8a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/outline/MyMindOutline.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"\" style=\"height: 100%\" v-loading=\"loading\">\r\n    <div class=\"operates\">\r\n      <el-dropdown @command=\"handleCommand\" :trigger=\"'click'\">\r\n        <el-button type=\"default\">\r\n          {{ commandSpan }}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n        </el-button>\r\n        <el-dropdown-menu slot=\"dropdown\">\r\n          <el-dropdown-item v-if=\"course_isuseradd == '2'\" command=\"2\"\r\n            >制作引导节点</el-dropdown-item\r\n          >\r\n          <el-dropdown-item command=\"1\">上传大纲模式</el-dropdown-item>\r\n          <el-dropdown-item v-if=\"course_isuseradd == '3'\" command=\"4\"\r\n            >上传图片格式</el-dropdown-item\r\n          >\r\n          <el-dropdown-item command=\"3\">上传PDF格式</el-dropdown-item>\r\n        </el-dropdown-menu>\r\n      </el-dropdown>\r\n      <div\r\n        v-if=\"\r\n          command == 1 &&\r\n            (course_isuseradd != '3' ||\r\n              (course_isuseradd == '3' && !pdfUrl && !images.length))\r\n        \"\r\n      >\r\n        <el-button v-if=\"!editOutline\" @click=\"startEdit(1)\"\r\n          >开始编辑</el-button\r\n        >\r\n        <div v-else>\r\n          <el-tooltip\r\n            class=\"item\"\r\n            effect=\"light\"\r\n            content=\"撤销上一次删除\"\r\n            placement=\"bottom\"\r\n          >\r\n            <img\r\n              src=\"@/assets/img/withdraw.svg\"\r\n              width=\"17\"\r\n              height=\"17\"\r\n              style=\"margin-right: 30px\"\r\n              @click=\"withdraw\"\r\n            />\r\n          </el-tooltip>\r\n          <el-tooltip\r\n            class=\"item\"\r\n            effect=\"light\"\r\n            content=\"保存文件\"\r\n            placement=\"bottom\"\r\n          >\r\n            <img\r\n              src=\"@/assets/img/mind_save.png\"\r\n              width=\"17\"\r\n              height=\"17\"\r\n              style=\"margin-right: 30px\"\r\n              v-throttle=\"[saveMindMap]\"\r\n\r\n            />\r\n          </el-tooltip>\r\n          <el-tooltip\r\n            class=\"item\"\r\n            effect=\"light\"\r\n            content=\"删除文件\"\r\n            placement=\"bottom\"\r\n          >\r\n            <img\r\n              src=\"@/assets/img/mind_del.png\"\r\n              @click=\"delUserMindmapShow(1)\"\r\n              width=\"15\"\r\n              height=\"19\"\r\n            />\r\n          </el-tooltip>\r\n        </div>\r\n      </div>\r\n      <div v-else-if=\"command == 2 && course_isuseradd == '2'\">\r\n        <el-button v-if=\"!editOutline2\" @click=\"startEdit(2)\"\r\n          >开始编辑</el-button\r\n        >\r\n        <div v-else>\r\n          <el-tooltip\r\n            class=\"item\"\r\n            effect=\"light\"\r\n            content=\"撤销上一次删除\"\r\n            placement=\"bottom\"\r\n          >\r\n            <img\r\n              src=\"@/assets/img/withdraw.svg\"\r\n              width=\"17\"\r\n              height=\"17\"\r\n              style=\"margin-right: 30px\"\r\n              @click=\"withdraw\"\r\n            />\r\n          </el-tooltip>\r\n          <el-tooltip\r\n            class=\"item\"\r\n            effect=\"light\"\r\n            content=\"保存文件\"\r\n            placement=\"bottom\"\r\n          >\r\n            <img\r\n              src=\"@/assets/img/mind_save.png\"\r\n              width=\"17\"\r\n              height=\"17\"\r\n              style=\"margin-right: 30px\"\r\n              v-throttle=\"[saveMindMap]\"\r\n            />\r\n          </el-tooltip>\r\n          <el-tooltip\r\n            class=\"item\"\r\n            effect=\"light\"\r\n            content=\"删除文件\"\r\n            placement=\"bottom\"\r\n          >\r\n            <img\r\n              src=\"@/assets/img/mind_del.png\"\r\n              @click=\"delUserMindmapShow(2)\"\r\n              width=\"15\"\r\n              height=\"19\"\r\n            />\r\n          </el-tooltip>\r\n        </div>\r\n      </div>\r\n      <div\r\n        v-else-if=\"\r\n          command == 3 &&\r\n            (course_isuseradd != '3' ||\r\n              (course_isuseradd == '3' &&\r\n              data.course_recommend_studythink &&\r\n                data.course_recommend_studythink.length == 0 &&\r\n                !images.length))\r\n        \"\r\n      >\r\n        <el-tooltip\r\n          class=\"item\"\r\n          effect=\"light\"\r\n          content=\"上传PDF\"\r\n          placement=\"bottom\"\r\n          v-if=\"!pdfUrl\"\r\n        >\r\n          <img\r\n            src=\"@/assets/img/import_file.png\"\r\n            width=\"18\"\r\n            height=\"18\"\r\n            @click=\"uploadPdf\"\r\n            style=\"margin-right: 30px\"\r\n          />\r\n        </el-tooltip>\r\n        <el-tooltip\r\n          class=\"item\"\r\n          effect=\"light\"\r\n          content=\"下载文件\"\r\n          placement=\"bottom\"\r\n          v-if=\"pdfUrl\"\r\n        >\r\n          <img\r\n            src=\"@/assets/img/mind_download.png\"\r\n            width=\"18\"\r\n            height=\"18\"\r\n            style=\"margin-right: 30px\"\r\n            @click=\"downloadPdf\"\r\n          />\r\n        </el-tooltip>\r\n        <el-tooltip\r\n          class=\"item\"\r\n          effect=\"light\"\r\n          content=\"删除文件\"\r\n          placement=\"bottom\"\r\n          v-if=\"pdfUrl\"\r\n        >\r\n          <img\r\n            src=\"@/assets/img/mind_del.png\"\r\n            width=\"15\"\r\n            height=\"19\"\r\n            @click=\"deletePdfShow\"\r\n          />\r\n        </el-tooltip>\r\n      </div>\r\n      <div\r\n        v-else-if=\"\r\n          command == 4 &&\r\n            course_isuseradd == '3' &&\r\n            data.course_recommend_studythink &&\r\n            data.course_recommend_studythink.length == 0 &&\r\n            !pdfUrl\r\n        \"\r\n      >\r\n        <div>\r\n          <el-button\r\n            v-if=\"!isEdit && images.length > 0\"\r\n            class=\"bg-transparent\"\r\n            @click=\"editImages\"\r\n            >编辑</el-button\r\n          >\r\n          <!-- <el-button\r\n            v-if=\"isEdit\"\r\n            class=\"bg-transparent\"\r\n            @click=\"downloadImages\"\r\n            >下载</el-button\r\n          > -->\r\n          <el-button v-if=\"isEdit\" class=\"bg-transparent\" @click=\"deleteImages\"\r\n            >删除</el-button\r\n          >\r\n          <el-button class=\"bg-transparent\" v-if=\"isEdit\" @click=\"exitImageEdit\"\r\n            >退 出</el-button\r\n          >\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"content\"  @click=\"clickContent\">\r\n      <MyMindOutline\r\n        ref=\"MyMindOutline\"\r\n        v-show=\"command == '2'\"\r\n        :dataPro=\"data.course_default_studythink\"\r\n        :paramsPro=\"paramsPro\"\r\n        :editOutline=\"editOutline2\"\r\n        :mindMap=\"mindMapGuide\"\r\n        :type=\"2\"\r\n        @saveMindMap=\"saveMindMap\"\r\n      />\r\n      <MyMindOutline\r\n        ref=\"MyMindOutline1\"\r\n        v-show=\"command == '1'\"\r\n        :dataPro=\"data.course_recommend_studythink\"\r\n        :paramsPro=\"paramsPro\"\r\n        :editOutline=\"editOutline\"\r\n        :mindMap=\"mindMapOfficial\"\r\n        :type=\"1\"\r\n        @saveMindMap=\"saveMindMap\"\r\n      />\r\n      <MyMindPdf\r\n        ref=\"myMindPdf\"\r\n        v-if=\"\r\n          course_isuseradd != '3' ||\r\n            (course_isuseradd == '3' &&\r\n            data.course_recommend_studythink &&\r\n              data.course_recommend_studythink.length == 0 &&\r\n              !images.length)\r\n        \"\r\n        v-show=\"command == '3'\"\r\n        :command=\"command\"\r\n        :pdfUrl=\"pdfUrl\"\r\n        :isServer=\"true\"\r\n        :imageViewerCanvas=\"'imageViewerCanvas2'\"\r\n        @uploadPdf=\"uploadPdf\"\r\n      />\r\n      <MyMindImages\r\n        v-if=\"data.course_recommend_studythink && data.course_recommend_studythink.length == 0 && !pdfUrl\"\r\n        ref=\"myMindImages\"\r\n        v-show=\"command === '4'\"\r\n        :datas=\"images\"\r\n        :imagesName=\"imagesName\"\r\n        :isEdit=\"isEdit\"\r\n        :imageProgress=\"imageProgress\"\r\n        :isAdmin=\"true\"\r\n        @selectedImages=\"selectedImages\"\r\n        @uploadImages=\"uploadImages\"\r\n      />\r\n    </div>\r\n    <el-dialog\r\n      class=\"del_dialog\"\r\n      :visible.sync=\"dialogVisibleDel\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">确定删除？</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleDel = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\" @click=\"submitDel\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport MyMindOutline from \"./MyMindOutline.vue\";\r\nimport MyMindPdf from \"../white/MyMindPdf.vue\";\r\nimport MyMindImages from \"../white/MyMindImages.vue\";\r\nimport { editUserMindmapAdmin, getMindmapAdmin } from \"@/api/index\";\r\nimport { uploaDOSS } from \"@/utils/oss\";\r\nimport { deepClone } from \"@/utils/util\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { getOssConfig, getBase64ByFile, getBase64ByUrl, saveFile, getFile } from \"@/utils/indexDb\";\r\nimport { Base64 } from \"js-base64\";\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nexport default {\r\n  components: { MyMindOutline, MyMindPdf, MyMindImages },\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    paramsPro: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    course_isuseradd: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    add_auth: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      command: \"1\",\r\n      commandSpan: \"制作/上传思维导图\",\r\n      data: {},\r\n      isEdit: false,\r\n      images: [],\r\n      imagesName: [],\r\n      fileImageUrls: [],\r\n      selectedImagesIndex: [],\r\n      imageProgress: 0,\r\n      dialogVisibleDel: false,\r\n      newestData: null,\r\n      editOutline: false,\r\n      editOutline2: false,\r\n      pdfUrl: \"\",\r\n      pdfName: \"\",\r\n      isDeletePdf: false,\r\n      isDeleteImage: false,\r\n      pdfProgress: 0,\r\n      loading: false\r\n    };\r\n  },\r\n  computed: {\r\n    mindMapGuide() {\r\n      let data = this.$store.getters.mindMapGuide;\r\n      console.log(\r\n        \"state.mindMapGuidestate.mindMapGuidestate.mindMapGuide:\",\r\n        data\r\n      );\r\n      if (data) {\r\n        if (typeof data === \"string\") {\r\n          return JSON.parse(data);\r\n        } else {\r\n          return data;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    mindMapOfficial() {\r\n      let data = this.$store.getters.mindMapOfficial;\r\n      if (data) {\r\n        if (typeof data === \"string\") {\r\n          return JSON.parse(data);\r\n        } else {\r\n          return data;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    // 当前导图修改最新时间戳\r\n    mindMapTimeStamp() {\r\n      return this.$store.getters.mindMapTimeStamp;\r\n    },\r\n    course_idExt() {\r\n      return this.$store.getters.course_idExt;\r\n    }\r\n  },\r\n  watch: {\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"this.dataPro:\", v);\r\n        if (v) {\r\n          // this.data = v;\r\n          // this.pdfUrl = v.mindmap_pdf;\r\n          this.init(v);\r\n          this.initCommand();\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    initCommand() {\r\n      if (this.course_isuseradd == 3) {\r\n        if (\r\n          this.data.course_recommend_studythink.length != 0 &&\r\n          !this.data.course_recommend_studythink\r\n        ) {\r\n          this.command = \"1\";\r\n        } else if (this.pdfUrl) {\r\n          this.command = \"3\";\r\n        } else if (this.images.length) {\r\n          this.command = \"4\";\r\n        } else {\r\n          this.command = \"1\";\r\n        }\r\n        this.handleCommand(this.command);\r\n      }\r\n    },\r\n    async init(data) {\r\n      this.data = data;\r\n      this.images = [];\r\n      this.imagesName = [];\r\n      this.avatarUrl = \"\";\r\n      this.pdfUrl = \"\";\r\n      this.pdfName = \"\";\r\n      this.params = {};\r\n      this.fileImageUrls = [];\r\n      this.selectedImagesIndex = [];\r\n      if (this.$refs.myMindImages) {\r\n        this.$refs.myMindImages.deleteFinish();\r\n      }\r\n      if (this.data) {\r\n        let config = getOssConfig();\r\n        if (this.data.course_recommend_studythinkimg) {\r\n          // this.images = this.data.course_recommend_studythinkimg_show.split(\r\n          //   \",\"\r\n          // );\r\n          const course_recommend_studythinkimg = this.data.course_recommend_studythinkimg.split(\r\n            \",\"\r\n          );\r\n          course_recommend_studythinkimg.forEach(item => {\r\n            const mindmap_imageNames = item.split(\"/\");\r\n            const mindmap_imageName = mindmap_imageNames[\r\n              mindmap_imageNames.length - 1\r\n            ].split(\".\")[0];\r\n            this.imagesName.push(mindmap_imageName);\r\n            console.log(\"mindmap_imageName::::::::::\", mindmap_imageName);\r\n          });\r\n          const imageUrls = this.data.course_recommend_studythinkimg_show.split(\",\");\r\n          imageUrls.forEach(async (item, index) => {\r\n            // 从indexDb拿数据\r\n            const url = config.uploadHost + \"/\" + course_recommend_studythinkimg[index];\r\n            const image = await getFile(url);\r\n            console.log(\"image:\", image);\r\n            if (image) {\r\n              this.images.push(image.fileData);\r\n            } else {\r\n              // 存入indexDb\r\n              const imageBase64 = await getBase64ByUrl(item);\r\n              console.log(\"imageBase64:\", imageBase64);\r\n              this.images.push(imageBase64);\r\n              // 保存到indexDb\r\n              await saveFile(url, this.imagesName[index], imageBase64);\r\n            }\r\n          });\r\n          this.fileImageUrls = this.data.course_recommend_studythinkimg.split(\r\n            \",\"\r\n          );\r\n        } else {\r\n          this.images = [];\r\n          this.imagesName = [];\r\n          this.fileImageUrls = [];\r\n        }\r\n\r\n        this.pdfName = \"\";\r\n        let mindmap_pdf = this.data.course_recommend_studythinkpdf;\r\n        if (mindmap_pdf) {\r\n          let pdf1 = mindmap_pdf.split(\"/\");\r\n          this.pdfName = pdf1[pdf1.length - 1].split(\".\")[0];\r\n          // 从indexDb拿数据\r\n          const url = config.uploadHost + \"/\" + mindmap_pdf;\r\n          const pdf = await getFile(url);\r\n          if (pdf) {\r\n            this.pdfUrl = pdf.fileData;\r\n          } else {\r\n            // 存入indexDb\r\n            this.pdfUrl = await getBase64ByUrl(this.data.course_recommend_studythinkpdf_show);\r\n            // 保存到indexDb\r\n            await saveFile(url, this.pdfName, this.pdfUrl);\r\n          }\r\n        }\r\n\r\n        // this.pdfUrl = this.data.course_recommend_studythinkpdf_show;\r\n      } else {\r\n        this.images = [];\r\n        this.imagesName = [];\r\n        this.fileImageUrls = [];\r\n        this.pdfUrl = this.data.course_recommend_studythinkpdf_show;\r\n        this.pdfName = \"\";\r\n        let mindmap_pdf = this.data.course_recommend_studythinkpdf;\r\n        if (mindmap_pdf) {\r\n          let pdf = mindmap_pdf.split(\"/\");\r\n          this.pdfName = pdf[pdf.length - 1].split(\".\")[0];\r\n        }\r\n      }\r\n    },\r\n    selectedImages(indexs) {\r\n      this.selectedImagesIndex = indexs;\r\n    },\r\n    editImages() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.isEdit = true;\r\n    },\r\n    exitImageEdit() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.isEdit = false;\r\n    },\r\n    // 删除图片\r\n    deleteImages() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      if (this.selectedImagesIndex.length === 0) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请选择要删除的图片\"\r\n        });\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n      this.type = 2;\r\n    },\r\n    // 上传图片\r\n    uploadImages() {\r\n      if (this.images.length >= 6) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多上传6张图片\"\r\n        });\r\n        return;\r\n      }\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \"image/png, image/jpeg, image/jpg\";\r\n      input.multiple = \"multiple\";\r\n\r\n      input.onchange = e => {\r\n        console.log(input.files);\r\n        let files = input.files;\r\n        // if (e.path.length > 0) {\r\n\r\n        // }\r\n        if (!/\\.(jpg|jpeg|png|JPG|PNG)$/.test(input.files[0].name)) {\r\n          this.$message.error(\"图片类型必须是jpeg,jpg,png中的一种\");\r\n          return false;\r\n        } else {\r\n          // this.images = [];\r\n          for (let i = 0; i < files.length; i++) {\r\n            this.avatarChange(files[i], files.length + this.images.length);\r\n          }\r\n          console.log(\"this.images:\", this.images);\r\n        }\r\n      };\r\n      input.click();\r\n    },\r\n    async avatarChange(file, length) {\r\n      let directory = decrypt(localStorage.getItem(\"mindmap_img_ossurl\"));\r\n      let res = await uploaDOSS(file, directory);\r\n      console.log(res);\r\n      this.fileImageUrls.push(res.fileUrl);\r\n      // 调用后台接口\r\n      const avatarUrl = await getBase64ByFile(file);\r\n      this.images.push(avatarUrl);\r\n      //todo 保存到indexDb\r\n      this.imagesName.push(res.fileName.split(\".\")[0]);\r\n      //todo 保存到indexDb key：url\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      const image = await getFile(url);\r\n      if(!image) {\r\n        // 保存到indexDb\r\n        await saveFile(url, res.fileName, avatarUrl);\r\n      }\r\n      console.log(this.images);\r\n      this.saveMindMapImages();\r\n    },\r\n    getBase64(file) {\r\n      return new Promise((resolve, reject) => {\r\n        const reader = new FileReader();\r\n        reader.readAsDataURL(file);\r\n        reader.onload = () => resolve(reader.result);\r\n        reader.onerror = error => reject(error);\r\n      });\r\n    },\r\n    handleCommand(command) {\r\n      if (command === \"2\") {\r\n        this.commandSpan = \"制作引导节点\";\r\n      } else if (command === \"1\") {\r\n        this.commandSpan = \"上传大纲模式\";\r\n      } else if (command === \"3\") {\r\n        this.commandSpan = \"上传PDF格式\";\r\n      } else {\r\n        this.commandSpan = \"上传图片格式\";\r\n      }\r\n      this.command = command;\r\n    },\r\n    startEdit(command) {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      if (command == 2) {\r\n        this.editOutline2 = true;\r\n      } else {\r\n        this.editOutline = true;\r\n      }\r\n    },\r\n    withdraw() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.$refs.MyMindOutline.withdraw();\r\n    },\r\n    // submitDel() {\r\n    //   this.delUserMindmap();\r\n    //   this.dialogVisibleDel = false;\r\n    // },\r\n    submitDel() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      if (this.command == 1 || this.command == 2) {\r\n        this.delUserMindmap();\r\n      } else if (this.command == 3) {\r\n        this.deletePdf();\r\n      } else {\r\n        this.isDeleteImage = true;\r\n        // 将要删除的位置排序，然后从后往前删除以避免索引变化\r\n        if (this.selectedImagesIndex.length > 1) {\r\n          this.selectedImagesIndex.sort((a, b) => b - a);\r\n        }\r\n        this.selectedImagesIndex.forEach(index => {\r\n          this.images.splice(index, 1);\r\n          this.imagesName.splice(index, 1);\r\n          this.fileImageUrls.splice(index, 1);\r\n        });\r\n        this.saveMindMapImages();\r\n      }\r\n      this.dialogVisibleDel = false;\r\n    },\r\n    saveMindMapImages() {\r\n      let params = {};\r\n      params.mindmap_img = this.fileImageUrls.join(\",\");\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params);\r\n    },\r\n    delUserMindmapShow() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n    },\r\n    // 清空思维导图\r\n    delUserMindmap() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.clickContent();\r\n      if (this.command == 2) {\r\n        if (this.mindMapGuide) {\r\n          console.log(\"delUserMindmap:\", this.mindMapGuide);\r\n          // this.data = deepClone(this.mindMapGuide);\r\n          // this.data.course_default_studythink = \"\";\r\n          this.editOutline2 = false;\r\n          this.$set(this.data, \"course_default_studythink\", []);\r\n          this.$store\r\n            .dispatch(\"setMindMapGuide\", {\r\n              data: \"\",\r\n              isEdited: false,\r\n              timeStamp: new Date().getTime(),\r\n              course_id: this.parent.params\r\n            })\r\n            .then(() => {\r\n              this.$refs.MyMindOutline.$data.isEdited = false;\r\n              this.$refs.MyMindOutline.clearTimeout();\r\n              this.saveMap({\r\n                mindmap_content: \"\"\r\n              });\r\n            });\r\n        }\r\n      } else {\r\n        if (this.mindMapOfficial) {\r\n          console.log(\"delUserMindmap:\", this.mindMapOfficial);\r\n          // this.data.course_recommend_studythink = deepClone(this.mindMapOfficial);\r\n          // this.data.course_recommend_studythink = \"\";\r\n          this.editOutline = false;\r\n          this.$set(this.data, \"course_recommend_studythink\", []);\r\n          this.$store\r\n            .dispatch(\"setMindMapOfficial\", {\r\n              data: \"\",\r\n              isEdited: false,\r\n              timeStamp: new Date().getTime(),\r\n              course_id: this.parent.params\r\n            })\r\n            .then(() => {\r\n              this.$refs.MyMindOutline1.$data.isEdited = false;\r\n              this.$refs.MyMindOutline1.clearTimeout();\r\n              this.saveMap({\r\n                mindmap_content: \"\"\r\n              });\r\n            });\r\n        }\r\n      }\r\n    },\r\n    // notEdit: 是否是点击保存按钮保存的，如果是的话则要退出编辑状态\r\n    saveMindMap(notEdit = true) {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      if (notEdit) {\r\n        if (this.command == 2) {\r\n          this.editOutline2 = false;\r\n        } else {\r\n          this.editOutline = false;\r\n        }\r\n      }\r\n      this.clickContent();\r\n      let mindMap = {};\r\n      if (this.command == 2) {\r\n        if (typeof this.mindMapGuide !== \"string\") {\r\n          mindMap = JSON.stringify(this.mindMapGuide);\r\n        }\r\n      } else {\r\n        if (typeof this.mindMapOfficial !== \"string\") {\r\n          mindMap = JSON.stringify(this.mindMapOfficial);\r\n        }\r\n      }\r\n\r\n      let params = {};\r\n      console.log(\"mindMap:\", mindMap);\r\n      params.mindmap_content = mindMap;\r\n      if(params.mindmap_content == '[]') {\r\n        params.mindmap_content = \"\";\r\n      }\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params);\r\n    },\r\n    // 上传pdf\r\n    uploadPdf() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      if (this.pdfUrl) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请先删除pdf文件\"\r\n        });\r\n        return;\r\n      }\r\n      const app_type = localStorage.getItem(\"app_type\");\r\n      let meditate_pdf_size = 0;\r\n      if(app_type == 1) {\r\n        // 国内\r\n        meditate_pdf_size = decrypt((localStorage.getItem(\"meditate_pdf_size\")));\r\n      } else {\r\n        meditate_pdf_size = decrypt((localStorage.getItem(\"mindmap_pdf_size_admin\")));\r\n      }\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \".pdf\";\r\n      // input.multiple = \"multiple\";\r\n      input.onchange = e => {\r\n        console.log(input.files);\r\n        let file = input.files[0];\r\n        // if (e.path.length > 0) {\r\n\r\n        // }\r\n        if (!/\\.(pdf)$/.test(file.name)) {\r\n          this.$message.error(\"只能上传pdf文件\");\r\n          return false;\r\n        } else if (Math.round((file.size * 100) / (1024 * 1024)) / 100 > meditate_pdf_size) {\r\n          this.$message.error(`上传的文件不能大于${meditate_pdf_size}M`);\r\n          return false;\r\n        } else {\r\n          this.pdfChange(file);\r\n        }\r\n      };\r\n      // input.click();\r\n      input.dispatchEvent(new MouseEvent(\"click\"));\r\n    },\r\n    async pdfChange(file) {\r\n      let directory = '';\r\n      const app_type = localStorage.getItem(\"app_type\");\r\n      if(app_type == 1) {\r\n        // 国内\r\n        directory = decrypt((localStorage.getItem(\"mindmap_pdf_ossurl\")));\r\n      } else {\r\n        directory = decrypt((localStorage.getItem(\"mindmap_pdf_admin\")));\r\n      }\r\n      let res = await uploaDOSS(file, directory);\r\n      console.log(res);\r\n      this.pdfName = res.fileName.split(\".pdf\")[0];\r\n      // 调用后台接口\r\n      this.pdfUrl = await getBase64ByFile(file);\r\n      //todo 保存到indexDb key：url\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      const pdf = await getFile(url);\r\n      if(!pdf) {\r\n        // 保存到indexDb\r\n        await saveFile(url, res.fileName, this.pdfUrl);\r\n      }\r\n      this.savePdf(res.fileUrl).then(() => {\r\n        this.getMindmap();\r\n      });\r\n    },\r\n    savePdf(fileUrl) {\r\n      return new Promise((resolve, reject) => {\r\n        let params = {};\r\n        params.mindmap_pdf = fileUrl;\r\n        this.params = params;\r\n        this.saveMap(params).then(() => {\r\n          resolve();\r\n        });\r\n      });\r\n    },\r\n    downloadPdf() {\r\n      this.$refs.myMindPdf.fileDownload(this.pdfName);\r\n    },\r\n    deletePdfShow() {\r\n      if(this.add_auth == 2) {\r\n        this.$message.warning(\"无权限\");\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n    },\r\n    // 删除pdf文件\r\n    deletePdf() {\r\n      console.log(\"deletePdf\");\r\n      this.isDeletePdf = true;\r\n      this.pdfUrl = \"\";\r\n      let params = {\r\n        mindmap_pdf: \"\"\r\n      };\r\n      this.params = params;\r\n      this.saveMap(params);\r\n    },\r\n    getMindmap() {\r\n      this.parent.getMindmapAdmin(true);\r\n    },\r\n    saveMap(params) {\r\n      console.log(\"saveMap:\", params, this.mindmap_pdf);\r\n      // params.course_id = this.parent.params.course_id;\r\n      try {\r\n        if (this.command == 1) {\r\n        params.mindmap_type = 1;\r\n      } else if (this.command == 2) {\r\n        params.mindmap_type = 2;\r\n      } else if (this.command == 4) {\r\n        // 示例笔记\r\n        params.mindmap_type = 4;\r\n      }\r\n      return new Promise((resolve, reject) => {\r\n        const mindmap_content = params.mindmap_content;\r\n        console.log(\"course_idExt:::\", this.course_idExt);\r\n        if(params.mindmap_content) {\r\n          params.mindmap_content = Base64.encode(params.mindmap_content);\r\n        }\r\n        editUserMindmapAdmin(params, this.parent.params).then(res => {\r\n          if (res && res.code === 0) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"保存成功\"\r\n            });\r\n\r\n            this.loading = false;\r\n            console.log(\"saveMap:success:\", this.loading);\r\n            if (this.command == 2) {\r\n              // 引导思维节点\r\n              this.$store\r\n                .dispatch(\"setMindMapGuide\", {\r\n                  data: mindmap_content,\r\n                  isEdited: false,\r\n                  course_id: this.parent.params\r\n                })\r\n                .then(() => {\r\n                  resolve();\r\n                });\r\n              // 提交完将定时器清空\r\n              this.$refs.MyMindOutline.$data.isEdited = false;\r\n              this.$refs.MyMindOutline.clearTimeout();\r\n            } else if (this.command == 1) {\r\n              this.$store\r\n                .dispatch(\"setMindMapOfficial\", {\r\n                  data: mindmap_content,\r\n                  isEdited: false,\r\n                  course_id: this.parent.params\r\n                })\r\n                .then(() => {\r\n                  resolve();\r\n                });\r\n              // 提交完将定时器清空\r\n              this.$refs.MyMindOutline1.$data.isEdited = false;\r\n              this.$refs.MyMindOutline1.clearTimeout();\r\n              this.$set(\r\n                this.data,\r\n                \"course_recommend_studythink\",\r\n                JSON.parse(mindmap_content)\r\n              );\r\n            } else if (this.command == 3) {\r\n              if (this.isDeletePdf) {\r\n                this.isDeletePdf = false;\r\n              }\r\n              resolve();\r\n            } else {\r\n              if (this.isDeleteImage) {\r\n                this.isDeleteImage = false;\r\n                this.selectedImagesIndex = [];\r\n                console.log(\"delete images:\", this.images);\r\n                console.log(\"delete fileImageUrls:\", this.fileImageUrls);\r\n                mindMap.course_recommend_studythinkimg = this.images.join(\",\");\r\n                mindMap.course_recommend_studythink_img_show = this.fileImageUrls.join(\r\n                  \",\"\r\n                );\r\n                if (this.$refs.myMindImages) {\r\n                  this.$refs.myMindImages.deleteFinish();\r\n                }\r\n                resolve();\r\n              }\r\n            }\r\n          } else {\r\n            this.loading = false;\r\n            reject();\r\n          }\r\n        });\r\n      });\r\n      } catch (error) {\r\n        this.loading = false;\r\n      }\r\n\r\n    },\r\n    clickContent(e) {\r\n      if (this.command === \"1\") {\r\n        // console.log(\"clickContent:::\", e);\r\n        if (!this.$refs.MyMindOutline1.operating.isOperating) {\r\n          this.$refs.MyMindOutline1.hideOperates();\r\n        }\r\n      } else if (this.command == 2) {\r\n        if (!this.$refs.MyMindOutline.operating.isOperating) {\r\n          this.$refs.MyMindOutline.hideOperates();\r\n        }\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {}\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.none_wrapper_box {\r\n  top: 169px !important;\r\n}\r\n.del_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.operates {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  padding: 0 39px 0 70px;\r\n  /deep/ .el-button {\r\n    height: 28px;\r\n    padding: 0 12px;\r\n    border-radius: 18px;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #71afbb;\r\n    line-height: 24px;\r\n  }\r\n  /deep/ .el-dropdown-menu__item {\r\n    color: #71afbb;\r\n  }\r\n  img {\r\n    cursor: pointer;\r\n  }\r\n}\r\n.content {\r\n  // padding: 42px 39px 42px 70px;\r\n  padding-top: 10px;\r\n  height: calc(100% - 28px);\r\n  overflow-y: auto;\r\n  position: relative;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/outline/MyMind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"operates\"},[_c('el-dropdown',{attrs:{\"trigger\":'click'},on:{\"command\":_vm.handleCommand}},[_c('el-button',{attrs:{\"type\":\"default\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.commandSpan)),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.course_isuseradd == '2')?_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_vm._v(\"制作引导节点\")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_vm._v(\"上传大纲模式\")]),_vm._v(\" \"),(_vm.course_isuseradd == '3')?_c('el-dropdown-item',{attrs:{\"command\":\"4\"}},[_vm._v(\"上传图片格式\")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"3\"}},[_vm._v(\"上传PDF格式\")])],1)],1),_vm._v(\" \"),(\n        _vm.command == 1 &&\n          (_vm.course_isuseradd != '3' ||\n            (_vm.course_isuseradd == '3' && !_vm.pdfUrl && !_vm.images.length))\n      )?_c('div',[(!_vm.editOutline)?_c('el-button',{on:{\"click\":function($event){return _vm.startEdit(1)}}},[_vm._v(\"开始编辑\")]):_c('div',[_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"撤销上一次删除\",\"placement\":\"bottom\"}},[_c('img',{staticStyle:{\"margin-right\":\"30px\"},attrs:{\"src\":require(\"@/assets/img/withdraw.svg\"),\"width\":\"17\",\"height\":\"17\"},on:{\"click\":_vm.withdraw}})]),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"保存文件\",\"placement\":\"bottom\"}},[_c('img',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.saveMindMap]),expression:\"[saveMindMap]\"}],staticStyle:{\"margin-right\":\"30px\"},attrs:{\"src\":require(\"@/assets/img/mind_save.png\"),\"width\":\"17\",\"height\":\"17\"}})]),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"删除文件\",\"placement\":\"bottom\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_del.png\"),\"width\":\"15\",\"height\":\"19\"},on:{\"click\":function($event){return _vm.delUserMindmapShow(1)}}})])],1)],1):(_vm.command == 2 && _vm.course_isuseradd == '2')?_c('div',[(!_vm.editOutline2)?_c('el-button',{on:{\"click\":function($event){return _vm.startEdit(2)}}},[_vm._v(\"开始编辑\")]):_c('div',[_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"撤销上一次删除\",\"placement\":\"bottom\"}},[_c('img',{staticStyle:{\"margin-right\":\"30px\"},attrs:{\"src\":require(\"@/assets/img/withdraw.svg\"),\"width\":\"17\",\"height\":\"17\"},on:{\"click\":_vm.withdraw}})]),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"保存文件\",\"placement\":\"bottom\"}},[_c('img',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.saveMindMap]),expression:\"[saveMindMap]\"}],staticStyle:{\"margin-right\":\"30px\"},attrs:{\"src\":require(\"@/assets/img/mind_save.png\"),\"width\":\"17\",\"height\":\"17\"}})]),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"删除文件\",\"placement\":\"bottom\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_del.png\"),\"width\":\"15\",\"height\":\"19\"},on:{\"click\":function($event){return _vm.delUserMindmapShow(2)}}})])],1)],1):(\n        _vm.command == 3 &&\n          (_vm.course_isuseradd != '3' ||\n            (_vm.course_isuseradd == '3' &&\n            _vm.data.course_recommend_studythink &&\n              _vm.data.course_recommend_studythink.length == 0 &&\n              !_vm.images.length))\n      )?_c('div',[(!_vm.pdfUrl)?_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"上传PDF\",\"placement\":\"bottom\"}},[_c('img',{staticStyle:{\"margin-right\":\"30px\"},attrs:{\"src\":require(\"@/assets/img/import_file.png\"),\"width\":\"18\",\"height\":\"18\"},on:{\"click\":_vm.uploadPdf}})]):_vm._e(),_vm._v(\" \"),(_vm.pdfUrl)?_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"下载文件\",\"placement\":\"bottom\"}},[_c('img',{staticStyle:{\"margin-right\":\"30px\"},attrs:{\"src\":require(\"@/assets/img/mind_download.png\"),\"width\":\"18\",\"height\":\"18\"},on:{\"click\":_vm.downloadPdf}})]):_vm._e(),_vm._v(\" \"),(_vm.pdfUrl)?_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"content\":\"删除文件\",\"placement\":\"bottom\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_del.png\"),\"width\":\"15\",\"height\":\"19\"},on:{\"click\":_vm.deletePdfShow}})]):_vm._e()],1):(\n        _vm.command == 4 &&\n          _vm.course_isuseradd == '3' &&\n          _vm.data.course_recommend_studythink &&\n          _vm.data.course_recommend_studythink.length == 0 &&\n          !_vm.pdfUrl\n      )?_c('div',[_c('div',[(!_vm.isEdit && _vm.images.length > 0)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.editImages}},[_vm._v(\"编辑\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.deleteImages}},[_vm._v(\"删除\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.exitImageEdit}},[_vm._v(\"退 出\")]):_vm._e()],1)]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"content\",on:{\"click\":_vm.clickContent}},[_c('MyMindOutline',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command == '2'),expression:\"command == '2'\"}],ref:\"MyMindOutline\",attrs:{\"dataPro\":_vm.data.course_default_studythink,\"paramsPro\":_vm.paramsPro,\"editOutline\":_vm.editOutline2,\"mindMap\":_vm.mindMapGuide,\"type\":2},on:{\"saveMindMap\":_vm.saveMindMap}}),_vm._v(\" \"),_c('MyMindOutline',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command == '1'),expression:\"command == '1'\"}],ref:\"MyMindOutline1\",attrs:{\"dataPro\":_vm.data.course_recommend_studythink,\"paramsPro\":_vm.paramsPro,\"editOutline\":_vm.editOutline,\"mindMap\":_vm.mindMapOfficial,\"type\":1},on:{\"saveMindMap\":_vm.saveMindMap}}),_vm._v(\" \"),(\n        _vm.course_isuseradd != '3' ||\n          (_vm.course_isuseradd == '3' &&\n          _vm.data.course_recommend_studythink &&\n            _vm.data.course_recommend_studythink.length == 0 &&\n            !_vm.images.length)\n      )?_c('MyMindPdf',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command == '3'),expression:\"command == '3'\"}],ref:\"myMindPdf\",attrs:{\"command\":_vm.command,\"pdfUrl\":_vm.pdfUrl,\"isServer\":true,\"imageViewerCanvas\":'imageViewerCanvas2'},on:{\"uploadPdf\":_vm.uploadPdf}}):_vm._e(),_vm._v(\" \"),(_vm.data.course_recommend_studythink && _vm.data.course_recommend_studythink.length == 0 && !_vm.pdfUrl)?_c('MyMindImages',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command === '4'),expression:\"command === '4'\"}],ref:\"myMindImages\",attrs:{\"datas\":_vm.images,\"imagesName\":_vm.imagesName,\"isEdit\":_vm.isEdit,\"imageProgress\":_vm.imageProgress,\"isAdmin\":true},on:{\"selectedImages\":_vm.selectedImages,\"uploadImages\":_vm.uploadImages}}):_vm._e()],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"visible\":_vm.dialogVisibleDel,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleDel=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"确定删除？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleDel = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",on:{\"click\":_vm.submitDel}},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-79ece4d0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/outline/MyMind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-79ece4d0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMind.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-79ece4d0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-79ece4d0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/outline/MyMind.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"box mind\">\r\n    <div class=\"content-box\">\r\n      <MyMind ref=\"myMind\" :dataPro=\"data\" :course_isuseradd=\"course_isuseradd\" :add_auth=\"add_auth\" :parent=\"this\" />\r\n      <!-- <div class=\"content\" v-html=\"course.course_content\"></div> -->\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport MyMind from \"./MyMind.vue\";\r\nimport { getMindmapAdmin } from \"@/api/index\";\r\nimport { deepClone } from \"@/utils/util\";\r\nimport {\r\n  getMindMapGuide,\r\n  getMindMapOfficial,\r\n} from \"@/utils/auth\";\r\nimport { deLongCode } from \"@/utils/jsencrypt\";\r\nimport { decrypt } from \"@/utils/auth\";\r\nexport default {\r\n  components: { MyMind },\r\n  data() {\r\n    return {\r\n      course: {},\r\n      data: {},\r\n      course_id: \"\",\r\n      params: \"\",\r\n      course_isuseradd: \"\",\r\n      add_auth: ''\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {\r\n    getParams() {\r\n      // {user_id, token, mindmap_content, course_id}\r\n      const url = window.location.href; //获取当前url\r\n      // const dz_url = url.split(\"#\")[0]; //获取#/之前的字符串\r\n      console.log(\"url:\", url);\r\n      const param = decodeURIComponent(url.split(\"?\")[1]);\r\n      const params = param.split(\"&\");\r\n      this.course_isuseradd = params[0].split(\"=\")[1];\r\n      this.params = params[1].split(\"=\")[1]; //获取?之后的参数字符串,course_id=1的rsa加密\r\n      this.add_auth = params[2].split(\"=\")[1];\r\n      console.log(\"getParams:\", this.params);\r\n      console.log(this.course_isuseradd)\r\n      // let params = {};\r\n      if (this.params) {\r\n        this.getMindmapAdmin();\r\n      }\r\n    },\r\n    // 获取用户课程思维导图\r\n    getMindmapAdmin(isSaveServer) {\r\n      this.$store.dispatch(\"setCourseIdExt\", this.params);\r\n      // 每次都去请求接口拉取最新数据\r\n      console.log(\"getMindmapAdmin:::\", this.params);\r\n      getMindmapAdmin(this.params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          if (res.data && res.data[0]) {\r\n            let data = res.data[0];\r\n            this.$set(\r\n              this.data,\r\n              \"course_recommend_studythinkpdf\",\r\n              data.course_recommend_studythinkpdf\r\n            );\r\n            this.$set(\r\n              this.data,\r\n              \"course_recommend_studythinkpdf_show\",\r\n              data.course_recommend_studythinkpdf_show\r\n            );\r\n            this.$set(\r\n              this.data,\r\n              \"course_recommend_studythinkimg\",\r\n              data.course_recommend_studythinkimg\r\n            );\r\n            this.$set(\r\n              this.data,\r\n              \"course_recommend_studythinkimg_show\",\r\n              data.course_recommend_studythinkimg_show\r\n            );\r\n            if (data.course_default_studythink) {\r\n              this.$set(\r\n                this.data,\r\n                \"course_default_studythink\",\r\n                JSON.parse(data.course_default_studythink)\r\n              );\r\n            } else {\r\n              this.$set(this.data, \"course_default_studythink\", []);\r\n            }\r\n            this.$store\r\n              .dispatch(\"setMindMapGuide\", {\r\n                data: data.course_default_studythink ? data.course_default_studythink : [],\r\n                isEdited: false,\r\n                course_id: this.params,\r\n              })\r\n              .then(() => {\r\n                console.log(JSON.stringify(this.data));\r\n              });\r\n            if (data.course_recommend_studythink) {\r\n              this.$set(\r\n                this.data,\r\n                \"course_recommend_studythink\",\r\n                JSON.parse(data.course_recommend_studythink)\r\n              );\r\n            } else {\r\n              this.$set(this.data, \"course_recommend_studythink\", []);\r\n            }\r\n\r\n            this.$store\r\n              .dispatch(\"setMindMapOfficial\", {\r\n                data: data.course_recommend_studythink ? data.course_recommend_studythink : [],\r\n                isEdited: false,\r\n                course_id: this.params,\r\n              })\r\n              .then(() => {\r\n                console.log(JSON.stringify(this.data));\r\n              });\r\n          } else {\r\n            this.data = {};\r\n            this.$store.dispatch(\"setMindMapGuide\", {\r\n              data: null,\r\n              isEdited: false,\r\n              course_id: this.params,\r\n            });\r\n          }\r\n        }\r\n      });\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log(\"getParams\");\r\n    this.getParams();\r\n  },\r\n  mounted() {},\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.content-box {\r\n  // padding: 39px 39px 10px 0px;\r\n  border: 1px solid #f2f4f5;\r\n  // border-radius: 16px;\r\n  background-color: #f2f4f5;\r\n  // height: calc(100% - 24px);\r\n  min-height: 100%;\r\n  // min-height: 388px;\r\n  position: relative;\r\n  overflow-y: hidden;\r\n  border-radius: 0;\r\n}\r\n.box {\r\n  height: 100%;\r\n}\r\n.name {\r\n  color: @culture;\r\n  margin-bottom: 11px;\r\n  margin-left: 18px;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n  font-weight: bold;\r\n  color: #71afbb;\r\n  line-height: 24px;\r\n}\r\n.content {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 23px;\r\n  height: calc(100% - 110px);\r\n  min-height: 270px;\r\n  overflow-y: auto;\r\n  // padding-bottom: 23px;\r\n  margin-top: 39px;\r\n}\r\n.mind {\r\n  /deep/ .el-tabs__header {\r\n    padding-left: 50px;\r\n  }\r\n  /deep/ .el-tabs__nav-wrap {\r\n    &::after {\r\n      background-color: #f3f3f7;\r\n    }\r\n  }\r\n  /deep/ .el-tabs__item {\r\n    height: 35px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #7e878c;\r\n    line-height: 21px;\r\n  }\r\n  /deep/ .el-tabs__item.is-active {\r\n    color: @culture;\r\n  }\r\n  /deep/ .el-tabs__active-bar {\r\n    background-color: @culture;\r\n  }\r\n}\r\n\r\n.title {\r\n  font-size: 21px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: @culture;\r\n  line-height: 32px;\r\n}\r\n/deep/ .el-button {\r\n  border-color: @culture;\r\n  color: @culture;\r\n}\r\n\r\n/deep/ .el-tabs {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tabs__content {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/outline/Mind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"box mind\"},[_c('div',{staticClass:\"content-box\"},[_c('MyMind',{ref:\"myMind\",attrs:{\"dataPro\":_vm.data,\"course_isuseradd\":_vm.course_isuseradd,\"add_auth\":_vm.add_auth,\"parent\":this}})],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-543c1a32\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/outline/Mind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-543c1a32\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Mind.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Mind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Mind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-543c1a32\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Mind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-543c1a32\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/outline/Mind.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <el-container class=\"container\">\r\n    <!-- <el-header\r\n      :style=\"{ background: theme === 'white' ? '#eaedef' : '#1f1f1f' }\"\r\n    >\r\n      <Hearder :activeIndex=\"'0'\" :theme=\"'white'\" />\r\n    </el-header> -->\r\n    <el-container class=\"main\">\r\n      <Mind />\r\n    </el-container>\r\n  </el-container>\r\n</template>\r\n\r\n<script>\r\nimport Hearder from \"@/components/Hearder.vue\";\r\nimport Mind from \"@/views/outline/Mind.vue\";\r\nexport default {\r\n  components: { Hearder, Mind },\r\n  data() {\r\n    return {\r\n      theme: \"white\",\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {},\r\n  created() {},\r\n  mounted() {},\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.container {\r\n  overflow: hidden;\r\n  height: 100%;\r\n}\r\n// /deep/ .el-header {\r\n//   padding: 0;\r\n//   position: fixed;\r\n//   top: 0;\r\n//   width: 100%;\r\n//   background: #eaedef;\r\n//   box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);\r\n//   padding: 10px 32px;\r\n//   height: auto !important;\r\n//   z-index: 101;\r\n// }\r\n.box {\r\n  width: 100%;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/index/OutlineIndex.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"container\"},[_c('el-container',{staticClass:\"main\"},[_c('Mind')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-64616d0a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/index/OutlineIndex.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-64616d0a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./OutlineIndex.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./OutlineIndex.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./OutlineIndex.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-64616d0a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./OutlineIndex.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-64616d0a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/index/OutlineIndex.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzMHB4IiBoZWlnaHQ9IjUycHgiIHZpZXdCb3g9IjAgMCAyMzAuMCA1Mi4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImkwIj48cGF0aCBkPSJNNDQxLDAgTDQ0MSw4MTIgTDAsODEyIEwwLDAgTDQ0MSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik02My4yNTQwMTE1LDAgQzcxLjYxMzAwMDIsMCA4NC4zOTAyNjY0LDguNTY1MDI2NzcgOTEuODc5NDUwOSwxMS4yNzM3OTYxIEM5NS41NDEzODk0LDEyLjU5ODI4NTYgMTAyLjExMTIyOSwxMy42MTk0OTUxIDExMS41ODg5NywxNC4zMzc0MjQ1IEMxMTYuOTY4MDUzLDE0LjA0NTc2MzkgMTIwLjk0MDg5LDEzLjY4NzAzODYgMTIzLjUwODYyOSwxMy4yNjExMDQ4IEMxMzEuMTI5MjAzLDExLjk5NzAxMjUgMTQ0LjEzMDYzMSw4IDE1Mi42MzYyNjksOCBDMTYxLjE0MTkwNyw4IDE2NS43NDAyODYsMTMuMjYxMTA0OCAxNzIuMzg3MTU1LDEzLjI2MTEwNDggQzE3OS4wMzQwMjQsMTMuMjYxMTA0OCAxODMuMjMwMDQxLDkuMTQ5Nzc1NzkgMTg3Ljk4NDQ0Myw5LjE0OTc3NTc5IEMxOTIuNzM4ODQ2LDkuMTQ5Nzc1NzkgMTk0Ljg3NzY1MiwxMy4yNjExMDQ4IDIwMC41MDAyNzYsMTMuMjYxMTA0OCBDMjA2LjEyMjksMTMuMjYxMTA0OCAyMTMuMTE3NzEyLDggMjE3LDggTDIxNywyMiBDMjEzLjExNzcxMiwyMiAyMDYuMTIyOSwxNi43Mzg4OTUyIDIwMC41MDAyNzYsMTYuNzM4ODk1MiBDMTk0Ljg3NzY1MiwxNi43Mzg4OTUyIDE5Mi43Mzg4NDYsMjAuODUwMjI0MiAxODcuOTg0NDQzLDIwLjg1MDIyNDIgQzE4My4yMzAwNDEsMjAuODUwMjI0MiAxNzkuMDM0MDI0LDE2LjczODg5NTIgMTcyLjM4NzE1NSwxNi43Mzg4OTUyIEMxNjUuNzQwMjg2LDE2LjczODg5NTIgMTYxLjE0MTkwNywyMiAxNTIuNjM2MjY5LDIyIEMxNDQuMTMwNjMxLDIyIDEzMS4xMjkyMDMsMTguMDAyOTg3NSAxMjMuNTA4NjI5LDE2LjczODg5NTIgQzEyMC45NDA4OSwxNi4zMTI5NjE0IDExNi45NjgwNTMsMTUuOTU0MjM2MSAxMTEuNTkwMTIsMTUuNjYyNzE5NCBDMTAyLjExMTIyOSwxNi4zODA1MDQ5IDk1LjU0MTM4OTQsMTcuNDAxNzE0NCA5MS44Nzk0NTA5LDE4LjcyNjIwMzkgQzg0LjM5MDI2NjQsMjEuNDM0OTczMiA3MS42MTMwMDAyLDMwIDYzLjI1NDAxMTUsMzAgQzU0Ljg5NTAyMjcsMzAgNTAuMzc1OTI1NywxOC43MjYyMDM5IDQzLjg0MzY1OCwxOC43MjYyMDM5IEMzNy4zMTEzOTAzLDE4LjcyNjIwMzkgMzMuMTg3NzE4NSwyNy41MzYxOTQ3IDI4LjUxNTI4ODQsMjcuNTM2MTk0NyBDMjMuODQyODU4MywyNy41MzYxOTQ3IDIxLjc0MDkyODcsMTguNzI2MjAzOSAxNi4yMTUyNDY0LDE4LjcyNjIwMzkgQzEzLjUwMjYzODcsMTguNzI2MjAzOSAxMC40NjUwNDY1LDIxLjQ0MzA5NTYgNy42MjM4ODYxOCwyNC4yMDkzODUzIEw2Ljk5NTk2MjU5LDI0LjgyMzg0NTMgQzQuMjkwODA4NjcsMjcuNDgwNjMyNyAxLjgwMzYyMDk5LDMwIDAsMzAgTDAsMCBDMS44MDM2MjA5OSwwIDQuMjkwODA4NjcsMi41MTkzNjczMiA2Ljk5NTk2MjU5LDUuMTc2MTU0NjcgTDcuNjIzODg2MTgsNS43OTA2MTQ2NyBDMTAuNDY1MDQ2NSw4LjU1NjkwNDM4IDEzLjUwMjYzODcsMTEuMjczNzk2MSAxNi4yMTUyNDY0LDExLjI3Mzc5NjEgQzIxLjc0MDkyODcsMTEuMjczNzk2MSAyMy44NDI4NTgzLDIuNDYzODA1MjcgMjguNTE1Mjg4NCwyLjQ2MzgwNTI3IEMzMy4xODc3MTg1LDIuNDYzODA1MjcgMzcuMzExMzkwMywxMS4yNzM3OTYxIDQzLjg0MzY1OCwxMS4yNzM3OTYxIEM1MC4zNzU5MjU3LDExLjI3Mzc5NjEgNTQuODk1MDIyNywwIDYzLjI1NDAxMTUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9ImkyIiB4MT0iLTIuMDg0OTY4MTJweCIgeTE9IjFweCIgeDI9IjE5OC4yNjkxMDNweCIgeTI9IjFweCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9InJnYmEoMjM1LCAyMzgsIDIzOSwgMCkiIG9mZnNldD0iMCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRDhBIiBvZmZzZXQ9IjQuNjExMDEzOTklIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZEN0U3MCIgb2Zmc2V0PSI5My4xOTU0NzY0JSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9InJnYmEoMjExLCAyMTcsIDIxOCwgMCkiIG9mZnNldD0iMTAwJSI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNi4wIC04LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNi4wIDguMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuNDk5OTk5OTk5OTk5OTQzIDExLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wIDE1LjApIj48cGF0aCBkPSJNMC4zMjIyNTkxMzYsMC41IEwxOTMuNjc3NzQxLDAuNSIgc3Ryb2tlPSJ1cmwoI2kyKSIgc3Ryb2tlLXdpZHRoPSIzNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIgMS4wIDUuMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/voice-wave4.svg\n// module id = mNwS\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"main-content  bg-white\"\r\n    :class=\"[\r\n      !isContained\r\n        ? isOpen\r\n          ? 'big-view-box-page'\r\n          : 'outof-big-view-box-page'\r\n        : '',\r\n      'main-content' + meditate_type\r\n    ]\"\r\n  >\r\n    <div class=\"box\">\r\n      <div\r\n        class=\"box-content-name name\"\r\n        :class=\"isContained ? 'isContained' : ''\"\r\n        :style=\"{ color: meditate_type == 1 ? '#64afd5' : '#ffb096' }\"\r\n        @click=\"back\"\r\n      >\r\n        <img\r\n          v-if=\"isContained && meditate_type == 1\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/thinking.svg'\"\r\n        />\r\n        <img\r\n          v-if=\"isContained && meditate_type == 2\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/behavior.svg'\"\r\n        />\r\n        止静\r\n      </div>\r\n      <div class=\"content-box\" ref=\"contentBox\">\r\n        <div\r\n          :class=\"'playArea' + meditate_type\"\r\n          v-if=\"zhijingIng && !isStop\"\r\n        ></div>\r\n        <div class=\"showArea\">\r\n          <div class=\"zhijing_label\" v-if=\"zhijingIng && !isStop\">\r\n            止静进行中\r\n          </div>\r\n          <div class=\"zhijing_label\" v-if=\"zhijingIng && isStop\">止静结束</div>\r\n          <div class=\"zhijing_label\" v-if=\"!zhijingIng\">&nbsp;</div>\r\n          <div class=\"time\">{{ currentTimeFormat }}</div>\r\n          <!-- <div class=\"time\" v-else>00:00</div> -->\r\n          <div class=\"duration\" v-if=\"zhijingIng && !isStop\">\r\n            时长：{{ time }}\r\n          </div>\r\n          <el-select\r\n            id=\"silence_step1\"\r\n            ref=\"mySelect\"\r\n            v-if=\"!zhijingIng || (zhijingIng && isStop)\"\r\n            v-model=\"value\"\r\n            placeholder=\"请选择\"\r\n            :popper-class=\"'dropdown dropdown-silence dropdown' + meditate_type\"\r\n            @change=\"change\"\r\n          >\r\n            <el-option\r\n              v-for=\"item in zhijingOptions\"\r\n              :key=\"item.value\"\r\n              :label=\"item.label\"\r\n              :value=\"item.value\"\r\n            >\r\n            </el-option>\r\n          </el-select>\r\n          <div\r\n            v-if=\"!zhijingIng\"\r\n            class=\"btn start_btn\"\r\n            :class=\"'btn' + meditate_type\"\r\n            @click=\"start\"\r\n          >\r\n            开&nbsp;&nbsp;始\r\n          </div>\r\n          <div\r\n            v-if=\"zhijingIng && !isStop\"\r\n            class=\"btn start_btn\"\r\n            :class=\"'btn' + meditate_type\"\r\n            @click=\"stop\"\r\n          >\r\n            终&nbsp;&nbsp;止\r\n          </div>\r\n          <div\r\n            v-if=\"zhijingIng && isStop\"\r\n            class=\"btn start_btn\"\r\n            :class=\"'btn' + meditate_type\"\r\n            @click=\"finish\"\r\n          >\r\n            完&nbsp;&nbsp;成\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <AudioCom\r\n      v-if=\"inited\"\r\n      v-show=\"false\"\r\n      :bgColor=\"'#64AFD5'\"\r\n      :progressColor=\"'rgba(100,175,213,0.2500)'\"\r\n      :title=\"'止静开始'\"\r\n      url=\"/static/silence_start.mp3\"\r\n      :currentTimeProp=\"'0'\"\r\n      :needPlay=\"false\"\r\n      ref=\"audioComStart\"\r\n    />\r\n    <AudioCom\r\n      v-if=\"inited\"\r\n      v-show=\"false\"\r\n      :bgColor=\"'#64AFD5'\"\r\n      :progressColor=\"'rgba(100,175,213,0.2500)'\"\r\n      :title=\"'止静开始'\"\r\n      url=\"/static/silence_end.mp3\"\r\n      :currentTimeProp=\"'0'\"\r\n      :needPlay=\"false\"\r\n      ref=\"audioComEnd\"\r\n    />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  editUserMeditate,\r\n  getMeditateZhijingParams,\r\n  setMeditateTextComplete\r\n} from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { secTotime } from \"@/utils/util.js\";\r\nimport AudioCom from \"@/components/AudioCom\";\r\nimport { silence_guide } from \"@/utils/intro\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nexport default {\r\n  name: \"Silence\",\r\n  mixins: [openOtherPageMixins],\r\n  components: {\r\n    AudioCom\r\n  },\r\n  props: {},\r\n  data() {\r\n    return {\r\n      isDropdownVisible: false,\r\n      meditate_type: 1,\r\n      meditate_id: \"\",\r\n      isOpen: true,\r\n      zhijingOptions: [],\r\n      completeLength: 0,\r\n      zhijingIng: false,\r\n      value: \"\",\r\n      time: 0,\r\n      currentTimeFormat: \"00:00\",\r\n      currentTime: 0,\r\n      timer: null,\r\n      playTime: 0,\r\n      isSetComplete: false,\r\n      isStop: false,\r\n      playEnd: false,\r\n      isContained: false,\r\n      inited: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course_name() {\r\n      return this.$store.getters.course_name;\r\n    },\r\n    meditate() {\r\n      if (this.meditate_type == 1) {\r\n        return this.$store.getters.thinkMeditate;\r\n      } else {\r\n        return this.$store.getters.mindMeditate;\r\n      }\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next(vm => {\r\n      if (from.name == \"index\") {\r\n        const isContained = vm.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        if(!isContained) {\r\n          vm.isOpen = true;\r\n        }\r\n      }\r\n    });\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    console.log(\"beforeRouteLeave\");\r\n    if (to.name == \"index\") {\r\n      this.isOpen = false;\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      this.init();\r\n      console.log(this.$route.path);\r\n      next();\r\n      this.$store.dispatch(\"popHistoryOperate\", {\r\n        type: \"openOtherPage\"\r\n      });\r\n      // let timeout = setTimeout(() => {\r\n      //   this.init();\r\n      //   // let timeout1 = setTimeout(() => {\r\n      //   //   console.log(this.$route.path);\r\n      //   //   clearTimeout(timeout1);\r\n      //   //   next();\r\n      //   //   this.$store.dispatch(\"popHistoryOperate\", {\r\n      //   //     type: \"openOtherPage\"\r\n      //   //   });\r\n      //   // }, 500);\r\n\r\n      //   clearTimeout(timeout);\r\n      // }, 550);\r\n    } else {\r\n      this.init();\r\n      next();\r\n    }\r\n  },\r\n  watch: {\r\n    playTime: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (\r\n          v >= this.value - this.$refs.audioComEnd.$data.audio.duration &&\r\n          !this.playEnd\r\n        ) {\r\n          console.log(\"播放止静结尾音频\");\r\n          this.playEnd = true;\r\n          console.log(this.$refs.audioComEnd.$data.audio.duration);\r\n          this.$refs.audioComEnd.playStart(true);\r\n        }\r\n        if (v == this.value) {\r\n          this.stop();\r\n        }\r\n      }\r\n    },\r\n    historyOperate: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.isContained = this.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        console.log(this.isContained);\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    start() {\r\n      this.$refs.audioComStart.playStart(true);\r\n      this.zhijingIng = true;\r\n      this.playTime = 0;\r\n      this.isStop = false;\r\n      this.playEnd = false;\r\n      // 播放时长\r\n      this.timer = setInterval(() => {\r\n        try {\r\n          this.playTime++;\r\n          this.currentTime = this.currentTime - 1; //获取播放进度\r\n          this.currentTimeFormat = secTotime(this.currentTime);\r\n          if (this.playTime >= this.completeLength && !this.isSetComplete) {\r\n            if (this.courseIsuseradd != 3) {\r\n              // 设置完成状态\r\n              this.isSetComplete = true;\r\n              this.setMeditateTextComplete();\r\n            }\r\n          }\r\n        } catch (error) {\r\n          this.timer = null;\r\n        }\r\n      }, 1000);\r\n    },\r\n    stop() {\r\n      //   this.zhijingIng = true;\r\n      this.$refs.audioComStart.pause();\r\n      this.playTime = 0;\r\n      this.isSetComplete = false;\r\n      this.isStop = true;\r\n      this.playEnd = false;\r\n      this.time = Math.floor(this.value / 60) + \"分钟\";\r\n      this.currentTimeFormat = secTotime(this.value);\r\n      this.currentTime = parseInt(this.value);\r\n      clearInterval(this.timer);\r\n    },\r\n    finish() {\r\n      this.back();\r\n    },\r\n    init() {\r\n      this.zhijingIng = false;\r\n      this.playTime = 0;\r\n      this.isSetComplete = false;\r\n      this.isStop = false;\r\n      this.playEnd = false;\r\n      // this.time = Math.floor(this.value / 60) + \"分钟\";\r\n      // this.currentTimeFormat = secTotime(this.value);\r\n      // this.currentTime = parseInt(this.value);\r\n      if (this.$refs.audioComStart) {\r\n        this.$refs.audioComStart.pause();\r\n      }\r\n      if (this.$refs.audioComEnd) {\r\n        this.$refs.audioComEnd.pause();\r\n      }\r\n      if (this.timer) {\r\n        clearInterval(this.timer);\r\n        this.timer = null;\r\n      }\r\n    },\r\n    change(value) {\r\n      this.zhijingIng = false;\r\n      this.isStop = false;\r\n      this.time = Math.floor(value / 60) + \"分钟\";\r\n      this.currentTimeFormat = secTotime(value);\r\n      this.currentTime = parseInt(value);\r\n    },\r\n    back() {\r\n      if (this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      const isContained = this.historyOperate.some(item => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      console.log(isContained);\r\n      if (isContained) {\r\n        console.log(\"replace\");\r\n        this.$router.replace(\"/\");\r\n      } else {\r\n        this.$router.back();\r\n      }\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    async setMeditateTextComplete() {\r\n      try {\r\n        const params = {\r\n          course_id: this.course_id,\r\n          type: this.meditate_type\r\n        };\r\n        const res = await setMeditateTextComplete(params);\r\n        if (res && res.code == 0) {\r\n          if (this.meditate_type == 1) {\r\n            this.$store.dispatch(\"setCourseProgress\", {\r\n              ...this.courseProgress,\r\n              progress_meditate_siwei_complete: 1\r\n            });\r\n          } else {\r\n            this.$store.dispatch(\"setCourseProgress\", {\r\n              ...this.courseProgress,\r\n              progress_meditate_xingwei_complete: 1\r\n            });\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async getMeditateZhijingParams() {\r\n      try {\r\n        const res = await getMeditateZhijingParams();\r\n        if (res && res.code == 0) {\r\n          this.zhijingOptions = [];\r\n          const zhijingarr = res.data[0].zhijingarr;\r\n          zhijingarr.forEach(item => {\r\n            this.zhijingOptions.push({\r\n              value: item.zhijing + \"\",\r\n              label: \"止静\" + Math.floor(item.zhijing / 60) + \"分钟\"\r\n            });\r\n          });\r\n          this.value = zhijingarr[0].zhijing + \"\";\r\n          this.currentTime = parseInt(this.value);\r\n          this.change(this.value);\r\n          this.completeLength = res.data[0].completeLength;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    guide() {\r\n      console.log(\"guide:\", this.zhijingIng);\r\n      if(this.zhijingIng) {\r\n        // this.init();\r\n        this.zhijingIng = false;\r\n        // this.playTime = 0;\r\n        this.isSetComplete = false;\r\n        this.isStop = false;\r\n        this.playEnd = false;\r\n        this.time = Math.floor(this.value / 60) + \"分钟\";\r\n        this.currentTimeFormat = secTotime(this.value);\r\n        this.currentTime = parseInt(this.value);\r\n        if (this.$refs.audioComStart) {\r\n          this.$refs.audioComStart.pause();\r\n        }\r\n        if (this.$refs.audioComEnd) {\r\n          this.$refs.audioComEnd.pause();\r\n        }\r\n        if (this.timer) {\r\n          clearInterval(this.timer);\r\n          this.timer = null;\r\n        }\r\n      }\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      let timeout = setTimeout(() => {\r\n        this.$refs.mySelect.toggleMenu();\r\n        this.initGuide();\r\n        clearTimeout(timeout);\r\n      }, 800);\r\n    },\r\n    selectHide() {\r\n      this.$refs.mySelect.blur();\r\n    },\r\n    initGuide() {\r\n      silence_guide(this, this.meditate_type, [\r\n        {\r\n          intro: \"可选择止静时间（5/10/15分钟）\",\r\n          element: document.querySelector(\"#silence_step1\"),\r\n          position: \"top\"\r\n        }\r\n      ]);\r\n    }\r\n  },\r\n  activated() {\r\n    console.log(\"activated\");\r\n    this.inited = true;\r\n    this.value = \"300\";\r\n    this.change(300);\r\n    this.meditate_type = this.$route.query.meditate_type;\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if (this.meditate_type == \"1\" && guideStatus.silence_1 == \"0\") {\r\n      this.guide();\r\n    }\r\n    if (this.meditate_type == \"2\" && guideStatus.silence_2 == \"0\") {\r\n      this.guide();\r\n    }\r\n  },\r\n  deactivated() {\r\n    this.inited = false;\r\n    console.log(\"deactivated\");\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.getMeditateZhijingParams();\r\n    this.meditate_type = this.$route.query.meditate_type;\r\n    EventBus.$on(\"silence1_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n    // EventBus.$on(\"OPEN_OTHER_PAGE\", isOpen => {\r\n    //   this.isOpen = true;\r\n    // });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.big-view-box-page {\r\n  .name {\r\n    cursor: pointer;\r\n  }\r\n}\r\n.isContained {\r\n  display: flex;\r\n  // padding-left: 32px;\r\n  // align-items: center;\r\n}\r\n.main-content {\r\n  // margin-top: 60px;\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n}\r\n.box {\r\n  height: 100%;\r\n  padding: 26px 32px 0 32px;\r\n  min-height: 690px;\r\n}\r\n.content-box {\r\n  padding: 0 35px;\r\n  background-color: transparent;\r\n  // height: calc(100% - 24px);\r\n  min-height: 388px;\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  .zhijing_label {\r\n    font-family: PingFangSC, PingFang SC;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #335160;\r\n    line-height: 22px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    padding-top: 90px;\r\n  }\r\n  .time {\r\n    font-family: PingFangSC, PingFang SC;\r\n    font-weight: 300;\r\n    font-size: 71px;\r\n    color: #335160;\r\n    line-height: 99px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    padding-top: 16px;\r\n  }\r\n  .duration {\r\n    font-family: PingFangSC, PingFang SC;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #335160;\r\n    line-height: 30px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    padding-bottom: 97px;\r\n    padding-top: 26px;\r\n  }\r\n}\r\n.showArea {\r\n  z-index: 10;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n}\r\n.playArea1 {\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: url(\"~@/assets/img/tipsview_bg02.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n  animation: pl 6s linear infinite;\r\n  @keyframes pl {\r\n    0% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n      opacity: 0;\r\n    }\r\n    25% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n      opacity: 0.5;\r\n    }\r\n    50% {\r\n      transform: scale(1);\r\n      -webkit-transform: scale(1);\r\n      opacity: 1;\r\n    }\r\n    75% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n      opacity: 0.5;\r\n    }\r\n    100% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n      opacity: 0;\r\n    }\r\n  }\r\n}\r\n.playArea2 {\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: url(\"~@/assets/img/behavioraudio02.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n  animation: pl 6s linear infinite;\r\n  @keyframes pl {\r\n    0% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n      opacity: 0;\r\n    }\r\n    25% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n      opacity: 0.5;\r\n    }\r\n    50% {\r\n      transform: scale(1);\r\n      -webkit-transform: scale(1);\r\n      opacity: 1;\r\n    }\r\n    75% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n      opacity: 0.5;\r\n    }\r\n    100% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n      opacity: 0;\r\n    }\r\n  }\r\n}\r\n.main-content1 {\r\n  background: #f2f4f5 url(\"~@/assets/img/silence_bg.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n}\r\n.main-content2 {\r\n  background: #f2f4f5 url(\"~@/assets/img/silence_bg2.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n}\r\n.btn {\r\n  width: 101px;\r\n  height: 101px;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 18px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 32px;\r\n  cursor: pointer;\r\n  border-radius: 50%;\r\n}\r\n.btn1 {\r\n  background: url(\"~@/assets/img/silence_btn_bg.svg\") no-repeat;\r\n  background-position: center center;\r\n  background-size: 100%;\r\n}\r\n.btn2 {\r\n  background: url(\"~@/assets/img/silence_btn_bg.svg\") no-repeat;\r\n  background-position: center center;\r\n  background-size: 100%;\r\n}\r\n.eye {\r\n  cursor: pointer;\r\n  width: 35px;\r\n  height: 35px;\r\n  position: fixed;\r\n  left: 29px;\r\n  top: 76px;\r\n  // padding-left: 35px;\r\n}\r\n.el-select {\r\n  margin-bottom: 85px;\r\n  margin-top: 25px;\r\n}\r\n/deep/ .el-select:hover .el-input__inner,\r\n/deep/ .el-select .el-input.is-focus .el-input__inner,\r\n/deep/ .el-select .el-input__inner:focus {\r\n  border-color: #243842;\r\n}\r\n\r\n/deep/ .el-input__icon {\r\n  width: 25px;\r\n  line-height: 40px;\r\n}\r\n\r\n/deep/ .el-input__inner {\r\n  width: 153px;\r\n  height: 43px;\r\n  border-radius: 29px;\r\n  border: 1px solid #243842;\r\n  background: transparent;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #335160;\r\n  line-height: 28px;\r\n  text-align: center;\r\n}\r\n/deep/ .el-input__suffix {\r\n  right: 16px;\r\n  top: 0;\r\n}\r\n/deep/ .el-select .el-input .el-select__caret {\r\n  font-size: 28px;\r\n  color: #243842;\r\n}\r\n/deep/ .el-select .el-input .el-select__caret.is-reverse {\r\n  right: 0;\r\n  top: 0;\r\n  position: absolute;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Silence.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content bg-white\",class:[\n    !_vm.isContained\n      ? _vm.isOpen\n        ? 'big-view-box-page'\n        : 'outof-big-view-box-page'\n      : '',\n    'main-content' + _vm.meditate_type\n  ]},[_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"box-content-name name\",class:_vm.isContained ? 'isContained' : '',style:({ color: _vm.meditate_type == 1 ? '#64afd5' : '#ffb096' }),on:{\"click\":_vm.back}},[(_vm.isContained && _vm.meditate_type == 1)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/thinking.svg'}}):_vm._e(),_vm._v(\" \"),(_vm.isContained && _vm.meditate_type == 2)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/behavior.svg'}}):_vm._e(),_vm._v(\"\\n      止静\\n    \")]),_vm._v(\" \"),_c('div',{ref:\"contentBox\",staticClass:\"content-box\"},[(_vm.zhijingIng && !_vm.isStop)?_c('div',{class:'playArea' + _vm.meditate_type}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"showArea\"},[(_vm.zhijingIng && !_vm.isStop)?_c('div',{staticClass:\"zhijing_label\"},[_vm._v(\"\\n          止静进行中\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.zhijingIng && _vm.isStop)?_c('div',{staticClass:\"zhijing_label\"},[_vm._v(\"止静结束\")]):_vm._e(),_vm._v(\" \"),(!_vm.zhijingIng)?_c('div',{staticClass:\"zhijing_label\"},[_vm._v(\" \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.currentTimeFormat))]),_vm._v(\" \"),(_vm.zhijingIng && !_vm.isStop)?_c('div',{staticClass:\"duration\"},[_vm._v(\"\\n          时长：\"+_vm._s(_vm.time)+\"\\n        \")]):_vm._e(),_vm._v(\" \"),(!_vm.zhijingIng || (_vm.zhijingIng && _vm.isStop))?_c('el-select',{ref:\"mySelect\",attrs:{\"id\":\"silence_step1\",\"placeholder\":\"请选择\",\"popper-class\":'dropdown dropdown-silence dropdown' + _vm.meditate_type},on:{\"change\":_vm.change},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.zhijingOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1):_vm._e(),_vm._v(\" \"),(!_vm.zhijingIng)?_c('div',{staticClass:\"btn start_btn\",class:'btn' + _vm.meditate_type,on:{\"click\":_vm.start}},[_vm._v(\"\\n          开  始\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.zhijingIng && !_vm.isStop)?_c('div',{staticClass:\"btn start_btn\",class:'btn' + _vm.meditate_type,on:{\"click\":_vm.stop}},[_vm._v(\"\\n          终  止\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.zhijingIng && _vm.isStop)?_c('div',{staticClass:\"btn start_btn\",class:'btn' + _vm.meditate_type,on:{\"click\":_vm.finish}},[_vm._v(\"\\n          完  成\\n        \")]):_vm._e()],1)])]),_vm._v(\" \"),(_vm.inited)?_c('AudioCom',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"audioComStart\",attrs:{\"bgColor\":'#64AFD5',\"progressColor\":'rgba(100,175,213,0.2500)',\"title\":'止静开始',\"url\":\"/static/silence_start.mp3\",\"currentTimeProp\":'0',\"needPlay\":false}}):_vm._e(),_vm._v(\" \"),(_vm.inited)?_c('AudioCom',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"audioComEnd\",attrs:{\"bgColor\":'#64AFD5',\"progressColor\":'rgba(100,175,213,0.2500)',\"title\":'止静开始',\"url\":\"/static/silence_end.mp3\",\"currentTimeProp\":'0',\"needPlay\":false}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9e8b20de\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Silence.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-9e8b20de\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Silence.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Silence.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Silence.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9e8b20de\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Silence.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-9e8b20de\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Silence.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/headimage9.fc61c63.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage9.png\n// module id = mpvo\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjQ4cHgiIGhlaWdodD0iNDdweCIgdmlld0JveD0iMCAwIDQ4LjAgNDcuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ4OC4wIC01NTEuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4OS4wIDU1MS41KSI+PHBhdGggZD0iTTIzLDQ2IEMzNS43MDI1NDkyLDQ2IDQ2LDM1LjcwMjU0OTIgNDYsMjMgQzQ2LDEwLjI5NzQ1MDggMzUuNzAyNTQ5MiwwIDIzLDAgQzEwLjI5NzQ1MDgsMCAwLDEwLjI5NzQ1MDggMCwyMyBDMCwzNS43MDI1NDkyIDEwLjI5NzQ1MDgsNDYgMjMsNDYgWiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjIwNzQxODMxMzQ2NTE2OSAxMy45NzYyMzQ2OTg5MjI0NSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zLjA1MzU1NzQwNjkyOTAzMDVlLTEyIDAuNzA3MTA2NzgxMTg3MTI4OCkgcm90YXRlKC00NC45OTk5OTk5OTk5OTk5OSkiPjxwYXRoIGQ9Ik0wLjUsMCBMMC41LDI0IiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcuNjc3NjY5NTI5NjYwNjMzIDAuNzA3MTA2NzgxMTg2MjE5Mykgcm90YXRlKDQ0Ljk5OTk5OTk5OTk5OTk5KSBzY2FsZSgtMS4wIDEuMCkiPjxwYXRoIGQ9Ik0wLjUsMCBMMC41LDI0IiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/close.svg\n// module id = mq5u\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTcuMTQgMjAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO30uY2xzLTJ7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoKTt9LmNscy0ze2ZpbGw6I2ZmZjt9PC9zdHlsZT48Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEuNDMpIj48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIvPjwvY2xpcFBhdGg+PC9kZWZzPjx0aXRsZT7otYTmupAgMTwvdGl0bGU+PGcgaWQ9IuWbvuWxgl8yIiBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBpZD0i5Zu+5bGCXzEtMiIgZGF0YS1uYW1lPSLlm77lsYIgMSI+PGcgY2xhc3M9ImNscy0yIj48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik04LjEsMi44NlYwbDQuNzYsMy44MUw4LjEsNy42MlY0Ljc2SDYuMTlBMi44NiwyLjg2LDAsMCwwLDMuMzMsNy42MnYzLjgxSDEuNDNWNy42MkE0Ljc2LDQuNzYsMCwwLDEsNi4xOSwyLjg2Wm0tMSw2LjY2YTEsMSwwLDAsMSwxLS45NWg5LjUyYTEsMSwwLDAsMSwuOTUuOTVoMHY5LjUzYTEsMSwwLDAsMS0uOTUuOTVIOC4xYTEsMSwwLDAsMS0xLS45NWgwWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEuNDMpIi8+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/pdf-rotate.svg\n// module id = nRsr\n// module chunks = 171","/**\r\n * 时间戳\r\n * @param {*} timestamp  时间戳\r\n */\r\n// import JSEncrypt from \"jsencrypt\";\r\n// const { JSEncrypt } = require(\"encryptlong\");\r\n// const entry = new JSEncrypt();\r\nimport { getLongCode } from \"./jsencrypt\";\r\n\r\nimport md5 from \"js-md5\";\r\n\r\nimport { getUserInfo, getCourse } from \"@/utils/auth\";\r\n\r\nimport { EventBus } from \"@/utils/eventBus\";\r\n\r\nimport store from \"../vuex/index\";\r\n\r\nimport axios from \"axios\";\r\n\r\nimport { base64ToBlob } from \"@/utils/indexDb\";\r\n\r\nimport html2canvas from 'html2canvas';\r\nimport * as htmlToImage from 'html-to-image';\r\nimport { jsPDF } from \"jspdf\";\r\n\r\n// const pubKey =\r\n//   \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw4wPLOnPFTcA87drH3H+6mvmAE9ZfbVEf+R2p2l5IkppcB9ag4NygmUzqCThLbZRJHgWFd2HJfXXvS9NGV1twb3Yhuu7oUtKhusxmuQXGXOqrhkcm1cPoBQNiqqWUCEGtXaAL9Bdu/5ydPZglBBcXnNQHGtegWKxxwNhSowimckG8r7Up1J+FEXH4+odGRhBqQSfXa/pGwKk+DdlI92xmWMbgSlSYO0CWHpQiUWuPxe6OtmOjbH1gdZGyAtRECFRWXlpu5/j+4WFQoeYe+k0NyFveBsoxgx0qAmgqpLp4OZnEitC1ynTZC/iB1YThbTpIpURION1Mo3KHa2+9GeY8QIDAQAB\"; //可以直接找后端要，也可以请求接口获取\r\n// entry.setPublicKey(pubKey);\r\nconst API_KEY = \"X&*jfUuAn(&jfdI=6\";\r\nconst timestampToTime = timestamp => {\r\n  let date = new Date(timestamp); //时间戳为10位需*1000，时间戳为13位的话不需乘1000\r\n  let Y = date.getFullYear() + \"-\";\r\n  let M =\r\n    (date.getMonth() + 1 < 10\r\n      ? \"0\" + (date.getMonth() + 1)\r\n      : date.getMonth() + 1) + \"-\";\r\n  let D = (date.getDate() < 10 ? \"0\" + date.getDate() : date.getDate()) + \" \";\r\n  let h =\r\n    (date.getHours() < 10 ? \"0\" + date.getHours() : date.getHours()) + \":\";\r\n  let m =\r\n    (date.getMinutes() < 10 ? \"0\" + date.getMinutes() : date.getMinutes()) +\r\n    \":\";\r\n  let s = date.getSeconds() < 10 ? \"0\" + date.getSeconds() : date.getSeconds();\r\n  return Y + M + D + h + m + s;\r\n};\r\n/**\r\n * 存储localStorage\r\n */\r\nconst setStore = (name, content) => {\r\n  if (!name) return;\r\n  if (typeof content !== \"string\") {\r\n    content = JSON.stringify(content);\r\n  }\r\n  window.localStorage.setItem(name, content);\r\n};\r\n\r\n/**\r\n * 获取localStorage\r\n */\r\nconst getStore = name => {\r\n  if (!name) return;\r\n  return window.localStorage.getItem(name);\r\n};\r\n\r\n/**\r\n * 删除localStorage\r\n */\r\nconst removeStore = name => {\r\n  if (!name) return;\r\n  window.localStorage.removeItem(name);\r\n};\r\n\r\n/**\r\n * 设置cookie\r\n **/\r\nfunction setCookie(name, value, day) {\r\n  let date = new Date();\r\n  date.setDate(date.getDate() + day);\r\n  document.cookie = name + \"=\" + value + \";expires=\" + date;\r\n}\r\n\r\n/**\r\n * 获取cookie\r\n **/\r\nfunction getCookie(name) {\r\n  let reg = RegExp(name + \"=([^;]+)\");\r\n  let arr = document.cookie.match(reg);\r\n  if (arr) {\r\n    return arr[1];\r\n  } else {\r\n    return \"\";\r\n  }\r\n}\r\n\r\n/**\r\n * 删除cookie\r\n **/\r\nfunction delCookie(name) {\r\n  setCookie(name, null, -1);\r\n}\r\n\r\n/**\r\n * 防抖\r\n **/\r\nfunction throttle(func, delay) {\r\n  // 记录当前时间(就是第一次(上一次)滚动事件触发的时间)\r\n  var prev = Date.now();\r\n  return function() {\r\n    // 普通函数的this指向window\r\n    var context = this;\r\n    // arguments是一个类数组对象，用于接受函数的参数\r\n    const args = arguments;\r\n    // 这个只要发生滚动事件就会输出\r\n    // console.log(arguments);\r\n    // 再次记录当前的时间（第二次(下一次)滚动事件的触发时间）\r\n    var now = Date.now();\r\n    //两次滚动事件触发的时间间隔是否大于规定的时间\r\n    if (now - prev >= delay) {\r\n      // 如果间隔大于规定的时间delay，就会调用func(也就是handle函数)\r\n      // apply:改变函数的this指向,第一个参数是this指向，第二参数是传递的参数，要用数组存放，\r\n      // call和bind是 一个一个的存放，不用数组\r\n      func.apply(context, [args]);\r\n      prev = Date.now();\r\n    }\r\n  };\r\n}\r\nlet isGetNowCourse = false;\r\n\r\n/**\r\n * 参数\r\n **/\r\nfunction setRequestParams(key, data) {\r\n  return new Promise((resolve, reject) => {\r\n    store\r\n      .dispatch(\"setRequestParams\", {\r\n        [key]: data\r\n      })\r\n      .then(() => {\r\n        resolve();\r\n      });\r\n  });\r\n}\r\n\r\nfunction popRequestParams(key) {\r\n  store.dispatch(\"popRequestParams\", key);\r\n}\r\n\r\n/**\r\n * 参数加密\r\n **/\r\nfunction rsa(data, fnName) {\r\n  const user = store.getters.user;\r\n  const course = store.getters.course;\r\n  // if(fnName != 'setWebLog') {\r\n  //   setWebLog({\r\n  //     content: `rsa setCourse:${course}`\r\n  //   })\r\n  // }\r\n  // console.log(`rsa course :, ${course},, ${typeof course}`);\r\n  // const course = localStorage.getItem(\"course\");\r\n  let userInfo = {};\r\n  let courseObj = {};\r\n  if (user && typeof user === \"string\") {\r\n    userInfo = JSON.parse(user);\r\n  } else if (user) {\r\n    userInfo = user;\r\n  }\r\n  if (course) {\r\n    courseObj = JSON.parse(course)[0];\r\n  }\r\n  const last_request_time =\r\n    parseFloat(localStorage.getItem(\"last_request_time\")) / 1000;\r\n  if (last_request_time) {\r\n    const currentTime = new Date().getTime() / 1000;\r\n    // 计算时间差（单位：秒）\r\n    const timeDiff = currentTime - last_request_time;\r\n    // 判断时间差是否大于一个小时（3600 秒）\r\n    if (timeDiff > 3600 && !isGetNowCourse) {\r\n      isGetNowCourse = true;\r\n      EventBus.$emit(\"getNowCourse\");\r\n    } else {\r\n      isGetNowCourse = false;\r\n    }\r\n  }\r\n  localStorage.setItem(\"last_request_time\", new Date().getTime());\r\n  const appKey = md5(API_KEY);\r\n  if (data) {\r\n    data.environment = 1;\r\n    data.fromAPP = \"BS\";\r\n    data.appKey = appKey;\r\n    data.user_id = userInfo.user_id;\r\n    if (!data.course_isuseradd) {\r\n      data.course_isuseradd = courseObj.course_isuseradd\r\n        ? courseObj.course_isuseradd\r\n        : 2;\r\n    }\r\n\r\n    data.user_token = userInfo.user_token;\r\n  } else {\r\n    data = {};\r\n    data.environment = 1;\r\n    data.fromAPP = \"BS\";\r\n    data.appKey = appKey;\r\n    data.user_id = userInfo.user_id;\r\n    if (!data.course_isuseradd) {\r\n      data.course_isuseradd = courseObj.course_isuseradd\r\n        ? courseObj.course_isuseradd\r\n        : 2;\r\n    }\r\n    data.user_token = userInfo.user_token;\r\n  }\r\n  let params = \"\";\r\n  for (var i in data) {\r\n    params += i + \"=\" + data[i] + \"&\";\r\n  }\r\n  params = params.substring(0, params.length - 1);\r\n  // return entry.encryptLong(params);\r\n  return getLongCode(encodeURI(params));\r\n}\r\n\r\nfunction secTotime(s) {\r\n  var t = \"\";\r\n  if (s > -1) {\r\n    var hour = Math.floor(s / 3600);\r\n    var min = Math.floor(s / 60) % 60;\r\n    var sec = s % 60;\r\n    if (hour === 0) {\r\n      t += \"\";\r\n    } else if (hour < 10) {\r\n      t = \"0\" + hour + \":\";\r\n    } else {\r\n      t = hour + \":\";\r\n    }\r\n\r\n    if (min < 10) {\r\n      t += \"0\";\r\n    }\r\n    t += min + \":\";\r\n    if (sec.toFixed(0) < 10) {\r\n      t += \"0\";\r\n    }\r\n    t += sec.toFixed(0);\r\n  }\r\n  return t;\r\n}\r\n\r\nfunction secTotime1(s) {\r\n  // var t = \"\";\r\n  if (s > -1) {\r\n    // var hour = Math.floor(s / 3600);\r\n    var min = Math.floor(s / 60) % 60;\r\n    var sec = s % 60;\r\n    if (min.toFixed(0) < 10) {\r\n      min = \"0\" + min.toFixed(0);\r\n    }\r\n    if (sec.toFixed(0) < 10) {\r\n      sec = \"0\" + sec.toFixed(0);\r\n    }\r\n  }\r\n  console.log({\r\n    minutes: min,\r\n    seconds: sec\r\n  });\r\n  return {\r\n    minutes: min,\r\n    seconds: sec\r\n  };\r\n}\r\n\r\n// 深拷贝\r\nexport const deepClone = value => {\r\n  if (typeof value != \"object\" || value === null) {\r\n    return value;\r\n  }\r\n  let o = value.constructor == Array ? [] : {};\r\n  if (o instanceof Array) {\r\n    for (let key of Object.keys(value)) {\r\n      o[key] = deepClone(value[key]);\r\n    }\r\n  } else {\r\n    for (let i in value) {\r\n      o[i] = deepClone(value[i]);\r\n    }\r\n  }\r\n  return o;\r\n};\r\n\r\n/**\r\n *\r\n * @param {原始element元素} originEle\r\n * @param {展示几行展示不开，折叠} rows\r\n * @param {文案} content\r\n * @param {展开的文案，默认 展开} fixedContent\r\n * @param {省略号文案，默认 ...} ellipsisStr\r\n */\r\nexport const measure = (\r\n  originEle,\r\n  rows,\r\n  content,\r\n  fixedContent,\r\n  ellipsisStr\r\n) => {\r\n  // 用来计算所占高度的dom元素\r\n  let ellipsisContainer = document.createElement(\"div\");\r\n  ellipsisContainer.setAttribute(\"aria-hidden\", \"true\");\r\n  document.body.appendChild(ellipsisContainer);\r\n\r\n  // 获取原始style\r\n  const originStyle = window.getComputedStyle(originEle);\r\n  const originCSS = styleToString(originStyle);\r\n  const lineHeight = pxToNumber(originStyle.lineHeight);\r\n  const maxHeight =\r\n    lineHeight * (rows + 1) +\r\n    pxToNumber(originStyle.paddingTop) +\r\n    pxToNumber(originStyle.paddingBottom);\r\n  console.log(\"最大高度：\"+maxHeight)\r\n  // 设置样式，确保不会影响高度宽度的计算\r\n  {\r\n    ellipsisContainer.setAttribute(\"style\", originCSS);\r\n    ellipsisContainer.style.position = \"absolute\";\r\n    ellipsisContainer.style.left = \"0\";\r\n    ellipsisContainer.style.height = \"auto\";\r\n    ellipsisContainer.style.minHeight = \"auto\";\r\n    ellipsisContainer.style.maxHeight = \"auto\";\r\n    ellipsisContainer.style.top = \"-999999px\";\r\n    ellipsisContainer.style.zIndex = \"-1000\";\r\n    ellipsisContainer.style.textOverflow = \"clip\";\r\n    ellipsisContainer.style.whiteSpace = \"pre-wrap\";\r\n    ellipsisContainer.style.webkitLineClamp = \"none\";\r\n  }\r\n\r\n  // 插入所有文案，去掉所有样式影响，看下是否可以装下所有内容\r\n  const wrapperStyle = `padding: 0;margin: 0;display: 'inline'; lineHeight: 'inherit';`;\r\n\r\n  ellipsisContainer.innerHTML = `<div style=${wrapperStyle}><span style=${wrapperStyle}>${content}</span></div>`;\r\n\r\n  // 如果可以装下所有内容，则跳过省略号计算\r\n  if (inRange()) {\r\n    document.body.removeChild(ellipsisContainer);\r\n    return { content, text: ellipsisContainer.innerHTML, ellipsis: false };\r\n  }\r\n\r\n  // ========================= 查找匹配省略号内容 =========================\r\n  ellipsisContainer.innerHTML = ``;\r\n  // 插入   省略号\r\n  const ellipsisTextNode = document.createTextNode(ellipsisStr);\r\n  ellipsisContainer.appendChild(ellipsisTextNode);\r\n\r\n  // 插入  展开   按钮\r\n  const fixedContentNode = document.createTextNode(fixedContent);\r\n  ellipsisContainer.appendChild(fixedContentNode);\r\n\r\n  // 插入 文案\r\n  const textNode = document.createTextNode(content);\r\n  ellipsisContainer.appendChild(textNode);\r\n\r\n  // 计算应该展示的文案\r\n  const result = measureText(textNode, content);\r\n\r\n  document.body.removeChild(ellipsisContainer);\r\n\r\n  return {\r\n    content: (result && result.reactNode) || content,\r\n    ellipsis: true\r\n  };\r\n\r\n  // 检查div的高度是否足以容纳内容\r\n  function inRange() {\r\n    console.log(\"文本实际高度：\"+ellipsisContainer.offsetHeight )\r\n    return ellipsisContainer.offsetHeight < maxHeight;\r\n  }\r\n\r\n\r\n  // 获得最大文本数\r\n  function measureText(\r\n    textNode,\r\n    fullText,\r\n    startLoc = 0,\r\n    endLoc = fullText.length,\r\n    lastSuccessLoc = 0\r\n  ) {\r\n    const midLoc = endLoc - 1;\r\n    const currentText = fullText.slice(0, midLoc);\r\n    textNode.textContent = currentText;\r\n\r\n    if (startLoc >= endLoc - 1) {\r\n      // 循环找出最小的step\r\n      for (let step = endLoc; step >= startLoc; step -= 1) {\r\n        const currentStepText = fullText.slice(0, step);\r\n        textNode.textContent = currentStepText;\r\n        if (inRange()) {\r\n          return step === fullText.length\r\n            ? {\r\n                finished: false,\r\n                reactNode: fullText\r\n              }\r\n            : {\r\n                finished: true,\r\n                reactNode: currentStepText\r\n              };\r\n        }\r\n      }\r\n    }\r\n\r\n    if (inRange()) {\r\n      return measureText(textNode, fullText, midLoc, endLoc, midLoc);\r\n    }\r\n    return measureText(textNode, fullText, startLoc, midLoc, lastSuccessLoc);\r\n  }\r\n  // style转换成string\r\n  function styleToString(style) {\r\n    const styleNames = Array.prototype.slice.apply(style);\r\n    return styleNames\r\n      .map(name => `${name}: ${style.getPropertyValue(name)};`)\r\n      .join(\"\");\r\n  }\r\n  //  px转换成数字\r\n  function pxToNumber(value) {\r\n    if (!value) return 0;\r\n    const match = value.match(/^\\d*(\\.\\d*)?/);\r\n    return match ? Number(match[0]) : 0;\r\n  }\r\n};\r\n\r\nfunction debounce(fn, wait) {\r\n  let timeout = null;\r\n  return function() {\r\n    if (timeout !== null) clearTimeout(timeout);\r\n    timeout = setTimeout(fn, wait);\r\n  };\r\n}\r\n\r\nfunction randomNum(n) {\r\n  var res = \"\";\r\n  for (var i = 0; i < n; i++) {\r\n    res += Math.floor(Math.random() * 10);\r\n  }\r\n  return res;\r\n}\r\n\r\nfunction checkComputerDevice() {\r\n  const agent = navigator.userAgent.toLowerCase();\r\n  let isComputerDevice = false;\r\n  if (\r\n    (/macintosh|mac os x/i.test(navigator.userAgent) &&\r\n      navigator.maxTouchPoints == 0) ||\r\n    agent.indexOf(\"win32\") >= 0 ||\r\n    agent.indexOf(\"wow32\") >= 0 ||\r\n    agent.indexOf(\"win64\") >= 0 ||\r\n    agent.indexOf(\"wow64\") >= 0\r\n  ) {\r\n    isComputerDevice = true;\r\n  }\r\n  return isComputerDevice;\r\n}\r\n\r\nfunction checkMobileDevice() {\r\n  const agent = navigator.userAgent.toLowerCase();\r\n  let isMobileDevice = true;\r\n  if (\r\n    (/macintosh|mac os x/i.test(navigator.userAgent) &&\r\n      !/iPhone/i.test(navigator.userAgent) &&\r\n      navigator.maxTouchPoints == 0) ||\r\n    agent.indexOf(\"win32\") >= 0 ||\r\n    agent.indexOf(\"wow32\") >= 0 ||\r\n    agent.indexOf(\"win64\") >= 0 ||\r\n    agent.indexOf(\"wow64\") >= 0\r\n  ) {\r\n    isMobileDevice = false;\r\n  }\r\n  return isMobileDevice;\r\n}\r\n\r\nfunction isMobile() {\r\n  // 判断是否为移动设备\r\n  return (\r\n      typeof window.orientation !== \"undefined\" || // 判断是否存在window.orientation属性，此属性在移动设备上一般存在\r\n      navigator.userAgent.indexOf('iPhone') !== -1 || // 判断是否为iPhone\r\n      navigator.userAgent.indexOf('Android') !== -1 && navigator.userAgent.indexOf('Mobile') !== -1 // 判断是否为Android手机\r\n  );\r\n}\r\n// 其他的终端，比如微信QQ\r\nfunction checkIsOtherDevice() {\r\n  var ua = navigator.userAgent.toLowerCase();//获取判断用的对象\r\n  // ua.indexOf('micromessenger') !== -1 || ua.match(/WeiBo/i) == \"weibo\" || ua.match(/QQ/i) == \"qq\"\r\n  return ua.indexOf('micromessenger') !== -1 || ua.match(/WeiBo/i) == \"weibo\"\r\n}\r\n\r\nfunction ensurePngSuffix(str) {\r\n  // 检查字符串是否包含 .png 后缀\r\n  if (typeof str == \"string\" && str.endsWith('.png')) {\r\n    return str; // 已经有 .png 后缀，直接返回\r\n  } else if(str){\r\n    return `${str}.png`; // 没有 .png 后缀，添加 .png 后缀并返回\r\n  } else {\r\n    return str;\r\n  }\r\n}\r\n\r\n// function downloadFile(url, fileName) {\r\n//   return new Promise(function(resolve, reject) {\r\n//     // 创建遮罩层和加载动画\r\n//     var mask = document.createElement('div');\r\n//     mask.style.position = 'fixed';\r\n//     mask.style.width = '100%';\r\n//     mask.style.height = '100%';\r\n//     mask.style.top = '0';\r\n//     mask.style.left = '0';\r\n//     mask.style.backgroundColor = 'rgba(0,0,0,0.5)';\r\n//     mask.style.zIndex = '9999';\r\n\r\n//     var loading = document.createElement('div');\r\n//     loading.style.position = 'absolute';\r\n//     loading.style.top = '50%';\r\n//     loading.style.left = '50%';\r\n//     loading.style.transform = 'translate(-50%, -50%)';\r\n//     loading.style.borderRadius = '50%';\r\n//     loading.style.border = '4px solid transparent';\r\n//     loading.style.borderTopColor = '#fff';\r\n//     loading.style.width = '40px';\r\n//     loading.style.height = '40px';\r\n//     loading.style.animation = 'spin 1s linear infinite';\r\n//     loading.style.zIndex = '10000';\r\n\r\n//     var keyframes = `@keyframes spin {\r\n//       0% { transform: rotate(0deg); }\r\n//       100% { transform: rotate(360deg); }\r\n//     }`;\r\n\r\n//     var style = document.createElement('style');\r\n//     style.type = 'text/css';\r\n//     style.appendChild(document.createTextNode(keyframes));\r\n//     document.head.appendChild(style);\r\n\r\n//     mask.appendChild(loading);\r\n//     document.body.appendChild(mask);\r\n\r\n//     // 创建a标签，并模拟点击下载\r\n//     var link = document.createElement('a');\r\n//     link.href = url;\r\n//     link.download = fileName;\r\n//     document.body.appendChild(link);\r\n\r\n//     link.click();\r\n\r\n//     // 检查下载是否完成\r\n//     var checkInterval = setInterval(function() {\r\n//       if (link.href.indexOf('blob:') === 0) {\r\n//         clearInterval(checkInterval);\r\n//         document.body.removeChild(link);\r\n//         document.body.removeChild(mask);\r\n//         resolve();\r\n//       }\r\n//       // else if (link.href.indexOf('https') === 0) {\r\n//       //   clearInterval(checkInterval);\r\n//       //   document.body.removeChild(link);\r\n//       //   document.body.removeChild(mask);\r\n//       //   reject(new Error(\"下载文件时出现错误\"));\r\n//       // }\r\n//     }, 100);\r\n//   });\r\n// }\r\n\r\nfunction downloadFile(url, fileName) {\r\n  return new Promise(function(resolve, reject) {\r\n    // 创建遮罩层和加载动画\r\n    // var mask = document.createElement(\"div\");\r\n    // mask.style.position = \"fixed\";\r\n    // mask.style.width = \"100%\";\r\n    // mask.style.height = \"100%\";\r\n    // mask.style.top = \"0\";\r\n    // mask.style.left = \"0\";\r\n    // mask.style.backgroundColor = \"rgba(0,0,0,0.5)\";\r\n    // mask.style.zIndex = \"9999\";\r\n\r\n    // var loading = document.createElement(\"div\");\r\n    // loading.style.position = \"absolute\";\r\n    // loading.style.top = \"50%\";\r\n    // loading.style.left = \"50%\";\r\n    // loading.style.transform = \"translate(-50%, -50%)\";\r\n    // loading.style.borderRadius = \"50%\";\r\n    // loading.style.border = \"4px solid transparent\";\r\n    // loading.style.borderTopColor = \"#fff\";\r\n    // loading.style.width = \"40px\";\r\n    // loading.style.height = \"40px\";\r\n    // loading.style.animation = \"spin 1s linear infinite\";\r\n    // loading.style.zIndex = \"10000\";\r\n\r\n    // var keyframes = `@keyframes spin {\r\n    //   0% { transform: rotate(0deg); }\r\n    //   100% { transform: rotate(360deg); }\r\n    // }`;\r\n\r\n    // var style = document.createElement(\"style\");\r\n    // style.type = \"text/css\";\r\n    // style.appendChild(document.createTextNode(keyframes));\r\n    // document.head.appendChild(style);\r\n\r\n    // mask.appendChild(loading);\r\n    // document.body.appendChild(mask);\r\n\r\n    // 发起下载请求\r\n    axios({\r\n      url: url,\r\n      method: \"GET\",\r\n      responseType: \"blob\"\r\n    })\r\n      .then(function(response) {\r\n        // 下载成功，保存文件并解析Promise\r\n        var blob = new Blob([response.data]);\r\n        if (typeof window.navigator.msSaveBlob !== \"undefined\") {\r\n          // 兼容IE\r\n          window.navigator.msSaveBlob(blob, fileName);\r\n        } else {\r\n          var blobURL = window.URL.createObjectURL(blob);\r\n          var link = document.createElement(\"a\");\r\n          link.href = blobURL;\r\n          link.download = fileName;\r\n          link.click();\r\n          window.URL.revokeObjectURL(blobURL);\r\n        }\r\n\r\n        // document.body.removeChild(mask);\r\n        resolve();\r\n      })\r\n      .catch(function(error) {\r\n        // 下载失败，拒绝Promise\r\n        // document.body.removeChild(mask);\r\n        reject(new Error(\"下载文件时出现错误\"));\r\n      });\r\n  });\r\n}\r\n\r\nfunction generateRandomString(length) {\r\n  const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n  let result = '';\r\n  for (let i = 0; i < length; i++) {\r\n    const randomIndex = Math.floor(Math.random() * characters.length);\r\n    result += characters[randomIndex];\r\n  }\r\n  return result;\r\n}\r\n\r\nfunction removeFontSize(richText) {\r\n  // const richTextElement = document.getElementById('richText');\r\n  // const richText = richTextElement.innerHTML;\r\n\r\n  // 使用正则表达式移除所有 font-size 样式\r\n  const cleanedText = richText.replace(/(style=\"[^\"]*)font-size:[^;]+(;?)/gi, '$1$2');\r\n\r\n  // 更新富文本内容\r\n  // richTextElement.innerHTML = cleanedText;\r\n  return cleanedText;\r\n}\r\n\r\nfunction getChromeUrl() {\r\n  const app_type = localStorage.getItem(\"app_type\");\r\n  // 国内版：电脑跳转国内下载地址，移动端跳转应用宝\r\n  // 海外版：电脑跳转国外下载地址，移动端跳转Google play\r\n  let url = \"\";\r\n  if(isMobile()) {\r\n    if(app_type == 2) {\r\n      // 海外版移动端\r\n      url = \"https://play.google.com/store/apps/details?id=com.android.chrome\";\r\n    } else {\r\n      // 国内版移动端\r\n      url = \"https://sj.qq.com/appdetail/com.android.chrome?source=gamedetail\";\r\n    }\r\n  } else {\r\n    if(app_type == 2) {\r\n      // 海外版电脑端\r\n      url = \"https://www.google.com/chrome/\";\r\n    } else {\r\n      // 国内版电脑端\r\n      url = \"https://www.google.cn/chrome/\";\r\n    }\r\n  }\r\n  console.log(\"getChromeUrl:\", url);\r\n  return url;\r\n}\r\n\r\n// 是否是移动端\r\nconst getIsMobile = () => {\r\n  if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPad|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)) {\r\n    return true; // 移动端\r\n  }else if((navigator.platform === 'MacIntel' || navigator.platform.match(/Linux/)) && navigator.maxTouchPoints >= 1) {\r\n    return true; // 移动端\r\n  }else{\r\n    return false; // PC端\r\n  }\r\n};\r\n\r\n// 是否是安卓\r\nconst getIsAndroid = () => {\r\n  var isMobile = false;\r\n  if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPad|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)) {\r\n    isMobile = true;\r\n  }else if((navigator.platform === 'MacIntel' || navigator.platform.match(/Linux/)) && navigator.maxTouchPoints >= 1) {\r\n    isMobile = true;\r\n  }\r\n  var isAndroid = isMobile;\r\n  if(isAndroid) {\r\n    if(navigator.userAgent.match(/Mac|iPad/)) {\r\n      isAndroid = false;\r\n    }\r\n  }\r\n  return isAndroid;\r\n};\r\n\r\n// 是否是小米\r\nconst getIsXiaomi = () => {\r\n  const ua = navigator.userAgent.toLowerCase();\r\n  const isXiaomiPad = /xiaomi/.test(ua) && /android/.test(ua);\r\n  const isXiaomiDesktop = /xiaomi/.test(ua) && ((navigator.platform.match(/Linux/)) && navigator.maxTouchPoints >= 1);\r\n  return isXiaomiPad || isXiaomiDesktop;\r\n};\r\n\r\nconst setFullHeight = () => {\r\n  setTimeout(() => {\r\n    const els = document.getElementsByName('fullHeight');\r\n    els.forEach(el => {\r\n      const offset = el.getBoundingClientRect();\r\n      const parentHeight = document.body.clientHeight;\r\n      el.style.height = parentHeight - offset.y - 30 + 'px';\r\n    })\r\n  }, 0)\r\n}\r\n\r\n// 是否是苹果ipad或iphone\r\nfunction isAppleDevice() {\r\n  const ua = navigator.userAgent.toLowerCase();\r\n  return /iphone|ipad|ipod|macintosh/.test(ua);\r\n}\r\nconst testAlert = (text) => {\r\n  if(window.location.href.indexOf('aaaaaaaaaa=1') >= 0) {\r\n    alert(text);\r\n  }\r\n}\r\n\r\n// 内容需要几行显示\r\nfunction getLines(id) {\r\n  const target = document.getElementById(id);\r\n  const div = document.createElement(\"div\");\r\n  div.style.position = \"absolute\";\r\n  div.style.visibility = \"hidden\";\r\n  let numLines = 0;\r\n  if (target) {\r\n    div.style.width = target.offsetWidth + \"px\";\r\n    div.style.fontSize = window.getComputedStyle(target).fontSize;\r\n    div.style.lineHeight = window.getComputedStyle(target).lineHeight;\r\n    div.innerText = target.innerText;\r\n    document.body.appendChild(div);\r\n\r\n    const lineHeight = parseInt(window.getComputedStyle(div).lineHeight);\r\n    const height = parseInt(window.getComputedStyle(div).height);\r\n    console.log(\"getLines\", height, lineHeight)\r\n    numLines = Math.ceil(height / lineHeight);\r\n\r\n    document.body.removeChild(div);\r\n  } else {\r\n    numLines = 0;\r\n  }\r\n\r\n  console.log(`内容需要占用${numLines}行`);\r\n  return numLines;\r\n}\r\n\r\nfunction isChildFullyVisible(parent, child) {\r\n  // 获取父元素和子元素的边界矩形\r\n  const parentRect = parent.getBoundingClientRect();\r\n  const childRect = child.getBoundingClientRect();\r\n\r\n  // 考虑父元素的边框和内边距\r\n  const parentBorderTop = parseInt(getComputedStyle(parent).borderTopWidth) || 0;\r\n  const parentBorderLeft = parseInt(getComputedStyle(parent).borderLeftWidth) || 0;\r\n\r\n  // 计算父元素内容区域的边界\r\n  const parentTop = parentRect.top + parentBorderTop;\r\n  const parentLeft = parentRect.left + parentBorderLeft;\r\n  const parentBottom = parentRect.bottom - (parseInt(getComputedStyle(parent).borderBottomWidth) || 0);\r\n  const parentRight = parentRect.right - (parseInt(getComputedStyle(parent).borderRightWidth) || 0);\r\n\r\n  // 检查子元素是否完全在父元素内容区域内\r\n  return (\r\n      childRect.top >= parentTop &&\r\n      childRect.bottom <= parentBottom &&\r\n      childRect.left >= parentLeft &&\r\n      childRect.right <= parentRight\r\n  );\r\n}\r\n\r\nasync function captureCanvas(element, name, bgColor='white', callbackFn) {\r\n  const isMobile = getIsMobile()\r\n\r\n  /**\r\n   * 清理文件名：移除或替换非法字符，确保文件名安全\r\n   * - 移除文件系统非法字符：/ \\ : * ? \" < > |\r\n   * - 将点号替换为下划线，防止干扰扩展名识别\r\n   */\r\n  const sanitizeFileName = (filename) => {\r\n    // 移除文件系统非法字符\r\n    let safeName = filename.replace(/[\\/\\\\:*?\"<>|]/g, '');\r\n    // 将点号替换为下划线，防止与扩展名混淆\r\n    safeName = safeName.replace(/\\./g, '_');\r\n    // 移除首尾空格\r\n    safeName = safeName.trim();\r\n    // 如果清理后为空，使用默认名称\r\n    return safeName || 'download';\r\n  };\r\n\r\n  // 清理文件名并强制添加 .png 后缀\r\n  const safeName = sanitizeFileName(name);\r\n  const fileName = `${safeName}.png`;\r\n\r\n  try {\r\n    if(isMobile) {\r\n      // 选择你想要转换成图片的 DOM 元素\r\n      html2canvas(element, {\r\n        backgroundColor: bgColor,\r\n        useCORS: true,\r\n        scale: 4,\r\n        height: element.scrollHeight,\r\n        windowHeight: element.scrollHeight,\r\n        allowTaint: true,\r\n      }).then(canvas => {\r\n        // canvas.toDataURL() 可以获取图片的 base64 编码\r\n        const dataUrl = canvas.toDataURL(\"image/png\");// base64\r\n        const blob = base64ToBlob(dataUrl);\r\n        const blobUrl = window.URL.createObjectURL(blob);\r\n        // 你可以将 dataUrl 设置为一个 img 标签的 src 属性，或者下载图片等\r\n        // 创建下载链接\r\n        const link = document.createElement('a');\r\n        link.href = blobUrl;\r\n        link.download = fileName; // 设置下载文件名\r\n\r\n        // 触发点击事件进行下载\r\n        document.body.appendChild(link);\r\n        link.click();\r\n        document.body.removeChild(link);\r\n        URL.revokeObjectURL(link.href); // 释放 Blob 对象 URL\r\n        if(callbackFn) {\r\n          callbackFn();\r\n        }\r\n      });\r\n    } else {\r\n      const dataUrl = await htmlToImage.toPng(element, {\r\n        backgroundColor: bgColor\r\n      });\r\n      if(dataUrl) {\r\n        const link = document.createElement('a');\r\n        link.href = dataUrl;\r\n        link.download = fileName; // 设置下载文件名\r\n\r\n        // 触发点击事件进行下载\r\n        document.body.appendChild(link);\r\n        link.click();\r\n        document.body.removeChild(link);\r\n        URL.revokeObjectURL(link.href); // 释放 Blob 对象 URL\r\n      }\r\n      if(callbackFn) {\r\n        callbackFn();\r\n      }\r\n    }\r\n  } catch (error) {\r\n    if(callbackFn) {\r\n      callbackFn();\r\n    }\r\n    console.log(`${new Date().toLocaleString()} >>>>> 错误`, error);\r\n  }\r\n}\r\n\r\nfunction exportTreeAsPDF(treeData, title = \"课程树\") {\r\n  const doc = new jsPDF();\r\n  doc.setFont(\"helvetica\", \"normal\");\r\n  doc.setFontSize(14);\r\n\r\n  let y = 20; // 当前 Y 坐标（mm）\r\n  const pageHeight = 297;\r\n  const margin = 10;\r\n  const maxPageHeight = pageHeight - margin;\r\n\r\n  // 递归绘制节点\r\n  function drawNode(node, level = 0) {\r\n    const indent = level * 10; // 每级缩进 10mm\r\n    const text = node.label || node.name || \"未命名\";\r\n\r\n    // 计算文本高度（单行）\r\n    const lineHeight = 8;\r\n    const requiredHeight = lineHeight;\r\n\r\n    // 检查是否需要分页\r\n    if (y + requiredHeight > maxPageHeight) {\r\n      doc.addPage();\r\n      y = margin; // 下一页从顶部开始\r\n    }\r\n\r\n    // 绘制文本\r\n    doc.text(text, 20 + indent, y);\r\n    y += lineHeight;\r\n\r\n    // 递归子节点\r\n    if (node.node && node.node.length > 0) {\r\n      node.node.forEach(child => drawNode(child, level + 1));\r\n    }\r\n  }\r\n\r\n  // 添加标题\r\n  doc.setFontSize(18);\r\n  doc.text(title, 20, y);\r\n  y += 15;\r\n\r\n  // 绘制整棵树\r\n  treeData.forEach(rootNode => drawNode(rootNode));\r\n\r\n  doc.save(\"tree-structure.pdf\");\r\n}\r\n\r\nasync function exportTreeToPDF(element, name, bgColor='white', callbackFn) {\r\n  const isMobile = false\r\n  try {\r\n    if(isMobile) {\r\n      // 选择你想要转换成图片的 DOM 元素\r\n      html2canvas(element, {\r\n        backgroundColor: bgColor,\r\n        useCORS: true,\r\n        scale: 4,\r\n        height: element.scrollHeight,\r\n        windowHeight: element.scrollHeight,\r\n        allowTaint: true,\r\n      }).then(canvas => {\r\n        // canvas.toDataURL() 可以获取图片的 base64 编码\r\n        const imgData = canvas.toDataURL(\"image/jpeg\", 0.8);// base64\r\n\r\n        const pdf = new jsPDF({\r\n          orientation: 'portrait', // 纵向\r\n          unit: 'mm',\r\n          format: 'a4'\r\n        });\r\n\r\n        const imgWidth = pdf.internal.pageSize.getWidth(); // A4 宽度 (mm)\r\n        const pageHeight = pdf.internal.pageSize.getHeight();; // A4 高度 (mm)\r\n        const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n\r\n        let heightLeft = imgHeight;\r\n        let position = 0;\r\n\r\n        // 3. 添加第一页\r\n        pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n        heightLeft -= pageHeight;\r\n\r\n        // 4. 如果内容超过一页，分页处理\r\n        while (heightLeft >= 0) {\r\n          position = heightLeft - imgHeight;\r\n          pdf.addPage();\r\n          pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n          heightLeft -= pageHeight;\r\n        }\r\n\r\n        // 5. 保存 PDF\r\n        pdf.save(`${name}.pdf`);\r\n        // const blob = base64ToBlob(dataUrl);\r\n        // const blobUrl = window.URL.createObjectURL(blob);\r\n\r\n        // 你可以将 dataUrl 设置为一个 img 标签的 src 属性，或者下载图片等\r\n        // // 创建下载链接\r\n        // const link = document.createElement('a');\r\n        // link.href = blobUrl;\r\n        // link.download = name; // 设置下载文件名\r\n\r\n        // // 触发点击事件进行下载\r\n        // document.body.appendChild(link);\r\n        // link.click();\r\n        // document.body.removeChild(link);\r\n        // URL.revokeObjectURL(link.href); // 释放 Blob 对象 URL\r\n        if(callbackFn) {\r\n          callbackFn();\r\n        }\r\n      });\r\n    } else {\r\n      const dataUrl = await htmlToImage.toJpeg(element, {\r\n        pixelRatio: 2,\r\n        quality: 1,\r\n        backgroundColor: bgColor\r\n      });\r\n      if(dataUrl) {\r\n        const pdf = new jsPDF('p', 'mm', 'a4');\r\n        const imgProps = pdf.getImageProperties(dataUrl);\r\n        const pdfWidth = pdf.internal.pageSize.getWidth();\r\n        const imgHeight = (imgProps.height * pdfWidth) / imgProps.width;\r\n        const pageHeight = pdf.internal.pageSize.getHeight();\r\n\r\n        let heightLeft = imgHeight;\r\n        let position = 0;\r\n\r\n        // pdf.addImage(dataUrl, 'PNG', 0, position, pdfWidth, imgHeight);\r\n        pdf.addImage(dataUrl, 'JPEG', 0, position, pdfWidth, imgHeight);\r\n        heightLeft -= pageHeight;\r\n\r\n        // 分页\r\n        while (heightLeft >= 0) {\r\n          pdf.addPage();\r\n          position = heightLeft - imgHeight;\r\n          // pdf.addImage(dataUrl, 'PNG', 0, position, pdfWidth, imgHeight);\r\n          pdf.addImage(dataUrl, 'JPEG', 0, position, pdfWidth, imgHeight);\r\n          heightLeft -= pageHeight;\r\n        }\r\n\r\n        pdf.save(`${name}.pdf`);\r\n\r\n        // const link = document.createElement('a');\r\n        // link.href = dataUrl;\r\n        // link.download = name; // 设置下载文件名\r\n\r\n        // // 触发点击事件进行下载\r\n        // document.body.appendChild(link);\r\n        // link.click();\r\n        // document.body.removeChild(link);\r\n        // URL.revokeObjectURL(link.href); // 释放 Blob 对象 URL\r\n      }\r\n      if(callbackFn) {\r\n        callbackFn();\r\n      }\r\n    }\r\n  } catch (error) {\r\n    if(callbackFn) {\r\n      callbackFn();\r\n    }\r\n    // alert('导出失败');\r\n    console.log(`${new Date().toLocaleString()} >>>>> 错误`, error);\r\n  }\r\n\r\n\r\n}\r\n\r\n// // 使用示例\r\n// downloadFile('https://example.com/myfile.pdf')\r\n//   .then(function() {\r\n//     // 下载成功，处理文件\r\n//     console.log('下载成功');\r\n//   })\r\n//   .catch(function(error) {\r\n//     // 下载失败，处理错误\r\n//     console.error(error.message);\r\n//   });\r\n\r\n/**\r\n * 导出\r\n **/\r\nexport {\r\n  timestampToTime,\r\n  setStore,\r\n  getStore,\r\n  removeStore,\r\n  setCookie,\r\n  getCookie,\r\n  delCookie,\r\n  rsa,\r\n  setRequestParams,\r\n  popRequestParams,\r\n  secTotime,\r\n  debounce,\r\n  secTotime1,\r\n  randomNum,\r\n  throttle,\r\n  checkMobileDevice,\r\n  checkIsOtherDevice,\r\n  downloadFile,\r\n  checkComputerDevice,\r\n  ensurePngSuffix,\r\n  generateRandomString,\r\n  removeFontSize,\r\n  getChromeUrl,\r\n  getIsMobile,\r\n  getIsAndroid,\r\n  isAppleDevice,\r\n  getIsXiaomi,\r\n  setFullHeight,\r\n  testAlert,\r\n  getLines,\r\n  isChildFullyVisible,\r\n  captureCanvas,\r\n  exportTreeToPDF,\r\n  exportTreeAsPDF\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/util.js","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM5cHgiIGhlaWdodD0iMzlweCIgdmlld0JveD0iMCAwIDM5LjAgMzkuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQ3LjM2ODQyMTElIiB5PSItNDcuMzY4NDIxMSUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjE3My42ODQyMTElIiBoZWlnaHQ9IjE3My42ODQyMTElIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaTIiPjwvZmVHYXVzc2lhbkJsdXI+PGZlT2Zmc2V0IGR4PSIyIiBkeT0iMiIgaW49ImkyIiByZXN1bHQ9ImkzIj48L2ZlT2Zmc2V0PjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wIDAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJpMyI+PC9mZUNvbG9yTWF0cml4PjwvZmlsdGVyPjxjbGlwUGF0aCBpZD0iaTQiPjxwYXRoIGQ9Ik0xMywwIEMyMC4xNzk3MDE3LDAgMjYsNS44MjAyOTgyNSAyNiwxMyBDMjYsMjAuMTc5NzAxNyAyMC4xNzk3MDE3LDI2IDEzLDI2IEM1LjgyMDI5ODI1LDI2IDAsMjAuMTc5NzAxNyAwLDEzIEMwLDUuODIwMjk4MjUgNS44MjAyOTgyNSwwIDEzLDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNTEuMCAtMTM4LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTEuMCAxMzguMDAwMDAwMDAwMDAwMSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMCA1LjApIj48cGF0aCBkPSJNMTMsMjYgQzIwLjE3OTcwMTcsMjYgMjYsMjAuMTc5NzAxNyAyNiwxMyBDMjYsNS44MjAyOTgyNSAyMC4xNzk3MDE3LDAgMTMsMCBDNS44MjAyOTgyNSwwIDAsNS44MjAyOTgyNSAwLDEzIEMwLDIwLjE3OTcwMTcgNS44MjAyOTgyNSwyNiAxMywyNiBaIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiIGZpbHRlcj0idXJsKCNpMSkiPjwvcGF0aD48ZyBjbGlwLXBhdGg9InVybCgjaTQpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyNiwwIDI2LDI2IDAsMjYgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNGRkZGRkYiPjwvcG9seWdvbj48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuNzU4NjIwNjg5NjU1MjYgMTkuNzI0MTM3OTMxMDM0NDkpIHJvdGF0ZSgtOTAuMCkiPjxwYXRoIGQ9Ik0xMy40NDgyNzU5LDAgTDYuNzIzODMxMSw2LjI3NTg2MjA3IEwwLDAiIHN0cm9rZT0iIzcwQUVCQSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_arrow.svg\n// module id = oayP\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTVweCIgdmlld0JveD0iMCAwIDE3LjAgMTUuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjgxIEwwLDEyODEgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjQwLjAgLTkxOC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLjc1MDI5Nzg3MTczOTggOTE3Ljc1MjY5ODg1NjI5MzEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMS4zOTIwNzA2MDAwNjk5MjgzKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDQuMjIxNDY2MzgwMTcxNDc3KSI+PHBvbHlnb24gcG9pbnRzPSIwLDguNDM5OTcyNSAzLjcwNTc4NTMxLDguNDM5OTcyNSAzLjcwNTc4NTMxLDAgMCwwIDAsOC40Mzk5NzI1IDAsOC40Mzk5NzI1IiBzdHJva2U9IiM5MjlBOUYiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wb2x5Z29uPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjcwNjAyNjk2MTY5OTUzNjUgMC4wKSI+PHBhdGggZD0iTTEwLjMxNjg3MjUsNi4zMzE2MDY5NCBDMTAuOTUwNjEzNyw2LjMzMTYwNjk0IDExLjQ1Njg4MTcsNS43OTk2NDg2NSAxMS4zOTIyMzg5LDUuMTY4MDIxODkgQzExLjMzNjA1NCw0LjYxODk2MDcyIDEwLjgyMDcyMzksNC4yMjE0NjYzOCAxMC4yNTUyNTAzLDQuMjIxNDY2MzggTDguNzQzMDkxNzgsNC4yMjE0NjYzOCBMNy41MTAwNDUxOCw0LjIyMTQ2NjM4IEw1LjM0ODQzNzc4LDQuMjIxNDY2MzggTDYuNDkyMDcxODgsMS40MzMxMDg0OCBDNi43NzI5OTYyNiwwLjc0NzgxNDA4NSA2LjI1NzA2MjAyLDAuMDAyMzY0NzYzMzYgNS41MDEyODQ4MSwwIEM1LjEzNjM4NTE4LC0wLjAwMTE3Mzc2MTkgNC43OTY4NTkzNiwwLjE3OTI5MTAyNiA0LjU5ODcwMTk1LDAuNDc4Mjk2NDExIEwzLjA1Njk0MDYsMi44MTA3NzQzMSBDMi40NzU3NTk0LDMuNjkwMDk3ODQgMS40NzcxMTg1Myw0LjIyMTQ2NjM4IDAuNDA1Mzc2OTA2LDQuMjIxNDY2MzggTDAsNC4yMjE0NjYzOCBMMC4wMjQ3Njk2NzY4LDEyLjY2MTQzODkgTDYuMjAzMjkzNywxMi42NjE0Mzg5IEM2LjIwNDUwMTk3LDEyLjY2MTQzODkgNi4yMDU3MTAyNSwxMi42NjIwMjg2IDYuMjA2OTE4NTMsMTIuNjYyMDI4NiBMOS4wMTM3NDU4MSwxMi42NjIwMjg2IEM5LjYxMDYzNDYsMTIuNjYyMDI4NiAxMC4wOTQ1NDk1LDEyLjMwMjg2ODMgMTAuMDk0NTQ5NSwxMS42MDY5NTgzIEMxMC4wOTQ1NDk1LDExLjAxNDg0NTEgOS40NjY4NDk2NSwxMC41NTE4ODgxIDkuNDY2ODQ5NjUsMTAuNTUxODg4MSBDMTAuMDYzNzM4NCwxMC41NTE4ODgxIDEwLjQ2MDY1NzQsMTAuMTYzODI5OCAxMC41MzQzNjIzLDkuNTg1ODcwNjcgQzEwLjYxMTY5Miw4Ljk3MzExNjA1IDEwLjAwMTUxMjIsOC40NDE3NDc1MSAxMC4wMDE1MTIyLDguNDQxNzQ3NTEgQzEwLjU5ODQwMSw4LjQ0MTc0NzUxIDExLjA2NDc5NTksNy45NjkzNTQzOCAxMS4wODIzMTU5LDcuMzg2Njc3MjIgQzExLjEwNDY2OSw2LjY1ODMzMDc4IDEwLjMxNjg3MjUsNi4zMzE2MDY5NCAxMC4zMTY4NzI1LDYuMzMxNjA2OTQgWiIgc3Ryb2tlPSIjOTI5QTlGIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/useful.svg\n// module id = odDp\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"main-content  bg-white\"\r\n    :class=\"[\r\n      isOpen\r\n          ? 'big-view-box-page'\r\n          : 'outof-big-view-box-page'\r\n    ]\"\r\n  >\r\n    <div class=\"box\">\r\n      <div class=\"title-wrapper\">\r\n        <div\r\n        class=\"box-content-name name\"\r\n        :class=\"isContained ? 'isContained' : ''\"\r\n        :style=\"{ color: meditate_type == 1 ? '#64afd5' : '#ffb096' }\"\r\n      >\r\n          <img\r\n            v-if=\"isContained && meditate_type == 1\"\r\n            :class=\"['full_page_eye', 'icon_eye']\"\r\n            :src=\"'/static/img/thinking.svg'\"\r\n            @click=\"back\"\r\n          />\r\n          <img\r\n            v-if=\"isContained && meditate_type == 2\"\r\n            :class=\"['full_page_eye', 'icon_eye']\"\r\n            :src=\"'/static/img/behavior.svg'\"\r\n            @click=\"back\"\r\n          />\r\n          <span @click=\"back\"\r\n            >{{ meditate && meditate.meditate_id ? \"编辑\" : \"添加\" }}观修文</span\r\n          >\r\n        </div>\r\n        <el-button type=\"default\" class=\"clear\" @click=\"clear\"\r\n          >清空</el-button>\r\n      </div>\r\n\r\n\r\n\r\n      <div class=\"content-box\" ref=\"contentBox\">\r\n        <div class=\"tips-content\" id=\"tipsContent\">\r\n          <p class=\"project\" v-if=\"app_type == 2\">课程 /</p>\r\n          <p class=\"project\" v-else>笔记 /</p>\r\n          <div class=\"project-wrapper\">\r\n            <p class=\"project-name\">{{ course_name }}</p>\r\n\r\n          </div>\r\n\r\n          <div class=\"textarea\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"meditate_type == 1 ? 'think' : 'behavior'\"\r\n            >\r\n              观察修\r\n            </div>\r\n            <el-input\r\n              type=\"textarea\"\r\n              :placeholder=\"meditate_guancha_text_default\"\r\n              v-model=\"meditate_guancha_text\"\r\n              :resize=\"'none'\"\r\n              :maxlength=\"700\"\r\n              show-word-limit\r\n              @change=\"changeGuancha\"\r\n              @blur=\"blurGuancha\"\r\n              @focus=\"focusGuancha\"\r\n              @input=\"inputGuancha\"\r\n            >\r\n            </el-input>\r\n          </div>\r\n          <div class=\"textarea textarea_anzhu\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"meditate_type == 1 ? 'think' : 'behavior'\"\r\n            >\r\n              安住修\r\n            </div>\r\n            <el-input\r\n              type=\"textarea\"\r\n              id=\"anzhuTextarea\"\r\n              :placeholder=\"meditate_anzhu_text_default\"\r\n              v-model=\"meditate_anzhu_text\"\r\n              :resize=\"'none'\"\r\n              :maxlength=\"700\"\r\n              show-word-limit\r\n              @change=\"changeAnzhu\"\r\n              @blur=\"blurAnzhu\"\r\n              @focus=\"focusAnzhu\"\r\n              @input=\"inputAnzhu\"\r\n            >\r\n            </el-input>\r\n          </div>\r\n          <div class=\"btn-wrapper\">\r\n            <div\r\n              v-if=\"meditate_type == 1\"\r\n              class=\"btn\"\r\n              v-loading=\"loading\"\r\n              v-throttle=\"[save, `click`, 300, [2, meditate.last_update_device, meditate.last_update_at]]\"\r\n              :style=\"{ backgroundColor: '#64afd5' }\"\r\n            >\r\n              保 存\r\n            </div>\r\n            <div\r\n              v-else\r\n              class=\"btn btn-behavior\"\r\n              v-loading=\"loading\"\r\n              v-throttle=\"[save, `click`, 300, [2, meditate.last_update_device, meditate.last_update_at]]\"\r\n            >\r\n              保 存\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <el-dialog\r\n      class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">当前内容与服务器不一致，确定保存当前内容？</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleCon = false\">取 消</el-button>\r\n        <el-button\r\n          class=\"comfirm-btn\"\r\n          :style=\"{\r\n            backgroundColor: meditate_type == 2 ? '#ffae8b' : '#64afd5'\r\n          }\"\r\n          v-loading=\"loading\"\r\n          v-throttle=\"[submitCon]\"\r\n          >确 定</el-button\r\n        >\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  addUserMeditate,\r\n  editUserMeditate,\r\n  delUserMeditate,\r\n  getUserMeditateDetail\r\n} from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { Base64 } from \"js-base64\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport padInputMiddle from \"@/utils/padInputMiddle.js\";\r\nimport { getIsAndroid}  from '@/utils/util';\r\n\r\nexport default {\r\n  mixins: [openOtherPageMixins, padInputMiddle],\r\n  components: {},\r\n  props: {},\r\n  data() {\r\n    return {\r\n      meditate_type: 1,\r\n      meditate_id: \"\",\r\n      meditate_guancha_text: \"\",\r\n      meditate_guancha_text_prefix: \"\",\r\n      meditate_anzhu_text: \"\",\r\n      meditate_anzhu_text_prefix: \"\",\r\n      dialogVisibleCon: false,\r\n      confirmData: null,\r\n      meditate_guancha_text_default:\r\n        \"通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\",\r\n      meditate_anzhu_text_default:\r\n        \"我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\",\r\n      isEdited: false,\r\n      isOpen: true,\r\n      isContained: false,\r\n      app_type: 2,\r\n      loading: false,\r\n      maxLen: 700,\r\n      whiteCom: '',\r\n      isMobile: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course_name() {\r\n      return this.$store.getters.course_name;\r\n    },\r\n    meditate() {\r\n      if (this.meditate_type == 1) {\r\n        return this.$store.getters.thinkMeditate || {};\r\n      } else {\r\n        return this.$store.getters.mindMeditate || {};\r\n      }\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    }\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next(vm => {\r\n      if (from.name == \"index\") {\r\n        const isContained = vm.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        //if(!isContained) {\r\n        vm.isOpen = true;\r\n        //}\r\n      }\r\n    });\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    console.log(\"TipsviewAdd beforeRouteLeave:\", from, this.whiteCom, to);\r\n    // if (to.name == \"index\") {\r\n      if (this.isEdited) {\r\n        next(false);\r\n        setTimeout(() => {\r\n          this.confirmSave().then(action => {\r\n            console.log(\"confirmSave:\", this.whiteCom);\r\n            console.log(\"action:\", action)\r\n            if (action == \"save\") {\r\n              console.log(this.whiteCom && typeof this.whiteCom === 'function')\r\n              if(this.whiteCom && typeof this.whiteCom === 'function') {\r\n                // 如果是点击个人中心等头部按钮，则直接跳转\r\n                this.whiteCom = \"\";\r\n                this.isEdited = false;\r\n                next();\r\n              } else {\r\n                if(this.whiteCom == \"Logo\") {\r\n                  EventBus.$emit(\"CONTENT_CONFIRM_LOGO\", this.whiteCom);\r\n                } else if(this.whiteCom == \"CourseCom\") {\r\n                  EventBus.$emit(\"CONTENT_CONFIRM_COURSE\", this.whiteCom);\r\n                }\r\n                this.whiteCom = \"\";\r\n                this.isOpen = false;\r\n                this.isEdited = false;\r\n                EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n\r\n                let timeout = setTimeout(() => {\r\n                  next();\r\n                  this.$store.dispatch(\"popHistoryOperate\", {\r\n                    type: \"openOtherPage\"\r\n                  });\r\n                  clearTimeout(timeout);\r\n                }, 550);\r\n              }\r\n\r\n            } else {\r\n              EventBus.$emit(\"CLOSE_COURSE\", this.whiteCom);\r\n              this.whiteCom = \"\";\r\n              next(false);\r\n            }\r\n          });\r\n        }, 500);\r\n      } else {\r\n        console.log(\"this.whiteCom:\", this.whiteCom)\r\n        this.isOpen = false;\r\n        if(to.name == 'index') {\r\n          EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n          if(this.whiteCom == \"Logo\") {\r\n            EventBus.$emit(\"CONTENT_CONFIRM_LOGO\", this.whiteCom);\r\n          } else if(this.whiteCom == \"CourseCom\") {\r\n            EventBus.$emit(\"CONTENT_CONFIRM_COURSE\", this.whiteCom);\r\n          }\r\n          this.whiteCom = \"\";\r\n          let timeout = setTimeout(() => {\r\n            next();\r\n            this.$store.dispatch(\"popHistoryOperate\", {\r\n              type: \"openOtherPage\"\r\n            });\r\n            clearTimeout(timeout);\r\n          }, 550);\r\n        } else {\r\n          this.whiteCom = \"\";\r\n          next();\r\n        }\r\n      }\r\n    // }\r\n    // else {\r\n    //   next();\r\n    // }\r\n  },\r\n  watch: {\r\n    meditate: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"meditate:\", v);\r\n        this.init();\r\n      }\r\n    },\r\n    meditate_type: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.meditate_type = v;\r\n          if (this.meditate_type == 1) {\r\n            // 思维\r\n            this.meditate_guancha_text_default =\r\n              \"通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\";\r\n            this.meditate_anzhu_text_default =\r\n              \"我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\";\r\n          } else {\r\n            // 心态\r\n            this.meditate_guancha_text_default =\r\n              \"通过运用本期学习所获得的正确观念（正见），我摆脱了什么不良心念？建立什么正向心念（正念）？\";\r\n            this.meditate_anzhu_text_default =\r\n              \"我调整出了哪些正向心念？安住在这些正向心念（正念）中的时间越久越好。\";\r\n          }\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    // setInputMiddle($currInputEl) {\r\n    //   const $treeBox = document.getElementById('tipsContent');\r\n    //   const scrollTop = $treeBox.scrollTop;\r\n    //   const boxOffset = $treeBox.getBoundingClientRect();\r\n    //   const inputOffset = $currInputEl.getBoundingClientRect();\r\n    //   const windowHeight = window.innerHeight;\r\n    //   $treeBox.style.paddingBottom = 200+'px';\r\n    //   let count = 0;\r\n\r\n    //   // 通过对比window的高度变化，ios键盘弹出后，window高度会变化，自动会弹到中间，而Android却不会改变window，所以需要手动设置scrollTop\r\n    //   if(this.InputMiddleTimeValue) {\r\n    //     clearInterval(this.InputMiddleTimeValue);\r\n    //     this.InputMiddleTimeValue = null;\r\n    //   }\r\n    //   this.InputMiddleTimeValue = setInterval(() => {\r\n    //     if(windowHeight == window.innerHeight) {\r\n    //       $treeBox.scrollTo(0, inputOffset.y > 250 ? scrollTop + (inputOffset.y - 250) : scrollTop);\r\n    //     }\r\n    //     else {\r\n    //       count = 10;\r\n    //       $treeBox.scrollTo(0, scrollTop);\r\n    //     }\r\n    //     if(count >= 3) {\r\n    //       if(this.InputMiddleTimeValue) {\r\n    //         clearInterval(this.InputMiddleTimeValue);\r\n    //         this.InputMiddleTimeValue = null;\r\n    //       }\r\n    //     }\r\n    //     count ++;\r\n    //   }, 100)\r\n    // },\r\n    init() {\r\n      this.isEdited = false;\r\n      if (this.meditate && this.meditate.meditate_id) {\r\n        this.confirmData = this.meditate;\r\n        this.meditate_guancha_text = this.meditate.meditate_guancha_text;\r\n        this.meditate_anzhu_text = this.meditate.meditate_anzhu_text;\r\n        this.meditate_id = this.meditate.meditate_id;\r\n      } else {\r\n        this.meditate_guancha_text = \"\";\r\n        this.meditate_anzhu_text = \"\";\r\n        this.meditate_id = \"\";\r\n        this.comfirmData = null;\r\n      }\r\n    },\r\n    strStart(str, prefix, num) {\r\n      const meditate_text_prefix = str.slice(0, num);\r\n      console.log(\"strStart:\", prefix, meditate_text_prefix);\r\n      if(meditate_text_prefix == prefix) {\r\n        return true\r\n      }\r\n      return false;\r\n    },\r\n    focusGuancha() {\r\n      // if (!this.meditate_guancha_text) {\r\n      //   this.meditate_guancha_text = this.meditate_guancha_text_prefix;\r\n      // }\r\n      // if(this.isMobile) {\r\n      //   const guanchaTextarea = document.getElementById(\"guanchaTextarea\");\r\n      //   const $tipsContent = document.getElementById('tipsContent');\r\n      //   this.setInputMiddle(guanchaTextarea, $tipsContent);\r\n      // }\r\n    },\r\n    focusAnzhu() {\r\n      // if (!this.meditate_anzhu_text) {\r\n      //   this.meditate_anzhu_text = this.meditate_anzhu_text_prefix;\r\n      // }\r\n      // if(this.isMobile) {\r\n      //   const anzhuTextarea = document.getElementById(\"anzhuTextarea\");\r\n      //   const $tipsContent = document.getElementById('tipsContent');\r\n      //   this.setInputMiddle(anzhuTextarea, $tipsContent);\r\n      // }\r\n    },\r\n    blurGuancha() {\r\n      if(this.isMobile) {\r\n        const $treeBox = document.getElementById('tipsContent');\r\n        $treeBox.style.paddingBottom = 0+'px';\r\n      }\r\n      if (this.meditate_guancha_text === this.meditate_guancha_text_prefix) {\r\n        this.meditate_guancha_text = \"\";\r\n      }\r\n    },\r\n    blurAnzhu() {\r\n      if(this.isMobile) {\r\n        const $treeBox = document.getElementById('tipsContent');\r\n        $treeBox.style.paddingBottom = 0+'px';\r\n      }\r\n      if (this.meditate_anzhu_text === this.meditate_anzhu_text_prefix) {\r\n        this.meditate_anzhu_text = \"\";\r\n      }\r\n    },\r\n    inputGuancha() {\r\n      console.log(\"inputGuancha\");\r\n      this.isEdited = true;\r\n      // if (\r\n      //   !this.strStart(\r\n      //     this.meditate_guancha_text,\r\n      //     this.meditate_guancha_text_prefix,\r\n      //     2\r\n      //   )\r\n      // ) {\r\n      //   if (this.meditate_guancha_text === this.meditate_guancha_text_prefix) {\r\n      //     this.meditate_guancha_text = \"\";\r\n      //   } else if(this.meditate_guancha_text.length <= 2){\r\n      //     this.meditate_guancha_text = this.meditate_guancha_text_prefix;\r\n      //   }  else {\r\n      //     const meditate_guancha_text = this.meditate_guancha_text_prefix + this.meditate_guancha_text;\r\n      //     if(meditate_guancha_text.length > this.maxLen) {\r\n      //       this.meditate_guancha_text = meditate_guancha_text.slice(0, this.maxLen);\r\n      //     } else {\r\n      //       this.meditate_guancha_text = meditate_guancha_text;\r\n      //     }\r\n      //   }\r\n\r\n      // }\r\n    },\r\n    inputAnzhu() {\r\n      console.log(\"inputAnzhu:\", this.meditate_anzhu_text)\r\n      this.isEdited = true;\r\n      // if (\r\n      //   !this.strStart(\r\n      //     this.meditate_anzhu_text,\r\n      //     this.meditate_anzhu_text_prefix,\r\n      //     4\r\n      //   )\r\n      // ) {\r\n      //   if (this.meditate_anzhu_text === this.meditate_anzhu_text_prefix) {\r\n      //     this.meditate_anzhu_text = \"\";\r\n      //   } else if(this.meditate_anzhu_text.length <= 4){\r\n      //     this.meditate_anzhu_text = this.meditate_anzhu_text_prefix;\r\n      //   } else {\r\n      //     const meditate_anzhu_text = this.meditate_anzhu_text_prefix + this.meditate_anzhu_text;\r\n      //     if(meditate_anzhu_text.length > this.maxLen) {\r\n      //       this.meditate_anzhu_text = meditate_anzhu_text.slice(0, this.maxLen);\r\n      //     } else {\r\n      //       this.meditate_anzhu_text = meditate_anzhu_text;\r\n      //     }\r\n      //   }\r\n      // }\r\n    },\r\n    changeGuancha(e) {\r\n      console.log(\"changeGuancha\");\r\n      if (this.meditate_guancha_text === this.meditate_guancha_text_prefix) {\r\n        this.meditate_guancha_text = \"\";\r\n      }\r\n      this.change();\r\n    },\r\n    changeAnzhu() {\r\n      if (this.meditate_anzhu_text === this.meditate_anzhu_text_prefix) {\r\n        this.meditate_anzhu_text = \"\";\r\n      }\r\n      this.change();\r\n    },\r\n    //\r\n    change() {\r\n      console.log(\"TipsViewAdd Edit\", (!this.meditate || (this.meditate && !this.meditate.meditate_id)) &&\r\n        !this.meditate_guancha_text &&\r\n        !this.meditate_anzhu_text);\r\n      if (\r\n        (!this.meditate || (this.meditate && !this.meditate.meditate_id)) &&\r\n        !this.meditate_guancha_text &&\r\n        !this.meditate_anzhu_text\r\n      ) {\r\n        this.isEdited = false;\r\n      } else {\r\n        this.isEdited = true;\r\n      }\r\n    },\r\n    back() {\r\n      if (this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      console.log(\"back:\", this.isEdited);\r\n      this.$router.back();\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    clear() {\r\n      this.$confirm(\"确定清除观修文文字?\", \"\", {\r\n        confirmButtonText: \"确定\",\r\n        cancelButtonText: \"取消\",\r\n        center: true,\r\n        closeOnClickModal: false,\r\n        closeOnPressEscape: false,\r\n        // showClose: false,\r\n        customClass: \"confirmClass\"\r\n      }).then(() => {\r\n        if (\r\n          this.meditate_guancha_text != \"\" ||\r\n          this.meditate_anzhu_text != \"\"\r\n        ) {\r\n          this.isEdited = true;\r\n        }\r\n        this.meditate_guancha_text = \"\";\r\n        this.meditate_anzhu_text = \"\";\r\n      });\r\n    },\r\n    submitCon() {\r\n      console.log(\"submitCon:\", this.confirmData);\r\n      if(this.confirmData) {\r\n        this.save(\r\n          1,\r\n          this.confirmData.last_update_device,\r\n          this.confirmData.last_update_at\r\n        );\r\n        this.confirmData = null;\r\n      } else {\r\n        this.save(\r\n          1,\r\n          '',\r\n          ''\r\n        );\r\n      }\r\n\r\n    },\r\n    async save(is_confirm, last_update_device, last_update_at) {\r\n      console.log(\"save:\", is_confirm, last_update_device, last_update_at);\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      try {\r\n        let update_device = localStorage.getItem(\"DeviceId\");\r\n        if (\r\n          !this.meditate_anzhu_text &&\r\n          !this.meditate_guancha_text &&\r\n          this.meditate.meditate_id\r\n        ) {\r\n          let params = {\r\n            course_id: this.course_id,\r\n            update_device,\r\n            meditate_id: this.meditate.meditate_id\r\n          };\r\n          console.log(params);\r\n          this.loading = true;\r\n          this.$store.dispatch(\"setIsLoading\", true);\r\n          // 删除\r\n          const res = await delUserMeditate(params);\r\n          this.loading = false;\r\n          this.$store.dispatch(\"setIsLoading\", false);\r\n          if (res && res.code == 0) {\r\n            this.isEdited = false;\r\n            this.back();\r\n            if (this.meditate_type == 1) {\r\n              this.$store.dispatch(\"setThinkMeditate\", {});\r\n            } else {\r\n              this.$store.dispatch(\"setMindMeditate\", {});\r\n            }\r\n          }\r\n        } else {\r\n          let meditate_guancha_text = \"\";\r\n          let meditate_anzhu_text = \"\";\r\n          if (!this.meditate_guancha_text) {\r\n            this.$message({\r\n              message: \"请输入观察修内容\",\r\n              type: \"warning\"\r\n            });\r\n            return;\r\n            // meditate_guancha_text = this.meditate_guancha_text_default;\r\n          } else {\r\n            meditate_guancha_text = this.meditate_guancha_text;\r\n          }\r\n          if (!this.meditate_anzhu_text) {\r\n            this.$message({\r\n              message: \"请输入安住修内容\",\r\n              type: \"warning\"\r\n            });\r\n            return;\r\n            // meditate_anzhu_text = this.meditate_anzhu_text_default;\r\n          } else {\r\n            meditate_anzhu_text = this.meditate_anzhu_text;\r\n          }\r\n          this.loading = true;\r\n          this.$store.dispatch(\"setIsLoading\", true);\r\n\r\n          let params = {\r\n            meditate_type: this.meditate_type,\r\n            meditate_guancha_text: Base64.encode(meditate_guancha_text),\r\n            meditate_anzhu_text: Base64.encode(meditate_anzhu_text),\r\n            course_id: this.course_id,\r\n            update_device\r\n          };\r\n          console.log(\"addUserMeditate:\", params)\r\n          if (this.meditate && this.meditate.meditate_id) {\r\n            // 编辑\r\n            params.is_confirm = is_confirm;\r\n            params.meditate_id = this.meditate.meditate_id;\r\n            params.last_update_device = last_update_device;\r\n            params.last_update_at = last_update_at;\r\n            console.log(\"editUserMeditate:\", params);\r\n            const res = await editUserMeditate(params);\r\n            if (res && res.code === 0) {\r\n              this.$message({\r\n                message: \"修改成功\",\r\n                type: \"success\"\r\n              });\r\n              this.loading = false;\r\n              this.$store.dispatch(\"setIsLoading\", false);\r\n              this.isEdited = false;\r\n              this.dialogVisibleCon = false;\r\n              console.log(\"editUserMeditate course_id\", this.course_id);\r\n              const detailRes = await getUserMeditateDetail({\r\n                course_id: this.course_id,\r\n                meditate_id: this.meditate.meditate_id\r\n              });\r\n              if (detailRes.code === 0) {\r\n                const detail = detailRes.data[0];\r\n                if (this.meditate_type == 1) {\r\n                  this.$store.dispatch(\"setThinkMeditate\", {\r\n                    ...detail\r\n                  });\r\n                  this.back();\r\n                } else {\r\n                  this.$store.dispatch(\"setMindMeditate\", {\r\n                    ...detail\r\n                  });\r\n                  this.back();\r\n                }\r\n              }\r\n            } else if (res && res.code === 1023 && res.data[0].need_confirm === 1) {\r\n              this.confirmData = res.data[0];\r\n              this.dialogVisibleCon = true;\r\n            }\r\n          } else {\r\n            const res = await addUserMeditate(params);\r\n            if (res && res.code === 0) {\r\n              this.$message({\r\n                message: \"添加成功\",\r\n                type: \"success\"\r\n              });\r\n              this.loading = false;\r\n              this.$store.dispatch(\"setIsLoading\", false);\r\n              this.isEdited = false;\r\n              let meditate_id = res.data[0].meditate_id;\r\n              if (this.meditate_type == 1) {\r\n                this.$store.dispatch(\"setThinkMeditate\", {\r\n                  ...params,\r\n                  meditate_guancha_text: meditate_guancha_text,\r\n                  meditate_anzhu_text: meditate_anzhu_text,\r\n                  meditate_id,\r\n                  last_update_device: res.data[0].last_update_device,\r\n                  last_update_at: res.data[0].last_update_at\r\n                });\r\n                this.back();\r\n              } else {\r\n                this.$store.dispatch(\"setMindMeditate\", {\r\n                  ...params,\r\n                  meditate_guancha_text: meditate_guancha_text,\r\n                  meditate_anzhu_text: meditate_anzhu_text,\r\n                  meditate_id,\r\n                  last_update_device: res.data[0].last_update_device,\r\n                  last_update_at: res.data[0].last_update_at\r\n                });\r\n                this.back();\r\n              }\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        this.$store.dispatch(\"setIsLoading\", false);\r\n        console.log(error);\r\n      }\r\n    },\r\n    toggle() {\r\n      this.$emit(\"toggle\");\r\n    },\r\n    confirmSave() {\r\n      return new Promise(resolve => {\r\n        if (this.meditate && this.meditate.meditate_id) {\r\n          // 编辑\r\n          this.$confirm(\"修改尚未保存，确定退出?\", \"\", {\r\n            confirmButtonText: \"确定\",\r\n            cancelButtonText: \"取消\",\r\n            center: true,\r\n            closeOnClickModal: false,\r\n            closeOnPressEscape: false,\r\n            // showClose: false,\r\n            customClass: \"confirmClass\"\r\n          })\r\n            .then(() => {\r\n              resolve(\"save\");\r\n            })\r\n            .catch(action => {\r\n              console.log(\"action:\", action);\r\n              resolve(action);\r\n            });\r\n        } else {\r\n          this.$confirm(\"数据尚未保存，确定退出?\", \"\", {\r\n            confirmButtonText: \"确定\",\r\n            cancelButtonText: \"取消\",\r\n            center: true,\r\n            closeOnClickModal: false,\r\n            closeOnPressEscape: false,\r\n            // showClose: false,\r\n            customClass: \"confirmClass\"\r\n          })\r\n            .then(() => {\r\n              resolve(\"save\");\r\n            })\r\n            .catch(action => {\r\n              resolve(action);\r\n            });\r\n        }\r\n      });\r\n    }\r\n  },\r\n  activated() {\r\n    this.meditate_type = this.$route.query.meditate_type;\r\n    // this.init();\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.meditate_type = this.$route.query.meditate_type;\r\n    if (this.meditate) {\r\n      this.meditate_guancha_text = this.meditate.meditate_guancha_text;\r\n      this.meditate_anzhu_text = this.meditate.meditate_anzhu_text;\r\n      this.meditate_id = this.meditate.meditate_id;\r\n    } else {\r\n      this.meditate_guancha_text = \"\";\r\n      this.meditate_anzhu_text = \"\";\r\n      this.meditate_id = \"\";\r\n    }\r\n    if (this.meditate_type == 1) {\r\n      // 思维\r\n      this.meditate_guancha_text_default =\r\n        \"通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\";\r\n      this.meditate_anzhu_text_default =\r\n        \"我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\";\r\n    } else {\r\n      // 心态\r\n      this.meditate_guancha_text_default =\r\n        \"通过运用本期学习所获得的正确观念（正见），我摆脱了什么不良心念？建立什么正向心念（正念）？\";\r\n      this.meditate_anzhu_text_default =\r\n        \"我调整出了哪些正向心念？安住在这些正向心念（正念）中的时间越久越好。\";\r\n    }\r\n\r\n    EventBus.$on(\"TipsViewAddEdit\", callBack => {\r\n      console.log(\"TipsViewAddEdit:\", callBack, this.isEdited)\r\n      this.whiteCom = callBack;\r\n      if(callBack && typeof callBack === 'function') {\r\n        // 点击个人中心等的话执行跳转方法\r\n        callBack();\r\n      } else {\r\n        // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n        if(this.$route.name !== 'index') {\r\n          this.$router.replace(\"/\");\r\n        }\r\n      }\r\n\r\n    });\r\n\r\n\r\n    EventBus.$on(\"CANCEL_LOGOUT\", () => {\r\n      this.whiteCom = \"\";\r\n    })\r\n\r\n    // this.isMobile = getIsAndroid();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n// .big-view-box-page,\r\n// .outof-big-view-box-page {\r\n//   .name {\r\n//     padding-left: 73px;\r\n//     cursor: pointer;\r\n//   }\r\n// }\r\n// .name {\r\n//   padding-left: 73px;\r\n//   cursor: pointer;\r\n// }\r\n.box-content-name {\r\n  span {\r\n    cursor: pointer;\r\n  }\r\n}\r\n.main-content {\r\n  // margin-top: 60px;\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n}\r\n// .isContained {\r\n//   display: flex;\r\n//   // padding-left: 34px;\r\n//   // align-items: center;\r\n// }\r\n// .full_page_eye {\r\n//   cursor: pointer;\r\n//   width: 35px;\r\n//   height: 35px;\r\n//   position: fixed;\r\n//   left: 29px;\r\n//   top: 77px;\r\n//   // padding-left: 35px;\r\n// }\r\n.box {\r\n  height: 100%;\r\n  padding: 26px 32px 98px 32px;\r\n}\r\n.content-box {\r\n  width: 100%;\r\n  padding: 43px 39px;\r\n  background-color: #f2f4f5;\r\n  padding-bottom: 0;\r\n  position: relative;\r\n  .header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    .name {\r\n      img {\r\n        margin-right: 10px;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n    .think {\r\n      color: #64afd5;\r\n    }\r\n    .behavior {\r\n      color: #ffb096;\r\n    }\r\n    /deep/ .el-button {\r\n      padding: 8px 20px;\r\n    }\r\n  }\r\n}\r\n.title-wrapper {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  .clear {\r\n    padding: 6px 14px;\r\n    letter-spacing: 2px;\r\n    border-radius: 4px;\r\n    margin-right: 37px;\r\n    margin-bottom: 33px;\r\n    color: #7e878c;\r\n    border: 1px solid #d4d9db;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    font-style: normal;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    background-color: transparent;\r\n  }\r\n}\r\n\r\n.tips-content {\r\n  height: 100%;\r\n  background: #f2f4f5;\r\n  position: relative;\r\n  overflow-y: auto;\r\n  .project {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 21px;\r\n  }\r\n  .project-wrapper {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n  }\r\n  .project-name {\r\n    font-size: 21px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 32px;\r\n    padding: 5px 0 25px 0;\r\n  }\r\n  .textarea {\r\n    width: 100%;\r\n    background: #fff;\r\n    padding: 24px 22px;\r\n    border-radius: 9px;\r\n    height: 176px;\r\n    /deep/ .el-textarea {\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 24px;\r\n      height: calc(100% - 20px);\r\n    }\r\n    &:first-of-type {\r\n      margin-bottom: 14px;\r\n    }\r\n    .title {\r\n      background: #fff;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #ffb096;\r\n      line-height: 24px;\r\n    }\r\n    .think {\r\n      color: #64afd5;\r\n    }\r\n    .behavior {\r\n      color: #ffb096;\r\n    }\r\n    /deep/ .el-textarea__inner {\r\n      padding: 7px 0;\r\n      height: 100%;\r\n    }\r\n  }\r\n  .textarea_anzhu {\r\n    margin-top: 14px;\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    border: none;\r\n  }\r\n  .btn-wrapper {\r\n    padding-top: 41px;\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n  .btn {\r\n    width: 202px;\r\n    height: 43px;\r\n    background: #ffb096;\r\n    box-shadow: 2px 2px 7px 0 rgba(0, 0, 0, 0.05);\r\n    border-radius: 9px;\r\n    text-align: center;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #ffffff;\r\n    line-height: 43px;\r\n    // bottom: 33px;\r\n    // left: 50%;\r\n    // transform: translateX(-50%);\r\n    cursor: pointer;\r\n  }\r\n  .btn-behavior {\r\n    background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n\r\n/deep/ .el-input__count {\r\n  background: transparent;\r\n  bottom: -20px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/TipsViewAdd.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content bg-white\",class:[\n    _vm.isOpen\n        ? 'big-view-box-page'\n        : 'outof-big-view-box-page'\n  ]},[_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"title-wrapper\"},[_c('div',{staticClass:\"box-content-name name\",class:_vm.isContained ? 'isContained' : '',style:({ color: _vm.meditate_type == 1 ? '#64afd5' : '#ffb096' })},[(_vm.isContained && _vm.meditate_type == 1)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/thinking.svg'},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.isContained && _vm.meditate_type == 2)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/behavior.svg'},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),_c('span',{on:{\"click\":_vm.back}},[_vm._v(_vm._s(_vm.meditate && _vm.meditate.meditate_id ? \"编辑\" : \"添加\")+\"观修文\")])]),_vm._v(\" \"),_c('el-button',{staticClass:\"clear\",attrs:{\"type\":\"default\"},on:{\"click\":_vm.clear}},[_vm._v(\"清空\")])],1),_vm._v(\" \"),_c('div',{ref:\"contentBox\",staticClass:\"content-box\"},[_c('div',{staticClass:\"tips-content\",attrs:{\"id\":\"tipsContent\"}},[(_vm.app_type == 2)?_c('p',{staticClass:\"project\"},[_vm._v(\"课程 /\")]):_c('p',{staticClass:\"project\"},[_vm._v(\"笔记 /\")]),_vm._v(\" \"),_c('div',{staticClass:\"project-wrapper\"},[_c('p',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.course_name))])]),_vm._v(\" \"),_c('div',{staticClass:\"textarea\"},[_c('div',{staticClass:\"title\",class:_vm.meditate_type == 1 ? 'think' : 'behavior'},[_vm._v(\"\\n            观察修\\n          \")]),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":\"textarea\",\"placeholder\":_vm.meditate_guancha_text_default,\"resize\":'none',\"maxlength\":700,\"show-word-limit\":\"\"},on:{\"change\":_vm.changeGuancha,\"blur\":_vm.blurGuancha,\"focus\":_vm.focusGuancha,\"input\":_vm.inputGuancha},model:{value:(_vm.meditate_guancha_text),callback:function ($$v) {_vm.meditate_guancha_text=$$v},expression:\"meditate_guancha_text\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"textarea textarea_anzhu\"},[_c('div',{staticClass:\"title\",class:_vm.meditate_type == 1 ? 'think' : 'behavior'},[_vm._v(\"\\n            安住修\\n          \")]),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":\"textarea\",\"id\":\"anzhuTextarea\",\"placeholder\":_vm.meditate_anzhu_text_default,\"resize\":'none',\"maxlength\":700,\"show-word-limit\":\"\"},on:{\"change\":_vm.changeAnzhu,\"blur\":_vm.blurAnzhu,\"focus\":_vm.focusAnzhu,\"input\":_vm.inputAnzhu},model:{value:(_vm.meditate_anzhu_text),callback:function ($$v) {_vm.meditate_anzhu_text=$$v},expression:\"meditate_anzhu_text\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"btn-wrapper\"},[(_vm.meditate_type == 1)?_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.save, \"click\", 300, [2, _vm.meditate.last_update_device, _vm.meditate.last_update_at]]),expression:\"[save, `click`, 300, [2, meditate.last_update_device, meditate.last_update_at]]\"}],staticClass:\"btn\",style:({ backgroundColor: '#64afd5' })},[_vm._v(\"\\n            保 存\\n          \")]):_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.save, \"click\", 300, [2, _vm.meditate.last_update_device, _vm.meditate.last_update_at]]),expression:\"[save, `click`, 300, [2, meditate.last_update_device, meditate.last_update_at]]\"}],staticClass:\"btn btn-behavior\"},[_vm._v(\"\\n            保 存\\n          \")])])])])]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"当前内容与服务器不一致，确定保存当前内容？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleCon = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submitCon]),expression:\"[submitCon]\"}],staticClass:\"comfirm-btn\",style:({\n          backgroundColor: _vm.meditate_type == 2 ? '#ffae8b' : '#64afd5'\n        })},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f688a6e6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/TipsViewAdd.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f688a6e6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TipsViewAdd.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsViewAdd.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsViewAdd.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f688a6e6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TipsViewAdd.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-f688a6e6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/TipsViewAdd.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI3cHgiIGhlaWdodD0iMjdweCIgdmlld0JveD0iMCAwIDI3IDI3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT5mdWxsIHNjcmVlbkAzeDwvdGl0bGU+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhtem7kW1pbmlWMuaAp+agvCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMi4wMDAwMDAsIC0xMjEuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iZnVsbC1zY3JlZW4iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMi4wMDAwMDAsIDEyMS4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGZpbGw9IiMwMDAwMDAiIGN4PSIxMy41IiBjeT0iMTMuNSIgcj0iMTMuNSI+PC9jaXJjbGU+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4wMDAwMDAsIDcuMDAwMDAwKSIgc3Ryb2tlPSIjMkM1MUFGIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNiI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMyw0LjQ0MjYyNzEgTDEzLDIuMzUyMDg5NzQgQzEzLDEuMDUzMjY1NzkgMTEuOTQ2NzM0MiwwIDEwLjY0NzkxMDMsMCBMOC41NTczNzI5LDAiIGlkPSJTdHJva2UtMSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNS4yMjI2ODgzN2UtMTYsOC41NTc1NjEwNiBMNS4yMjI2ODgzN2UtMTYsMTAuNjQ4MDk4NCBDNS4yMjI2ODgzN2UtMTYsMTEuOTQ2OTIyNCAxLjA1MzI2NTc5LDEzLjAwMDE4ODIgMi4zNTIwODk3NCwxMy4wMDAxODgyIEw0LjQ0MjYyNzEsMTMuMDAwMTg4MiIgaWQ9IlN0cm9rZS0zIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/fullscreen_personality_black.svg\n// module id = onn0\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <el-dialog class=\"course\"\r\n    width=\"70%\"\r\n    title=\"图像列表\"\r\n    :visible=\"dialogVisible\"\r\n    :close-on-click-modal=\"false\"\r\n    show-close\r\n    @close=\"close\"\r\n    :modal=\"true\"\r\n    :append-to-body=\"true\"\r\n    center\r\n    top=\"0vh\">\r\n    <div class=\"avatarList\">\r\n      <img :src=\"require('@/assets/img/avatarList/headimage' + item + '.png')\"\r\n        v-for=\"(item, index) in 11\"\r\n        :key=\"index\"\r\n        @click=\"selectAvatar(item)\"\r\n        :class=\"'headimage'+item+'.png' == user_headimage ? 'sel': user_headimage==''&& item==1 ? 'sel' : ''\" />\r\n    </div>\r\n  </el-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { getHeadimageList } from \"@/api/index\";\r\nexport default {\r\n  props: {\r\n    dialogVisible: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      },\r\n    },\r\n    user_headimage: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      avatarList: [],\r\n    };\r\n  },\r\n  computed: {},\r\n  watch: {\r\n    dialogVisible: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"dialogVisible:\", this.dialogVisible);\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    getHeadimageList() {\r\n      getHeadimageList().then((res) => {\r\n        if (res && res.code === 0) {\r\n          this.avatarList = res.data;\r\n        }\r\n      });\r\n    },\r\n    close() {\r\n      this.$emit(\"closeDialog\");\r\n      // this.parent.closeDialog();\r\n    },\r\n    // 选择\r\n    selectAvatar(data) {\r\n      let url = \"headimage\" + data + \".png\";\r\n      console.log(url);\r\n      this.parent.userMess.user_headimage = url;\r\n      this.parent.userMess.user_headimage_show = url;\r\n      this.parent.user_headimage = url;\r\n      this.parent.handleClose();\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {},\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.course {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n}\r\n// dialog\r\n/deep/ .el-dialog__wrapper > div {\r\n  min-width: 720px;\r\n}\r\n/deep/ .el-dialog {\r\n  border-radius: 16px;\r\n  max-width: 1100px;\r\n  min-width: 888px;\r\n  min-height: 592px;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding: 30px 61px;\r\n}\r\n/deep/ .el-dialog__headerbtn .el-dialog__close {\r\n  color: #65afd5;\r\n  font-size: 22px;\r\n}\r\n/deep/ .el-tabs__content {\r\n  padding: 0;\r\n}\r\n.avatarList {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  img {\r\n    width: 100px;\r\n    height: 100px;\r\n    margin-right: 20px;\r\n    margin-bottom: 20px;\r\n  }\r\n  .sel {\r\n    border: 4px solid #ffa500;\r\n  }\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/avatarModel.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"course\",attrs:{\"width\":\"70%\",\"title\":\"图像列表\",\"visible\":_vm.dialogVisible,\"close-on-click-modal\":false,\"show-close\":\"\",\"modal\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"close\":_vm.close}},[_c('div',{staticClass:\"avatarList\"},_vm._l((11),function(item,index){return _c('img',{key:index,class:'headimage'+item+'.png' == _vm.user_headimage ? 'sel': _vm.user_headimage==''&& item==1 ? 'sel' : '',attrs:{\"src\":require('@/assets/img/avatarList/headimage' + item + '.png')},on:{\"click\":function($event){return _vm.selectAvatar(item)}}})}),0)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-8b85b1ba\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/avatarModel.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8b85b1ba\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./avatarModel.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./avatarModel.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./avatarModel.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8b85b1ba\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./avatarModel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-8b85b1ba\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/avatarModel.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"setRight\">\r\n    <label class=\"title\">个人信息设置</label>\r\n    <div class=\"setContent\">\r\n      <div class=\"avatarArea\">\r\n        <label>头像</label>\r\n        <span class=\"avatar\">\r\n          <img :src=\"\r\n              userMess.user_headimage\r\n                ? require('@/assets/img/avatarList/' + userMess.user_headimage)\r\n                : require('@/assets/img/avatarList/headimage1.png')\r\n            \" />\r\n        </span>\r\n        <el-button @click=\"doUpload\">切 换</el-button>\r\n      </div>\r\n      <div class=\"messArea\">\r\n        <div class=\"evMess\">\r\n          <label>昵称/法名</label>\r\n          <el-input type=\"text\"\r\n            placeholder=\"请输入昵称/法名\"\r\n            v-model=\"userMess.user_nickname\">\r\n          </el-input>\r\n        </div>\r\n        <!-- <div class=\"evMess\">\r\n          <label>城市</label>\r\n          <el-select v-model=\"userMess.city_id\"\r\n            @change=\"chageCity\"\r\n            placeholder=\"\">\r\n            <el-option v-for=\"city in cityList\"\r\n              :key=\"city.city_id\"\r\n              :label=\"city.city_name\"\r\n              :value=\"city.city_id\"></el-option>\r\n          </el-select>\r\n        </div> -->\r\n        <!-- <div class=\"evMess\">\r\n          <label>时区</label>\r\n          <span>与北京时区相差{{ userMess.user_time_zone }}小时</span>\r\n        </div> -->\r\n        <!-- <div class=\"evMess\">\r\n          <label>邮箱</label>\r\n          <el-input type=\"text\"\r\n            placeholder=\"请输入邮箱\"\r\n            v-model=\"userMess.user_email\"></el-input>\r\n        </div> -->\r\n      </div>\r\n      <div class=\"submit\">\r\n        <el-button v-loading=\"loading\"\r\n          v-throttle=\"[editUserInfo]\">提交</el-button>\r\n      </div>\r\n    </div>\r\n    <avatarModel :dialogVisible=\"dialogVisible\"\r\n      :parent=\"that\"\r\n      :user_headimage=\"userMess.user_headimage\"\r\n      @closeDialog=\"handleClose\" />\r\n  </div>\r\n</template>\r\n<script>\r\nimport { getUserInfo, editUserInfo } from \"@/api/index\";\r\nimport { uploaDOSS } from \"@/utils/oss\";\r\nimport { setUserInfo, getUserInfo as getUserInfoLo } from \"@/utils/auth\";\r\nimport avatarModel from \"./avatarModel\";\r\nimport { ensurePngSuffix } from \"@/utils/util.js\";\r\nimport { Base64 } from \"js-base64\";\r\nexport default {\r\n  components: {\r\n    avatarModel,\r\n  },\r\n  data() {\r\n    return {\r\n      userMess: {\r\n        user_id: \"\",\r\n        user_nickname: \"\",\r\n        user_email: \"\",\r\n        user_headimage: \"\",\r\n        user_headimage_show: \"\",\r\n        city_name: \"\",\r\n        city_id: \"\",\r\n        user_time_zone: \"\",\r\n      },\r\n      avatarUrl: \"\",\r\n      cityList: [],\r\n      dialogVisible: false,\r\n      that: this,\r\n      user_headimage: \"\",\r\n      loading: false,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n  },\r\n  methods: {\r\n    handleClose() {\r\n      console.log(\"handleClose\");\r\n      this.dialogVisible = false;\r\n    },\r\n    doUpload() {\r\n      // let input = document.createElement(\"input\");\r\n      // input.type = \"file\";\r\n      // input.accept = \"image/png, image/jpeg, image/jpg\";\r\n      // input.multiple = \"multiple\";\r\n      // input.onchange = (e) => {\r\n      //   console.log(input.files);\r\n      //   if (e.path.length > 0) {\r\n      //     if (!/\\.(jpg|jpeg|png|JPG|PNG)$/.test(input.files[0].name)) {\r\n      //       this.$message.error(\"图片类型必须是jpeg,jpg,png中的一种\");\r\n      //       return false;\r\n      //     } else {\r\n      //       this.changeFlag = true;\r\n      //       this.avatar = input.files[0];\r\n      //       this.avatarChange(input.files[0]);\r\n      //     }\r\n      //   }\r\n      // };\r\n      // input.click();\r\n      this.dialogVisible = true;\r\n    },\r\n    async avatarChange(file) {\r\n      let res = await uploaDOSS(file);\r\n      this.userMess.user_headimage = res.fileUrl;\r\n      // this.avatarUrl = await this.getBase64(file);\r\n    },\r\n    getBase64(file) {\r\n      return new Promise((resolve, reject) => {\r\n        const reader = new FileReader();\r\n        reader.readAsDataURL(file);\r\n        reader.onload = () => resolve(reader.result);\r\n        reader.onerror = (error) => reject(error);\r\n      });\r\n    },\r\n    async getUserInfo() {\r\n      try {\r\n        const res = await getUserInfo();\r\n        if(res && res.code === 0) {\r\n          console.log(res);\r\n          let userInfo = JSON.parse(getUserInfoLo());\r\n          this.userMess = res.data[0];\r\n          this.userMess.user_headimage = ensurePngSuffix(\r\n            res.data[0].user_headimage\r\n          );\r\n          setUserInfo(\r\n            JSON.stringify({\r\n              ...userInfo,\r\n              ...res.data[0],\r\n            })\r\n          );\r\n        }\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n    },\r\n    async editUserInfo() {\r\n      try {\r\n        if (this.loading) {\r\n          return;\r\n        }\r\n        this.loading = true;\r\n        const params = {\r\n          ...this.userMess,\r\n          user_nickname: Base64.encode(this.userMess.user_nickname),\r\n          course_id: this.course_id,\r\n          user_headimage: this.user_headimage,\r\n          user_headimage_show: this.user_headimage,\r\n        };\r\n        console.log(\"editUserInfo::\", params);\r\n        const res = await editUserInfo(params);\r\n        if (res && res.code == 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"修改成功\",\r\n          });\r\n          this.loading = false;\r\n          this.getUserInfo();\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$message({\r\n        //   message: error,\r\n        //   type: \"error\",\r\n        // });\r\n      }\r\n    },\r\n    chageCity(e) {\r\n      console.log(e);\r\n      this.userMess.city_name = this.cityList.find(\r\n        (item) => item.city_id === e\r\n      ).city_name;\r\n    },\r\n  },\r\n  created() {\r\n    this.getUserInfo();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.setRight {\r\n  margin-top: 45px;\r\n  margin-left: 60px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n  margin-right: 30px;\r\n  .title {\r\n    font-size: 16px;\r\n    color: #292929;\r\n    font-family: \"SourceHanSansCN\";\r\n  }\r\n  .setContent {\r\n    width: 100%;\r\n    min-width: 650px;\r\n    padding: 27px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    margin-top: 32px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    .avatarArea {\r\n      display: flex;\r\n      padding-bottom: 18px;\r\n      align-items: center;\r\n      border-bottom: 1px solid #64afd5;\r\n      label {\r\n        color: #292929;\r\n        font-family: \"SourceHanSansCN-Medium\";\r\n        font-size: 14px;\r\n      }\r\n      .avatar {\r\n        width: 80px;\r\n        height: 80px;\r\n        background-image: url(\"~@/assets/img/avatarBg.png\");\r\n        background-size: cover;\r\n        margin: 0 16px;\r\n        img {\r\n          width: 72px;\r\n          height: 72px;\r\n          border-radius: 50%;\r\n          margin: 4px;\r\n        }\r\n      }\r\n      .el-button {\r\n        background-color: #eaedef;\r\n        border: 1px solid #eaedef;\r\n        border-radius: 16px;\r\n        width: 79px;\r\n        height: 31px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #929a9f;\r\n        font-style: normal;\r\n        padding: 0;\r\n        color: #929a9f;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n      }\r\n    }\r\n    .messArea {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      justify-content: space-between;\r\n      .evMess {\r\n        display: flex;\r\n        width: 45%;\r\n        align-items: center;\r\n        border-bottom: 1px solid #f3f3f4;\r\n        margin-top: 20px;\r\n        label {\r\n          width: 100px;\r\n          text-align: left;\r\n        }\r\n        span {\r\n          color: #606266;\r\n        }\r\n        /deep/.el-input__inner {\r\n          border: 0;\r\n          background-color: #fdfdfd;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n          color: #929a9f;\r\n          line-height: 20px;\r\n          text-align: left;\r\n          font-style: normal;\r\n        }\r\n      }\r\n    }\r\n    .submit {\r\n      display: flex;\r\n      justify-content: center;\r\n      margin-top: 50px;\r\n      .el-button {\r\n        width: 214px;\r\n        height: 45px;\r\n        border-radius: 10px;\r\n        background: #64afd5;\r\n        padding: 0;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 16px;\r\n        color: #ffffff;\r\n        line-height: 24px;\r\n        text-align: right;\r\n        font-style: normal;\r\n        box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.05);\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/messSet.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"setRight\"},[_c('label',{staticClass:\"title\"},[_vm._v(\"个人信息设置\")]),_vm._v(\" \"),_c('div',{staticClass:\"setContent\"},[_c('div',{staticClass:\"avatarArea\"},[_c('label',[_vm._v(\"头像\")]),_vm._v(\" \"),_c('span',{staticClass:\"avatar\"},[_c('img',{attrs:{\"src\":_vm.userMess.user_headimage\n              ? require('@/assets/img/avatarList/' + _vm.userMess.user_headimage)\n              : require('@/assets/img/avatarList/headimage1.png')}})]),_vm._v(\" \"),_c('el-button',{on:{\"click\":_vm.doUpload}},[_vm._v(\"切 换\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"messArea\"},[_c('div',{staticClass:\"evMess\"},[_c('label',[_vm._v(\"昵称/法名\")]),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"请输入昵称/法名\"},model:{value:(_vm.userMess.user_nickname),callback:function ($$v) {_vm.$set(_vm.userMess, \"user_nickname\", $$v)},expression:\"userMess.user_nickname\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"submit\"},[_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.editUserInfo]),expression:\"[editUserInfo]\"}]},[_vm._v(\"提交\")])],1)]),_vm._v(\" \"),_c('avatarModel',{attrs:{\"dialogVisible\":_vm.dialogVisible,\"parent\":_vm.that,\"user_headimage\":_vm.userMess.user_headimage},on:{\"closeDialog\":_vm.handleClose}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e90a0662\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/messSet.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e90a0662\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./messSet.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./messSet.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./messSet.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e90a0662\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./messSet.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-e90a0662\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/messSet.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"setRight\">\r\n    <label class=\"title\">账号与安全</label>\r\n    <div class=\"accContent\">\r\n      <label class=\"actitle\">密码管理</label>\r\n      <el-form\r\n        :model=\"passForm\"\r\n        :rules=\"passRules\"\r\n        ref=\"passForm\"\r\n        label-width=\"0px\"\r\n        class=\"demo-codeForm\"\r\n      >\r\n        <el-form-item label=\"\" prop=\"user_mobile\">\r\n          <el-select v-model=\"value\" placeholder=\"\">\r\n            <el-option-group\r\n              v-for=\"(group, idx) in areaCodes\"\r\n              :key=\"group.area_group_name + idx\"\r\n              :label=\"group.area_group_name\"\r\n            >\r\n              <el-option\r\n                v-for=\"(item, index) in group.area\"\r\n                :key=\"item.area_code + index\"\r\n                :label=\"'+' + item.area_code\"\r\n                :value=\"item.area_code\"\r\n              >\r\n                <span style=\"float: left\">{{ item.area_name }}</span>\r\n                <span style=\"float: right; color: #8492a6; \">{{\r\n                  \"+\" + item.area_code\r\n                }}</span>\r\n              </el-option>\r\n            </el-option-group>\r\n          </el-select>\r\n          <el-input\r\n            class=\"mobile\"\r\n            v-model=\"passForm.user_mobile\"\r\n            placeholder=\"请输入手机号\"\r\n          ></el-input>\r\n        </el-form-item>\r\n        <el-form-item label=\"\" prop=\"code\">\r\n          <el-input\r\n            class=\"code\"\r\n            v-model=\"passForm.code\"\r\n            placeholder=\"请输入验证码\"\r\n          ></el-input>\r\n          <div v-if=\"!codeing\"\r\n            @click=\"getCodeBefore(1)\"\r\n            class=\"code-btn\">获取验证码</div>\r\n          <div v-else  class=\"code-btn\">\r\n            <span style=\"display: inline-block; width: 60px\">{{\r\n            codeingTime + \" s\"\r\n          }}</span>\r\n          </div>\r\n          <!-- <el-button\r\n            type=\"default\"\r\n            v-if=\"!codeing\"\r\n            @click=\"getCode(1)\"\r\n            class=\"code-btn\"\r\n            >获取验证码</el-button\r\n          > -->\r\n          <!-- <el-button\r\n            v-else\r\n            type=\"default\"\r\n            :disabled=\"disabled\"\r\n            class=\"code-btn\"\r\n          >\r\n            <span style=\"display: inline-block; width: 60px\">{{\r\n              codeingTime + \" s\"\r\n            }}</span>\r\n          </el-button> -->\r\n        </el-form-item>\r\n        <el-form-item label=\"\" prop=\"code\">\r\n          <el-input\r\n            class=\"code\"\r\n            v-model=\"passForm.user_password\"\r\n            placeholder=\"请输入至少6位密码\"\r\n          ></el-input>\r\n        </el-form-item>\r\n        <el-form-item label=\"\" prop=\"code\">\r\n          <el-input\r\n            class=\"code\"\r\n            v-model=\"passForm.user_confirm_password\"\r\n            placeholder=\"请再次输入密码\"\r\n          ></el-input>\r\n        </el-form-item>\r\n        <el-form-item class=\"btn-login\">\r\n          <div class=\"save\" @click=\"onSubmitPass('passForm')\">保 存</div>\r\n          <!-- <el-button\r\n            type=\"primary\"\r\n            :disabled=\"passFormBtnDis\"\r\n            @click=\"onSubmitPass('passForm')\"\r\n            >保 存</el-button\r\n          > -->\r\n        </el-form-item>\r\n      </el-form>\r\n      <div class=\"others\">\r\n        <label @click=\"destroy\">注销账号</label>\r\n        <label @click=\"logout\">退出登录</label>\r\n      </div>\r\n    </div>\r\n    <Verify\r\n      v-if=\"showVerify\"\r\n      @success=\"success\"\r\n      :mode=\"'pop'\"\r\n      :captchaType=\"'blockPuzzle'\"\r\n            :imgSize=\"{ width: '330px', height: '155px' }\"\r\n            ref=\"verify\"\r\n        ></Verify>\r\n    <Messages\r\n      v-if=\"showMessage\"\r\n      :message=\"message\"\r\n      @closeMessage=\"closeMessage\"\r\n    />\r\n    <el-dialog\r\n      class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      @close=\"close\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">确定注销当前账号?</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"close\">取 消</el-button>\r\n        <el-button\r\n          class=\"comfirm-btn\"\r\n          :disabled=\"destroyDisabled\"\r\n          @click=\"submitCon\"\r\n          >确 定\r\n          <span v-if=\"countTime > 0\">{{ countTime + \"s\" }}</span></el-button\r\n        >\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getCode,\r\n  getCodeNew,\r\n  getAreaCode,\r\n  resetPassword,\r\n  accountDestroy\r\n} from \"@/api/index\";\r\nimport { removeAll, getLoginReminder, setLoginReminder } from \"@/utils/auth\";\r\nimport Messages from \"@/components/Message\";\r\nimport Verify from \"@/components/verifition/Verify\";\r\n\r\nexport default {\r\n  components: { Messages, Verify },\r\n  data() {\r\n    return {\r\n      areaCodes: [],\r\n      value: \"+86\",\r\n      codeing: false,\r\n      codeingTime: 60,\r\n      codeingTimer: null,\r\n      codeing1: false,\r\n      codeingTime1: 60,\r\n      codeingTimer1: null,\r\n      passForm: {\r\n        user_mobile: \"\",\r\n        send_type: 1,\r\n        code: \"\",\r\n        device_id: localStorage.getItem(\"DeviceId\"),\r\n        user_password: \"\",\r\n        user_confirm_password: \"\"\r\n      },\r\n      codeBtnDis: true,\r\n      passRules: {\r\n        user_mobile: [\r\n          // { required: true, message: \"请输入手机号\", trigger: \"change\" },\r\n          // { required: false, validator: this.vPhone, trigger: \"change\" },\r\n        ]\r\n        // code: [{ required: true, message: \"请输入验证码\", trigger: \"change\" }],\r\n      },\r\n      disabled: true,\r\n      passFormBtnDis: true,\r\n      showMessage: false,\r\n      message: \"\",\r\n      timeout: null,\r\n      countTime: 10,\r\n      dialogVisibleCon: false,\r\n      destroyDisabled: false,\r\n      // 是否显示滑块验证\r\n      isShowSliderVerify: false,\r\n      codeType: null,\r\n      showVerify: false\r\n    };\r\n  },\r\n  watch: {\r\n    passForm: {\r\n      deep: true,\r\n      handler: function(form) {\r\n        if (\r\n          form.user_mobile &&\r\n          form.code &&\r\n          form.user_password &&\r\n          form.user_confirm_password\r\n        ) {\r\n          this.passFormBtnDis = false;\r\n        } else {\r\n          this.passFormBtnDis = true;\r\n        }\r\n        // if (\r\n        //   form.user_mobile &&\r\n        //   /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n        //     form.user_mobile\r\n        //   )\r\n        // ) {\r\n        //   this.codeBtnDis = false;\r\n        // } else {\r\n        //   this.codeBtnDis = true;\r\n        // }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    //--------------------------------------\r\n    success(params){\r\n      // params 返回的二次验证参数, 和登录参数一起回传给登录接口，方便后台进行二次验证\r\n      console.log(\"success:\", params);\r\n      this.showVerify = false;\r\n      this.getCode(this.codeType, params);\r\n    },\r\n    useVerify(){\r\n      this.$refs.verify.show()\r\n    },\r\n    //--------------------------------------\r\n    vPhone(rule, value, callback) {\r\n      if (\r\n        value &&\r\n        !/^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n          value\r\n        )\r\n      ) {\r\n        callback(new Error(\"格式不正确，请输入正确的手机号\"));\r\n      } else {\r\n        callback();\r\n      }\r\n    },\r\n\r\n    // 获取国家区号接口\r\n    async getAreaCode() {\r\n      try {\r\n        const res = await getAreaCode();\r\n        if (res && res.code === 0) {\r\n          this.areaCodes = res.data;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    getCodeBefore(type) {\r\n      if(!this.passForm.user_mobile) {\r\n        this.$message.warning(\"手机号不能为空\");\r\n        return;\r\n      }\r\n      this.codeType = type;\r\n      this.showVerify = true;\r\n      this.$nextTick(() => {\r\n        this.useVerify();\r\n      });\r\n    },\r\n    // 获取验证码接口\r\n    async getCode(type, captchaVerification) {\r\n      try {\r\n        if (this.passForm.user_mobile === \"\") {\r\n          this.$message(\"手机号不能为空\");\r\n          return;\r\n        }\r\n        // if (\r\n        //   this.passForm.user_mobile &&\r\n        //   !/^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$/.test(\r\n        //     this.passForm.user_mobile\r\n        //   )\r\n        // ) {\r\n        //   this.$message(\"格式不正确，请输入正确的手机号\");\r\n        //   return;\r\n        // }\r\n        const params = {\r\n          user_area_code: this.value,\r\n          user_mobile: this.passForm.user_mobile,\r\n          send_type: 2,\r\n          device_type: 3,\r\n          device_tag: 3,\r\n          ...captchaVerification\r\n        };\r\n        const res = await getCodeNew(params);\r\n        if (res && res.code === 0) {\r\n          this.$message(\"发送验证码成功\");\r\n          if (type === 1) {\r\n            this.codeingTime = 60;\r\n            this.codeing = true;\r\n            // 定时器 每隔一秒变化一次\r\n            this.codeingTimer = setInterval(() => {\r\n              this.codeingTime -= 1;\r\n              if (this.codeingTime === 0) {\r\n                this.codeing = false;\r\n                clearInterval(this.codeingTimer);\r\n              }\r\n            }, 1000);\r\n          } else if (type === 2) {\r\n            this.codeingTime1 = 60;\r\n            this.codeing1 = true;\r\n            // 定时器 每隔一秒变化一次\r\n            this.codeingTimer1 = setInterval(() => {\r\n              this.codeingTime1 -= 1;\r\n              if (this.codeingTime1 === 0) {\r\n                this.codeing1 = false;\r\n                clearInterval(this.codeingTimer1);\r\n              }\r\n            }, 1000);\r\n          }\r\n        } else {\r\n          // this.$message(res.msg);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    logout() {\r\n      console.log(\"logout\");\r\n      this.$confirm(\"确定退出登录?\", \"\", {\r\n        confirmButtonText: \"确定\",\r\n        cancelButtonText: \"取消\",\r\n        center: true,\r\n        closeOnClickModal: false,\r\n        closeOnPressEscape: false,\r\n        // showClose: false,\r\n        customClass: \"confirmClass\"\r\n      }).then(() => {\r\n        this.$store.dispatch(\"logout\").then(() => {\r\n          // this.$router.push(\"/login\");\r\n          location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n        });\r\n      });\r\n    },\r\n    destroy() {\r\n      this.dialogVisibleCon = true;\r\n      this.countTime = 10;\r\n      this.destroyDisabled = true;\r\n      this.timeout = setInterval(() => {\r\n        this.countTime--;\r\n        if (this.countTime === 0) {\r\n          this.destroyDisabled = false;\r\n          clearInterval(this.timeout);\r\n        }\r\n      }, 1000);\r\n      // this.$confirm(\"确定注销当前账号?\", \"\", {\r\n      //   confirmButtonText: \"确定\",\r\n      //   cancelButtonText: \"取消\",\r\n      //   center: true,\r\n      //   closeOnClickModal: false,\r\n      //   closeOnPressEscape: false,\r\n      //   // showClose: false,\r\n      //   customClass: \"confirmClass\"\r\n      // }).then(() => {});\r\n    },\r\n    close() {\r\n      this.dialogVisibleCon = false;\r\n      clearInterval(this.timeout);\r\n    },\r\n    async submitCon() {\r\n      if(this.destroyDisabled) {\r\n        return;\r\n      }\r\n      try {\r\n        this.dialogVisibleCon = false;\r\n        const userInfo = this.$store.getters.user;\r\n        const params = {\r\n          user_id: userInfo.user_id,\r\n          user_token: userInfo.user_token\r\n        };\r\n        accountDestroy(params).then(res => {\r\n          if (res && res.code === 0) {\r\n            const isShowReminder = getLoginReminder();\r\n            removeAll();\r\n            this.$store.dispatch(\"logout\").then(() => {\r\n              setLoginReminder(isShowReminder);\r\n              location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n            });\r\n          }\r\n        });\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async onSubmitPass(formName) {\r\n      try {\r\n        this.$refs[formName].validate(async valid => {\r\n          if (valid) {\r\n            const params = {\r\n              ...this.passForm\r\n            };\r\n            const res = await resetPassword(params);\r\n            if (res && res.code === 0) {\r\n              this.$message(res.msg + \",请重新登录！\");\r\n              this.$store.dispatch(\"logout\").then(() => {\r\n                location.reload(); // 为了重新实例化vue-router对象 避免bug\r\n              });\r\n            } else {\r\n              this.showMessage = true;\r\n              this.message = res.msg;\r\n            }\r\n          } else {\r\n            console.log(\"error submit!!\");\r\n            return false;\r\n          }\r\n        });\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    closeMessage() {\r\n      this.showMessage = false;\r\n    }\r\n  },\r\n  // 创建完毕状态(里面是操作)\r\n  created() {\r\n    this.getAreaCode();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.setRight {\r\n  margin-top: 45px;\r\n  margin-left: 60px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n  margin-right: 30px;\r\n  .title {\r\n    font-size: 16px;\r\n    color: #292929;\r\n    font-family: \"SourceHanSansCN\";\r\n  }\r\n  .accContent {\r\n    width: 100%;\r\n    min-width: 650px;\r\n    padding: 27px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    margin-top: 32px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    .actitle {\r\n      font-size: 26px;\r\n      color: #64afd5;\r\n      font-family: SourceHanSansCN;\r\n    }\r\n  }\r\n\r\n  .mobile {\r\n    width: 300px;\r\n  }\r\n  // .code {\r\n  //   width: 180px;\r\n  // }\r\n  .code-btn {\r\n    height: 100%;\r\n    padding: 0 0 0 15px;\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    border: none;\r\n    min-width: 80px;\r\n    text-align: right;\r\n    display: flex;\r\n    align-items: center;\r\n    cursor: pointer;\r\n  }\r\n  .reset-code-btn {\r\n    color: #64afd5;\r\n    padding: 5px 10px;\r\n    margin-bottom: 6px;\r\n  }\r\n  .code-btn-dis {\r\n    color: #c0c4cc;\r\n  }\r\n  // input\r\n  /deep/ .el-form-item {\r\n    margin-bottom: 0;\r\n    border: 1px solid #bcc4c8;\r\n    border-radius: 8px;\r\n    width: 100%;\r\n    padding: 0 10px;\r\n    margin-top: 15px;\r\n    // height: 100%;\r\n  }\r\n  .btn-login {\r\n    padding: 0;\r\n    border: 0;\r\n    margin-top: 30px;\r\n    .save {\r\n      width: 100%;\r\n      height: 42px;\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      background-color: #64afd5;\r\n      border-radius: 8px;\r\n      border: 1px solid #64afd5;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      color: #fff;\r\n    }\r\n    // .el-button {\r\n    //   width: 100%;\r\n    //   height: 42px;\r\n    //   font-size: 16px;\r\n    //   font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    //   font-weight: 400;\r\n    //   background-color: #64afd5;\r\n    //   border-radius: 8px;\r\n    //   border: 1px solid #64afd5;\r\n    // }\r\n    /deep/ .el-button--primary.is-disabled {\r\n      // background: #eaedef !important;\r\n      // border-color: #eaedef;\r\n      // color: #7e878c;\r\n    }\r\n  }\r\n  /deep/ .el-form-item__content {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    height: 100%;\r\n  }\r\n  /deep/ .el-input__inner {\r\n    border-radius: 0;\r\n    border: 0px;\r\n    background-color: #f5f9fb;\r\n    background-color: rgba(255, 255, 255, 0);\r\n    padding: 0;\r\n  }\r\n  /deep/ .el-select > .el-input {\r\n    width: 65px;\r\n  }\r\n  /deep/ .el-select .el-input__inner {\r\n    padding-left: 5px !important;\r\n  }\r\n  /deep/ .el-input__suffix {\r\n    right: 0;\r\n    padding-left: 10px;\r\n  }\r\n  .others {\r\n    margin: 30px 0;\r\n    color: #929a9f;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    label {\r\n      padding: 0 20px;\r\n      border-right: 2px solid #929a9f;\r\n      cursor: pointer;\r\n      &:last-child {\r\n        border-right: 0;\r\n      }\r\n    }\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/account.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"setRight\"},[_c('label',{staticClass:\"title\"},[_vm._v(\"账号与安全\")]),_vm._v(\" \"),_c('div',{staticClass:\"accContent\"},[_c('label',{staticClass:\"actitle\"},[_vm._v(\"密码管理\")]),_vm._v(\" \"),_c('el-form',{ref:\"passForm\",staticClass:\"demo-codeForm\",attrs:{\"model\":_vm.passForm,\"rules\":_vm.passRules,\"label-width\":\"0px\"}},[_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"user_mobile\"}},[_c('el-select',{attrs:{\"placeholder\":\"\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.areaCodes),function(group,idx){return _c('el-option-group',{key:group.area_group_name + idx,attrs:{\"label\":group.area_group_name}},_vm._l((group.area),function(item,index){return _c('el-option',{key:item.area_code + index,attrs:{\"label\":'+' + item.area_code,\"value\":item.area_code}},[_c('span',{staticStyle:{\"float\":\"left\"}},[_vm._v(_vm._s(item.area_name))]),_vm._v(\" \"),_c('span',{staticStyle:{\"float\":\"right\",\"color\":\"#8492a6\"}},[_vm._v(_vm._s(\"+\" + item.area_code))])])}),1)}),1),_vm._v(\" \"),_c('el-input',{staticClass:\"mobile\",attrs:{\"placeholder\":\"请输入手机号\"},model:{value:(_vm.passForm.user_mobile),callback:function ($$v) {_vm.$set(_vm.passForm, \"user_mobile\", $$v)},expression:\"passForm.user_mobile\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"code\"}},[_c('el-input',{staticClass:\"code\",attrs:{\"placeholder\":\"请输入验证码\"},model:{value:(_vm.passForm.code),callback:function ($$v) {_vm.$set(_vm.passForm, \"code\", $$v)},expression:\"passForm.code\"}}),_vm._v(\" \"),(!_vm.codeing)?_c('div',{staticClass:\"code-btn\",on:{\"click\":function($event){return _vm.getCodeBefore(1)}}},[_vm._v(\"获取验证码\")]):_c('div',{staticClass:\"code-btn\"},[_c('span',{staticStyle:{\"display\":\"inline-block\",\"width\":\"60px\"}},[_vm._v(_vm._s(_vm.codeingTime + \" s\"))])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"code\"}},[_c('el-input',{staticClass:\"code\",attrs:{\"placeholder\":\"请输入至少6位密码\"},model:{value:(_vm.passForm.user_password),callback:function ($$v) {_vm.$set(_vm.passForm, \"user_password\", $$v)},expression:\"passForm.user_password\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"\",\"prop\":\"code\"}},[_c('el-input',{staticClass:\"code\",attrs:{\"placeholder\":\"请再次输入密码\"},model:{value:(_vm.passForm.user_confirm_password),callback:function ($$v) {_vm.$set(_vm.passForm, \"user_confirm_password\", $$v)},expression:\"passForm.user_confirm_password\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"btn-login\"},[_c('div',{staticClass:\"save\",on:{\"click\":function($event){return _vm.onSubmitPass('passForm')}}},[_vm._v(\"保 存\")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"others\"},[_c('label',{on:{\"click\":_vm.destroy}},[_vm._v(\"注销账号\")]),_vm._v(\" \"),_c('label',{on:{\"click\":_vm.logout}},[_vm._v(\"退出登录\")])])],1),_vm._v(\" \"),(_vm.showVerify)?_c('Verify',{ref:\"verify\",attrs:{\"mode\":'pop',\"captchaType\":'blockPuzzle',\"imgSize\":{ width: '330px', height: '155px' }},on:{\"success\":_vm.success}}):_vm._e(),_vm._v(\" \"),(_vm.showMessage)?_c('Messages',{attrs:{\"message\":_vm.message},on:{\"closeMessage\":_vm.closeMessage}}):_vm._e(),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event},\"close\":_vm.close}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"确定注销当前账号?\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.close}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",attrs:{\"disabled\":_vm.destroyDisabled},on:{\"click\":_vm.submitCon}},[_vm._v(\"确 定\\n        \"),(_vm.countTime > 0)?_c('span',[_vm._v(_vm._s(_vm.countTime + \"s\"))]):_vm._e()])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-85a017ee\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/account.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-85a017ee\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./account.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./account.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./account.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-85a017ee\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./account.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-85a017ee\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/account.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"setRight\">\r\n    <label class=\"title\">关于</label>\r\n    <div class=\"accContent\">\r\n      <div class=\"alist\">\r\n        <a :href=\"agreement\" target=\"_blank\">《用户协议》</a>\r\n        <a :href=\"agreement1\" target=\"_blank\">《隐私协议》</a>\r\n        <!-- <el-link\r\n          type=\"primary\"\r\n          class=\"privacy-a\"\r\n          :href=\"agreement\"\r\n          target=\"_blank\"\r\n          >用户协议</el-link\r\n        >\r\n        <el-link\r\n          type=\"primary\"\r\n          class=\"privacy-a\"\r\n          :href=\"agreement1\"\r\n          target=\"_blank\"\r\n          >隐私协议</el-link\r\n        > -->\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getCode,\r\n  getAreaCode,\r\n  resetPassword,\r\n  accountDestroy,\r\n} from \"@/api/index\";\r\n\r\nimport Messages from \"@/components/Message\";\r\nimport { decrypt } from \"@/utils/auth\";\r\nexport default {\r\n  components: { Messages },\r\n  data() {\r\n    return {\r\n      agreement: '',\r\n      agreement1: ''\r\n    };\r\n  },\r\n  watch: {},\r\n  methods: {},\r\n  // 创建完毕状态(里面是操作)\r\n  created() {},\r\n  mounted() {\r\n    const xieyi_url = localStorage.getItem(\"xieyi_url\") ? decrypt(localStorage.getItem(\"xieyi_url\")) : \"\";\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if(app_type == 1) {\r\n      // 国内\r\n      // this.agreement = xieyi_url + \"/xieyi/\" + \"agreement.html\";\r\n      // this.agreement1 = xieyi_url + \"/xieyi/\" + \"agreement1.html\";\r\n      this.agreement = window.agreement;\r\n      this.agreement1 = window.agreement1;\r\n    } else {\r\n      // 海外\r\n      this.agreement = xieyi_url + \"/xieyiwweb/\" + \"agreement.html\";\r\n      this.agreement1 = xieyi_url + \"/xieyiwweb/\" + \"agreement1.html\";\r\n    }\r\n    console.log(\"agreement:\", this.agreement, this.agreement1);\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.setRight {\r\n  margin-top: 45px;\r\n  margin-left: 60px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n  margin-right: 30px;\r\n  .title {\r\n    font-size: 16px;\r\n    color: #292929;\r\n    font-family: \"SourceHanSansCN\";\r\n  }\r\n  .accContent {\r\n    width: 100%;\r\n    min-width: 650px;\r\n    height: 218px;\r\n    padding: 30px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    margin-top: 32px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    .alist {\r\n      display: flex;\r\n      flex-direction: column;\r\n      width: 100%;\r\n      a {\r\n        padding: 23px 0;\r\n        border-bottom: 1px solid #f3f3f4;\r\n        color: #64afd5;\r\n        font-size: 14px;\r\n        justify-content: start;\r\n        text-decoration: none;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/about.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"setRight\"},[_c('label',{staticClass:\"title\"},[_vm._v(\"关于\")]),_vm._v(\" \"),_c('div',{staticClass:\"accContent\"},[_c('div',{staticClass:\"alist\"},[_c('a',{attrs:{\"href\":_vm.agreement,\"target\":\"_blank\"}},[_vm._v(\"《用户协议》\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":_vm.agreement1,\"target\":\"_blank\"}},[_vm._v(\"《隐私协议》\")])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4995bb59\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/about.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4995bb59\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./about.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./about.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./about.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4995bb59\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./about.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4995bb59\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/about.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"setRight\">\r\n    <label class=\"title\">区域选择</label>\r\n    <div class=\"accContent\">\r\n      <div class=\"area\">\r\n        <label class=\"areatitle\">请选择您所在的区域</label>\r\n        <el-radio-group v-model=\"areaID\">\r\n          <el-radio :label=\"1\">中国大陆</el-radio>\r\n          <el-radio :label=\"2\">大陆以外</el-radio>\r\n        </el-radio-group>\r\n        <el-button type=\"primary\" @click=\"onSubmitPass('passForm')\"\r\n          >提 交</el-button\r\n        >\r\n        <label class=\"tishi\">后续也可在个人中心-设置-区域选择中变更</label>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getCode,\r\n  getAreaCode,\r\n  resetPassword,\r\n  accountDestroy,\r\n} from \"@/api/index\";\r\n\r\nimport Messages from \"@/components/Message\";\r\nexport default {\r\n  components: { Messages },\r\n  data() {\r\n    return {\r\n      areaID: 1,\r\n    };\r\n  },\r\n  watch: {},\r\n  methods: {},\r\n  // 创建完毕状态(里面是操作)\r\n  created() {},\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.setRight {\r\n  margin-top: 45px;\r\n  margin-left: 60px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n  margin-right: 30px;\r\n  .title {\r\n    font-size: 14px;\r\n    color: #292929;\r\n    font-family: \"SourceHanSansCN\";\r\n  }\r\n  .accContent {\r\n    width: 100%;\r\n    min-width: 650px;\r\n    padding: 27px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    margin-top: 32px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    .area {\r\n      width: 300px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      .areatitle {\r\n        color: #5e5f60;\r\n        font-size: 16px;\r\n        font-family: \"SourceHanSansCN-Medium\";\r\n        margin: 30px 0;\r\n      }\r\n      /deep/.el-radio__inner {\r\n        width: 20px;\r\n        height: 20px;\r\n      }\r\n      /deep/.el-radio__input.is-checked .el-radio__inner {\r\n        background-color: #fff;\r\n        border: 1px solid #64afd5;\r\n      }\r\n      /deep/.el-radio__inner::after {\r\n        width: 8px;\r\n        height: 8px;\r\n        background-color: #64afd5;\r\n      }\r\n      /deep/.el-radio__label {\r\n        font-size: 14px;\r\n        color: #838b96;\r\n        font-family: \"SourceHanSansCN-Medium\";\r\n      }\r\n      /deep/.el-button--primary {\r\n        font-size: 16px;\r\n        color: #fff;\r\n        height: 43px;\r\n        background-color: #64afd5;\r\n        border-color: #64afd5;\r\n        border-radius: 8px;\r\n        margin-top: 50px;\r\n      }\r\n      .tishi {\r\n        width: 100%;\r\n        text-align: center;\r\n        margin: 25px 0;\r\n        font-size: 12px;\r\n        color: #929a9f;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/areasel.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"setRight\"},[_c('label',{staticClass:\"title\"},[_vm._v(\"区域选择\")]),_vm._v(\" \"),_c('div',{staticClass:\"accContent\"},[_c('div',{staticClass:\"area\"},[_c('label',{staticClass:\"areatitle\"},[_vm._v(\"请选择您所在的区域\")]),_vm._v(\" \"),_c('el-radio-group',{model:{value:(_vm.areaID),callback:function ($$v) {_vm.areaID=$$v},expression:\"areaID\"}},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"中国大陆\")]),_vm._v(\" \"),_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\"大陆以外\")])],1),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onSubmitPass('passForm')}}},[_vm._v(\"提 交\")]),_vm._v(\" \"),_c('label',{staticClass:\"tishi\"},[_vm._v(\"后续也可在个人中心-设置-区域选择中变更\")])],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6e1d042d\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/areasel.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6e1d042d\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./areasel.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./areasel.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./areasel.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6e1d042d\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./areasel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6e1d042d\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/areasel.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"recommendContent\">\r\n    <div class=\"row\">\r\n      <div class=\"col\">\r\n        请选择反馈类型\r\n      </div>\r\n      <div class=\"col feedback_types\">\r\n        <div\r\n          class=\"feedback_type\"\r\n          :class=\"{ selected: selected_feedback_type == 0 }\"\r\n          @click=\"selectedFeedBackType(0)\"\r\n        >\r\n          错误问题\r\n        </div>\r\n        <div\r\n          class=\"feedback_type\"\r\n          :class=\"{ selected: selected_feedback_type == 1 }\"\r\n          @click=\"selectedFeedBackType(1)\"\r\n        >\r\n          功能建议\r\n        </div>\r\n        <div\r\n          class=\"feedback_type\"\r\n          :class=\"{ selected: selected_feedback_type == 2 }\"\r\n          @click=\"selectedFeedBackType(2)\"\r\n        >\r\n          更多咨询\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"row\">\r\n      <div class=\"col\" style=\"padding-top: 13px;\">反馈描述</div>\r\n      <div class=\"col\">\r\n        <el-input\r\n          type=\"textarea\"\r\n          placeholder=\"此处撰写你的反馈\"\r\n          v-model=\"feedback_content\"\r\n          :resize=\"'none'\"\r\n          :maxlength=\"500\"\r\n          show-word-limit\r\n        >\r\n        </el-input>\r\n      </div>\r\n    </div>\r\n    <div class=\"row\">\r\n      <div class=\"col\" style=\"padding-top: 26px;\">\r\n        上传照片\r\n        <div class=\"tips\">（可选）</div>\r\n      </div>\r\n      <div class=\"col\">\r\n        <div class=\"imagesCol\">\r\n          <div class=\"images\">\r\n            <div\r\n              class=\"image\"\r\n              v-for=\"(item, index) in images\"\r\n              :key=\"'image' + index\"\r\n            >\r\n              <img\r\n                class=\"close\"\r\n                src=\"@/assets/img/feedback_image_close.png\"\r\n                @click=\"close(index)\"\r\n              />\r\n              <el-image\r\n                :src=\"item\"\r\n                :preview-src-list=\"images\"\r\n                :fit=\"'fill'\"\r\n              >\r\n                <div slot=\"placeholder\" class=\"image-slot\">\r\n                  加载中<span class=\"dot\">...</span>\r\n                </div>\r\n              </el-image>\r\n            </div>\r\n          </div>\r\n\r\n          <div\r\n            v-if=\"images.length < imagesMaxLength\"\r\n            class=\"upload\"\r\n            @click=\"uploadImages\"\r\n          >\r\n            <img src=\"@/assets/img/add.svg\" />\r\n            <span>上传截图</span>\r\n          </div>\r\n          <div class=\"uploads\" v-if=\"imagesMaxLength - images.length - 1 > 0\">\r\n            <div\r\n              v-for=\"(item, index) in imagesMaxLength - images.length - 1\"\r\n              :key=\"index\"\r\n              class=\"upload\"\r\n            ></div>\r\n          </div>\r\n        </div>\r\n        <div class=\"tips_image\">已上传{{ images.length }}/5张截图</div>\r\n      </div>\r\n    </div>\r\n    <div class=\"row\">\r\n      <div class=\"col\">\r\n        联系方式\r\n      </div>\r\n      <div class=\"col\">\r\n        <div class=\"tips tips1\">请留下您的联系方式以便我们与您联系</div>\r\n        <div class=\"input\">\r\n          <el-input v-model=\"feedback_mobile\" placeholder=\"手机号码或邮箱\" />\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"submit\">\r\n      <el-button v-loading=\"loading\" v-throttle=\"[add]\">提 交</el-button>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { setFeedback } from \"@/api/index\";\r\nimport { uploaDOSS } from \"@/utils/oss\";\r\nimport { \r\n  getOssConfig, \r\n  getBase64ByFile, \r\n  getBase64ByUrl, \r\n  saveFile,\r\n  base64ToFile,\r\n  compressImage } from \"@/utils/indexDb\";\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nexport default {\r\n  components: {},\r\n  props: {},\r\n  data() {\r\n    return {\r\n      selected_feedback_type: 0,\r\n      feedback_content: \"\",\r\n      feedback_mobile: \"\",\r\n      feedback_type: \"错误问题\",\r\n      images: [],\r\n      imagesName: [],\r\n      fileImageUrls: [],\r\n      avatarUrl: \"\",\r\n      imagesMaxLength: 5,\r\n      loading: false\r\n    };\r\n  },\r\n  watch: {},\r\n  methods: {\r\n    close(index) {\r\n      this.images.splice(index, 1);\r\n      this.fileImageUrls.splice(index, 1);\r\n      this.imagesName.splice(index, 1);\r\n    },\r\n    selectedFeedBackType(index) {\r\n      this.selected_feedback_type = index;\r\n      if (index == 0) {\r\n        this.feedback_type = \"错误问题\";\r\n      } else if (index == 1) {\r\n        this.feedback_type = \"功能建议\";\r\n      } else if (index == 2) {\r\n        this.feedback_type = \"更多咨询\";\r\n      }\r\n    },\r\n    add() {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      let params = {\r\n        feedback_content: this.feedback_content,\r\n        feedback_mobile: this.feedback_mobile,\r\n        feedback_type: this.feedback_type,\r\n        feedback_image: this.fileImageUrls.join(\",\"),\r\n        device_type: 3,\r\n        device_name: \"web\",\r\n        device_os_version: \"web\"\r\n      };\r\n      if (this.feedback_id) {\r\n        params.feedback_id = this.feedback_id;\r\n      }\r\n      console.log(\"setFeedback::\", params);\r\n      setFeedback(params).then(res => {\r\n        if (res && res.code == 0) {\r\n          if (this.feedback_id) {\r\n            // 编辑\r\n            this.$emit(\"editSuccesss\", res.data);\r\n          } else {\r\n            this.$emit(\"addSuccesss\", true);\r\n          }\r\n        } else {\r\n          this.loading = false;\r\n          // this.$message({\r\n          //   message: res.msg,\r\n          //   type: \"error\"\r\n          // });\r\n        }\r\n      });\r\n    },\r\n    // 上传图片\r\n    uploadImages() {\r\n      if (this.images.length > 5) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多上传5张图片\"\r\n        });\r\n        return;\r\n      }\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \"image/png, image/jpeg, image/jpg\";\r\n      input.multiple = \"multiple\";\r\n\r\n      input.onchange = e => {\r\n        console.log(input.files);\r\n        let files = input.files;\r\n        if (!/\\.(jpg|jpeg|png|JPG|PNG)$/.test(input.files[0].name)) {\r\n          this.$message.error(\"图片类型必须是jpeg,jpg,png中的一种\");\r\n          return false;\r\n        } else {\r\n          if (files.length + this.images.length > 5) {\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: \"最多上传5张图片\"\r\n            });\r\n            return;\r\n          }\r\n          // 图片大小最多为5M\r\n          let sizeTotal = 0;\r\n          for (let i = 0; i < this.images.length; i++) {\r\n            const base64String = this.images[i];\r\n            const file = base64ToFile(base64String, this.imagesName[i].name);\r\n            console.log(\"file.size:\", file.size);\r\n            sizeTotal += file.size;\r\n          }\r\n          console.log(\"sizeTotal:\", sizeTotal)\r\n          for (let i = 0; i < files.length; i++) {\r\n            const file = files[i];\r\n            sizeTotal += file.size;\r\n            console.log(\"file.size:\", file.size);\r\n          }\r\n          console.log(\"sizeTotal:\", sizeTotal)\r\n          const feedback_image_size = decrypt(localStorage.getItem(\"feedback_image_size\"));\r\n          if(sizeTotal > feedback_image_size * 1024 * 1024) {\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: `图片大小不能超过${feedback_image_size}M`\r\n            });\r\n            return;\r\n          }\r\n          for (let i = 0; i < files.length; i++) {\r\n            const file = files[i];\r\n            // 大于1M的图片做压缩\r\n            if(file.size > 1 * 1024 * 1024) {\r\n              compressImage(file).then((base64String) => {\r\n                const base64ToFileResult = base64ToFile(base64String, file.name);\r\n                this.avatarChange(base64ToFileResult, files.length + this.images.length);\r\n              });\r\n            } else {\r\n              this.avatarChange(file, files.length + this.images.length);\r\n            }\r\n            // this.avatarChange(file, files.length + this.images.length);\r\n          }\r\n          console.log(\"this.images:\", this.images);\r\n        }\r\n      };\r\n      input.click();\r\n    },\r\n    async avatarChange(file, length) {\r\n      let directory = decrypt(localStorage.getItem(\"feedback_img\"));\r\n      let res = await uploaDOSS(file, directory);\r\n      this.fileImageUrls.push(res.fileUrl);\r\n      // 调用后台接口\r\n      const avatarUrl = await getBase64ByFile(file);\r\n      this.images.push(avatarUrl);\r\n      this.imagesName.push(res.fileName.split(\".\")[0]);\r\n      //todo 保存到indexDb key：url\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      // 保存到indexDb\r\n      await saveFile(url, res.fileName, avatarUrl);\r\n\r\n      console.log(this.images);\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {}\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.loading {\r\n  text-align: center;\r\n}\r\n.recommendContent {\r\n  width: 100%;\r\n  // min-width: 650px;\r\n  padding: 24px;\r\n  .row {\r\n    display: flex;\r\n    justify-content: flex-start;\r\n    &:not(:first-of-type) {\r\n      margin-top: 21px;\r\n    }\r\n    &:nth-of-type(2) {\r\n      margin-top: 31px;\r\n    }\r\n    .col {\r\n      &:first-child {\r\n        width: 81px;\r\n        margin-right: 26px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 16px;\r\n        color: #292929;\r\n        line-height: 22px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      &:last-child {\r\n        flex: 1;\r\n      }\r\n      .tips_image {\r\n        display: flex;\r\n        justify-content: flex-end;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 12px;\r\n        color: #64afd5;\r\n        line-height: 17px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        margin-top: 10px;\r\n      }\r\n      .imagesCol {\r\n        display: flex;\r\n      }\r\n      .images {\r\n        display: flex;\r\n        .image {\r\n          margin-right: 7px;\r\n          position: relative;\r\n          /deep/ .el-image {\r\n            border-radius: 8px;\r\n            width: 80px;\r\n            height: 80px;\r\n          }\r\n          .close {\r\n            position: absolute;\r\n            top: 8px;\r\n            right: 7px;\r\n            z-index: 9;\r\n            cursor: pointer;\r\n            width: 16px;\r\n            height: 16px;\r\n          }\r\n        }\r\n      }\r\n      .tips {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #929a9f;\r\n        line-height: 21px;\r\n        font-style: normal;\r\n        padding-left: 12px;\r\n      }\r\n      .tips1 {\r\n        padding-left: 0;\r\n      }\r\n      .input {\r\n        margin-top: 12px;\r\n        /deep/ .el-input {\r\n          width: 260px;\r\n        }\r\n      }\r\n      .uploads {\r\n        display: flex;\r\n      }\r\n      .upload {\r\n        width: 80px;\r\n        height: 80px;\r\n        background: #f9f9f9;\r\n        border-radius: 8px;\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: center;\r\n        align-items: center;\r\n        cursor: pointer;\r\n        &:not(:last-of-type) {\r\n          margin-right: 9px;\r\n        }\r\n        span {\r\n          padding-top: 5px;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #929a9f;\r\n          line-height: 18px;\r\n          text-align: left;\r\n          font-style: normal;\r\n        }\r\n        img {\r\n          width: 19px;\r\n          height: 21px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  .feedback_types {\r\n    display: flex;\r\n    align-items: center;\r\n    .feedback_type {\r\n      width: 100px;\r\n      height: 32px;\r\n      line-height: 30px;\r\n      text-align: center;\r\n      border-radius: 8px;\r\n      border: 1px solid #64afd5;\r\n      margin-right: 20px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #64afd5;\r\n      font-style: normal;\r\n      cursor: pointer;\r\n      &.selected {\r\n        background: #64afd5;\r\n        color: #ffffff;\r\n      }\r\n    }\r\n  }\r\n}\r\n.submit {\r\n  display: flex;\r\n  justify-content: center;\r\n  margin-top: 42px;\r\n  .el-button {\r\n    width: 202px;\r\n    height: 44px;\r\n    line-height: 44px;\r\n    border-radius: 10px;\r\n    background: #64afd5;\r\n    padding: 0;\r\n    color: #ffffff;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n  }\r\n}\r\n/deep/ .el-textarea__inner {\r\n  height: 117px;\r\n  padding: 17px;\r\n}\r\n/deep/ .el-input__count {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #64afd5;\r\n  line-height: 17px;\r\n  text-align: left;\r\n  font-style: normal;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/RecommendAdd.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"recommendContent\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"\\n      请选择反馈类型\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"col feedback_types\"},[_c('div',{staticClass:\"feedback_type\",class:{ selected: _vm.selected_feedback_type == 0 },on:{\"click\":function($event){return _vm.selectedFeedBackType(0)}}},[_vm._v(\"\\n        错误问题\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"feedback_type\",class:{ selected: _vm.selected_feedback_type == 1 },on:{\"click\":function($event){return _vm.selectedFeedBackType(1)}}},[_vm._v(\"\\n        功能建议\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"feedback_type\",class:{ selected: _vm.selected_feedback_type == 2 },on:{\"click\":function($event){return _vm.selectedFeedBackType(2)}}},[_vm._v(\"\\n        更多咨询\\n      \")])])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\",staticStyle:{\"padding-top\":\"13px\"}},[_vm._v(\"反馈描述\")]),_vm._v(\" \"),_c('div',{staticClass:\"col\"},[_c('el-input',{attrs:{\"type\":\"textarea\",\"placeholder\":\"此处撰写你的反馈\",\"resize\":'none',\"maxlength\":500,\"show-word-limit\":\"\"},model:{value:(_vm.feedback_content),callback:function ($$v) {_vm.feedback_content=$$v},expression:\"feedback_content\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"imagesCol\"},[_c('div',{staticClass:\"images\"},_vm._l((_vm.images),function(item,index){return _c('div',{key:'image' + index,staticClass:\"image\"},[_c('img',{staticClass:\"close\",attrs:{\"src\":require(\"@/assets/img/feedback_image_close.png\")},on:{\"click\":function($event){return _vm.close(index)}}}),_vm._v(\" \"),_c('el-image',{attrs:{\"src\":item,\"preview-src-list\":_vm.images,\"fit\":'fill'}},[_c('div',{staticClass:\"image-slot\",attrs:{\"slot\":\"placeholder\"},slot:\"placeholder\"},[_vm._v(\"\\n                加载中\"),_c('span',{staticClass:\"dot\"},[_vm._v(\"...\")])])])],1)}),0),_vm._v(\" \"),(_vm.images.length < _vm.imagesMaxLength)?_c('div',{staticClass:\"upload\",on:{\"click\":_vm.uploadImages}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/add.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"上传截图\")])]):_vm._e(),_vm._v(\" \"),(_vm.imagesMaxLength - _vm.images.length - 1 > 0)?_c('div',{staticClass:\"uploads\"},_vm._l((_vm.imagesMaxLength - _vm.images.length - 1),function(item,index){return _c('div',{key:index,staticClass:\"upload\"})}),0):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tips_image\"},[_vm._v(\"已上传\"+_vm._s(_vm.images.length)+\"/5张截图\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"\\n      联系方式\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"tips tips1\"},[_vm._v(\"请留下您的联系方式以便我们与您联系\")]),_vm._v(\" \"),_c('div',{staticClass:\"input\"},[_c('el-input',{attrs:{\"placeholder\":\"手机号码或邮箱\"},model:{value:(_vm.feedback_mobile),callback:function ($$v) {_vm.feedback_mobile=$$v},expression:\"feedback_mobile\"}})],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"submit\"},[_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.add]),expression:\"[add]\"}]},[_vm._v(\"提 交\")])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\",staticStyle:{\"padding-top\":\"26px\"}},[_vm._v(\"\\n      上传照片\\n      \"),_c('div',{staticClass:\"tips\"},[_vm._v(\"（可选）\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7d677e3e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/RecommendAdd.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7d677e3e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./RecommendAdd.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RecommendAdd.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RecommendAdd.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7d677e3e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./RecommendAdd.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7d677e3e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/RecommendAdd.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"recommendContent \">\r\n    <div class=\"replysContent\">\r\n      <div class=\"row\">\r\n        <div class=\"col\">\r\n          反馈类型\r\n        </div>\r\n        <div class=\"col feedback_types\">\r\n          {{ feedback_type }}\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col\" style=\"padding-top: 13px;\">反馈描述</div>\r\n        <div class=\"col\">\r\n          <div class=\"feedback_content \"><div>{{ feedback_content }}</div></div>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col\" style=\"padding-top: 30px;\">\r\n          上传照片\r\n        </div>\r\n        <div class=\"col imagesCol\">\r\n          <div class=\"images\">\r\n            <div\r\n              class=\"image\"\r\n              v-for=\"(item, index) in images\"\r\n              :key=\"'image' + index\"\r\n            >\r\n              <el-image :src=\"item\" :preview-src-list=\"images\" :fit=\"'fill'\">\r\n                <div slot=\"placeholder\" class=\"image-slot\">\r\n                  加载中<span class=\"dot\">...</span>\r\n                </div>\r\n              </el-image>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col\">\r\n          联系方式\r\n        </div>\r\n        <div class=\"col\">\r\n          <div class=\"tips tips1\">{{ feedback_mobile }}</div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"replys\" v-if=\"replys.length\">\r\n        <div class=\"row\" v-for=\"(item, index) in replys\" :key=\"index\">\r\n          <div class=\"col\">\r\n            {{ item.feedback_reply_type == 1 ? \"后台回复\" : \"我的回复\" }}\r\n          </div>\r\n          <div class=\"col replyWapper\">\r\n            <div\r\n              class=\"reply\"\r\n              :class=\"[item.feedback_reply_type == 1 ? 'admin' : 'mine']\"\r\n            >\r\n              {{ item.feedback_reply_content }}\r\n            </div>\r\n            <div class=\"time\">{{ item.updateTime }}</div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"myReply\" :class=\"replys.length == 0 ? 'myReply1' : ''\">\r\n        <div class=\"input\">\r\n          <el-input\r\n            type=\"textarea\"\r\n            resize=\"none\"\r\n            v-model=\"feedback_reply_content\"\r\n            placeholder=\"填写我的回复\"\r\n          />\r\n        </div>\r\n        <div class=\"submit\">\r\n          <el-button v-loading=\"loading\" v-throttle=\"[submit]\">提 交</el-button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getFeedbackDetail,\r\n  getFeedbackReplyList,\r\n  setFeedbackReply\r\n} from \"@/api/index\";\r\nimport { Base64 } from \"js-base64\";\r\nimport {\r\n  getOssConfig,\r\n  getBase64ByFile,\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile\r\n} from \"@/utils/indexDb\";\r\n\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    feedback_id: {\r\n      type: Number,\r\n      default: 0\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      selected_feedback_type: 0,\r\n      feedback_content: \"\",\r\n      feedback_mobile: \"\",\r\n      feedback_type: \"错误问题\",\r\n      images: [],\r\n      imagesName: [],\r\n      avatarUrl: \"\",\r\n      imagesMaxLength: 5,\r\n      data: null,\r\n      types: [\"错误问题\", \"功能建议\", \"更多咨询\"],\r\n      replys: [],\r\n      feedback_reply_content: \"\",\r\n      loading: false\r\n    };\r\n  },\r\n  watch: {\r\n    feedback_id: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.getFeedbackDetail(v);\r\n          this.getFeedbackReplyList(v);\r\n        }\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    async submit() {\r\n      try {\r\n        if(this.loading) {\r\n          return;\r\n        }\r\n        this.loading = true;\r\n        let params = {\r\n          feedback_reply_content: Base64.encode(this.feedback_reply_content),\r\n          feedback_id: this.feedback_id\r\n        };\r\n        const res = await setFeedbackReply(params);\r\n        this.feedback_reply_content = \"\";\r\n        this.getFeedbackReplyList(this.feedback_id);\r\n        this.loading = false; \r\n      } catch (error) {\r\n        this.loading = false;\r\n      }\r\n    },\r\n    getFeedbackDetail(feedback_id) {\r\n      getFeedbackDetail({ feedback_id }).then(res => {\r\n        if (res && res.code == 0) {\r\n          let config = getOssConfig();\r\n          this.data = res.data[0];\r\n          this.feedback_content = this.data.feedback_content;\r\n          this.feedback_mobile = this.data.feedback_mobile;\r\n          this.feedback_type = this.data.feedback_type;\r\n          this.selected_feedback_type = this.types.indexOf(this.feedback_type);\r\n          const images = this.data.feedback_image;\r\n          const image_show = this.data.feedback_image_show;\r\n          if (images) {\r\n            const arr = images.split(\",\");\r\n            const arrShow = image_show.split(\",\");\r\n            arrShow.forEach(async (item, index) => {\r\n              const imageNames = arr[index].split(\"/\");\r\n              const imageName = imageNames[imageNames.length - 1];\r\n              // 从indexDb拿数据\r\n              const url = config.uploadHost + \"/\" + arr[index];\r\n              const image = await getFile(url);\r\n              console.log(\"image:\", image);\r\n              if (image) {\r\n                this.images.push(image.fileData);\r\n              } else {\r\n                // 存入indexDb\r\n                const imageBase64 = await getBase64ByUrl(item);\r\n                console.log(\"imageBase64111:\", imageBase64);\r\n                this.images.push(imageBase64);\r\n                // 保存到indexDb\r\n                await saveFile(url, imageName, imageBase64);\r\n              }\r\n              // this.images.push(arrShow[index]);\r\n              this.imagesName.push(imageName);\r\n            });\r\n          }\r\n          console.log(this.images);\r\n        }\r\n      });\r\n    },\r\n    getFeedbackReplyList(feedback_id) {\r\n      getFeedbackReplyList({ feedback_id }).then(res => {\r\n        if (res && res.code == 0) {\r\n          this.replys = res.data;\r\n          this.replys.forEach(item => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.feedback_reply_time + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n        }\r\n      });\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {}\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.loading {\r\n  text-align: center;\r\n}\r\n\r\n.recommendContent {\r\n  width: 100%;\r\n  height: 100%;\r\n  // min-width: 650px;\r\n  padding: 0 24px;\r\n  overflow-y: auto;\r\n  .replysContent {\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100%;\r\n  }\r\n  .row {\r\n    width: 100%;\r\n    display: flex;\r\n    justify-content: flex-start;\r\n    &:not(:first-of-type) {\r\n      margin-top: 31px;\r\n    }\r\n    .col {\r\n      &:first-child {\r\n        margin-right: 26px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 16px;\r\n        color: #292929;\r\n        line-height: 22px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      &:last-child {\r\n        flex: 1;\r\n      }\r\n      &.imagesCol {\r\n        display: flex;\r\n      }\r\n      .images {\r\n        display: flex;\r\n        .image {\r\n          margin-right: 10px;\r\n          /deep/ .el-image {\r\n            border-radius: 8px;\r\n            width: 80px;\r\n            height: 80px;\r\n          }\r\n        }\r\n      }\r\n      .tips {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #929a9f;\r\n        line-height: 21px;\r\n        font-style: normal;\r\n        padding-left: 15px;\r\n      }\r\n      .tips1 {\r\n        padding-left: 0;\r\n      }\r\n      .time {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 12px;\r\n        color: #929a9f;\r\n        line-height: 18px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n    }\r\n  }\r\n  .replys {\r\n    margin-top: 22px;\r\n    margin-bottom: 32px;\r\n    padding-top: 35px;\r\n    padding-bottom: 59px;\r\n    border-top: 1px solid #eaedef;\r\n    border-bottom: 1px solid #eaedef;\r\n    .row {\r\n      align-items: center;\r\n    }\r\n    .replyWapper {\r\n      min-height: 56px;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      .reply {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #292929;\r\n        line-height: 21px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        flex: 1;\r\n        padding: 21px 15px;\r\n        margin-right: 14px;\r\n        &.admin {\r\n          background: #f9f9f9;\r\n          border-radius: 8px;\r\n          border: 1px solid #f5f5f5;\r\n        }\r\n        &.mine {\r\n          background: #fdfdfd;\r\n          border-radius: 8px;\r\n          border: 1px solid #eaedef;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  .myReply1 {\r\n    flex: 1;\r\n    justify-content: flex-end !important;\r\n  }\r\n  .myReply {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: flex-end;\r\n    .input {\r\n      flex: 1;\r\n      margin-right: 38px;\r\n      /deep/ .el-textarea {\r\n        height: 108px;\r\n      }\r\n      /deep/ .el-textarea__inner {\r\n        padding: 22px 20px;\r\n        height: 108px;\r\n        border: 1px solid #64afd5;\r\n        background: #fdfdfd;\r\n        border-radius: 8px;\r\n        min-height: auto !important;\r\n      }\r\n    }\r\n  }\r\n  .feedback_types {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: bold;\r\n    font-size: 14px;\r\n    color: #64afd5;\r\n    line-height: 21px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n}\r\n.submit {\r\n  display: flex;\r\n  justify-content: center;\r\n  .el-button {\r\n    width: 126px;\r\n    height: 45px;\r\n    line-height: 45px;\r\n    border-radius: 10px;\r\n    background: #64afd5;\r\n    padding: 0;\r\n    color: #ffffff;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n  }\r\n}\r\n.feedback_content {\r\n  height: 80px;\r\n  \r\n  background: #f9f9f9;\r\n  border-radius: 8px;\r\n  border: 1px solid #f5f5f5;\r\n  padding: 19px 15px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #7e878c;\r\n  line-height: 21px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  &>div {\r\n    height: 100%;\r\n    overflow-y: auto;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/RecommendDetail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"recommendContent\"},[_c('div',{staticClass:\"replysContent\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"\\n        反馈类型\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"col feedback_types\"},[_vm._v(\"\\n        \"+_vm._s(_vm.feedback_type)+\"\\n      \")])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\",staticStyle:{\"padding-top\":\"13px\"}},[_vm._v(\"反馈描述\")]),_vm._v(\" \"),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"feedback_content\"},[_c('div',[_vm._v(_vm._s(_vm.feedback_content))])])])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\",staticStyle:{\"padding-top\":\"30px\"}},[_vm._v(\"\\n        上传照片\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"col imagesCol\"},[_c('div',{staticClass:\"images\"},_vm._l((_vm.images),function(item,index){return _c('div',{key:'image' + index,staticClass:\"image\"},[_c('el-image',{attrs:{\"src\":item,\"preview-src-list\":_vm.images,\"fit\":'fill'}},[_c('div',{staticClass:\"image-slot\",attrs:{\"slot\":\"placeholder\"},slot:\"placeholder\"},[_vm._v(\"\\n                加载中\"),_c('span',{staticClass:\"dot\"},[_vm._v(\"...\")])])])],1)}),0)])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"\\n        联系方式\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"tips tips1\"},[_vm._v(_vm._s(_vm.feedback_mobile))])])]),_vm._v(\" \"),(_vm.replys.length)?_c('div',{staticClass:\"replys\"},_vm._l((_vm.replys),function(item,index){return _c('div',{key:index,staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"\\n          \"+_vm._s(item.feedback_reply_type == 1 ? \"后台回复\" : \"我的回复\")+\"\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"col replyWapper\"},[_c('div',{staticClass:\"reply\",class:[item.feedback_reply_type == 1 ? 'admin' : 'mine']},[_vm._v(\"\\n            \"+_vm._s(item.feedback_reply_content)+\"\\n          \")]),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(item.updateTime))])])])}),0):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"myReply\",class:_vm.replys.length == 0 ? 'myReply1' : ''},[_c('div',{staticClass:\"input\"},[_c('el-input',{attrs:{\"type\":\"textarea\",\"resize\":\"none\",\"placeholder\":\"填写我的回复\"},model:{value:(_vm.feedback_reply_content),callback:function ($$v) {_vm.feedback_reply_content=$$v},expression:\"feedback_reply_content\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"submit\"},[_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submit]),expression:\"[submit]\"}]},[_vm._v(\"提 交\")])],1)])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-01f041bc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/RecommendDetail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-01f041bc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./RecommendDetail.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RecommendDetail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RecommendDetail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-01f041bc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./RecommendDetail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-01f041bc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/RecommendDetail.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"setRight\">\r\n    <label class=\"title\">意见与反馈</label>\r\n    <div class=\"recommendContent\">\r\n      <div v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n        <div\r\n          class=\"recommendItem\"\r\n          v-for=\"(item, index) in datas\"\r\n          :key=\"'class' + index\"\r\n          @click=\"toDetail(item)\"\r\n        >\r\n          <div class=\"row1\">\r\n            <div class=\"title\">{{ item.feedback_type }}</div>\r\n            <div class=\"time\">{{ item.updateTime }}</div>\r\n          </div>\r\n          <div class=\"recommend\">{{ item.feedback_content }}</div>\r\n        </div>\r\n      </div>\r\n      <div v-if=\"datas.length == 0 && !loading\" >\r\n        <NoData />\r\n      </div>\r\n\r\n      <p v-if=\"loading\" class=\"loading\">加载中...</p>\r\n      <!-- <p v-if=\"noMore\" class=\"loading\">--到底啦--</p> -->\r\n      <div class=\"submit\">\r\n        <el-button @click=\"add\">添 加</el-button>\r\n      </div>\r\n    </div>\r\n\r\n    <el-dialog\r\n      class=\"course\"\r\n      title=\"\"\r\n      :visible=\"dialogVisible\"\r\n      :modal=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"false\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <img\r\n        class=\"dialog-close\"\r\n        src=\"@/assets/img/close.svg\"\r\n        @click=\"close\"\r\n      />\r\n      <RecommendAdd\r\n        v-if=\"showAdd\"\r\n        :feedback_id=\"feedback_id\"\r\n        @addSuccesss=\"addSuccesss\"\r\n      />\r\n      <RecommendDetail\r\n        v-if=\"showEdit\"\r\n        :feedback_id=\"feedback_id\"\r\n      ></RecommendDetail>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getFeedbackList,\r\n  getAreaCode,\r\n  resetPassword,\r\n  accountDestroy\r\n} from \"@/api/index\";\r\nimport RecommendAdd from \"./RecommendAdd.vue\";\r\nimport RecommendDetail from \"./RecommendDetail.vue\";\r\nimport NoData from \"@/components/NoData\";\r\n\r\nexport default {\r\n  components: { RecommendAdd, RecommendDetail, NoData },\r\n  data() {\r\n    return {\r\n      datas: [],\r\n      loading: false,\r\n      noMore: false,\r\n      page: 0,\r\n      pageSize: 10,\r\n      showAdd: false,\r\n      showEdit: false,\r\n      feedback_id: 0,\r\n      dialogVisible: false\r\n    };\r\n  },\r\n  watch: {},\r\n  methods: {\r\n    init() {\r\n      this.datas = [];\r\n      this.page = 0;\r\n      this.noMore = false;\r\n      this.loading = false;\r\n    },\r\n    getFeedbackList(isAdded) {\r\n      this.loading = true;\r\n      let params = {\r\n        page: this.page,\r\n        pageSize: this.pageSize\r\n      };\r\n      if (isAdded) {\r\n        params.page = 1;\r\n        params.pageSize = 1;\r\n      }\r\n\r\n      console.log(\"params:\", params);\r\n      getFeedbackList(params).then(res => {\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.isMounted = true;\r\n          let data = res.data;\r\n          data.forEach(item => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.feedback_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          if (isAdded) {\r\n            this.datas.unshift(...data);\r\n          } else {\r\n            this.datas.push(...data);\r\n          }\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n      });\r\n    },\r\n    close() {\r\n      this.dialogVisible = false;\r\n      this.showAdd = false;\r\n      this.showEdit = false;\r\n      this.feedback_id = \"\";\r\n    },\r\n    add() {\r\n      this.showAdd = true;\r\n      this.dialogVisible = true;\r\n    },\r\n    toDetail(data) {\r\n      this.showEdit = true;\r\n      this.dialogVisible = true;\r\n      this.feedback_id = data.feedback_id;\r\n    },\r\n    load() {\r\n      if (this.noMore || this.loading) {\r\n        return;\r\n      }\r\n      this.request = true;\r\n      this.page += 1;\r\n      this.getFeedbackList();\r\n    },\r\n    addSuccesss(isAdded) {\r\n      this.showAdd = false;\r\n      this.dialogVisible = false;\r\n      if (isAdded) {\r\n        this.getFeedbackList(isAdded);\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  mounted() {\r\n    this.getFeedbackList();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.loading {\r\n  text-align: center;\r\n}\r\n.setRight {\r\n  margin-top: 45px;\r\n  margin-left: 60px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n  margin-right: 30px;\r\n  .title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  //   padding: 42px 52px;\r\n  .recommendContent {\r\n    width: 100%;\r\n    min-width: 650px;\r\n    padding: 42px 52px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    margin-top: 30px;\r\n    .recommendItem {\r\n      padding-bottom: 13px;\r\n      border-bottom: 1px solid #f3f3f4;\r\n      cursor: pointer;\r\n      &:not(:first-child) {\r\n        .row1 {\r\n          padding-top: 13px;\r\n        }\r\n      }\r\n    }\r\n    .row1 {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      padding-bottom: 8px;\r\n      .title {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 16px;\r\n        color: #292929;\r\n        line-height: 24px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      .time {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #d4d9db;\r\n        line-height: 21px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n    }\r\n    .recommend {\r\n      font-family: PingFangSC, PingFang SC;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #929a9f;\r\n      line-height: 20px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n  }\r\n  .submit {\r\n    display: flex;\r\n    justify-content: center;\r\n    margin-top: 50px;\r\n    .el-button {\r\n      width: 214px;\r\n      height: 45px;\r\n      line-height: 45px;\r\n      border-radius: 10px;\r\n      background: #64afd5;\r\n      padding: 0;\r\n      color: #ffffff;\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n        3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    }\r\n  }\r\n}\r\n/deep/ .el-dialog {\r\n  border-radius: 16px;\r\n  top: 79px;\r\n  width: 632px;\r\n  height: 609px;\r\n}\r\n/deep/ .el-dialog__header {\r\n  padding: 0;\r\n}\r\n/deep/ .el-dialog__body {\r\n  padding: 44px 20px;\r\n  height: 100%;\r\n}\r\n/deep/ .el-input {\r\n  height: 40px;\r\n  line-height: 40px;\r\n}\r\n/deep/ .el-input__inner {\r\n  height: 40px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #000;\r\n  line-height: 21px;\r\n  text-align: left;\r\n  font-style: normal;\r\n}\r\n.dialog-close {\r\n  right: -54px;\r\n  position: absolute;\r\n  top: 0;\r\n  cursor: pointer;\r\n  width: 39px;\r\n  height: 39px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/setModel/Recommend.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"setRight\"},[_c('label',{staticClass:\"title\"},[_vm._v(\"意见与反馈\")]),_vm._v(\" \"),_c('div',{staticClass:\"recommendContent\"},[_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],attrs:{\"infinite-scroll-distance\":1}},_vm._l((_vm.datas),function(item,index){return _c('div',{key:'class' + index,staticClass:\"recommendItem\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('div',{staticClass:\"row1\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(item.feedback_type))]),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(item.updateTime))])]),_vm._v(\" \"),_c('div',{staticClass:\"recommend\"},[_vm._v(_vm._s(item.feedback_content))])])}),0),_vm._v(\" \"),(_vm.datas.length == 0 && !_vm.loading)?_c('div',[_c('NoData')],1):_vm._e(),_vm._v(\" \"),(_vm.loading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"submit\"},[_c('el-button',{on:{\"click\":_vm.add}},[_vm._v(\"添 加\")])],1)]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"course\",attrs:{\"title\":\"\",\"visible\":_vm.dialogVisible,\"modal\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"}},[_c('img',{staticClass:\"dialog-close\",attrs:{\"src\":require(\"@/assets/img/close.svg\")},on:{\"click\":_vm.close}}),_vm._v(\" \"),(_vm.showAdd)?_c('RecommendAdd',{attrs:{\"feedback_id\":_vm.feedback_id},on:{\"addSuccesss\":_vm.addSuccesss}}):_vm._e(),_vm._v(\" \"),(_vm.showEdit)?_c('RecommendDetail',{attrs:{\"feedback_id\":_vm.feedback_id}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f5004994\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/setModel/Recommend.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f5004994\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Recommend.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Recommend.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Recommend.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f5004994\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Recommend.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-f5004994\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/setModel/Recommend.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\">\r\n    <div class=\"leftMenu\">\r\n      <div class=\"top\"\r\n        @click=\"back\">\r\n        <img src=\"@/assets/img/back.svg\" />\r\n      </div>\r\n      <el-menu :default-active=\"activeIndex\"\r\n        @select=\"selectMenu\">\r\n        <el-menu-item index=\"1\"><span :class=\"activeIndex == '1' ? 'active' : ''\">个人信息设置</span></el-menu-item>\r\n        <el-menu-item index=\"2\"><span :class=\"activeIndex == '2' ? 'active' : ''\">意见与反馈</span></el-menu-item>\r\n        <!-- <el-menu-item index=\"3\">区域选择</el-menu-item> -->\r\n        <el-menu-item index=\"4\"><span :class=\"activeIndex == '4' ? 'active' : ''\">账号与安全</span></el-menu-item>\r\n        <el-menu-item index=\"5\"><span :class=\"activeIndex == '5' ? 'active' : ''\">关于</span></el-menu-item>\r\n      </el-menu>\r\n    </div>\r\n    <messSet ref=\"messSet\"\r\n      v-if=\"activeIndex == '1'\" />\r\n    <Recommend ref=\"recommend\"\r\n      v-if=\"activeIndex == '2'\" />\r\n    <account ref=\"account\"\r\n      v-if=\"activeIndex == '4'\" />\r\n    <about ref=\"about\"\r\n      v-if=\"activeIndex == '5'\" />\r\n    <areasel ref=\"areasel\"\r\n      v-if=\"activeIndex == '3'\" />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport messSet from \"./setModel/messSet.vue\";\r\nimport account from \"./setModel/account.vue\";\r\nimport about from \"./setModel/about.vue\";\r\nimport areasel from \"./setModel/areasel.vue\";\r\nimport Recommend from \"./setModel/Recommend.vue\";\r\n\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nexport default {\r\n  components: {\r\n    messSet,\r\n    account,\r\n    areasel,\r\n    about,\r\n    Recommend,\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      activeIndex: \"1\",\r\n    };\r\n  },\r\n  computed: {\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    }\r\n  },\r\n  watch: {},\r\n  beforeRouteLeave(to, from, next) {\r\n    if (to.name == \"index\") {\r\n      EventBus.$emit(\"setBlackTheme\", \"black\");\r\n    }\r\n    if (this.$refs.messSet) {\r\n      this.$refs.messSet.dialogVisible = false;\r\n    }\r\n    if (this.$refs.recommend) {\r\n      this.$refs.recommend.dialogVisible = false;\r\n    }\r\n    if (this.$refs.account) {\r\n      this.$refs.account.dialogVisibleCon = false;\r\n    }\r\n\r\n    // this.$refs.recommend.dialogVisible = false;\r\n    // this.$refs.account.dialogVisibleCon = false;\r\n    next();\r\n  },\r\n  methods: {\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    selectMenu(e) {\r\n      console.log(e);\r\n      this.activeIndex = e;\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.toggle();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n  display: flex;\r\n  z-index: 105;\r\n}\r\n.leftMenu {\r\n  padding-top: 45px;\r\n  padding-left: 32px;\r\n  .top {\r\n    margin-top: 5px;\r\n    cursor: pointer;\r\n    margin-bottom: 30px;\r\n    img {\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n  }\r\n  .el-menu {\r\n    width: 245px;\r\n    height: 235px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 16px;\r\n    border: 1px solid #ffffff;\r\n    .el-menu-item {\r\n      height: 53px;\r\n      line-height: 53px;\r\n      border-bottom: 1px solid #f3f3f4;\r\n      font-size: 16px;\r\n      font-family: \"SourceHanSansCN-Medium\";\r\n      color: #292929;\r\n      padding-left: 20px !important;\r\n      &:last-child {\r\n        border-bottom: 0;\r\n      }\r\n      span {\r\n        padding-left: 10px;\r\n      }\r\n    }\r\n    .active {\r\n      border-left: 2px solid #64afd5;\r\n    }\r\n    .el-menu-item.is-active {\r\n      color: #292929;\r\n      // &::before {\r\n      //   content: \"\";\r\n      //   display: block;\r\n      //   position: absolute;\r\n      //   top: 27px;\r\n      //   left: 15px;\r\n      //   width: 2px;\r\n      //   height: 18px;\r\n      //   background-color: #64afd5;\r\n      // }\r\n    }\r\n    .el-menu-item:hover,\r\n    .el-menu-item:active,\r\n    .el-menu-item:focus {\r\n      background-color: #fdfdfd;\r\n    }\r\n  }\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/white/set.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : '']},[_c('div',{staticClass:\"leftMenu\"},[_c('div',{staticClass:\"top\",on:{\"click\":_vm.back}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/back.svg\")}})]),_vm._v(\" \"),_c('el-menu',{attrs:{\"default-active\":_vm.activeIndex},on:{\"select\":_vm.selectMenu}},[_c('el-menu-item',{attrs:{\"index\":\"1\"}},[_c('span',{class:_vm.activeIndex == '1' ? 'active' : ''},[_vm._v(\"个人信息设置\")])]),_vm._v(\" \"),_c('el-menu-item',{attrs:{\"index\":\"2\"}},[_c('span',{class:_vm.activeIndex == '2' ? 'active' : ''},[_vm._v(\"意见与反馈\")])]),_vm._v(\" \"),_c('el-menu-item',{attrs:{\"index\":\"4\"}},[_c('span',{class:_vm.activeIndex == '4' ? 'active' : ''},[_vm._v(\"账号与安全\")])]),_vm._v(\" \"),_c('el-menu-item',{attrs:{\"index\":\"5\"}},[_c('span',{class:_vm.activeIndex == '5' ? 'active' : ''},[_vm._v(\"关于\")])])],1)],1),_vm._v(\" \"),(_vm.activeIndex == '1')?_c('messSet',{ref:\"messSet\"}):_vm._e(),_vm._v(\" \"),(_vm.activeIndex == '2')?_c('Recommend',{ref:\"recommend\"}):_vm._e(),_vm._v(\" \"),(_vm.activeIndex == '4')?_c('account',{ref:\"account\"}):_vm._e(),_vm._v(\" \"),(_vm.activeIndex == '5')?_c('about',{ref:\"about\"}):_vm._e(),_vm._v(\" \"),(_vm.activeIndex == '3')?_c('areasel',{ref:\"areasel\"}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d6f35e9e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/set.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d6f35e9e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./set.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./set.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./set.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d6f35e9e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./set.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-d6f35e9e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/set.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI2cHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDI2IDI2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgM+Wkh+S7vSAyPC90aXRsZT4NCiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9IjAuNSI+DQogICAgICAgIDxnIGlkPSLkuLvpobXnmb1taW5pVjLmgJ3nu7Tlr7zlm74t57yW6L6RIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTY5LCAtMTgxKSIgc3Ryb2tlPSIjNzFBRkJCIj4NCiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtM+Wkh+S7vS0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NjksIDE4MSkiPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTblpIfku70tMyI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMywwLjUgQzE2LjQ1MTc3OTcsMC41IDE5LjU3Njc3OTcsMS44OTkxMTAxNiAyMS44Mzg4MzQ4LDQuMTYxMTY1MjQgQzI0LjEwMDg4OTgsNi40MjMyMjAzMSAyNS41LDkuNTQ4MjIwMzEgMjUuNSwxMyBDMjUuNSwxNi40NTE3Nzk3IDI0LjEwMDg4OTgsMTkuNTc2Nzc5NyAyMS44Mzg4MzQ4LDIxLjgzODgzNDggQzE5LjU3Njc3OTcsMjQuMTAwODg5OCAxNi40NTE3Nzk3LDI1LjUgMTMsMjUuNSBDOS41NDgyMjAzMSwyNS41IDYuNDIzMjIwMzEsMjQuMTAwODg5OCA0LjE2MTE2NTI0LDIxLjgzODgzNDggQzEuODk5MTEwMTYsMTkuNTc2Nzc5NyAwLjUsMTYuNDUxNzc5NyAwLjUsMTMgQzAuNSw5LjU0ODIyMDMxIDEuODk5MTEwMTYsNi40MjMyMjAzMSA0LjE2MTE2NTI0LDQuMTYxMTY1MjQgQzYuNDIzMjIwMzEsMS44OTkxMTAxNiA5LjU0ODIyMDMxLDAuNSAxMywwLjUgWiIgaWQ9IuefqeW9ouWkh+S7vS04Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS41ODE1LCA2Ljc1NzQpIiBzdHJva2Utd2lkdGg9IjEuNSI+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03LDExLjM5MjYyODYgTDEwLjM0MDE0NzIsMTEuMzkyNjI4NiBDMTIuMzYxNDI4MSwxMS4zOTI2Mjg2IDE0LDkuNzU0MDU2NjUgMTQsNy43MzI3NzU3NiBDMTQsNS43MTE0OTQ4NyAxMi4zNjE0MjgxLDQuMDcyOTIyOTUgMTAuMzQwMTQ3Miw0LjA3MjkyMjk1IEwwLDQuMDcyOTIyOTUgTDAsNC4wNzI5MjI5NSIgaWQ9Iui3r+W+hC00Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBpZD0i6Lev5b6ELTUiIHBvaW50cz0iNC40MTg1MjQ4MiAwIDAuMTc1ODg0MTMzIDQuMjQyNjQwNjkgNC40MTg1MjQ4MiA4LjU0OTkzODE1Ij48L3BvbHlsaW5lPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/withdraw-disabled.svg\n// module id = pI+h\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"myMindOutline\">\r\n    <div\r\n      :id=\"myMindOutlineId\"\r\n\r\n      :class=\"[\r\n        'outline',\r\n        !datas.length\r\n          ? 'outlineNone'\r\n          : editOutline\r\n          ? 'outlineEdit'\r\n          : isSaveMindMap\r\n          ? ''\r\n          : ''\r\n      ]\"\r\n    >\r\n      <!-- <iframe\r\n      width=\"700px\"\r\n      height=\"1000px\"\r\n      :src=\"`http://192.168.1.125:9998/#/outline?${paramsIframe}`\"\r\n    ></iframe> -->\r\n      <div\r\n        class=\"none_wrapper\"\r\n        v-if=\"datas && !datas.length\"\r\n        style=\"text-align: center;\"\r\n      >\r\n        <img src=\"@/assets/img/recommend_none.svg\" />\r\n        <p class=\"none\">暂无数据</p>\r\n      </div>\r\n      <div style=\"width:0px;height:0px;overflow:hidden;\">\r\n      {{ selectedData && selectedData.isShowOp }} {{ selectedDom.target ? true:false }}\r\n      </div>\r\n      <div class=\"course_name\" id=\"course_name\">\r\n        {{ course_name }}\r\n      </div>\r\n      <div\r\n        v-if=\"selectedData && selectedData.isShowOp && selectedDom.target || (!editOutline && copyData.id && selectedDom.target)\"\r\n        :ref=\"'operateRef'\"\r\n        :class=\"`operates-wrapper`\"\r\n        :style=\"{\r\n          'z-index': 2,\r\n          'opacity': 1\r\n        }\"\r\n        @click=\"disibledDocumentClick\"\r\n        >\r\n        <div class=\"operates-wrapper-operates\">\r\n          <div v-if=\"editOutline\" class=\"operate del\" @mousedown=\"remove\">\r\n            删除({{ isMac ? \"cmd+←\" : \"ctrl+d\" }})\r\n          </div>\r\n          <div\r\n            class=\"operate addsubtheme\"\r\n            @mousedown=\"append(selectedData, selectedNode, $event)\"\r\n            v-if=\"selectedNode.label && selectedNode.level < 5\"\r\n          >\r\n            添加子主题(tab)\r\n          </div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"addEquative(selectedNode, selectedData, $event)\"\r\n            v-if=\"selectedNode.label\"\r\n          >\r\n            添加同级主题(Enter)\r\n          </div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"tabClick(selectedNode, selectedData)\"\r\n            v-if=\"selectedData.$index > 0 && selectedNode.label && selectedNode.level < 5\"\r\n          >缩进</div>\r\n          <div\r\n            class=\"operate\"\r\n            @mousedown=\"reduceTabClick(selectedNode, selectedData)\"\r\n            v-if=\"selectedNode.level > 1 && selectedNode.label\"\r\n          >\r\n            减少缩进\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative || (!editOutline && copyData.id)\"\r\n            class=\"operate\"\r\n            @mousedown=\"copy(selectedNode, selectedData, $event)\"\r\n          >\r\n            复制({{ isMac ? \"cmd+c\" : \"ctrl+c\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"paste(selectedNode, selectedData, $event)\"\r\n          >\r\n            粘贴({{ isMac ? \"cmd+v\" : \"ctrl+v\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"cut(selectedNode, selectedData, $event)\"\r\n          >\r\n            剪切({{ isMac ? \"cmd+x\" : \"ctrl+x\" }})\r\n          </div>\r\n          <div\r\n            v-if=\"selectedData.isEdit || selectedDom.data.isAdd || selectedDom.data.isAddEquative\"\r\n            class=\"operate\"\r\n            @mousedown=\"insertNewline($event, selectedData.id)\"\r\n          >\r\n            换行({{ isMac ? \"cmd+enter\" : \"ctrl+enter\" }})\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div ref=\"box\" class=\"tree-box\" :id=\"treeId\">\r\n        <Tree\r\n          ref=\"tree\"\r\n          :data=\"datas\"\r\n          node-key=\"id\"\r\n          default-expand-all\r\n          :expand-on-click-node=\"false\"\r\n          @node-drag-start=\"handleDragStart\"\r\n          @node-drag-enter=\"handleDragEnter\"\r\n          @node-drag-leave=\"handleDragLeave\"\r\n          @node-drag-over=\"handleDragOver\"\r\n          @node-drag-end=\"handleDragEnd\"\r\n          @node-drop=\"handleDrop\"\r\n          @node-expand=\"nodeExpand\"\r\n          @node-collapse=\"nodeCollapse\"\r\n          :draggable=\"this.isEditing ? false : true\"\r\n          :allow-drop=\"allowDrop\"\r\n          :allow-drag=\"allowDrag\"\r\n          :filter-node-method=\"filterNode\"\r\n          :props=\"{ label: 'name', node: 'node', children: 'children' }\"\r\n          :empty-text=\"''\"\r\n          :is-last-drag-fixed=\"true\"\r\n        >\r\n          <div\r\n            class=\"custom-tree-node\"\r\n            slot-scope=\"{ node, data }\"\r\n            :class=\"[\r\n              !data.isAdd && data.isAddTheme ? 'theme' : ''\r\n            ]\"\r\n            :id=\"data.id\"\r\n            :ref=\"'treeNode' + data.id\"\r\n          >\r\n            <!--子主题输入框-->\r\n            <div>\r\n              <div class=\"add-input 1\"\r\n              v-if=\"data.isAdd && !data.isAddTheme\"\r\n              @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n              @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'subtitle' + data.id\"\r\n                  :id=\"'subtitle' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"saveSubTitle\"\r\n                  @blur=\"triggerBlur('saveSubTitle')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n\r\n              <!--主题输入框-->\r\n              <div\r\n                class=\"add-input addtheme\"\r\n                v-else-if=\"data.isAdd && data.isAddTheme\"\r\n                @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n                @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'title' + data.id\"\r\n                  :id=\"'title' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"saveTitle\"\r\n                  @blur=\"triggerBlur('saveTitle')\"\r\n                  style=\"min-height: 30px !important\"\r\n\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <div\r\n                class=\"add-input 2 addthemebtn\"\r\n                v-else-if=\"!data.isAdd && data.isAddTheme\"\r\n              >\r\n                <div class=\"btn bg-transparent\" @click=\"addTheme\">\r\n                  <i class=\"el-icon-plus\"></i>添加主题\r\n                </div>\r\n                <!-- <el-button class=\"bg-transparent\" @click=\"addTheme\"\r\n                  ><i class=\"el-icon-plus\"></i\r\n                  >添加主题</el-button\r\n                > -->\r\n              </div>\r\n\r\n              <div\r\n                class=\"add-input 3\"\r\n                v-else-if=\"selectedData && selectedData.isEdit && selectedData.id === data.id\"\r\n                @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n                @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n              <!-- @touchend=\"triggerClickEvent(node, data, $event, 'touchstart')\" -->\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'edittextarea' + data.id\"\r\n                  :id=\"'edittextarea' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"editNode()\"\r\n                  @blur=\"triggerBlur('editNode')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <!-- Item同级 文字 -->\r\n              <div class=\"add-input 4\"\r\n              v-else-if=\"data.isAddEquative\"\r\n              @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n              @click=\"triggerClickEvent(node, data, $event, 'click', 3)\"\r\n              >\r\n                <el-input\r\n                  type=\"textarea\"\r\n                  :ref=\"'equativetitle' + data.id\"\r\n                  :id=\"'equativetitle' + data.id\"\r\n                  :autosize=\"{ minRows: 1 }\"\r\n                  :resize=\"'none'\"\r\n                  class=\"preserve-indent\"\r\n                  v-model=\"content\"\r\n                  @focus=\"handleInputFocus\"\r\n                  @keyup.esc.native=\"saveEquative\"\r\n                  @blur=\"triggerBlur('saveEquative')\"\r\n                ></el-input>\r\n                <p style=\"opacity: 0; height: 0\">{{ content }}</p>\r\n              </div>\r\n              <!-- Item 编辑 文字-->\r\n              <div\r\n              class=\"content selectedData\"\r\n              v-else-if=\"data.id && selectedData && selectedData.id === data.id && !operating.isOperating  || (!editOutline && copyData.id === data.id)\"\r\n              @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n              @click=\"triggerClickEvent(node, data, $event, 'click', 2)\"\r\n            >\r\n            <!-- @touchend=\"triggerClickEvent(node, data, $event, 'touchstart')\" -->\r\n              <div\r\n                class=\"node-content unselectable\"\r\n                :class=\"'textarea' + data.id\"\r\n                :ref=\"'textarea' + data.id\"\r\n              >\r\n                <pre>{{node.label}}</pre>\r\n              </div>\r\n            </div>\r\n              <div\r\n                v-else\r\n                class=\"content\"\r\n                @contextmenu.prevent=\"showOperates(node, data, $event)\"\r\n                @click=\"triggerClickEvent(node, data, $event, 'click', 1)\"\r\n              >\r\n              <!-- @touchend=\"triggerClickEvent(node, data, $event, 'touchstart')\" -->\r\n                <div\r\n                  class=\"node-content unselectable\"\r\n                  :class=\"'textarea' + data.id\"\r\n                  :ref=\"'textarea' + data.id\"\r\n                >\r\n                  <pre>{{node.label}}</pre>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Tree>\r\n      </div>\r\n      <el-dialog\r\n        class=\"con_dialog\"\r\n        :visible.sync=\"dialogVisibleCon\"\r\n        :modal=\"true\"\r\n        :close-on-click-modal=\"false\"\r\n        :destroy-on-close=\"true\"\r\n        :append-to-body=\"true\"\r\n        center\r\n        top=\"0vh\"\r\n        :before-close=\"handleClose\"\r\n      >\r\n        <div class=\"del_confirm\">您还有未保存的内容，请问是否保存？</div>\r\n        <span slot=\"footer\" class=\"dialog-footer\">\r\n          <el-button @click=\"submitCon(2)\">不保存</el-button>\r\n          <el-button class=\"comfirm-btn\" @click=\"submitCon(1)\">保存</el-button>\r\n        </span>\r\n      </el-dialog>\r\n    </div>\r\n    <div\r\n      class=\"collect\"\r\n      v-if=\"\r\n        is_collect == 2 &&\r\n          dataPro &&\r\n          dataPro.mindmap_content &&\r\n          courseIsuseradd != 3 &&\r\n          !editOutline && showCollect\r\n          && datas.length > 0\r\n      \"\r\n    >\r\n      <img @click=\"addUserCollection(1)\" src=\"@/assets/img/mind_collect.svg\" />\r\n      <span @click=\"addUserCollection(1)\">收藏导图</span>\r\n    </div>\r\n    <div\r\n      class=\"collect\"\r\n      ref=\"collect\"\r\n      v-if=\"\r\n        is_collect == 1 &&\r\n          dataPro &&\r\n          dataPro.mindmap_content &&\r\n          courseIsuseradd != 3 &&\r\n          !editOutline && showCollect\r\n          && datas.length > 0\r\n      \"\r\n    >\r\n      <img @click=\"addUserCollection(2)\" src=\"@/assets/img/mind_collected.svg\" />\r\n      <span @click=\"addUserCollection(2)\">取消收藏</span>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { deepClone, throttle, getIsMobile,setFullHeight } from \"@/utils/util\";\r\nimport { addUserCollection, getMindmap, setWebLog } from \"@/api/index\";\r\nimport Tree from '@/components/tree/src/tree';\r\nimport {\r\n  pushUndo,\r\n  getStackStatus,\r\n  getDeviceId,\r\n  clearAllStacks\r\n} from \"@/utils/indexDb\";\r\n\r\nlet id = \"id\" + uuidv4();\r\nexport default {\r\n  components: {Tree},\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    editOutline: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    },\r\n    isSaveMindMap: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return false;\r\n      }\r\n    },\r\n    command: {\r\n      type: String,\r\n      default: () => {\r\n        return \"1\";\r\n      }\r\n    },\r\n    showCollect: {\r\n      type: Boolean,\r\n      default: () => {\r\n        return true;\r\n      }\r\n    },\r\n    myMindOutlineId: {\r\n      type: String,\r\n      default: () => {\r\n        return \"myMindOutline\";\r\n      }\r\n    },\r\n    treeId: {\r\n      type: String,\r\n      default: () => {\r\n        return \"treeId\";\r\n      }\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    courseIsuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    isBindEventBus: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    readOnly: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      isEditing: false, //是否在编辑中\r\n      isEditingNode: false, // 编辑态互斥锁：输入框是否获得焦点\r\n      clickCount: {},\r\n      isMobile: getIsMobile(),\r\n      isToolsEventing: false, // 操作栏点击时为true, 500ms后变为false\r\n      datas: [],\r\n      node: null,\r\n      selectedData: {},\r\n      selectedDom: {},\r\n      selectedNode: {},\r\n      editingData: {},\r\n      copyData: {},\r\n      content: \"\",\r\n      originalContent: \"\",\r\n      course_name: \"\",\r\n      newChild: {\r\n        id: id,\r\n        name: \"\",\r\n        node: [],\r\n        lock: 2,\r\n        isAdd: false,\r\n        isAddTheme: true\r\n      },\r\n      operating: {\r\n        isOperating: false,\r\n        operate: null // 1:添加主题 2、编辑 3、添加子主题 4、添加同级\r\n      },\r\n      isEdited: false,\r\n      dialogVisibleCon: false,\r\n      whiteCom: \"\",\r\n      timer: null, // 自动保存定时器\r\n      timeCount: window.location.href.indexOf('aaaaaaaaaa=1') >= 0 ? 30000 : 120000,  // 自动保存时间间隔\r\n      nodeCollapseData: {},\r\n      expandedKeys: [],\r\n      unExpandedKeys: [],\r\n      timeout: null,\r\n      isEditOperating: false,\r\n      // 键盘\r\n      arrKey: [],\r\n      keydown: \"\",\r\n      copyText: \"\",\r\n      removeNodes: [],\r\n      pressTs: 0,\r\n      is_collect: 2,\r\n      loading: false,\r\n      isLocalStorageSave: false, // 是否自动保存\r\n      paramsIframe: encodeURIComponent(\r\n        \"course_isuseradd=2&params=oJHn2OG7QBjB2pneBbBP6sQ%2BKAwZ7zHhraLevWG0fVIqO3Fg%2FtZ99rpzUOz2%2F5VHZ4MNs%2BQQvDEdJSbEsUG19gr3WOlTu8gP4JsedoLW2YEC786WzPt%2FJkCAEiMlQXz7U6d8bN27xYkmOhmShOvCD8akBfZz94sTapFUlGDmhZYg%2FGjjKZ93NcZZ8j3wGnxhSqLYb0qY6h4ZhP%2BJE94lNAYYhjhfYpw8N9HrXBylR9bY%2FtpLXNAb2bfS2KgAOkEPI1Tbqv%2Bfiot4FwjsDZtgrILHbz2jZwjBqBOwbj8MYsM9dvsKYTGg%2FwiAtIfxD97udMpvp75OBS69rdrdRkUXlA%3D%3D&add_auth=2\"\r\n      ),\r\n      isGoblack: false, // 去黑牌\r\n      isToPage: false, // 去其他页面\r\n      callbackFn: null, // 编辑前获取当前编辑状态后的回调函数\r\n      isMyselfEditing: false, // 判断是不是自己这端在编辑\r\n      resolveDrag: null,\r\n      maxLevel: 5,\r\n      isGettingStatus: false, // 正在请求长链接状态\r\n      getStatusTimeout: null, // 获取状态的超时定时器\r\n      getStatusTimeoutMs: 5000, // 超时时间 5 秒\r\n      isCancel: false,\r\n      withdrawTypes: {\r\n        \"removeNode\": 'removeNode',\r\n        \"addTheme\": 'addTheme',\r\n        \"addSubTheme\": 'addSubTheme',\r\n        \"addEquativeTheme\": 'addEquativeTheme',\r\n        \"editNode\": 'editNode'\r\n      },\r\n      maxWithDrawLength: 50,\r\n      shouldSaveSnapshot: false, // 控制是否保存快照，只有编辑完成且有内容变化时才保存\r\n      isHistoryInitialized: false, // 标记历史版本是否已初始化，避免重复清空栈\r\n      // 安全的异步回调管理\r\n      pendingAction: null, // { fn: Function, timestamp: Number, type: 'undo'|'redo'|'withdraw'|'delete', dataVersion: String }\r\n      isWaitingForUnlock: false, // 是否正在等待锁解除\r\n      pendingActionTimeout: 30000 // 30秒超时\r\n      // updatesuccess: false\r\n      // paramsIframe: encodeURIComponent(\r\n      //   \"course_isuseradd=3&params=kCnu/YRx1sgWF99Ahqs7lLNgX2MKy2b5+MJCDROVBXJE8pBlR+L36deHs97sK3JY0p3kawLedUL9pJNePt5qr/OZ/+OQ//6Bhbtvw0xHBR7lS9Jxi3oQGuxJgY/X5Gpm6hMdHEEv4QqNmj+YdsvtRCxmq3X4PFWLkVPATGRUh3SweohNFG7vpVR27iDyL6BFAylSuHlP1X3gP5uX6YhfiXISxKwFcDTcev0cGmmBrpfpkS/1ULbK6Xd9TOOovjIHMyN7uPYkIvZNj+Ko4ErKcZXe5RBWQYJAxZHLd/TGIMWAFyE+43D6zHKjpFCuo4Ok5bj364I148QvnJw6jkmqgQ\"\r\n      // )\r\n    };\r\n  },\r\n  computed: {\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    whiteComStore() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      console.log('mindMapmindMapmindMap:::', mindMap);\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    user() {\r\n      if (typeof this.$store.getters.user === \"string\") {\r\n        return JSON.parse(this.$store.getters.user);\r\n      } else {\r\n        return this.$store.getters.user;\r\n      }\r\n    },\r\n    ws() {\r\n      return this.$store.getters.ws;\r\n    },\r\n    online() {\r\n      return this.$store.getters.online;\r\n    },\r\n    status() {\r\n      return this.$store.getters.status;\r\n    },\r\n    isMac() {\r\n      return this.$store.getters.isMac;\r\n    }\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        this.editingData = {};\r\n        this.isEditing = false;\r\n        this.isLocalStorageSave = false;\r\n        this.copyData = {};\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      }\r\n    },\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"dataPro: init: isLocalStorageSave:\", this.isLocalStorageSave, \"_wasAutoSave:\", this._wasAutoSave);\r\n        // 【核心修复】自动保存周期内的所有数据更新都不应该触发 init\r\n        // 问题：updatesuccessCallback 在第一次 updatesuccess 时就重置了 isLocalStorageSave 和 _savedEditingState\r\n        //      但 dataPro watcher 可能在后续的 Vuex 更新时才触发，此时条件不满足，init() 被调用\r\n        //      导致 datas 被重置为服务器返回的数据，新增节点消失\r\n        // 解决：使用 _wasAutoSave 标记（延迟500ms重置），只要 _wasAutoSave 为 true，就跳过 init\r\n        if(this._wasAutoSave || (this.isLocalStorageSave && this._savedEditingState)) {\r\n          console.log('[AutoSave] dataPro 变化但处于自动保存周期，跳过 init');\r\n          return;\r\n        }\r\n        // this.setSaveTimeout();\r\n        this.init();\r\n      }\r\n    },\r\n    whiteComStore: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (\r\n          this.whiteComStore == \"Mind\" &&\r\n          this.$route.name == \"index\" &&\r\n          this.command == \"1\"\r\n        ) {\r\n          this.setSaveTimeout();\r\n          this.bindDocumentEvents('bind');\r\n        } else {\r\n          this.clearTimeout();\r\n          this.bindDocumentEvents('remove');\r\n        }\r\n      }\r\n    },\r\n    command: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (\r\n          this.whiteComStore == \"Mind\" &&\r\n          this.$route.name == \"index\" &&\r\n          this.command == \"1\"\r\n        ) {\r\n          this.setSaveTimeout();\r\n          this.bindDocumentEvents('bind');\r\n        } else {\r\n          this.clearTimeout();\r\n          this.bindDocumentEvents('remove');\r\n        }\r\n      }\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (\r\n          this.whiteComStore == \"Mind\" &&\r\n          this.$route.name == \"index\" &&\r\n          this.command == \"1\"\r\n        ) {\r\n          this.setSaveTimeout();\r\n          this.bindDocumentEvents('bind');\r\n        } else {\r\n          this.clearTimeout();\r\n          this.bindDocumentEvents('remove');\r\n        }\r\n      }\r\n    },\r\n    editOutline: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.copyData = {};\r\n        if (v) {\r\n          this.mindMapTimeStampValue = this.mindMapTimeStamp();\r\n          // 新增添加主题节点\r\n          this.datas = this.addButtonData(this.datas);\r\n          console.log(\"this.datas =\", this.datas);\r\n          this.setSaveTimeout();\r\n          this.showLayer = false;\r\n        } else {\r\n          this.clearTimeout();\r\n          this.datas = this.removeButtonData(this.datas);\r\n          console.log(\"this.datas =\", this.datas);\r\n        }\r\n      }\r\n    },\r\n    online: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"onlineonline:\", v)\r\n        if (v && v > 1) {\r\n          this.clearTimeout();\r\n        } else {\r\n          this.setSaveTimeout();\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    toParseSync(arr, type = 1) {\r\n      if(arr && typeof arr === 'string') {\r\n        if(arr == '') {\r\n          arr = [];\r\n        } else {\r\n          arr = JSON.parse(arr);\r\n        }\r\n      }\r\n      if(!arr) {\r\n        arr = [];\r\n      }\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParseSync(item[\"node\"], type);\r\n        }\r\n        // if (item.children) {\r\n        //   delete item.children;\r\n        // }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        // if (item.id) {\r\n        //   delete item.id;\r\n        // }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if (item.isAdd !== undefined) {\r\n          delete item.isAdd;\r\n        }\r\n        if (item.isAddTheme !== undefined) {\r\n          delete item.isAddTheme;\r\n        }\r\n        if (item.isEdit !== undefined) {\r\n          delete item.isEdit;\r\n        }\r\n        if(type == 2 && item.isAddEquative !== undefined) {\r\n          delete item.isAddEquative;\r\n        }\r\n        if(type == 2 && item.id !== undefined) {\r\n          delete item.id;\r\n        }\r\n        if(type == 2 && item.children !== undefined) {\r\n          delete item.children;\r\n        }\r\n\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    async setSyncMindmapContent() {\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(deepClone(this.mindMap));\r\n      } else {\r\n        // mindMap = this.mindMap;\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      const mindmap_content = mindMap.mindmap_content;\r\n\r\n      let mindmap_content1 = '';\r\n      let mindmap_content2 = '';\r\n      if(mindmap_content) {\r\n        mindmap_content1 = this.toParseSync(JSON.parse(mindmap_content), 2);\r\n        console.log(\"mindmap_content1:\", mindmap_content1)\r\n        mindmap_content2 = Base64.encode(JSON.stringify(mindmap_content1));\r\n      }\r\n      // if(mindmap_content) {\r\n      //   mindmap_content1 = Base64.encode(mindmap_content);\r\n      // }\r\n      console.log(\"setSyncMindmapContent:\");\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'sync',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_content: mindmap_content2,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n    },\r\n    // 获取当前数据版本（用于检测上下文变化）\r\n    getCurrentDataVersion() {\r\n      const content = this.datas ? JSON.stringify(this.datas) : '';\r\n      let hash = 0;\r\n      for (let i = 0; i < content.length; i++) {\r\n        const char = content.charCodeAt(i);\r\n        hash = ((hash << 5) - hash) + char;\r\n        hash = hash & hash;\r\n      }\r\n      return `${hash}_${this.datas ? this.datas.length : 0}`;\r\n    },\r\n    // ============================================================\r\n    // [撤销/重做后清理编辑状态] 防止\"假性锁定\"问题\r\n    // 清理所有编辑相关的状态，确保撤销/重做后可以正常编辑\r\n    // ============================================================\r\n    clearEditingStates() {\r\n      console.log('[Lock] 清理编辑状态，防止假性锁定');\r\n\r\n      // 清理编辑状态\r\n      this.isEditing = false;\r\n      this.isEditingNode = false;\r\n\r\n      // 清理选中状态\r\n      if (this.selectedData && this.selectedData.id) {\r\n        this.$set(this.selectedData, 'isEdit', false);\r\n        this.$set(this.selectedData, 'isShowOp', false);\r\n      }\r\n      this.selectedData = {};\r\n      this.selectedNode = {};\r\n      this.selectedDom = {};\r\n\r\n      // 清理编辑数据\r\n      this.editingData = {};\r\n\r\n      // 重置自己编辑标记（允许后续操作）\r\n      // 注意：不重置 isMyselfEditing，因为 undo/redo 本身就是自己的操作\r\n      // 但需要确保后续的 getStatus 检查不会误判\r\n\r\n      // 清理待处理的异步回调\r\n      this.clearPendingAction('clearEditingStates');\r\n\r\n      // 清理输入相关状态\r\n      this.content = '';\r\n      this.originalContent = '';\r\n\r\n      console.log('[Lock] 编辑状态已清理完成');\r\n    },\r\n    // 清除待处理的异步回调\r\n    clearPendingAction(reason = 'unknown') {\r\n      if (this.pendingAction) {\r\n        console.log(`[PendingAction] 清除待处理回调: reason=${reason}, type=${this.pendingAction.type}`);\r\n        this.pendingAction = null;\r\n        this.isWaitingForUnlock = false;\r\n      }\r\n    },\r\n    // 注册待处理的异步回调\r\n    registerPendingAction(fn, type = 'other') {\r\n      // 清理旧的待执行任务，防止重叠\r\n      if (this.pendingAction) {\r\n        console.log(`[PendingAction] 清除旧回调: type=${this.pendingAction.type}`);\r\n      }\r\n      const dataVersion = this.getCurrentDataVersion();\r\n      this.pendingAction = {\r\n        fn,\r\n        type,\r\n        timestamp: Date.now(),\r\n        dataVersion\r\n      };\r\n      this.isWaitingForUnlock = true;\r\n      console.log(`[PendingAction] 注册新回调: type=${type}, dataVersion=${dataVersion}`);\r\n      return `${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\r\n    },\r\n    // 验证并执行待处理的回调\r\n    validateAndExecutePendingAction() {\r\n      if (!this.pendingAction) {\r\n        return false;\r\n      }\r\n\r\n      const now = Date.now();\r\n      const isExpired = (now - this.pendingAction.timestamp) > this.pendingActionTimeout;\r\n      const currentVersion = this.getCurrentDataVersion();\r\n      const isContextChanged = currentVersion !== this.pendingAction.dataVersion;\r\n\r\n      if (isExpired) {\r\n        this.$message.warning('操作已过期，请手动重试');\r\n        this.clearPendingAction('timeout_expired');\r\n        return false;\r\n      }\r\n\r\n      if (isContextChanged) {\r\n        this.$message.warning('文档状态已更新，原操作已取消');\r\n        this.clearPendingAction('context_changed');\r\n        return false;\r\n      }\r\n\r\n      // 执行回调\r\n      console.log(`[PendingAction] 执行待处理回调: type=${this.pendingAction.type}`);\r\n      try {\r\n        this.pendingAction.fn();\r\n      } catch (error) {\r\n        console.error(`[PendingAction] 回调执行失败:`, error);\r\n      }\r\n      this.clearPendingAction('executed');\r\n      return true;\r\n    },\r\n    setStatus(status = 1) {\r\n      this.isMyselfEditing = true;\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'setstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        status,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n    },\r\n    // 每次操作前，都去调用websocket获取当前导图编辑状态\r\n    getStatus(callback) {\r\n      // ============================================================\r\n      // [状态死锁修复] 超时自愈机制\r\n      // 问题：如果 WebSocket 消息丢失，isGettingStatus 会永久为 true\r\n      // 解决：添加超时机制，超时后自动重置状态并执行回调\r\n      // ============================================================\r\n      if(this.isGettingStatus) {\r\n        console.warn('[getStatus] 正在获取状态，请稍候...');\r\n        // 如果有新的 callback，暂存起来\r\n        if (callback) {\r\n          this.callbackFn = callback;\r\n        }\r\n        return;\r\n      }\r\n      this.isGettingStatus = true;\r\n\r\n      // 设置超时定时器\r\n      this.clearGetStatusTimeout();\r\n      this.getStatusTimeout = setTimeout(() => {\r\n        console.warn('[getStatus] 获取状态超时，自动重置');\r\n        this.isGettingStatus = false;\r\n        // 超时后，假设锁已释放，执行回调\r\n        if (this.callbackFn) {\r\n          console.log('[getStatus] 超时后执行待处理回调');\r\n          try {\r\n            this.callbackFn();\r\n          } catch (error) {\r\n            console.error('[getStatus] 回调执行失败:', error);\r\n          }\r\n          this.callbackFn = null;\r\n        }\r\n      }, this.getStatusTimeoutMs);\r\n\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'getstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData))\r\n      this.callbackFn = callback;\r\n      console.log(\"[getStatus] 发送 getstatus 请求\");\r\n    },\r\n    // 清除获取状态的超时定时器\r\n    clearGetStatusTimeout() {\r\n      if (this.getStatusTimeout) {\r\n        clearTimeout(this.getStatusTimeout);\r\n        this.getStatusTimeout = null;\r\n      }\r\n    },\r\n    mindMapTimeStamp() {\r\n      let mindMapTimeStamp = this.$store.getters.mindMapTimeStamp || (+new Date());\r\n      return mindMapTimeStamp + 10;\r\n    },\r\n    addButtonData(data) {\r\n      const newData = [];\r\n      let isButtonData = false;\r\n      (data || []).forEach(item => {\r\n        newData.push(item);\r\n        if(item.isAddTheme && !item.isAdd) {\r\n          isButtonData = true;\r\n        }\r\n      })\r\n\r\n      if(!isButtonData) {\r\n        newData.push(this.newChild);\r\n      }\r\n      return newData;\r\n    },\r\n    removeButtonData(data) {\r\n      const newData = [];\r\n      (data || []).forEach(item => {\r\n        if(!(item.isAddTheme && !item.isAdd)) {\r\n          newData.push(item)\r\n        }\r\n      })\r\n      return newData;\r\n    },\r\n    handleClose() {\r\n      console.log(\"handleClose:\", this.whiteCom)\r\n      this.dialogVisibleCon = false;\r\n      this.isCancel = true;\r\n      // 不去黑牌\r\n      this.isGoblack = false;\r\n      // 不去其他页面\r\n      this.isToPage = false;\r\n      // 重新选择思维导图模块\r\n      EventBus.$emit(\"setSelectedModule\", 'toMind', 'Mind')\r\n      // 保存弹出窗点击叉按钮关闭弹窗\r\n      // 如果是点击模块，则需要一个重新选择当前模块的事件，设置可点击状态\r\n      if(this.whiteCom == 'WhiteMenus' || this.whiteCom == 'toPage') {\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE_CANCEL\", this.whiteCom);\r\n      }\r\n      let timeout = setTimeout(() => {\r\n        this.isCancel = false\r\n        clearTimeout(timeout)\r\n      }, 1000)\r\n    },\r\n    // 编辑态互斥锁：输入框获得焦点\r\n    handleInputFocus() {\r\n      this.isEditingNode = true;\r\n      console.log('[编辑态互斥锁] 输入框获得焦点，已锁定全局快捷键');\r\n    },\r\n    triggerBlur(fnName) {\r\n      try {\r\n        console.log(\"triggerBlur：\", this.isEditing, this.content, this.originalContent, this.node);\r\n        // 编辑态互斥锁：输入框失去焦点，解除锁定\r\n        this.isEditingNode = false;\r\n        console.log('[编辑态互斥锁] 输入框失去焦点，已解锁全局快捷键');\r\n        // 保存完同步内容，会自动设置为可编辑\r\n        // this.setSyncMindmapContent();\r\n        if(this.isToolsEventing) {\r\n          return;\r\n        }\r\n        // 编辑节点步骤记录\r\n        if(this.isEditing === 'editNode' && this.content != this.originalContent) {\r\n          console.log(\"this.node:\", this.node);\r\n          let parent = this.$refs.tree.getParentNode(this.node.data.id);\r\n          let removeNode = {\r\n            node: this.node,\r\n            parent: parent,\r\n            index: null,\r\n            type: 'editNode',\r\n            content: this.originalContent\r\n          };\r\n          if(this.removeNodes.length >= this.maxWithDrawLength) {\r\n            this.removeNodes.shift();\r\n          }\r\n          this.removeNodes.push(removeNode);\r\n\r\n          console.log(\"removeNodes:\", this.removeNodes)\r\n        }\r\n        this.isEditing = false;\r\n        console.log(\"this.isLocalStorageSave = false;\");\r\n        this.isLocalStorageSave = false;\r\n        this[fnName]();\r\n        this.isMyselfEditing = false;\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n\r\n    },\r\n    setToolsEventing() {\r\n      if(this.selectedDom && this.selectedDom.target) {\r\n        this.selectedDom.target.focus();\r\n      }\r\n      this.isToolsEventing = true;\r\n      this.setTimeoutValueTools = setTimeout(() => {\r\n        this.isToolsEventing = false;\r\n      }, 1000)\r\n    },\r\n    triggerTouchend(node, data, $event) {\r\n      if (this.pressTs && Date.now() - this.pressTs >= 500) {\r\n\r\n      } else {\r\n\r\n      }\r\n      this.pressTs = 0;\r\n    },\r\n    // 移动端触发“选中Item”+“显示操作栏”。pc端触发“选中Item”\r\n    triggerClickEvent(node, data, $event, eventName, type) {\r\n      // 新增功能：非编辑状态时，需要能复制\r\n      if(!this.editOutline) {\r\n        this.copyData = data;\r\n        this.selectedDom = {};\r\n        return;\r\n      }\r\n      console.log(\"this.isEditing:\",this.isEditing)\r\n      if(this.isEditing) {\r\n        if(type != 3) {\r\n          this.triggerBlur(this.isEditing);\r\n        }\r\n        const timeout = setTimeout(() => {\r\n          this.triggerClickEvent1(node, data, $event, eventName, type);\r\n          clearTimeout(timeout);\r\n        }, 1000)\r\n      } else {\r\n        this.triggerClickEvent1(node, data, $event, eventName, type);\r\n      }\r\n    },\r\n    async triggerClickEvent1(node, data, $event, eventName, type) {\r\n      this.disibledDocumentClick();\r\n      // $event.stopPropagation();\r\n      // $event.preventDefault();\r\n      //data.isShowOp = false;\r\n      if(type === 1) {\r\n        data.isEdit = false;\r\n      }\r\n      if(type == 1 && !this.isLocalStorageSave) {\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n      }\r\n\r\n      // 如果已经选中，则再点击一次就修改成编辑状态\r\n      if (this.selectedData && this.selectedData.id === data.id && type === 2) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.operating.isOperating = true;\r\n            this.edit(node, data);\r\n            this.isEditing = 'editNode';\r\n            this.editingData = data;\r\n            return;\r\n          });\r\n        } else {\r\n          this.operating.isOperating = true;\r\n          this.edit(node, data);\r\n          this.isEditing = 'editNode';\r\n          this.editingData = data;\r\n          return;\r\n        }\r\n      }\r\n\r\n\r\n      // 移动端触发“选中Item”+“显示操作栏”\r\n      if(this.isMobile) {\r\n        this.showOperates(node, data, $event, true);\r\n      }\r\n      // pc端触发“选中Item”\r\n      else if(type === 1){\r\n        this.chooseNode(node, data);\r\n      }\r\n    },\r\n    async addUserCollection(operate_type) {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      let params = {\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_isuseradd: this.dataPro.mindmap_isuseradd,\r\n        collect_type: 5,\r\n        operate_type,\r\n        course_id: this.course_id,\r\n        mindmap_type: 1,\r\n        mindmap_id: this.dataPro.mindmap_id\r\n      };\r\n      try {\r\n        const res = await addUserCollection(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.is_collect = operate_type;\r\n          this.saveMindMap();\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 是否可编辑\r\n    getEditOutline() {\r\n      if (!this.editOutline) {\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    //获取textarea中选中的内容\r\n    getSelectText(data) {\r\n      const id = data.id;\r\n      let t = null;\r\n      t = this.getInputElement((id || this.selectedData.id));\r\n      if (window.getSelection) {\r\n        if (t.selectionStart != undefined && t.selectionEnd != undefined) {\r\n          return t.value.substring(t.selectionStart, t.selectionEnd);\r\n        } else {\r\n          return \"\";\r\n        }\r\n      } else {\r\n        return document.selection.createRange().text;\r\n      }\r\n    },\r\n    copy(node, data, e) {\r\n      try {\r\n        if(this.editOutline) {\r\n          this.setToolsEventing()\r\n        }\r\n\r\n        if (e) {\r\n          e.preventDefault();\r\n        }\r\n        if (this.editOutline && !data.id) {\r\n          return;\r\n        }\r\n        // 获取选中的文本\r\n        let txt = '';\r\n        // 非选中状态，复制的是整个节点的内容\r\n        if(!this.editOutline && this.copyData.id) {\r\n          txt = this.copyData.name;\r\n        } else {\r\n          txt = this.getSelectText(data);\r\n        }\r\n        if (txt) {\r\n          this.copyText = txt;\r\n        } else {\r\n          this.copyText = data.name;\r\n        }\r\n        let isSuccess = false;\r\n        try {\r\n          navigator.clipboard.writeText(this.copyText);\r\n          isSuccess = true;\r\n        } catch (error) {\r\n          console.log(error)\r\n          //isSuccess = this.copyTextToClipboard(this.copyText, 'copy');\r\n        }\r\n        if(isSuccess) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"复制成功\"\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    copyTextToClipboard(text, type) {\r\n      var textArea = document.createElement(\"textarea\");\r\n\r\n      // 隐藏文本域\r\n      textArea.style.position = 'fixed';\r\n      textArea.style.top = '0';\r\n      textArea.style.left = '0';\r\n      textArea.style.width = '2em';\r\n      textArea.style.height = '2em';\r\n      textArea.style.padding = '0';\r\n      textArea.style.border = 'none';\r\n      textArea.style.outline = 'none';\r\n      textArea.style.boxShadow = 'none';\r\n      textArea.style.background = 'transparent';\r\n      textArea.value = text;\r\n      document.body.appendChild(textArea);\r\n\r\n      let isSuccess = false\r\n      try {\r\n        if(type === 'copy') {\r\n          textArea.select();\r\n          document.execCommand('copy');\r\n          isSuccess = true;\r\n        }\r\n        else if(type === 'paste') {\r\n          textArea.focus();\r\n          document.execCommand('paste');\r\n          isSuccess = textArea.value;\r\n        }\r\n\r\n      } catch (err) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n      document.body.removeChild(textArea);\r\n      return isSuccess;\r\n    },\r\n    copy1(node, data, e) {\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"复制成功\"\r\n      });\r\n    },\r\n    async pasteCallback(node, data, e) {\r\n      try {\r\n        this.setToolsEventing()\r\n        let text = '';\r\n        try {\r\n          text = await navigator.clipboard.readText();\r\n        } catch (error) {\r\n\r\n        }\r\n\r\n        if (!data.id || !text) {\r\n          return;\r\n        }\r\n\r\n        let inputElement = null;\r\n        if (document.getElementById(\"subtitle\" + data.id)) {\r\n          inputElement = document.getElementById(\"subtitle\" + data.id);\r\n        } else if (document.getElementById(\"title\" + data.id)) {\r\n          inputElement = document.getElementById(\"title\" + data.id);\r\n        } else if (document.getElementById(\"edittextarea\" + data.id)) {\r\n          inputElement = document.getElementById(\"edittextarea\" + data.id);\r\n        } else if (document.getElementById(\"equativetitle\" + data.id)) {\r\n          inputElement = document.getElementById(\"equativetitle\" + data.id);\r\n        }\r\n\r\n        if (!inputElement) {\r\n          return;\r\n        }\r\n\r\n        const start = inputElement.selectionStart;\r\n        const end = inputElement.selectionEnd;\r\n        const value = this.content;\r\n\r\n        // // 在光标位置插入换行符\r\n        // this.content += \"\\n\";\r\n        // 在光标位置插入换行符\r\n        this.content = value.substring(0, start) + text + value.substring(end);\r\n        setTimeout(() => {\r\n          const start1 = inputElement.selectionStart;\r\n          const end1 = inputElement.selectionEnd;\r\n          // 将光标移到新的换行位置\r\n          // 调整光标位置\r\n          const newSelectionStart = start + text.length;\r\n          inputElement.selectionStart = inputElement.selectionEnd = newSelectionStart;\r\n        });\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    async paste(node, data, e) {\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if(!this.isEditing) {\r\n        // 判断是否有其他端在编辑\r\n        if(!this.readOnly) {\r\n          this.getStatus(async () => {\r\n            this.pasteCallback(node, data, e);\r\n          });\r\n        } else {\r\n          this.pasteCallback(node, data, e);\r\n        }\r\n      } else {\r\n        this.pasteCallback(node, data, e);\r\n      }\r\n    },\r\n    async cutCallBack(node, data, e) {\r\n      try {\r\n        this.setToolsEventing();\r\n        let txt = this.getSelectText(data);\r\n        if (txt) {\r\n          this.copyText = txt;\r\n        } else {\r\n          this.copyText = data.name;\r\n        }\r\n\r\n        let isSuccess = false;\r\n        try {\r\n          navigator.clipboard.writeText(this.copyText);\r\n          isSuccess = true;\r\n        } catch (error) {\r\n          //isSuccess = this.copyTextToClipboard(this.copyText, 'copy');\r\n        }\r\n\r\n        if(isSuccess) {\r\n          this.content = this.content.replace(this.copyText, \"\");\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"剪切成功\"\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    async cut(node, data, e) {\r\n      console.log(data);\r\n      if (e) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n      }\r\n      if (!data.id && !this.editOutline) {\r\n        return;\r\n      }\r\n      if(!this.isEditing) {\r\n        // 判断是否有其他端在编辑\r\n        if(!this.readOnly) {\r\n          this.getStatus(async () => {\r\n            this.cutCallBack(node, data, e);\r\n          });\r\n        } else {\r\n          this.cutCallBack(node, data, e);\r\n        }\r\n      } else {\r\n        this.cutCallBack(node, data, e);\r\n      }\r\n    },\r\n    // 保留服务端，清空定时器\r\n    resetTimeout() {\r\n      this.isEdited = false;\r\n      console.log(\"isEdited:\", this.isEdited);\r\n      this.clearTimeout();\r\n    },\r\n    clearTimeout() {\r\n      if (this.timer) {\r\n        clearTimeout(this.timer);\r\n        this.timer = null;\r\n        this.isLocalStorageSave = false;\r\n      }\r\n    },\r\n    // 初始化历史版本指针（双栈模式）\r\n    async initHistoryVersion() {\r\n      if (!this.course_id) {\r\n        return;\r\n      }\r\n\r\n      // 如果已经初始化过，不再重复清空栈\r\n      if (this.isHistoryInitialized) {\r\n        console.log('[History] 历史版本已初始化，跳过');\r\n        return;\r\n      }\r\n\r\n      try {\r\n        // 页面刷新时清空所有栈\r\n        await clearAllStacks(this.course_id);\r\n        console.log(`[History] 页面刷新，已清空所有栈: courseId=${this.course_id}`);\r\n\r\n        // 重置 Vuex 状态\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n\r\n        // 标记已初始化\r\n        this.isHistoryInitialized = true;\r\n\r\n        console.log(`[History] 栈状态已重置: canUndo=false, canRedo=false`);\r\n      } catch (error) {\r\n        console.error('[History] 初始化栈状态失败:', error);\r\n      }\r\n    },\r\n    // 更新大纲数据（用于撤销/重做）\r\n    updateOutlineData(newData) {\r\n      if (!newData) {\r\n        console.log('[History] newData 为空，跳过更新');\r\n        return;\r\n      }\r\n\r\n      console.log('[History] 更新大纲数据:', newData);\r\n      console.log('[History] newData 类型:', typeof newData, Array.isArray(newData));\r\n\r\n      // 清空旧的撤销记录\r\n      this.removeNodes = [];\r\n\r\n      // ============================================================\r\n      // [撤销/重做后清理编辑状态] 防止\"假性锁定\"问题\r\n      // 问题：撤销/重做后，遗留的编辑状态会阻止新的编辑操作\r\n      // 解决：强制清理所有编辑相关状态\r\n      // ============================================================\r\n      this.clearEditingStates();\r\n\r\n      // 强制关闭所有编辑状态\r\n      this.isLocalStorageSave = false;\r\n\r\n      // 先清空数据，强制 Vue 重新渲染\r\n      this.datas = [];\r\n\r\n      // 使用 $nextTick 确保清空后再设置新数据\r\n      this.$nextTick(() => {\r\n        // 转换数据格式\r\n        let parsedData = this.toParse1(newData);\r\n        console.log('[History] toParse1 后的数据:', parsedData);\r\n\r\n        // 如果是编辑模式，添加按钮节点\r\n        if (this.editOutline) {\r\n          parsedData = this.addButtonData(parsedData);\r\n        }\r\n\r\n        this.datas = parsedData;\r\n        console.log('[History] 最终 datas:', this.datas);\r\n\r\n        // 再次 $nextTick 确保数据已更新后再刷新树\r\n        this.$nextTick(() => {\r\n          if (this.$refs && this.$refs.tree) {\r\n            console.log('[History] 调用 tree.filter(2)');\r\n            this.$refs.tree.filter(2);\r\n            // 强制组件更新\r\n            this.$forceUpdate();\r\n          }\r\n          console.log('[History] 大纲数据更新完成');\r\n        });\r\n      });\r\n    },\r\n    // 【修复】自动保存定时器 - 防止只触发一次\r\n    // 问题原因：原逻辑在定时器触发后同步调用 setSaveTimeout()，\r\n    // 但如果此时 online > 1，submitSave 直接返回，导致保存逻辑不完整\r\n    // 解决方案：改为在保存完成后才重新设置定时器，确保完整的保存周期\r\n    setSaveTimeout() {\r\n      console.log('[AutoSave] setSaveTimeout called, editOutline:', this.editOutline, 'online:', this.online);\r\n      if (this.timer) {\r\n        clearTimeout(this.timer);\r\n        this.timer = null;\r\n      }\r\n      if(!this.editOutline) {\r\n        console.log('[AutoSave] setSaveTimeout early return: editOutline is false');\r\n        return;\r\n      }\r\n      if(this.online > 1) {\r\n        console.log('[AutoSave] setSaveTimeout early return: online > 1, will retry when online decreases');\r\n        // // 【修复】当 online > 1 时，设置一个更短的定时器来检测状态恢复\r\n        // this.timer = setTimeout(() => {\r\n        //   console.log(\"[AutoSave] Retrying setSaveTimeout after online check\");\r\n        //   this.setSaveTimeout();\r\n        // }, 5000);\r\n        return;\r\n      }\r\n      console.log('[AutoSave] Timer set, will save in', this.timeCount, 'ms');\r\n      this.timer = setTimeout(() => {\r\n        console.log(\"[AutoSave] Timer fired, executing submitSave\");\r\n        // 每隔2分钟自动保存\r\n        this.executeAutoSave();\r\n      }, this.timeCount);\r\n    },\r\n    // 【新增】执行自动保存的完整流程\r\n    executeAutoSave() {\r\n      if(this.online > 1) {\r\n        console.log('[AutoSave] online > 1 at execution time, skipping save, retrying in 5s');\r\n        this.timer = setTimeout(() => {\r\n          this.setSaveTimeout();\r\n        }, 5000);\r\n        return;\r\n      }\r\n\r\n      // 【关键修复】先设置 isLocalStorageSave = true，确保 saveEditingState 能执行\r\n      this.isLocalStorageSave = true;\r\n      this.saveEditingState();\r\n      this.submitSave(true);\r\n      clearTimeout(this.timer);\r\n      this.timer = null;\r\n      console.log('[AutoSave] Waiting for save completion to reset timer');\r\n    },\r\n    // 【新增】保存完成后重新设置定时器\r\n    resetAutoSaveTimer() {\r\n      console.log('[AutoSave] Save completed, resetting timer');\r\n      if(this.editOutline) {\r\n        this.setSaveTimeout();\r\n      }\r\n    },\r\n    // 【新增】保存前记录当前编辑状态\r\n    saveEditingState() {\r\n      if(!this.isLocalStorageSave) return;\r\n\r\n      this._savedEditingState = {\r\n        editingNodeId: this.editingData && this.editingData.id,\r\n        selectedNodeId: this.selectedData && this.selectedData.id,\r\n        isEditing: this.isEditing,\r\n        isMyselfEditing: this.isMyselfEditing,\r\n        content: this.content,\r\n        originalContent: this.originalContent,\r\n        isAddNode: this.selectedData && this.selectedData.isAdd,\r\n        isAddTheme: this.selectedData && this.selectedData.isAddTheme,\r\n        isAddEquative: this.selectedData && this.selectedData.isAddEquative,\r\n        isEdit: this.selectedData && this.selectedData.isEdit,\r\n        selectedNodeData: this.selectedData ? deepClone(this.selectedData) : null\r\n      };\r\n      // 【关键】设置标记，表示这是自动保存操作\r\n      this._wasAutoSave = true;\r\n      console.log('[AutoSave] Saved editing state, set _wasAutoSave=true:', this._savedEditingState);\r\n    },\r\n    // 【新增】保存后恢复编辑状态\r\n    restoreEditingState() {\r\n      if(!this._savedEditingState) return;\r\n\r\n      const state = this._savedEditingState;\r\n      console.log('[AutoSave] Restoring editing state:', state);\r\n\r\n      // 【关键】恢复编辑权状态\r\n      this.isMyselfEditing = state.isMyselfEditing || true;\r\n      console.log(\"isMyselfEditing = false\", state.isMyselfEditing);\r\n\r\n      if(state.editingNodeId) {\r\n        const nodeData = this.findNodeById(state.editingNodeId);\r\n        if(nodeData) {\r\n          this.editingData = nodeData;\r\n          this.isEditing = state.isEditing;\r\n          this.content = state.content || '';\r\n          this.originalContent = state.originalContent || '';\r\n\r\n          if(state.isAddNode) this.$set(nodeData, 'isAdd', true);\r\n          if(state.isAddTheme) this.$set(nodeData, 'isAddTheme', true);\r\n          if(state.isAddEquative) this.$set(nodeData, 'isAddEquative', true);\r\n          if(state.isEdit) this.$set(nodeData, 'isEdit', true);\r\n\r\n          if(state.selectedNodeId) {\r\n            const selectedNodeData = this.findNodeById(state.selectedNodeId);\r\n            if(selectedNodeData) {\r\n              this.selectedData = selectedNodeData;\r\n              this.setCurrentNode(selectedNodeData, 'AutoSave恢复');\r\n            } else if(state.selectedNodeData) {\r\n              console.log('[AutoSave] 节点在 datas 中找不到，使用保存的数据');\r\n              const foundById = this.findNodeById(state.selectedNodeData.id);\r\n              if(foundById) {\r\n                this.selectedData = foundById;\r\n              } else {\r\n                this.selectedData = state.selectedNodeData;\r\n              }\r\n              this.setCurrentNode(this.selectedData, 'AutoSave恢复保存的数据');\r\n            }\r\n          }\r\n\r\n          if(state.isEditing && state.editingNodeId) {\r\n            this.$nextTick(() => {\r\n              const el = this.$refs[\"edittextarea\" + state.editingNodeId];\r\n              if(el && el.$refs.textarea) {\r\n                el.$refs.textarea.focus();\r\n              }\r\n            });\r\n          }\r\n        } else if(state.selectedNodeData) {\r\n          console.log('[AutoSave] 编辑节点在 datas 中找不到，恢复保存的节点数据');\r\n          this.editingData = state.selectedNodeData;\r\n          this.selectedData = state.selectedNodeData;\r\n          this.isEditing = state.isEditing;\r\n          this.content = state.content || '';\r\n          this.originalContent = state.originalContent || '';\r\n        }\r\n      }\r\n\r\n      this._savedEditingState = null;\r\n      console.log('[AutoSave] Editing state restored, isMyselfEditing:', this.isMyselfEditing, 'isEditing:', this.isEditing);\r\n    },\r\n    // 【新增】根据 ID 查找节点数据\r\n    findNodeById(id, nodes = this.datas) {\r\n      if(!id) return null;\r\n      for(const node of nodes) {\r\n        if(node.id === id) return node;\r\n        if(node.children && node.children.length > 0) {\r\n          const found = this.findNodeById(id, node.children);\r\n          if(found) return found;\r\n        }\r\n      }\r\n      return null;\r\n    },\r\n    findIsEditTrueNodes(data, isAddNewNode, isSilentSave = false) {\r\n      const result = [];\r\n      const that = this;\r\n      let flag = false;\r\n      function traverse(node) {\r\n        if (Array.isArray(node)) {\r\n          // 如果当前节点是数组，遍历数组中的每个元素\r\n          for (let i = 0; i < node.length; i++) {\r\n            const nd = node[i];\r\n            if(!nd.id) {\r\n              return;\r\n            }\r\n            // 如果当前节点是对象，检查是否有 isEdit 属性\r\n            if (nd.id === that.editingData.id) {\r\n              nd.name = that.content;\r\n              // 【关键修复】静默保存（Ctrl+S或自动保存）时不清除临时标记\r\n              // 问题：删除标记后，新增节点在 init() 被调用时会消失\r\n              // 解决：静默保存时保留临时标记，只在手动保存时才清除\r\n              if(!isSilentSave) {\r\n                if(nd.isAdd != undefined) {\r\n                  delete nd.isAdd;\r\n                }\r\n                if(nd.isAddTheme!= undefined) {\r\n                  delete nd.isAddTheme;\r\n                }\r\n                if(nd.isAddEquative != undefined && isAddNewNode) {\r\n                  delete nd.isAddEquative;\r\n                }\r\n              }\r\n            }\r\n            traverse(nd.children);\r\n          }\r\n        } else if (typeof node === 'object' && node !== null) {\r\n          // 如果当前节点是对象，检查是否有 isEdit 属性\r\n          if(!node.id) {\r\n            return;\r\n          }\r\n          if (node.id === that.editingData.id) {\r\n            flag = true;\r\n            node.name = that.content;\r\n            // 【关键修复】静默保存时不清除临时标记\r\n            if(!isSilentSave) {\r\n              if(node.isAdd != undefined) {\r\n                delete node.isAdd;\r\n              }\r\n              if(node.isAddTheme != undefined) {\r\n                delete node.isAddTheme;\r\n              }\r\n              if(node.isAddEquative != undefined && isAddNewNode) {\r\n                delete node.isAddEquative;\r\n              }\r\n            }\r\n          }\r\n          // 继续遍历对象的每个属性\r\n          for (let key in node) {\r\n            if (node.hasOwnProperty(key) && key == 'node' && !flag) {\r\n              traverse(node[key]);\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      traverse(data);\r\n      return data;\r\n    },\r\n    async saveMindMap(type = 1) {\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = {\r\n          ...this.mindMap\r\n        };\r\n      }\r\n      console.log(\"this.mindMap:\", this.mindMap);\r\n\r\n      console.log(\"saveMindMap:::\", mindMap, type);\r\n      console.log(this.datas)\r\n\r\n      let newData = [];\r\n      // 【关键修复】区分三种保存情况：\r\n      // 1. 普通手动保存（点击保存按钮）：isLocalStorageSave=false, _isCtrlSave=false, _wasAutoSave=false\r\n      //    → 清除临时标记，退出编辑状态\r\n      // 2. Ctrl+S 保存：isLocalStorageSave=false, _isCtrlSave=true, _wasAutoSave=true\r\n      //    → 显示 loading，保持编辑状态，保留临时标记\r\n      // 3. 自动保存：isLocalStorageSave=true, _wasAutoSave=true\r\n      //    → 完全静默，保持编辑状态，保留临时标记\r\n      const isSilentSave = this.isLocalStorageSave || this._isCtrlSave || this._wasAutoSave;\r\n      if(!isSilentSave) {\r\n        // 普通手动保存：清除临时标记\r\n        const datas = deepClone(this.datas);\r\n        newData = this.removeButtonData(datas);\r\n      } else {\r\n        // Ctrl+S 或自动保存：保留临时标记\r\n        const datas = deepClone(this.datas);\r\n        const editDatas = await this.findIsEditTrueNodes(datas, false, true);\r\n        console.log(\"removeButtonData:\", editDatas);\r\n        newData = this.removeButtonData(editDatas);\r\n      }\r\n      console.log(\"removeButtonData1:\", newData);\r\n      await this.toParse(newData, type);\r\n\r\n      // 【修复】Ctrl+S 或自动保存时不修改视图数据，保持编辑状态不变\r\n      if(!isSilentSave) {\r\n        this.datas = await this.findIsEditTrueNodes(this.datas);\r\n        console.log(\"saveMindMap this.datas =\", this.datas);\r\n      } else {\r\n        console.log('[AutoSave] 保持视图数据不变，不更新 datas');\r\n        // 【关键】自动保存后，确保编辑中节点的临时标记仍然存在\r\n        if(this.selectedData && this.selectedData.id) {\r\n          const nodeData = this.findNodeById(this.selectedData.id, this.datas);\r\n          if(nodeData) {\r\n            const savedState = this._savedEditingState;\r\n            if(savedState) {\r\n              if(savedState.isAddNode) this.$set(nodeData, 'isAdd', true);\r\n              if(savedState.isAddTheme) this.$set(nodeData, 'isAddTheme', true);\r\n              if(savedState.isAddEquative) this.$set(nodeData, 'isAddEquative', true);\r\n              if(savedState.isEdit) this.$set(nodeData, 'isEdit', true);\r\n              console.log('[AutoSave] 恢复节点临时标记:', nodeData.id);\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      console.log(\"toParse:::\", newData);\r\n      mindMap.mindmap_content = JSON.stringify(newData);\r\n      const timeStamp = (+new Date());\r\n\r\n      // ========== 关键修改：先保存快照，再更新 Vuex ==========\r\n      // 保存快照到 Undo 栈（如果不是撤销/重做操作，且需要保存快照）\r\n      // 重要：必须在更新 Vuex 之前保存，否则获取的是更新后的数据\r\n      const historyVersion = this.$store.getters.historyVersion;\r\n      if (!historyVersion.isUndoRedoAction && this.course_id && this.shouldSaveSnapshot) {\r\n        try {\r\n          // 重置标记\r\n          this.shouldSaveSnapshot = false;\r\n\r\n          // 获取当前 Vuex 中的数据（编辑前的状态，此时 Vuex 还没更新）\r\n          const currentMindMap = this.$store.getters.mindMap;\r\n          let beforeEditData = [];\r\n          if (currentMindMap && currentMindMap.mindmap_content) {\r\n            beforeEditData = typeof currentMindMap.mindmap_content === 'string'\r\n              ? JSON.parse(currentMindMap.mindmap_content)\r\n              : currentMindMap.mindmap_content;\r\n          }\r\n\r\n          // 【核心修复】如果当前内容为空，但有默认模板，则快照应记录默认模板的内容\r\n          // 问题：当 mindmap_content 为空时，界面显示的是默认模板，但快照记录的是空数组\r\n          // 解决：在快照中兜底使用默认模板内容，确保撤销不会导致画面变白\r\n          if ((!beforeEditData || beforeEditData.length === 0) && this.dataPro && this.dataPro.course_default_studythink) {\r\n            try {\r\n              const defaultData = JSON.parse(this.dataPro.course_default_studythink);\r\n              if (defaultData && defaultData.length > 0) {\r\n                beforeEditData = defaultData;\r\n                console.log('[History] 使用默认模板作为快照内容');\r\n              }\r\n            } catch (e) {\r\n              console.error('[History] 默认模板解析失败:', e);\r\n            }\r\n          }\r\n\r\n          console.log('[History] 编辑前的状态:', beforeEditData);\r\n          console.log('[History] 编辑后的状态:', newData);\r\n\r\n          // 【数据净化】清理 UI 状态字段，只保留核心数据（name, lock, node）\r\n          // 防止 isAddEquative、isEdit、children 等多余字段污染历史栈\r\n          const purifiedData = this.toParse(JSON.parse(JSON.stringify(beforeEditData)), 2);\r\n          console.log('[History] 净化后的快照数据:', purifiedData);\r\n\r\n          // 压入 Undo 栈的是编辑前的状态（会自动清空 Redo 栈）\r\n          await pushUndo(this.course_id, purifiedData, getDeviceId());\r\n          console.log(`[History] 快照已压入 Undo 栈（编辑前的状态）`);\r\n\r\n          // 更新栈状态\r\n          const stackStatus = await getStackStatus(this.course_id);\r\n          this.$store.dispatch(\"setHistoryVersion\", {\r\n            canUndo: stackStatus.canUndo,\r\n            canRedo: stackStatus.canRedo,\r\n            undoCount: stackStatus.undoCount,\r\n            redoCount: stackStatus.redoCount\r\n          });\r\n        } catch (error) {\r\n          console.error('[History] 保存快照失败:', error);\r\n        }\r\n      } else if (!this.shouldSaveSnapshot) {\r\n        console.log('[History] 内容无变化，跳过快照保存');\r\n      }\r\n\r\n      // 然后再更新 Vuex（保存编辑后的新状态）\r\n      await this.$store.dispatch(\"setMindMap\", {\r\n        data: {\r\n          ...mindMap,\r\n          is_collect_studythink: this.is_collect\r\n        },\r\n        isEdited: true,\r\n        timeStamp: timeStamp,\r\n        mindMapTimeStamp: timeStamp,\r\n      });\r\n\r\n      // 保存完同步内容，会自动设置为可编辑\r\n      // if(!this.updatesuccess) {\r\n\r\n      // }\r\n      this.setSyncMindmapContent();\r\n      return Promise.resolve();\r\n    },\r\n    init() {\r\n      // 【核心修复】自动保存周期内的所有数据更新都不应该触发 init 重置数据\r\n      // 问题：updatesuccessCallback 在第一次 updatesuccess 时就重置了 isLocalStorageSave 和 _savedEditingState\r\n      //      但 dataPro watcher 可能在后续的 Vuex 更新时才触发，此时条件不满足，init() 被调用\r\n      //      导致 datas 被重置为服务器返回的数据，新增节点消失\r\n      // 解决：使用 _wasAutoSave 标记（延迟500ms重置），只要 _wasAutoSave 为 true，就跳过 init 数据重置\r\n      if(this._wasAutoSave || (this.isLocalStorageSave && this._savedEditingState)) {\r\n        console.log('[AutoSave] 自动保存周期内跳过 init 数据重置，_wasAutoSave:', this._wasAutoSave);\r\n        // 只重新设置定时器，不修改 datas\r\n        this.setSaveTimeout();\r\n        return;\r\n      }\r\n\r\n      if (this.dataPro) {\r\n        this.is_collect = this.dataPro.is_collect_studythink;\r\n        if (this.dataPro.mindmap_content) {\r\n          let data = this.dataPro.mindmap_content;\r\n          if(typeof this.dataPro.mindmap_content === 'string') {\r\n            data = JSON.parse(this.dataPro.mindmap_content);\r\n          }\r\n          this.datas = this.toParse1(data);\r\n          console.log(\"this.datas =\", this.datas);\r\n          this.$nextTick(() => {\r\n            this.$refs && this.$refs.tree && this.$refs.tree.filter(2);\r\n          });\r\n        } else {\r\n          console.log(\"removeNodes:\")\r\n          this.removeNodes = [];\r\n          if (!this.dataPro.course_default_studythink) {\r\n            this.datas = [];\r\n          } else {\r\n            let data = JSON.parse(this.dataPro.course_default_studythink);\r\n            this.datas = this.toParse1(data);\r\n            console.log(\"this.datas =\", this.datas);\r\n            this.$nextTick(() => {\r\n              this.$refs && this.$refs.tree && this.$refs.tree.filter(2);\r\n            });\r\n          }\r\n        }\r\n      } else {\r\n        console.log(\"removeNodes:\")\r\n        this.removeNodes = [];\r\n        this.datas = [];\r\n      }\r\n\r\n      console.log(\"this.datas =111::::\", this.datas);\r\n\r\n      if(this.editOutline) {\r\n        this.datas = this.addButtonData(this.datas);\r\n        console.log(\"this.datas =\", this.datas);\r\n      }\r\n\r\n      // 初始化历史版本指针（异步）\r\n      this.$nextTick(() => {\r\n        this.initHistoryVersion();\r\n      });\r\n\r\n      this.setSaveTimeout();\r\n      console.log('--init', this.datas, this.dataPro);\r\n      console.log(\"init isEdited:\", this.isEdited);\r\n      // this.isEdited = false;\r\n    },\r\n    exitEdit() {\r\n      this.isLocalStorageSave = false;\r\n      this.dialogVisibleCon = false;\r\n      this.isEdited = false;\r\n      this.clearTimeout();\r\n      this.triggerSaveInput(() => {\r\n        this.$emit(\"exitEditCon\");\r\n      })\r\n    },\r\n    // 自动保存或者是ctrl+s\r\n    submitSave(isLocalStorageSave) {\r\n      if(this.online > 1 && isLocalStorageSave) {\r\n        return;\r\n      }\r\n      console.log(\"submitSave:\", isLocalStorageSave);\r\n\r\n      // 【关键修复】区分 Ctrl+S 和自动保存两种情况\r\n      // - Ctrl+S：显示 loading，但保持编辑状态（_isCtrlSave 标记）\r\n      // - 自动保存：完全静默（isLocalStorageSave = true）\r\n      //\r\n      // _wasAutoSave 标记用于 dataPro watcher 和 init 检查，防止新增节点消失\r\n      // 两种情况都需要设置这个标记\r\n      if(isLocalStorageSave || this._isCtrlSave) {\r\n        // 设置 _wasAutoSave 标记，防止 init() 重置数据导致节点消失\r\n        if(isLocalStorageSave) {\r\n          // 自动保存：先设置 isLocalStorageSave，然后调用 saveEditingState\r\n          this.isLocalStorageSave = true;\r\n          this.saveEditingState();  // 设置 _wasAutoSave = true\r\n          console.log('[AutoSave] 设置 _wasAutoSave = true（完全静默）');\r\n        } else if(this._isCtrlSave) {\r\n          // Ctrl+S：设置 _wasAutoSave，但显示 loading（isLocalStorageSave = false）\r\n          this.isLocalStorageSave = false;  // 显示 loading\r\n          this._wasAutoSave = true;  // 直接设置，防止 init 重置数据\r\n          this._savedEditingState = {\r\n            editingNodeId: this.editingData && this.editingData.id,\r\n            selectedNodeId: this.selectedData && this.selectedData.id,\r\n            isEditing: this.isEditing,\r\n            isMyselfEditing: this.isMyselfEditing,\r\n            content: this.content,\r\n            originalContent: this.originalContent,\r\n            isAddNode: this.selectedData && this.selectedData.isAdd,\r\n            isAddTheme: this.selectedData && this.selectedData.isAddTheme,\r\n            isAddEquative: this.selectedData && this.selectedData.isAddEquative,\r\n            isEdit: this.selectedData && this.selectedData.isEdit,\r\n            selectedNodeData: this.selectedData ? deepClone(this.selectedData) : null\r\n          };\r\n          console.log('[Ctrl+S] 设置 _wasAutoSave = true（保持编辑状态，显示 loading）');\r\n        }\r\n      } else {\r\n        this.isLocalStorageSave = false;\r\n      }\r\n\r\n      // 传递 isAutoSave 参数给 triggerSaveInput\r\n      // Ctrl+S 或自动保存时，isAutoSave = true（保持编辑状态）\r\n      const isAutoSave = isLocalStorageSave || this._isCtrlSave;\r\n      this.triggerSaveInput(() => {\r\n        this.submitSave1(isLocalStorageSave);\r\n      }, isAutoSave)\r\n    },\r\n    submitSave1(isLocalStorageSave) {\r\n      // 保存\r\n      this.$emit(\"saveMindMap\", {\r\n        whiteCom: this.whiteCom,\r\n        isInMind: true,\r\n        isLocalStorageSave,\r\n        needExit: false\r\n      });\r\n    },\r\n    // isLocalStorageSave: 是否本地自动保存\r\n    submitCon(type, isLocalStorageSave) {\r\n      this.isLocalStorageSave = isLocalStorageSave;\r\n      this.dialogVisibleCon = false;\r\n\r\n      this.triggerSaveInput(() => {\r\n        this.submitCon1(type, isLocalStorageSave);\r\n      })\r\n    },\r\n    submitCon1(type, isLocalStorageSave) {\r\n      if (type === 2) {\r\n        // 不保存\r\n        this.$emit(\"doNotSave\", {\r\n          type,\r\n          isLocalStorageSave\r\n        });\r\n        // this.$store.dispatch(\"clearWebSocket\");\r\n      } else {\r\n        // 保存\r\n        this.$emit(\"saveMindMap\", {\r\n          whiteCom: this.whiteCom,\r\n          isInMind: false,\r\n          isLocalStorageSave: false,\r\n          needExit: true,\r\n          type\r\n        });\r\n        // this.saveMindMap().then(() => {\r\n\r\n        // });\r\n      }\r\n      this.isEdited = false;\r\n    },\r\n    // 提示是否保存逻辑分类\r\n    submitConCallback(isLocalStorageSave, type) {\r\n      console.log(\"submitConCallback:\", this.isCancel, this.whiteCom)\r\n      if (!isLocalStorageSave) {\r\n        // 点击去黑牌\r\n        if(this.isGoblack) {\r\n          this.isGoblack = false;\r\n          EventBus.$emit(\"goBlackConfirmed\");\r\n        } else if(this.isToPage) {\r\n          this.isToPage = false;\r\n          EventBus.$emit(\"toPageConfirmed\");\r\n        } else if (this.whiteCom === \"CourseCom\" && type === 2) { // 切换课程\r\n          this.isEdited = false;\r\n          this.clearTimeout();\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n        } else if (this.whiteCom === \"Logo\" && type === 2) { // 点击LOGO\r\n          this.isEdited = false;\r\n          this.clearTimeout();\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n        } else if (this.whiteCom !== \"CourseCom\") { // 其他情况，例如切换页面，切换模块\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", this.whiteCom);\r\n          // 如果是选择课程且保存的的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n        }\r\n      }\r\n    },\r\n    setFilterNode1(node, data) {\r\n      this.setFilterNode(node, data);\r\n      let childNodes = node.childNodes;\r\n      childNodes.forEach(item => {\r\n        this.setFilterNode1(item, item.data);\r\n      });\r\n    },\r\n    async reduceTabClickCallback(node, data) {\r\n      try {\r\n        this.setToolsEventing()\r\n        // [History] 减少缩进操作需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 减少缩进，设置 shouldSaveSnapshot = true');\r\n\r\n        const parent = this.node.parent;\r\n        const prevParent = parent.parent;\r\n        if (prevParent) {\r\n          // 删除节点\r\n          this.$refs.tree.remove(this.node);\r\n          // 为 Tree 的一个节点的后面增加一个节点\r\n          this.$refs.tree.insertAfter(this.selectedData, parent);\r\n\r\n          // 为 Tree 中prevNode节点追加一个子节点\r\n          // this.$refs.tree.append(data, prevParent);\r\n\r\n          this.$nextTick(() => {\r\n            // this.$refs.tree.filter(2);\r\n            // let nowParent = parent.parent;\r\n            let timeout1 = null;\r\n            let timeout2 = null;\r\n            let timeout3 = null;\r\n            let timeout4 = null;\r\n            // 之前的父节点需要重置样式\r\n            timeout1 = setTimeout(() => {\r\n              this.setFilterNode(parent, parent.data);\r\n              // let childNodes = parent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout1);\r\n            });\r\n            // 现在的父节点需要重置样式\r\n            timeout2 = setTimeout(() => {\r\n              this.setFilterNode(prevParent, prevParent.data);\r\n              // let childNodes = prevParent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout2);\r\n            });\r\n            // 当前节点需要重置样式\r\n            let selectedNode = this.$refs.tree.getNode(data.id);\r\n            timeout3 = setTimeout(() => {\r\n              this.setFilterNode(selectedNode, selectedNode.data);\r\n              clearTimeout(timeout3);\r\n            });\r\n            // 子节点遍历重置样式\r\n            timeout4 = setTimeout(() => {\r\n              let childNodes = selectedNode.childNodes;\r\n              childNodes.forEach(item => {\r\n                this.setFilterNode1(item, item.data);\r\n              });\r\n              clearTimeout(timeout4);\r\n              this.selectedData = {};\r\n              this.selectedNode = {};\r\n            });\r\n\r\n            //保存到本地\r\n            this.saveMindMap();\r\n            this.hideOperates1();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    async reduceTabClick(node, data) {\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n      if(!this.isEditing) {\r\n        // 判断是否有其他端在编辑\r\n        if(!this.readOnly) {\r\n          this.getStatus(() => {\r\n            this.reduceTabClickCallback(node, data);\r\n          });\r\n        } else {\r\n          this.reduceTabClickCallback(node, data);\r\n        }\r\n      } else {\r\n        this.reduceTabClickCallback(node, data);\r\n      }\r\n    },\r\n    async tabClickCallback(node, data) {\r\n      try {\r\n        this.setToolsEventing()\r\n        // [History] 缩进操作需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 缩进，设置 shouldSaveSnapshot = true');\r\n\r\n        const parent = this.node.parent;\r\n        const children = parent.data.children || parent.data;\r\n        const index = children.findIndex(d => d.id === this.selectedData.id);\r\n        // 如果是第0个元素，则执行tab默认事件\r\n        if (index > 0) {\r\n          let prevIndex = index - 1;\r\n          let prevNode = parent.childNodes[prevIndex];\r\n          // // 删除节点\r\n          this.$refs.tree.remove(this.node);\r\n          // 为 Tree 中prevNode节点追加一个子节点\r\n          this.$refs.tree.append(this.selectedData, prevNode);\r\n\r\n          this.$nextTick(() => {\r\n            // this.$refs.tree.filter(2);\r\n            // let nowParent = this.node.parent;\r\n            let timeout1 = null;\r\n            let timeout2 = null;\r\n            let timeout3 = null;\r\n            let timeout4 = null;\r\n            // 之前的父节点需要重置样式\r\n            timeout1 = setTimeout(() => {\r\n              this.setFilterNode(parent, parent.data);\r\n              // let childNodes = parent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout1);\r\n            });\r\n            // 现在的父节点需要重置样式\r\n            timeout2 = setTimeout(() => {\r\n              this.setFilterNode(prevNode, prevNode.data);\r\n              // let childNodes = prevParent.childNodes;\r\n              // childNodes.forEach((item) => {\r\n              //   this.setFilterNode1(item, item.data);\r\n              // });\r\n              clearTimeout(timeout2);\r\n            });\r\n            // 当前节点需要重置样式\r\n            let selectedNode = this.$refs.tree.getNode(data.id);\r\n            timeout3 = setTimeout(() => {\r\n              this.setFilterNode(selectedNode, selectedNode.data);\r\n              clearTimeout(timeout3);\r\n            });\r\n            // 子节点遍历重置样式\r\n            timeout4 = setTimeout(() => {\r\n              let childNodes = selectedNode.childNodes;\r\n              childNodes.forEach(item => {\r\n                this.setFilterNode1(item, item.data);\r\n              });\r\n              clearTimeout(timeout4);\r\n              this.selectedData = {};\r\n              this.selectedNode = {};\r\n            });\r\n\r\n            //保存到本地\r\n            this.saveMindMap();\r\n\r\n            this.hideOperates1();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    async tabClick(node, data) {\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.tabClickCallback(node, data);\r\n          });\r\n        } else {\r\n          this.tabClickCallback(node, data);\r\n        }\r\n      } else {\r\n        this.tabClickCallback(node, data);\r\n      }\r\n    },\r\n    hideOperates() {\r\n      this.hideOperates1();\r\n    },\r\n    hideOperates1() {\r\n      this.copyData = {};\r\n      this.$set(this.selectedData, \"isShowOp\", false);\r\n      if(!this.isLocalStorageSave) {\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n      }\r\n    },\r\n    setCurrentNode(data, from) {\r\n      this.node = this.$refs.tree.getNode(data.id);\r\n      console.log('--------setCurrentNode',from, this.node, data);\r\n      return this.node;\r\n    },\r\n    // 显示操作栏\r\n    showOperates(node, data, $event, isEditOperating) {\r\n      let editOutline = this.getEditOutline();\r\n      console.log('showOperates:', this.courseIsuseradd == 3 || !editOutline, this.courseIsuseradd, editOutline, data.lock);\r\n      // 非编辑状态，选中可复制节点内容\r\n      if(!this.editOutline && this.copyData.id) {\r\n        console.log(\"showOperates:\", )\r\n        // 操作栏位置\r\n        this.selectedDom = {\r\n          target: $event.target,\r\n          data: data,\r\n        };\r\n        this.setSelectedBoxPosition();\r\n        return;\r\n      } else if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n\r\n\r\n      this.isEditOperating = isEditOperating;\r\n      this.showOperates1(data, node, $event, isEditOperating);\r\n    },\r\n    showOperates1(data, node, $event, isEditOperating) {\r\n      node = this.setCurrentNode(data, '出现操作栏：showOperates1');\r\n      this.selectedData = data;\r\n      this.selectedNode = node || {};\r\n      this.$set(\r\n        this.selectedData,\r\n        \"class\",\r\n        this.selectedData.class + \" s\" + this.selectedData.class\r\n      );\r\n      this.$set(data, \"isShowOp\", false);\r\n\r\n      const parent = node.parent;\r\n      const children = parent.data.children || parent.data;\r\n      const index = children.findIndex(d => d.id === this.selectedData.id);\r\n\r\n      // 如果是第0个元素且不是第一层级，则不显示缩进、显示减少缩进\r\n      if (index === 0 && node.level > 1) {\r\n        this.$set(data, \"hidetab\", true);\r\n        this.$set(data, \"hidetabReduce\", false);\r\n      } else if (node.level === 1 && index === 0) {\r\n        // 如果是是第一层级且是第一个元素，则不显示缩进、不显示减少缩进\r\n        this.$set(data, \"hidetab\", true);\r\n        this.$set(data, \"hidetabReduce\", true);\r\n      } else if (node.level === 1 && index > 0) {\r\n        // 如果是是第一层级，则显示缩进、不显示减少缩进\r\n        this.$set(data, \"hidetab\", false);\r\n        this.$set(data, \"hidetabReduce\", true);\r\n      } else {\r\n        this.$set(data, \"hidetab\", false);\r\n        this.$set(data, \"hidetabReduce\", false);\r\n      }\r\n      // 设置index,isShowOp用于模板中显示逻辑\r\n      this.$nextTick(() => {\r\n        this.$set(data, \"$index\", index);\r\n        this.$set(data, \"isShowOp\", true);\r\n\r\n        // 操作栏位置\r\n        this.selectedDom = {\r\n          target: $event.target,\r\n          data: data,\r\n        };\r\n        this.setSelectedBoxPosition();\r\n        //if($event.target && $event.target.nodeName === 'TEXTAREA') {\r\n          //$event.target.selectionStart\r\n          // const value = $event.target.value;\r\n          // $event.target.value = '';\r\n          // $event.target.focus();\r\n          // $event.target.value = value;\r\n        //}\r\n      });\r\n\r\n      if(this.setTimeValue) {\r\n        clearTimeout(this.setTimeValue);\r\n        this.setTimeValue = null;\r\n      }\r\n    },\r\n    // 单击选中\r\n    chooseNode(node, data, type) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        return;\r\n      }\r\n\r\n      this.triggerSaveInput(() => {\r\n        this.chooseNode1(node, data);\r\n      })\r\n\r\n    },\r\n    chooseNode1(node, data) {\r\n      if(!(data && data.id)) {\r\n        return;\r\n      }\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = 5;\r\n      this.setCurrentNode(data, '选中：chooseNode1');\r\n      this.selectedData = data;\r\n    },\r\n    // 双击修改\r\n    edit(node1, data) {\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n      if (!this.selectedData) {\r\n        return;\r\n      }\r\n      console.log(\"this.isLocalStorageSave = true;\");\r\n      this.isLocalStorageSave = true;\r\n      this.edit1(node1, data);\r\n    },\r\n    async edit1(node1, data) {\r\n      await this.triggerSaveInput(() => {});\r\n      this.hideOperates1();\r\n      this.selectedData = data;\r\n      this.content = this.selectedData.name;\r\n      this.originalContent = this.selectedData.name;\r\n      this.selectedData.isEdit = true;\r\n      this.$set(this.selectedData, \"isEdit\", true);\r\n      this.setCurrentNode(data, \"进入编辑：edit1\");\r\n      this.$nextTick(() => {\r\n        const el = this.$refs[\"edittextarea\" + this.selectedData.id];\r\n        if (el && el.$refs.textarea) {\r\n          const value = el.$refs.textarea.value;\r\n          el.$refs.textarea.value = '';\r\n          el.$refs.textarea.focus();\r\n          el.$refs.textarea.value = value;\r\n        }\r\n      })\r\n    },\r\n\r\n    // 修改节点\r\n    editNode(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      let editOutline = this.getEditOutline();\r\n      if (!editOutline) {\r\n        return;\r\n      }\r\n\r\n      // if(!this.selectedData) {\r\n      //   return;\r\n      // }\r\n      // // 如果是在编辑状态下显示菜单则隐藏\r\n      // if (this.isEditOperating) {\r\n      //   this.$set(this.selectedData, \"isShowOp\", false);\r\n      // }\r\n      // if (this.selectedData && this.selectedData.isEdit) {\r\n      //   this.$set(this.selectedData, \"isEdit\", false);\r\n      // }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新编辑的内容');\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 添加主题\r\n    addTheme(e) {\r\n      if(!this.readOnly) {\r\n        // 判断是否有其他端在编辑\r\n        this.getStatus(() => {\r\n          this.addTreeNode('addTheme');\r\n        });\r\n      } else {\r\n        this.addTreeNode('addTheme');\r\n      }\r\n\r\n    },\r\n\r\n    getInputElement(inputId) {\r\n      let inputElement = null;\r\n      if (document.getElementById(\"subtitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"subtitle\" + inputId);\r\n      } else if (document.getElementById(\"title\" + inputId)) {\r\n        inputElement = document.getElementById(\"title\" + inputId);\r\n      } else if (document.getElementById(\"edittextarea\" + inputId)) {\r\n        inputElement = document.getElementById(\"edittextarea\" + inputId);\r\n      } else if (document.getElementById(\"equativetitle\" + inputId)) {\r\n        inputElement = document.getElementById(\"equativetitle\" + inputId);\r\n      }\r\n      return inputElement;\r\n    },\r\n    // 换行\r\n    async insertNewline(e, inputId) {\r\n      if (e) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n      }\r\n      if(!inputId || !this.editOutline) {\r\n        return\r\n      }\r\n\r\n      // 判断是否有其他端在编辑\r\n      // this.getStatus(() => {\r\n\r\n      // });\r\n      this.setToolsEventing();\r\n      // this.$refs[\"title\" + id].$refs.textarea.focus();\r\n      // const inputElement = this.$refs[\"title\" + id].$refs.textarea;\r\n      let inputElement = this.getInputElement(inputId);\r\n      console.log('insertNewline: 换行', inputElement);\r\n      if (!inputElement) {\r\n        return;\r\n      }\r\n\r\n      const start = inputElement.selectionStart;\r\n      const end = inputElement.selectionEnd;\r\n      const value = this.content;\r\n\r\n      // // 在光标位置插入换行符\r\n      // this.content += \"\\n\";\r\n      // 在光标位置插入换行符\r\n      this.content = value.substring(0, start) + \"\\n\" + value.substring(end);\r\n      this.$nextTick(() => {\r\n        // 将光标移到新的换行位置\r\n        inputElement.selectionStart = inputElement.selectionEnd = start + 1;\r\n      });\r\n    },\r\n    // 添加主题保存\r\n    saveTitle(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n\r\n    triggerSaveInput(callBack, isAutoSave) {\r\n      console.log('--triggerSaveInput', this.isEditing,  this.isLocalStorageSave, 'isAutoSave:', isAutoSave);\r\n      // 添加主题\r\n      if (this.isEditing === 'saveTitle') {\r\n        this.saveTitle(null, isAutoSave).then(() => {\r\n          callBack();\r\n\r\n        });\r\n      }\r\n      // 编辑后\r\n      else if (this.isEditing === 'editNode') {\r\n        this.editNode(null, isAutoSave).then(() => {\r\n          callBack();\r\n        });\r\n      }\r\n      // 添加子主题\r\n      else if (this.isEditing === 'saveSubTitle') {\r\n        this.saveSubTitle(null, isAutoSave).then(() => {\r\n          callBack();\r\n        });\r\n      }\r\n      // 添加同级主题\r\n      else if (this.isEditing === 'saveEquative') {\r\n        this.saveEquative(null, isAutoSave).then(() => {\r\n          callBack();\r\n        });\r\n      } else {\r\n        // 没有正在编辑的操作，直接执行回调（选中节点不需要触发保存和同步）\r\n        callBack();\r\n      }\r\n\r\n    },\r\n\r\n    // 添加子主题\r\n    async append(data, node, e) {\r\n      e.preventDefault();\r\n      if (!data.id || !this.editOutline) {\r\n        return;\r\n      }\r\n      // 大纲模式限制5层，弹层提示“最多只能添加5级”\r\n      if (node.level >= 5) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多只能添加5级\"\r\n        });\r\n        return;\r\n      }\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.addTreeNode('addSubTheme');\r\n          });\r\n        } else {\r\n          this.addTreeNode('addSubTheme');\r\n        }\r\n      } else {\r\n        this.addTreeNode('addSubTheme');\r\n      }\r\n    },\r\n\r\n    // 新增Tree节点：主题/子主题/同级主题\r\n    async addTreeNode(type) {\r\n      try {\r\n         // 阻止blue\r\n        this.setToolsEventing();\r\n\r\n        // 新增节点需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 新增节点，设置 shouldSaveSnapshot = true');\r\n\r\n        // 等先更新完上个文本框内容\r\n        await this.triggerSaveInput(() => {});\r\n        await this.findIsEditTrueNodes(this.datas, true);\r\n\r\n        this.isEdited = true;\r\n        // console.log(\"this.isLocalStorageSave = false;\");\r\n        // this.isLocalStorageSave = false;\r\n        console.log(\"isEdited:\", this.isEdited);\r\n        let targetNode = null;\r\n        let data = {};\r\n        let inputRefName = '';\r\n        let saveFnName = ''; // 更新内容的函数名称\r\n        let treeFn = '';\r\n        let typeNames = {\r\n          'addTheme': '新增主题',\r\n          'addSubTheme': '新增子主题',\r\n          'addEquativeTheme': '新增同级主题'\r\n        }\r\n        if(type === 'addTheme') {\r\n          let lastId;\r\n          this.datas.forEach(item => {\r\n            if(!item.isAdd && item.isAddTheme) {\r\n              lastId = item.id\r\n            }\r\n          })\r\n\r\n          targetNode = this.$refs.tree.getNode(lastId);\r\n          treeFn = 'insertBefore';\r\n          inputRefName = 'title';\r\n          saveFnName = 'saveTitle';\r\n          data = {\r\n            isAdd: true,\r\n            isAddTheme: true,\r\n            isEdit: true\r\n          }\r\n        }\r\n        else if(type === 'addSubTheme') {\r\n          targetNode = this.node;\r\n          targetNode.expanded = true;\r\n          treeFn = 'append';\r\n          inputRefName = 'subtitle';\r\n          saveFnName = 'saveSubTitle';\r\n          data = {\r\n            isAdd: true,\r\n            isEdit: true\r\n          }\r\n        }\r\n        else if(type === 'addEquativeTheme') {\r\n          targetNode = this.node;\r\n          treeFn = 'insertAfter';\r\n          inputRefName = 'equativetitle';\r\n          saveFnName = 'saveEquative';\r\n          data = {\r\n            isAddEquative: true,\r\n            isEdit: true\r\n          }\r\n        }\r\n\r\n        // 新增节点数据\r\n        id = \"id\" + uuidv4();\r\n        const newChild = {\r\n          id: id,\r\n          name: \"\",\r\n          node: [],\r\n          lock: 2,\r\n          ...data,\r\n        };\r\n        let parent = this.$refs.tree.getParentNode(this.selectedData.id);\r\n        console.log(\"parent:\", parent)\r\n        let removeNode = {};\r\n        let childNodes = []\r\n        let currIndex = 0;\r\n        if(parent) {\r\n          // childNodes = parent.childNodes;\r\n          currIndex = childNodes.length + 1;\r\n        }\r\n        // 新增节点步骤保存\r\n        removeNode = {\r\n          targetNode,\r\n          node: newChild,\r\n          parent: parent,\r\n          index: currIndex,\r\n          type,\r\n        }\r\n        if(this.removeNodes.length >= this.maxWithDrawLength) {\r\n          this.removeNodes.shift();\r\n        }\r\n\r\n        this.removeNodes.push(removeNode);\r\n        console.log(\"removeNodes:\", this.removeNodes)\r\n\r\n        // 重置变量\r\n        this.content = '';\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        this.editingData = {};\r\n\r\n\r\n        // 通过tree中节点增加新节点\r\n        this.$refs.tree[treeFn](newChild, targetNode);\r\n\r\n        this.$nextTick(() => {\r\n          // 设置当前操作的node，因为是新增的元素，要等渲染完才能找到\r\n          this.setCurrentNode(newChild, typeNames[type]);\r\n          // fouse文本框\r\n          const refName = inputRefName + newChild.id;\r\n          const $textareaBox = this.$refs[refName] && this.$refs[refName].$refs;\r\n          $textareaBox.textarea.focus();\r\n          setTimeout(() => {\r\n            $textareaBox.textarea.focus();\r\n          }, 100);\r\n          // 变量设置\r\n          this.isEditing = saveFnName;\r\n          this.editingData = newChild;\r\n          this.selectedData = newChild;\r\n\r\n          this.setStatus(1);\r\n        });\r\n      } catch (error) {\r\n        console.log(error)\r\n        this.setStatus(2);\r\n      }\r\n    },\r\n\r\n    // 更新节点内容\r\n    updateTreeNode(isAutoSave, from) {\r\n      console.log(\"updateTreeNode:\", from);\r\n      // 删除时，会触发blur事件，\r\n      if(this.isRemoveNodeing) {\r\n        return;\r\n      }\r\n\r\n      // 变量设置\r\n      this.isEdited = true;\r\n      console.log(\"isLocalStorageSave:\", this.isEdited, this.isLocalStorageSave, \"isAutoSave:\", isAutoSave);\r\n\r\n      // 检查内容是否有变化，有变化才保存快照\r\n      const content = this.content.trim();\r\n      const hasContentChange = content !== this.originalContent;\r\n      if (hasContentChange) {\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 内容有变化，设置 shouldSaveSnapshot = true');\r\n      }\r\n\r\n      // 【关键修复】Ctrl+S 保存和自动保存都应该保持编辑状态\r\n      // 问题：原逻辑只检查 this.isLocalStorageSave，但 Ctrl+S 时 isLocalStorageSave = false\r\n      //      导致编辑状态被清除，编辑内容丢失\r\n      // 解决：使用 isAutoSave 参数来判断，isAutoSave = true 时保持编辑状态\r\n      if(!isAutoSave) {\r\n        this.isEditing = false;\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n      }\r\n\r\n\r\n      // 找到操作目标节点\r\n      const currNode = this.node;\r\n      const id = currNode.data.id;\r\n      let parentNode = this.$refs.tree.getParentNode(id);\r\n      const childNodes = parentNode.childNodes || [];\r\n      let updateType = 'append';\r\n      let targetNode = parentNode;\r\n      if(childNodes.length > 1) {\r\n        childNodes.forEach((node, index) => {\r\n          if(node.data.id === id) {\r\n            if(index === childNodes.length - 1 && childNodes[index - 1]) {\r\n              updateType = 'insertAfter';\r\n              targetNode = childNodes[index - 1];\r\n            }\r\n            else if(childNodes[index + 1]){\r\n              updateType = 'insertBefore';\r\n              targetNode = childNodes[index + 1];\r\n            }\r\n          }\r\n        })\r\n      }\r\n\r\n      // 先删除后，在原来的位置再新增个新的, 如果有下级的，也得带上\r\n      // 【关键修复】Ctrl+S 保存和自动保存都应该保留临时标记\r\n      // 问题：原逻辑判断 this.isLocalStorageSave，但 Ctrl+S 时 isLocalStorageSave = false\r\n      //      导致节点被删除重建时没有保留临时标记（isAdd, isAddTheme 等）\r\n      // 解决：使用 isAutoSave 参数来判断，isAutoSave = true 时保留临时标记\r\n      const children = JSON.parse(JSON.stringify(currNode.data.children || []));\r\n      // 静默保存（自动保存或Ctrl+S）不删除重建节点；手动保存才删除重建\r\n      if(!isAutoSave) {\r\n        this.$refs.tree.remove(id);\r\n        this.$refs.tree[updateType](\r\n          {\r\n            id,\r\n            name: content,\r\n            node: [],\r\n            lock: 2,\r\n            children: children,\r\n          },\r\n          targetNode\r\n        );\r\n      } else {\r\n        // 【静默保存】只更新节点内容，不删除重建，保留所有临时标记\r\n        // 直接修改节点数据，保持编辑状态\r\n        this.$set(currNode.data, 'name', content);\r\n        console.log('[SilentSave] 更新节点内容，保留编辑状态:', id, content);\r\n      }\r\n\r\n      console.log('-------更新tree中的node数据', currNode, content, updateType, from, children);\r\n      console.log(content)\r\n\r\n      // 重新设置当前node对像\r\n      this.setCurrentNode({id}, `${from}后，需重新设置当前node`);\r\n\r\n      //保存到本地\r\n      this.saveMindMap();\r\n    },\r\n\r\n    // 保存子主题\r\n    saveSubTitle(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新子主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    // 增加同级节点\r\n    async addEquative(node, data, e, type) {\r\n      console.log(\"addEquative:\", type)\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n\r\n      // 判断这端是否在编辑，是的话则直接保存完之后添加，不需要先请求其他端是否在编辑\r\n      // if(!this.isLocalStorageSave || (this.isLocalStorageSave && this.isEditing == 'editNode')) {\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.addTreeNode('addEquativeTheme');\r\n          });\r\n        } else {\r\n          this.addTreeNode('addEquativeTheme');\r\n        }\r\n      } else {\r\n        this.addTreeNode('addEquativeTheme');\r\n      }\r\n      // this.triggerSaveInput(() => {\r\n      //   this.addEquative1(this.node, data, e);\r\n      // })\r\n    },\r\n    addEquative1(node, data, e, type) {\r\n      console.log(\"addEquative1:\", type)\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if(!data.id || !this.editOutline) {\r\n        return\r\n      }\r\n\r\n      // 判断这端是否在编辑，是的话则直接保存完之后添加，不需要先请求其他端是否在编辑\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.addTreeNode1('addEquativeTheme');\r\n          });\r\n        } else {\r\n          this.addTreeNode1('addEquativeTheme');\r\n        }\r\n      } else {\r\n        this.addTreeNode1('addEquativeTheme');\r\n      }\r\n    },\r\n    // 如果是在编辑状态的节点，则只保存，并退出编辑状态保留选中状态\r\n    async addTreeNode1(type) {\r\n      try {\r\n        // 阻止blue\r\n      this.setToolsEventing();\r\n\r\n      const currNode = this.node;\r\n      const id = currNode.data.id;\r\n\r\n      console.log(\"addTreeNode11:\", this.selectedData);\r\n      const selectedData = this.selectedData;\r\n      this.isLocalStorageSave = false;\r\n\r\n      // 等先更新完上个文本框内容\r\n      await this.triggerSaveInput(() => {});\r\n      await this.findIsEditTrueNodes(this.datas, true);\r\n\r\n      console.log(\"addTreeNode1:\", this.selectedData);\r\n\r\n      this.operating.isOperating = false;\r\n      this.operating.operate = 5;\r\n      this.selectedData = selectedData;\r\n      this.selectedData.isEdit = false;\r\n      this.selectedData.isAddEquative = false;\r\n      this.setCurrentNode(this.selectedData, '选中：chooseNode1');\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    // 保存同级\r\n    saveEquative(e, isAutoSave) {\r\n      if (e && (e.ctrlKey || e.metaKey)) {\r\n        return;\r\n      }\r\n      if(!this.node) {\r\n        return new Promise(resolve => {\r\n          resolve();\r\n        });\r\n      }\r\n\r\n      this.updateTreeNode(isAutoSave, '更新同级主题内容');\r\n\r\n      return new Promise(resolve => {\r\n        resolve();\r\n      });\r\n    },\r\n    toParse(arr, type = 1) {\r\n      if(arr && typeof arr === 'string') {\r\n        if(arr == '') {\r\n          arr = [];\r\n        } else {\r\n          arr = JSON.parse(arr);\r\n        }\r\n      }\r\n      if(!arr) {\r\n        arr = [];\r\n      }\r\n      console.log(\"toParse:\", this.isLocalStorageSave, arr)\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParse(item[\"node\"], type);\r\n        }\r\n        // if (item.children) {\r\n        //   delete item.children;\r\n        // }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        // if (item.id) {\r\n        //   delete item.id;\r\n        // }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if (item.isAdd !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isAdd;\r\n        }\r\n        if (item.isAddTheme !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isAddTheme;\r\n        }\r\n        if (item.isEdit !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isEdit;\r\n        }\r\n        if(type == 2 && item.isAddEquative !== undefined && !this.isLocalStorageSave) {\r\n          delete item.isAddEquative;\r\n        }\r\n        if(type == 2 && item.id !== undefined && !this.isLocalStorageSave) {\r\n          delete item.id;\r\n        }\r\n        if(type == 2 && item.children !== undefined && !this.isLocalStorageSave) {\r\n          delete item.children;\r\n        }\r\n\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    toParse1(arr) {\r\n      arr.forEach(item => {\r\n        if(!this.isLocalStorageSave) {\r\n          item.isEdit = false;\r\n          item.isShowOp = false;\r\n          item.isAdd = false;\r\n          item.isAddEquative = false;\r\n        }\r\n        if (item.node && Array.isArray(item.node) && item.node.length) {\r\n          item[\"children\"] = [].concat(item.node);\r\n          delete item.node;\r\n        }\r\n        if(item.children && item.children.length) {\r\n          this.toParse1(item.children);\r\n        }\r\n        item.id = item.id || \"id\" + uuidv4();\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    // 删除\r\n    async remove(e) {\r\n      console.log(\"remove:\", this.isEditing)\r\n      if (e) {\r\n        e.preventDefault();\r\n      }\r\n      if (!this.selectedData || !this.selectedData.id) {\r\n        return;\r\n      }\r\n      console.log(\"remove:\", this.isEditing);\r\n      if(!this.isEditing) {\r\n        if(!this.readOnly) {\r\n          // 判断是否有其他端在编辑\r\n          this.getStatus(() => {\r\n            this.removeNode();\r\n          });\r\n        } else {\r\n          this.removeNode();\r\n        }\r\n      } else {\r\n        this.removeNode();\r\n      }\r\n    },\r\n    removeNode() {\r\n      try {\r\n        // 先把删除的node保存在removeNode中，以便撤回，再删除\r\n        this.isEdited = true;\r\n        // 删除节点需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 删除节点，设置 shouldSaveSnapshot = true');\r\n        let node = this.node;\r\n        let parent = this.$refs.tree.getParentNode(node.data.id);\r\n        const childNodes = parent.childNodes;\r\n        const data = parent.data;\r\n        let currIndex;\r\n        (childNodes || []).forEach((item, index) => {\r\n          if(item.id === node.id) {\r\n            currIndex = index;\r\n          }\r\n        })\r\n        const removeNode = {\r\n          node: node,\r\n          parent: parent,\r\n          index: currIndex,\r\n          type: 'removeNode'\r\n        }\r\n        if(this.removeNodes.length >= this.maxWithDrawLength) {\r\n          this.removeNodes.shift();\r\n        }\r\n        this.removeNodes.push(removeNode);\r\n        console.log(\"removeNodes:\", this.removeNodes)\r\n        this.$refs.tree.remove(node.data.id);\r\n\r\n        // 设计isRemoveNodeing标记，阻止触发文本框blur时去更新node内容\r\n        this.isRemoveNodeing = true;\r\n        if(this.timeValueRemoveNode) {\r\n          clearTimeout(this.timeValueRemoveNode)\r\n          this.timeValueRemoveNode = null;\r\n        }\r\n        this.timeValueRemoveNode = setTimeout(() => {\r\n          this.isRemoveNodeing = false;\r\n          clearTimeout(this.timeValueRemoveNode)\r\n          this.timeValueRemoveNode = null;\r\n        }, 500)\r\n        //保存到本地\r\n        this.saveMindMap();\r\n\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n        this.$nextTick(() => {\r\n          this.setFilterNode(parent, data);\r\n          this.selectedData = {};\r\n          this.selectedNode = {};\r\n          this.node = {};\r\n          this.isEditOperating = false;\r\n          console.log('--remove')\r\n        });\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    withdraw() {\r\n      try {\r\n        if (!(this.removeNodes && this.removeNodes.length)) {\r\n          return;\r\n        }\r\n\r\n        const removeNode = this.removeNodes[this.removeNodes.length - 1];\r\n        console.log(\"withdraw removeNode:\", removeNode);\r\n        if(removeNode.type === this.withdrawTypes.removeNode) {\r\n          // 还原删除\r\n          this.redoRemoveNode(removeNode)\r\n        } else if(removeNode.type === this.withdrawTypes.editNode) {\r\n          // 还原编辑\r\n          this.redoUpdateTreeNode(removeNode)\r\n        } else {\r\n          // 还原新增\r\n          this.redoAddTreeNode(removeNode)\r\n        }\r\n\r\n      } catch (error) {\r\n        console.log(error)\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    // 还原新增Tree节点：主题/子主题/同级主题\r\n    async redoAddTreeNode(currentNode) {\r\n      console.log(\"redoAddTreeNode:\", currentNode)\r\n      try {\r\n        // 先把删除的node保存在removeNode中，以便撤回，再删除\r\n        this.isEdited = true;\r\n        let node = currentNode.node;\r\n        let parent = this.$refs.tree.getParentNode(node.id);\r\n        // const childNodes = parent.childNodes;\r\n        const data = parent.data;\r\n        // let currIndex = currentNode.index;\r\n        // (childNodes || []).forEach((item, index) => {\r\n        //   if(item.id === node.id) {\r\n        //     currIndex = index;\r\n        //   }\r\n        // })\r\n        // const removeNode = {\r\n        //   node: node,\r\n        //   parent: parent,\r\n        //   index: currIndex,\r\n        //   type: 'removeNode'\r\n        // }\r\n        // this.removeNodes.push(removeNode);\r\n        // console.log(\"removeNodes:\", this.removeNodes)\r\n        this.$refs.tree.remove(node.id);\r\n\r\n        // 设计isRemoveNodeing标记，阻止触发文本框blur时去更新node内容\r\n        this.isRemoveNodeing = true;\r\n        if(this.timeValueRemoveNode) {\r\n          this.clearTimeout(this.timeValueRemoveNode);\r\n          this.timeValueRemoveNode = null;\r\n        }\r\n        this.timeValueRemoveNode = setTimeout(() => {\r\n          this.isRemoveNodeing = false;\r\n          this.clearTimeout(this.timeValueRemoveNode);\r\n          this.timeValueRemoveNode = null;\r\n        }, 500)\r\n        //保存到本地\r\n        this.saveMindMap();\r\n        this.removeNodes.splice(-1, 1);\r\n\r\n        // this.$set(this.selectedData, \"isShowOp\", false);\r\n        this.$nextTick(() => {\r\n          this.setFilterNode(parent, data);\r\n          this.selectedData = {};\r\n          this.selectedNode = {};\r\n          this.node = {};\r\n          this.isEditOperating = false;\r\n        });\r\n      } catch (error) {\r\n        console.log(\"redoAddTreeNode error----:\", error)\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    // 还原编辑节点内容\r\n    redoUpdateTreeNode(currentNode, from) {\r\n      console.log(\"redoUpdateTreeNode:\", from);\r\n      // 删除时，会触发blur事件，\r\n      if(this.isRemoveNodeing) {\r\n        return;\r\n      }\r\n\r\n      // // 变量设置\r\n      // this.isEdited = true;\r\n      // console.log(\"isLocalStorageSave:\", this.isEdited, this.isLocalStorageSave);\r\n      // // 自动保存不将选中输入框清除\r\n      // if(!this.isLocalStorageSave) {\r\n      //   this.isEditing = false;\r\n      //   this.selectedData = {};\r\n      //   this.selectedNode = {};\r\n      // }\r\n\r\n\r\n      // 找到操作目标节点\r\n      const currNode = currentNode.node;\r\n      const content = currentNode.content;\r\n      const id = currNode.data.id;\r\n      let parentNode = this.$refs.tree.getParentNode(id);\r\n      const childNodes = parentNode.childNodes || [];\r\n      let updateType = 'append';\r\n      let targetNode = parentNode;\r\n      if(childNodes.length > 1) {\r\n        childNodes.forEach((node, index) => {\r\n          if(node.data.id === id) {\r\n            if(index === childNodes.length - 1 && childNodes[index - 1]) {\r\n              updateType = 'insertAfter';\r\n              targetNode = childNodes[index - 1];\r\n            }\r\n            else if(childNodes[index + 1]){\r\n              updateType = 'insertBefore';\r\n              targetNode = childNodes[index + 1];\r\n            }\r\n          }\r\n        })\r\n      }\r\n\r\n      // 先删除后，在原来的位置再新增个新的, 如果有下级的，也得带上\r\n      // 自动保存的不能删除\r\n      const children = JSON.parse(JSON.stringify(currNode.data.children || []));\r\n      // // 自动保存不将选中输入框清除, 但是编辑需要\r\n      // if(!this.isLocalStorageSave || (this.isLocalStorageSave && this.isEditing == 'editNode')) {\r\n\r\n      // }\r\n      this.$refs.tree.remove(id);\r\n      this.$refs.tree[updateType](\r\n        {\r\n          id,\r\n          name: content,\r\n          node: [],\r\n          lock: 2,\r\n          children: children,\r\n        },\r\n        targetNode\r\n      );\r\n\r\n      console.log('-------更新tree中的node数据', currNode, content, updateType, from, children);\r\n      console.log(content)\r\n      this.removeNodes.splice(-1, 1);\r\n\r\n      // // 重新设置当前node对像\r\n      // this.setCurrentNode({id}, `${from}后，需重新设置当前node`);\r\n\r\n      //保存到本地\r\n      this.saveMindMap();\r\n    },\r\n    // 还原删除节点\r\n    redoRemoveNode(removeNode) {\r\n      const index = removeNode.index;\r\n      const parent = removeNode.parent;\r\n\r\n      let parentNode = null;//parent\r\n      if (parent.level === 0) {\r\n        parentNode = parent;\r\n      } else {\r\n        parentNode = this.$refs.tree.getNode(parent.data.id);\r\n      }\r\n      const childNodes = parentNode.childNodes;\r\n      console.log(\"withdraw:\", removeNode);\r\n      if (parentNode) {\r\n        if (index === childNodes.length) {\r\n          this.$refs.tree.append(removeNode.node.data, parentNode);\r\n        } else if (childNodes.length >= 1) {\r\n          // 如果是节点个数大于1，找到后面一个元素\r\n          const lastNode = childNodes[index];\r\n          this.$refs.tree.insertBefore(removeNode.node.data, lastNode);\r\n        }\r\n        //保存到本地\r\n        this.saveMindMap();\r\n      }\r\n\r\n      this.$nextTick(() => {\r\n        // 父节点\r\n        this.setFilterNode(parentNode, parentNode.data);\r\n        // 本节点\r\n        this.setFilterNode(removeNode.node, removeNode.node.data);\r\n        // 子节点遍历\r\n        let childNodes = removeNode.node.childNodes;\r\n        childNodes.forEach(item => {\r\n          this.setFilterNode1(item, item.data);\r\n        });\r\n        this.selectedData = {};\r\n        this.selectedNode = {};\r\n        this.removeNodes.splice(-1, 1);\r\n\r\n        console.log('--withdraw')\r\n      });\r\n    },\r\n    setCollapseHeight(node, offsetHeightO) {\r\n      if (node && node.level === 1) {\r\n        return;\r\n      }\r\n      let parentNode = node.parent;\r\n      let dom = document.getElementById(node.data.id);\r\n      let selector = \"#\" + node.data.id + \"::before\";\r\n      // 收起，重新设置高度\r\n      let parent = dom.parentNode;\r\n      let prevParent = parent.parentNode;\r\n      let offsetHeight = prevParent.offsetHeight - 28;\r\n      //js代码，支持IE\r\n      document.styleSheets[0].addRule(\r\n        selector,\r\n        \"height: \" + offsetHeight + \"px;\"\r\n      );\r\n      //支持非IE的现代浏览器\r\n      document.styleSheets[0].insertRule(\r\n        selector + \" { height: \" + offsetHeight + \"px; }\",\r\n        0\r\n      );\r\n      this.setCollapseHeight(parentNode);\r\n    },\r\n    setFilterNode(node, data, collapse, idName) {\r\n      let name = \"textarea\";\r\n      if (idName) {\r\n        name = idName;\r\n      }\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n      }\r\n      const childNodes = node.childNodes;\r\n      let flag = true;\r\n      if (childNodes.length <= 0) {\r\n        flag = false;\r\n      }\r\n      if (flag) {\r\n        this.$set(data, \"class\", \"isVertival\");\r\n      }\r\n      this.$nextTick(() => {\r\n        // if (this.$refs[name + this.selectedData.id]) {\r\n        //   this.$refs[name + this.selectedData.id].resizeTextarea();\r\n        // }\r\n        if (this.$refs[name + data.id]) {\r\n          if (name !== \"textarea\") {\r\n            this.$refs[name + data.id].resizeTextarea();\r\n          }\r\n          let dom = document.getElementById(data.id);\r\n          let timeout = null;\r\n          if (dom) {\r\n            let parent = dom.parentNode;\r\n            let prevParent = parent.parentNode;\r\n            let classList = parent.classList;\r\n            // 没有子节点或者收起,要把isVertival去掉\r\n            if (classList.contains(\"isVertival\") && !flag) {\r\n              parent.classList.remove(\"isVertival\");\r\n              // if(classList.contains('isVertivall' + node.level)) {\r\n              //   parent.classList.remove('isVertivall' + node.level);\r\n              // }\r\n            } else if (!classList.contains(\"isVertival\") && flag) {\r\n              parent.classList.add(\"isVertival\");\r\n            }\r\n            // if(node.level >= 4 && classList.contains('isVertival')&& !collapse) {\r\n            //   parent.classList.add('isVertivall' + node.level);\r\n            // }\r\n            // if (classList.contains(\"is-expanded\")) {\r\n            //   prevParent.classList.remove(\"is-expanded\");\r\n            // }\r\n\r\n          }\r\n        }\r\n      });\r\n      this.$set(data, \"hasVertical\", flag);\r\n    },\r\n    filterNode(value, data, node) {\r\n      let lenObj = {\r\n        len: 0\r\n      };\r\n      this.$set(data, \"isShowOp\", false);\r\n      if (node.level === 1) {\r\n        data.hasVertical = true;\r\n        this.$set(data, \"class\", \"\");\r\n      } else if (node.level >= 2) {\r\n        const childNodes = node.childNodes;\r\n        let flag = true;\r\n        if (childNodes.length <= 0) {\r\n          flag = false;\r\n        }\r\n        if (flag) {\r\n          this.$set(data, \"class\", \"isVertival\");\r\n        }\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"textarea\" + data.id]) {\r\n            // this.$refs[\"textarea\" + data.id].resizeTextarea();\r\n            let dom = document.getElementById(data.id);\r\n            if (dom && node.level > 1) {\r\n              let parent = dom.parentNode;\r\n              let prevParent = parent.parentNode;\r\n              let classList = parent.classList;\r\n              // 没有子节点,要把isVertival去掉\r\n              if (classList.contains(\"isVertival\") && !flag) {\r\n                parent.classList.remove(\"isVertival\");\r\n              } else if (!classList.contains(\"isVertival\") && flag) {\r\n                parent.classList.add(\"isVertival\");\r\n              }\r\n              // if (node.level >= 4 && classList.contains(\"isVertival\")) {\r\n              //   parent.classList.add(\"isVertivall\" + node.level);\r\n              // }\r\n            }\r\n          }\r\n        });\r\n        this.$set(data, \"hasVertical\", flag);\r\n      }\r\n      return true;\r\n    },\r\n    getMaxDescendantLayers(node) {\r\n      if (!node.childNodes || node.childNodes.length === 0) {\r\n          return 0; // 无子节点时深度为0\r\n      }\r\n      let maxDepth = 0;\r\n      for (const child of node.childNodes) {\r\n          const childDepth = this.getMaxDescendantLayers(child);\r\n          if (childDepth > maxDepth) {\r\n              maxDepth = childDepth;\r\n          }\r\n      }\r\n      return maxDepth + 1; // 当前层深度 = 子节点最大深度 + 1\r\n    },\r\n    getChildrenLen(node, lenObj) {\r\n      const childNodes = node.childNodes;\r\n      lenObj.len += childNodes.length;\r\n      childNodes.forEach(item => {\r\n        if (item.childNodes.length > 0) {\r\n          this.getChildrenLen(item, lenObj);\r\n        }\r\n      });\r\n    },\r\n    nodeCollapse(data, node, data1) {\r\n\r\n    },\r\n    nodeCollapse1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, true);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    isInPad() {\r\n      const isIPad = /iPad/.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);\r\n      const userAgent = window.navigator.userAgent;\r\n      const isHuaweiTablet = /Huawei/.test(userAgent);\r\n      return isIPad || isHuaweiTablet;\r\n    },\r\n    nodeExpand(data, node, data1) {\r\n      this.triggerSaveInput(() => {\r\n      })\r\n    },\r\n    nodeExpand1(node) {\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   this.setFilterNode(node, node.data, false);\r\n      //   clearTimeout(timeout);\r\n      // });\r\n    },\r\n    handleDragStart(node, ev) {\r\n      if(!node.isAdd && node.isAddTheme) {\r\n        // 添加主题按钮\r\n        return\r\n      }\r\n      if(this.selectedData && this.selectedData.isShowOp) {\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n      }\r\n      // 之前的父节点\r\n      let timeout3 = null;\r\n      timeout3 = setTimeout(() => {\r\n        this.dragNodeParPrev = node.parent;\r\n        // this.setFilterNode(parent, parent.data);\r\n        clearTimeout(timeout3);\r\n      });\r\n      // if(!this.readOnly) {\r\n      //   this.getStatus(() => {\r\n      //   })\r\n      // } else {\r\n      //    // 之前的父节点\r\n      //    let timeout3 = null;\r\n      //   timeout3 = setTimeout(() => {\r\n      //     this.dragNodeParPrev = node.parent;\r\n      //     // this.setFilterNode(parent, parent.data);\r\n      //     clearTimeout(timeout3);\r\n      //   });\r\n      // }\r\n      // this.draggingNode = node;\r\n    },\r\n    handleDragEnter(draggingNode, dropNode, ev) {\r\n\r\n    },\r\n    handleDragLeave(draggingNode, dropNode, ev) {\r\n    },\r\n    handleDragOver(draggingNode, dropNode, ev) {\r\n      if(this.selectedData && this.selectedData.isShowOp) {\r\n        this.$set(this.selectedData, \"isShowOp\", false);\r\n      }\r\n    },\r\n    handleDragEnd(draggingNode, dropNode, dropType, ev) {\r\n      if(!dropNode) {\r\n        return;\r\n      }\r\n\r\n      // 同步检查（快速失败）\r\n      if(this.status == 1 && !this.isMyselfEditing) {\r\n        this.$message.warning('其他端正在编辑，拖动操作已取消');\r\n        return;\r\n      }\r\n\r\n      // 参考编辑节点的锁检查模式：异步校验协作状态\r\n      this.getStatus(() => {\r\n        // 锁检查通过，保存拖动结果\r\n        // 拖拽节点需要保存快照\r\n        this.shouldSaveSnapshot = true;\r\n        console.log('[History] 拖拽节点，设置 shouldSaveSnapshot = true');\r\n        this.$nextTick(() => {\r\n          // 之前的父节点\r\n          this.setFilterNode(this.dragNodeParPrev, this.dragNodeParPrev.data);\r\n          //保存到本地\r\n          this.saveMindMap();\r\n          let timeout1 = null;\r\n          let timeout2 = null;\r\n          let timeout4 = null;\r\n          // 本节点\r\n          timeout1 = setTimeout(() => {\r\n            this.setFilterNode(draggingNode, draggingNode.data);\r\n            clearTimeout(timeout1);\r\n          });\r\n          // 子节点遍历重置样式\r\n          timeout4 = setTimeout(() => {\r\n            let childNodes = draggingNode.childNodes;\r\n            childNodes.forEach(item => {\r\n              this.setFilterNode1(item, item.data);\r\n            });\r\n            clearTimeout(timeout4);\r\n          });\r\n          // 现在的父节点\r\n          timeout2 = setTimeout(() => {\r\n            if(dropNode.data) {\r\n              this.setFilterNode(dropNode, dropNode.data);\r\n            }\r\n            clearTimeout(timeout2);\r\n            this.isMyselfEditing = false;\r\n            console.log(\"isMyselfEditing = false\");\r\n          });\r\n        });\r\n      });\r\n    },\r\n    handleDrop(draggingNode, dropNode, dropType, ev) {\r\n\r\n    },\r\n    allowDrop(draggingNode, dropNode, type) {\r\n      try {\r\n        if(!draggingNode.data.isAdd && draggingNode.data.isAddTheme) {\r\n          // 添加主题按钮\r\n          return\r\n        }\r\n        let editOutline = this.getEditOutline();\r\n        if (!editOutline || (this.status == 1 && !this.isMyselfEditing)) {\r\n          return false;\r\n        } else {\r\n          // 拖拽最多只能5层级\r\n          const maxDescendant = this.getMaxDescendantLayers(draggingNode)\r\n          console.log(\"allowDrop:\", dropNode.level, type, maxDescendant);\r\n          if (type == \"inner\" && maxDescendant >= this.maxLevel - dropNode.level) {\r\n            return false;\r\n          } else if (type !== \"inner\" && maxDescendant > this.maxLevel - dropNode.level) {\r\n            return false;\r\n          } else {\r\n            return true;\r\n          }\r\n        }\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n    },\r\n    async allowDrag(draggingNode) {\r\n      try {\r\n        console.log(\"allowDrag\")\r\n        let editOutline = this.getEditOutline();\r\n        if(!editOutline || draggingNode.data.isAddTheme) {\r\n          return false;\r\n        }\r\n        if (\r\n          this.selectedData &&\r\n          this.selectedData.id === draggingNode.data.id &&\r\n          this.selectedData.isEdit\r\n        ) {\r\n          return false;\r\n        }\r\n        return new Promise((resolve) => {\r\n          // 保存resolve函数供外部调用\r\n          this.resolveDrag = resolve;\r\n          this.getStatus();\r\n        });\r\n      } catch (error) {\r\n        this.setStatus(2)\r\n      }\r\n\r\n    },\r\n    handleKeyDown(e) {\r\n      // ============================================================\r\n      // 编辑态互斥锁：输入框获得焦点时，拦截影响导图结构的快捷键\r\n      // 允许：Ctrl+C/V/X (复制/粘贴/剪切)、方向键、Enter(确认)、Esc(取消)\r\n      // 拦截：Ctrl+Z/Y/S、Delete、Ctrl+D、Cmd+Backspace\r\n      // ============================================================\r\n      if (this.isEditingNode) {\r\n        const key = e.key.toLowerCase();\r\n        const isCtrlOrCmd = e.ctrlKey || e.metaKey;\r\n\r\n        // 拦截 Ctrl/Cmd + Z (撤销) - 不含 Shift\r\n        if (isCtrlOrCmd && key === 'z' && !e.shiftKey) {\r\n          e.preventDefault();\r\n          e.stopPropagation();\r\n          this.showEditingLockedToast();\r\n          return;\r\n        }\r\n\r\n        // 拦截 Ctrl/Cmd + Shift + Z (重做) 或 Ctrl/Cmd + Y\r\n        if ((isCtrlOrCmd && e.shiftKey && key === 'z') || (isCtrlOrCmd && key === 'y')) {\r\n          e.preventDefault();\r\n          e.stopPropagation();\r\n          this.showEditingLockedToast();\r\n          return;\r\n        }\r\n\r\n        // // 拦截 Ctrl/Cmd + S (保存)\r\n        // if (isCtrlOrCmd && key === 's') {\r\n        //   e.preventDefault();\r\n        //   e.stopPropagation();\r\n        //   this.showEditingLockedToast();\r\n        //   return;\r\n        // }\r\n\r\n        // // 拦截 Ctrl + D (删除节点 - Win)\r\n        // if (e.ctrlKey && key === 'd') {\r\n        //   e.preventDefault();\r\n        //   e.stopPropagation();\r\n        //   this.showEditingLockedToast();\r\n        //   return;\r\n        // }\r\n\r\n        // // 拦截 Cmd + Backspace (删除节点 - Mac)\r\n        // if (e.metaKey && key === 'backspace') {\r\n        //   e.preventDefault();\r\n        //   e.stopPropagation();\r\n        //   this.showEditingLockedToast();\r\n        //   return;\r\n        // }\r\n\r\n        // 注意：Delete 键在输入框中用于删除文字，不拦截\r\n        // 注意：Ctrl+C/V/X 用于复制粘贴，不拦截\r\n        // 注意：Enter/Esc 用于确认/取消编辑，不拦截\r\n      }\r\n\r\n      // 删除win\r\n      if (e.ctrlKey && e.key.toLowerCase() === \"d\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n      // 删除mac\r\n      if (e.metaKey && e.key.toLowerCase() === \"backspace\") {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.remove(e);\r\n      }\r\n\r\n      // 复制win:非编辑状态\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        !this.editOutline && this.copyData.id\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy(this.copyData, this.copyData, e)\r\n      }\r\n      // 复制win：编辑状态\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.isEditing\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n       this.copy1(this.node, this.editingData, e);\r\n      }\r\n      // 复制mac:非编辑状态\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        !this.editOutline && this.copyData.id\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy(this.copyData, this.copyData, e)\r\n      }\r\n      // 复制mac：编辑状态\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"c\" &&\r\n        this.isEditing\r\n      ) {\r\n        // e.preventDefault(); // 取消浏览器原有的操作\r\n        this.copy1(this.node, this.editingData, e);\r\n      }\r\n      // 粘贴win\r\n      // if (\r\n      //   e.ctrlKey &&\r\n      //   e.key.toLowerCase() === \"v\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   // e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.paste(this.node, this.editingData, e);\r\n      // }\r\n      // // 粘贴mac\r\n      // if (\r\n      //   e.metaKey &&\r\n      //   e.key.toLowerCase() === \"v\" &&\r\n      //   this.isEditing\r\n      // ) {\r\n      //   // e.preventDefault(); // 取消浏览器原有的操作\r\n      //   this.paste(this.node, this.editingData, e);\r\n      // }\r\n\r\n      // 剪切win\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"x\" &&\r\n        this.isEditing\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.cut(this.node, this.editingData, e);\r\n      }\r\n      // 剪切mac\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"x\" &&\r\n        this.isEditing\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.cut(this.node, this.editingData, e);\r\n      }\r\n      // 换行 mac: meta + enter\r\n      if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.metaKey &&\r\n        this.isEditing\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.editingData && this.editingData.id);\r\n      }\r\n      // 换行 win: ctrl + enter\r\n      else if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        e.ctrlKey &&\r\n        this.isEditing\r\n      ) {\r\n        // 编辑\r\n        this.insertNewline(e, this.editingData && this.editingData.id);\r\n      }\r\n      // 新增同级节点win、mac\r\n      else if (\r\n        e.key.toLowerCase() === \"enter\" &&\r\n        !e.ctrlKey &&\r\n        !e.metaKey\r\n      ) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        // 如果是在编辑状态，则需要先保存节点，然后保持选中状态，如果不是在编辑状态，则直接新增同级节点\r\n        console.log(\"enter:\", this.selectedData.id, this.selectedData.isEdit, this.operating.isOperating)\r\n        if(this.selectedData.id && !this.selectedData.isEdit && !this.operating.isOperating) {\r\n          this.addEquative(this.node, this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, e);\r\n        } else {\r\n          this.addEquative1(this.node, this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, e);\r\n        }\r\n      }\r\n      // 新增子节点win、mac\r\n      else if (e.key.toLowerCase() === \"tab\") {\r\n        console.log('tab:', this.selectedData, this.node)\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.append(this.selectedData && this.selectedData.id ? this.selectedData : this.editingData, this.node, e);\r\n      }\r\n\r\n      // 保存win,编辑状态才可以保存\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"s\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        // 【Ctrl+S 保存】显示 loading 和保存成功提示，但保持编辑状态\r\n        // 传入 false 显示 loading，但设置 _isCtrlSave 标记保持编辑状态\r\n        this._isCtrlSave = true;\r\n        this.submitSave(false);\r\n        this.setSaveTimeout();\r\n      }\r\n      // 保存mac,编辑状态才可以保存\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"s\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        // 【Cmd+S 保存】同上\r\n        this._isCtrlSave = true;\r\n        this.submitSave(false);\r\n        this.setSaveTimeout();\r\n      }\r\n\r\n      // win撤销上一步,编辑状态才可以\r\n      if (\r\n        e.ctrlKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline &&\r\n        !e.shiftKey\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"undo\")\r\n      }\r\n      // mac撤销上一步,编辑状态才可以\r\n      if (\r\n        e.metaKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline &&\r\n        !e.shiftKey\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"undo\")\r\n      }\r\n\r\n      // win重做 (Ctrl+Shift+Z)\r\n      if (\r\n        e.ctrlKey &&\r\n        e.shiftKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"redo\")\r\n      }\r\n      // mac重做 (Cmd+Shift+Z)\r\n      if (\r\n        e.metaKey &&\r\n        e.shiftKey &&\r\n        e.key.toLowerCase() === \"z\" &&\r\n        this.editOutline\r\n      ) {\r\n        e.preventDefault(); // 取消浏览器原有的操作\r\n        this.$emit(\"redo\")\r\n      }\r\n\r\n      // // 保存win\r\n      // if (e.ctrlKey && e.key.toLowerCase() === \"s\") {\r\n      //   e.preventDefault(); // 取消浏览器原有的操作\r\n      // }\r\n      // // 保存mac\r\n      // if (e.metaKey && e.key.toLowerCase() === \"s\") {\r\n      //   e.preventDefault(); // 取消浏览器原有的操作\r\n      // }\r\n\r\n    },\r\n    // 编辑态互斥锁：显示锁定提示\r\n    showEditingLockedToast() {\r\n      this.$message.warning('请先完成当前节点的编辑后再执行此操作');\r\n    },\r\n    handleKeyUp(e) {\r\n\r\n    },\r\n    handleGetMessage(event) {\r\n      if (event.data.status === \"ok\") {\r\n\r\n      }\r\n    },\r\n    scrollOutline(e) {\r\n      const myMindOutline = document.getElementById(this.myMindOutlineId);\r\n      const scrollTop = myMindOutline.scrollTop;\r\n\r\n      // 大纲模式时\r\n      this.$emit(\"scrollOutline\", scrollTop);\r\n    },\r\n    setSelectedBox() {\r\n      const $overflowAutoBox = this.$refs.box;\r\n      let boxOffset, offset, top;\r\n      boxOffset = $overflowAutoBox.getBoundingClientRect();\r\n      const parentOffset = $overflowAutoBox.parentNode.getBoundingClientRect();\r\n      offset = this.selectedDom.target ? this.selectedDom.target.getBoundingClientRect() : null;\r\n      // ios输入时\r\n      if(window.scrollY > 100) {\r\n        top = offset.y + window.scrollY;\r\n        this.$refs.operateRef.style.top = top + 'px';\r\n      }\r\n      else {\r\n        top = offset.y;\r\n        this.$refs.operateRef.style.top = top + 'px';\r\n      }\r\n      if(offset.y < boxOffset.y - 20) {\r\n        this.$refs.operateRef.style.display = 'none';\r\n      }\r\n      else {\r\n        this.$refs.operateRef.style.display = '';\r\n      }\r\n      this.$refs.operateRef.style.position = 'fixed';\r\n      this.$refs.operateRef.style.width = offset.width + 'px';\r\n      this.$refs.operateRef.style.opacity = 1;\r\n      this.$refs.operateRef.style.left = offset.x + 'px';\r\n      this.$refs.operateRef.setAttribute('class', 'operates-wrapper');\r\n    },\r\n    setSelectedBoxPosition() {\r\n      if(this.$refs.operateRef) {\r\n        this.setSelectedBox();\r\n        return;\r\n      }\r\n      setTimeout(() => {\r\n        if(!this.$refs.operateRef || !(this.selectedDom && this.selectedDom.target)) {\r\n          return;\r\n        }\r\n        this.setSelectedBox();\r\n      }, 100)\r\n    },\r\n    bindBoxScroll() {\r\n      //throttle(this.scrollOutline, 50);\r\n      this.setSelectedBoxPosition();\r\n    },\r\n    bindWindowScroll() {\r\n      //throttle(this.scrollOutline, 50);\r\n      setTimeout(() => {\r\n          this.setSelectedBoxPosition();\r\n      }, 300)\r\n    },\r\n    disibledDocumentClick() {\r\n      this.isDisibledDocumentClick = true;\r\n      this.setTimeValueDocumentClick = setTimeout(() => {\r\n        this.isDisibledDocumentClick = false;\r\n      }, 500)\r\n    },\r\n    handleDocumentClick() {\r\n      console.log(\"handleDocumentClick:\", this.isEditing, this.isDisibledDocumentClick)\r\n      if(this.isDisibledDocumentClick) {\r\n        return;\r\n      }\r\n      if(this.isEditing) {\r\n        return;\r\n      }\r\n      this.selectedData = {};\r\n      this.selectedNode = {};\r\n      this.node = {};\r\n      this.editingData = {};\r\n      this.copyData = {};\r\n    },\r\n    bindDocumentEvents(type) {\r\n      if(type === 'bind') {\r\n        if(this.timeValueBindEvents) {\r\n          this.clearTimeout(this.timeValueBindEvents);\r\n          this.timeValueBindEvents = null;\r\n        }\r\n        this.timeValueBindEvents = setTimeout(() => {\r\n          document.addEventListener(\"keyup\", this.handleKeyUp);\r\n          document.addEventListener(\"keydown\", this.handleKeyDown);\r\n          document.addEventListener(\"click\", this.handleDocumentClick);\r\n          this.clearTimeout(this.timeValueBindEvents);\r\n          this.timeValueBindEvents = null;\r\n        }, 100)\r\n      }\r\n      else {\r\n        document.removeEventListener(\"keyup\", this.handleKeyUp);\r\n        document.removeEventListener(\"keydown\", this.handleKeyDown);\r\n        document.removeEventListener(\"click\", this.handleDocumentClick);\r\n      }\r\n\r\n    },\r\n    async compareLocalAndServe() {\r\n      console.log(\"compareLocalAndServe - 静默比对数据\");\r\n      // 数据比对场景：后台静默比对本地与数据库差异，不显示 Loading\r\n      const res = await getMindmap({ course_id: this.course_id }, { silent: true });\r\n      if (res && res.code === 0) {\r\n        const dataServer = res.data[0];\r\n        if(dataServer) {\r\n          const mindmap_content = dataServer.mindmap_content;\r\n          let mindMap = {};\r\n          if (typeof this.mindMap === \"string\") {\r\n            mindMap = JSON.parse(this.mindMap);\r\n          } else {\r\n            mindMap = this.mindMap;\r\n            // mindMap = deepClone(this.mindMap);\r\n          }\r\n          const mindmap_content_draft = mindMap.mindmap_content;\r\n          // const cacheString = getMindMapLo(this.course_id, this.user.user_id)\r\n          // ? getMindMapLo(this.course_id, this.user.user_id)\r\n          // : \"\";\r\n          // let mindmap = \"\";\r\n          // if(cacheString) {\r\n          //   const cacheJSON = JSON.parse(cacheString);\r\n          //   console.log(\"cacheJSON:\", cacheJSON);\r\n          //   const data = cacheJSON.data;\r\n          //   console.log(\"data:\", data);\r\n          //   mindmap = data.mindmap_content;\r\n          //   console.log(\"本地：\", mindmap);\r\n          // }\r\n\r\n          if(mindmap_content &&  mindmap_content_draft) {\r\n            const compare = await this.areNamesEqual(JSON.parse(mindmap_content), JSON.parse(mindmap_content_draft));\r\n            console.log(\"compare:\", compare);\r\n            return compare;\r\n          } else if(!mindmap_content && (typeof mindmap_content_draft === 'string' && mindmap_content_draft && mindmap_content_draft !== '[]')) {\r\n            return false;\r\n          } else {\r\n            return true;\r\n          }\r\n\r\n        } else {\r\n          return true;\r\n        }\r\n\r\n      }\r\n    },\r\n    areNamesEqual(arr1, arr2) {\r\n      if (arr1.length !== arr2.length) {\r\n        return false;\r\n      }\r\n\r\n      for (let i = 0; i < arr1.length; i++) {\r\n        if (!this.compareNames(arr1[i], arr2[i])) {\r\n          return false;\r\n        }\r\n      }\r\n\r\n      return true;\r\n    },\r\n    compareNames(serveMindMap, localMindMap) {\r\n        if (serveMindMap.name !== localMindMap.name) {\r\n        return false;\r\n      }\r\n\r\n      if (serveMindMap.node && localMindMap.node) {\r\n        if (serveMindMap.node.length !== localMindMap.node.length) {\r\n          return false;\r\n        }\r\n\r\n        for (let i = 0; i < serveMindMap.node.length; i++) {\r\n          if (!this.compareNames(serveMindMap.node[i], localMindMap.node[i])) {\r\n            return false;\r\n          }\r\n        }\r\n      }\r\n\r\n      return true;\r\n    }\r\n  },\r\n  created() {\r\n    this.bindDocumentEvents('bind');\r\n    // window.addEventListener('scroll', this.bindWindowScroll);\r\n  },\r\n  destroyed() {\r\n    this.bindDocumentEvents('remove');\r\n    // window.removeEventListener('scroll', this.bindWindowScroll);\r\n    const $overflowAutoBox = this.$refs.box;\r\n    if($overflowAutoBox) {\r\n      $overflowAutoBox.removeEventListener(\"scroll\", this.bindBoxScroll);\r\n    }\r\n\r\n    // [状态死锁修复] 清理超时定时器，防止内存泄漏\r\n    this.clearGetStatusTimeout();\r\n  },\r\n  mounted() {\r\n    try {\r\n      const $overflowAutoBox = this.$refs.box;\r\n      $overflowAutoBox.addEventListener(\"scroll\", this.bindBoxScroll);\r\n    } catch (error) {\r\n\r\n    }\r\n\r\n    if (this.courseBase) {\r\n      this.course_name = this.courseBase.course_name;\r\n    } else {\r\n      this.course_name = \"\";\r\n    }\r\n    this.init();\r\n    this.$nextTick(() => {\r\n      this.$refs && this.$refs.tree && this.$refs.tree.filter(1);\r\n    });\r\n    if(this.isBindEventBus) {\r\n      EventBus.$on(\"MIND_OUTLINE_SAVE\", async whiteCom => {\r\n        console.log(`MyMindOutline MIND_OUTLINE_SAVE${this.editOutline},${this.isEnterMindSave}`)\r\n        if(this.readOnly) {\r\n          return;\r\n        }\r\n        if(this.isEditing) {\r\n          this.triggerBlur(this.isEditing);\r\n        }\r\n        if(this.editOutline) {\r\n          // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n          const same = await this.compareLocalAndServe();\r\n          if (!same) {\r\n            this.whiteCom = whiteCom;\r\n            this.dialogVisibleCon = true;\r\n            // 消除自动保存事件\r\n            if (this.timer) {\r\n              clearTimeout(this.timer);\r\n              this.timer = null;\r\n            }\r\n          } else {\r\n            EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n          }\r\n        } else {\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n        }\r\n      });\r\n\r\n      // 去黑牌\r\n      EventBus.$on(\"goBlack\", async () => {\r\n        if(this.whiteComStore == \"Mind\") {\r\n          this.isGoblack = true;\r\n          if(this.isEditing) {\r\n            this.triggerBlur(this.isEditing);\r\n          }\r\n          // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n          const same = await this.compareLocalAndServe();\r\n          if (!same) {\r\n            this.dialogVisibleCon = true;\r\n            // 消除自动保存事件\r\n            if (this.timer) {\r\n              clearTimeout(this.timer);\r\n              this.timer = null;\r\n            }\r\n          } else {\r\n            EventBus.$emit(\"goBlackConfirmed\");\r\n          }\r\n        }\r\n      });\r\n\r\n      // 去二级页面\r\n      EventBus.$on(\"toPage\", async () => {\r\n        if(this.whiteComStore == \"Mind\") {\r\n          this.isToPage = true;\r\n          if(this.isEditing) {\r\n            this.triggerBlur(this.isEditing);\r\n          }\r\n          // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n          const same = await this.compareLocalAndServe();\r\n          if (!same) {\r\n            this.dialogVisibleCon = true;\r\n            this.whiteCom = 'toPage'\r\n            // 消除自动保存事件\r\n            if (this.timer) {\r\n              clearTimeout(this.timer);\r\n              this.timer = null;\r\n            }\r\n          } else {\r\n            EventBus.$emit(\"toPageConfirmed\");\r\n          }\r\n        }\r\n      });\r\n    }\r\n\r\n    // 获取当前导图编辑状态\r\n    EventBus.$on('nowstatus', () => {\r\n      console.log(\"[nowstatus] 收到状态响应，status:\", this.status, \"isMyselfEditing:\", this.isMyselfEditing);\r\n\r\n      // 清除超时定时器\r\n      this.clearGetStatusTimeout();\r\n\r\n      console.log(\"this.resolveDrag:\", this.resolveDrag == null);\r\n      if(this.resolveDrag) {\r\n        if((this.status == 1 && !this.isMyselfEditing) || this.readOnly) {\r\n          this.resolveDrag(false);\r\n          this.resolveDrag = null;\r\n          this.isGettingStatus = false;\r\n          return;\r\n        }\r\n        this.isMyselfEditing = true;\r\n        this.resolveDrag(true);\r\n        this.resolveDrag = null;\r\n        this.isGettingStatus = false;\r\n        return;\r\n      }\r\n      if(this.status == 1 && !this.isMyselfEditing) {\r\n        console.log(\"[nowstatus] 其他端正在编辑\");\r\n        this.isMyselfEditing = false;\r\n        console.log(\"isMyselfEditing = false\");\r\n        // 清除未执行的回调，避免过时执行\r\n        if (this.callbackFn) {\r\n          console.log(\"[MyMindOutline] 其他端正在编辑，清除待处理回调\");\r\n          this.callbackFn = null;\r\n        }\r\n        // 清除 pendingAction（其他端正在编辑）\r\n        if (this.pendingAction) {\r\n          console.log(\"[MyMindOutline] 其他端正在编辑，清除 pendingAction\");\r\n          this.clearPendingAction('other_device_editing');\r\n        }\r\n        this.$message.warning(\"其他端正在编辑中,当前用户不能编辑\");\r\n      } else {\r\n        // 锁解除了，尝试执行 pendingAction\r\n        if (this.pendingAction) {\r\n          const executed = this.validateAndExecutePendingAction();\r\n          if (executed) {\r\n            this.setStatus(1);\r\n          }\r\n        } else if(this.callbackFn) {\r\n          // 兼容旧的 callbackFn 机制\r\n          console.log(\"[MyMindOutline] 执行待处理回调\");\r\n          try {\r\n            this.callbackFn();\r\n          } catch (error) {\r\n            console.error(\"[MyMindOutline] 回调执行失败:\", error);\r\n          }\r\n          this.callbackFn = null;\r\n          this.setStatus(1);\r\n        }\r\n        console.log(\"isEditing：\", this.isEditing)\r\n      }\r\n      this.isGettingStatus = false;\r\n    });\r\n\r\n    EventBus.$on('updatesuccess', () => {\r\n      console.log(\"[updatesuccess] 收到更新成功消息, _wasAutoSave:\", this._wasAutoSave, \"_isCtrlSave:\", this._isCtrlSave);\r\n\r\n      // ============================================================\r\n      // 【关键修复】Ctrl+S 和自动保存后都不应该重置编辑状态\r\n      // - Ctrl+S：显示 loading 和保存成功提示，但保持编辑状态\r\n      // - 自动保存：完全静默，保持编辑状态\r\n      // ============================================================\r\n\r\n      // ============================================================\r\n      // [状态清理] 重置可能卡住的状态（但不影响编辑状态）\r\n      // ============================================================\r\n      this.isGettingStatus = false;\r\n      this.clearGetStatusTimeout();\r\n\r\n      if (this.callbackFn) {\r\n        console.log(\"[updatesuccess] 清除残留的 callbackFn\");\r\n        this.callbackFn = null;\r\n      }\r\n\r\n      if (this.operating && this.operating.isOperating) {\r\n        console.log(\"[updatesuccess] 重置 operating.isOperating\");\r\n        this.operating.isOperating = false;\r\n      }\r\n\r\n      // 【修复】Ctrl+S 或自动保存完成后恢复编辑状态\r\n      if(this._wasAutoSave && this._savedEditingState) {\r\n        console.log('[SaveComplete] 恢复编辑状态');\r\n        this.restoreEditingState();\r\n        if(this.isEditing) {\r\n          this.setStatus(1);\r\n          console.log('[SaveComplete] 恢复编辑权，status=1');\r\n        }\r\n        console.log('[SaveComplete] 恢复完成，isMyselfEditing:', this.isMyselfEditing, 'isEditing:', this.isEditing);\r\n      }\r\n\r\n      // 【关键】清除标记，延迟重置防止 init 被触发\r\n      if(this._wasAutoSave || this._isCtrlSave) {\r\n        this._savedEditingState = null;\r\n        this.isLocalStorageSave = false;\r\n        // 【关键修复】延迟重置标记，确保 dataPro watcher 和 init 不会被触发\r\n        setTimeout(() => {\r\n          this._wasAutoSave = false;\r\n          this._isCtrlSave = false;\r\n          console.log('[SaveComplete] _wasAutoSave 和 _isCtrlSave 重置为 false');\r\n        }, 2000);\r\n      }\r\n\r\n      // 【修复】重新设置自动保存定时器\r\n      this.resetAutoSaveTimer();\r\n\r\n      // 诊断日志\r\n      console.log('[状态诊断] updatesuccess 后状态:', {\r\n        isMyselfEditing: this.isMyselfEditing,\r\n        isEditing: this.isEditing,\r\n        isLocalStorageSave: this.isLocalStorageSave,\r\n        _wasAutoSave: this._wasAutoSave,\r\n        isEditing: this.isEditing,\r\n        operatingIsOperating: this.operating ? this.operating.isOperating : null,\r\n        callbackFn: this.callbackFn ? 'exists' : 'null',\r\n        isLocalStorageSave: this.isLocalStorageSave,\r\n        _autoSaveInProgress: this._autoSaveInProgress\r\n      });\r\n    });\r\n\r\n     // 高度自适应，需元素name=\"fullHeight\"\r\n    //  setFullHeight();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n// .isVertivall(@i) when(@i <= 10) {\r\n//   // &::before {\r\n//   //   left: (@i-4) * 20 + 66px;\r\n//   // }\r\n//   // position: relative;\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     top: 18px;\r\n//     left: 66px;\r\n//     left: (@i-4) * 20 + 66px;\r\n//     width: 1px;\r\n//     height: calc(100% - 15px);\r\n//     background: #71afbb;\r\n//     min-height: 16px;\r\n//   }\r\n//   .isVertivall((@i + 1));\r\n// }\r\n// .isVertivall(1);\r\n// .isVertival {\r\n//   &::before {\r\n//     content: \"\";\r\n//     display: block;\r\n//     position: absolute;\r\n//     width: 1px;\r\n//     // height: calc(@n * 100% - 0px);\r\n//     background: #71afbb;\r\n//     left: -12px;\r\n//     top: 22px;\r\n//   }\r\n// }\r\n.font(@i) when(@i <= 10) {\r\n  /deep/ .el-tree .el-tree-node.isVertivall@{i} {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 18px;\r\n      left: 66px;\r\n      left: (@i - 4) * 18 + 66px;\r\n      width: 1px;\r\n      height: calc(100% - 18px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  .font((@i + 1));\r\n}\r\n\r\n.font(1);\r\n\r\n.font2(@i) when(@i <= 10) {\r\n  .font3(@n) when(@n <= 100) {\r\n    .sisVertival@{i}@{n} {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        width: 1px;\r\n        height: calc(@n / 2 * 100% + 15px);\r\n        background: #71afbb;\r\n        left: -12px;\r\n        top: 22px;\r\n      }\r\n    }\r\n    .font3((@n + 1));\r\n  }\r\n  .font3(1);\r\n  .font2((@i + 1));\r\n}\r\n\r\n.font2(1);\r\n.collect {\r\n  width: 100%;\r\n  background: #f2f4f5;\r\n  text-align: center;\r\n  z-index: 99;\r\n  padding-top: 17px;\r\n  // padding-bottom: 5px;\r\n  position: static;\r\n  bottom: 0;\r\n  position: absolute;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  img {\r\n    cursor: pointer;\r\n    width: 37px;\r\n    height: 32px;\r\n  }\r\n  span {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #71afbb;\r\n    line-height: 14px;\r\n    font-style: normal;\r\n    padding-top: 14px;\r\n    padding-bottom: 3px;\r\n  }\r\n}\r\n.content {\r\n  overflow: hidden;\r\n}\r\n.myMindOutline {\r\n position: relative;\r\n height: 100%;\r\n padding: 20px 30px 30px 35px;\r\n}\r\n\r\n.outline {\r\n  position: relative;\r\n  // padding: 20px 30px 30px 35px;\r\n  // padding-top: 73px;\r\n  // padding-left: 73px;\r\n  height: 100%;\r\n\r\n  .tree-box{\r\n    overflow: auto;\r\n    height: 100%;\r\n    > div{\r\n      margin-bottom: 150px;\r\n    }\r\n  }\r\n\r\n  // padding: 0 39px;\r\n  /deep/ .el-textarea {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree {\r\n    background: #f2f4f5;\r\n  }\r\n  /deep/ .el-tree-node__content {\r\n    height: auto;\r\n    // position: relative;\r\n    align-items: flex-start;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #7E878C;\r\n    line-height: 19px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  /deep/ .el-tree-node .el-tree-node__children {\r\n    overflow: visible;\r\n  }\r\n  /deep/ .el-tree-node__content:hover {\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-tree-node:focus > .el-tree-node__content {\r\n    background-color: transparent;\r\n  }\r\n  .add-input {\r\n\r\n    /deep/ .el-textarea{\r\n      width: 100%;\r\n    }\r\n\r\n    /deep/ .el-input__inner {\r\n      border: none;\r\n      box-shadow: 5px 5px 14px #e9e7e7;\r\n      border-radius: 8px;\r\n    }\r\n    /deep/ .el-button {\r\n      height: 36px;\r\n      border-radius: 12px;\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 600;\r\n      color: #71afbb;\r\n      margin-top: 7px;\r\n      // margin-left: 10px;\r\n      border-width: 2px;\r\n      padding: 9px 13px;\r\n    }\r\n  }\r\n  .addthemebtn {\r\n    padding-top: 0;\r\n    .btn {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      width: 121px;\r\n      height: 36px;\r\n      border-radius: 12px;\r\n      font-size: 18px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #71afbb;\r\n      margin-top: 7px;\r\n      // margin-left: 10px;\r\n      padding: 0 13px;\r\n      border: 2px solid #71afbb;\r\n    }\r\n    .el-button {\r\n      margin-top: 0;\r\n    }\r\n    /deep/ .el-icon-plus {\r\n      font-weight: 600;\r\n      font-size: 16px;\r\n      // margin-right: 8px;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  /deep/ .el-tree-node.is-expanded {\r\n    position: relative;\r\n  }\r\n  /deep/ .el-tree-node.is-expanded > .el-tree-node__content.isVertival {\r\n    &::before {\r\n      content: \"\";\r\n      height: calc(100% - 27px);\r\n      width: 1px;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 14px;\r\n      padding-left: inherit;\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n  //四级及以上\r\n  /deep/ .el-tree .custom-tree-node .el-textarea .el-textarea__inner {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    // 光标颜色\r\n    caret-color: #71afbb; /* 光标颜色 */\r\n  }\r\n\r\n  ::selection {\r\n    background: rgba(113, 175, 187, 0.4);\r\n  }\r\n\r\n  /deep/ .is-leaf.el-tree-node__expand-icon {\r\n    &.el-icon-caret-right:before {\r\n      content: \"\";\r\n      display: block;\r\n      // position: absolute;\r\n      width: 5px;\r\n      height: 5px;\r\n      // left: 10px;\r\n      // top: 9px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      // border: 1px solid #71afbb;\r\n      background: #71afbb;\r\n      // z-index: 10;\r\n      margin: 4px 4px 5px 5px;\r\n    }\r\n  }\r\n\r\n  // ---------------------------------------------------\r\n  .custom-tree-node {\r\n    width: calc(100% - 10px);\r\n    position: relative;\r\n\r\n    .content {\r\n      position: relative;\r\n      width: 100%;\r\n      .node-label {\r\n        position: absolute;\r\n        white-space: pre-wrap;\r\n        word-break: break-all;\r\n        word-wrap: break-word;\r\n      }\r\n      .node-content {\r\n        white-space: normal;\r\n        word-wrap: break-word;\r\n        word-break: break-all;\r\n        line-height: 26px;\r\n        min-height: 26px;\r\n        pre {\r\n          white-space: break-spaces;\r\n        }\r\n      }\r\n    }\r\n    .selectedData {\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      padding: 8px 10px;\r\n      > div{\r\n        padding-top: 0 !important;\r\n      }\r\n    }\r\n  }\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content .node-content {\r\n    padding-top: 5px;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon {\r\n    font-size: 14px;\r\n    padding: 6px 8px 9px 7px;\r\n    color: #71afbb;\r\n  }\r\n  /deep/ .el-tree-node__content > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 8px 9px 10px;\r\n  }\r\n\r\n  // -------------------------------------------------------\r\n\r\n  //一级节点选择器\r\n  /deep/ .el-tree > .el-tree-node > .el-tree-node__content {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 27px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    /deep/ &.custom-tree-node {\r\n      padding-top: 5px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Bold, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #292929;\r\n    line-height: 30px;\r\n  }\r\n  //一级图标未展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 9px 6px 0px 6px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n    margin-bottom: 12px;\r\n  }\r\n  //一级图标展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 8px 6px 8px 4px;\r\n    color: #71afbb;\r\n    font-size: 20px;\r\n  }\r\n  // 一级叶子节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    // margin-right: 9px;\r\n    &::before {\r\n      width: 10px;\r\n      height: 10px;\r\n      // left: 11px;\r\n      // top: 12px;\r\n    }\r\n  }\r\n\r\n  // 最后一个节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node.theme\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    padding: 20px 0px 0px 6px;\r\n  }\r\n  // /deep/ .el-tree > .el-tree-node {\r\n  //   .theme {\r\n  //     padding-top: 0;\r\n  //     padding-bottom: 15px;\r\n  //   }\r\n  // }\r\n  // ----------------------------------------------------------\r\n  //二级节点选择器\r\n  // 二级节点竖线\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 33px;\r\n      width: 1px;\r\n      height: calc(100% - 20px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node:first-child {\r\n    margin-top: -4px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node:last-child {\r\n    margin-bottom: 4px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n\r\n  // 二级图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  //二级图标展开\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 3px 7px 8px 2px;\r\n    color: #71afbb;\r\n    font-size: 18px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      margin-top: 6px;\r\n      margin-left: 10px;\r\n      width: 7px;\r\n      height: 7px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    &::before {\r\n      margin-left: 0;\r\n    }\r\n  }\r\n\r\n  // --------------------------------------------------------------\r\n  // 三级节点\r\n\r\n  // 三级节点竖线\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node.isVertival {\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 21px;\r\n      left: 49px;\r\n      width: 1px;\r\n      height: calc(100% - 21px);\r\n      background: #71afbb;\r\n      min-height: 16px;\r\n    }\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 26px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .add-input\r\n    > .el-textarea\r\n    > .el-textarea__inner {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n  }\r\n\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .custom-tree-node\r\n    > .content\r\n    > .node-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 25px;\r\n  }\r\n\r\n  // 三级节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon {\r\n    padding: 6px 7px 8px 7px;\r\n    color: #71afbb;\r\n    font-size: 16px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.expanded {\r\n    padding: 7px 9px 8px 5px;\r\n  }\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .el-tree-node__expand-icon.is-leaf {\r\n    padding: 6px 13px 8px 0px;\r\n  }\r\n\r\n  // 三级叶子节点图标\r\n  /deep/\r\n    .el-tree\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__children\r\n    > .el-tree-node\r\n    > .el-tree-node__content\r\n    > .is-leaf.el-tree-node__expand-icon {\r\n    &::before {\r\n      width: 6px;\r\n      height: 6px;\r\n      margin-left: 12px;\r\n      margin-top: 6px;\r\n    }\r\n  }\r\n  // -------------------------------------------------\r\n  .content {\r\n    /deep/ .el-textarea__inner {\r\n      background-color: #f2f4f5;\r\n      border: none;\r\n      min-height: 24px !important;\r\n      padding: 0;\r\n    }\r\n  }\r\n  .add-input {\r\n    /deep/ .el-textarea__inner {\r\n      border: none;\r\n      box-shadow: 4px 5px 10px #ccc;\r\n      border-radius: 8px;\r\n      // margin-bottom: 10px;\r\n      padding: 10px;\r\n      // height: auto !important;\r\n    }\r\n  }\r\n\r\n  .name {\r\n    font-size: 26px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 38px;\r\n    padding-bottom: 15px;\r\n  }\r\n}\r\n.outlineEdit{\r\n  .tree-box{\r\n    height: calc(100% - 20px);\r\n  }\r\n}\r\n.editOutline {\r\n  -webkit-animation: editOutlineAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineAni {\r\n  0% {\r\n    padding-top: 73px;\r\n    padding-left: 73px;\r\n  }\r\n  100% {\r\n    padding-top: 56px;\r\n    padding-left: 31px;\r\n  }\r\n}\r\n.editOutlineNo {\r\n  -webkit-animation: editOutlineNoAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: editOutlineNoAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes editOutlineNoAni {\r\n  0% {\r\n    padding-top: 56px;\r\n    padding-left: 31px;\r\n  }\r\n  100% {\r\n    padding-top: 73px;\r\n    padding-left: 73px;\r\n  }\r\n}\r\n\r\n.outlineNone {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 100%;\r\n  flex-direction: column;\r\n  .none_wrapper {\r\n    img {\r\n      width: 136px;\r\n      height: 136px;\r\n    }\r\n  }\r\n  .none {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    margin-top: 20px;\r\n  }\r\n}\r\n.operates-wrapper {\r\n  pointer-events: none;\r\n  position: absolute;\r\n  width: 100%;\r\n  bottom:100%;\r\n  left: 0;\r\n  top: auto;\r\n  // z-index: 1;\r\n  // align-items: center;\r\n  justify-content: center;\r\n  // height: 46px;\r\n  padding: 2px 0px 8px 0px;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-repeat: no-repeat;\r\n  // background-size: 100% 100%;\r\n  // background-position: top left;\r\n  display: flex;\r\n  .operate {\r\n    padding: 0 12px;\r\n    display: flex;\r\n    align-items: center;\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #ffffff;\r\n    line-height: 18px;\r\n    cursor: pointer;\r\n    height: 22px;\r\n    margin-top: 7px;\r\n    img {\r\n      margin-right: 7px;\r\n    }\r\n    &:not(:last-child) {\r\n      border-right: 1px solid #71afbb;\r\n    }\r\n  }\r\n}\r\n\r\n.operates-wrapper-operates {\r\n  pointer-events:all;\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  align-items: center;\r\n  padding-bottom: 7px;\r\n  background-color: #4e545c;\r\n  border-radius: 7px;\r\n  position: relative;\r\n  // height: 36px;\r\n  &::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    border-top: 7px solid #4e545c;\r\n    border-left: 6px solid transparent;\r\n    border-right: 6px solid transparent;\r\n    bottom: -6px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n  }\r\n}\r\n\r\n.operates-wrapper{\r\n  display: block;\r\n  text-align: center;\r\n  transform: translateY(-10px);\r\n  .operates-wrapper-operates{\r\n    transform: translateY(-100%);\r\n    display: inline-block;\r\n    margin: 0 auto;\r\n    text-align: left;\r\n    max-width: 100%;\r\n    > div{\r\n      display: inline-block;\r\n      white-space: nowrap;\r\n    }\r\n  }\r\n}\r\n.operates-wrapper-bottom{\r\n  transform: translateY(0);\r\n  .operates-wrapper-operates{\r\n    transform: translateY(0);\r\n    &::before {\r\n      bottom: 100%;\r\n      transform: rotate(180deg);\r\n    }\r\n  }\r\n}\r\n.operates-wrapper1 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper2 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper3 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMacEdit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperEdit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac1 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac1Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper1Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac2 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac2Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapper2Edit {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-1000.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n.operates-wrapperMac3 {\r\n  width: 100%;\r\n  // background-image: url(\"~@/assets/img/mind-operate-bg-500.png\");\r\n  // background-size: 100% 100%;\r\n  // background-repeat: no-repeat;\r\n}\r\n\r\n/* 在CSS中使用媒体查询 */\r\n/* 大屏幕样式 */\r\n@media (min-width: 1208px) {\r\n  /* 添加针对大屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n\r\n/* 小屏幕样式 */\r\n@media (max-width: 1208px) {\r\n  /* 添加针对小屏幕的样式 */\r\n  .operates-wrapper3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n  .operates-wrapperMac3Edit {\r\n    z-index: 99999;\r\n    bottom: calc(100% - 24px);\r\n    width: 100%;\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n\r\n/* 树形结构节点添加连线 */\r\n.tree /deep/ .el-tree-node {\r\n  position: relative;\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node__children {\r\n  padding-left: 16px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node :last-child:before {\r\n  height: 38px;\r\n}\r\n\r\n.tree /deep/ .el-tree > .el-tree-node:before {\r\n  border-left: none;\r\n}\r\n\r\n.tree-container /deep/ .el-tree > .el-tree-node:after {\r\n  border-top: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  content: \"\";\r\n  left: -4px;\r\n  position: absolute;\r\n  right: auto;\r\n  border-width: 1px;\r\n}\r\n.tree /deep/ .el-tree-node__expand-icon.is-leaf {\r\n  display: none;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:before {\r\n  border-left: 1px dashed #b8b9bb;\r\n  bottom: 0px;\r\n  height: 100%;\r\n  top: -26px;\r\n  width: 1px;\r\n}\r\n\r\n.tree /deep/ .el-tree-node:after {\r\n  border-top: 1px dashed #b8b9bb;\r\n  height: 20px;\r\n  top: 12px;\r\n  width: 24px;\r\n}\r\n\r\n//-----\r\n/deep/ .el-tree > .el-tree-node > .el-tree-node__content{\r\n  &  > .el-tree-node__expand-icon{\r\n    top: 8px;\r\n    font-size: 20px;\r\n  }\r\n  .el-tree-node__content{\r\n\r\n  }\r\n\r\n}\r\n/deep/ .el-tree > .el-tree-node::after{\r\n  top: 31px;\r\n}\r\n\r\n.course_name {\r\n  font-size: 20px;\r\n  color: #71afbb;\r\n  display: none;\r\n  padding-bottom: 10px;\r\n  font-weight: 700;\r\n  padding-left: 10px;\r\n  padding-top: 20px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MyMindOutline.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"myMindOutline\"},[_c('div',{class:[\n      'outline',\n      !_vm.datas.length\n        ? 'outlineNone'\n        : _vm.editOutline\n        ? 'outlineEdit'\n        : _vm.isSaveMindMap\n        ? ''\n        : ''\n    ],attrs:{\"id\":_vm.myMindOutlineId}},[(_vm.datas && !_vm.datas.length)?_c('div',{staticClass:\"none_wrapper\",staticStyle:{\"text-align\":\"center\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"0px\",\"height\":\"0px\",\"overflow\":\"hidden\"}},[_vm._v(\"\\n    \"+_vm._s(_vm.selectedData && _vm.selectedData.isShowOp)+\" \"+_vm._s(_vm.selectedDom.target ? true:false)+\"\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"course_name\",attrs:{\"id\":\"course_name\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.course_name)+\"\\n    \")]),_vm._v(\" \"),(_vm.selectedData && _vm.selectedData.isShowOp && _vm.selectedDom.target || (!_vm.editOutline && _vm.copyData.id && _vm.selectedDom.target))?_c('div',{ref:'operateRef',class:\"operates-wrapper\",style:({\n        'z-index': 2,\n        'opacity': 1\n      }),on:{\"click\":_vm.disibledDocumentClick}},[_c('div',{staticClass:\"operates-wrapper-operates\"},[(_vm.editOutline)?_c('div',{staticClass:\"operate del\",on:{\"mousedown\":_vm.remove}},[_vm._v(\"\\n          删除(\"+_vm._s(_vm.isMac ? \"cmd+←\" : \"ctrl+d\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedNode.label && _vm.selectedNode.level < 5)?_c('div',{staticClass:\"operate addsubtheme\",on:{\"mousedown\":function($event){return _vm.append(_vm.selectedData, _vm.selectedNode, $event)}}},[_vm._v(\"\\n          添加子主题(tab)\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedNode.label)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.addEquative(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          添加同级主题(Enter)\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.$index > 0 && _vm.selectedNode.label && _vm.selectedNode.level < 5)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.tabClick(_vm.selectedNode, _vm.selectedData)}}},[_vm._v(\"缩进\")]):_vm._e(),_vm._v(\" \"),(_vm.selectedNode.level > 1 && _vm.selectedNode.label)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.reduceTabClick(_vm.selectedNode, _vm.selectedData)}}},[_vm._v(\"\\n          减少缩进\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative || (!_vm.editOutline && _vm.copyData.id))?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.copy(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          复制(\"+_vm._s(_vm.isMac ? \"cmd+c\" : \"ctrl+c\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.paste(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          粘贴(\"+_vm._s(_vm.isMac ? \"cmd+v\" : \"ctrl+v\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.cut(_vm.selectedNode, _vm.selectedData, $event)}}},[_vm._v(\"\\n          剪切(\"+_vm._s(_vm.isMac ? \"cmd+x\" : \"ctrl+x\")+\")\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.selectedData.isEdit || _vm.selectedDom.data.isAdd || _vm.selectedDom.data.isAddEquative)?_c('div',{staticClass:\"operate\",on:{\"mousedown\":function($event){return _vm.insertNewline($event, _vm.selectedData.id)}}},[_vm._v(\"\\n          换行(\"+_vm._s(_vm.isMac ? \"cmd+enter\" : \"ctrl+enter\")+\")\\n        \")]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"box\",staticClass:\"tree-box\",attrs:{\"id\":_vm.treeId}},[_c('Tree',{ref:\"tree\",attrs:{\"data\":_vm.datas,\"node-key\":\"id\",\"default-expand-all\":\"\",\"expand-on-click-node\":false,\"draggable\":this.isEditing ? false : true,\"allow-drop\":_vm.allowDrop,\"allow-drag\":_vm.allowDrag,\"filter-node-method\":_vm.filterNode,\"props\":{ label: 'name', node: 'node', children: 'children' },\"empty-text\":'',\"is-last-drag-fixed\":true},on:{\"node-drag-start\":_vm.handleDragStart,\"node-drag-enter\":_vm.handleDragEnter,\"node-drag-leave\":_vm.handleDragLeave,\"node-drag-over\":_vm.handleDragOver,\"node-drag-end\":_vm.handleDragEnd,\"node-drop\":_vm.handleDrop,\"node-expand\":_vm.nodeExpand,\"node-collapse\":_vm.nodeCollapse},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n      var node = ref.node;\n      var data = ref.data;\nreturn _c('div',{ref:'treeNode' + data.id,staticClass:\"custom-tree-node\",class:[\n            !data.isAdd && data.isAddTheme ? 'theme' : ''\n          ],attrs:{\"id\":data.id}},[_c('div',[(data.isAdd && !data.isAddTheme)?_c('div',{staticClass:\"add-input 1\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'subtitle' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'subtitle' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('saveSubTitle')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveSubTitle.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.isAdd && data.isAddTheme)?_c('div',{staticClass:\"add-input addtheme\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'title' + data.id,staticClass:\"preserve-indent\",staticStyle:{\"min-height\":\"30px !important\"},attrs:{\"type\":\"textarea\",\"id\":'title' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('saveTitle')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveTitle.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(!data.isAdd && data.isAddTheme)?_c('div',{staticClass:\"add-input 2 addthemebtn\"},[_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.addTheme}},[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\"添加主题\\n              \")])]):(_vm.selectedData && _vm.selectedData.isEdit && _vm.selectedData.id === data.id)?_c('div',{staticClass:\"add-input 3\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'edittextarea' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'edittextarea' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('editNode')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.editNode()}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.isAddEquative)?_c('div',{staticClass:\"add-input 4\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 3)}}},[_c('el-input',{ref:'equativetitle' + data.id,staticClass:\"preserve-indent\",attrs:{\"type\":\"textarea\",\"id\":'equativetitle' + data.id,\"autosize\":{ minRows: 1 },\"resize\":'none'},on:{\"focus\":_vm.handleInputFocus,\"blur\":function($event){return _vm.triggerBlur('saveEquative')}},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.saveEquative.apply(null, arguments)}},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_vm._v(\" \"),_c('p',{staticStyle:{\"opacity\":\"0\",\"height\":\"0\"}},[_vm._v(_vm._s(_vm.content))])],1):(data.id && _vm.selectedData && _vm.selectedData.id === data.id && !_vm.operating.isOperating  || (!_vm.editOutline && _vm.copyData.id === data.id))?_c('div',{staticClass:\"content selectedData\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 2)}}},[_c('div',{ref:'textarea' + data.id,staticClass:\"node-content unselectable\",class:'textarea' + data.id},[_c('pre',[_vm._v(_vm._s(node.label))])])]):_c('div',{staticClass:\"content\",on:{\"contextmenu\":function($event){$event.preventDefault();return _vm.showOperates(node, data, $event)},\"click\":function($event){return _vm.triggerClickEvent(node, data, $event, 'click', 1)}}},[_c('div',{ref:'textarea' + data.id,staticClass:\"node-content unselectable\",class:'textarea' + data.id},[_c('pre',[_vm._v(_vm._s(node.label))])])])])])}}])})],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\",\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"您还有未保存的内容，请问是否保存？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){return _vm.submitCon(2)}}},[_vm._v(\"不保存\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",on:{\"click\":function($event){return _vm.submitCon(1)}}},[_vm._v(\"保存\")])],1)])],1),_vm._v(\" \"),(\n      _vm.is_collect == 2 &&\n        _vm.dataPro &&\n        _vm.dataPro.mindmap_content &&\n        _vm.courseIsuseradd != 3 &&\n        !_vm.editOutline && _vm.showCollect\n        && _vm.datas.length > 0\n    )?_c('div',{staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(1)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_vm._v(\"收藏导图\")])]):_vm._e(),_vm._v(\" \"),(\n      _vm.is_collect == 1 &&\n        _vm.dataPro &&\n        _vm.dataPro.mindmap_content &&\n        _vm.courseIsuseradd != 3 &&\n        !_vm.editOutline && _vm.showCollect\n        && _vm.datas.length > 0\n    )?_c('div',{ref:\"collect\",staticClass:\"collect\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(2)}}}),_vm._v(\" \"),_c('span',{on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_vm._v(\"取消收藏\")])]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-72df5976\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MyMindOutline.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-72df5976\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMindOutline.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindOutline.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMindOutline.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72df5976\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMindOutline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-72df5976\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MyMindOutline.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAlCAYAAADFniADAAAAAXNSR0IArs4c6QAAAn9JREFUWEftl81rE0EUwN+bTQSFUgtSTxZEUOxFJN486EGpLR5EyEFBKPRSejEfdS1KYpp+aGOabuylRDx4FOmll4IHSaVQEEFP/TdEpe2S7O6TgY0Espt5m26lh93L5jA785vfm/fyBuEYPngMmSCC4kYlFFNEJOdpzSXf5AIQIrZ+c5l6D18bCGdjEs7hUnEm7JiLiESbGe5acpzDMRcY6hBALXiltUBQfkAfd3e15PCwHUBZVzA2lB/QXLl6rWlZWwLwbWEmkwoA5hvKIFCa14KLb9Yum/t7XxHgpBD48oWeyTHBfG2xoFTnqFheHbOsxjoCxDUh9LyerjDBPG1xoTwttS88V648sCx6TwAY17TJ3JPUOwaYpy0llFuPZAlQPsUlY9IGZ5WInHhMPMxNp9dVHyFiR4KECiUBiqXKjO3QPAA1tHjsXj6b+qQA6wghBypwoSyUVpbIcbIAsHciHrvzPPt4pwvY/4GafV0dtW1rAwFQE2I6r6eNsKGkTdaZkgsvLFevN5r2JgCdQsRS4Wnm2VGEjw21aBhXTNP+jAD9KEStoKenjuSgy0mJSFkS5g3jYtO06wAwKAA/3L1941EikVB1Br2VBBeq62F/ZaydOzD3twBoCFBsnj979f74+M2mypLcr1dLo8w+F8o3hMu12sDvn3+2geASAmwPXhganUomDxhA4FWj5HcsqG62iuWVMdtyNgDx++kz/bfSExO/OEB+lgJB+YHV63X88u3HSN9A304YQL1AsTOxi61wm7x/rWPv7bASKLCp9t0H+aN2v2P154eCarPWul55JY28XgW+ZrGzj5lRoQyLoLgaI1ORKa4B7rjoTHFN/QWtbQE1cazisQAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/course_arrow.png\n// module id = pZrN\n// module chunks = 171","<template>\r\n  <div class=\"main-content big-view bg-white\">\r\n    <div class=\"cllectedContent\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n      <div class=\"top\" @click=\"back\">\r\n        <img src=\"@/assets/img/back.svg\" />\r\n        <label class=\"ctitle\">被收藏</label>\r\n      </div>\r\n      <NoData v-if=\"collList.length == 0\" />\r\n      <div v-else class=\"collectedList\">\r\n        <div\r\n          class=\"evCollected\"\r\n          v-for=\"(item, index) in collList\"\r\n          :key=\"index\"\r\n          @click=\"collectedMess(item)\"\r\n        >\r\n          <label class=\"btitle\">{{ item.experience_title }}</label>\r\n          <label class=\"stitle\">{{ item.course_name }}</label>\r\n          <span class=\"content ellipsis-content\">{{\r\n            item.experience_content\r\n          }}</span>\r\n          <div class=\"typeArea\">\r\n            <label class=\"type\">{{ item.experience_tag_title }}</label>\r\n            <label class=\"clnum\"\r\n              >{{ item.experience_collection_num }}收藏</label\r\n            >\r\n          </div>\r\n        </div>\r\n        <p v-if=\"collectedLoading\"\r\n          class=\"loading\">加载中...</p>\r\n      </div>\r\n      <p v-if=\"noMoreClass && collList.length > 0\"\r\n        class=\"loading\">--到底啦--</p>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  EventBus,\r\n  WHITE_PREV_COM,\r\n  WHITE_COLLECTED_MESS,\r\n  WHITE_PERSONAL_CENTER,\r\n} from \"@/utils/eventBus\";\r\nimport { getExperienceByCollect } from \"@/api/index\";\r\nimport NoData from \"@/components/NoData\";\r\nexport default {\r\n  components: {NoData},\r\n  data() {\r\n    return {\r\n      collList: [],\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      collectedLoading: false,\r\n      noMoreClass: false,\r\n    };\r\n  },\r\n  methods: {\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n    getExperienceByCollect() {\r\n      this.collectedLoading = true;\r\n      const params = {\r\n        page: this.classPage,\r\n        pageSize: this.pageSize,\r\n      };\r\n      if(this.page == 1) {\r\n        this.collList = [];\r\n      }\r\n      getExperienceByCollect(params).then((res) => {\r\n        console.log(res);\r\n        this.collectedLoading = false;\r\n        if(this.page == 1) {\r\n          this.collList = [];\r\n        }\r\n        if (res && res.code === 0) {\r\n          res.data.forEach((item) => {\r\n            item.experience_create_at = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          this.collList.push(...res.data);\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n      });\r\n    },\r\n    init() {\r\n      this.collList = [];\r\n      this.classPage = 0;\r\n      this.noMoreClass = false;\r\n      this.collectedLoading = false;\r\n    },\r\n    load() {\r\n      console.log(\"load:\", this.noMoreClass, this.collectedLoading);\r\n      if (this.noMoreClass || this.collectedLoading) {\r\n        return;\r\n      }\r\n      this.classPage += 1;\r\n      this.getExperienceByCollect();\r\n    },\r\n    collectedMess(item) {\r\n      // this.$router.push({\r\n      //   path: \"/white/EditTips\",\r\n      //   query: {\r\n      //     experience_id: item.experience_id,\r\n      //     experience_isuseradd: item.experience_isuseradd\r\n      //   }\r\n      // });\r\n      this.$router.push({\r\n        path: \"/white/CollectedMess\",\r\n        query: {\r\n          id: item.experience_id,\r\n          experience_isuseradd: item.experience_isuseradd\r\n        }\r\n      });\r\n    },\r\n  },\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  mounted() {\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n  display: flex;\r\n  z-index: 105;\r\n}\r\n.cllectedContent {\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding-left: 30px;\r\n  padding-top: 50px;\r\n  width: 100%;\r\n  height: 100%;\r\n  .top {\r\n    display: flex;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    img {\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n    label {\r\n      font-size: 16px;\r\n      font-family: \"SourceHanSansCN\";\r\n      color: #292929;\r\n      margin-left: 12px;\r\n      display: flex;\r\n      align-items: center;\r\n      &::before {\r\n        content: \"\";\r\n        width: 4px;\r\n        height: 4px;\r\n        background: #64afd5;\r\n        border-radius: 50%;\r\n        display: block;\r\n        margin-right: 5px;\r\n      }\r\n    }\r\n  }\r\n  .collectedList {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    margin-top: 20px;\r\n    // flex: 1;\r\n    .evCollected {\r\n      cursor: pointer;\r\n      display: flex;\r\n      flex-direction: column;\r\n      width: 306px;\r\n      height: 182px;\r\n      background: #fdfdfd;\r\n      box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n        3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n      border-radius: 8px;\r\n      border: 1px solid #ffffff;\r\n      margin-right: 20px;\r\n      margin-bottom: 20px;\r\n      .btitle {\r\n        font-size: 14px;\r\n        color: #292929;\r\n        font-family: \"SourceHanSansCN-Medium\";\r\n        padding: 10px 15px 5px 15px;\r\n      }\r\n      .stitle {\r\n        font-size: 12px;\r\n        color: #bcc4c8;\r\n        font-family: \"SourceHanSansCN\";\r\n        padding: 0 15px 5px 15px;\r\n        border-bottom: 1px solid #f3f3f4;\r\n      }\r\n      .content {\r\n        font-size: 12px;\r\n        line-height: 18px;\r\n        color: #7e878c;\r\n        padding: 10px 15px 0 15px;\r\n        height: 62px;\r\n        display: -webkit-box;\r\n        word-break: break-all;\r\n        text-overflow: ellipsis;\r\n        -webkit-box-orient: vertical;\r\n        -webkit-line-clamp: 3;\r\n        overflow: hidden;\r\n      }\r\n      .typeArea {\r\n        padding: 20px 15px 0;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        .type {\r\n          border: 1px solid #FFB096;\r\n          border-radius: 4px;\r\n          height: 23px;\r\n          line-height: 23px;\r\n          font-size: 12px;\r\n          color: #FFB096;\r\n          padding: 0 10px 0 5px;\r\n          display: flex;\r\n          align-items: center;\r\n          &::before {\r\n            content: \"\";\r\n            width: 5px;\r\n            height: 5px;\r\n            border-radius: 50%;\r\n            background-color: #FFB096;\r\n            display: block;\r\n            margin-right: 5px;\r\n          }\r\n        }\r\n        .clnum {\r\n          font-size: 12px;\r\n          color: #bcc4c8;\r\n          font-family: \"SourceHanSansCN\";\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n.loading {\r\n  padding-bottom: 10px;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/collected.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\"},[_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"cllectedContent\",attrs:{\"infinite-scroll-distance\":1}},[_c('div',{staticClass:\"top\",on:{\"click\":_vm.back}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/back.svg\")}}),_vm._v(\" \"),_c('label',{staticClass:\"ctitle\"},[_vm._v(\"被收藏\")])]),_vm._v(\" \"),(_vm.collList.length == 0)?_c('NoData'):_c('div',{staticClass:\"collectedList\"},[_vm._l((_vm.collList),function(item,index){return _c('div',{key:index,staticClass:\"evCollected\",on:{\"click\":function($event){return _vm.collectedMess(item)}}},[_c('label',{staticClass:\"btitle\"},[_vm._v(_vm._s(item.experience_title))]),_vm._v(\" \"),_c('label',{staticClass:\"stitle\"},[_vm._v(_vm._s(item.course_name))]),_vm._v(\" \"),_c('span',{staticClass:\"content ellipsis-content\"},[_vm._v(_vm._s(item.experience_content))]),_vm._v(\" \"),_c('div',{staticClass:\"typeArea\"},[_c('label',{staticClass:\"type\"},[_vm._v(_vm._s(item.experience_tag_title))]),_vm._v(\" \"),_c('label',{staticClass:\"clnum\"},[_vm._v(_vm._s(item.experience_collection_num)+\"收藏\")])])])}),_vm._v(\" \"),(_vm.collectedLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e()],2),_vm._v(\" \"),(_vm.noMoreClass && _vm.collList.length > 0)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-11a87890\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/collected.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-11a87890\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./collected.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./collected.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./collected.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-11a87890\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./collected.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-11a87890\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/collected.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuaooeW8j+a3seiJsi3np7vlhaUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNTc2IC05MzIpIj4NCiAgICA8Y2lyY2xlIGlkPSLmpK3lnIZfOSIgZGF0YS1uYW1lPSLmpK3lnIYgOSIgY3g9IjI0IiBjeT0iMjQiIHI9IjI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTc2IDkzMikiIGZpbGw9InJnYmEoMCwwLDAsMC40KSIvPg0KICAgIDxwYXRoIGlkPSLot6/lvoRfMjciIGRhdGEtbmFtZT0i6Lev5b6EIDI3IiBkPSJNLTg4LjgyOSwzMS4zYS43MDguNzA4LDAsMCwxLC41MTYuMjE3LjcuNywwLDAsMSwuMjE3LjUxNi43MDYuNzA2LDAsMCwxLS4yMTcuNTJsLTEuMDM2LDEuMDM1YS43LjcsMCwwLDEtLjUxNC4yMTIuNzEzLjcxMywwLDAsMS0uNzMzLS42OTF2LS4wNDFhLjcuNywwLDAsMSwuMjEyLS41MTVsMS4wMzUtMS4wMzVBLjcxMi43MTIsMCwwLDEtODguODI5LDMxLjNabS43MzMsNi42NjdoMS42NjdhLjguOCwwLDAsMSwuNTg4LjI0NC44LjgsMCwwLDEsLjI0NS41ODkuOC44LDAsMCwxLS4yNDUuNTg5LjguOCwwLDAsMS0uNTg4LjI0NEgtODguMWEuOC44LDAsMCwxLS41ODktLjI0NC44LjgsMCwwLDEtLjI0NC0uNTg5LjguOCwwLDAsMSwuMjQ0LS41ODkuOC44LDAsMCwxLC41OS0uMjQ0Wk0tOTUuNiwyOC44YS44MS44MSwwLDAsMSwuNTg5LjI0NC44MDYuODA2LDAsMCwxLC4yNDQuNTg5VjMxLjNhLjguOCwwLDAsMS0uMjQ0LjU4OS44LjgsMCwwLDEtLjU4OS4yNDYuOC44LDAsMCwxLS41ODktLjI0Ni44LjgsMCwwLDEtLjI0NC0uNTg5VjI5LjYzNGEuODA1LjgwNSwwLDAsMSwuMjQ0LS41ODhBLjgxNi44MTYsMCwwLDEtOTUuNiwyOC44Wm0tNi43NjcsMi41YS43MS43MSwwLDAsMSwuNTE1LjIxN2wxLjAzNSwxLjAzNmEuNy43LDAsMCwxLC4yMTcuNTE1LjcuNywwLDAsMS0uMjE1LjUxNy43LjcsMCwwLDEtLjUxNy4yMTUuNzExLjcxMSwwLDAsMS0uNTIxLS4yMWwtMS4wMzUtMS4wMzVhLjcwNS43MDUsMCwwLDEtLjIxMi0uNTIyLjcuNywwLDAsMSwuMjE1LS41MTguNzEzLjcxMywwLDAsMSwuNTE5LS4yMTVabTEyLjUsMTIuNWEuNy43LDAsMCwxLC41MTQuMjE3bDEuMDM2LDEuMDMzYS43MS43MSwwLDAsMSwuMjE3LjUxOS43LjcsMCwwLDEtLjIxNy41MTQuNy43LDAsMCwxLS41MTUuMjE3LjcuNywwLDAsMS0uNTIxLS4yMTdsLTEuMDM1LTEuMDMzYS43LjcsMCwwLDEtLjIxMi0uNTE0LjcwNy43MDcsMCwwLDEsLjIxNS0uNTE5QS43MDcuNzA3LDAsMCwxLTg5Ljg2Myw0My44Wm0tMTQuOS01LjgzM2gxLjY2NmEuOC44LDAsMCwxLC41ODkuMjQ0LjguOCwwLDAsMSwuMjQ1LjU4OS44LjgsMCwwLDEtLjI0NS41ODkuOC44LDAsMCwxLS41OS4yNDRoLTEuNjY1YS44LjgsMCwwLDEtLjU4OS0uMjQ0LjguOCwwLDAsMS0uMjQ1LS41ODkuOC44LDAsMCwxLC4yNDUtLjU4OUEuOC44LDAsMCwxLTEwNC43NjIsMzcuOTY4Wm05LjE2Niw3LjVhLjguOCwwLDAsMSwuNTg5LjI0NC44LjgsMCwwLDEsLjI0NC41ODl2MS42NjdhLjguOCwwLDAsMS0uMjQ0LjU4OS44LjgsMCwwLDEtLjU4OS4yNDQuOC44LDAsMCwxLS41ODktLjI0NC44LjgsMCwwLDEtLjI0NC0uNTg5VjQ2LjNhLjguOCwwLDAsMSwuMjQ0LS41ODlBLjguOCwwLDAsMS05NS42LDQ1LjQ2OFptLTUuNzMyLTEuNjY3YS43LjcsMCwwLDEsLjUxNy4yMTcuNzA1LjcwNSwwLDAsMSwuMjE1LjUxOS43LjcsMCwwLDEtLjIxNy41MTRsLTEuMDM1LDEuMDMzYS43LjcsMCwwLDEtLjUxNS4yMTcuNzA3LjcwNywwLDAsMS0uNTE3LS4yMTIuNy43LDAsMCwxLS4yMTYtLjUxOS43LjcsMCwwLDEsLjIxMi0uNTE5bDEuMDM1LTEuMDMzYS43LjcsMCwwLDEsLjUyLS4yMTdaTS05NS42LDMyLjk2OGE1Ljc1NSw1Ljc1NSwwLDAsMC0yLjkyOC43ODEsNS44MzMsNS44MzMsMCwwLDAtMi4xMjEsMi4xMjUsNS43MSw1LjcxLDAsMCwwLS43ODQsMi45MjcsNS43MjcsNS43MjcsMCwwLDAsLjc4NCwyLjkzMSw1Ljg2NCw1Ljg2NCwwLDAsMCwyLjExNywyLjExOCw1LjcxMSw1LjcxMSwwLDAsMCwyLjkzMi43ODQsNS43MTMsNS43MTMsMCwwLDAsMi45My0uNzgzLDUuODU5LDUuODU5LDAsMCwwLDIuMTE4LTIuMTE4LDUuNzIyLDUuNzIyLDAsMCwwLC43ODUtMi45MzIsNS43MTEsNS43MTEsMCwwLDAtLjc4NS0yLjkyOSw1LjgyMSw1LjgyMSwwLDAsMC0yLjExNi0yLjEyQTUuNzUzLDUuNzUzLDAsMCwwLTk1LjYsMzIuOTY4Wm0wLDEuNjY2YTQuMDg4LDQuMDg4LDAsMCwxLDIuMDkyLjU1Nyw0LjE0OSw0LjE0OSwwLDAsMSwxLjUxNiwxLjUyMSw0LjAzNiw0LjAzNiwwLDAsMSwuNTU5LDIuMDg5LDQuMDUyLDQuMDUyLDAsMCwxLS41NTksMi4wOTIsNC4xODMsNC4xODMsMCwwLDEtMS41MjEsMS41Miw0LjA1MSw0LjA1MSwwLDAsMS0yLjA4Ny41NTUsNC4wNTQsNC4wNTQsMCwwLDEtMi4wOS0uNTU2LDQuMiw0LjIsMCwwLDEtMS41Mi0xLjUyMSw0LjA2OSw0LjA2OSwwLDAsMS0uNTU3LTIuMDksNC4wNDgsNC4wNDgsMCwwLDEsLjU1Ny0yLjA4OCw0LjE2Niw0LjE2NiwwLDAsMSwxLjUyMi0xLjUyNEE0LjA4Miw0LjA4MiwwLDAsMS05NS42LDM0LjYzNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2OTUuNTk2IDkxNy4xOTkpIiBmaWxsPSIjMDBhOWZmIi8+DQogIDwvZz4NCjwvc3ZnPg0K\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-mode-hover-black.svg\n// module id = pvAr\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0LjAgMjQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTM3NSwwIEwzNzUsODEyIEwwLDgxMiBMMCwwIEwzNzUsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9ImkxIiB4MT0iOC41cHgiIHkxPSIwcHgiIHgyPSI4LjVweCIgeTI9IjE3cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThCIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMi4wIC0yNjYuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMi4wMDAwMDAwMDAwMDA2IDI2NS45OTk5OTk5OTk5OTk3KSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4wIDMuMTA5OTk5OTk5OTk5NjcyNikiPjxwb2x5Z29uIHBvaW50cz0iOC41LDEyLjc1IDMuNTAzODI1MzYsMTUuMzc2NjQ0NSA0LjQ1ODAwOTgxLDkuODEzMzIyMjMgMC40MTYwMTk2MTEsNS44NzMzNTU1NSA2LjAwMTkxMjY4LDUuMDYxNjc3NzcgOC41LDAgMTAuOTk4MDg3Myw1LjA2MTY3Nzc3IDE2LjU4Mzk4MDQsNS44NzMzNTU1NSAxMi41NDE5OTAyLDkuODEzMzIyMjMgMTMuNDk2MTc0NiwxNS4zNzY2NDQ1IDguNSwxMi43NSA4LjUsMTIuNzUiIHN0cm9rZT0idXJsKCNpMSkiIHN0cm9rZS13aWR0aD0iMS42IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/recommended_active.svg\n// module id = qOJK\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjE5cHgiIGhlaWdodD0iMTlweCIgdmlld0JveD0iMCAwIDE5LjAgMTkuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE5MC4wIC00MjAuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkzLjAgNDA0LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5OC4zODg2ODIwNTUwOTc4OSAxNi43MTMzMjgzNjkzMjE5NykiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMCAyLjc3MjMyNjE2NzIwMTc1NDMpIj48cGF0aCBkPSJNMTQuMDA5MjgzOCwwIEwxNi45NzY5MTczLDAgTDE2Ljk3NjkxNzMsMTQuNzAxMjg4IEwwLDE0LjcwMTI4OCBMMCwwIEwyLjk0MzU1Mjg2LDAiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4xNzE2MDY5MTM3MDM3MjcgMC4wKSI+PHBhdGggZD0iTTAuMzE2ODUxNzYxLDEzLjg2MTYzMDggTDAuMzE2ODUxNzYxLDAiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy42ODY2MzM2MDg0NjQwMzYgOC4zMTY5Nzg1MDE2MDg5KSI+PHBhdGggZD0iTTAsMCBMNC44MDE1NzE1OCw1LjU0NDkwNTgyIEw5LjYwMzc3Njg3LDAiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/audio_download.svg\n// module id = r/7V\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"main-wrapper\"\r\n    :style=\"{ background: status === 1 ? '#84C4E5' : '' }\">\r\n    <div\r\n      class=\"title-wrapper\"\r\n      :class=\"\r\n        isFold && !isChangeMoral\r\n          ? 'foldaimation'\r\n          : !isFold && !isChangeMoral\r\n          ? 'foldaimation1'\r\n          : ''\r\n      \">\r\n      <div class=\"status-wrapper\"\r\n        @click=\"showDetail\">\r\n        <span class=\"status\"\r\n          :style=\"{ color: status === 1 ? '#fff' : '#7E878C' }\">{{ status === 1 ? \"已解决\" : \"待解决\" }}</span>\r\n        <span class=\"fold\"\r\n          :style=\"{ color: status === 1 ? '#fff' : '#64afd5', borderColor: status === 1 ? '#fff' : '#64afd5' }\"\r\n          v-if=\"isFold\">展开</span>\r\n        <span class=\"fold\"\r\n          :style=\"{ color: status === 1 ? '#fff' : '#64afd5', borderColor: status === 1 ? '#fff' : '#64afd5' }\"\r\n          v-else>收起</span>\r\n      </div>\r\n      <div class=\"text-wrapper\">\r\n        <div ref=\"titleHistoryRef\"\r\n          class=\"title\">\r\n          <span class=\"prewrap-content\" :class=\"[moralComprehend.course_question_isuseradd != 1 ? 'title-official' : '']\">{{ moralComprehend.index }}.&nbsp;{{\r\n              moralComprehend.course_question_title\r\n            }}</span>\r\n        </div>\r\n        <div class=\"small-questions\"\r\n          v-if=\"!isFold\">\r\n          <span class=\"smallquestion prewrap-content\"\r\n            :class=\"status === 1 ? 'settled' : ''\"\r\n            v-for=\"(item, index) in moralComprehend.course_question_small\"\r\n            :key=\"'smallquestion' + index\">{{ item.course_question_small_title }}</span>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"questions-wrapper\" id=\"cardBoxMoralQuestionsHis\">\r\n      <div class=\"title\" id=\"moralTitle\">道理上的理解<span class=\"doneNum\">{{ doneNum }}</span><span class=\"totalNum\"> / {{ slides.length }}</span></div>\r\n      <div class=\"swiper\">\r\n        <swiper\r\n          ref=\"mySwiperMainHis\"\r\n          :options=\"swiperOptions\"\r\n          id=\"mySwiperHistory\">\r\n          <template>\r\n            <swiper-slide\r\n              v-if=\"slides.length\"\r\n              class=\"swiper-slide\"\r\n              v-for=\"(item, index) in slides\"\r\n              :key=\"'slides' + index\">\r\n              <div class=\"content\"\r\n                :class=\"item.status ? 'content1' : 'content0'\">\r\n                <span class=\"ellipsis-content course_solve_content\">{{item.course_solve_content }}</span>\r\n              </div>\r\n            </swiper-slide>\r\n          </template>\r\n          <div v-show=\"courseIsuseradd == 2 && slides.length > 0\" class=\"swiper-pagination2\"\r\n              slot=\"pagination\"></div>\r\n        </swiper>\r\n      </div>\r\n      <NoData v-if=\"!slides.length\" />\r\n      <div class=\"question_list_container\" id=\"questionListHis\" v-if=\"slides.length\">\r\n        <div class=\"title1\">事实上的理解</div>\r\n        <template v-if=\"selectedData && selectedData.course_solve_shishi.length\">\r\n          <div v-for=\"(item, index) in selectedData.course_solve_shishi\" class=\"course_solve\"\r\n          >{{ item.course_solve_content }}</div>\r\n        </template>\r\n        <div v-else class=\"course_solve\">未填写</div>\r\n        <div class=\"title1\">摆脱错误观念</div>\r\n        <template v-if=\"selectedData && selectedData.course_solve_cuowu.length\">\r\n          <div v-for=\"(item, index) in selectedData.course_solve_cuowu\" class=\"course_solve\"\r\n          >{{ item.course_solve_content }}</div>\r\n        </template>\r\n        <div v-else class=\"course_solve\">未填写</div>\r\n      </div>\r\n    </div>\r\n    <el-drawer\r\n      title=\"道理上的理解\"\r\n      :visible=\"drawer\"\r\n      :modal=\"false\"\r\n      :show-close=\"false\"\r\n      direction=\"btt\"\r\n      >\r\n      <template slot=\"title\">\r\n        <div style=\"display: flex; justify-content: space-between;\">\r\n          <span>道理上的理解</span>\r\n          <i class=\"el-icon-close\" @click=\"drawer = false\"></i>\r\n        </div>\r\n      </template>\r\n      <div v-if=\"selectedData\" style=\"text-align: justify;\">{{selectedData.course_solve_content}}</div>\r\n    </el-drawer>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\n//导入swiper\r\nimport \"swiper/dist/css/swiper.css\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nimport {\r\n  getQuestionSolve,\r\n  getUserCourseProgress,\r\n} from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport NoData from \"@/components/NoData\";\r\n\r\nexport default {\r\n  components: { swiper, swiperSlide, NoData },\r\n  data() {\r\n    return {\r\n      swiperOptions: {\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // slidesPerView: 5,\r\n        grabCursor: true,\r\n        slidesPerView: \"auto\",\r\n        spaceBetween: 0,\r\n        centeredSlides: true,\r\n        // width: \"auto\",\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: false,\r\n        pagination: {\r\n          el: \".swiper-pagination2\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          tap: (e) => {\r\n            if(e && e.touches && e.touches[0]) {\r\n              e.touches[0].preventDefault();\r\n              e.touches[0].stopPropagation();\r\n            }\r\n            let swiper = this.$refs.mySwiperMainHis.swiper;\r\n            let currentIndex = null;\r\n            console.log('tap:', swiper.clickedIndex, this.currentIndex, e.touches);\r\n            // alert(`tap:${swiper.clickedIndex},${this.currentIndex},${e.touches}`);\r\n            if(swiper.clickedIndex != this.currentIndex) {\r\n              this.drawer = false;\r\n            } else {\r\n              this.drawer = true;\r\n            }\r\n            if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n              currentIndex = swiper.clickedIndex;\r\n              this.selectedData = this.slides[swiper.clickedIndex];\r\n              this.swiper.slideTo(swiper.clickedIndex);\r\n              console.log(this.selectedData);\r\n            }\r\n            // else if (swiper.activeIndex || swiper.activeIndex === 0) {\r\n            //   currentIndex = swiper.activeIndex;\r\n            //   this.swiper.slideTo(swiper.activeIndex);\r\n            //   this.selectedData = this.slides[swiper.activeIndex];\r\n            //   console.log(this.selectedData);\r\n            // }\r\n          },\r\n          slideChange: () => {\r\n            let swiper = this.$refs.mySwiperMainHis.swiper;\r\n            console.log(\"slideChange:\", this.drawer, swiper.activeIndex, this.currentIndex);\r\n            // 点击小图, 大图对应切换\r\n            this.swiper.realIndex = swiper.activeIndex;\r\n            this.selectedData = this.slides[swiper.activeIndex];\r\n            let timeout = setTimeout(() => {\r\n              this.currentIndex = swiper.activeIndex;\r\n              clearTimeout(timeout);\r\n            }, 200);\r\n          },\r\n        },\r\n      },\r\n      slides: [],\r\n      inited: false,\r\n      selectedData: null,\r\n      progress_solve_question_ids: \"\",\r\n      status: \"\",\r\n      course_solve_isuseradd: \"\",\r\n      isActivated: true,\r\n      flag: true,\r\n      isFold: true,\r\n      titleRefHeight: 0,\r\n      smallquestionHeight: 0,\r\n      isChangeMoral: true,\r\n      currentIndex: 0,\r\n      isAnimationing: false,\r\n      doneNum: 0,\r\n      drawer: false\r\n      // problemSolveList: []\r\n    };\r\n  },\r\n  props: {\r\n    moralComprehend: {\r\n      type: Object,\r\n      default: () => {}\r\n    }\r\n  },\r\n  computed: {\r\n    swiper() {\r\n      return this.$refs.mySwiperMainHis.swiper;\r\n    },\r\n    guideSwiper() {\r\n      return this.$refs.guide_mySwiperMain.swiper;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    // moralComprehend() {\r\n    //   return this.$store.getters.moralComprehend;\r\n    // },\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress;\r\n    },\r\n    // problemSolveList() {\r\n    //   return this.$store.getters.problemSolveList;\r\n    // },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n  },\r\n  watch: {\r\n    moralComprehend: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"moralComprehend:\", newVal);\r\n        if (newVal) {\r\n          const course_question_id = this.moralComprehend.course_question_id;\r\n          if (\r\n            this.progress_solve_question_ids.indexOf(course_question_id) > -1\r\n          ) {\r\n            this.status = 1;\r\n          } else {\r\n            this.status = 0;\r\n          }\r\n          if(this.$refs.titleHistoryRef) {\r\n            this.titleRefHeight = this.$refs.titleHistoryRef.clientHeight;\r\n          }\r\n          this.isChangeMoral = true;\r\n          this.isFold = true;\r\n          // 先销毁，再重新初始化\r\n          // this.slides = [];\r\n          this.getQuestionSolve().then(async () => {\r\n            this.$nextTick(() => {\r\n              this.initSlidesAnimation();\r\n            });\r\n          });\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"courseProgress:\", this.courseProgress);\r\n        this.progress_solve_question_ids = v.progress_solve_question_ids || \"\";\r\n      },\r\n    }\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    next();\r\n  },\r\n  methods: {\r\n    handleClose(e) {\r\n      alert(\"alert2\")\r\n      this.drawer = false;\r\n    },\r\n    getTranslateValues(element) {\r\n      var style = window.getComputedStyle(element);\r\n      var matrix = style.transform || style.webkitTransform || style.mozTransform;\r\n      var values = matrix.split('(')[1].split(')')[0].split(',');\r\n      return {\r\n        translateX: parseFloat(values[4]),\r\n        translateY: parseFloat(values[5])\r\n      };\r\n    },\r\n    initSlidesAnimation() {\r\n      this.resizeBoxSize();\r\n      // const mySwiperHistory = document.getElementById(\"mySwiperHistory\");\r\n      // const items = mySwiperHistory.getElementsByClassName(\"swiper-slide\");\r\n      // console.log(\"items:\", items);\r\n      // const len = items.length;\r\n      // let activeIndex = 0;\r\n      // if (len % 2 == 0) {\r\n      //   activeIndex = Math.floor(len / 2) - 1;\r\n      // } else {\r\n      //   activeIndex = Math.floor(len / 2);\r\n      // }\r\n      // console.log(\"activeIndex\", activeIndex);\r\n      // this.swiper.slideTo(activeIndex);\r\n    },\r\n\r\n    // 查看详情\r\n    showDetail() {\r\n      this.isFold = !this.isFold;\r\n      this.isChangeMoral = false;\r\n    },\r\n    // 问题解决列表\r\n    getQuestionSolve() {\r\n      return new Promise(async (resolve) => {\r\n        const params = {\r\n          version_new: 1,\r\n          question_id: this.moralComprehend.course_question_id,\r\n          course_id: this.course_id,\r\n          course_question_isuseradd:\r\n            this.moralComprehend.course_question_isuseradd,\r\n        };\r\n        try {\r\n          const res = await getQuestionSolve(params);\r\n          if (res && res.code === 0) {\r\n            this.doneNum = 0;\r\n            let data = res.data;\r\n            data.forEach((item) => {\r\n              const shishi = item.course_solve_shishi;\r\n              const cuowu = item.course_solve_cuowu;\r\n              // 找出一条是用户添加的则算已完成\r\n              let shishiFinish = false;\r\n              let cuowuFinish = false;\r\n              if(shishi) {\r\n                // shishiFinish = shishi.some(item => item.course_solve_isuseradd != 2);\r\n                shishiFinish = shishi.length > 0;\r\n              }\r\n              this.$set(item, 'shishiFinish', shishiFinish);\r\n              if(cuowu) {\r\n                // cuowuFinish = cuowu.some(item => item.course_solve_isuseradd != 2);\r\n                cuowuFinish = cuowu.length > 0;\r\n              }\r\n              this.$set(item, 'cuowuFinish', cuowuFinish);\r\n              if (shishiFinish && cuowuFinish) {\r\n                // item.status = 1;\r\n                this.$set(item, 'status', 1);\r\n                this.doneNum += 1;\r\n              } else {\r\n                // item.status = 0;\r\n                this.$set(item, 'status', 0);\r\n              }\r\n            });\r\n            this.problemSolveList = data;\r\n            this.slides = data;\r\n            if(data.length > 0) {\r\n              this.selectedData = data[0]\r\n            }\r\n            this.initSwiper();\r\n            resolve();\r\n          }\r\n        } catch (error) {\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error,\r\n          // });\r\n        }\r\n      });\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({\r\n          course_id: this.course_id,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0])\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    slideToActive(activeIndex) {\r\n      if (this.slides.length) {\r\n        this.$nextTick(() => {\r\n          let swiper = this.$refs.mySwiperMainHis.swiper;\r\n          this.swiper.realIndex = activeIndex;\r\n          this.swiper.slideTo(activeIndex);\r\n          // let slides = swiper.slides;\r\n          // for (let i = 0; i < slides.length; i++) {\r\n          //   const slide = slides[i];\r\n          //   slide.style.transform = `scale(${1})`;\r\n          // }\r\n          // swiper.slides[activeIndex].style.transform = `scale(${1.1})`;\r\n        });\r\n      }\r\n    },\r\n    // 请求玩再初始化\r\n    initSwiper() {\r\n      this.inited = true;\r\n      this.$nextTick(async () => {\r\n        await this.swiper.init(); // 现在才初始化\r\n        if(this.slides.length > 0) {\r\n          this.swiper.slideTo(0)\r\n        }\r\n        // this.slideToActive(0);\r\n        // await this.swiper.setTranslate(`translateX(${0}%)`);\r\n        // await this.swiper.slideTo(this.activeItemIndex);\r\n      });\r\n    },\r\n    resizeBoxSize() {\r\n      // 设置滚动卡片容器宽度，以解决退出又返回后，因动画滑动，使容器宽度变小，导致卡片不能再次居中\r\n      // const cardBox = document.getElementById('cardBoxMoralQuestionsHis');\r\n      // if(cardBox) {\r\n      //   const height = cardBox.clientHeight;\r\n      //   const mySwiperHistory = document.getElementById('mySwiperHistory');\r\n      //   const moralTitle = document.getElementById('moralTitle');\r\n      //   const questionListHis = document.getElementById('questionListHis');\r\n      //   console.log(\"resizeBoxSize:\", height, moralTitle.clientHeight, mySwiperHistory.clientHeight)\r\n      //   questionListHis.style.height = height - moralTitle.clientHeight - mySwiperHistory.clientHeight + \"px\";\r\n      // }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.isActivated = true;\r\n    this.isChangeMoral = true;\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n    this.drawer = false;\r\n  },\r\n  mounted() {\r\n    this.titleRefHeight = this.$refs.titleHistoryRef.clientHeight + 80;\r\n    this.getQuestionSolve().then(() => {\r\n      this.$nextTick(() => {\r\n        this.initSlidesAnimation();\r\n      });\r\n    });\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.resizeBoxSize();\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.content-box {\r\n  padding-top: 32px;\r\n}\r\n.main-wrapper {\r\n  position: relative;\r\n  width: calc(100% - 433px);\r\n  height: 100%;\r\n  background: #fafafa;\r\n  padding: 0;\r\n  margin-right: 20px;\r\n  border-radius: 16px 16px 0 0;\r\n  overflow: visible;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .title-wrapper {\r\n    display: flex;\r\n    flex-direction: column;\r\n    padding: 13px 32px 0 32px;\r\n    height: 157px;\r\n    .text-wrapper{\r\n      height: calc(100% - 57px);\r\n      overflow-y: auto;\r\n    }\r\n    .status-wrapper {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 32px;\r\n      padding-bottom: 20px;\r\n      .status {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        color: #7E878C;\r\n        line-height: 28px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      .fold {\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        width: 114px;\r\n        height: 27px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        color: #FFFFFF;\r\n        // line-height: 28px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        border-radius: 15px;\r\n        border: 1px solid #64AFD5;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n    &.foldaimation {\r\n      height: 157px;\r\n      -webkit-animation: foldaimationAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: foldaimationAni 0.5s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n    @-webkit-keyframes foldaimationAni {\r\n      0% {\r\n        height: 260px;\r\n      }\r\n      100% {\r\n        height: 157px;\r\n      }\r\n    }\r\n    @keyframes foldaimationAni {\r\n      0% {\r\n        height: 260px;\r\n      }\r\n      100% {\r\n        height: 157px;\r\n      }\r\n    }\r\n    &.foldaimation1 {\r\n      // min-height: 260px;\r\n      -webkit-animation: foldaimation1Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: foldaimation1Ani 0.5s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n    @-webkit-keyframes foldaimation1Ani {\r\n      0% {\r\n        height: 157px;\r\n      }\r\n      100% {\r\n        height: 260px;\r\n      }\r\n    }\r\n    @keyframes foldaimation1Ani {\r\n      0% {\r\n        height: 157px;\r\n      }\r\n      100% {\r\n        height: 260px;\r\n      }\r\n    }\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #292929;\r\n      line-height: 28px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      padding-bottom: 10px;\r\n    }\r\n    .prewrap-content {\r\n      white-space: normal;\r\n      &.title-official {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: bold;\r\n      }\r\n    }\r\n    .smallquestion {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #292929;\r\n      line-height: 21px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      white-space: pre-wrap;\r\n      word-wrap: break-word;\r\n      word-break: break-all;\r\n      padding-left: 15px;\r\n      padding-bottom: 20px;\r\n      position: relative;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 0px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: #7e878c;\r\n      }\r\n    }\r\n    .smallquestion.settled {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 0px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: #000;\r\n      }\r\n    }\r\n  }\r\n  .questions-wrapper {\r\n    position: relative;\r\n    width: 100%;\r\n    min-height: calc(100vh - 250px);\r\n    // height: 100%;\r\n    background: #fafafa;\r\n    box-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.1);\r\n    border-radius: 16px 16px 0px 0px;\r\n    flex: 1;\r\n    display: flex;\r\n    flex-direction: column;\r\n    .title {\r\n      padding: 24px 33px 16px 49px;\r\n      font-family: SourceHanSansCN-Medium;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #64AFD5;\r\n      line-height: 24px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      position: relative;\r\n      &::before {\r\n        content: '';\r\n        position: absolute;\r\n        width: 9px;\r\n        height: 9px;\r\n        background-color: #64AFD5;\r\n        border-radius: 50%;\r\n        left: 33px;\r\n        top: 32px;\r\n      }\r\n      .doneNum {\r\n        padding-left: 14px;\r\n        font-size: 14px;\r\n        color: #64AFD5;\r\n      }\r\n      .totalNum {\r\n        font-size: 14px;\r\n        color: #D4D9DB;\r\n      }\r\n    }\r\n    .question_list_container {\r\n      padding: 0 33px;\r\n      overflow-y: auto;\r\n      flex: 1;\r\n      .title1 {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 16px;\r\n        color: #64AFD5;\r\n        line-height: 24px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        position: relative;\r\n        padding-left: 16px;\r\n        &::before {\r\n          content: '';\r\n          position: absolute;\r\n          width: 6px;\r\n          height: 6px;\r\n          background-color: #64AFD5;\r\n          border-radius: 50%;\r\n          left: 0;\r\n          top: 9px;\r\n        }\r\n      }\r\n      .course_solve {\r\n        margin: 16px 0;\r\n        padding: 15px;\r\n        background-color: #fff;\r\n        border-radius: 8px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #292929;\r\n        line-height: 21px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n    }\r\n\r\n  }\r\n}\r\n.small-questions {\r\n  flex: 1;\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding-left: 9px;\r\n}\r\n\r\n.swiper {\r\n  width: 100%;\r\n  position: relative;\r\n  overflow-y: auto;\r\n  .swiper-pagination2 {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n  .operates {\r\n    position: absolute;\r\n    top: 27px;\r\n    right: 27px;\r\n    z-index: 101;\r\n    img {\r\n      width: 10px;\r\n      height: 10px;\r\n    }\r\n    .sort-btn {\r\n      width: 90px;\r\n      height: 27px;\r\n      border-radius: 13px;\r\n      border: 1px solid #64AFD5;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      color: #64AFD5;\r\n      cursor: pointer;\r\n      img  {\r\n        margin-right: 7px;\r\n      }\r\n    }\r\n    .sorting {\r\n      display: flex;\r\n      .sort-btn1 {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        color: #64AFD5;\r\n        line-height: 28px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        opacity: 0.5;\r\n        img {\r\n          margin-right: 5px;\r\n        }\r\n      }\r\n      .btn {\r\n        margin-left: 7px;\r\n        width: 68px;\r\n        height: 27px;\r\n        border-radius: 13px;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        line-height: 28px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        cursor: pointer;\r\n      }\r\n      .finish {\r\n        background: #64AFD5;\r\n        border: 1px solid #64AFD5;\r\n        color: #fff;\r\n      }\r\n      .cancel {\r\n        background: transparent;\r\n        border: 1px solid #64AFD5;\r\n        color: #64AFD5;\r\n      }\r\n    }\r\n  }\r\n}\r\n/deep/ .swiper-container {\r\n  width: 100%;\r\n  // height: 100%;\r\n}\r\n/deep/ .swiper-wrapper {\r\n  // align-items: center;\r\n  height: 80%;\r\n}\r\n/deep/ .swiper-pagination2 {\r\n  // align-items: center;\r\n  padding: 16px 0;\r\n}\r\n/deep/ .swiper-pagination-fraction,\r\n.swiper-pagination-custom,\r\n.swiper-container-horizontal > .swiper-pagination-bullets {\r\n  bottom: 10%;\r\n  position: relative;\r\n  z-index: 999;\r\n}\r\n/deep/ .swiper-slide {\r\n  width: 327px;\r\n  height: 161px;\r\n  margin-left: 17px;\r\n  background-size: cover;\r\n  background-position: center center;\r\n  background-repeat: no-repeat;\r\n\r\n  /* Center slide text vertically */\r\n  display: -webkit-box;\r\n  display: -ms-flexbox;\r\n  display: -webkit-flex;\r\n  display: flex;\r\n  -webkit-box-pack: center;\r\n  -ms-flex-pack: center;\r\n  -webkit-justify-content: center;\r\n  justify-content: center;\r\n  -webkit-box-align: center;\r\n  -ms-flex-align: center;\r\n  -webkit-align-items: center;\r\n  align-items: center;\r\n  &:hover {\r\n    transform: scale(1);\r\n  }\r\n}\r\n/deep/ .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {\r\n  // margin: 0 8px;\r\n}\r\n/deep/ .swiper-pagination-bullet {\r\n  width: 6px;\r\n  height: 6px;\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  background-color: @thinking;\r\n  width: 6px;\r\n  height: 6px;\r\n}\r\n\r\n.content {\r\n  width: 100%;\r\n  height: 100%;\r\n  border-radius: 16px;\r\n  padding: 16px;\r\n  display: flex;\r\n  align-items: center;\r\n  &.content0 {\r\n    color: #000;\r\n    background: #eaedef;\r\n  }\r\n  &.content1 {\r\n    color: #fff;\r\n    background: #84C4E5;\r\n  }\r\n  .course_solve_content {\r\n    -webkit-line-clamp: 5;\r\n    line-clamp: 5;\r\n    word-break: break-all;\r\n    white-space: pre-wrap;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: bold;\r\n    font-size: 16px;\r\n    color: #292929;\r\n    line-height: 21px;\r\n    text-align: justify;\r\n    font-style: normal;\r\n  }\r\n}\r\n/deep/ .el-drawer {\r\n  padding-bottom: 20px;\r\n}\r\n/deep/ .el-drawer__header {\r\n  margin-bottom: 20px;\r\n  padding: 20px 20px 0;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  font-size: 16px;\r\n  // color: #292929;\r\n  line-height: 24px;\r\n  text-align: left;\r\n  font-style: normal;\r\n}\r\n/deep/ .el-drawer__body {\r\n  padding: 0 20px;\r\n  word-break: break-all;\r\n  white-space: pre-wrap;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: bold;\r\n  font-size: 16px;\r\n  color: #292929;\r\n  line-height: 21px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MoralQuestionsMainHis.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-wrapper\",style:({ background: _vm.status === 1 ? '#84C4E5' : '' })},[_c('div',{staticClass:\"title-wrapper\",class:_vm.isFold && !_vm.isChangeMoral\n        ? 'foldaimation'\n        : !_vm.isFold && !_vm.isChangeMoral\n        ? 'foldaimation1'\n        : ''},[_c('div',{staticClass:\"status-wrapper\",on:{\"click\":_vm.showDetail}},[_c('span',{staticClass:\"status\",style:({ color: _vm.status === 1 ? '#fff' : '#7E878C' })},[_vm._v(_vm._s(_vm.status === 1 ? \"已解决\" : \"待解决\"))]),_vm._v(\" \"),(_vm.isFold)?_c('span',{staticClass:\"fold\",style:({ color: _vm.status === 1 ? '#fff' : '#64afd5', borderColor: _vm.status === 1 ? '#fff' : '#64afd5' })},[_vm._v(\"展开\")]):_c('span',{staticClass:\"fold\",style:({ color: _vm.status === 1 ? '#fff' : '#64afd5', borderColor: _vm.status === 1 ? '#fff' : '#64afd5' })},[_vm._v(\"收起\")])]),_vm._v(\" \"),_c('div',{staticClass:\"text-wrapper\"},[_c('div',{ref:\"titleHistoryRef\",staticClass:\"title\"},[_c('span',{staticClass:\"prewrap-content\",class:[_vm.moralComprehend.course_question_isuseradd != 1 ? 'title-official' : '']},[_vm._v(_vm._s(_vm.moralComprehend.index)+\". \"+_vm._s(_vm.moralComprehend.course_question_title))])]),_vm._v(\" \"),(!_vm.isFold)?_c('div',{staticClass:\"small-questions\"},_vm._l((_vm.moralComprehend.course_question_small),function(item,index){return _c('span',{key:'smallquestion' + index,staticClass:\"smallquestion prewrap-content\",class:_vm.status === 1 ? 'settled' : ''},[_vm._v(_vm._s(item.course_question_small_title))])}),0):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"questions-wrapper\",attrs:{\"id\":\"cardBoxMoralQuestionsHis\"}},[_c('div',{staticClass:\"title\",attrs:{\"id\":\"moralTitle\"}},[_vm._v(\"道理上的理解\"),_c('span',{staticClass:\"doneNum\"},[_vm._v(_vm._s(_vm.doneNum))]),_c('span',{staticClass:\"totalNum\"},[_vm._v(\" / \"+_vm._s(_vm.slides.length))])]),_vm._v(\" \"),_c('div',{staticClass:\"swiper\"},[_c('swiper',{ref:\"mySwiperMainHis\",attrs:{\"options\":_vm.swiperOptions,\"id\":\"mySwiperHistory\"}},[_vm._l((_vm.slides),function(item,index){return (_vm.slides.length)?_c('swiper-slide',{key:'slides' + index,staticClass:\"swiper-slide\"},[_c('div',{staticClass:\"content\",class:item.status ? 'content1' : 'content0'},[_c('span',{staticClass:\"ellipsis-content course_solve_content\"},[_vm._v(_vm._s(item.course_solve_content))])])]):_vm._e()}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.courseIsuseradd == 2 && _vm.slides.length > 0),expression:\"courseIsuseradd == 2 && slides.length > 0\"}],staticClass:\"swiper-pagination2\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2)],1),_vm._v(\" \"),(!_vm.slides.length)?_c('NoData'):_vm._e(),_vm._v(\" \"),(_vm.slides.length)?_c('div',{staticClass:\"question_list_container\",attrs:{\"id\":\"questionListHis\"}},[_c('div',{staticClass:\"title1\"},[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),(_vm.selectedData && _vm.selectedData.course_solve_shishi.length)?_vm._l((_vm.selectedData.course_solve_shishi),function(item,index){return _c('div',{staticClass:\"course_solve\"},[_vm._v(_vm._s(item.course_solve_content))])}):_c('div',{staticClass:\"course_solve\"},[_vm._v(\"未填写\")]),_vm._v(\" \"),_c('div',{staticClass:\"title1\"},[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),(_vm.selectedData && _vm.selectedData.course_solve_cuowu.length)?_vm._l((_vm.selectedData.course_solve_cuowu),function(item,index){return _c('div',{staticClass:\"course_solve\"},[_vm._v(_vm._s(item.course_solve_content))])}):_c('div',{staticClass:\"course_solve\"},[_vm._v(\"未填写\")])],2):_vm._e()],1),_vm._v(\" \"),_c('el-drawer',{attrs:{\"title\":\"道理上的理解\",\"visible\":_vm.drawer,\"modal\":false,\"show-close\":false,\"direction\":\"btt\"}},[_c('template',{slot:\"title\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('span',[_vm._v(\"道理上的理解\")]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-close\",on:{\"click\":function($event){_vm.drawer = false}}})])]),_vm._v(\" \"),(_vm.selectedData)?_c('div',{staticStyle:{\"text-align\":\"justify\"}},[_vm._v(_vm._s(_vm.selectedData.course_solve_content))]):_vm._e()],2)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c19bfa2a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MoralQuestionsMainHis.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c19bfa2a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MoralQuestionsMainHis.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralQuestionsMainHis.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralQuestionsMainHis.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c19bfa2a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MoralQuestionsMainHis.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-c19bfa2a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MoralQuestionsMainHis.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"main-content  bg-white\"\r\n    :class=\"[\r\n      !isContained\r\n        ? isOpen\r\n          ? 'big-view-box-page'\r\n          : 'outof-big-view-box-page'\r\n        : ''\r\n    ]\"\r\n  >\r\n    <div class=\"content-box\">\r\n      <div\r\n        class=\"content-box-title\"\r\n        :class=\"isContained ? 'isContained' : ''\"\r\n        @click=\"back\"\r\n      >\r\n        <img\r\n          v-if=\"isContained\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/thinking.svg'\"\r\n        />\r\n        历史版本（只读）\r\n      </div>\r\n      <div class=\"content-box-content\" v-show=\"questionList && questionList.length\">\r\n        <swiper\r\n          ref=\"questionListHistorySwiper\"\r\n          id=\"questionListHistorySwiper\"\r\n          :key=\"swiperKey\"\r\n          :options=\"swiperOption\"\r\n          class=\"show-swiper\">\r\n          <template>\r\n            <template>\r\n              <swiper-slide :key=\"index\"\r\n                class=\"swiper-slide-sub\"\r\n                v-for=\"(item, index) in slides\">\r\n                <el-card class=\"box-card\"\r\n                  :class=\"item.status ? 'box-card1' : ''\">\r\n                  <div @mouseover=\"mouseoverArrow(index, item)\"\r\n                    @mouseleave=\"mouseleaveArrow(index, item)\">\r\n                    <div class=\"header\">\r\n                      <span class=\"num\"\r\n                        :class=\"item.status ? 'num1' : 'num0'\">{{ index + 1 + \".\" }}\r\n                      </span>\r\n                      <span class=\"status\"\r\n                        :class=\"item.status ? 'status1' : 'status0'\">{{ item.status ? \"已解决\" : \"未解决\" }}</span>\r\n                    </div>\r\n                    <div class=\"text item\"\r\n                      :class=\"item.status ? 'text1' : 'text0'\">\r\n                      <span class=\"text-content prewrap-content\" :class=\"[item.course_question_isuseradd != 1 ? 'text-content-official' : '']\">{{ item.course_question_title }}\r\n                      </span>\r\n                      <img v-if=\"item.status && !item.isHover\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'questionHisDoneArrow' + index\"\r\n                        src=\"@/assets/img/quesion_done.svg\" />\r\n                      <img v-if=\"item.status && item.isHover\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'questionHisDoneArrowHover' + index\"\r\n                        src=\"@/assets/img/think_arrow_finish.svg\" />\r\n                      <img v-if=\"!item.status\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'thinkArrow' + index\"\r\n                        src=\"@/assets/img/think_arrow1.svg\" />\r\n                    </div>\r\n                  </div>\r\n                </el-card>\r\n              </swiper-slide>\r\n            </template>\r\n            <div class=\"swiper-pagination\"\r\n              slot=\"pagination\"></div>\r\n          </template>\r\n        </swiper>\r\n\r\n        <MoralQuestionsMainHis\r\n          :moralComprehend=\"selectedData\"\r\n          id=\"moralQuestionsMainHis\"\r\n          ref=\"moralQuestionsMainHis\"\r\n          />\r\n      </div>\r\n      <NoData v-if=\"questionList && questionList.length === 0\" />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nimport { getQuestionHistory, getUserProgressHistory } from \"@/api/index\";\r\nimport MoralQuestionsMainHis from \"./MoralQuestionsMainHis.vue\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport NoData from \"@/components/NoData\";\r\n\r\nexport default {\r\n  name: 'QuestionListHistory',\r\n  mixins: [openOtherPageMixins],\r\n  components: { swiper, swiperSlide, MoralQuestionsMainHis, NoData },\r\n  beforeRouteEnter(to, from, next) {\r\n    next(vm => {\r\n      if (from.name == \"index\") {\r\n        const isContained = vm.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        if(!isContained) {\r\n          vm.isOpen = true;\r\n        }\r\n      }\r\n    });\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    console.log(\"beforeRouteLeave\");\r\n    if (to.name == \"index\") {\r\n      this.isOpen = false;\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      next();\r\n      this.$store.dispatch(\"popHistoryOperate\", {\r\n        type: \"openOtherPage\"\r\n      });\r\n    } else {\r\n      next();\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      swiperKey: Math.random().toString(36).substr(2) /*随机的key*/,\r\n      isOpen: true,\r\n      questionList: [],\r\n      progress_solve_question_ids: \"\",\r\n      slides: [],\r\n      inited: false,\r\n      selectedData: {},\r\n      activeIndex: 0,\r\n      courseProgress: {},\r\n      isContained: false,\r\n      swiperOption: {\r\n        direction: \"vertical\",\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // 设置slider容器能够同时显示的slides数量，默认为1， 'auto'则自动根据slides的宽度来设定数量\r\n        slidesPerView: \"auto\",\r\n        /*\r\n         * 开启这个参数来计算每个slide的progress(进度、进程)\r\n         * 对于slide的progress属性，活动的那个为0，其他的依次减1\r\n         */\r\n        watchSlidesProgress: true,\r\n        // 默认active slide居左，设置为true后居中\r\n        centeredSlides: true,\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: false,\r\n        // height: 700,\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          init: () => {\r\n            console.log(\"initinitinit\")\r\n            const items = this.getSwiperSlides();\r\n            const activeIndex = this.$refs.questionListHistorySwiper.swiper.activeIndex;\r\n            this.$refs.questionListHistorySwiper.swiper.clickedIndex = 0;\r\n            const len = items.length;\r\n            for (let i = 0; i < items.length; i++) {\r\n              const slide = items[i]; // 指定匹配元素集缩减值\r\n              const diff = activeIndex - i;\r\n              const translateY = this.$px2rem(diff * 0.22 * 242); // 166是swiper-slide的高度\r\n              const translateX = this.$px2rem(-50);\r\n              console.log(\"this.activeIndex:\", this.activeIndex, i, translateY, translateX);\r\n              if (i === this.activeIndex) {\r\n                slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.93})`;\r\n              } else {\r\n                slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.83}`;\r\n              }\r\n              slide.style.transition = `all ${0.8}s linear`;\r\n            }\r\n            // if(this.slides.length > 0) {\r\n            //   this.clickSlide(0.3, this.slides[0]);\r\n            // }\r\n          },\r\n          tap: (e) => {\r\n            let swiper = this.$refs.questionListHistorySwiper.swiper;\r\n            const activeIndex = this.$refs.questionListHistorySwiper.swiper.clickedIndex;\r\n            console.log('--mlnkl:',activeIndex, this.activeIndex, swiper.clickedIndex);\r\n            if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n              const data = this.slides[swiper.clickedIndex];\r\n              const items = this.getSwiperSlides();\r\n              this.selectedData = data;\r\n              for (let i = 0; i < items.length; i++) {\r\n                if (this.activeIndex === i) {\r\n                  this.backSlideTo(this.slides[this.activeIndex], this.activeIndex, activeIndex);\r\n                }\r\n              }\r\n              this.activeIndex = activeIndex;\r\n              this.clickSlide(0.3, this.slides[activeIndex]);\r\n            }\r\n          },\r\n          slideChange: () => {\r\n            console.log('slideChange');\r\n            if(!this.$refs.questionListHistorySwiper || this.slides.length == 0) {\r\n              return\r\n            }\r\n            const activeIndex =\r\n              this.$refs.questionListHistorySwiper.swiper.activeIndex;\r\n            console.log(activeIndex);\r\n            const items = this.getSwiperSlides();\r\n            const len = items.length;\r\n            this.$refs.questionListHistorySwiper.swiper.clickedIndex = activeIndex;\r\n            this.$set(this.slides[activeIndex], \"isHover\", 1);\r\n            this.selectedData = this.slides[activeIndex];\r\n            console.log(\"this.activeIndex:\", this.activeIndex, activeIndex);\r\n            for (let i = 0; i < len; i++) {\r\n              if (this.activeIndex === i) {\r\n                this.backSlideTo(\r\n                  this.slides[this.activeIndex],\r\n                  this.activeIndex,\r\n                  activeIndex\r\n                );\r\n              }\r\n            }\r\n            this.activeIndex = activeIndex;\r\n            this.clickSlide(0.3, this.slides[activeIndex]);\r\n          },\r\n        },\r\n      },\r\n    }\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n    swiper() {\r\n      return this.$refs.questionListHistorySwiper.swiper;\r\n    },\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"course_id:\", newVal);\r\n        // this.inited = false;\r\n        if ((newVal || newVal == 0)) {\r\n          this.getQuestionHistory();\r\n        }\r\n      },\r\n    },\r\n    historyOperate: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.isContained = this.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        console.log(this.isContained);\r\n      },\r\n      immediate: true\r\n    }\r\n  },\r\n  methods: {\r\n    back() {\r\n      console.log(\"back:\", this.openOtherPageIng);\r\n      if (this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      const isContained = this.historyOperate.some(item => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      console.log(isContained);\r\n      if (isContained) {\r\n        console.log(\"replace\");\r\n        this.$router.replace(\"/\");\r\n      } else {\r\n        this.$router.back();\r\n      }\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    async initStatus() {\r\n      await this.getUserProgressHistory();\r\n      this.initSwiper();\r\n      this.progress_solve_question_ids = this.courseProgress.progress_solve_question_ids || \"\";\r\n      let len = this.progress_solve_question_ids\r\n        ? this.progress_solve_question_ids.split(\",\").length\r\n        : 0;\r\n\r\n      this.slides.forEach((item, index) => {\r\n        item.index = index + 1;\r\n        const course_question_id = item.course_question_id;\r\n        if (\r\n          this.progress_solve_question_ids.includes(course_question_id)\r\n        ) {\r\n          item.status = 1;\r\n        } else {\r\n          item.status = 0;\r\n        }\r\n        if (\r\n          this.selectedData &&\r\n          this.selectedData.course_question_id == course_question_id\r\n        ) {\r\n          this.$set(item, \"isHover\", 1);\r\n        } else {\r\n          this.$set(item, \"isHover\", 0);\r\n        }\r\n      });\r\n\r\n      if (this.slides && this.slides.length) {\r\n        if (this.slides.length) {\r\n          this.$refs.questionListHistorySwiper.swiper.activeIndex = 0;\r\n          this.$refs.questionListHistorySwiper.swiper.clickedIndex = 0;\r\n          this.activeIndex = 0;\r\n          this.clickSlide(0.3, this.slides[0]);\r\n        }\r\n      }\r\n    },\r\n    async getQuestionHistory() {\r\n      if(!this.course_id || this.courseIsuseradd != '2') {\r\n        return;\r\n      }\r\n      try {\r\n        const res = await getQuestionHistory({\r\n          course_id: this.course_id,\r\n          small_list: 1,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.questionList = res.data;\r\n          this.slides = res.data;\r\n          if(res.data.length) {\r\n            this.selectedData = res.data[0];\r\n          } else {\r\n            this.selectedData = {}\r\n          }\r\n          this.initStatus();\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getUserProgressHistory() {\r\n      if(!this.course_id) {\r\n        return;\r\n      }\r\n      try {\r\n        const res = await getUserProgressHistory({\r\n          course_id: this.course_id\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.courseProgress = res.data[0];\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 销毁swiper\r\n    async destroySwiper() {\r\n      await this.swiper.destroy();\r\n    },\r\n    // 请求玩再初始化\r\n    initSwiper() {\r\n      console.log(\"initSwiper\");\r\n      this.$nextTick(async () => {\r\n        if(this.swiper) {\r\n          await this.swiper.init(); // 现在才初始化\r\n          this.inited = true;\r\n        }\r\n      });\r\n    },\r\n    getSwiperSlides() {\r\n      const questionListHistorySwiper = document.getElementById(\"questionListHistorySwiper\");\r\n      const items =\r\n        questionListHistorySwiper.getElementsByClassName(\"swiper-slide-sub\");\r\n      return items;\r\n    },\r\n    mouseoverArrow(index, data) {\r\n      if (this.activeIndex !== index) {\r\n        if (data.status) {\r\n          // 已完成\r\n          this.$set(data, \"isHover\", 1);\r\n\r\n          this.$nextTick(() => {\r\n            if (this.$refs[\"questionHisDoneArrowHover\" + index]) {\r\n              this.$refs[\"questionHisDoneArrowHover\" + index][0].style.transform =\r\n                \"translateX(8px)\";\r\n              this.$refs[\"questionHisDoneArrowHover\" + index][0].style.transition =\r\n                \"all 0.3s linear\";\r\n            }\r\n          });\r\n        } else {\r\n          if (this.$refs[\"thinkArrow\" + index]) {\r\n            this.$refs[\"thinkArrow\" + index][0].style.transform =\r\n              \"translateX(8px)\";\r\n            this.$refs[\"thinkArrow\" + index][0].style.transition =\r\n              \"all 0.3s linear\";\r\n          }\r\n        }\r\n      }\r\n    },\r\n    mouseleaveArrow(index, data) {\r\n      if (this.activeIndex !== index) {\r\n        if (data.status) {\r\n          // 已完成\r\n          this.$set(data, \"isHover\", 0);\r\n          this.$nextTick(() => {\r\n            if (this.$refs[\"questionHisDoneArrow\" + index]) {\r\n              this.$refs[\"questionHisDoneArrow\" + index][0].style.transform =\r\n                \"translateX(0)\";\r\n              this.$refs[\"questionHisDoneArrow\" + index][0].style.transition =\r\n                \"all 0.3s linear\";\r\n            }\r\n          });\r\n        } else {\r\n          if (this.$refs[\"thinkArrow\" + index]) {\r\n            this.$refs[\"thinkArrow\" + index][0].style.transform =\r\n              \"translateX(0)\";\r\n            this.$refs[\"thinkArrow\" + index][0].style.transition =\r\n              \"all 0.3s linear\";\r\n          }\r\n        }\r\n      }\r\n    },\r\n    backSlideTo(data, activeIndex, activeIndex1) {\r\n      console.log('backSlideTo:', data, activeIndex, activeIndex1);\r\n      if (data.status) {\r\n        // 已完成\r\n        this.$set(data, \"isHover\", 1);\r\n        this.$nextTick(() => {\r\n          console.log(this.$refs[\"questionHisDoneArrowHover\" + activeIndex]);\r\n          if (this.$refs[\"questionHisDoneArrowHover\" + activeIndex]) {\r\n            this.$refs[\r\n              \"questionHisDoneArrowHover\" + activeIndex\r\n            ][0].style.transform = \"translateX(0)\";\r\n            this.$refs[\r\n              \"questionHisDoneArrowHover\" + activeIndex\r\n            ][0].style.transition = \"all 0.3s linear\";\r\n          }\r\n          let timeout = setTimeout(() => {\r\n            clearTimeout(timeout);\r\n            if (activeIndex != activeIndex1) {\r\n              this.$set(data, \"isHover\", 0);\r\n            }\r\n            // this.$set(data, \"isHover\", 0);\r\n          }, 400);\r\n        });\r\n      } else {\r\n        if (this.$refs[\"thinkArrow\" + activeIndex]) {\r\n          this.$refs[\"thinkArrow\" + activeIndex][0].style.transform =\r\n            \"translateX(0)\";\r\n          this.$refs[\"thinkArrow\" + activeIndex][0].style.transition =\r\n            \"all 0.3s linear\";\r\n        }\r\n      }\r\n    },\r\n    slideTo(data) {\r\n      if (data.status) {\r\n        // 已完成\r\n        this.$set(data, \"isHover\", 1);\r\n        this.$nextTick(() => {\r\n          console.log(this.$refs[\"questionHisDoneArrowHover\" + this.activeIndex]);\r\n          if (this.$refs[\"questionHisDoneArrowHover\" + this.activeIndex]) {\r\n            this.$refs[\r\n              \"questionHisDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n            this.$refs[\r\n              \"questionHisDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transition = \"all 0.3s linear\";\r\n          }\r\n        });\r\n      } else {\r\n        if (this.$refs[\"thinkArrow\" + this.activeIndex]) {\r\n          this.$refs[\r\n            \"thinkArrow\" + this.activeIndex\r\n          ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n          this.$refs[\"thinkArrow\" + this.activeIndex][0].style.transition =\r\n            \"all 0.3s linear\";\r\n        }\r\n      }\r\n    },\r\n    clickSlide(duration = 0.8, data) {\r\n      const items = this.getSwiperSlides();\r\n      const activeIndex = this.$refs.questionListHistorySwiper.swiper.clickedIndex;\r\n      console.log(\"activeIndexactiveIndex:\", activeIndex);\r\n      this.activeIndex = activeIndex;\r\n      this.$refs.questionListHistorySwiper.swiper.slideTo(activeIndex);\r\n      this.slideTo(data);\r\n      this.$set(this.slides[activeIndex], \"isHover\", 1);\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const diff = activeIndex - i;\r\n        const translateY = this.$px2rem(diff * 0.22 * 242); // 166是swiper-slide的高度\r\n        const translateX = this.$px2rem(-50);\r\n        if (i === this.activeIndex) {\r\n          slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.93})`;\r\n        } else {\r\n          slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.83}`;\r\n        }\r\n        slide.style.transition = `all ${duration}s linear`;\r\n      }\r\n    },\r\n  },\r\n  activated() {\r\n    this.getQuestionHistory();\r\n  },\r\n  mounted() {\r\n  },\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n\r\n.isContained {\r\n  display: flex;\r\n}\r\n\r\n.content-box {\r\n  height: 100%;\r\n  overflow: hidden;\r\n}\r\n.content-box-title {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: bold;\r\n  font-size: 16px;\r\n  color: #A3B1B9;\r\n  line-height: 24px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  padding-top: 27px;\r\n  padding-left: 71px;\r\n  cursor: pointer;\r\n}\r\n.content-box-content {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  height: calc(100% - 51px);\r\n  padding-top: 15px;\r\n}\r\n.show-swiper {\r\n  // top: 20px;\r\n  width: 420px;\r\n  height: calc(100% - 20px);\r\n  // position: absolute;\r\n  margin-left: 32px;\r\n  // left: 50%;\r\n  // transform: translateX(-50%);\r\n}\r\n/deep/ .swiper-slide {\r\n  width: 355px;\r\n  height: 220px;\r\n  margin-left: 79px;\r\n  /* // 表示所有属性都有动作效果，过度时间为0.4s，以慢速开始和结束的过渡效果 */\r\n  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n  &:hover {\r\n    transform: scale(1.1, 1.1);\r\n  }\r\n}\r\n/deep/.swiper-slide-active {\r\n  margin-left: 83px;\r\n}\r\n/deep/ .swiper-pagination {\r\n  left: 5px;\r\n  z-index: 5;\r\n  width: 20px;\r\n}\r\n/deep/ .swiper-pagination-bullet {\r\n  width: 4px;\r\n  height: 4px;\r\n  // margin: 12px 0 !important;\r\n  // margin-left: 2px !important;\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  background-color: @thinking;\r\n  width: 11px;\r\n  height: 11px;\r\n  // margin-left: 0 !important;\r\n}\r\n/deep/ .swiper-pagination-bullets {\r\n  right: 10px;\r\n}\r\n/deep/\r\n  .swiper-container-vertical\r\n  > .swiper-pagination-bullets\r\n  .swiper-pagination-bullet {\r\n  margin: 24px auto;\r\n}\r\n/deep/ .el-card {\r\n  border-radius: 16px;\r\n}\r\n.box-card.tip-wrapper.none-card {\r\n  /deep/ .el-card__body {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n  }\r\n}\r\n.box-card {\r\n  height: 171px;\r\n  width: 275px;\r\n  border: none;\r\n  /deep/ .el-card__body {\r\n    padding: 14px 17px 14px 28px;\r\n    height: 100%;\r\n  }\r\n  cursor: pointer;\r\n  .header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    .num {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 21px;\r\n      color: #64AFD5;\r\n      line-height: 28px;\r\n    }\r\n    .status {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #7E878C;\r\n      line-height: 18px;\r\n      padding-right: 11px;\r\n    }\r\n    .num0 {\r\n      color: @thinking;\r\n    }\r\n    .status0 {\r\n      color: #7e878c;\r\n    }\r\n    .num1 {\r\n      color: #ffffff;\r\n    }\r\n    .status1 {\r\n      color: rgba(255, 255, 255, 0.8);\r\n    }\r\n  }\r\n  .text {\r\n    padding: 14px 0 0px 0;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    font-size: 21px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 32px;\r\n    img {\r\n      width: 40px;\r\n      height: 40px;\r\n    }\r\n    .think-arrow {\r\n      position: absolute;\r\n      right: 88px;\r\n    }\r\n    .thinkArrowActive {\r\n      -webkit-animation: thinkArrowActive 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: thinkArrowActive 0.5s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n    @keyframes thinkArrowActive {\r\n      0% {\r\n        transform: translateX(14px);\r\n      }\r\n      100% {\r\n        transform: translateX(77px);\r\n      }\r\n    }\r\n    @-webkit-keyframes thinkArrowActive {\r\n      0% {\r\n        transform: translateX(14px);\r\n      }\r\n      100% {\r\n        transform: translateX(77px);\r\n      }\r\n    }\r\n  }\r\n  .text0 {\r\n    color: @thinking;\r\n  }\r\n  .text1 {\r\n    color: #ffffff;\r\n  }\r\n  .text-content {\r\n    width: 79%;\r\n    height: 48px;\r\n    overflow-y: hidden;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 2;\r\n    -webkit-box-orient: vertical;\r\n    display: -webkit-box;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 14px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    &.text-content-official {\r\n      font-weight: bold;\r\n    }\r\n  }\r\n  .text-content1 {\r\n    width: 99%;\r\n    // overflow-y: auto;\r\n    height: 60px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-size: 14px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    font-weight: 500;\r\n  }\r\n  &.box-card1 {\r\n    background: #84C4E5;\r\n  }\r\n  &.tip-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n  .tip {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 28px;\r\n    text-align: center;\r\n    span {\r\n      font-weight: 700;\r\n    }\r\n  }\r\n  .dot {\r\n    position: relative;\r\n    height: 43px;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 50%;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      transform: translateY(-50%);\r\n      width: 5px;\r\n      height: 5px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: #64afd5;\r\n    }\r\n  }\r\n  .subtitle {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 28px;\r\n    text-align: center;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/QuestionListHistory.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content bg-white\",class:[\n    !_vm.isContained\n      ? _vm.isOpen\n        ? 'big-view-box-page'\n        : 'outof-big-view-box-page'\n      : ''\n  ]},[_c('div',{staticClass:\"content-box\"},[_c('div',{staticClass:\"content-box-title\",class:_vm.isContained ? 'isContained' : '',on:{\"click\":_vm.back}},[(_vm.isContained)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/thinking.svg'}}):_vm._e(),_vm._v(\"\\n      历史版本（只读）\\n    \")]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionList && _vm.questionList.length),expression:\"questionList && questionList.length\"}],staticClass:\"content-box-content\"},[_c('swiper',{key:_vm.swiperKey,ref:\"questionListHistorySwiper\",staticClass:\"show-swiper\",attrs:{\"id\":\"questionListHistorySwiper\",\"options\":_vm.swiperOption}},[[_vm._l((_vm.slides),function(item,index){return _c('swiper-slide',{key:index,staticClass:\"swiper-slide-sub\"},[_c('el-card',{staticClass:\"box-card\",class:item.status ? 'box-card1' : ''},[_c('div',{on:{\"mouseover\":function($event){return _vm.mouseoverArrow(index, item)},\"mouseleave\":function($event){return _vm.mouseleaveArrow(index, item)}}},[_c('div',{staticClass:\"header\"},[_c('span',{staticClass:\"num\",class:item.status ? 'num1' : 'num0'},[_vm._v(_vm._s(index + 1 + \".\")+\"\\n                    \")]),_vm._v(\" \"),_c('span',{staticClass:\"status\",class:item.status ? 'status1' : 'status0'},[_vm._v(_vm._s(item.status ? \"已解决\" : \"未解决\"))])]),_vm._v(\" \"),_c('div',{staticClass:\"text item\",class:item.status ? 'text1' : 'text0'},[_c('span',{staticClass:\"text-content prewrap-content\",class:[item.course_question_isuseradd != 1 ? 'text-content-official' : '']},[_vm._v(_vm._s(item.course_question_title)+\"\\n                    \")]),_vm._v(\" \"),(item.status && !item.isHover)?_c('img',{ref:'questionHisDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/quesion_done.svg\")}}):_vm._e(),_vm._v(\" \"),(item.status && item.isHover)?_c('img',{ref:'questionHisDoneArrowHover' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/think_arrow_finish.svg\")}}):_vm._e(),_vm._v(\" \"),(!item.status)?_c('img',{ref:'thinkArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/think_arrow1.svg\")}}):_vm._e()])])])],1)}),_vm._v(\" \"),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})]],2),_vm._v(\" \"),_c('MoralQuestionsMainHis',{ref:\"moralQuestionsMainHis\",attrs:{\"moralComprehend\":_vm.selectedData,\"id\":\"moralQuestionsMainHis\"}})],1),_vm._v(\" \"),(_vm.questionList && _vm.questionList.length === 0)?_c('NoData'):_vm._e()],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4a0ad12e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/QuestionListHistory.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4a0ad12e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./QuestionListHistory.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuestionListHistory.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuestionListHistory.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4a0ad12e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./QuestionListHistory.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4a0ad12e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/QuestionListHistory.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIzMHB4IiBoZWlnaHQ9IjUycHgiIHZpZXdCb3g9IjAgMCAyMzAuMCA1Mi4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImkwIj48cGF0aCBkPSJNNDQxLDAgTDQ0MSw4MTIgTDAsODEyIEwwLDAgTDQ0MSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0wLDAgQzEuODAzNjIwOTksMCA0LjI5MDgwODY3LDIuNTE5MzY3MzIgNi45OTU5NjI1OSw1LjE3NjE1NDY3IEw3LjYyMzg4NjE4LDUuNzkwNjE0NjcgQzEwLjQ2NTA0NjUsOC41NTY5MDQzOCAxMy41MDI2Mzg3LDExLjI3Mzc5NjEgMTYuMjE1MjQ2NCwxMS4yNzM3OTYxIEMyMS43NDA5Mjg3LDExLjI3Mzc5NjEgMjMuODQyODU4MywyLjQ2MzgwNTI3IDI4LjUxNTI4ODQsMi40NjM4MDUyNyBDMzMuMTg3NzE4NSwyLjQ2MzgwNTI3IDM3LjMxMTM5MDMsMTMuMjczNzk2MSA0My44NDM2NTgsMTMuMjczNzk2MSBDNTAuMzc1OTI1NywxMy4yNzM3OTYxIDU0Ljg5NTAyMjcsNiA2My4yNTQwMTE1LDYgQzcxLjYxMzAwMDIsNiA4NC4zOTAyNjY0LDEwLjU2NTAyNjggOTEuODc5NDUwOSwxMy4yNzM3OTYxIEM5NS41NDEzODk0LDE0LjU5ODI4NTYgMTAyLjExMTIyOSwxNS42MTk0OTUxIDExMS41ODg5NywxNi4zMzc0MjQ1IEMxMTYuOTY4MDUzLDE2LjA0NTc2MzkgMTIwLjk0MDg5LDE1LjY4NzAzODYgMTIzLjUwODYyOSwxNS4yNjExMDQ4IEMxMzEuMTI5MjAzLDEzLjk5NzAxMjUgMTQ0LjEzMDYzMSwxMCAxNTIuNjM2MjY5LDEwIEMxNjEuMTQxOTA3LDEwIDE2NS43NDAyODYsMTUuMjYxMTA0OCAxNzIuMzg3MTU1LDE1LjI2MTEwNDggQzE3OS4wMzQwMjQsMTUuMjYxMTA0OCAxODMuMjMwMDQxLDE1LjE0OTc3NTggMTg3Ljk4NDQ0MywxNS4xNDk3NzU4IEMxOTIuNzM4ODQ2LDE1LjE0OTc3NTggMTk0Ljg3NzY1MiwxNS4yNjExMDQ4IDIwMC41MDAyNzYsMTUuMjYxMTA0OCBDMjA2LjEyMjksMTUuMjYxMTA0OCAyMTMuMTE3NzEyLDEwIDIxNywxMCBMMjE3LDI0IEMyMTMuMTE3NzEyLDI0IDIwNi4xMjI5LDE4LjczODg5NTIgMjAwLjUwMDI3NiwxOC43Mzg4OTUyIEMxOTQuODc3NjUyLDE4LjczODg5NTIgMTkyLjczODg0NiwxOC44NTAyMjQyIDE4Ny45ODQ0NDMsMTguODUwMjI0MiBDMTgzLjIzMDA0MSwxOC44NTAyMjQyIDE3OS4wMzQwMjQsMjAuNzM4ODk1MiAxNzIuMzg3MTU1LDIwLjczODg5NTIgQzE2NS43NDAyODYsMjAuNzM4ODk1MiAxNjEuMTQxOTA3LDI0IDE1Mi42MzYyNjksMjQgQzE0NC4xMzA2MzEsMjQgMTMxLjEyOTIwMywyMC4wMDI5ODc1IDEyMy41MDg2MjksMTguNzM4ODk1MiBDMTIwLjk0MDg5LDE4LjMxMjk2MTQgMTE2Ljk2ODA1MywxNy45NTQyMzYxIDExMS41OTAxMiwxNy42NjI3MTk0IEMxMDIuMTExMjI5LDE4LjM4MDUwNDkgOTUuNTQxMzg5NCwxOS40MDE3MTQ0IDkxLjg3OTQ1MDksMjAuNzI2MjAzOSBDODQuMzkwMjY2NCwyMy40MzQ5NzMyIDcxLjYxMzAwMDIsMjggNjMuMjU0MDExNSwyOCBDNTQuODk1MDIyNywyOCA1MC4zNzU5MjU3LDIwLjcyNjIwMzkgNDMuODQzNjU4LDIwLjcyNjIwMzkgQzM3LjMxMTM5MDMsMjAuNzI2MjAzOSAzMy4xODc3MTg1LDMxLjUzNjE5NDcgMjguNTE1Mjg4NCwzMS41MzYxOTQ3IEMyMy44NDI4NTgzLDMxLjUzNjE5NDcgMjEuNzQwOTI4NywyMi43MjYyMDM5IDE2LjIxNTI0NjQsMjIuNzI2MjAzOSBDMTMuNTAyNjM4NywyMi43MjYyMDM5IDEwLjQ2NTA0NjUsMjUuNDQzMDk1NiA3LjYyMzg4NjE4LDI4LjIwOTM4NTMgTDYuOTk1OTYyNTksMjguODIzODQ1MyBDNC4yOTA4MDg2NywzMS40ODA2MzI3IDEuODAzNjIwOTksMzQgMCwzNCBMMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iaTIiIHgxPSItMi4wODQ5NjgxMnB4IiB5MT0iMXB4IiB4Mj0iMTk4LjI2OTEwM3B4IiB5Mj0iMXB4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0icmdiYSgyMzUsIDIzOCwgMjM5LCAwKSIgb2Zmc2V0PSIwJSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRkFEOEEiIG9mZnNldD0iNC42MTEwMTM5OSUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSIjRkQ3RTcwIiBvZmZzZXQ9IjkzLjE5NTQ3NjQlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0icmdiYSgyMTEsIDIxNywgMjE4LCAwKSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE2LjAgLTMwMC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMCAzMDAuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuNSA5LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wIDE3LjApIj48cGF0aCBkPSJNMC4zMjIyNTkxMzYsMC41IEwxOTMuNjc3NzQxLDAuNSIgc3Ryb2tlPSJ1cmwoI2kyKSIgc3Ryb2tlLXdpZHRoPSIzNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIgMS4wIDUuMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/voice-wave3.svg\n// module id = riDu\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMzgiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAxMzggMzIiPg0KICA8ZyBpZD0i57uEXzcwIiBkYXRhLW5hbWU9Iue7hCA3MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYzNCAtMjApIj4NCiAgICA8cmVjdCBpZD0i55+p5b2iXzkzIiBkYXRhLW5hbWU9IuefqeW9oiA5MyIgd2lkdGg9IjEzOCIgaGVpZ2h0PSIzMiIgcng9IjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MzQgMjApIiBmaWxsPSIjMzE4MDYzIi8+DQogICAgPHRleHQgaWQ9Iui9rOiHs+WFg+ivu+S5pumYheivuyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzE2IDQxKSIgZmlsbD0iI2ZmZiIgZm9udC1zaXplPSIxMiIgZm9udC1mYW1pbHk9IlNvdXJjZUhhblNhbnNDTi1SZWd1bGFyLCBTb3VyY2UgSGFuIFNhbnMgQ04iIGxldHRlci1zcGFjaW5nPSIwLjAxZW0iPjx0c3BhbiB4PSItNDIuMzYiIHk9IjAiPui9rOiHszwvdHNwYW4+PHRzcGFuIHk9IjAiIGZvbnQtZmFtaWx5PSJTb3VyY2VIYW5TYW5zQ04tQm9sZCwgU291cmNlIEhhbiBTYW5zIENOIiBmb250LXdlaWdodD0iNzAwIj7lhYPor7vkuaY8L3RzcGFuPjx0c3BhbiB5PSIwIj7pmIXor7s8L3RzcGFuPjwvdGV4dD4NCiAgICA8ZyBpZD0i57uEXzY5IiBkYXRhLW5hbWU9Iue7hCA2OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAuMDYgLTU0Mi4xMjgpIj4NCiAgICAgIDxwYXRoIGlkPSLot6/lvoRfMjgiIGRhdGEtbmFtZT0i6Lev5b6EIDI4IiBkPSJNNTk2LjA3NSw1ODUuMzY1YTkuMjc5LDkuMjc5LDAsMCwxLTguNDA5LTUuMjg3bC0uMDY3LS4xMzlhLjM3NS4zNzUsMCwwLDEsLjMzOC0uNTM4aDUuNzMzYS4xOC4xOCwwLDAsMSwuMTguMTc5di41ODVhLjE4LjE4LDAsMCwxLS4xOC4xNzloLTQuNTUxYS4xMzMuMTMzLDAsMCwwLS4xMTMuMiw4LjM4Niw4LjM4NiwwLDAsMCwxNC4xMzcsMCwuMTMzLjEzMywwLDAsMC0uMTEzLS4yaC0zLjgzNmEuMTc5LjE3OSwwLDAsMS0uMTc5LS4xNzl2LS41ODVhLjE3OS4xNzksMCwwLDEsLjE3OS0uMTc5aDUuMDE4YS4zNzUuMzc1LDAsMCwxLC4zMzguNTM4bC0uMDY3LjEzOWE5LjI3OSw5LjI3OSwwLDAsMS04LjQwOSw1LjI4N1oiIGZpbGw9IiNmZmYiLz4NCiAgICAgIDxwYXRoIGlkPSLot6/lvoRfMjkiIGRhdGEtbmFtZT0i6Lev5b6EIDI5IiBkPSJNNTk3Ljk1MSw1ODEuMTc3YS4zNzUuMzc1LDAsMCwxLS41MzguMzM4bC0uMTM5LS4wNjdhOC4xNjQsOC4xNjQsMCwwLDEsMC0xNC43MTVsLjEzOS0uMDY3YS4zNzUuMzc1LDAsMCwxLC41MzguMzM4djE0LjE3M1ptLS45NDMtMTIuOThhLjEzMi4xMzIsMCwwLDAtLjItLjExMSw3LjIxOSw3LjIxOSwwLDAsMCwwLDEyLjAxLjEzMi4xMzIsMCwwLDAsLjItLjExMVY1NjguMloiIGZpbGw9IiNmZmYiLz4NCiAgICAgIDxwYXRoIGlkPSLot6/lvoRfMzAiIGRhdGEtbmFtZT0i6Lev5b6EIDMwIiBkPSJNNjAwLjIsNTg5LjYyN2E4LjQ3Niw4LjQ3NiwwLDAsMS00LjQtMS4yMjcsNy41NjksNy41NjksMCwwLDAtOC4xMTcuMTg0LjQ3My40NzMsMCwxLDEtLjUyNy0uNzg2LDguNTE3LDguNTE3LDAsMCwxLDkuMTM2LS4yMDcsNy41NjksNy41NjksMCwwLDAsOC4xMTctLjE4NC40NzQuNDc0LDAsMCwxLC41MjcuNzg3LDguNSw4LjUsMCwwLDEtNC43MzMsMS40MzRaIiBmaWxsPSIjZmZmIi8+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/essence-read-web.svg\n// module id = rkPO\n// module chunks = 171","import { EventBus } from \"@/utils/eventBus\";\r\nlet openOtherPageMixins = {\r\n  data() {\r\n    return {\r\n      openOtherPageIng: false\r\n    };\r\n  },\r\n  activated() {\r\n  },\r\n  methods: {\r\n    setOpenOtherPageIng() {\r\n        this.openOtherPageIng = true;\r\n    },\r\n    recoverOpenOtherPageIng() {\r\n        let timeout = setTimeout(() => {\r\n            this.openOtherPageIng = false;\r\n            clearTimeout(timeout);\r\n        }, 600);\r\n    }\r\n  }\r\n};\r\n\r\nexport default openOtherPageMixins;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/openOtherPageMixins.js","<!--  -->\r\n<template>\r\n  <div class=\"myMind\" v-loadingmind=\"{ loading: loading, msg: loadingMsg, type: loadingType }\">\r\n    <div\r\n      class=\"operates\"\r\n    >\r\n      <el-dropdown\r\n        @command=\"handleCommand\"\r\n        ref=\"elDropdown\"\r\n        :trigger=\"'click'\"\r\n        v-show=\"!editOutline\"\r\n      >\r\n        <el-button type=\"default\" class=\"bg-transparent\">\r\n          {{ commandSpan }}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n        </el-button>\r\n        <el-dropdown-menu slot=\"dropdown\" class=\"outlineDropdown\">\r\n          <el-dropdown-item command=\"1\">大纲模式</el-dropdown-item>\r\n          <el-dropdown-item command=\"2\">图片格式</el-dropdown-item>\r\n          <el-dropdown-item command=\"3\">PDF格式</el-dropdown-item>\r\n        </el-dropdown-menu>\r\n      </el-dropdown>\r\n      <div class=\"withdraw\" v-if=\"command === '1' && courseIsuseradd != 3 && editOutline\">\r\n        <el-tooltip class=\"item\" effect=\"light\" placement=\"bottom\">\r\n          <div class=\"tip\" slot=\"content\">\r\n            撤销一步 <span class=\"shortcuts\">{{isMac ? 'cmd+z' : 'ctrl+z'}}</span>\r\n          </div>\r\n          <img\r\n            v-if=\"canUndo && !isEditingNode\"\r\n            src=\"@/assets/img/withdraw.svg\"\r\n            @click=\"handleUndo\"\r\n            :style=\"{ opacity: isEditingNode ? 0.5 : 1, cursor: isEditingNode ? 'not-allowed' : 'pointer' }\"\r\n          />\r\n          <img v-else src=\"@/assets/img/withdraw-disabled.svg\" />\r\n        </el-tooltip>\r\n        <el-tooltip class=\"item\" effect=\"light\" placement=\"bottom\">\r\n          <div class=\"tip\" slot=\"content\">\r\n            恢复撤销 <span class=\"shortcuts\">{{isMac ? 'cmd+shift+z' : 'ctrl+shift+z'}}</span>\r\n          </div>\r\n          <img\r\n            v-if=\"canRedo && !isEditingNode\"\r\n            class=\"restore\"\r\n            src=\"@/assets/img/withdraw1.svg\"\r\n            @click=\"handleRedo\"\r\n            :style=\"{ opacity: isEditingNode ? 0.5 : 1, cursor: isEditingNode ? 'not-allowed' : 'pointer' }\"\r\n          />\r\n          <img v-else class=\"restore\" src=\"@/assets/img/withdraw1-disabled.svg\" />\r\n        </el-tooltip>\r\n      </div>\r\n      <div class=\"right\" v-if=\"command === '1' && courseIsuseradd != 3\">\r\n        <el-dropdown\r\n          @command=\"handleOperateCommand\"\r\n          ref=\"elDropdownOperate\"\r\n          :trigger=\"'click'\"\r\n          v-show=\"!editOutline && data.mindmap_content && data.mindmap_content != '[]'\"\r\n        >\r\n          <el-button type=\"default\" class=\"bg-transparent\">\r\n            {{ commandOperateSpan }}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n          </el-button>\r\n          <el-dropdown-menu slot=\"dropdown\" class=\"exportDropdown\">\r\n            <el-dropdown-item command=\"1\">导出图片</el-dropdown-item>\r\n            <el-dropdown-item command=\"2\">导出PDF</el-dropdown-item>\r\n          </el-dropdown-menu>\r\n        </el-dropdown>\r\n        <el-button v-if=\"!editOutline\" class=\"bg-transparent\" @click=\"startEdit\">编辑</el-button>\r\n        <!-- <div v-if=\"!editOutline\" class=\"btn bg-transparent\" @click=\"startEdit\">开始编辑</div> -->\r\n        <div v-if=\"editOutline\" class=\"btn-group\">\r\n          <!-- <div class=\"btn bg-transparent\" @click=\"withdraw\" :disabled=\"!($refs.MyMindOutline.removeNodes && $refs.MyMindOutline.removeNodes.length)\">撤销上一次删除</div>\r\n          <div class=\"btn bg-transparent\" @click=\"saveMindMap1\">保存</div>\r\n          <div class=\"btn bg-transparent\" @click=\"delUserMindmapShow\">清空</div> -->\r\n          <!-- <el-button\r\n            class=\"bg-transparent\"\r\n            @click=\"withdraw\"\r\n            :disabled=\"!($refs.MyMindOutline.removeNodes && $refs.MyMindOutline.removeNodes.length)\"\r\n          >撤销上一次删除</el-button> -->\r\n          <el-button\r\n            class=\"bg-transparent clear\"\r\n            :class=\"(data && !data.mindmap_content) || isEditingNode ? 'disabled' : ''\"\r\n            :disabled=\"(data && !data.mindmap_content) || isEditingNode\"\r\n            @click=\"delUserMindmapShow\"\r\n            >清空</el-button\r\n          >\r\n          <el-tooltip class=\"item\" effect=\"light\" placement=\"bottom\">\r\n            <div class=\"tip\" slot=\"content\">\r\n              <span class=\"shortcuts\">{{isMac ? 'cmd+s' : 'ctrl+s'}}</span>\r\n            </div>\r\n            <el-button\r\n              class=\"bg-transparent\"\r\n              :disabled=\"isEditingNode\"\r\n              @click=\"saveMindMap1\"\r\n              >\r\n              保存\r\n            </el-button>\r\n          </el-tooltip>\r\n          <el-button\r\n            class=\"bg-transparent exit\"\r\n            @click=\"exitEdit\"\r\n            >退出编辑</el-button\r\n          >\r\n        </div>\r\n      </div>\r\n      <div class=\"right\" v-else-if=\"command === '2' && courseIsuseradd != 3\">\r\n        <div class=\"btn-group\">\r\n          <div v-if=\"!isEdit && images.length > 0\"\r\n            class=\"btn bg-transparent\"\r\n            @click=\"editImages\">编辑</div>\r\n          <div v-if=\"isEdit\" class=\"btn bg-transparent\" @click=\"uploadImages\">上传</div>\r\n          <div v-if=\"isEdit\"\r\n            class=\"btn bg-transparent\"\r\n            @click=\"downloadImages\">下载</div>\r\n          <div v-if=\"isEdit\" class=\"btn bg-transparent\" @click=\"deleteImages\">删除</div>\r\n          <div class=\"btn bg-transparent\" v-if=\"isEdit\" @click=\"exitImageEdit\">保 存</div>\r\n          <!-- <el-button\r\n            v-if=\"!isEdit && images.length > 0\"\r\n            class=\"bg-transparent\"\r\n            @click=\"editImages\"\r\n            >编辑</el-button\r\n          >\r\n          <el-button v-if=\"isEdit\" class=\"bg-transparent\" @click=\"uploadImages\"\r\n            >上传</el-button\r\n          >\r\n          <el-button\r\n            v-if=\"isEdit\"\r\n            class=\"bg-transparent\"\r\n            @click=\"downloadImages\"\r\n            >下载</el-button\r\n          >\r\n          <el-button v-if=\"isEdit\" class=\"bg-transparent\" @click=\"deleteImages\"\r\n            >删除</el-button\r\n          >\r\n          <el-button class=\"bg-transparent\" v-if=\"isEdit\" @click=\"exitImageEdit\"\r\n            >退 出</el-button\r\n          > -->\r\n        </div>\r\n      </div>\r\n      <div class=\"right\" v-else-if=\"command === '3' && courseIsuseradd != 3\">\r\n        <div>\r\n          <el-button v-if=\"pdfUrl\" class=\"bg-transparent\" @click=\"downloadPdf\"\r\n            >下载</el-button\r\n          >\r\n          <el-button v-if=\"pdfUrl\" class=\"bg-transparent\" @click=\"deletePdfShow\"\r\n            >删除</el-button\r\n          >\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"content\"\r\n      id=\"content\"\r\n      :class=\"command === '1' ? 'content1' : ''\"\r\n    >\r\n      <div class=\"layer\" v-if=\"showLayer && command === '1'\"></div>\r\n      <MyMindOutline\r\n        ref=\"MyMindOutline\"\r\n        v-show=\"command === '1'\"\r\n        :dataPro=\"data\"\r\n        :editOutline=\"editOutline\"\r\n        :isSaveMindMap=\"isSaveMindMap\"\r\n        :command=\"command\"\r\n        :showCollect=\"showCollect\"\r\n        :myMindOutlineId=\"myMindOutlineId\"\r\n        :treeId=\"treeId\"\r\n        :course_id=\"course_id\"\r\n        :courseIsuseradd=\"courseIsuseradd\"\r\n        :isBindEventBus=\"true\"\r\n        @saveMindMap=\"saveMindMap\"\r\n        @scrollOutline=\"scrollOutline\"\r\n        @doNotSave=\"doNotSave\"\r\n        @exitEditCon=\"exitEditCon\"\r\n        @withdraw=\"withdraw\"\r\n        @undo=\"handleUndo\"\r\n        @redo=\"handleRedo\"\r\n      />\r\n      <MyMindImages\r\n        ref=\"myMindImages\"\r\n        v-show=\"command === '2'\"\r\n        :dataPro=\"data\"\r\n        :datas=\"images\"\r\n        :imagesName=\"imagesName\"\r\n        :isEdit=\"isEdit\"\r\n        :imageProgress=\"imageProgress\"\r\n        :course_id=\"course_id\"\r\n        :courseIsuseradd=\"courseIsuseradd\"\r\n        @selectedImages=\"selectedImages\"\r\n        @uploadImages=\"uploadImages\"\r\n        @addUserCollection=\"addUserCollectionImage\"\r\n      />\r\n      <MyMindPdf\r\n        ref=\"myMindPdf\"\r\n        :key=\"'myMindPdf'\"\r\n        v-show=\"command === '3'\"\r\n        :dataPro=\"data\"\r\n        :command=\"command\"\r\n        :pdfUrl=\"pdfUrl\"\r\n        :mindmap_pdf_show=\"data.mindmap_pdf_show\"\r\n        :course_name=\"course_name\"\r\n        :pdfXHRUrl=\"pdfXHRUrl\"\r\n        :mindPdfWidth=\"mindPdfWidth\"\r\n        :course_id=\"course_id\"\r\n        :courseIsuseradd=\"courseIsuseradd\"\r\n        :imageViewerCanvas=\"'imageViewerCanvas1'\"\r\n        @uploadPdf=\"uploadPdf\"\r\n      />\r\n    </div>\r\n    <el-dialog\r\n      class=\"del_dialog\"\r\n      :visible.sync=\"dialogVisibleDel\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"type != 1\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">{{ type != 1 ? '确定删除？' : '确认清空后，当前大纲内容将全部清除，无法还原，是否确定清空？' }}</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"cancel\">取 消</el-button>\r\n        <el-button class=\"bg-transparent clear\" @click=\"submitDel\">{{ type != 1 ?'确 定' : '确定清空'}}</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport MyMindOutline from \"./MyMindOutline.vue\";\r\nimport MyMindImages from \"./MyMindImages.vue\";\r\nimport MyMindPdf from \"./MyMindPdf.vue\";\r\nimport { uploaDOSS } from \"@/utils/oss\";\r\nimport {\r\n  getOssConfig,\r\n  getBase64ByFile,\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile,\r\n  base64ToFile,\r\n  compressImage,\r\n  popUndo,\r\n  popRedo,\r\n  getStackStatus,\r\n  getDeviceId,\r\n  clearAllStacks\r\n} from \"@/utils/indexDb\";\r\nimport {\r\n  editUserMindmap,\r\n  addUserMindmap,\r\n  delUserMindmap,\r\n  getMindmap,\r\n  getUserCourseProgress\r\n} from \"@/api/index\";\r\nimport { deepClone, generateRandomString, captureCanvas, exportTreeToPDF, exportTreeAsPDF } from \"@/utils/util\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { Base64 } from \"js-base64\";\r\nimport { decrypt } from \"@/utils/auth\";\r\nimport { jsPDF } from \"jspdf\";\r\n\r\nexport default {\r\n  components: { MyMindOutline, MyMindImages, MyMindPdf },\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    showCollectPro: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    course_name: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    courseIsuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      command: \"1\",\r\n      commandSpan: \"大纲模式\",\r\n      commandOperate: '1',\r\n      commandOperateSpan: '导出',\r\n      commandOperateEdit: '1',\r\n      commandOperateEditSpan: '撤销到上一步 ',\r\n      data: null,\r\n      images: [],\r\n      imagesName: [],\r\n      avatarUrl: \"\",\r\n      pdfUrl: \"\",\r\n      pdfXHRUrl: '',\r\n      pdfName: \"\",\r\n      params: {},\r\n      fileImageUrls: [],\r\n      selectedImagesIndex: [],\r\n      isEdit: false,\r\n      isDeletePdf: false,\r\n      isDeleteImage: false,\r\n      dialogVisibleDel: false,\r\n      type: 1,\r\n      newestData: null,\r\n      editOutline: false,\r\n      pdfProgress: 0,\r\n      imageProgress: 0,\r\n      isSaveMindMap: false,\r\n      isSaveMindMapButton: false, // 是否点击保存导图按钮显示\r\n      showLayer: false,\r\n      inited: false,\r\n      showCollect: true,\r\n      // loading: false,\r\n      mindPdfWidth: 0,\r\n      myMindOutlineId: \"\",\r\n      preCourseId: \"\",\r\n      needChangeCommand: true,\r\n      changeCourseId: true,\r\n      imageCollect: \"\",\r\n      courseId: \"\",\r\n      isDelUserMindmapShow: false,\r\n      isNotSave: false,\r\n      loadingMsg: '',\r\n      loadingType: '',\r\n      treeId: '',\r\n      course_name: '',\r\n      lastSavedContent: '', // 上次保存的大纲内容，用于自动保存时比较\r\n\r\n      // ==================== 异步回调安全管理 ====================\r\n      // 使用令牌机制防止过时回调执行\r\n      pendingCallback: null,           // 待执行的回调函数\r\n      callbackRequestId: null,         // 当前回调的唯一请求ID\r\n      callbackTimestamp: null,         // 回调注册时间戳（用于超时检测）\r\n      callbackDataVersion: null,       // 注册时的数据版本（用于检测数据是否变化）\r\n      callbackType: null,              // 回调类型：'undo' | 'redo' | 'withdraw' | 'delete' | 'other'\r\n      _tempStatusCallback: null,       // 临时状态回调（用于 getStatus 后立即执行的回调，不经过 pendingCallback 机制）\r\n\r\n      // ==================== 防连点锁 ====================\r\n      isUndoProcessing: false,         // 撤销操作进行中/冷却中\r\n      isRedoProcessing: false,         // 重做操作进行中/冷却中\r\n      isUndoProcessingTimeout: null,\r\n      isRedoProcessingTimeout: null,\r\n      undoRedoDuration: 1000,\r\n    };\r\n  },\r\n  computed: {\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    // 当前导图修改最新时间戳\r\n    mindMapTimeStamp() {\r\n      return this.$store.getters.mindMapTimeStamp;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    // courseIsuseradd() {\r\n    //   return this.$store.getters.courseIsuseradd;\r\n    // },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    ws() {\r\n      return this.$store.getters.ws;\r\n    },\r\n    online() {\r\n      return this.$store.getters.online;\r\n    },\r\n    status() {\r\n      return this.$store.getters.status;\r\n    },\r\n    loading() {\r\n      return this.$store.getters.loading;\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    isMac() {\r\n      return this.$store.getters.isMac;\r\n    },\r\n    user() {\r\n      if (typeof this.$store.getters.user === \"string\") {\r\n        return JSON.parse(this.$store.getters.user);\r\n      } else {\r\n        return this.$store.getters.user;\r\n      }\r\n    },\r\n    historyVersion() {\r\n      return this.$store.getters.historyVersion || {\r\n        canUndo: false,\r\n        canRedo: false,\r\n        undoCount: 0,\r\n        redoCount: 0,\r\n        isUndoRedoAction: false\r\n      };\r\n    },\r\n    canUndo() {\r\n      return this.$store.getters.canUndo;\r\n    },\r\n    canRedo() {\r\n      return this.$store.getters.canRedo;\r\n    },\r\n    // 编辑态互斥锁：获取子组件的输入框焦点状态\r\n    isEditingNode() {\r\n      return this.$refs.MyMindOutline && this.$refs.MyMindOutline.isEditingNode;\r\n    },\r\n  },\r\n  watch: {\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(v, oldVal) {\r\n        console.log(\"mindpdf init:\",this.dataPro, v == \"Mind\" && this.changeCourseId);\r\n        if(v == \"Mind\" && this.changeCourseId) {\r\n          this.init(this.dataPro);\r\n          this.initCommand(this.dataPro);\r\n        }\r\n        // console.log(v == \"Mind\" && this.changeCourseId && this.dataPro && !this.dataPro.mindmap_content && this.dataPro.mindmap_pdf && this.command == 3)\r\n        if (v == \"Mind\" && this.changeCourseId && this.dataPro && !this.dataPro.mindmap_content && this.dataPro.mindmap_pdf && this.command == 3) {\r\n          console.log(\"this.changeCourseId = false\");\r\n          this.changeCourseId = false;\r\n          this.$refs.myMindPdf.init();\r\n        }\r\n\r\n        if(this.courseId == this.course_id && oldVal == \"Mind\") {\r\n          this.changeCourseId = false;\r\n        }\r\n        this.courseId = this.course_id;\r\n        this.isEdit = false;\r\n      },\r\n      immediate: true\r\n    },\r\n    command: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"mindpdf init:1\", v == \"3\" && this.changeCourseId && this.data && this.data.mindmap_pdf && this.whiteCom == \"Mind\");\r\n        if (v == \"3\" && this.data && this.data.mindmap_pdf && this.whiteCom == \"Mind\") {\r\n          this.$refs.myMindPdf.init();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.needChangeCommand = true;\r\n          this.changeCourseId = true;\r\n          this.imageCollect = \"\";\r\n          this.isEdit = false;\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.needChangeCommand = true;\r\n          this.changeCourseId = true;\r\n          this.imageCollect = \"\";\r\n          this.isEdit = false;\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v, oldVal) {\r\n        if(v && JSON.stringify(oldVal) != JSON.stringify(v)) {\r\n          console.log(\"dataPro init:\", JSON.stringify(oldVal) == JSON.stringify(v))\r\n          this.init(v);\r\n        }\r\n        if (v && v.mindmap_id && !this.inited) {\r\n          this.inited = true;\r\n          this.initCommand(v);\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    showCollectPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.showCollect = v;\r\n      },\r\n      immediate: true\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  },\r\n  methods: {\r\n    // ========================================================================\r\n    // 【异步回调安全管理 - 令牌失效机制】\r\n    // ========================================================================\r\n    // 解决问题：防止过时回调执行，避免数据不一致和逻辑混乱\r\n    // 核心机制：\r\n    // 1. 每次注册回调时生成唯一的 requestId\r\n    // 2. 执行时校验 requestId、时间戳、数据版本\r\n    // 3. 超时或版本不匹配则丢弃回调\r\n    // ========================================================================\r\n\r\n    // 生成唯一请求ID\r\n    generateRequestId() {\r\n      return `${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\r\n    },\r\n\r\n    // 获取当前数据版本（基于 mindmap 内容的简单哈希）\r\n    getCurrentDataVersion() {\r\n      try {\r\n        const mindMap = this.$store.getters.mindMap;\r\n        if (!mindMap || !mindMap.mindmap_content) return null;\r\n        const content = mindMap.mindmap_content;\r\n        // 使用内容长度和前100字符作为简单版本标识\r\n        const str = typeof content === 'string' ? content : JSON.stringify(content);\r\n        return `${str.length}_${str.substring(0, 100)}`;\r\n      } catch (e) {\r\n        return null;\r\n      }\r\n    },\r\n\r\n    // 注册待执行的回调（带令牌和生命周期管理）\r\n    registerPendingAction(callback, type = 'other') {\r\n      // 1. 清除旧的回调（防止重复注册）\r\n      if (this.pendingCallback) {\r\n        console.log(`[PendingAction] 清除旧回调: type=${this.callbackType}, requestId=${this.callbackRequestId}`);\r\n      }\r\n\r\n      // 2. 生成新的请求ID和元数据\r\n      const requestId = this.generateRequestId();\r\n      const timestamp = Date.now();\r\n      const dataVersion = this.getCurrentDataVersion();\r\n\r\n      // 3. 存储回调信息\r\n      this.pendingCallback = callback;\r\n      this.callbackRequestId = requestId;\r\n      this.callbackTimestamp = timestamp;\r\n      this.callbackDataVersion = dataVersion;\r\n      this.callbackType = type;\r\n\r\n      console.log(`[PendingAction] 注册新回调: type=${type}, requestId=${requestId}, dataVersion=${dataVersion ? 'set' : 'null'}`);\r\n\r\n      // 4. 返回请求ID供外部使用\r\n      return requestId;\r\n    },\r\n\r\n    // 清除待执行的回调\r\n    clearPendingAction(reason = 'unknown') {\r\n      if (this.pendingCallback) {\r\n        console.log(`[PendingAction] 清除回调: reason=${reason}, type=${this.callbackType}, requestId=${this.callbackRequestId}`);\r\n      }\r\n      this.pendingCallback = null;\r\n      this.callbackRequestId = null;\r\n      this.callbackTimestamp = null;\r\n      this.callbackDataVersion = null;\r\n      this.callbackType = null;\r\n    },\r\n\r\n    // 检查回调是否有效（核心校验逻辑）\r\n    isCallbackValid(requestId) {\r\n      // 1. 检查请求ID是否匹配\r\n      if (this.callbackRequestId !== requestId) {\r\n        console.log(`[PendingAction] 请求ID不匹配: expected=${this.callbackRequestId}, got=${requestId}`);\r\n        return false;\r\n      }\r\n\r\n      // 2. 检查回调是否存在\r\n      if (!this.pendingCallback) {\r\n        console.log(`[PendingAction] 回调不存在`);\r\n        return false;\r\n      }\r\n\r\n      // 3. 检查是否超时（30秒）\r\n      const CALLBACK_TIMEOUT = 30000;\r\n      const elapsed = Date.now() - this.callbackTimestamp;\r\n      if (elapsed > CALLBACK_TIMEOUT) {\r\n        console.log(`[PendingAction] 回调已超时: elapsed=${elapsed}ms, timeout=${CALLBACK_TIMEOUT}ms`);\r\n        return false;\r\n      }\r\n\r\n      // 4. 检查数据版本是否变化\r\n      const currentVersion = this.getCurrentDataVersion();\r\n      if (this.callbackDataVersion && currentVersion && this.callbackDataVersion !== currentVersion) {\r\n        console.log(`[PendingAction] 数据版本已变化，回调失效`);\r\n        return false;\r\n      }\r\n\r\n      return true;\r\n    },\r\n\r\n    // 安全执行回调（带完整校验）\r\n    executeIfValid(requestId) {\r\n      // 1. 校验回调有效性\r\n      if (!this.isCallbackValid(requestId)) {\r\n        const elapsed = Date.now() - this.callbackTimestamp;\r\n        if (elapsed > 30000) {\r\n          this.$message.info('操作已过期，请手动重试');\r\n        }\r\n        this.clearPendingAction('validation_failed');\r\n        return false;\r\n      }\r\n\r\n      // 2. 再次检查全局编辑状态\r\n      if (this.status == 1 && this.$refs.MyMindOutline && !this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        console.log(`[PendingAction] 其他端正在编辑，取消执行`);\r\n        this.$message.warning('其他端正在编辑中，请稍后再试');\r\n        this.clearPendingAction('other_editing');\r\n        return false;\r\n      }\r\n\r\n      // 3. 执行回调\r\n      console.log(`[PendingAction] 执行回调: type=${this.callbackType}, requestId=${requestId}`);\r\n      try {\r\n        this.pendingCallback();\r\n      } catch (error) {\r\n        console.error(`[PendingAction] 回调执行失败:`, error);\r\n      }\r\n\r\n      // 4. 清除回调\r\n      this.clearPendingAction('executed');\r\n      return true;\r\n    },\r\n\r\n    // ========================================================================\r\n    // 【原有方法】\r\n    // ========================================================================\r\n\r\n    exitEditCon() {\r\n      this.isNotSave = true;\r\n      this.editOutline = false;\r\n      // 清除 IndexedDB 历史快照\r\n      clearAllStacks(this.course_id).then(() => {\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n        console.log(`[History] 已清除课程 ${this.course_id} 的历史栈`);\r\n      }).catch(error => {\r\n        console.error('[History] 清除历史栈失败:', error);\r\n      });\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'notsaved',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        // mindmap_content:  mindmap_content1 ? Base64.encode(JSON.stringify(mindmap_content1)) : \"\",\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n\r\n      // 【修复】断开 WebSocket 连接，避免资源泄漏\r\n      this.$store.dispatch(\"clearWebSocket\");\r\n    },\r\n    // 弹窗点击不保存\r\n    async doNotSave(argu) {\r\n      // const isLocalStorageSave = argu.isLocalStorageSave;\r\n      const type = argu.type;\r\n      this.isNotSave = true;\r\n      this.editOutline = false;\r\n      // 清除 IndexedDB 历史快照\r\n      clearAllStacks(this.course_id).then(() => {\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n        console.log(`[History] 已清除课程 ${this.course_id} 的历史栈`);\r\n      }).catch(error => {\r\n        console.error('[History] 清除历史栈失败:', error);\r\n      });\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'notsaved',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        // mindmap_content:  mindmap_content1 ? Base64.encode(JSON.stringify(mindmap_content1)) : \"\",\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n\r\n      // 【核心修复】重新初始化数据，确保空内容时显示默认模板\r\n      // 问题：当 mindmap_content 为空时，\"不保存\"后页面变白\r\n      // 原因：doNotSave 没有调用 init() 来恢复默认模板内容\r\n      // 解决：调用 init() 利用已有的\"空值兜底 course_default_studythink\"逻辑\r\n      if (this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.init();\r\n      }\r\n\r\n      // 【修复】断开 WebSocket 连接，避免资源泄漏\r\n      this.$store.dispatch(\"clearWebSocket\");\r\n\r\n      this.$refs.MyMindOutline.submitConCallback(false, type);\r\n    },\r\n    addUserCollectionImage(is_collect) {\r\n      this.imageCollect = is_collect;\r\n    },\r\n    resetTimeout() {\r\n      this.$refs.MyMindOutline.resetTimeout();\r\n    },\r\n    initCommand(data) {\r\n      console.log(\"initCommand:\", data, this.needChangeCommand);\r\n      if(this.needChangeCommand) {\r\n        if(data && data.mindmap_id) {\r\n          this.needChangeCommand = false;\r\n          if (data.mindmap_content) {\r\n            this.command = \"1\";\r\n            this.commandSpan = \"大纲模式\";\r\n          } else if (data.mindmap_pdf) {\r\n            this.command = \"3\";\r\n            this.commandSpan = \"PDF格式\";\r\n          } else if (data.mindmap_image) {\r\n            this.command = \"2\";\r\n            this.commandSpan = \"图片格式\";\r\n          } else {\r\n            this.command = \"1\";\r\n            this.commandSpan = \"大纲模式\";\r\n          }\r\n        } else {\r\n          this.command = \"1\";\r\n          this.commandSpan = \"大纲模式\";\r\n        }\r\n      }\r\n\r\n    },\r\n    async init(data) {\r\n      try {\r\n        this.data = data;\r\n        this.images = [];\r\n        this.imagesName = [];\r\n        this.avatarUrl = \"\";\r\n        this.params = {};\r\n        this.fileImageUrls = [];\r\n        this.selectedImagesIndex = [];\r\n        if (this.$refs.myMindImages) {\r\n          this.$refs.myMindImages.deleteFinish();\r\n        }\r\n        this.isSaveMindMap = false;\r\n        if (this.data) {\r\n          let config = getOssConfig();\r\n          this.imageCollect = this.data.is_collect_studythinkimg;\r\n          if (this.data.mindmap_image) {\r\n            this.images = [];\r\n            const mindmap_image = this.data.mindmap_image.split(\",\");\r\n            const imageName = [];\r\n            mindmap_image.forEach(item => {\r\n              const mindmap_imageNames = item.split(\"/\");\r\n              const mindmap_imageName = mindmap_imageNames[\r\n                mindmap_imageNames.length - 1\r\n              ].split(\".\")[0];\r\n              imageName.push(mindmap_imageNames[mindmap_imageNames.length - 1]);\r\n              this.imagesName.push(mindmap_imageName);\r\n            });\r\n            const imageUrls = this.data.mindmap_image_show.split(\",\");\r\n            imageUrls.forEach(async (item, index) => {\r\n              // 从indexDb拿数据\r\n              const url = config.uploadHost + \"/\" + mindmap_image[index];\r\n              const image = await getFile(url);\r\n              console.log(\"image:\", image);\r\n              if (image) {\r\n                this.images.push(image.fileData);\r\n              } else {\r\n                // 存入indexDb\r\n                const imageBase64 = await getBase64ByUrl(item);\r\n                this.images.push(imageBase64);\r\n                // 保存到indexDb\r\n                await saveFile(url, imageName[index], imageBase64);\r\n              }\r\n            });\r\n            console.log(\"this.images:\", this.images);\r\n\r\n            // this.images = this.data.mindmap_image_show.split(\",\");\r\n\r\n            this.fileImageUrls = this.data.mindmap_image.split(\",\");\r\n          } else {\r\n            this.images = [];\r\n            this.imagesName = [];\r\n            this.fileImageUrls = [];\r\n          }\r\n          console.log(\"this.data.mindmap_pdf:\", this.data.mindmap_pdf);\r\n          if (this.data.mindmap_pdf) {\r\n            let mindmap_pdf = this.data.mindmap_pdf;\r\n            if (mindmap_pdf) {\r\n              let pdf = mindmap_pdf.split(\"/\");\r\n              this.pdfName = pdf[pdf.length - 1];\r\n            }\r\n            // 从indexDb拿数据\r\n            const url = config.uploadHost + \"/\" + mindmap_pdf;\r\n            this.pdfXHRUrl = this.data.mindmap_pdf_show\r\n\r\n            // const pdfBase64 = await getBase64ByFile(file);\r\n            const pdf = await getFile(url);\r\n            console.log(\"pdffff:\", pdf);\r\n            if (pdf) {\r\n              this.pdfUrl = pdf.fileData;\r\n            } else {\r\n              // this.pdfUrl = this.data.mindmap_pdf_show;\r\n              // 存入indexDb\r\n              console.log(\"this.data.mindmap_pdf_show:\", this.data.mindmap_pdf_show);\r\n              this.pdfUrl = await getBase64ByUrl(this.data.mindmap_pdf_show);\r\n              // 保存到indexDb\r\n              await saveFile(url, this.pdfName, this.pdfUrl);\r\n            }\r\n          } else {\r\n            if(this.data.mindmap_pdf !== undefined) {\r\n              this.pdfUrl = \"\";\r\n              this.pdfName = \"\";\r\n            }\r\n          }\r\n        } else {\r\n          this.images = [];\r\n          this.imagesName = [];\r\n          this.fileImageUrls = [];\r\n          this.pdfUrl = this.data.mindmap_pdf_show;\r\n          this.pdfName = \"\";\r\n          let mindmap_pdf = this.data.mindmap_pdf;\r\n          if (mindmap_pdf) {\r\n            let pdf = mindmap_pdf.split(\"/\");\r\n            this.pdfName = pdf[pdf.length - 1];\r\n          }\r\n        }\r\n        if(this.$refs.MyMindOutline) {\r\n          this.$refs.MyMindOutline.init();\r\n        }\r\n\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    async startEdit() {\r\n      // 连接长链接, 进入编辑状态, 返回当前连接数，当连接数大于1时需要禁用2分钟自动提交逻辑\r\n      if(!this.ws) {\r\n        this.$store.dispatch('startWebSocket');\r\n      }\r\n      // this.loading = true;\r\n      this.loadingMsg = \"同步草稿中，请稍候...\";\r\n      this.loadingType = 'info'\r\n      this.editOutline = true;\r\n      this.showLayer = false;\r\n      this.$refs.MyMindOutline.$data.removeNodes = [];\r\n      // 初始化 lastSavedContent\r\n      this.lastSavedContent = '';\r\n      if (this.mindMap && this.mindMap.mindmap_content) {\r\n        try {\r\n          let mindMap = typeof this.mindMap === \"string\" ? JSON.parse(this.mindMap) : deepClone(this.mindMap);\r\n          let mindmap_content = JSON.parse(mindMap.mindmap_content || '[]');\r\n          const parsedContent = await this.toParse(mindmap_content);\r\n          this.lastSavedContent = JSON.stringify(parsedContent);\r\n          console.log(\"[编辑模式] 初始化 lastSavedContent\");\r\n        } catch (e) {\r\n          console.error(\"[编辑模式] 初始化 lastSavedContent 失败:\", e);\r\n        }\r\n      }\r\n      const courseProgress = await getUserCourseProgress({\r\n        course_id: this.course_id,\r\n      });\r\n      if (courseProgress && courseProgress.code === 0) {\r\n        this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n      }\r\n    },\r\n    withdraw() {\r\n      if (!(this.$refs.MyMindOutline.$data.removeNodes && this.$refs.MyMindOutline.$data.removeNodes.length)) {\r\n        return;\r\n      }\r\n      this.isDelUserMindmapShow = true;\r\n      if(this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        // 使用安全回调注册\r\n        this.registerPendingAction(() => {\r\n          this.$refs.MyMindOutline.withdraw();\r\n        }, 'withdraw');\r\n      } else {\r\n        console.log(\"delUserMindmapShow:\", this.status)\r\n        this.getStatus(() => {\r\n          this.$refs.MyMindOutline.withdraw();\r\n        })\r\n      }\r\n    },\r\n    // ========================================================================\r\n    // 【撤销/重做方法 - 带编辑权判断】\r\n    // ========================================================================\r\n    // 执行流程：\r\n    // 1. 检查 isMyselfEditing（当前终端是否有活跃编辑权）\r\n    // 2. 是自己正在编辑 -> 设置 callbackFn，等待 updatesuccess 后执行\r\n    // 3. 不是自己编辑 -> 调用 getStatus 检查全局状态\r\n    //    - status == 1 -> 提示\"其他端正在编辑\"\r\n    //    - status != 1 -> 执行撤销/重做逻辑\r\n    // ========================================================================\r\n\r\n    // 执行撤销操作的回调函数\r\n    async executeUndoCallback() {\r\n      if (!this.canUndo) {\r\n        console.log('[Undo] 没有可撤销的操作');\r\n        return;\r\n      }\r\n\r\n      console.log('[Undo] 开始撤销操作, course_id:', this.course_id);\r\n\r\n      // 设置编辑状态，确保后续操作不会误判\r\n      if (this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.$data.isMyselfEditing = true;\r\n      }\r\n\r\n      try {\r\n        // 设置标记，防止重复保存快照\r\n        this.$store.dispatch('setUndoRedoAction', true);\r\n\r\n        // 获取当前快照（用于推入 Redo 栈）- 使用纯数组格式，与编辑节点时一致\r\n        const currentMindMap = this.$store.getters.mindMap;\r\n        let currentSnapshot = [];\r\n        if (currentMindMap && currentMindMap.mindmap_content) {\r\n          // 提取 mindmap_content 中的数组数据\r\n          currentSnapshot = typeof currentMindMap.mindmap_content === 'string'\r\n            ? JSON.parse(currentMindMap.mindmap_content)\r\n            : currentMindMap.mindmap_content;\r\n        }\r\n        console.log('[Undo] 当前快照(纯数组格式):', currentSnapshot);\r\n\r\n        // 从 Undo 栈弹出快照，同时将当前快照推入 Redo 栈\r\n        const mindMapData = await popUndo(this.course_id, currentSnapshot);\r\n        console.log('[Undo] popUndo 返回数据:', mindMapData);\r\n\r\n        if (!mindMapData) {\r\n          console.error('[Undo] 未找到快照');\r\n          this.$store.dispatch('setUndoRedoAction', false);\r\n          return;\r\n        }\r\n\r\n        // 更新 Vuex mindMap - 需要包装为完整格式\r\n        this.$store.dispatch('setMindMap', {\r\n          data: {\r\n            mindmap_content: JSON.stringify(mindMapData),\r\n            is_collect_studythink: currentMindMap ? currentMindMap.is_collect_studythink : undefined\r\n          },\r\n          isEdited: true,\r\n          timeStamp: Date.now(),\r\n          mindMapTimeStamp: Date.now(),\r\n          isOnlyReady: false\r\n        });\r\n\r\n        console.log('[Undo] Vuex 已更新, 准备更新视图');\r\n\r\n        // 更新 MyMindOutline 组件的本地数据\r\n        if (this.$refs.MyMindOutline) {\r\n          console.log('[Undo] 调用 updateOutlineData');\r\n          this.$refs.MyMindOutline.updateOutlineData(mindMapData);\r\n        } else {\r\n          console.warn('[Undo] MyMindOutline ref 不存在');\r\n        }\r\n\r\n        // 更新栈状态\r\n        const stackStatus = await getStackStatus(this.course_id);\r\n        this.$store.dispatch('setHistoryVersion', {\r\n          canUndo: stackStatus.canUndo,\r\n          canRedo: stackStatus.canRedo,\r\n          undoCount: stackStatus.undoCount,\r\n          redoCount: stackStatus.redoCount\r\n        });\r\n\r\n        // 触发 WebSocket 同步\r\n        this.syncMindmapContent(mindMapData, 'undo_sync');\r\n\r\n        // 撤销操作完成后释放锁，允许其他端操作\r\n        console.log('[Undo] 撤销完成，设置 status=2 释放锁');\r\n        this.setStatus(2);\r\n\r\n        console.log(`[Undo] 已撤销，剩余 ${stackStatus.undoCount} 步可撤销`);\r\n\r\n        // 重置标记\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      } catch (error) {\r\n        console.error('[Undo] 撤销失败:', error);\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      }\r\n    },\r\n\r\n    // 撤销方法入口 - 带锁检查\r\n    handleUndo() {\r\n      // 【防连点】检查锁状态\r\n      if (this.isUndoProcessing) {\r\n        console.log('[Undo] 操作进行中，忽略重复点击');\r\n        this.$message.warning('操作太快，请1秒后再尝试');\r\n        return;\r\n      }\r\n\r\n      if (!this.canUndo) {\r\n        console.log('[Undo] 没有可撤销的操作');\r\n        return;\r\n      }\r\n\r\n      // 【防连点】加锁\r\n      this.isUndoProcessing = true;\r\n\r\n      // 参考编辑节点的锁检查模式\r\n      this.getStatus(() => {\r\n        console.log('[Undo] 锁检查通过，执行撤销');\r\n        this.executeUndoCallback();\r\n      });\r\n\r\n      // 【防连点】250ms 后解锁（时间冷却）\r\n      this.isUndoProcessingTimeout = setTimeout(() => {\r\n        this.isUndoProcessing = false;\r\n        clearTimeout(this.isUndoProcessingTimeout);\r\n      }, this.undoRedoDuration);\r\n    },\r\n\r\n    // 执行重做操作的回调函数\r\n    async executeRedoCallback() {\r\n      if (!this.canRedo) {\r\n        console.log('[Redo] 没有可重做的操作');\r\n        return;\r\n      }\r\n\r\n      console.log('[Redo] 开始重做操作, course_id:', this.course_id);\r\n\r\n      // 设置编辑状态，确保后续操作不会误判\r\n      if (this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.$data.isMyselfEditing = true;\r\n      }\r\n\r\n      try {\r\n        // 设置标记，防止重复保存快照\r\n        this.$store.dispatch('setUndoRedoAction', true);\r\n\r\n        // 获取当前快照（用于推入 Undo 栈）- 使用纯数组格式，与编辑节点时一致\r\n        const currentMindMap = this.$store.getters.mindMap;\r\n        let currentSnapshot = [];\r\n        if (currentMindMap && currentMindMap.mindmap_content) {\r\n          // 提取 mindmap_content 中的数组数据\r\n          currentSnapshot = typeof currentMindMap.mindmap_content === 'string'\r\n            ? JSON.parse(currentMindMap.mindmap_content)\r\n            : currentMindMap.mindmap_content;\r\n        }\r\n        console.log('[Redo] 当前快照(纯数组格式):', currentSnapshot);\r\n\r\n        // 从 Redo 栈弹出快照，同时将当前快照推入 Undo 栈\r\n        const mindMapData = await popRedo(this.course_id, currentSnapshot);\r\n        console.log('[Redo] popRedo 返回数据:', mindMapData);\r\n\r\n        if (!mindMapData) {\r\n          console.error('[Redo] 未找到快照');\r\n          this.$store.dispatch('setUndoRedoAction', false);\r\n          return;\r\n        }\r\n\r\n        // 更新 Vuex mindMap - 需要包装为完整格式\r\n        this.$store.dispatch('setMindMap', {\r\n          data: {\r\n            mindmap_content: JSON.stringify(mindMapData),\r\n            is_collect_studythink: currentMindMap ? currentMindMap.is_collect_studythink : undefined\r\n          },\r\n          isEdited: true,\r\n          timeStamp: Date.now(),\r\n          mindMapTimeStamp: Date.now(),\r\n          isOnlyReady: false\r\n        });\r\n\r\n        // 更新 MyMindOutline 组件的本地数据\r\n        if (this.$refs.MyMindOutline) {\r\n          console.log('[Redo] 调用 updateOutlineData');\r\n          this.$refs.MyMindOutline.updateOutlineData(mindMapData);\r\n        }\r\n\r\n        // 更新栈状态\r\n        const stackStatus = await getStackStatus(this.course_id);\r\n        this.$store.dispatch('setHistoryVersion', {\r\n          canUndo: stackStatus.canUndo,\r\n          canRedo: stackStatus.canRedo,\r\n          undoCount: stackStatus.undoCount,\r\n          redoCount: stackStatus.redoCount\r\n        });\r\n\r\n        // 触发 WebSocket 同步\r\n        this.syncMindmapContent(mindMapData, 'redo_sync');\r\n\r\n        // 重做操作完成后释放锁，允许其他端操作\r\n        console.log('[Redo] 重做完成，设置 status=2 释放锁');\r\n        this.setStatus(2);\r\n\r\n        console.log(`[Redo] 已重做，剩余 ${stackStatus.redoCount} 步可重做`);\r\n\r\n        // 重置标记\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      } catch (error) {\r\n        console.error('[Redo] 重做失败:', error);\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      }\r\n    },\r\n\r\n    // 重做方法入口 - 带锁检查\r\n    handleRedo() {\r\n      // 【防连点】检查锁状态\r\n      if (this.isRedoProcessing) {\r\n        console.log('[Redo] 操作进行中，忽略重复点击');\r\n        this.$message.warning('操作太快，请1秒后再尝试');\r\n        return;\r\n      }\r\n\r\n      if (!this.canRedo) {\r\n        console.log('[Redo] 没有可重做的操作');\r\n        return;\r\n      }\r\n\r\n      // 【防连点】加锁\r\n      this.isRedoProcessing = true;\r\n\r\n      // 参考编辑节点的锁检查模式\r\n      this.getStatus(() => {\r\n        console.log('[Redo] 锁检查通过，执行重做');\r\n        this.executeRedoCallback();\r\n      });\r\n\r\n      // 【防连点】250ms 后解锁（时间冷却）\r\n      this.isRedoProcessingTimeout = setTimeout(() => {\r\n        this.isRedoProcessing = false;\r\n        clearTimeout(this.isRedoProcessingTimeout);\r\n      }, this.undoRedoDuration);\r\n    },\r\n\r\n    // 同步导图内容到其他端\r\n    syncMindmapContent(mindMapData, type) {\r\n      if (!this.ws) {\r\n        return;\r\n      }\r\n\r\n      // 清洗数据：只保留 node、name、lock 字段\r\n      let mindmapContent = this.cleanMindmapData(mindMapData);\r\n      if (typeof mindmapContent === 'object') {\r\n        mindmapContent = JSON.stringify(mindmapContent);\r\n      }\r\n\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: type,\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_content: Base64.encode(mindmapContent),\r\n        device_type: 3\r\n      };\r\n\r\n      this.$store.dispatch('sendWebSocketMessage', JSON.stringify(messageData));\r\n    },\r\n\r\n    // 清洗思维导图数据，只保留 node、name、lock 字段\r\n    cleanMindmapData(data) {\r\n      if (!data) return [];\r\n\r\n      // 如果是字符串，先解析\r\n      let arr = data;\r\n      if (typeof data === 'string') {\r\n        try {\r\n          arr = data === '' ? [] : JSON.parse(data);\r\n        } catch (e) {\r\n          console.error('[cleanMindmapData] 解析失败:', e);\r\n          return [];\r\n        }\r\n      }\r\n\r\n      if (!Array.isArray(arr)) return [];\r\n\r\n      const cleanNode = (node) => {\r\n        if (!node || typeof node !== 'object') return null;\r\n\r\n        const cleaned = {};\r\n\r\n        // 只保留需要的字段\r\n        if (node.name !== undefined) cleaned.name = node.name;\r\n        if (node.lock !== undefined) cleaned.lock = node.lock;\r\n\r\n        // 处理子节点（children 或 node）\r\n        const children = node.children || node.node || [];\r\n        if (children.length > 0) {\r\n          cleaned.node = children.map(child => cleanNode(child)).filter(Boolean);\r\n        }\r\n\r\n        return cleaned;\r\n      };\r\n\r\n      return arr.map(item => cleanNode(item)).filter(Boolean);\r\n    },\r\n    handleCommand(command) {\r\n      if (command === \"1\") {\r\n        this.commandSpan = \"大纲模式\";\r\n      } else if (command === \"2\") {\r\n        this.commandSpan = \"图片格式\";\r\n        // 如果之前的是大纲模式，则切换模式的时候弹出是否保存提示框\r\n        if (this.command === \"1\") {\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n        }\r\n      } else {\r\n        this.commandSpan = \"PDF格式\";\r\n        // 如果之前的是大纲模式，则切换模式的时候弹出是否保存提示框\r\n        if (this.command === \"1\") {\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n        }\r\n      }\r\n      this.command = command;\r\n    },\r\n    handleOperateCommand(command) {\r\n      if (command === \"1\") {\r\n        // this.commandOperateSpan = \"导出图片\";\r\n        this.saveToImage();\r\n      } else if (command === \"2\") {\r\n        // this.commandOperateSpan = \"导出PDF\";\r\n        this.saveToPDF();\r\n      }\r\n      this.commandOperate = command;\r\n    },\r\n    // 保存图片功能\r\n    saveToImage() {\r\n      try {\r\n        const myMindMap = document.getElementById(this.myMindOutlineId);\r\n        const myMindMap1 = document.getElementById(this.treeId);\r\n        const content = document.getElementById('content');\r\n        if(myMindMap) {\r\n          myMindMap.style.height = myMindMap1.scrollHeight + \"px\";\r\n          const myMindMapClone = myMindMap.cloneNode(true);\r\n          myMindMapClone.style.width = myMindMap1.width + 'px'\r\n          myMindMapClone.style.zIndex = -1\r\n          const tree = myMindMapClone.querySelector(\".el-tree\");\r\n          tree.style.backgroundColor = '#fff'\r\n          const courseName = myMindMapClone.querySelector(\"#course_name\");\r\n          courseName.style.display = 'block'\r\n          content.appendChild(myMindMapClone)\r\n          captureCanvas(myMindMapClone, this.courseBase.course_name, '#fff', () => {\r\n            myMindMap.style.height = '100%'\r\n            content.removeChild(myMindMapClone)\r\n          });\r\n        }\r\n      } catch (error) {\r\n        console.log('saveToImage:', error)\r\n      }\r\n    },\r\n    saveToPDF() {\r\n      console.log(\"saveToPDF:\", this.data)\r\n      const mindmap_content = this.data.mindmap_content;\r\n      if(mindmap_content) {\r\n        const mindmap_content_parse = JSON.parse(mindmap_content);\r\n        console.log(mindmap_content_parse)\r\n        const nodes = this.buildFlatNodes(mindmap_content_parse);\r\n        // console.log(\"nodes:\", nodes)\r\n        // const tree = document.getElementById(this.treeId)\r\n        // tree.style.display = 'none';\r\n        this.exportMindmapToPDF(nodes);\r\n      }\r\n    },\r\n    buildFlatNodes(tree, level = 0, parentPath = []) {\r\n      let result = [];\r\n      for (let i = 0; i < tree.length; i++) {\r\n        const node = tree[i];\r\n        const isLeaf = !node.node || node.node.length === 0;\r\n        const isLast = i === tree.length - 1;\r\n        const currentPath = [...parentPath, i]; // 用索引路径标识唯一父路径\r\n\r\n        result.push({\r\n          label: node.name,\r\n          level,\r\n          isLeaf,\r\n          isLast,\r\n          parentPath: [...parentPath], // 父路径（用于分组兄弟）\r\n          fullPath: currentPath\r\n        });\r\n\r\n        if (!isLeaf) {\r\n          result = result.concat(this.buildFlatNodes(node.node, level + 1, currentPath));\r\n        }\r\n      }\r\n      const siblingGroups = new Map(); // key: stringified parentPath → sorted array of nodes\r\n\r\n      // 收集所有节点（从原始 nodes 数组，不是 pages）\r\n      result.forEach(node => {\r\n        const key = JSON.stringify(node.parentPath);\r\n        if (!siblingGroups.has(key)) {\r\n          siblingGroups.set(key, []);\r\n        }\r\n        siblingGroups.get(key).push(node);\r\n      });\r\n\r\n      // 对每组兄弟排序，并设置 prevSibling / nextSibling\r\n      for (const group of siblingGroups.values()) {\r\n        if (group.length <= 1) continue;\r\n\r\n        group.sort((a, b) => {\r\n          const aStr = a.fullPath.join(',');\r\n          const bStr = b.fullPath.join(',');\r\n          return aStr < bStr ? -1 : aStr > bStr ? 1 : 0;\r\n        });\r\n\r\n        for (let i = 0; i < group.length; i++) {\r\n          const node = group[i];\r\n          const prevSibling = i > 0 ? group[i - 1] : null;\r\n          const nextSibling = i < group.length - 1 ? group[i + 1] : null;\r\n          node.prevSibling = prevSibling;\r\n          node.nextSibling = nextSibling;\r\n          node.hasPrevSibling = prevSibling !== null;\r\n          node.hasNextSibling = nextSibling !== null;\r\n        }\r\n      }\r\n      return result;\r\n    },\r\n\r\n    // ========== 主导出函数 ==========\r\n    exportMindmapToPDF(nodes) {\r\n      try {\r\n        const mindmap = document.getElementById(this.myMindOutlineId);\r\n        mindmap.style.overflow = 'auto';\r\n        const pdf = new jsPDF('p', 'mm', 'a4');\r\n\r\n        // ========== 配置 ==========\r\n        const pageWidthMm = 210;\r\n        const pageHeightMm = 297;\r\n        const marginMm = 12;\r\n        const usableWidthMm = pageWidthMm - 2 * marginMm;\r\n        const usableHeightMm = pageHeightMm - 2 * marginMm;\r\n\r\n        // ========== 课程标题配置 ==========\r\n        const courseName = this.course_name; // ← 替换为你的实际课程名\r\n        const titleHeightMm = 22; // 标题区域高度（毫米）\r\n        const titleFontSizeMm = 10;\r\n\r\n        const dpi = 420;\r\n        const mmToPx = dpi / 25.4;\r\n\r\n        const indentMm = 6;\r\n        const baseFontSizeMm = 5;\r\n        const baseIconSizeMm = 2;\r\n\r\n        const indentPx = Math.round(indentMm * mmToPx);\r\n        const fontSizePx = Math.round(baseFontSizeMm * mmToPx);\r\n        const iconSizePx = Math.round(baseIconSizeMm * mmToPx);\r\n\r\n        const usableWidthPx = Math.round(usableWidthMm * mmToPx);\r\n        const usableHeightPx = Math.round(usableHeightMm * mmToPx);\r\n        // const maxLinesPerPage = Math.floor(usableHeightMm / lineHeightMm); // 逻辑行数上限\r\n        // ========== 第一页增加标题高度 ==========\r\n        let titleHeightPx = courseName ? Math.round(titleHeightMm * mmToPx) : 0;\r\n\r\n        function getLineHeightByLevel(level) {\r\n          return Math.max(10 - level * 1, 5); // level 0:8mm, level1:7.2mm, ..., min=5mm\r\n        }\r\n\r\n        // ========== 步骤1：预处理每个节点的换行文本 ==========\r\n        function wrapText(ctx, text, maxWidth) {\r\n          if (!text.trim()) return [''];\r\n          const words = text.split(' ');\r\n          const lines = [];\r\n          let currentLine = '';\r\n          for (let i = 0; i < words.length; i++) {\r\n            const word = words[i];\r\n            if (!word) continue;\r\n            const testLine = currentLine ? `${currentLine} ${word}` : word;\r\n            const metrics = ctx.measureText(testLine);\r\n            if (metrics.width <= maxWidth) {\r\n              currentLine = testLine;\r\n            } else {\r\n              if (currentLine) {\r\n                lines.push(currentLine);\r\n                currentLine = '';\r\n              }\r\n\r\n              // 按字符拆分长单词\r\n              let charLine = '';\r\n              for (let j = 0; j < word.length; j++) {\r\n                const char = word[j];\r\n                const testChar = charLine + char;\r\n                const charMetrics = ctx.measureText(testChar);\r\n\r\n                if (charMetrics.width <= maxWidth) {\r\n                  charLine = testChar;\r\n                } else {\r\n                  if (charLine) lines.push(charLine);\r\n                  charLine = char; // 强制放入（即使超宽）\r\n                }\r\n              }\r\n              if (charLine) currentLine = charLine;\r\n            }\r\n          }\r\n          if (currentLine) lines.push(currentLine);\r\n          return lines;\r\n        }\r\n\r\n        // 创建临时 canvas 用于测量文本\r\n        const tempCanvas = document.createElement('canvas');\r\n        const tempCtx = tempCanvas.getContext('2d');\r\n\r\n        // 计算动态最大文本宽度\r\n        const maxLevel = nodes.length > 0 ? Math.max(...nodes.map(n => n.level)) : 0;\r\n        const maxPossibleIndent = maxLevel * indentPx;\r\n        const iconAndSpacing = iconSizePx + 10; // 图标+间距\r\n        const safetyMargin = 15;\r\n        // 计算文本可用宽度\r\n        const maxTextWidthPx = Math.max(\r\n          usableWidthPx - maxPossibleIndent - iconAndSpacing - safetyMargin,\r\n          60 // 最小 60px\r\n        );\r\n\r\n        // 扁平化并计算每节点所需行数\r\n        const nodeRenderInfo = [];\r\n        let totalRenderLines = 0;\r\n        nodes.forEach(node => {\r\n          const currentFontSize = Math.max(fontSizePx - node.level * 7, 10);\r\n          tempCtx.font = `${currentFontSize}px \"Microsoft YaHei\", \"PingFang SC\", sans-serif`;\r\n          const lines = wrapText(tempCtx, node.label || '', maxTextWidthPx);\r\n          const lineHeightMm = getLineHeightByLevel(node.level); // ← 动态行高（毫米）\r\n          const lineHeightPx = lineHeightMm * mmToPx;        // ← 动态行高（像素）\r\n          nodeRenderInfo.push({\r\n            ...node,\r\n            renderLines: lines,\r\n            lineCount: lines.length,\r\n            lineHeightMm: lineHeightMm,\r\n            lineHeightPx: lineHeightPx,\r\n            startLineIndex: totalRenderLines // 该节点在全局渲染行中的起始行\r\n          });\r\n          totalRenderLines += lines.length;\r\n        });\r\n\r\n        // ========== 新增：计算每个节点的子树最后一行（全局）==========\r\n        const globalNodeMap = new Map();\r\n        nodeRenderInfo.forEach(info => {\r\n          globalNodeMap.set(info.fullPath.join(','), info);\r\n        });\r\n\r\n        // 初始化 lastDescendantLineIndex\r\n        nodeRenderInfo.forEach(info => {\r\n          info.lastDescendantLineIndex = info.startLineIndex + info.lineCount - 1;\r\n        });\r\n\r\n        // 从后往前遍历（确保子节点已处理）\r\n        for (let i = nodeRenderInfo.length - 1; i >= 0; i--) {\r\n          const node = nodeRenderInfo[i];\r\n          const parentPath = node.parentPath;\r\n          if (parentPath.length === 0) continue; // 根节点无父\r\n          const parentKey = parentPath.join(',');\r\n          const parentInfo = globalNodeMap.get(parentKey);\r\n          if (parentInfo) {\r\n            if (node.lastDescendantLineIndex > parentInfo.lastDescendantLineIndex) {\r\n              parentInfo.lastDescendantLineIndex = node.lastDescendantLineIndex;\r\n            }\r\n          }\r\n        }\r\n\r\n        // ========== 步骤2：按渲染行分页（支持节点跨页）==========\r\n        const pages = [];\r\n        let currentPageLines = [];\r\n        let currentLineCount = 0;\r\n\r\n        nodeRenderInfo.forEach((nodeInfo, index) => {\r\n          // 计算当前页可用高度（第一页扣除标题）\r\n          let usableHeightForPage = pages.length > 0 ? usableHeightMm : (usableHeightMm - (courseName ? titleHeightMm : 0));\r\n          let currentPageHeightMm = 0; // 当前页已用高度（毫米）\r\n\r\n          // 先计算当前页已渲染内容的高度\r\n          if (pages.length === 0) {\r\n            // 第一页：遍历已加入的行，累加高度\r\n            for (let i = 0; i < currentPageLines.length; i++) {\r\n              const lineNode = currentPageLines[i].node;\r\n              currentPageHeightMm += lineNode.lineHeightMm;\r\n            }\r\n          } else {\r\n            // 后续页\r\n            for (let i = 0; i < currentPageLines.length; i++) {\r\n              const lineNode = currentPageLines[i].node;\r\n              currentPageHeightMm += lineNode.lineHeightMm;\r\n            }\r\n          }\r\n\r\n          const remainingHeight = usableHeightForPage - currentPageHeightMm;\r\n          const nodeTotalHeight = nodeInfo.lineCount * nodeInfo.lineHeightMm;\r\n\r\n          // 情况1：当前页能完整放下该节点\r\n          if (nodeTotalHeight <= remainingHeight) {\r\n            for (let i = 0; i < nodeInfo.renderLines.length; i++) {\r\n              currentPageLines.push({\r\n                text: nodeInfo.renderLines[i],\r\n                node: nodeInfo,\r\n                lineIndexInNode: i\r\n              });\r\n            }\r\n            currentLineCount += nodeInfo.lineCount;\r\n            return;\r\n          }\r\n\r\n          // 情况2：当前页完全放不下（剩余高度 ≤ 0）\r\n          if (remainingHeight <= 0) {\r\n            if (currentPageLines.length > 0) {\r\n              pages.push([...currentPageLines]);\r\n              currentPageLines = [];\r\n              currentLineCount = 0;\r\n            }\r\n            // 重新计算剩余高度\r\n            usableHeightForPage = pages.length > 0 ? usableHeightMm : (usableHeightMm - (courseName ? titleHeightMm : 0));\r\n            currentPageHeightMm = 0;\r\n            const newRemainingHeight = usableHeightForPage;\r\n\r\n            if (nodeTotalHeight <= newRemainingHeight) {\r\n              for (let i = 0; i < nodeInfo.renderLines.length; i++) {\r\n                currentPageLines.push({\r\n                  text: nodeInfo.renderLines[i],\r\n                  node: nodeInfo,\r\n                  lineIndexInNode: i\r\n                });\r\n              }\r\n              currentLineCount += nodeInfo.lineCount;\r\n            } else {\r\n              // 极端：单个节点超一页 → 强制分割（按行拆）\r\n              let addedLines = 0;\r\n              for (let i = 0; i < nodeInfo.renderLines.length; i++) {\r\n                const lineHeight = nodeInfo.lineHeightMm;\r\n                if (currentPageHeightMm + lineHeight <= usableHeightForPage) {\r\n                  currentPageLines.push({\r\n                    text: nodeInfo.renderLines[i],\r\n                    node: nodeInfo,\r\n                    lineIndexInNode: i\r\n                  });\r\n                  currentPageHeightMm += lineHeight;\r\n                  addedLines++;\r\n                } else {\r\n                  break;\r\n                }\r\n              }\r\n              if (addedLines < nodeInfo.renderLines.length) {\r\n                // 需要跨页\r\n                const splitNodeStart = {\r\n                  ...nodeInfo,\r\n                  renderLines: nodeInfo.renderLines.slice(0, addedLines),\r\n                  lineCount: addedLines,\r\n                  isSplit: true,\r\n                  splitPart: 'start'\r\n                };\r\n                const splitNodeEnd = {\r\n                  ...nodeInfo,\r\n                  renderLines: nodeInfo.renderLines.slice(addedLines),\r\n                  lineCount: nodeInfo.renderLines.length - addedLines,\r\n                  isSplit: true,\r\n                  splitPart: 'end'\r\n                };\r\n                // 当前页只加 start 部分\r\n                for (let i = 0; i < splitNodeStart.renderLines.length; i++) {\r\n                  currentPageLines.push({\r\n                    text: splitNodeStart.renderLines[i],\r\n                    node: splitNodeStart,\r\n                    lineIndexInNode: i\r\n                  });\r\n                }\r\n                pages.push([...currentPageLines]);\r\n                currentPageLines = [];\r\n                currentLineCount = 0;\r\n                // 下一页加 end 部分\r\n                for (let i = 0; i < splitNodeEnd.renderLines.length; i++) {\r\n                  currentPageLines.push({\r\n                    text: splitNodeEnd.renderLines[i],\r\n                    node: splitNodeEnd,\r\n                    lineIndexInNode: i\r\n                  });\r\n                }\r\n                currentLineCount = splitNodeEnd.renderLines.length;\r\n              }\r\n            }\r\n            return;\r\n          }\r\n\r\n          // 情况3：当前页放不下整个节点，但有剩余空间 → 尝试部分放入\r\n          let addedLines = 0;\r\n          for (let i = 0; i < nodeInfo.renderLines.length; i++) {\r\n            const lineHeight = nodeInfo.lineHeightMm;\r\n            if (currentPageHeightMm + lineHeight <= usableHeightForPage) {\r\n              currentPageLines.push({\r\n                text: nodeInfo.renderLines[i],\r\n                node: nodeInfo,\r\n                lineIndexInNode: i\r\n              });\r\n              currentPageHeightMm += lineHeight;\r\n              addedLines++;\r\n            } else {\r\n              break;\r\n            }\r\n          }\r\n\r\n          if (addedLines < nodeInfo.renderLines.length) {\r\n            // 需要跨页分割\r\n            const splitNodeStart = {\r\n              ...nodeInfo,\r\n              renderLines: nodeInfo.renderLines.slice(0, addedLines),\r\n              lineCount: addedLines,\r\n              isSplit: true,\r\n              splitPart: 'start'\r\n            };\r\n            const splitNodeEnd = {\r\n              ...nodeInfo,\r\n              renderLines: nodeInfo.renderLines.slice(addedLines),\r\n              lineCount: nodeInfo.renderLines.length - addedLines,\r\n              isSplit: true,\r\n              splitPart: 'end'\r\n            };\r\n\r\n            // 当前页只保留 start（已 push 到 currentPageLines）\r\n            pages.push([...currentPageLines]);\r\n            currentPageLines = [];\r\n            currentLineCount = 0;\r\n\r\n            // 下一页处理 end\r\n            for (let i = 0; i < splitNodeEnd.renderLines.length; i++) {\r\n              currentPageLines.push({\r\n                text: splitNodeEnd.renderLines[i],\r\n                node: splitNodeEnd,\r\n                lineIndexInNode: i\r\n              });\r\n            }\r\n            currentLineCount = splitNodeEnd.renderLines.length;\r\n          }\r\n        });\r\n\r\n        // 处理最后一页\r\n        if (currentPageLines.length > 0) {\r\n          pages.push([...currentPageLines]);\r\n        }\r\n\r\n        // ========== 收集需要画子树贯穿线的锚点（所有非叶子节点）==========\r\n        const subtreeAnchors = nodeRenderInfo.filter(node => !node.isLeaf);\r\n\r\n        // ========== 步骤3：绘制每一页 ==========\r\n        pages.forEach((pageLines, pageIndex) => {\r\n          // 计算本页实际高度（用于 canvas 和 PDF）\r\n          let pageHeightMm = 0;\r\n          pageLines.forEach(lineObj => {\r\n            pageHeightMm += lineObj.node.lineHeightMm;\r\n          });\r\n          if (pageIndex === 0 && courseName) {\r\n            pageHeightMm += titleHeightMm;\r\n          }\r\n\r\n          const canvas = document.createElement('canvas');\r\n          const ctx = canvas.getContext('2d');\r\n          const canvasWidthPx = usableWidthPx;\r\n          const canvasHeightPx = Math.round(pageHeightMm * mmToPx);\r\n          canvas.width = canvasWidthPx;\r\n          canvas.height = canvasHeightPx;\r\n\r\n          ctx.fillStyle = '#ffffff';\r\n          ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n          ctx.imageSmoothingEnabled = true;\r\n          ctx.imageSmoothingQuality = 'high';\r\n          ctx.textBaseline = 'middle';\r\n\r\n          // ========== 绘制课程标题（仅第一页）==========\r\n          let contentOffsetPx = 0;\r\n          if (pageIndex === 0 && courseName) {\r\n            ctx.font = `bold ${Math.round(titleFontSizeMm * mmToPx)}px \"Microsoft YaHei\", \"PingFang SC\", sans-serif`;\r\n            ctx.fillStyle = '#000000';\r\n            const titleY = titleHeightPx / 2;\r\n            const titleX = 0;\r\n            ctx.fillText(courseName, titleX, titleY);\r\n            contentOffsetPx = Math.round(titleHeightMm * mmToPx);\r\n          }\r\n\r\n          // ========== 绘制节点图标与文本 ==========\r\n          const nodeIconPositions = new Map();\r\n\r\n          let currentRenderHeightPx = 0;\r\n          pageLines.forEach((lineObj, idx) => {\r\n            const lineHeightPx = lineObj.node.lineHeightPx;\r\n            const yIcon = Math.round(contentOffsetPx + currentRenderHeightPx + lineHeightPx / 2);\r\n            const xIcon = Math.round(lineObj.node.level * indentPx + iconSizePx / 2);\r\n\r\n            if (lineObj.lineIndexInNode === 0) {\r\n              nodeIconPositions.set(lineObj.node.fullPath.join(','), { x: xIcon, y: yIcon });\r\n\r\n              ctx.fillStyle = '#000000';\r\n              const half = Math.floor(iconSizePx / 2);\r\n              if (!lineObj.node.isSplit || (lineObj.node.isSplit && lineObj.node.splitPart === 'start')) {\r\n                if (lineObj.node.isLeaf) {\r\n                  ctx.fillRect(xIcon - half + 5, yIcon - half + 5, iconSizePx - 12, iconSizePx - 12);\r\n                } else {\r\n                  ctx.beginPath();\r\n                  ctx.moveTo(xIcon, yIcon + half);\r\n                  ctx.lineTo(xIcon - half, yIcon - half + 7);\r\n                  ctx.lineTo(xIcon + half, yIcon - half + 7);\r\n                  ctx.closePath();\r\n                  ctx.fill();\r\n                }\r\n              }\r\n            }\r\n\r\n            const currentFontSize = Math.max(fontSizePx - lineObj.node.level * 7, 10);\r\n            ctx.font = `${currentFontSize}px \"Microsoft YaHei\", \"PingFang SC\", sans-serif`;\r\n            const textX = xIcon + iconSizePx + 6;\r\n            const yText = Math.round(contentOffsetPx + currentRenderHeightPx + lineHeightPx / 2);\r\n            ctx.fillStyle = '#000000';\r\n            ctx.fillText(lineObj.text, textX, yText);\r\n\r\n            currentRenderHeightPx += lineHeightPx;\r\n          });\r\n\r\n          // ========== 绘制兄弟连线（含跨页延伸）==========\r\n          ctx.strokeStyle = '#D9D9D9';\r\n          ctx.lineWidth = 3;\r\n          ctx.setLineDash([Math.round(1 * mmToPx), Math.round(1 * mmToPx)]);\r\n\r\n          const groups = {};\r\n          pageLines.forEach(pageLine => {\r\n            const key = JSON.stringify(pageLine.node.parentPath);\r\n            if (!groups[key]) groups[key] = [];\r\n            groups[key].push(pageLine.node);\r\n          });\r\n\r\n          for (const group of Object.values(groups)) {\r\n            group.sort((a, b) => a.fullPath.join(',') < b.fullPath.join(',') ? -1 : 1);\r\n\r\n            const parentKey = JSON.stringify(group[0].parentPath);\r\n            const allSiblings = nodes.filter(n => JSON.stringify(n.parentPath) === parentKey);\r\n            allSiblings.sort((a, b) => a.fullPath.join(',') < b.fullPath.join(',') ? -1 : 1);\r\n            const siblingPaths = allSiblings.map(s => s.fullPath.join(','));\r\n\r\n            // 1. 画本页内的兄弟连线\r\n            for (let i = 0; i < group.length - 1; i++) {\r\n              const curr = group[i];\r\n              const next = group[i + 1];\r\n              const currPos = nodeIconPositions.get(curr.fullPath.join(','));\r\n              const nextPos = nodeIconPositions.get(next.fullPath.join(','));\r\n\r\n              if (currPos && nextPos && curr.fullPath !== next.fullPath) {\r\n                const startY = currPos.y + Math.ceil(iconSizePx / 2) + 1;\r\n                const endY = nextPos.y - Math.ceil(iconSizePx / 2) - 1;\r\n                if (startY < endY) {\r\n                  ctx.beginPath();\r\n                  ctx.moveTo(currPos.x, startY);\r\n                  ctx.lineTo(currPos.x, endY);\r\n                  ctx.stroke();\r\n                }\r\n              }\r\n            }\r\n\r\n            // 2. 跨页延伸\r\n            const firstInPage = group[0];\r\n            const lastInPage = group[group.length - 1];\r\n            const firstIndex = siblingPaths.indexOf(firstInPage.fullPath.join(','));\r\n            const lastIndex = siblingPaths.indexOf(lastInPage.fullPath.join(','));\r\n\r\n            const hasPrevSibling = firstIndex > 0;\r\n            const hasNextSibling = lastIndex < siblingPaths.length - 1;\r\n\r\n            const pageTopY = 0;\r\n\r\n            if (!firstInPage.isSplit || (firstInPage.isSplit && firstInPage.splitPart == 'start')) {\r\n              if (hasPrevSibling) {\r\n                const firstPos = nodeIconPositions.get(firstInPage.fullPath.join(','));\r\n                if (firstPos) {\r\n                  const startY = pageTopY;\r\n                  const endY = firstPos.y - Math.ceil(iconSizePx / 2) - 1;\r\n                  if (endY > startY) {\r\n                    ctx.beginPath();\r\n                    ctx.moveTo(firstPos.x, startY);\r\n                    ctx.lineTo(firstPos.x, endY);\r\n                    ctx.stroke();\r\n                  }\r\n                }\r\n              }\r\n            }\r\n\r\n            // if (hasNextSibling) {\r\n            //   const lastPos = nodeIconPositions.get(lastInPage.fullPath.join(','));\r\n            //   if (lastPos) {\r\n            //     const startY = lastPos.y + Math.ceil(iconSizePx / 2) + 1;\r\n            //     const endY = pageBottomY;\r\n            //     if (startY < endY) {\r\n            //       ctx.beginPath();\r\n            //       ctx.moveTo(lastPos.x, startY);\r\n            //       ctx.lineTo(lastPos.x, endY);\r\n            //       ctx.stroke();\r\n            //     }\r\n            //   }\r\n            // }\r\n          }\r\n\r\n          // ========== 新增：绘制子树贯穿竖线（解决跨多页断连问题）==========\r\n          subtreeAnchors.forEach(anchor => {\r\n            const anchorKey = anchor.fullPath.join(',');\r\n            let x = undefined;\r\n            if (nodeIconPositions.has(anchorKey)) {\r\n              x = nodeIconPositions.get(anchorKey).x;\r\n            }\r\n            if (x === undefined) {\r\n              x = Math.round(anchor.level * indentPx + iconSizePx / 2);\r\n            }\r\n\r\n            // 计算当前页对应的全局行范围\r\n            let pageStartLine = 0;\r\n            for (let p = 0; p < pageIndex; p++) {\r\n              pageStartLine += pages[p].length;\r\n            }\r\n            const pageEndLine = pageStartLine + pageLines.length - 1;\r\n\r\n            const overlapStart = Math.max(anchor.startLineIndex, pageStartLine);\r\n            const overlapEnd = Math.min(anchor.lastDescendantLineIndex, pageEndLine);\r\n\r\n            if (overlapStart > overlapEnd) return;\r\n\r\n            // 计算在 canvas 中的 Y 坐标\r\n            let localStartY = 0;\r\n            for (let i = 0; i < overlapStart - pageStartLine; i++) {\r\n              localStartY += pageLines[i].node.lineHeightPx;\r\n            }\r\n            localStartY += contentOffsetPx;\r\n\r\n            let localEndY = localStartY;\r\n            for (let i = overlapStart - pageStartLine; i <= overlapEnd - pageStartLine; i++) {\r\n              if (i < pageLines.length) {\r\n                localEndY += pageLines[i].node.lineHeightPx;\r\n              }\r\n            }\r\n\r\n            // 起点 Y：如果 anchor 在本页，则从图标底部开始；否则从页顶开始\r\n            let startY;\r\n            if (anchor.startLineIndex >= pageStartLine && anchor.startLineIndex <= pageEndLine) {\r\n              const anchorPos = nodeIconPositions.get(anchorKey);\r\n              if (anchorPos) {\r\n                startY = anchorPos.y + Math.ceil(iconSizePx / 2) + 1;\r\n              } else {\r\n                startY = localStartY;\r\n              }\r\n            } else {\r\n              startY = contentOffsetPx; // 页顶\r\n            }\r\n\r\n            // 终点 Y\r\n            let endY = localEndY - (pageLines[overlapEnd - pageStartLine].node.lineHeightPx || 0) / 2 - 1;\r\n            if(endY) {\r\n              endY = Math.min(endY, canvas.height);\r\n\r\n              if (endY > startY) {\r\n                ctx.beginPath();\r\n                ctx.moveTo(x, startY);\r\n                ctx.lineTo(x, endY);\r\n                ctx.stroke();\r\n              }\r\n            }\r\n\r\n          });\r\n\r\n          ctx.setLineDash([]);\r\n\r\n          // ========== 输出 PDF ==========\r\n          const imgData = canvas.toDataURL('image/jpeg');\r\n          if (pageIndex > 0) pdf.addPage();\r\n          // mindmap.append(canvas);\r\n          pdf.addImage(imgData, 'JPEG', marginMm, marginMm, usableWidthMm, pageHeightMm, undefined, undefined, 0, {});\r\n        });\r\n\r\n        pdf.save(`${courseName}.pdf`);\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    submitDel() {\r\n      if (this.type === 1) {\r\n        this.delUserMindmap();\r\n      } else if (this.type === 2) {\r\n        this.isDeleteImage = true;\r\n        // 将要删除的位置排序，然后从后往前删除以避免索引变化\r\n        if (this.selectedImagesIndex.length > 1) {\r\n          this.selectedImagesIndex.sort((a, b) => b - a);\r\n        }\r\n        this.selectedImagesIndex.forEach(index => {\r\n          this.images.splice(index, 1);\r\n          this.imagesName.splice(index, 1);\r\n          this.fileImageUrls.splice(index, 1);\r\n        });\r\n        this.saveMindMapImages();\r\n      } else {\r\n        this.deletePdf();\r\n      }\r\n      this.dialogVisibleDel = false;\r\n    },\r\n    setStatus(status) {\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'setstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        status,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n    },\r\n    cancel() {\r\n      this.dialogVisibleDel = false;\r\n      // 清除待处理的回调\r\n      this.clearPendingAction('user_cancel');\r\n      this.$refs.MyMindOutline.$data.isMyselfEditing = false;\r\n      this.setStatus(2);\r\n    },\r\n    delUserMindmapShow() {\r\n      console.log('delUserMindmapShow:', this.$refs.MyMindOutline.$data.isMyselfEditing);\r\n      this.isDelUserMindmapShow = true;\r\n      if(this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        // 使用安全回调注册\r\n        this.registerPendingAction(() => {\r\n          this.dialogVisibleDel = true;\r\n          this.type = 1;\r\n        }, 'delete');\r\n      } else {\r\n        console.log(\"delUserMindmapShow:\", this.status)\r\n        this.getStatus(() => {\r\n          this.dialogVisibleDel = true;\r\n          this.type = 1;\r\n        })\r\n      }\r\n    },\r\n    // 清空思维导图\r\n    async delUserMindmap() {\r\n      this.clickContent();\r\n      console.log(\"delUserMindmap:\", this.mindMap);\r\n      if (this.mindMap) {\r\n        try {\r\n          // 1. 清空 IndexedDB 历史栈 (Undo & Redo)\r\n          const stackClearResult = await clearAllStacks(this.course_id);\r\n          console.log(`[delUserMindmap] 历史栈已清空: courseId=${this.course_id}, 删除${stackClearResult}条记录`);\r\n\r\n          // 2. 更新 Vuex 历史版本状态\r\n          this.$store.dispatch(\"setHistoryVersion\", {\r\n            canUndo: false,\r\n            canRedo: false,\r\n            undoCount: 0,\r\n            redoCount: 0\r\n          });\r\n          console.log('[delUserMindmap] Vuex 历史版本状态已重置');\r\n\r\n          // 3. 清空数据内容\r\n          this.data = deepClone(this.mindMap);\r\n          this.data.mindmap_content = \"\";\r\n          this.data.is_collect_studythink = 2;\r\n          console.log(\"mindMap:\", this.data);\r\n\r\n          // 4. 更新 Vuex mindMap 状态\r\n          await this.$store.dispatch(\"setMindMap\", {\r\n            data: this.data,\r\n            isEdited: false,\r\n            timeStamp: new Date().getTime()\r\n          });\r\n\r\n          // 5. 更新大纲视图状态\r\n          if (this.$refs.MyMindOutline) {\r\n            this.$refs.MyMindOutline.$data.isEdited = false;\r\n            this.$refs.MyMindOutline.$data.isLocalStorageSave = false;\r\n            this.$refs.MyMindOutline.$data.removeNodes = [];\r\n            // 触发视图更新为空状态\r\n            this.$refs.MyMindOutline.updateOutlineData([]);\r\n            console.log('[delUserMindmap] 大纲视图已重置');\r\n          }\r\n\r\n          // 6. 通过 WebSocket 通知其他端\r\n          const messageData = {\r\n            course_id: this.course_id,\r\n            type: 'clear_sync', // 使用专用的清空消息类型\r\n            user_id: this.user.user_id,\r\n            course_isuseradd: this.courseIsuseradd,\r\n            mindmap_content: '',\r\n            device_type: 3,\r\n            device_id: getDeviceId()\r\n          };\r\n          this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n          console.log('[delUserMindmap] WebSocket 清空消息已发送');\r\n\r\n          // 7. 保存到服务器\r\n          await this.saveMap({ mindmap_content: \"\" }, 1, '', false, false);\r\n          console.log('[delUserMindmap] 服务器同步完成');\r\n\r\n          // this.$message.success('清空');\r\n        } catch (error) {\r\n          console.error('[delUserMindmap] 清空失败:', error);\r\n          this.$message.error('清空画布失败，请重试');\r\n        }\r\n      }\r\n    },\r\n    // 每次操作前，都去调用websocket获取当前导图编辑状态\r\n    // 注意：此方法现在只发送消息，不存储回调\r\n    // 回调应该通过 registerPendingAction 提前注册\r\n    getStatus(callback) {\r\n      // 如果提供了 callback，将其注册为安全回调\r\n      if (callback) {\r\n        // 注意：这里不使用 registerPendingAction，因为这是立即执行的场景\r\n        // 临时存储，供 nowstatus 事件使用\r\n        this._tempStatusCallback = callback;\r\n      }\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'getstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n    },\r\n    exitEdit() {\r\n      // this.$refs.MyMindOutline.exitEdit()\r\n      EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n    },\r\n    // ========================================================================\r\n    // 【静默保存】：点击工具栏保存按钮 或 Ctrl/Cmd+S\r\n    // ========================================================================\r\n    // 特点：\r\n    // 1. 仅保存当前数据到服务器/本地存储\r\n    // 2. **不清空** Undo/Redo 栈\r\n    // 3. 用户的历史记录保持连续，保存操作对用户透明\r\n    // ========================================================================\r\n    saveMindMap1() {\r\n      this.$refs.MyMindOutline.$data.selectedData.isEdit = false;\r\n      this.saveMindMap({\r\n        isInMind: true,\r\n        isLocalStorageSave: false,\r\n        needExit: false\r\n      });\r\n    },\r\n    // whiteCom === \"CourseCom\",如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n    // ========================================================================\r\n    // 【统一保存入口】\r\n    // ========================================================================\r\n    // 参数说明：\r\n    // - isInMind: 是否继续在思维导图页面\r\n    // - isLocalStorageSave: 是否为自动保存（2分钟定时）\r\n    // - needExit: 是否需要退出编辑状态\r\n    //\r\n    // 两种保存策略：\r\n    // 1. 静默保存 (needExit=false): 只保存数据，保留 Undo/Redo 栈\r\n    // 2. 会话结束保存 (needExit=true): 保存数据后清空 Undo/Redo 栈\r\n    // ========================================================================\r\n    async saveMindMap(arge) {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n\r\n      const whiteCom = arge ? arge.whiteCom : '';\r\n      const isInMind = arge ? arge.isInMind : false;\r\n      const isLocalStorageSave = arge ? arge.isLocalStorageSave : false;\r\n      const needExit = arge ? arge.needExit : false;\r\n      const type = arge ? arge.type: 1;\r\n      console.log(\"处理前时间：\", new Date().getTime());\r\n      // await this.$refs.MyMindOutline.triggerSaveInput(() => {});\r\n\r\n      console.log(\"处理后时间：\", new Date().getTime());\r\n      console.log(\"myMind saveMindMap:\", this.mindMap);\r\n\r\n      // 自动保存时，先比较数据是否有变化\r\n      let newContentToSave = null;\r\n      if(isLocalStorageSave) {\r\n        this.clickContent();\r\n        let mindMap = {};\r\n        if (typeof this.mindMap === \"string\") {\r\n          mindMap = JSON.parse(this.mindMap);\r\n        } else {\r\n          mindMap = deepClone(this.mindMap);\r\n        }\r\n        let mindmap_content = JSON.parse(mindMap.mindmap_content || '[]')\r\n        const mindmap_content1 = await this.toParse(mindmap_content);\r\n        const currentContent = JSON.stringify(mindmap_content1);\r\n\r\n        if(currentContent === this.lastSavedContent) {\r\n          console.log(\"[自动保存] 数据无变化，跳过保存\");\r\n          return;\r\n        }\r\n        console.log(\"[自动保存] 数据有变化，执行保存\");\r\n        newContentToSave = currentContent;\r\n      }\r\n\r\n      if(!isLocalStorageSave) {\r\n        this.$store.dispatch(\"setLoading\", true)\r\n        EventBus.$emit(\"disableOperateMode\", true);\r\n        this.loadingMsg = \"内容保存中，请稍候...\";\r\n      }\r\n\r\n      this.isSaveMindMap = true;\r\n\r\n      this.clickContent();\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      let mindmap_content = JSON.parse(mindMap.mindmap_content || '[]')\r\n      const mindmap_content1 = await this.toParse(mindmap_content);\r\n      let params = {};\r\n      params.mindmap_content = JSON.stringify(mindmap_content1);\r\n      if(params.mindmap_content == '[]') {\r\n        params.mindmap_content = \"\";\r\n      }\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params, undefined, whiteCom, isLocalStorageSave, needExit, isInMind).then(async (res) => {\r\n        // 保存成功后更新 lastSavedContent\r\n        if(newContentToSave !== null) {\r\n          this.lastSavedContent = newContentToSave;\r\n          console.log(\"[自动保存] lastSavedContent 已更新\");\r\n        } else {\r\n          // 手动保存也更新 lastSavedContent\r\n          this.lastSavedContent = params.mindmap_content || '';\r\n          console.log(\"[手动保存] lastSavedContent 已更新\");\r\n        }\r\n\r\n        // ========================================================================\r\n        // 【会话结束保存】：needExit=true 时执行\r\n        // ========================================================================\r\n        // 此时用户确认\"保存并退出\"，需要：\r\n        // 1. 退出编辑状态\r\n        // 2. 清空 Undo/Redo 栈（关键区别！）\r\n        // 原因：退出意味着当前编辑会话终结，下次进入应视为新会话\r\n        // ========================================================================\r\n        if (needExit) {\r\n          console.log('[保存并退出] 开始执行会话结束清理...');\r\n\r\n          // 1. 清空历史栈（关键步骤）\r\n          try {\r\n            const clearedCount = await clearAllStacks(this.course_id);\r\n            console.log(`[保存并退出] 历史栈已清空: courseId=${this.course_id}, 删除${clearedCount}条记录`);\r\n\r\n            // 2. 重置 Vuex 历史版本状态\r\n            this.$store.dispatch(\"initHistoryVersion\", {\r\n              canUndo: false,\r\n              canRedo: false,\r\n              undoCount: 0,\r\n              redoCount: 0\r\n            });\r\n            console.log('[保存并退出] Vuex 历史版本状态已重置');\r\n          } catch (error) {\r\n            console.error('[保存并退出] 清空历史栈失败:', error);\r\n          }\r\n\r\n          // 3. 退出编辑状态\r\n          this.editOutline = false;\r\n          this.$refs.MyMindOutline.$data.selectedData = {};\r\n\r\n          // 4. 清理 WebSocket 连接\r\n          this.$store.dispatch(\"clearWebSocket\");\r\n\r\n          // 5. 执行后续回调\r\n          if(arge && !isInMind) {\r\n            this.$refs.MyMindOutline.submitConCallback(isLocalStorageSave, type);\r\n          }\r\n\r\n          console.log('[保存并退出] 会话结束清理完成');\r\n        }\r\n      });\r\n    },\r\n    async toParse(arr) {\r\n      if(arr && typeof arr === 'string') {\r\n        if(arr == '') {\r\n          arr = [];\r\n        } else {\r\n          arr = JSON.parse(arr);\r\n        }\r\n      }\r\n      if(!arr) {\r\n        arr = [];\r\n      }\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParse(item[\"node\"]);\r\n        }\r\n        // if (item.children) {\r\n        //   delete item.children;\r\n        // }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        // if (item.id) {\r\n        //   delete item.id;\r\n        // }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if (item.isAdd !== undefined) {\r\n          delete item.isAdd;\r\n        }\r\n        if (item.isAddTheme !== undefined) {\r\n          delete item.isAddTheme;\r\n        }\r\n        if (item.isEdit !== undefined) {\r\n          delete item.isEdit;\r\n        }\r\n        if(item.isAddEquative !== undefined) {\r\n          delete item.isAddEquative;\r\n        }\r\n        if(item.id !== undefined) {\r\n          delete item.id;\r\n        }\r\n        if(item.children !== undefined) {\r\n          delete item.children;\r\n        }\r\n      });\r\n\r\n      return arr;\r\n    },\r\n    saveMindMapImages() {\r\n      let params = {};\r\n      params.mindmap_image = this.fileImageUrls.join(\",\");\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params);\r\n    },\r\n    editImages() {\r\n      this.isEdit = true;\r\n    },\r\n    downloadImages() {\r\n      this.$refs.myMindImages.downloadFileUrl();\r\n    },\r\n    submitCon(is_confirm) {\r\n      this.saveMap(this.params, is_confirm);\r\n    },\r\n    getMindmap() {\r\n      console.log(\"getMindmap\");\r\n      this.parent.getMindmap(true);\r\n    },\r\n    saveMap(params, is_confirm = 1, whiteCom, isLocalStorageSave, needExit, isInMind) {\r\n      console.log(\"saveMap 1111111111:\", this.mindMap);\r\n      // ============================================================\r\n      // 🔧 静默保存判断\r\n      // isLocalStorageSave=true: 自动保存（2分钟定时）→ 静默\r\n      // isLocalStorageSave=false: 手动保存 → 显示 Loading\r\n      // ============================================================\r\n      const silentMode = isLocalStorageSave === true;\r\n      if (silentMode) {\r\n        console.log('[saveMap] 自动保存模式 - 静默请求');\r\n      }\r\n\r\n      return new Promise(async (resolve, reject) => {\r\n        try {\r\n          if (this.mindMap) {\r\n            let mindMap = deepClone(this.mindMap);\r\n            params.update_device = localStorage.getItem(\"DeviceId\");\r\n            params.course_id = this.course_id;\r\n            // 获取最新数据时也保持静默（自动保存场景下不需要显示 Loading）\r\n            const resNewest = await getMindmap({ course_id: this.course_id }, { silent: silentMode });\r\n            if (resNewest && resNewest.code === 0) {\r\n              this.newestData = resNewest.data[0];\r\n            }\r\n            // 添加用户思维导图\r\n            if (!this.newestData.mindmap_id) {\r\n              if(params.mindmap_content) {\r\n                params.mindmap_content = Base64.encode(params.mindmap_content);\r\n              }\r\n              const res = await addUserMindmap(params, { silent: silentMode });\r\n              if (res && res.code === 0) {\r\n                let mindMapNew = {\r\n                  ...mindMap\r\n                };\r\n                mindMap.mindmap_id = res.data[0].mindmap_id;\r\n                mindMap.last_update_at = res.data[0].last_update_at;\r\n                mindMap.last_update_device = res.data[0].last_update_device;\r\n                mindMap.mindmap_isuseradd = 1;\r\n                if (mindMap.mindmap_content) {\r\n                  this.showCollect = true;\r\n                } else {\r\n                  this.showCollect = false;\r\n                }\r\n                console.log(\"addUserMindmap setMindMap:\", mindMap);\r\n                this.$store\r\n                  .dispatch(\"setMindMap\", {\r\n                    data: mindMap,\r\n                    isEdited: false,\r\n                    timeStamp: new Date().getTime()\r\n                  })\r\n                  .then(async () => {\r\n                    this.data = mindMap;\r\n                    // ========================================================================\r\n                    // 【会话结束保存】：needExit=true 时才清空历史栈\r\n                    // 静默保存 (needExit=false) 时不清空，保留用户的撤销/重做历史\r\n                    // ========================================================================\r\n                    if (needExit) {\r\n                      try {\r\n                        await clearAllStacks(this.course_id);\r\n                        this.$store.dispatch(\"initHistoryVersion\", {\r\n                          canUndo: false,\r\n                          canRedo: false,\r\n                          undoCount: 0,\r\n                          redoCount: 0\r\n                        });\r\n                        console.log(`[History] 已清除课程 ${this.course_id} 的历史栈 (会话结束保存)`);\r\n                      } catch (error) {\r\n                        console.error('[History] 清除历史栈失败:', error);\r\n                      }\r\n                    } else {\r\n                      console.log(`[History] 静默保存，保留历史栈`);\r\n                    }\r\n                    // 如果是选择课程的话,或者点击logo则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                    if (whiteCom === \"CourseCom\" || whiteCom == 'Logo') {\r\n                      console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n                      EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n                    }\r\n                    resolve();\r\n                  });\r\n                // 提交完将定时器清空\r\n                if(this.$refs.MyMindOutline && needExit) {\r\n                  this.$refs.MyMindOutline.$data.isEdited = false;\r\n                  console.log(\"clearTimeout\")\r\n                  this.$refs.MyMindOutline.clearTimeout();\r\n                }\r\n                EventBus.$emit(\"disableOperateMode\", false);\r\n                this.$store.dispatch(\"setLoading\", false)\r\n                if(!isLocalStorageSave) {\r\n                  this.$message({\r\n                    type: \"success\",\r\n                    message: \"保存成功\"\r\n                  });\r\n                }\r\n                this.loadingMsg = '';\r\n                const courseProgress = await getUserCourseProgress({\r\n                  course_id: this.course_id,\r\n                });\r\n                if (courseProgress && courseProgress.code === 0) {\r\n                  this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n                }\r\n              } else {\r\n                this.$message({\r\n                  type: \"error\",\r\n                  message: res.msg\r\n                });\r\n                reject();\r\n              }\r\n\r\n            } else {\r\n              const timeStamp = new Date().getTime();\r\n              params.mindmap_id = this.newestData.mindmap_id;\r\n              params.last_update_device = mindMap.last_update_device;\r\n              params.last_update_at = mindMap.last_update_at;\r\n              if (resNewest && resNewest.code === 0) {\r\n                const last_update_at_old =\r\n                  mindMap.last_update_at && mindMap.last_update_at.length > 10\r\n                    ? mindMap.last_update_at\r\n                    : mindMap.last_update_at * 1000;\r\n                let last_update_at = 0;\r\n                if (this.newestData.last_update_at) {\r\n                  last_update_at = this.newestData.last_update_at\r\n                    ? this.newestData.last_update_at * 1000\r\n                    : this.newestData.last_update_at;\r\n                }\r\n                params.is_confirm = 1;\r\n                params.last_update_device = localStorage.getItem(\r\n                  \"DeviceId\"\r\n                );\r\n                params.last_update_at = timeStamp;\r\n                if(params.mindmap_content) {\r\n                  params.mindmap_content = Base64.encode(params.mindmap_content);\r\n                }\r\n                console.log(\"editUserMindmap:\", params)\r\n                const res1 = await editUserMindmap(params, { silent: silentMode });\r\n                if (res1 && res1.code === 0) {\r\n                  let mindMapNew = {\r\n                    ...mindMap\r\n                  };\r\n                  if (res1 && res1.data[0]) {\r\n                    mindMap.last_update_at = res1.data[0].mindmap_update_at;\r\n                    mindMap.last_update_device =\r\n                      res1.data[0].mindmap_update_device;\r\n                  } else {\r\n                    mindMap.last_update_at = timeStamp;\r\n                    mindMap.last_update_device = localStorage.getItem(\r\n                      \"DeviceId\"\r\n                    );\r\n                  }\r\n                  if (mindMap.mindmap_content) {\r\n                    this.showCollect = true;\r\n                  } else {\r\n                    this.showCollect = false;\r\n                    mindMap.is_collect_studythink = 2;\r\n                  }\r\n                  mindMap.mindmap_isuseradd = 1;\r\n                  EventBus.$emit(\"disableOperateMode\", false);\r\n                  this.$store.dispatch(\"setLoading\", false)\r\n                  if(!isLocalStorageSave) {\r\n                    this.$message({\r\n                      type: \"success\",\r\n                      message: \"保存成功\"\r\n                    });\r\n                  }\r\n                  this.loadingMsg = '';\r\n                  console.log(\"isDeletePdf:\", this.isDeletePdf);\r\n                  console.log(\"isDeleteImage:\", this.isDeleteImage);\r\n                  if (this.isDeletePdf) {\r\n                    this.isDeletePdf = false;\r\n                    this.pdfUrl = \"\";\r\n                    this.pdfName = \"\";\r\n                    mindMap.mindmap_pdf_show = \"\";\r\n                    mindMap.mindmap_pdf = \"\";\r\n                    mindMap.is_collect_studythinkpdf = 2;\r\n                    if(this.$refs.myMindPdf) {\r\n                      this.$refs.myMindPdf.$data.pdfPicturePath = [];\r\n                    }\r\n                  }\r\n                  if (this.isDeleteImage) {\r\n                    this.selectedImagesIndex = [];\r\n                    this.isDeleteImage = false;\r\n                    console.log(\"delete images:\", this.images);\r\n                    console.log(\r\n                      \"delete fileImageUrls:\",\r\n                      this.fileImageUrls\r\n                    );\r\n                    mindMap.mindmap_image_show = this.images.join(\",\");\r\n                    mindMap.mindmap_image = this.fileImageUrls.join(\",\");\r\n                    mindMap.is_collect_studythinkimg = this.imageCollect;\r\n                    if (this.images.length === 0) {\r\n                      this.isEdit = false;\r\n                      mindMap.is_collect_studythinkimg = 2;\r\n                    }\r\n                    // this.data.mindmap_image_show =\r\n                    //   mindMap.mindmap_image_show;\r\n                    // this.data.mindmap_image = mindMap.mindmap_image;\r\n                    if (this.$refs.myMindImages) {\r\n                      this.$refs.myMindImages.deleteFinish();\r\n                    }\r\n                  }\r\n                  this.$store\r\n                    .dispatch(\"setMindMap\", {\r\n                      data: mindMap,\r\n                      isEdited: false,\r\n                      timeStamp: new Date().getTime()\r\n                    })\r\n                    .then(async () => {\r\n                      this.data = mindMap;\r\n                      // ========================================================================\r\n                      // 【会话结束保存】：needExit=true 时才清空历史栈\r\n                      // 静默保存 (needExit=false) 时不清空，保留用户的撤销/重做历史\r\n                      // ========================================================================\r\n                      if (needExit) {\r\n                        try {\r\n                          await clearAllStacks(this.course_id);\r\n                          this.$store.dispatch(\"initHistoryVersion\", {\r\n                            canUndo: false,\r\n                            canRedo: false,\r\n                            undoCount: 0,\r\n                            redoCount: 0\r\n                          });\r\n                          console.log(`[History] 已清除课程 ${this.course_id} 的历史栈 (会话结束保存)`);\r\n                        } catch (error) {\r\n                          console.error('[History] 清除历史栈失败:', error);\r\n                        }\r\n                      } else {\r\n                        console.log(`[History] 静默保存，保留历史栈`);\r\n                      }\r\n                      // 如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                      if (whiteCom === \"CourseCom\" || whiteCom == 'Logo') {\r\n                        console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n                        EventBus.$emit(\r\n                          \"MIND_OUTLINE_SAVE_CONFIRMED\",\r\n                          whiteCom\r\n                        );\r\n                      }\r\n                      resolve();\r\n                    });\r\n                  // 提交完将定时器清空\r\n                  if(this.$refs.MyMindOutline && needExit) {\r\n                     this.$refs.MyMindOutline.$data.isEdited = false;\r\n                     console.log(\"clearTimeout\")\r\n                     this.$refs.MyMindOutline.clearTimeout();\r\n                  }\r\n\r\n\r\n                  const courseProgress = await getUserCourseProgress({\r\n                    course_id: this.course_id,\r\n                  });\r\n                  if (courseProgress && courseProgress.code === 0) {\r\n                    this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n                  }\r\n                }\r\n                } else {\r\n                  reject();\r\n                }\r\n            }\r\n          }\r\n\r\n\r\n        } catch (error) {\r\n\r\n        }\r\n\r\n        this.$store.dispatch(\"setLoading\", false)\r\n        EventBus.$emit(\"disableOperateMode\", false);\r\n        this.loadingMsg = '';\r\n      });\r\n    },\r\n    // 上传pdf\r\n    uploadPdf() {\r\n      if (this.pdfUrl) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请先删除pdf文件\"\r\n        });\r\n        return;\r\n      }\r\n      const meditate_pdf_size = decrypt((localStorage.getItem(\"meditate_pdf_size\")));\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \".pdf\";\r\n      // input.multiple = \"multiple\";\r\n      input.onchange = e => {\r\n\r\n        let file = input.files[0];\r\n        if (!/\\.(pdf)$/.test(file.name)) {\r\n          this.$message.error(\"只能上传pdf文件\");\r\n          return false;\r\n        } else if (Math.round((file.size * 100) / (1024 * 1024)) / 100 > meditate_pdf_size) {\r\n          this.$message.error(`上传的文件不能大于${meditate_pdf_size}M`);\r\n          return false;\r\n        } else {\r\n          this.pdfChange(file);\r\n        }\r\n      };\r\n      input.dispatchEvent(new MouseEvent(\"click\"));\r\n    },\r\n    async pdfChange(file) {\r\n      this.$store.dispatch(\"setLoading\", true)\r\n      EventBus.$emit(\"disableOperateMode\", true);\r\n      let directory = decrypt(localStorage.getItem(\"mindmap_pdf_ossurl\"));\r\n      let res = await uploaDOSS(file, directory);\r\n\r\n      this.pdfName = res.fileName;\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      const pdfBase64 = await getBase64ByFile(file);\r\n\r\n      // 保存到indexDb\r\n      await saveFile(url, res.fileName, pdfBase64);\r\n      this.savePdf(res.fileUrl).then(() => {\r\n        this.getMindmap();\r\n      });\r\n    },\r\n    savePdf(fileUrl) {\r\n      return new Promise((resolve, reject) => {\r\n        let params = {};\r\n        params.mindmap_pdf = fileUrl;\r\n        this.params = params;\r\n        this.saveMap(params, 1).then(() => {\r\n          resolve();\r\n        });\r\n      });\r\n    },\r\n    downloadPdf() {\r\n      this.$refs.myMindPdf.fileDownload(this.pdfName);\r\n    },\r\n    deletePdfShow() {\r\n      this.dialogVisibleDel = true;\r\n      this.type = 3;\r\n    },\r\n    // 删除pdf文件\r\n    deletePdf() {\r\n      this.isDeletePdf = true;\r\n      let params = {\r\n        mindmap_pdf_show: \"\",\r\n        mindmap_pdf: \"\"\r\n      };\r\n      this.params = params;\r\n      this.saveMap(params, 1);\r\n    },\r\n    selectedImages(indexs) {\r\n      this.selectedImagesIndex = indexs;\r\n    },\r\n    exitImageEdit() {\r\n      this.isEdit = false;\r\n    },\r\n    // 删除图片\r\n    deleteImages() {\r\n      if (this.selectedImagesIndex.length === 0) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请选择要删除的图片\"\r\n        });\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n      this.type = 2;\r\n    },\r\n    // 上传图片\r\n    uploadImages() {\r\n      if (this.images.length > 6) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多上传6张图片\"\r\n        });\r\n        return;\r\n      }\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \"image/png, image/jpeg, image/jpg\";\r\n      input.multiple = \"multiple\";\r\n\r\n      input.onchange = async e => {\r\n        let inputLen = 0;\r\n        let files = input.files;\r\n        if (!/\\.(jpg|jpeg|png|JPG|PNG)$/.test(input.files[0].name)) {\r\n          this.$message.error(\"图片类型必须是jpeg,jpg,png中的一种\");\r\n          return false;\r\n        } else {\r\n          // this.images = [];\r\n          if (this.images.length + files.length > 6) {\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: \"最多上传6张图片\"\r\n            });\r\n            return;\r\n          }\r\n          // 图片大小最多为5M\r\n          let sizeTotal = 0;\r\n          for (let i = 0; i < this.images.length; i++) {\r\n            const base64String = this.images[i];\r\n            const file = base64ToFile(base64String, input.files[0].name);\r\n            sizeTotal += file.size;\r\n          }\r\n          for (let i = 0; i < files.length; i++) {\r\n            const file = files[i];\r\n            sizeTotal += file.size;\r\n          }\r\n          const meditate_image_size = decrypt(localStorage.getItem(\"meditate_image_size\"));\r\n          console.log(\"meditate_image_size:\", meditate_image_size, sizeTotal);\r\n          if(sizeTotal > meditate_image_size * 1024 * 1024) {\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: `图片大小不能超过${meditate_image_size}M`\r\n            });\r\n            return;\r\n          }\r\n          for (let i = 0; i < files.length; i++) {\r\n            const file = files[i];\r\n            // 大于1M的图片做压缩\r\n            if(file.size > 1 * 1024 * 1024) {\r\n              compressImage(file).then(async (base64String) => {\r\n                console.log(file)\r\n                const base64ToFileResult = base64ToFile(base64String, file.name);\r\n                await this.avatarChange(base64ToFileResult);\r\n                inputLen += 1;\r\n                if(inputLen == files.length) {\r\n                  this.saveImagesToServe();\r\n                }\r\n              });\r\n            } else {\r\n              console.log(file)\r\n              await this.avatarChange(file);\r\n              inputLen += 1;\r\n              if(inputLen == files.length) {\r\n                this.saveImagesToServe();\r\n              }\r\n            }\r\n          }\r\n        }\r\n      };\r\n      input.click();\r\n    },\r\n    async avatarChange(file) {\r\n      this.$store.dispatch(\"setLoading\", true)\r\n      EventBus.$emit(\"disableOperateMode\", true);\r\n      let directory = decrypt(localStorage.getItem(\"mindmap_img_ossurl\"));\r\n      let type = \".\" + file.type.split(\"/\")[1];\r\n      let res = await uploaDOSS(file, directory);\r\n      this.fileImageUrls.push(res.fileUrl);\r\n      console.log(\"fileImageUrls:\", this.fileImageUrls);\r\n      // 调用后台接口\r\n      const avatarUrl = await getBase64ByFile(file);\r\n\r\n      this.images.push(avatarUrl);\r\n      const name = res.fileName.split(\".\")[0];\r\n      this.imagesName.push(name);\r\n\r\n      //todo 保存到indexDb key：url\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      // 保存到indexDb\r\n      await saveFile(url, res.fileName, avatarUrl);\r\n    },\r\n    saveImagesToServe() {\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      mindMap.mindmap_image_show = this.images.join(\",\");\r\n      mindMap.mindmap_image = this.fileImageUrls.join(\",\");\r\n      console.log(\"setMindMap:\", mindMap);\r\n      this.$store\r\n        .dispatch(\"setMindMap\", {\r\n          data: mindMap,\r\n          isEdited: false\r\n        })\r\n        .then(() => {\r\n\r\n          this.saveMindMapImages();\r\n        });\r\n    },\r\n    clickContent(e) {\r\n      if (this.command === \"1\") {\r\n        if (!this.$refs.MyMindOutline.operating.isOperating) {\r\n          this.$refs.MyMindOutline.hideOperates();\r\n        }\r\n      }\r\n    },\r\n    scrollOutline(scrollTop) {\r\n      // 大纲模式时\r\n      if (this.command === \"1\" && scrollTop >= 50 && !this.editOutline) {\r\n        this.showLayer = true;\r\n      } else {\r\n        this.showLayer = false;\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.myMindOutlineId = generateRandomString(5);\r\n    this.treeId = generateRandomString(5);\r\n    const content = document.getElementById(\"content\");\r\n\r\n    this.mindPdfWidth = content.clientWidth * 0.88;\r\n    // 获取当前导图编辑状态\r\n    EventBus.$on('updatesuccess', () => {\r\n      if(this.isSaveMindMapButton || this.isDelUserMindmapShow) {\r\n        this.isSaveMindMapButton = false;\r\n        this.isDelUserMindmapShow = false;\r\n        // 使用安全回调执行机制\r\n        if(this.pendingCallback) {\r\n          console.log('[updatesuccess] 尝试执行待处理回调');\r\n          this.executeIfValid(this.callbackRequestId);\r\n        }\r\n      }\r\n      if(this.isNotSave) {\r\n        this.isNotSave = false;\r\n      }\r\n    });\r\n    // 获取当前导图编辑状态\r\n    EventBus.$on('nowstatus', () => {\r\n      console.log(\"MyMind nowstatus:\", this.pendingCallback ? 'has callback' : 'no callback', this.isDelUserMindmapShow);\r\n      if(this.isDelUserMindmapShow) {\r\n        this.isDelUserMindmapShow = false;\r\n      }\r\n      if(this.status == 1 && !this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        // 其他端正在编辑，取消执行待处理回调\r\n        if (this.pendingCallback) {\r\n          console.log('[nowstatus] 其他端正在编辑，取消待处理回调');\r\n          this.clearPendingAction('other_editing');\r\n          this.$message.info('操作已取消，其他端正在编辑');\r\n        } else if (this._tempStatusCallback) {\r\n          // 临时状态回调场景\r\n          this._tempStatusCallback = null;\r\n          this.$message.warning(\"其他端正在编辑中,当前用户不能编辑\");\r\n        } else {\r\n          this.$message.warning(\"其他端正在编辑中,当前用户不能编辑\");\r\n        }\r\n      } else {\r\n        // 优先处理安全回调机制注册的回调\r\n        if(this.pendingCallback) {\r\n          console.log('[nowstatus] 尝试执行待处理回调');\r\n          this.executeIfValid(this.callbackRequestId);\r\n        } else if (this._tempStatusCallback) {\r\n          // 处理临时状态回调（getStatus 场景）\r\n          console.log('[nowstatus] 执行临时状态回调');\r\n          try {\r\n            this._tempStatusCallback();\r\n          } catch (error) {\r\n            console.error('[nowstatus] 临时回调执行失败:', error);\r\n          }\r\n          this._tempStatusCallback = null;\r\n        }\r\n      }\r\n    });\r\n    EventBus.$on('getnowcontent', (status) => {\r\n      // status: 内容是否一致\r\n      if(status == 2) {\r\n        // 不一致，提示“存在未保存草稿数据，请及时确认并保存”\r\n        this.$message.warning(\"存在未保存草稿数据，请及时确认并保存\");\r\n      }\r\n      this.$store.dispatch(\"setLoading\", false);\r\n      this.loadingMsg = '';\r\n    })\r\n    EventBus.$on('connectionError', () => {\r\n      this.editOutline = false;\r\n      if(this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.$data.selectedData = {};\r\n      }\r\n    })\r\n    EventBus.$on(\"updatenotsaved\", (mindmap_content) => {\r\n      this.$store.dispatch(\"clearWebSocket\");\r\n      if(this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.init();\r\n      }\r\n    });\r\n\r\n    // ========================================================================\r\n    // 【退出编辑确认】：用户确认退出编辑状态\r\n    // ========================================================================\r\n    // 触发场景：\r\n    // 1. 内容已保存过（无修改），直接退出 → 不弹出保存提示窗 → 需要清空历史栈\r\n    // 2. 用户在保存提示窗中选择保存/不保存 → 已在 saveMindMap 中清空历史栈\r\n    //\r\n    // 关键操作：清空 Undo/Redo 栈\r\n    // 原因：退出编辑意味着当前编辑会话结束，下次进入应视为新会话\r\n    // ========================================================================\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CONFIRMED\", async () => {\r\n      this.editOutline = false;\r\n\r\n      // 检查历史栈是否已为空（避免重复清空）\r\n      const historyVersion = this.$store.getters.historyVersion;\r\n      if (historyVersion && !historyVersion.canUndo && !historyVersion.canRedo) {\r\n        console.log('[退出编辑] 历史栈已为空，跳过清空操作');\r\n        return;\r\n      }\r\n\r\n      // 清空历史栈（退出编辑会话必须清空）\r\n      try {\r\n        const clearedCount = await clearAllStacks(this.course_id);\r\n        console.log(`[退出编辑] 历史栈已清空: courseId=${this.course_id}, 删除${clearedCount}条记录`);\r\n\r\n        // 重置 Vuex 历史版本状态\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n        console.log('[退出编辑] Vuex 历史版本状态已重置');\r\n      } catch (error) {\r\n        console.error('[退出编辑] 清空历史栈失败:', error);\r\n      }\r\n    });\r\n\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.myMind {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n}\r\n.del_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.operates {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  padding-left: 39px;\r\n  padding-right: 44px;\r\n  /deep/ .el-button {\r\n    padding: 1px 8px 2px 8px;\r\n    border-radius: 28px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #71afbb;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    // display: flex;\r\n    // justify-content: center;\r\n    // align-items: center;\r\n  }\r\n  .el-dropdown {\r\n    /deep/ .el-button {\r\n      padding: 1px 8px 1px 8px;\r\n    }\r\n  }\r\n\r\n  .withdraw {\r\n    display: flex;\r\n    align-items: center;\r\n    img {\r\n      width: 26px;\r\n      height: 26px;\r\n    }\r\n\r\n  }\r\n\r\n  .right {\r\n    display: flex;\r\n    .btn-group {\r\n      display: flex;\r\n    }\r\n    .btn {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      border: 1px solid #71afbb;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      height: 26px;\r\n      border-radius: 17px;\r\n      padding: 0 20px;\r\n      margin-left: 10px;\r\n      cursor: pointer;\r\n    }\r\n    /deep/ .el-button {\r\n      padding: 0 20px;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      margin-left: 10px;\r\n      &.clear {\r\n        color: #FD8B65;\r\n        border-color: #FD8B65;\r\n        background-color: transparent;\r\n      }\r\n      &.clear.disabled {\r\n        color: #c0c4cc;\r\n        border-color: #ebeef5;\r\n        background-color: transparent;\r\n      }\r\n      &.exit {\r\n        background-color: #71AFBB;\r\n        color: #fff;\r\n      }\r\n    }\r\n    /deep/ .el-icon--right {\r\n      margin-left: 5px;\r\n    }\r\n  }\r\n  .download {\r\n    width: 18px;\r\n    height: 18px;\r\n    margin-right: 30px;\r\n  }\r\n  .del {\r\n    width: 15px;\r\n    height: 19px;\r\n  }\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover .el-button:focus,\r\n  .el-button:hover {\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover {\r\n    color: #c0c4cc;\r\n    border-color: #ebeef5;\r\n  }\r\n  /deep/ .el-dropdown-menu__item {\r\n    color: #71afbb;\r\n  }\r\n  img {\r\n    cursor: pointer;\r\n  }\r\n}\r\n.content {\r\n  margin-top: 14px;\r\n  margin-bottom: 0;\r\n  flex: 1;\r\n  overflow-y: auto;\r\n  position: relative;\r\n}\r\n.content1 {\r\n  overflow: hidden;\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.layer {\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 70px;\r\n  background: linear-gradient(\r\n    to bottom,\r\n    rgba(242, 244, 245, 1),\r\n    rgba(242, 244, 245, 0.8)\r\n  );\r\n  z-index: 9;\r\n  border-radius: 5px;\r\n  box-shadow: 0 5px 15px 0 #f2f4f5;\r\n}\r\n.bg-transparent-disibled{\r\n  border-color: #777;\r\n  color: #777;\r\n}\r\n.tip {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7E878C;\r\n  line-height: 18px;\r\n}\r\n.restore {\r\n  margin-left: 13px;\r\n}\r\n.shortcuts {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 10px;\r\n  color: #A9B0B1;\r\n  line-height: 18px;\r\n}\r\n/deep/ .el-button {\r\n  &.clear {\r\n    color: #FD8B65 !important;\r\n    border-color: #FD8B65;\r\n    background-color: transparent !important;\r\n  }\r\n  &.clear.disabled {\r\n    color: #c0c4cc;\r\n    border-color: #ebeef5;\r\n    background-color: transparent !important;\r\n  }\r\n  &.exit {\r\n    background-color: #71AFBB;\r\n    color: #fff;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MyMind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loadingmind\",rawName:\"v-loadingmind\",value:({ loading: _vm.loading, msg: _vm.loadingMsg, type: _vm.loadingType }),expression:\"{ loading: loading, msg: loadingMsg, type: loadingType }\"}],staticClass:\"myMind\"},[_c('div',{staticClass:\"operates\"},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.editOutline),expression:\"!editOutline\"}],ref:\"elDropdown\",attrs:{\"trigger\":'click'},on:{\"command\":_vm.handleCommand}},[_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"type\":\"default\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.commandSpan)),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"outlineDropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_vm._v(\"大纲模式\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_vm._v(\"图片格式\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"3\"}},[_vm._v(\"PDF格式\")])],1)],1),_vm._v(\" \"),(_vm.command === '1' && _vm.courseIsuseradd != 3 && _vm.editOutline)?_c('div',{staticClass:\"withdraw\"},[_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"placement\":\"bottom\"}},[_c('div',{staticClass:\"tip\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"\\n          撤销一步 \"),_c('span',{staticClass:\"shortcuts\"},[_vm._v(_vm._s(_vm.isMac ? 'cmd+z' : 'ctrl+z'))])]),_vm._v(\" \"),(_vm.canUndo && !_vm.isEditingNode)?_c('img',{style:({ opacity: _vm.isEditingNode ? 0.5 : 1, cursor: _vm.isEditingNode ? 'not-allowed' : 'pointer' }),attrs:{\"src\":require(\"@/assets/img/withdraw.svg\")},on:{\"click\":_vm.handleUndo}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/withdraw-disabled.svg\")}})]),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"placement\":\"bottom\"}},[_c('div',{staticClass:\"tip\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"\\n          恢复撤销 \"),_c('span',{staticClass:\"shortcuts\"},[_vm._v(_vm._s(_vm.isMac ? 'cmd+shift+z' : 'ctrl+shift+z'))])]),_vm._v(\" \"),(_vm.canRedo && !_vm.isEditingNode)?_c('img',{staticClass:\"restore\",style:({ opacity: _vm.isEditingNode ? 0.5 : 1, cursor: _vm.isEditingNode ? 'not-allowed' : 'pointer' }),attrs:{\"src\":require(\"@/assets/img/withdraw1.svg\")},on:{\"click\":_vm.handleRedo}}):_c('img',{staticClass:\"restore\",attrs:{\"src\":require(\"@/assets/img/withdraw1-disabled.svg\")}})])],1):_vm._e(),_vm._v(\" \"),(_vm.command === '1' && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"right\"},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.editOutline && _vm.data.mindmap_content && _vm.data.mindmap_content != '[]'),expression:\"!editOutline && data.mindmap_content && data.mindmap_content != '[]'\"}],ref:\"elDropdownOperate\",attrs:{\"trigger\":'click'},on:{\"command\":_vm.handleOperateCommand}},[_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"type\":\"default\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.commandOperateSpan)),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"exportDropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_vm._v(\"导出图片\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_vm._v(\"导出PDF\")])],1)],1),_vm._v(\" \"),(!_vm.editOutline)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.startEdit}},[_vm._v(\"编辑\")]):_vm._e(),_vm._v(\" \"),(_vm.editOutline)?_c('div',{staticClass:\"btn-group\"},[_c('el-button',{staticClass:\"bg-transparent clear\",class:(_vm.data && !_vm.data.mindmap_content) || _vm.isEditingNode ? 'disabled' : '',attrs:{\"disabled\":(_vm.data && !_vm.data.mindmap_content) || _vm.isEditingNode},on:{\"click\":_vm.delUserMindmapShow}},[_vm._v(\"清空\")]),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"placement\":\"bottom\"}},[_c('div',{staticClass:\"tip\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_c('span',{staticClass:\"shortcuts\"},[_vm._v(_vm._s(_vm.isMac ? 'cmd+s' : 'ctrl+s'))])]),_vm._v(\" \"),_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"disabled\":_vm.isEditingNode},on:{\"click\":_vm.saveMindMap1}},[_vm._v(\"\\n            保存\\n          \")])],1),_vm._v(\" \"),_c('el-button',{staticClass:\"bg-transparent exit\",on:{\"click\":_vm.exitEdit}},[_vm._v(\"退出编辑\")])],1):_vm._e()],1):(_vm.command === '2' && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"btn-group\"},[(!_vm.isEdit && _vm.images.length > 0)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.editImages}},[_vm._v(\"编辑\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.uploadImages}},[_vm._v(\"上传\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.downloadImages}},[_vm._v(\"下载\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.deleteImages}},[_vm._v(\"删除\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.exitImageEdit}},[_vm._v(\"保 存\")]):_vm._e()])]):(_vm.command === '3' && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"right\"},[_c('div',[(_vm.pdfUrl)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.downloadPdf}},[_vm._v(\"下载\")]):_vm._e(),_vm._v(\" \"),(_vm.pdfUrl)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.deletePdfShow}},[_vm._v(\"删除\")]):_vm._e()],1)]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:_vm.command === '1' ? 'content1' : '',attrs:{\"id\":\"content\"}},[(_vm.showLayer && _vm.command === '1')?_c('div',{staticClass:\"layer\"}):_vm._e(),_vm._v(\" \"),_c('MyMindOutline',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command === '1'),expression:\"command === '1'\"}],ref:\"MyMindOutline\",attrs:{\"dataPro\":_vm.data,\"editOutline\":_vm.editOutline,\"isSaveMindMap\":_vm.isSaveMindMap,\"command\":_vm.command,\"showCollect\":_vm.showCollect,\"myMindOutlineId\":_vm.myMindOutlineId,\"treeId\":_vm.treeId,\"course_id\":_vm.course_id,\"courseIsuseradd\":_vm.courseIsuseradd,\"isBindEventBus\":true},on:{\"saveMindMap\":_vm.saveMindMap,\"scrollOutline\":_vm.scrollOutline,\"doNotSave\":_vm.doNotSave,\"exitEditCon\":_vm.exitEditCon,\"withdraw\":_vm.withdraw,\"undo\":_vm.handleUndo,\"redo\":_vm.handleRedo}}),_vm._v(\" \"),_c('MyMindImages',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command === '2'),expression:\"command === '2'\"}],ref:\"myMindImages\",attrs:{\"dataPro\":_vm.data,\"datas\":_vm.images,\"imagesName\":_vm.imagesName,\"isEdit\":_vm.isEdit,\"imageProgress\":_vm.imageProgress,\"course_id\":_vm.course_id,\"courseIsuseradd\":_vm.courseIsuseradd},on:{\"selectedImages\":_vm.selectedImages,\"uploadImages\":_vm.uploadImages,\"addUserCollection\":_vm.addUserCollectionImage}}),_vm._v(\" \"),_c('MyMindPdf',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command === '3'),expression:\"command === '3'\"}],key:'myMindPdf',ref:\"myMindPdf\",attrs:{\"dataPro\":_vm.data,\"command\":_vm.command,\"pdfUrl\":_vm.pdfUrl,\"mindmap_pdf_show\":_vm.data.mindmap_pdf_show,\"course_name\":_vm.course_name,\"pdfXHRUrl\":_vm.pdfXHRUrl,\"mindPdfWidth\":_vm.mindPdfWidth,\"course_id\":_vm.course_id,\"courseIsuseradd\":_vm.courseIsuseradd,\"imageViewerCanvas\":'imageViewerCanvas1'},on:{\"uploadPdf\":_vm.uploadPdf}})],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"visible\":_vm.dialogVisibleDel,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":_vm.type != 1,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleDel=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(_vm._s(_vm.type != 1 ? '确定删除？' : '确认清空后，当前大纲内容将全部清除，无法还原，是否确定清空？'))]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.cancel}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"bg-transparent clear\",on:{\"click\":_vm.submitDel}},[_vm._v(_vm._s(_vm.type != 1 ?'确 定' : '确定清空'))])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-375f1cbb\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MyMind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-375f1cbb\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMind.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-375f1cbb\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-375f1cbb\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MyMind.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div id=\"mindMainBox\" :class=\"[\r\n    'main-box',\r\n    fullscreen ? 'big-view-box bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\r\n  ]\">\r\n    <div class=\"box mind\" :class=\"fullscreen ? 'fullBox' : ''\">\r\n      <div\r\n        class=\"box-content-name name\"\r\n        :class=\"[\r\n          !fullscreen && isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\r\n        ]\"\r\n      >\r\n        <!-- <img\r\n          v-if=\"fullscreen\"\r\n          src=\"@/assets/img/culture.svg\"\r\n          width=\"30\"\r\n          height=\"30\"\r\n          @click=\"toggle('Mind')\"\r\n        /> -->\r\n        <span v-if=\"!fullscreen\">思维导图</span>\r\n        <span v-else class=\"cursor-pointer\" @click=\"toggle('Mind')\">思维导图</span>\r\n      </div>\r\n      <div class=\"content-box\" v-show=\"mindMapGuideMode === 1\">\r\n        <img\r\n          v-if=\"!fullscreen\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/culture_fullscreen.svg\"\r\n          @click=\"toggle('Mind')\"\r\n        />\r\n        <img\r\n          v-else\r\n          class=\"fullscreen fullscreenHover\"\r\n          :class=\"fullscreen ? 'fullscreenExit' : ''\"\r\n          src=\"@/assets/img/exit_fullscreen_culture_w.svg\"\r\n          @click=\"toggle('Mind')\"\r\n        />\r\n        <el-tabs v-model=\"activeName\" @tab-click=\"handleClick\">\r\n          <el-tab-pane label=\"我的思维导图\" name=\"1\">\r\n            <MyMind\r\n              ref=\"myMind\"\r\n              :dataPro=\"data\"\r\n              :course_id=\"course_id\"\r\n              :course_name=\"course_name\"\r\n              :courseIsuseradd=\"courseIsuseradd\"\r\n              :parent=\"this\"\r\n              :isShowCommandMindmap=\"isShowCommandMindmap\"\r\n              :showCollectPro=\"showCollect\"\r\n            />\r\n          </el-tab-pane>\r\n          <el-tab-pane\r\n            label=\"推荐思维导图\"\r\n            name=\"2\"\r\n            v-if=\"courseIsuseradd == 2\"\r\n          >\r\n            <RecommendMind ref=\"RecommendMind\" :dataPro=\"data\" :activeName=\"activeName\"/>\r\n          </el-tab-pane>\r\n        </el-tabs>\r\n      </div>\r\n      <!--      思维导图二级引导开始-->\r\n\r\n      <div class=\"content-box\" v-if=\"mindMapGuideMode === 0\">\r\n        <img\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/culture_fullscreen.svg\"\r\n        />\r\n        <el-tabs value=\"1\">\r\n          <el-tab-pane label=\"我的思维导图\" name=\"1\">\r\n            <GuideMyMind :dataPro=\"mockData\" :parent=\"this\" />\r\n          </el-tab-pane>\r\n          <el-tab-pane v-if=\"app_type == 2\" label=\"推荐思维导图\" name=\"2\"> </el-tab-pane>\r\n        </el-tabs>\r\n      </div>\r\n      <!--      思维导图二级引导结束-->\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport MyMind from \"./MyMind.vue\";\r\nimport GuideMyMind from \"./GuideMyMind.vue\";\r\nimport RecommendMind from \"./RecommendMind.vue\";\r\nimport { getMindmap, getUserCourseProgress } from \"@/api/index\";\r\nimport { getMindMap as getMindMapLo } from \"@/utils/auth\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { mindMap_guide } from \"@/utils/intro\";\r\n\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: { MyMind, GuideMyMind, RecommendMind },\r\n  props: {},\r\n  data() {\r\n    return {\r\n      course: {},\r\n      course_name: \"\",\r\n      activeName: \"1\",\r\n      data: {},\r\n      mockData: {\r\n        \"mindmap_id\": 190,\r\n        \"mindmap_content\": \"[{\\\"name\\\":\\\"前言\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？\\\",\\\"node\\\":[],\\\"lock\\\":2}]},{\\\"name\\\":\\\"何为幸福\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"幸福究竟是什么\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"物质层面\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"人生在世，除了家庭、感情、工作等现实问题有待解决\\\",\\\"node\\\":[],\\\"lock\\\":2},{\\\"name\\\":\\\"人生在世，除了家庭、感情、工作等现实问题有待解决\\\",\\\"node\\\":[],\\\"lock\\\":2}]},{\\\"name\\\":\\\"幸福的定义\\\",\\\"node\\\":[],\\\"lock\\\":3}]}]}]\",\r\n        \"mindmap_image\": \"\",\r\n        \"mindmap_pdf\": \"\",\r\n        \"last_update_device\": \"f0ae17a0-330c-11ef-9223-cdca7d\",\r\n        \"last_update_at\": 1720762972,\r\n        \"mindmap_isuseradd\": 1,\r\n        \"course_recommend_studythink\": \"\",\r\n        \"course_recommend_studythinkpdf\": \"\",\r\n        \"course_default_studythink\": \"\",\r\n        \"course_recommend_studythinkpdf_show\": \"\",\r\n        \"is_collect\": 2,\r\n        \"is_collect_studythink\": \"2\",\r\n        \"is_collect_studythinkimg\": \"2\",\r\n        \"is_collect_studythinkpdf\": \"2\",\r\n        \"mindmap_image_show\": \"\",\r\n        \"mindmap_pdf_show\": \"\"\r\n      },\r\n      fullscreen: false,\r\n      mindMapGuideMode: 1,\r\n      isShowCommandMindmap: false,\r\n      showCollect: true,\r\n      prevCom: \"\",\r\n      app_type: 1,\r\n    };\r\n  },\r\n  computed: {\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course_name() {\r\n      return this.$store.getters.course_name;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    user() {\r\n      if (typeof this.$store.getters.user === \"string\") {\r\n        return JSON.parse(this.$store.getters.user);\r\n      } else {\r\n        return this.$store.getters.user;\r\n      }\r\n    },\r\n  },\r\n  watch: {\r\n    $route: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (this.whiteCom === \"Mind\" && newVal.name == 'index') {\r\n          if(this.$refs && this.$refs.myMind && this.$refs.myMind.$data) {\r\n            this.$refs.myMind.$data.editOutline = false;\r\n          }\r\n          this.getMindmap();\r\n        }\r\n      }\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal === \"Mind\") {\r\n          if(this.$refs && this.$refs.myMind && this.$refs.myMind.$data) {\r\n            this.$refs.myMind.$data.editOutline = false;\r\n          }\r\n          console.log(\"prevCom:\", this.prevCom);\r\n          if(this.prevCom == \"Icon\") {\r\n            this.prevCom == \"\";\r\n          } else {\r\n            this.getMindmap();\r\n          }\r\n          this.getUserCourseProgress();\r\n        }\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      }\r\n    },\r\n    course_id(newVal) {\r\n      console.log(\"Mind course_id:\", newVal);\r\n      if (newVal) {\r\n        this.activeName = \"1\";\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenWhite('Mind', 'white');\r\n        if (this.$refs.RecommendMind) {\r\n          this.$refs.RecommendMind.inited = false;\r\n        }\r\n        console.log(\"getMindmap\");\r\n        this.getMindmap();\r\n      }\r\n    },\r\n    courseIsChanged(newVal) {\r\n      if (newVal) {\r\n        this.activeName = \"1\";\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenWhite('Mind', 'white');\r\n        if (this.$refs.RecommendMind) {\r\n          this.$refs.RecommendMind.inited = false;\r\n        }\r\n        console.log(\"getMindmap\");\r\n        this.getMindmap();\r\n      }\r\n    },\r\n    fullscreen(newVal) {\r\n      // 全屏是0.5s\r\n      let timeout = setTimeout(() => {\r\n        console.log(\"fullscreenfullscreen:\", newVal);\r\n        console.log(this.$refs.RecommendMind);\r\n        console.log(this.$refs.RecommendMind.$refs.myMindPdfRecommend);\r\n        if(this.activeName == 2) {\r\n          if(this.$refs.RecommendMind && this.$refs.RecommendMind.$refs.myMindPdfRecommend) {\r\n            this.$refs.RecommendMind.$refs.myMindPdfRecommend.readPdf();\r\n          }\r\n        } else {\r\n          if(this.$refs.myMind && this.$refs.myMind.$refs.myMindPdf) {\r\n            this.$refs.myMind.$refs.myMindPdf.readPdf();\r\n          }\r\n        }\r\n        clearTimeout(timeout);\r\n      }, 600);\r\n\r\n    },\r\n  },\r\n  methods: {\r\n    handleClick() {\r\n      console.log(\"this.data:\", this.data);\r\n      this.$nextTick(() => {\r\n        if (this.activeName == 2) {\r\n          if (\r\n            !this.$refs.RecommendMind.inited &&\r\n            !this.data.course_recommend_studythink &&\r\n            this.data.course_recommend_studythinkpdf_show\r\n          ) {\r\n            this.$refs.RecommendMind.inited = true;\r\n            let timeout = null;\r\n            timeout = setTimeout(() => {\r\n              if(this.$refs.RecommendMind.$refs.recommendPdf) {\r\n                this.$refs.RecommendMind.$refs.recommendPdf.pdfChange();\r\n              }\r\n              clearTimeout(timeout);\r\n            });\r\n          }\r\n        }\r\n      });\r\n    },\r\n    async getUserCourseProgress() {\r\n      const courseProgress = await getUserCourseProgress({\r\n        course_id: this.course_id,\r\n      });\r\n      if (courseProgress && courseProgress.code === 0) {\r\n        this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n      }\r\n    },\r\n    async setSyncMindmapContent(mindmap_content) {\r\n      // let mindMap = {};\r\n      // if (typeof this.mindMap === \"string\") {\r\n      //   mindMap = JSON.parse(this.mindMap);\r\n      // } else {\r\n      //   mindMap = deepClone(this.mindMap);\r\n      // }\r\n      // mindMap.mindmap_content = mindmap_content;\r\n      if(mindmap_content) {\r\n        this.data.mindmap_content = JSON.parse(mindmap_content);\r\n      } else {\r\n        this.data.mindmap_content = \"\";\r\n      }\r\n\r\n      // ============================================================\r\n      // [远程同步后清理编辑状态] 防止\"假性锁定\"问题\r\n      // 问题：远程更新数据时，本地遗留的编辑状态会阻止新的编辑操作\r\n      // 解决：强制清理 MyMindOutline 组件的编辑状态\r\n      // ============================================================\r\n      if (this.$refs.MyMindOutline && this.$refs.MyMindOutline.clearEditingStates) {\r\n        console.log('[Sync] 远程数据更新，清理编辑状态');\r\n        this.$refs.MyMindOutline.clearEditingStates();\r\n      }\r\n\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: this.data,\r\n        timeStamp: new Date().getTime(),\r\n        mindMapTimeStamp: new Date().getTime(),\r\n        isEdited: true, // 重新写入缓存数据\r\n        isOnlyReady: false\r\n      }).then(() => {\r\n        this.$refs.myMind.init(this.data)\r\n      });\r\n      this.getUserCourseProgress();\r\n    },\r\n    async setSyncMindmapContentStart(mindmap_content) {\r\n      if(mindmap_content && mindmap_content != '[]') {\r\n        this.data.mindmap_content = JSON.parse(mindmap_content);\r\n      } else {\r\n        // 第一次连接，如果为空，则要去请求获取数据\r\n        await this.getMindmap();\r\n      }\r\n      console.log(\"setSyncMindmapContentStart:\", this.data)\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: this.data,\r\n        timeStamp: new Date().getTime(),\r\n        mindMapTimeStamp: new Date().getTime(),\r\n        isEdited: true, // 重新写入缓存数据\r\n        isOnlyReady: false\r\n      }).then(() => {\r\n        this.$refs.myMind.init(this.data)\r\n      });\r\n      this.getUserCourseProgress();\r\n    },\r\n    // 获取用户课程思维导图\r\n    async getMindmap(isSaveServer) {\r\n      let dataServer = {};\r\n      try {\r\n        // 每次都去请求接口拉取最新数据\r\n        console.log(\"getMindmap:\", this.course_id);\r\n        if(!this.course_id) {\r\n          return;\r\n        }\r\n        const res = await getMindmap({ course_id: this.course_id });\r\n        if (res && res.code === 0) {\r\n          dataServer = res.data[0] || {\r\n            mindmap_id: 0,\r\n            mindmap_content: \"\",\r\n            mindmap_image: \"\",\r\n            mindmap_image_show: \"\",\r\n            mindmap_pdf: \"\",\r\n            mindmap_pdf_show: \"\",\r\n            last_update_device: \"\",\r\n            last_update_at: 0,\r\n            course_recommend_studythink: \"\",\r\n            course_recommend_studythinkpdf: \"\",\r\n            course_recommend_studythinkpdf_show: \"\",\r\n            course_default_studythink: \"\",\r\n            is_collect: 2\r\n          };\r\n\r\n          if (dataServer.mindmap_content) {\r\n            this.isShowCommandMindmap = true;\r\n            this.showCollect = true;\r\n          } else {\r\n            this.isShowCommandMindmap = false;\r\n            this.showCollect = false;\r\n          }\r\n\r\n        }\r\n        else {\r\n          throw res;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error && error.msg || '获取数据失败，请重试'\r\n        // });\r\n      }\r\n\r\n      // 从内存中获取思维导图，比较最新数据\r\n      let newData = dataServer;\r\n      // let mindMapTimeStamp;\r\n      // let timeStamp = (newData.last_update_at || 0) * 1000;\r\n      // let isUserCache = false;\r\n      // const cacheString = getMindMapLo(this.course_id, this.user.user_id)\r\n      //   ? getMindMapLo(this.course_id, this.user.user_id)\r\n      //   : \"{}\";\r\n      // const cacheJson = JSON.parse(cacheString);\r\n      // console.log('----', cacheJson.mindMapTimeStamp, timeStamp, (\r\n      //   (cacheJson.mindMapTimeStamp && cacheJson.data && cacheJson.data.mindmap_content) &&\r\n      //   cacheJson.mindMapTimeStamp > timeStamp\r\n      // ), cacheJson);\r\n      // if (\r\n      //   (cacheJson.mindMapTimeStamp && cacheJson.data && cacheJson.data.mindmap_content) &&\r\n      //   cacheJson.mindMapTimeStamp > timeStamp\r\n      // ) {\r\n      //   const cacheData = cacheJson.data || {};\r\n      //   newData = {\r\n      //     ...newData,\r\n      //     mindmap_content: cacheData.mindmap_content,\r\n      //   }\r\n      //   isUserCache = true;\r\n      // }\r\n\r\n      // if(dataServer.last_update_at === 0 || isUserCache) {\r\n      //   timeStamp = cacheJson.mindMapTimeStamp;\r\n      // }\r\n      // else {\r\n      //   timeStamp = newData.last_update_at * 1000;\r\n      // }\r\n      const timeStamp = newData.last_update_at * 1000;\r\n      const mindMapTimeStamp = dataServer.last_update_at ? dataServer.last_update_at * 1000 : (+new Date());\r\n\r\n      this.data = newData;\r\n\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: this.data,\r\n        timeStamp: timeStamp,\r\n        mindMapTimeStamp: mindMapTimeStamp,\r\n        isEdited: true, // 重新写入缓存数据\r\n        isOnlyReady: false\r\n      });\r\n\r\n      if(this.$refs.myMind.$refs.MyMindOutline) {\r\n        this.$refs.myMind.$refs.MyMindOutline.clearTimeout();\r\n      }\r\n    },\r\n    mindMap_initGuide() {\r\n      mindMap_guide(this, [\r\n        {\r\n          intro: this.app_type == 2 ? \"通过填写简单的<b>思维导图(大纲)</b>，帮你理清文章的思路脉络。也可点击查看<b>“推荐思维导图”</b>\" : \"通过填写简单的<b>思维导图(大纲)</b>，帮你理清文章的思路脉络。\",\r\n          element: document.querySelector(\"#index_step12\"),\r\n          position: \"top\"\r\n        },\r\n        {\r\n          intro: \"思维导图默认<b>大纲模式</b>，点击 “编辑” 进入编辑页面<br/>另有图片模式、PDF模式，可以直接上传档案\",\r\n          element: document.querySelector(\".guideOutlineDropdown\"),\r\n          position: \"bottom\"\r\n        },\r\n        {\r\n          intro: \"点击添加主题，进行填写\",\r\n          // element: document.querySelectorAll('.bg-transparent')[4]\r\n          element: document.querySelector(\"#mind_step2\"),\r\n          position: \"top\"\r\n        },\r\n        {\r\n          intro: \"点击已有标题，可出现格式选择，最多可填写五级目录\",\r\n          element: document.querySelectorAll(\".mindMap_step3\")[7],\r\n          position: \"left\"\r\n        },\r\n        {\r\n          intro: \"进行保存或清空思维导图\",\r\n          element: document.querySelector(\"#mind_step4\"),\r\n          position: \"bottom\"\r\n        }\r\n      ]);\r\n    },\r\n    setMindMapGuideMode(status) {\r\n      this.mindMapGuideMode = status;\r\n    },\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.setMindMapGuideMode(0);\r\n      EventBus.$emit(\"setCultureGuideMode\", 0);\r\n      setTimeout(() => {\r\n        this.mindMap_initGuide();\r\n      }, 800);\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {},\r\n  mounted() {\r\n    if (this.courseBase) {\r\n      this.course_name = this.courseBase.course_name;\r\n    } else {\r\n      this.course_name = \"\";\r\n    }\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.getMindmap();\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", whiteCom => {\r\n      if (whiteCom === \"Mind\") {\r\n        this.toggle(whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"mind_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n    EventBus.$on(\"HIDE_WHITE_ICON\", () => {\r\n      console.log(\"HIDE_WHITE_ICON:\", this.whiteCom);\r\n      this.prevCom = this.whiteCom;\r\n    });\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    console.log(\"guideStatus\", guideStatus);\r\n    //首次弹出思维导图二级-触发思维导图引导\r\n    if (guideStatus.mindMap === 0) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n    EventBus.$on(\"setSyncMindmapContent\", (mindmap_content) => {\r\n      this.setSyncMindmapContent(mindmap_content);\r\n    });\r\n    EventBus.$on(\"setSyncMindmapContentStart\", (mindmap_content) => {\r\n      this.setSyncMindmapContentStart(mindmap_content);\r\n    });\r\n    EventBus.$on(\"updatenotsaved\", (mindmap_content) => {\r\n      this.setSyncMindmapContent(mindmap_content);\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-box{\r\n  height: 100%;\r\n  overflow-y: hidden;\r\n  background:none;\r\n}\r\n.box-content-name {\r\n  margin-bottom: 0;\r\n  padding-bottom: 12px;\r\n}\r\n.content-box {\r\n  padding: 21px 0 24px 0;\r\n  // border: 1px solid #f2f4f5;\r\n  // border-radius: 16px;\r\n  // background-color: #f2f4f5;\r\n  height: calc(100% - 140px);\r\n  // min-height: calc(100% - 24px);\r\n  // min-height: 388px;\r\n  position: relative;\r\n  overflow: visible;\r\n  flex: 1;\r\n  // margin-bottom: 20px;\r\n}\r\n.box {\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.name {\r\n  color: @culture;\r\n}\r\n.content {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 23px;\r\n  height: calc(100% - 110px);\r\n  min-height: 270px;\r\n  overflow-y: auto;\r\n  // padding-bottom: 23px;\r\n  margin-top: 39px;\r\n}\r\n.mind {\r\n  /deep/ .el-tabs__header {\r\n    padding-left: 39px;\r\n  }\r\n  /deep/ .el-tabs__nav-wrap {\r\n    &::after {\r\n      background-color: #f3f3f7;\r\n    }\r\n  }\r\n  /deep/ .el-tabs__item {\r\n    height: 30px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #7e878c;\r\n    line-height: 21px;\r\n    padding: 0;\r\n    // &:last-of-type {\r\n    //   margin-left: 40px;\r\n    // }\r\n    &:not(:last-of-type) {\r\n      margin-right: 40px;\r\n    }\r\n  }\r\n  /deep/ .el-tabs__item.is-active {\r\n    color: @culture;\r\n    border-bottom: 3px solid @culture;\r\n  }\r\n  /deep/ .el-tabs__active-bar {\r\n    background-color: @culture;\r\n    height: 3px;\r\n    display: none;\r\n  }\r\n}\r\n\r\n.title {\r\n  font-size: 21px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: @culture;\r\n  line-height: 32px;\r\n}\r\n/deep/ .el-button {\r\n  border-color: @culture;\r\n  color: @culture;\r\n}\r\n\r\n/deep/ .el-tabs {\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n/deep/ .el-tabs__header {\r\n  margin: 0 0 14px;\r\n}\r\n/deep/ .el-tabs__content {\r\n  overflow: visible;\r\n  flex: 1;\r\n  overflow: hidden;\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Mind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  'main-box',\n  _vm.fullscreen ? 'big-view-box bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\n],attrs:{\"id\":\"mindMainBox\"}},[_c('div',{staticClass:\"box mind\",class:_vm.fullscreen ? 'fullBox' : ''},[_c('div',{staticClass:\"box-content-name name\",class:[\n        !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\n      ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"思维导图\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle('Mind')}}},[_vm._v(\"思维导图\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mindMapGuideMode === 1),expression:\"mindMapGuideMode === 1\"}],staticClass:\"content-box\"},[(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/culture_fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle('Mind')}}}):_c('img',{staticClass:\"fullscreen fullscreenHover\",class:_vm.fullscreen ? 'fullscreenExit' : '',attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_culture_w.svg\")},on:{\"click\":function($event){return _vm.toggle('Mind')}}}),_vm._v(\" \"),_c('el-tabs',{on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"我的思维导图\",\"name\":\"1\"}},[_c('MyMind',{ref:\"myMind\",attrs:{\"dataPro\":_vm.data,\"course_id\":_vm.course_id,\"course_name\":_vm.course_name,\"courseIsuseradd\":_vm.courseIsuseradd,\"parent\":this,\"isShowCommandMindmap\":_vm.isShowCommandMindmap,\"showCollectPro\":_vm.showCollect}})],1),_vm._v(\" \"),(_vm.courseIsuseradd == 2)?_c('el-tab-pane',{attrs:{\"label\":\"推荐思维导图\",\"name\":\"2\"}},[_c('RecommendMind',{ref:\"RecommendMind\",attrs:{\"dataPro\":_vm.data,\"activeName\":_vm.activeName}})],1):_vm._e()],1)],1),_vm._v(\" \"),(_vm.mindMapGuideMode === 0)?_c('div',{staticClass:\"content-box\"},[_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/culture_fullscreen.svg\")}}),_vm._v(\" \"),_c('el-tabs',{attrs:{\"value\":\"1\"}},[_c('el-tab-pane',{attrs:{\"label\":\"我的思维导图\",\"name\":\"1\"}},[_c('GuideMyMind',{attrs:{\"dataPro\":_vm.mockData,\"parent\":this}})],1),_vm._v(\" \"),(_vm.app_type == 2)?_c('el-tab-pane',{attrs:{\"label\":\"推荐思维导图\",\"name\":\"2\"}}):_vm._e()],1)],1):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-b17c94f0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Mind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b17c94f0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Mind.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Mind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Mind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b17c94f0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Mind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-b17c94f0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Mind.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"content-box big-view bg-white contentBlack-box\">\r\n    <NoDataBlack v-if=\"!loading && datas.length === 0\" />\r\n    <div class=\"case-box\" v-show=\"datas && datas.length\">\r\n      <div class=\"case-list blackCaseList\">\r\n        <swiper\r\n          ref=\"blackCaseListSwiper\"\r\n          id=\"blackCaseListSwiper\"\r\n          :key=\"swiperKey\"\r\n          :options=\"swiperOption\"\r\n          :style=\"{'--pagination-active-color': paginationActiveColor}\"\r\n          class=\"show-swiper\">\r\n          <template v-if=\"datas && datas.length\">\r\n            <template>\r\n              <swiper-slide :key=\"index\"\r\n                class=\"swiper-slide-sub\"\r\n                v-for=\"(item, index) in datas\">\r\n                <el-card :class=\"['box-card', item.course_case_isuseradd == 1 ? 'personal-card' :'']\"\r\n                  :key=\"'class' + index\">\r\n                  <div @click=\"toDetail(item, index)\">\r\n                    <div class=\"card-title\">\r\n                      <div class=\"title\" :class=\"'title' + item.case_tag_type\">案例{{ index + 1 }}</div>\r\n                      <div v-if=\"item.course_case_isuseradd == 1\" class=\"personal-tag\">个人</div>\r\n                    </div>\r\n                    <div class=\"case-content ellipsis-content\">\r\n                      <span class=\"quotes quotes1\">“</span>\r\n                      <span class=\"quotes quotes2\">”</span>{{ item.course_case_content }}\r\n                    </div>\r\n                    <img v-if=\"selectData && selectData.course_case_id == item.course_case_id && blackActiveIndex + 1 == 1\"\r\n                      src=\"@/assets/img/go_button_cultrue.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\"\r\n                      @click=\"back\" />\r\n                    <img v-if=\"selectData && selectData.course_case_id == item.course_case_id && blackActiveIndex + 1 == 2\"\r\n                      src=\"@/assets/img/go_button_think.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\"\r\n                      @click=\"back\" />\r\n                    <img v-if=\"selectData && selectData.course_case_id == item.course_case_id && blackActiveIndex + 1 == 3\"\r\n                      src=\"@/assets/img/go_button_behavior.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\"\r\n                      @click=\"back\" />\r\n                    <img v-if=\"selectData && selectData.course_case_id == item.course_case_id && blackActiveIndex + 1 == 4\"\r\n                      src=\"@/assets/img/go_button_personality.svg\"\r\n                      class=\"think-arrow\"\r\n                      :ref=\"'questionDoneArrow' + index\" />\r\n                    <!-- <img\r\n                        v-if=\"selectData && selectData.course_case_id == item.course_case_id\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'questionDoneArrow' + index\"\r\n                        src=\"@/assets/img/black_case_arrow.svg\" /> -->\r\n                    <div class=\"footer\">\r\n                      <span class=\"tag\"\r\n                        :class=\"'tag' + case_tag_type\">{{\r\n                        item.case_tag_title\r\n                      }}</span>\r\n                      <span class=\"num\"\r\n                        v-if=\"item.course_case_isuseradd == 2\">\r\n                        <span>阅读\r\n                          <span>{{ item.course_case_see_num }}</span>\r\n                        </span>\r\n                      </span>\r\n                    </div>\r\n                  </div>\r\n                </el-card>\r\n              </swiper-slide>\r\n            </template>\r\n          </template>\r\n          <div v-show=\"datas && datas.length\" class=\"swiper-pagination\"\r\n            slot=\"pagination\"></div>\r\n        </swiper>\r\n        <div class=\"case-detail\">\r\n          <Detail v-if=\"selectData && selectData.course_case_id\"\r\n            :course_case_id=\"selectData.course_case_id\"\r\n            :case_tag_type=\"selectData.case_tag_type\"\r\n            :course_case_isuseradd=\"selectData.course_case_isuseradd\"\r\n            @closeDetail=\"closeDetail\"\r\n            @toWhiteTip=\"toWhiteTip\"\r\n            @addCaseReadNum=\"addCaseReadNum\"\r\n          />\r\n        </div>\r\n\r\n        <!-- <div class=\"cases list\"\r\n          v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n          <el-card class=\"box-card\"\r\n            v-for=\"(item, index) in datas\"\r\n            :key=\"'class' + index\">\r\n            <div @click=\"toDetail(item, index)\">\r\n              <div class=\"title\">案例{{ index + 1 }}</div>\r\n              <div class=\"case-content ellipsis-content\">\r\n                <span class=\"quotes quotes1\">“</span>\r\n                <span class=\"quotes quotes2\">”</span>{{ item.course_case_content }}\r\n              </div>\r\n              <div class=\"footer\">\r\n                <span class=\"tag\"\r\n                  :class=\"'tag' + case_tag_type\">{{\r\n                  item.case_tag_title\r\n                }}</span>\r\n                <span class=\"num\"\r\n                  v-if=\"item.course_case_isuseradd == 2\">\r\n                  <span>阅读\r\n                    <span>{{ item.course_case_see_num }}</span>\r\n                  </span>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </el-card>\r\n        </div>\r\n        <p v-if=\"loading\"\r\n          class=\"loading\">加载中...</p>\r\n        <p v-if=\"noMore && datas.length > 0\"\r\n          class=\"loading\">--到底啦--</p> -->\r\n      </div>\r\n      <div class=\"nav\"\r\n        :style=\"{ paddingRight: $px2rem(37) }\">\r\n        <div class=\"case-tag-type case-tag-type-1\"\r\n          v-if=\"!isFromIndex && case_tag_type == 1\">\r\n          文化\r\n        </div>\r\n        <div class=\"case-tag-type case-tag-type-2\"\r\n          v-if=\"!isFromIndex && case_tag_type == 2\">\r\n          思维 • 观念\r\n        </div>\r\n        <div class=\"case-tag-type case-tag-type-3\"\r\n          v-if=\"!isFromIndex && case_tag_type == 3\">\r\n          行为 • 习惯\r\n        </div>\r\n        <div class=\"case-tag-type case-tag-type-4\"\r\n          v-if=\"!isFromIndex && case_tag_type == 4\">\r\n          性格 • 人格\r\n        </div>\r\n        <img v-if=\"blackActiveIndex + 1 == 1\"\r\n          class=\"go_button\"\r\n          src=\"@/assets/img/go_button_cultrue.svg\"\r\n          @click=\"back\" />\r\n        <img v-if=\"blackActiveIndex + 1 == 2\"\r\n          class=\"go_button\"\r\n          src=\"@/assets/img/go_button_think.svg\"\r\n          @click=\"back\" />\r\n        <img v-if=\"blackActiveIndex + 1 == 3\"\r\n          class=\"go_button\"\r\n          src=\"@/assets/img/go_button_behavior.svg\"\r\n          @click=\"back\" />\r\n        <img v-if=\"blackActiveIndex + 1 == 4\"\r\n          class=\"go_button\"\r\n          src=\"@/assets/img/go_button_personality.svg\"\r\n          @click=\"back\" />\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getCaseListbyType, getCaseTag } from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nimport NoDataBlack from \"@/components/NoDataBlack\";\r\nimport Detail from \"./Detail.vue\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: { NoDataBlack, Detail, swiper, swiperSlide },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      datas: [],\r\n      loading: false,\r\n      noMore: false,\r\n      page: 0,\r\n      pageSize: 1000000,\r\n      case_tag_type: \"\",\r\n      dialogVisible: false,\r\n      selectData: {},\r\n      caseTags: [],\r\n      currentIndex: null,\r\n      swiperKey: Math.random().toString(36).substr(2) /*随机的key*/,\r\n      swiperOption: {\r\n        direction: \"vertical\",\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // 设置slider容器能够同时显示的slides数量，默认为1， 'auto'则自动根据slides的宽度来设定数量\r\n        slidesPerView: \"auto\",\r\n        /*\r\n         * 开启这个参数来计算每个slide的progress(进度、进程)\r\n         * 对于slide的progress属性，活动的那个为0，其他的依次减1\r\n         */\r\n        watchSlidesProgress: true,\r\n        // 默认active slide居左，设置为true后居中\r\n        centeredSlides: true,\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: true,\r\n        // height: 700,\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          tap: (e) => {\r\n            let swiper = this.$refs.blackCaseListSwiper.swiper;\r\n            const activeIndex =\r\n              this.$refs.blackCaseListSwiper.swiper.clickedIndex;\r\n              console.log('tap:',activeIndex);\r\n            if (activeIndex || activeIndex === 0) {\r\n              this.swiper.realIndex = activeIndex;\r\n              this.swiper.activeIndex = activeIndex;\r\n              this.clickSlide(0.3, activeIndex);\r\n            }\r\n          },\r\n          slideChange: () => {\r\n            const activeIndex =\r\n              this.$refs.blackCaseListSwiper.swiper.activeIndex;\r\n            console.log('slideChange:',activeIndex);\r\n            this.clickSlide(0.3, activeIndex);\r\n          },\r\n        },\r\n      },\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    cases() {\r\n      console.log(\"cases:\", this.$store.getters.case);\r\n      return this.$store.getters.case;\r\n    },\r\n    prevCom() {\r\n      //  CreateCase\r\n      return this.$store.getters.prevCom;\r\n    },\r\n    blackActiveIndex() {\r\n      return this.$store.getters.blackActiveIndex;\r\n    },\r\n    isFromIndex() {\r\n      return this.$store.getters.isFromIndex;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    swiper() {\r\n      return this.$refs.blackCaseListSwiper.swiper;\r\n    },\r\n    // 【新增】根据 experience_tag_type 计算分页器选中颜色\r\n    paginationActiveColor() {\r\n      const colorMap = {\r\n        1: '#71afbb',  // 文化\r\n        2: '#64afd5',  // 思维·观念\r\n        3: '#ffb096',  // 行为·习惯\r\n        4: '#2c51af'   // 性格·人格\r\n      };\r\n      // 优先使用 experience_tag_type，否则使用 whiteActiveIndex + 1\r\n      const type = this.case_tag_type || (this.blackActiveIndex + 1);\r\n      return colorMap[type] || '#64afd5';\r\n    }\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.init();\r\n          this.getCaseListbyType();\r\n        }\r\n      },\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          this.init();\r\n          this.getCaseListbyType();\r\n        }\r\n      },\r\n    },\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    if (from.name == \"TipsList\") {\r\n      let timeout = setTimeout(() => {\r\n        EventBus.$emit(\"setBlackTheme\", \"black\");\r\n        clearTimeout(timeout);\r\n      }, 100);\r\n    }\r\n    next();\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    console.log(\"CaseList beforeRouteLeave:\", this.isFromIndex);\r\n    if (this.isFromIndex && to.name == \"index\") {\r\n      EventBus.$emit(\r\n        \"BACK_FROM_BlACK_CASE_LIST\",\r\n        this.$route.query.case_tag_type\r\n      );\r\n    }\r\n    this.dialogVisible = false;\r\n    next();\r\n  },\r\n  methods: {\r\n    // 数据加载后初始化 swiper\r\n    initSwiper() {\r\n      console.log(\"initSwiper：\", this.swiper);\r\n      this.$nextTick(() => {\r\n        if (!this.swiper) return;\r\n\r\n        if(this.datas.length) {\r\n          this.clickSlide(0.3, 0);\r\n        }\r\n      });\r\n    },\r\n    getSwiperSlides() {\r\n      const blackCaseListSwiper = document.getElementById(\"blackCaseListSwiper\");\r\n      if(!blackCaseListSwiper) {\r\n        return [];\r\n      }\r\n      const items =\r\n        blackCaseListSwiper.getElementsByClassName(\"swiper-slide-sub\");\r\n      return items;\r\n    },\r\n    slideTo(data) {\r\n      if (data.status) {\r\n        // 已完成\r\n        this.$set(data, \"isHover\", 1);\r\n        this.$nextTick(() => {\r\n          if (this.$refs[\"questionDoneArrowHover\" + this.activeIndex]) {\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transition = \"all 0.3s linear\";\r\n          }\r\n        });\r\n      } else {\r\n        if (this.$refs[\"thinkArrow\" + this.activeIndex]) {\r\n          this.$refs[\r\n            \"thinkArrow\" + this.activeIndex\r\n          ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n          this.$refs[\"thinkArrow\" + this.activeIndex][0].style.transition =\r\n            \"all 0.3s linear\";\r\n        }\r\n      }\r\n    },\r\n    clickSlide(duration = 0.8, activeIndex) {\r\n      console.log('clickSlide');\r\n      const items = this.getSwiperSlides();\r\n      // const activeIndex = this.$refs.blackCaseListSwiper.swiper.clickedIndex || this.$refs.blackCaseListSwiper.swiper.activeIndex;\r\n      console.log(\"activeIndexactiveIndex:\", activeIndex);\r\n      this.activeIndex = activeIndex;\r\n      this.$refs.blackCaseListSwiper.swiper.slideTo(activeIndex);\r\n      this.selectData = this.datas[this.activeIndex];\r\n      // this.slideTo(data);\r\n      this.$set(this.datas[activeIndex], \"isHover\", 1);\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const rect = slide.getBoundingClientRect();\r\n        const diff = activeIndex - i;\r\n        // const translateY = this.$px2rem(diff * 0.4 * 242); // 166是swiper-slide的高度\r\n        const translateY = -rect.height * 0.2\r\n        console.log(\"translateY:\", translateY);\r\n        const translateX = this.$px2rem(-50);\r\n        if (i === this.activeIndex) {\r\n          slide.style.transform = `translate(${translateX}, ${translateY + 'px'}) scale(${1})`;\r\n        } else {\r\n          if(i === this.activeIndex + 1 || i === this.activeIndex - 1) {\r\n            slide.style.transform = `translate(${translateX}, ${translateY + 'px'}) scale(${0.8})`;\r\n          } else {\r\n            slide.style.transform = `translate(${translateX}, ${translateY * 1.5 + 'px'}) scale(${0.8})`;\r\n          }\r\n        }\r\n        slide.style.transition = `all ${duration}s linear`;\r\n      }\r\n    },\r\n    addCaseReadNum() {\r\n      if(this.currentIndex != null) {\r\n        const course_case_see_num = this.datas[this.currentIndex].course_case_see_num;\r\n        this.$set(this.datas[this.currentIndex], \"course_case_see_num\", course_case_see_num + 1);\r\n      }\r\n    },\r\n    toWhiteTip() {\r\n      // const course_case_isuseradd = this.selectData.course_case_isuseradd;\r\n      const course_id = this.selectData.course_id;\r\n      console.log(\"course_id:\", course_id, this.pageName);\r\n      if (this.pageName == \"black\") {\r\n        let timeout = setTimeout(() => {\r\n          this.$router.push({\r\n            path: \"/white/TipsList\",\r\n            query: {\r\n              case_tag_type: this.case_tag_type,\r\n              course_case_isuseradd: this.courseIsuseradd,\r\n              course_id: course_id\r\n            },\r\n          });\r\n          clearTimeout(timeout);\r\n        }, 600);\r\n      }\r\n    },\r\n    toCaseListAnimation() {\r\n      this.$nextTick(() => {\r\n        const blackCaseList = document.getElementsByClassName(\"blackCaseList\");\r\n        if (blackCaseList) {\r\n          blackCaseList[0].style.transform = \"translateY(50%)\";\r\n          blackCaseList[0].style.opacity = 0;\r\n          let timeout = setTimeout(() => {\r\n            clearTimeout(timeout);\r\n            blackCaseList[0].style.transform = \"translateY(0%)\";\r\n            blackCaseList[0].style.opacity = 1;\r\n            blackCaseList[0].style.transition = \"all 0.8s linear\";\r\n          }, 100);\r\n        }\r\n      });\r\n    },\r\n    back() {\r\n      this.$router.replace(\"/\");\r\n    },\r\n    init() {\r\n      this.datas = [];\r\n      this.page = 0;\r\n      this.noMore = false;\r\n      this.loading = false;\r\n    },\r\n    load() {\r\n      if (this.noMore || this.loading) {\r\n        return;\r\n      }\r\n      this.page += 1;\r\n      this.getCaseListbyType();\r\n    },\r\n    closeDetail() {\r\n      this.dialogVisible = false;\r\n      this.selectData = {};\r\n    },\r\n    // 编辑案例\r\n    toDetail(data, index) {\r\n      // this.dialogVisible = true;\r\n      this.selectData = data;\r\n      this.currentIndex = index;\r\n    },\r\n    async getCaseTag() {\r\n      try {\r\n        const res = await getCaseTag();\r\n        if (res && res.code === 0) {\r\n          this.caseTags = res.data;\r\n          this.$store.dispatch(\"setCaseTags\", res.data).then(() => {});\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getCaseListbyType() {\r\n      try {\r\n        this.loading = true;\r\n\r\n        let params = {\r\n          case_tag_type: this.case_tag_type,\r\n          course_id: this.course_id,\r\n          page: this.page,\r\n          pageSize: this.pageSize,\r\n          course_isuseradd: this.courseIsuseradd,\r\n          is_new: 1\r\n        };\r\n\r\n        console.log(\"getCaseListbyType:\", params);\r\n        const res = await getCaseListbyType(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          data.forEach((item) => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.last_update_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          if(this.page == 1) {\r\n            this.datas = [];\r\n          }\r\n          console.log(this.datas)\r\n          this.datas.push(...data);\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n          this.initSwiper();\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    const case_tag_type = this.$route.query.case_tag_type;\r\n    this.case_tag_type = case_tag_type;\r\n      this.init();\r\n      // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n      this.$nextTick(() => {\r\n        this.load();\r\n    });\r\n\r\n  },\r\n  deactivated() {\r\n  },\r\n  mounted() {\r\n    this.getCaseTag();\r\n    const case_tag_type = this.$route.query.case_tag_type;\r\n    this.case_tag_type = case_tag_type;\r\n    this.load();\r\n    this.fullscreen = true;\r\n    EventBus.$on(\"TO_BlACK_CASE_LIST\", () => {\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        this.toCaseListAnimation();\r\n      }, 500);\r\n    });\r\n    EventBus.$on(\"backFromCaseList\", () => {\r\n      console.log(\"backFromCaseList\");\r\n      this.back();\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.loading {\r\n  text-align: center;\r\n}\r\n.contentBlack-box {\r\n  z-index: 101;\r\n}\r\n.case-tag-type {\r\n  position: fixed;\r\n  right: 32px;\r\n  top: 126px;\r\n  z-index: 1000;\r\n  list-style: none;\r\n  border-radius: 20px;\r\n  width: 25px;\r\n  text-align: center;\r\n  // margin-top: -1px;\r\n  font-size: 12px;\r\n  font-weight: 500;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  padding: 20px 6px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n}\r\n.case-tag-type-1 {\r\n  background-color: #71afbb;\r\n  height: 58px;\r\n}\r\n.case-tag-type-2 {\r\n  background-color: #64afd5;\r\n  height: 107px;\r\n}\r\n.case-tag-type-3 {\r\n  background-image: linear-gradient(135deg, #ffae8b 0%, #fd746b 100%);\r\n  height: 107px;\r\n}\r\n.case-tag-type-4 {\r\n  background-color: #2C51AF;\r\n  height: 107px;\r\n}\r\n.go_button {\r\n  position: fixed;\r\n  top: 81px;\r\n  right: 28px;\r\n}\r\n.case-box {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  height: 100%;\r\n  .case-list {\r\n    width: calc(100% - 80px);\r\n    height: 100%;\r\n    display: flex;\r\n    // padding: 81px 0 0 72px;\r\n    .cases {\r\n      display: flex;\r\n      justify-content: flex-start;\r\n      flex-wrap: wrap;\r\n      height: 100%;\r\n      overflow-y: auto;\r\n    }\r\n    .box-card {\r\n      width: 256px;\r\n      height: 100%;\r\n      background: rgba(0, 0, 0, 0.4);\r\n      border-radius: 16px;\r\n      // margin-bottom: 27px;\r\n      cursor: pointer;\r\n      // margin-left: 24px;\r\n      .card-title {\r\n        display: flex;\r\n        padding: 18px 19px;\r\n        align-items: center;\r\n        .title {\r\n          // height: 30px;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #64AFD5;\r\n          line-height: 16px;\r\n          &.title1 {\r\n            color: #71afbb;\r\n          }\r\n          &.title2 {\r\n            color: #64afd5;\r\n          }\r\n          &.title3 {\r\n            color: #ffb096;\r\n          }\r\n          &.title4 {\r\n            color: #2c51af;\r\n          }\r\n        }\r\n        .personal-tag {\r\n          width: 30px;\r\n          height: 16px;\r\n          border-radius: 3px;\r\n          border: 1px solid rgba(255,255,255,0.2);\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 10px;\r\n          color: rgba(255,255,255,0.4);\r\n          line-height: 12px;\r\n          text-align: center;\r\n          font-style: normal;\r\n          margin-left: 6px;\r\n        }\r\n      }\r\n      .case-content {\r\n        position: relative;\r\n        height: 75px;\r\n        // padding: 0 20px;\r\n        padding: 0 47px;\r\n        margin: 0 0 20px 0;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: bold;\r\n        font-size: 16px;\r\n        color: #FFFFFF;\r\n        line-height: 25px;\r\n        font-style: normal;\r\n        // text-align: justify;\r\n        // overflow: hidden;\r\n        // text-overflow: ellipsis;\r\n        -webkit-line-clamp: 3;\r\n        // -webkit-box-orient: vertical;\r\n        // display: -webkit-box;\r\n        .quotes {\r\n          position: absolute;\r\n        }\r\n        .quotes1 {\r\n          top: 0;\r\n          left: 11px;\r\n        }\r\n        .quotes2 {\r\n          right: 11px;\r\n          bottom: -4px;\r\n        }\r\n      }\r\n      .footer {\r\n        height: 48px;\r\n        border-top: 1px solid #1d2223;\r\n        padding: 16px 23px 20px 26px;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        color: #7e878c;\r\n        .tag {\r\n          padding-left: 11px;\r\n          position: relative;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #7e878c;\r\n          line-height: 18px;\r\n          font-style: normal;\r\n        }\r\n        .tag1 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 8px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #71afbb;\r\n          }\r\n        }\r\n        .tag2 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 8px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #64afd5;\r\n          }\r\n        }\r\n        .tag3 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 7px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #ffb096;\r\n          }\r\n        }\r\n        .tag4 {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 7px;\r\n            left: 0;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #2c51af;\r\n          }\r\n        }\r\n        .num {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 300;\r\n          font-size: 12px;\r\n          color: #7e878c;\r\n          line-height: 18px;\r\n          text-align: justify;\r\n          font-style: normal;\r\n          span {\r\n            color: #7d858a;\r\n          }\r\n        }\r\n      }\r\n      &.personal-card {\r\n        .title {\r\n          color: #7e878c;\r\n        }\r\n        .case-content {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 16px;\r\n          color: #FFFFFF;\r\n          line-height: 25px;\r\n          text-align: justify;\r\n          font-style: normal;\r\n        }\r\n      }\r\n    }\r\n    /deep/ .el-card {\r\n      border: none;\r\n    }\r\n    /deep/ .el-card__body {\r\n      padding: 0;\r\n    }\r\n  }\r\n  .nav {\r\n    padding-top: 27px;\r\n    padding-right: 25px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    img {\r\n      width: 33px;\r\n      height: 33px;\r\n      cursor: pointer;\r\n    }\r\n    .module {\r\n      width: 25px;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #ffffff;\r\n      line-height: 17px;\r\n      padding: 12px 6px;\r\n      // background: #6f7f7f;\r\n      border-radius: 13px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      margin-top: 20px;\r\n    }\r\n  }\r\n}\r\n.case-detail {\r\n  padding: 25px 0 40px 0;\r\n  flex: 1;\r\n}\r\n.show-swiper {\r\n  width: 350px;\r\n  height: calc(100% - 20px);\r\n  margin-left: 0\r\n  // position: absolute;\r\n  // left: 0%;\r\n}\r\n.swiper-wrapper {\r\n  margin-left: 105px;\r\n}\r\n/deep/ .swiper-slide {\r\n  width: 286px;\r\n  height: 193px;\r\n  margin-left: 110px;\r\n  /* // 表示所有属性都有动作效果，过度时间为0.4s，以慢速开始和结束的过渡效果 */\r\n  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n  &:hover {\r\n    transform: scale(1.1, 1.1);\r\n  }\r\n}\r\n/deep/.swiper-slide-active {\r\n  margin-left: 113px;\r\n}\r\n/deep/ .swiper-pagination {\r\n  left: 33px;\r\n  z-index: 5;\r\n  width: 11px;\r\n}\r\n/deep/ .swiper-pagination-bullet {\r\n  width: 4px;\r\n  height: 4px;\r\n  background-color: var(--pagination-active-color);\r\n  opacity: 0.5;\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  background-color: var(--pagination-active-color);\r\n  width: 11px;\r\n  height: 11px;\r\n  opacity: 1;\r\n}\r\n/deep/ .swiper-pagination-bullets {\r\n  right: 10px;\r\n}\r\n/deep/\r\n  .swiper-container-vertical\r\n  > .swiper-pagination-bullets\r\n  .swiper-pagination-bullet {\r\n  margin: 24px auto;\r\n}\r\n/deep/ .el-card {\r\n  border-radius: 16px;\r\n}\r\n.box-card.tip-wrapper.none-card {\r\n  /deep/ .el-card__body {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n  }\r\n}\r\n.think-arrow {\r\n  position: absolute;\r\n  right: 0;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  width: 30px;\r\n  height: 30px;\r\n}\r\n.thinkArrowActive {\r\n  -webkit-animation: thinkArrowActive 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: thinkArrowActive 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes thinkArrowActive {\r\n  0% {\r\n    transform: translateX(14px);\r\n  }\r\n  100% {\r\n    transform: translateX(77px);\r\n  }\r\n}\r\n@-webkit-keyframes thinkArrowActive {\r\n  0% {\r\n    transform: translateX(14px);\r\n  }\r\n  100% {\r\n    transform: translateX(77px);\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/CaseList.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-box big-view bg-white contentBlack-box\"},[(!_vm.loading && _vm.datas.length === 0)?_c('NoDataBlack'):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.datas && _vm.datas.length),expression:\"datas && datas.length\"}],staticClass:\"case-box\"},[_c('div',{staticClass:\"case-list blackCaseList\"},[_c('swiper',{key:_vm.swiperKey,ref:\"blackCaseListSwiper\",staticClass:\"show-swiper\",style:({'--pagination-active-color': _vm.paginationActiveColor}),attrs:{\"id\":\"blackCaseListSwiper\",\"options\":_vm.swiperOption}},[(_vm.datas && _vm.datas.length)?[_vm._l((_vm.datas),function(item,index){return _c('swiper-slide',{key:index,staticClass:\"swiper-slide-sub\"},[_c('el-card',{key:'class' + index,class:['box-card', item.course_case_isuseradd == 1 ? 'personal-card' :'']},[_c('div',{on:{\"click\":function($event){return _vm.toDetail(item, index)}}},[_c('div',{staticClass:\"card-title\"},[_c('div',{staticClass:\"title\",class:'title' + item.case_tag_type},[_vm._v(\"案例\"+_vm._s(index + 1))]),_vm._v(\" \"),(item.course_case_isuseradd == 1)?_c('div',{staticClass:\"personal-tag\"},[_vm._v(\"个人\")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"case-content ellipsis-content\"},[_c('span',{staticClass:\"quotes quotes1\"},[_vm._v(\"“\")]),_vm._v(\" \"),_c('span',{staticClass:\"quotes quotes2\"},[_vm._v(\"”\")]),_vm._v(_vm._s(item.course_case_content)+\"\\n                  \")]),_vm._v(\" \"),(_vm.selectData && _vm.selectData.course_case_id == item.course_case_id && _vm.blackActiveIndex + 1 == 1)?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_cultrue.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.selectData && _vm.selectData.course_case_id == item.course_case_id && _vm.blackActiveIndex + 1 == 2)?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_think.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.selectData && _vm.selectData.course_case_id == item.course_case_id && _vm.blackActiveIndex + 1 == 3)?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_behavior.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.selectData && _vm.selectData.course_case_id == item.course_case_id && _vm.blackActiveIndex + 1 == 4)?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/go_button_personality.svg\")}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"footer\"},[_c('span',{staticClass:\"tag\",class:'tag' + _vm.case_tag_type},[_vm._v(_vm._s(item.case_tag_title))]),_vm._v(\" \"),(item.course_case_isuseradd == 2)?_c('span',{staticClass:\"num\"},[_c('span',[_vm._v(\"阅读\\n                        \"),_c('span',[_vm._v(_vm._s(item.course_case_see_num))])])]):_vm._e()])])])],1)})]:_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.datas && _vm.datas.length),expression:\"datas && datas.length\"}],staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2),_vm._v(\" \"),_c('div',{staticClass:\"case-detail\"},[(_vm.selectData && _vm.selectData.course_case_id)?_c('Detail',{attrs:{\"course_case_id\":_vm.selectData.course_case_id,\"case_tag_type\":_vm.selectData.case_tag_type,\"course_case_isuseradd\":_vm.selectData.course_case_isuseradd},on:{\"closeDetail\":_vm.closeDetail,\"toWhiteTip\":_vm.toWhiteTip,\"addCaseReadNum\":_vm.addCaseReadNum}}):_vm._e()],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"nav\",style:({ paddingRight: _vm.$px2rem(37) })},[(!_vm.isFromIndex && _vm.case_tag_type == 1)?_c('div',{staticClass:\"case-tag-type case-tag-type-1\"},[_vm._v(\"\\n        文化\\n      \")]):_vm._e(),_vm._v(\" \"),(!_vm.isFromIndex && _vm.case_tag_type == 2)?_c('div',{staticClass:\"case-tag-type case-tag-type-2\"},[_vm._v(\"\\n        思维 • 观念\\n      \")]):_vm._e(),_vm._v(\" \"),(!_vm.isFromIndex && _vm.case_tag_type == 3)?_c('div',{staticClass:\"case-tag-type case-tag-type-3\"},[_vm._v(\"\\n        行为 • 习惯\\n      \")]):_vm._e(),_vm._v(\" \"),(!_vm.isFromIndex && _vm.case_tag_type == 4)?_c('div',{staticClass:\"case-tag-type case-tag-type-4\"},[_vm._v(\"\\n        性格 • 人格\\n      \")]):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex + 1 == 1)?_c('img',{staticClass:\"go_button\",attrs:{\"src\":require(\"@/assets/img/go_button_cultrue.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex + 1 == 2)?_c('img',{staticClass:\"go_button\",attrs:{\"src\":require(\"@/assets/img/go_button_think.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex + 1 == 3)?_c('img',{staticClass:\"go_button\",attrs:{\"src\":require(\"@/assets/img/go_button_behavior.svg\")},on:{\"click\":_vm.back}}):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex + 1 == 4)?_c('img',{staticClass:\"go_button\",attrs:{\"src\":require(\"@/assets/img/go_button_personality.svg\")},on:{\"click\":_vm.back}}):_vm._e()])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d7886bea\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/CaseList.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d7886bea\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CaseList.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CaseList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CaseList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d7886bea\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CaseList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-d7886bea\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/CaseList.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAQCAYAAADwMZRfAAAAAXNSR0IArs4c6QAAAg9JREFUOE+1k09oE1EYxGfWTWKKUOJNWkTFtiQrakECPYkiHkqFbGr0aDFpKNWbiIoKAQ9SxItKic22BC9iCq6hIIKlIoIHCVIP2ajgP0oRvJiih7Yh75NN3aoo1kN8x5nH783jm49owmETGPi/kKGpV21KSSeUalVgVZdlJxvf9elPyX9Jkp4qtahaywloSEJkM4CXJKpKsJGCLhAOwNGFWjg/eYR1D7gKSdrlKIECgDcgr2rt4Ydje1jzLg48erdeX1jqg6izoGhK9x2e6Ot86/oNSLJY7qbCDAWncnFjwtUyGdHmd1dOQ7AfxEzbbPhKJkPl6nM7nQskh0ShZ7w/8mEFYpefkJi0YsY17+WUXUkDchLgZUDOAbxhmeExzx+0nRGhbLNiRqIBSdlOlcJoLh5+/QPijAL4aJmRSynbuQjIJss0hj3/+N1Kj6apW1bM6FiBFB0LSoXaXxgJN7KrDd5zDojgDgAbgEniaC4WmXa9dKnkU3PB+4Q8z5k7zjQgw4Xyhpqf0wL5rK/TU9lDXfPfvxmlxr2i5PG4aTxztQG7skWHygOoBwP+3uu9HUur00kUngZb/aERgTqmQbvtJhAGZoO+evXL1+WQz4duAfpJJgRyU2uPnPem91tjk8XydghTFDkIIAIgAHIRIg6IB7pouawZfv9z6dasvduP/L6ti3/bsTUh/7KgTYF8A/DSyhEpkML+AAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/show_pwd.png\n// module id = sHIE\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjM5cHgiIGhlaWdodD0iMzlweCIgdmlld0JveD0iMCAwIDM5IDM5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgNjwvdGl0bGU+DQogICAgPGRlZnM+DQogICAgICAgIDxjaXJjbGUgaWQ9InBhdGgtMSIgY3g9IjEzIiBjeT0iMTMiIHI9IjEzIj48L2NpcmNsZT4NCiAgICAgICAgPGZpbHRlciB4PSItMzAuOCUiIHk9Ii0zMC44JSIgd2lkdGg9IjE3Ni45JSIgaGVpZ2h0PSIxNzYuOSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4NCiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMiIgZHk9IjIiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+DQogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG16buRbWluaVYy5oCd57u0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjM0LjAwMDAwMCwgLTM2NC4wMDAwMDApIj4NCiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjM0LjAwMDAwMCwgMzY0LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4wMDAwMDAsIDUuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxnIGlkPSLmpK3lnIblvaIiIG9wYWNpdHk9IjAuMDEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4NCiAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlN0cm9rZS0xIiBzdHJva2U9IiM2NEFGRDUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi44OTY1NTIsIDEzLjAwMDAwMCkgc2NhbGUoLTEsIDEpIHJvdGF0ZSgtOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTEyLjg5NjU1MiwgLTEzLjAwMDAwMCkgIiBwb2ludHM9IjE5LjYyMDY4OTcgOS44NjIwNjg5NyAxMi44OTYyNDQ5IDE2LjEzNzkzMSA2LjE3MjQxMzc5IDkuODYyMDY4OTciPjwvcG9seWxpbmU+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiI+PC9yZWN0Pg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/think_arrow_black.svg\n// module id = sQdQ\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQuNDQ2IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQuNDQ2IDI0Ij4NCiAgPGRlZnM+DQogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPg0KICAgICAgPHBhdGggaWQ9Iui3r+W+hF8yIiBkYXRhLW5hbWU9Iui3r+W+hCAyIiBkPSJNLTE5OC4xMzQtNjMuMDE4Yy4xMzcuMDQyLjI3MS4wODUuNC4xMjdhLjc2Ljc2LDAsMCwwLC4yMzguMDM5LjguOCwwLDAsMCwuMjQyLS4wMzlsLjA1Ny0uMDE4LjE1NC4yMjJhLjc1Mi43NTIsMCwwLDAtLjQ0Ni0uMTQ3aC0uMDI1YS43NjIuNzYyLDAsMCwwLS40MTQuMTM4bC4wNTItLjA3Mi0uMTkxLS4xOTNBLjYyMi42MjIsMCwwLDAtMTk4LjEzNC02My4wMThaIiBmaWxsPSJub25lIi8+DQogICAgPC9jbGlwUGF0aD4NCiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0yIj4NCiAgICAgIDxwYXRoIGlkPSLot6/lvoRfNCIgZGF0YS1uYW1lPSLot6/lvoQgNCIgZD0iTS0xOTguNjcxLTYzLjQ1NmExLjIxOCwxLjIxOCwwLDAsMSwuMzI2LjA0NWMuMjM4LjA2NS40NzQuMTQuNzA5LjIxN2EuNDMxLjQzMSwwLDAsMCwuMTM5LjAyMy40ODYuNDg2LDAsMCwwLC4xNDctLjAyNCw4LjMxOSw4LjMxOSwwLDAsMSwuOC0uMjMyLDEuMjA2LDEuMjA2LDAsMCwxLC4yNTUtLjAyOCwxLjE2NiwxLjE2NiwwLDAsMSwuOTEuNDY5LDEuMTI3LDEuMTI3LDAsMCwxLC4yNjEuNzQ0djMuMDM2YzAsLjExOC0uMDIzLjEyMS0uMTc2LjEyMmgtLjIxN2MtLjE3MiwwLS4xNzgtLjAwOC0uMTgtLjE4N3YtMi43NTVjMC0uMDkyLS4wMTEtLjE4NS0uMDE3LS4yNzdhLjYzMS42MzEsMCwwLDAtLjYyNS0uNTY0LjQ4NS40ODUsMCwwLDAtLjE3My4wM2wtLjIuMDY5YTEuMTA5LDEuMTA5LDAsMCwxLC4yMjMuOTU3LDEuMDMyLDEuMDMyLDAsMCwxLS4zNzYuNTcxLDEuMDI2LDEuMDI2LDAsMCwxLS42MjcuMjExLDEuMDM5LDEuMDM5LDAsMCwxLS42NzYtLjI0NywxLjAyMSwxLjAyMSwwLDAsMS0uMzYtLjcxMywxLjA4MSwxLjA4MSwwLDAsMSwuMjM0LS43NDYuNTQuNTQsMCwwLDAtLjM1OS0uMTMyLjQ0My40NDMsMCwwLDAtLjA3NC4wMDYuNjI2LjYyNiwwLDAsMC0uNTUxLjY0M3EwLDEuNDQ2LDAsMi44OTRjMCwuMDQxLDAsLjA4MiwwLC4xMjMsMCwuMDc1LS4wMjcuMTE3LS4xMDYuMTE3aC0uMzg5YS4wODUuMDg1LDAsMCwxLS4xLS4xYzAtLjAzMSwwLS4wNjIsMC0uMDkzcTAtMS40NTUsMC0yLjkwOWExLjIxNCwxLjIxNCwwLDAsMSwuNDUyLS45OTJBMS4xNjQsMS4xNjQsMCwwLDEtMTk4LjY3MS02My40NTZabTEuMTgxLjk0MWgtLjAxNWEuNDU1LjQ1NSwwLDAsMC0uNDM5LjQ0OS40NDcuNDQ3LDAsMCwwLC40NTIuNDQ2LjQzNi40MzYsMCwwLDAsLjQ0Mi0uNDUzQS40NDMuNDQzLDAsMCwwLTE5Ny40OS02Mi41MTVaIiBmaWxsPSJub25lIi8+DQogICAgPC9jbGlwUGF0aD4NCiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC0zIj4NCiAgICAgIDxwYXRoIGlkPSLot6/lvoRfNiIgZGF0YS1uYW1lPSLot6/lvoQgNiIgZD0iTS0xOTMuMjQ3LTYxLjY1M2ExLjIwNywxLjIwNywwLDAsMCwuMzYyLjU3N2wtLjM2My0uMTU5WiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvY2xpcFBhdGg+DQogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtNCI+DQogICAgICA8cGF0aCBpZD0i6Lev5b6EXzgiIGRhdGEtbmFtZT0i6Lev5b6EIDgiIGQ9Ik0tMTkyLjA4Ni02My40NjVhMS40NSwxLjQ1LDAsMCwxLDEuNDU0LDEuMiwxLjQ2NiwxLjQ2NiwwLDAsMS0xLjE5NCwxLjc0MSwxLjQ3OCwxLjQ3OCwwLDAsMS0uMjU0LjAyMiwxLjU0LDEuNTQsMCwwLDEtLjczMS0uMTkyYy0uMDQzLS4wMjItLjA4OS0uMDM5LS4xNjMtLjA3MnYxLjUyNmMwLC4xNjIsMCwuMTY1LS4xNjQuMTY2aC0uMjQybC0uMDY4LDBjLS4xLDAtLjExMi0uMDE2LS4xMTctLjEyLDAtLjAyNSwwLS4wNTEsMC0uMDc3Vi02MC42bDAtMS4zMjNhMS41LDEuNSwwLDAsMSwuNTE2LTEuMTgsMS40LDEuNCwwLDAsMSwuOTM0LS4zNjdabS0uMDA3LjU5MmgtLjAwOGEuODkxLjg5MSwwLDAsMC0uODcyLjkuODkuODksMCwwLDAsLjg4Ljg4NWguMDA5YS44NzguODc4LDAsMCwwLC45LS44OTRBLjg3Ny44NzcsMCwwLDAtMTkyLjA5My02Mi44NzNaIiBmaWxsPSJub25lIi8+DQogICAgPC9jbGlwUGF0aD4NCiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC01Ij4NCiAgICAgIDxyZWN0IGlkPSLnn6nlvaJfNSIgZGF0YS1uYW1lPSLnn6nlvaIgNSIgd2lkdGg9IjAuNTkyIiBoZWlnaHQ9IjQuMjgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTg5LjEyNiAtNjMuNDEpIiBmaWxsPSJub25lIi8+DQogICAgPC9jbGlwUGF0aD4NCiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC02Ij4NCiAgICAgIDxwYXRoIGlkPSLot6/lvoRfMTAiIGRhdGEtbmFtZT0i6Lev5b6EIDEwIiBkPSJNLTE4OC42MzMtNjMuNDFjLjA3MiwwLC4xLjAzOC4xLjEwNywwLC4wMzYsMCwuMDcyLDAsLjEwOHYzLjg1YzAsLjA0MSwwLC4wODIsMCwuMTIzcy0uMDIzLjA5MS0uMDgxLjA5MmMtLjE0NCwwLS4yODksMC0uNDMzLDBhLjA3NC4wNzQsMCwwLDEtLjA3NS0uMDgxbDAtLjA1NHYtNC4wNDNjMC0uMDcyLjAzNS0uMS4xLS4xWiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvY2xpcFBhdGg+DQogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOCI+DQogICAgICA8cGF0aCBpZD0i6Lev5b6EXzEyIiBkYXRhLW5hbWU9Iui3r+W+hCAxMiIgZD0iTS0xODguOTExLTYzLjQxaC4yNzhjLjA3MywwLC4xLjAzOS4xLjEwNywwLC4wMzYsMCwuMDcyLDAsLjEwOHYzLjg1YzAsLjA0MSwwLC4wODIsMCwuMTIzcy0uMDIzLjA5MS0uMDgxLjA5MmgtLjE3OGwtLjI1NSwwYS4wNzQuMDc0LDAsMCwxLS4wNzUtLjA4MWMwLS4wMzYsMC0uMDcyLDAtLjEwOHYtMy45ODljMC0uMDcxLjAzNS0uMS4xLS4xWiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvY2xpcFBhdGg+DQogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOSI+DQogICAgICA8cGF0aCBpZD0i6Lev5b6EXzE0IiBkYXRhLW5hbWU9Iui3r+W+hCAxNCIgZD0iTS0yMDIuODI0LTYxLjM0YS43OTEuNzkxLDAsMCwxLC43NzIuNjI5LjY3OC42NzgsMCwwLDEsLjAxNi4xNDV2My44MTVsMy45ODEtMS4wNjhhLjc3NC43NzQsMCwwLDEsLjIwNi0uMDI4Ljc5Ljc5LDAsMCwxLC43ODcuNzl2MTMuOGExLjM2MSwxLjM2MSwwLDAsMS0xLDEuMzEzbC04Ljk0NiwyLjQ1MmEuOC44LDAsMCwxLS4yMS4wMjguNzkuNzksMCwwLDEtLjc4OC0uNzg5di0zLjgyM2wtMy45NzYsMS4wOTFhLjgwOS44MDksMCwwLDEtLjIxLjAyOC43OS43OSwwLDAsMS0uNzg4LS43ODlWLTU3LjZhMS4zNiwxLjM2LDAsMCwxLDEuMDA4LTEuMzE0bDguOTQyLTIuNEEuODI3LjgyNywwLDAsMS0yMDIuODI0LTYxLjM0Wm00Ljk3NSw0LjA5Mi0uMDI1LDAtLjAyNiwwLTguOTQyLDIuNGEuNzY0Ljc2NCwwLDAsMC0uNTY1LjczNnYxMy44NTFhLjE5LjE5LDAsMCwwLC4xODkuMTkxLjE5NC4xOTQsMCwwLDAsLjA1Mi0uMDA4bDguOTQ1LTIuNDUyYS43NjMuNzYzLDAsMCwwLC41NjEtLjczNXYtMTMuOEEuMTkuMTksMCwwLDAtMTk3Ljg0OS01Ny4yNDhabS00LjgtMy4zMjYtMy44NDgsNS4wMTksMy44NTgtMS4wMzV2LTMuOTgxWiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvY2xpcFBhdGg+DQogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMTAiPg0KICAgICAgPHBhdGggaWQ9Iui3r+W+hF8xNiIgZGF0YS1uYW1lPSLot6/lvoQgMTYiIGQ9Ik0tMTk5LjA1MS00OS4yMTJhLjMuMywwLDAsMSwuMy4zLjMuMywwLDAsMS0uMy4zaC02Ljk2NWEuMy4zLDAsMCwxLS4zLS4zLjMuMywwLDAsMSwuMy0uM1oiIGZpbGw9Im5vbmUiLz4NCiAgICA8L2NsaXBQYXRoPg0KICA8L2RlZnM+DQogIDxnIGlkPSLnu4RfNDAiIGRhdGEtbmFtZT0i57uEIDQwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTIuOTggNjMuNDY2KSI+DQogICAgPGcgaWQ9Iue7hF8zMSIgZGF0YS1uYW1lPSLnu4QgMzEiPg0KICAgICAgPGcgaWQ9Iue7hF80IiBkYXRhLW5hbWU9Iue7hCA0Ij4NCiAgICAgICAgPGcgaWQ9Iue7hF8zIiBkYXRhLW5hbWU9Iue7hCAzIj4NCiAgICAgICAgICA8ZyBpZD0i57uEXzIiIGRhdGEtbmFtZT0i57uEIDIiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4NCiAgICAgICAgICAgIDxnIGlkPSLnu4RfMSIgZGF0YS1uYW1lPSLnu4QgMSI+DQogICAgICAgICAgICAgIDxwYXRoIGlkPSLot6/lvoRfMSIgZGF0YS1uYW1lPSLot6/lvoQgMSIgZD0iTS0xOTguMTM0LTYzLjAxOGgxLjA5MXYuMzMxaC0xLjA5MVoiIGZpbGw9IiM3MGFlYmEiLz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICAgIDwvZz4NCiAgICAgIDxnIGlkPSLnu4RfOCIgZGF0YS1uYW1lPSLnu4QgOCI+DQogICAgICAgIDxnIGlkPSLnu4RfNyIgZGF0YS1uYW1lPSLnu4QgNyI+DQogICAgICAgICAgPGcgaWQ9Iue7hF82IiBkYXRhLW5hbWU9Iue7hCA2IiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoLTIpIj4NCiAgICAgICAgICAgIDxnIGlkPSLnu4RfNSIgZGF0YS1uYW1lPSLnu4QgNSI+DQogICAgICAgICAgICAgIDxwYXRoIGlkPSLot6/lvoRfMyIgZGF0YS1uYW1lPSLot6/lvoQgMyIgZD0iTS0xOTkuODcxLTYzLjQ1Nmg0Ljc0OHY0LjM3M2gtNC43NDhaIiBmaWxsPSIjNjRhZmQ1Ii8+DQogICAgICAgICAgICA8L2c+DQogICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0i57uEXzEyIiBkYXRhLW5hbWU9Iue7hCAxMiI+DQogICAgICAgIDxnIGlkPSLnu4RfMTEiIGRhdGEtbmFtZT0i57uEIDExIj4NCiAgICAgICAgICA8ZyBpZD0i57uEXzEwIiBkYXRhLW5hbWU9Iue7hCAxMCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aC0zKSI+DQogICAgICAgICAgICA8ZyBpZD0i57uEXzkiIGRhdGEtbmFtZT0i57uEIDkiPg0KICAgICAgICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzUiIGRhdGEtbmFtZT0i6Lev5b6EIDUiIGQ9Ik0tMTkzLjI0OC02MS42NTNoLjM2MnYuNTc3aC0uMzYyWiIgZmlsbD0iIzY0YWZkNSIvPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgICAgPC9nPg0KICAgICAgPGcgaWQ9Iue7hF8xNiIgZGF0YS1uYW1lPSLnu4QgMTYiPg0KICAgICAgICA8ZyBpZD0i57uEXzE1IiBkYXRhLW5hbWU9Iue7hCAxNSI+DQogICAgICAgICAgPGcgaWQ9Iue7hF8xNCIgZGF0YS1uYW1lPSLnu4QgMTQiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtNCkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue7hF8xMyIgZGF0YS1uYW1lPSLnu4QgMTMiPg0KICAgICAgICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzciIGRhdGEtbmFtZT0i6Lev5b6EIDciIGQ9Ik0tMTkzLjU2Ny02My40NjZoMi45NjN2NC4zOTJoLTIuOTYzWiIgZmlsbD0iIzY0YWZkNSIvPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgICAgPC9nPg0KICAgICAgPGcgaWQ9Iue7hF8yMyIgZGF0YS1uYW1lPSLnu4QgMjMiPg0KICAgICAgICA8ZyBpZD0i57uEXzIyIiBkYXRhLW5hbWU9Iue7hCAyMiI+DQogICAgICAgICAgPGcgaWQ9Iue7hF8yMSIgZGF0YS1uYW1lPSLnu4QgMjEiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtNSkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue7hF8yMCIgZGF0YS1uYW1lPSLnu4QgMjAiPg0KICAgICAgICAgICAgICA8ZyBpZD0i57uEXzE5IiBkYXRhLW5hbWU9Iue7hCAxOSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue7hF8xOCIgZGF0YS1uYW1lPSLnu4QgMTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtNikiPg0KICAgICAgICAgICAgICAgICAgPGcgaWQ9Iue7hF8xNyIgZGF0YS1uYW1lPSLnu4QgMTciPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzkiIGRhdGEtbmFtZT0i6Lev5b6EIDkiIGQ9Ik0tMTg5LjEyNi02My40MWguNTkydjQuMjgxaC0uNTkyWiIgZmlsbD0iIzcwYWViYSIvPg0KICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgICAgPC9nPg0KICAgICAgPGcgaWQ9Iue7hF8zMCIgZGF0YS1uYW1lPSLnu4QgMzAiPg0KICAgICAgICA8ZyBpZD0i57uEXzI5IiBkYXRhLW5hbWU9Iue7hCAyOSI+DQogICAgICAgICAgPGcgaWQ9Iue7hF8yOCIgZGF0YS1uYW1lPSLnu4QgMjgiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtNSkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue7hF8yNyIgZGF0YS1uYW1lPSLnu4QgMjciPg0KICAgICAgICAgICAgICA8ZyBpZD0i57uEXzI2IiBkYXRhLW5hbWU9Iue7hCAyNiI+DQogICAgICAgICAgICAgICAgPGcgaWQ9Iue7hF8yNSIgZGF0YS1uYW1lPSLnu4QgMjUiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtOCkiPg0KICAgICAgICAgICAgICAgICAgPGcgaWQ9Iue7hF8yNCIgZGF0YS1uYW1lPSLnu4QgMjQiPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzExIiBkYXRhLW5hbWU9Iui3r+W+hCAxMSIgZD0iTS0xODkuMTI2LTYzLjQxaC41OTJ2NC4yODFoLS41OTJaIiBmaWxsPSIjNjRhZmQ1Ii8+DQogICAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICA8L2c+DQogICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSLnu4RfMzkiIGRhdGEtbmFtZT0i57uEIDM5Ij4NCiAgICAgIDxnIGlkPSLnu4RfMzQiIGRhdGEtbmFtZT0i57uEIDM0Ij4NCiAgICAgICAgPGcgaWQ9Iue7hF8zMyIgZGF0YS1uYW1lPSLnu4QgMzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtOSkiPg0KICAgICAgICAgIDxnIGlkPSLnu4RfMzIiIGRhdGEtbmFtZT0i57uEIDMyIj4NCiAgICAgICAgICAgIDxwYXRoIGlkPSLot6/lvoRfMTMiIGRhdGEtbmFtZT0i6Lev5b6EIDEzIiBkPSJNLTIxMi45OC02MS4zNGgxNS45MTh2MjEuODc0SC0yMTIuOThaIiBmaWxsPSIjNjRhZmQ1Ii8+DQogICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0i57uEXzM4IiBkYXRhLW5hbWU9Iue7hCAzOCI+DQogICAgICAgIDxnIGlkPSLnu4RfMzciIGRhdGEtbmFtZT0i57uEIDM3Ij4NCiAgICAgICAgICA8ZyBpZD0i57uEXzM2IiBkYXRhLW5hbWU9Iue7hCAzNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aC0xMCkiPg0KICAgICAgICAgICAgPGcgaWQ9Iue7hF8zNSIgZGF0YS1uYW1lPSLnu4QgMzUiPg0KICAgICAgICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzE1IiBkYXRhLW5hbWU9Iui3r+W+hCAxNSIgZD0iTS0yMDYuMzE1LTQ5LjIxMmg3LjU2M3YuNmgtNy41NjNaIiBmaWxsPSIjNjRhZmQ1Ii8+DQogICAgICAgICAgICA8L2c+DQogICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgICA8L2c+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-logo.svg\n// module id = sS8v\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjI4cHgiIGhlaWdodD0iMjJweCIgdmlld0JveD0iMCAwIDI4LjAgMjIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCwxMjYyIEwwLDEyNjIgTDAsMCBMMTAyNCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iaTEiIHgxPSIyLjY5NzgzOTQ1cHgiIHkxPSIyLjA4NjQyMDc4cHgiIHgyPSIxMC41ODgwMDc5cHgiIHkyPSIxNy4yNTI5MzI0cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThBIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImkyIiB4MT0iNC4yNjE1MjYwNXB4IiB5MT0iMi4wODY0ODY1N3B4IiB4Mj0iMTYuNzI0ODkxMnB4IiB5Mj0iMTcuMjUzNDc2NHB4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUU4QSIgb2Zmc2V0PSIwJSI+PC9zdG9wPjxzdG9wIHN0b3AtY29sb3I9IiNGRDc0NkEiIG9mZnNldD0iMTAwJSI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03OTIuMCAtODExLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MDcuMCA3NzkuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDg2LjAgMzMuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjMzMjEyNDMyODU0MjY5NyAxLjM4MDI4ODIyMzAxNTY2ODMpIj48cGF0aCBkPSJNMCwxNi40NTk2NTM4IEMxLjYzNTk2NzEzLDE3Ljc4MzYzNiAyLjg3MjY0MTI5LDE4LjYxOTcxMTggMi44NzI2NDEyOSwxOC42MTk3MTE4IEMyLjg3MjY0MTI5LDE4LjYxOTcxMTggMTMuNjY3ODc1NywxMS4zMTc1NTMyIDEzLjY2Nzg3NTcsNS43MjE1OTk3IEMxMy42Njc4NzU3LDIuNTYxNjU2MTggMTEuMDYzODE3MSwwIDcuODUwOTcxMDMsMCIgc3Ryb2tlPSJ1cmwoI2kxKSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PHBhdGggZD0iTTIxLjU4OTg3MTksNS43MjE1OTk3IEMyMS41ODk4NzE5LDIuNTYxNjU2MTggMTguOTg1ODEzMywwIDE1Ljc3MzU2NDEsMCBDMTMuNjYyNTA0LDAgMTEuODE0MDU4MSwxLjEwNjE1NjM3IDEwLjc5NDYzNzUsMi43NjE4NjgxNCBDOS43NzU4MTM3OCwxLjEwNjE1NjM3IDcuOTI3MzY3ODksMCA1LjgxNjMwNzc5LDAgQzIuNjA0MDU4NTgsMCAwLDIuNTYxNjU2MTggMCw1LjcyMTU5OTcgQzAsMTEuMzE3NTUzMiAxMC43OTQ2Mzc1LDE4LjYyMDI5ODkgMTAuNzk0NjM3NSwxOC42MjAyOTg5IEMxMC43OTQ2Mzc1LDE4LjYyMDI5ODkgMjEuNTg5ODcxOSwxMS4zMTc1NTMyIDIxLjU4OTg3MTksNS43MjE1OTk3IFoiIHN0cm9rZT0idXJsKCNpMikiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/square.svg\n// module id = sU2i\n// module chunks = 171","<template>\n  <div class=\"content-wrap\">\n    <div v-if=\"\n        courseBase.course_intro_isedit == 2 &&\n          app_type == 2 &&\n          courseBase.course_isuseradd == 2 &&\n          courseBase &&\n          (courseBase.course_intro_short || audios.length || videos.length)\"\n      class=\"\n      prewrap-content\n      fayi\n      ellipsis-content\"\n      v-html=\"courseBase.course_intro_short\"></div>\n    <div class=\"content1\"\n      :class=\"[contentClass]\"\n      v-if=\"\n        !(\n          app_type == 2 &&\n          courseBase.course_isuseradd == 2 &&\n          courseBase.course_intro_isedit == 2\n        ) &&\n          courseBase &&\n          courseBase.course_intro\n      \">\n      <div class=\"content prewrap-content ql-editor\"\n        id=\"contentStudyLog\"\n        v-html=\"courseBase.course_intro\"></div>\n    </div>\n    <!-- <CultrueContentDrawer v-if=\"\n        courseBase.course_intro_isedit == 2 &&\n          app_type == 2 &&\n          courseBase.course_isuseradd == 2 &&\n          courseBase &&\n          (courseBase.course_intro || audios.length || videos.length)\n      \"\n      :drawer=\"false\"\n      :course_id=\"course_id\"\n      :courseBase=\"courseBase\"\n      :courseContentGuideStatus=\"1\"\n      :videoLen=\"0\"\n      :audioLen=\"0\"\n      :fullscreen=\"false\"\n      @setShowFayi=\"setShowFayi\" /> -->\n  </div>\n</template>\n\n<script>\nimport CultrueContentDrawer from \"../CultrueContentDrawer.vue\";\nimport {\n  getCourseBase,\n  getCourseAudioList,\n  getCourseVedioList,\n} from \"@/api/index\";\nexport default {\n  components: { CultrueContentDrawer },\n  props: {\n    course_id: {\n      type: Number,\n      default: 0\n    },\n    course_isuseradd: {\n      type: String,\n      default: \"\",\n    },\n  },\n  data() {\n    return {\n      app_type: 1,\n      showFayi: true,\n      audioLen: 0,\n      videoLen: 0,\n      contentClass: \"\",\n      courseBase: {},\n    };\n  },\n  computed: {\n    canAccessYouTube() {\n      return this.$store.getters.canAccessYouTube;\n    },\n    initedCanAccessYouTube() {\n      return this.$store.getters.initedCanAccessYouTube;\n    }\n  },\n  watch: {\n    initedCanAccessYouTube: {\n      deep: true,\n      handler: function (newVal, oldVal) {\n        if(newVal && !oldVal) {\n          this.getCourseBase();\n          if (this.app_type == 2 && this.course_id) {\n            this.getCourseVedioList();\n          }\n        }\n      },\n      immediate: true\n    },\n  },\n  methods: {\n    setShowFayi(showFayi) {\n      this.showFayi = showFayi;\n    },\n    async getCourseBase() {\n      try {\n        if(this.course_id) {\n          let canAccessYouTube = 1;\n          if(this.canAccessYouTube) {\n            canAccessYouTube = 1;\n          } else {\n            canAccessYouTube = 2;\n          }\n          const course = await getCourseBase({\n            course_id: this.course_id,\n            course_isuseradd: this.course_isuseradd,\n            course_tongbu: 2,\n            network_type: canAccessYouTube\n          })\n          if (course && course.code === 0) {\n            this.courseBase = course.data[0];\n            //   this.contentScroll();\n          }\n        }\n      } catch (error) {\n        console.log(error);\n      }\n    },\n    getCourseAudioList() {\n      getCourseAudioList({\n        course_id: this.course_id,\n        course_isuseradd: this.course_isuseradd,\n      }).then((res) => {\n        if (res && res.code == 0) {\n          this.audios = res.data;\n          this.audioLen = this.audios.length;\n        }\n      });\n    },\n    async getCourseVedioList() {\n      try {\n        let canAccessYouTube = 1;\n        if(this.canAccessYouTube) {\n          canAccessYouTube = 1;\n        } else {\n          canAccessYouTube = 2;\n        }\n        const res = await getCourseVedioList({\n          course_id: this.course_id,\n          course_isuseradd: this.course_isuseradd,\n          network_type: canAccessYouTube\n        });\n        if (res && res.code == 0) {\n          this.videos = res.data;\n          // if(this.canAccessYouTube) {\n          //   this.videos = res.data.filter((item) => item.course_video_url != '');\n          // } else {\n          //   this.videos = res.data.filter((item) => item.course_video_url_oss != '');\n          // }\n          this.videoLen = this.videos.length;\n        }\n      } catch (error) {\n\n      }\n    },\n    contentScroll() {\n      console.log(\"contentScroll\");\n      this.$nextTick(() => {\n        const content = document.getElementById(\"contentStudyLog\");\n        console.log(\"content:\", content);\n        if (content) {\n          content.addEventListener(\"wheel\", (e) => {\n            console.log(content.scrollTop);\n            const isDown = e.deltaY > 0; // 滚轮向下\n            const scrollTop = content.scrollTop;\n            if (isDown && scrollTop <= 200) {\n              this.contentClass = \"contentDown\";\n              let timeout = setTimeout(() => {\n                clearTimeout(timeout);\n                this.showFayi = false;\n              }, 200);\n            } else if (!isDown && scrollTop <= 200) {\n              this.contentClass = \"contentUp\";\n              let timeout = setTimeout(() => {\n                clearTimeout(timeout);\n                this.showFayi = true;\n              }, 300);\n            }\n          });\n        }\n        this.contentClass = \"\";\n        let timeout = setTimeout(() => {\n          clearTimeout(timeout);\n          this.showFayi = true;\n        }, 300);\n      });\n    },\n  },\n  mounted() {\n    const app_type = localStorage.getItem(\"app_type\");\n    if (app_type) {\n      this.app_type = app_type;\n    }\n    console.log(\"getCourseBase\")\n    this.getCourseBase();\n    if (app_type == 2 && this.course_id) {\n      this.getCourseAudioList();\n      this.getCourseVedioList();\n    }\n  },\n};\n</script>\n\n<style scoped lang=\"less\">\n.content-wrap {\n  position: relative;\n  height: 100%;\n}\n.content1 {\n  position: absolute;\n  height: 100%;\n  padding-left: 24px;\n  left: 0;\n  top: 10px;\n  width: 100%;\n  background: rgba(250, 250, 250, 0.3);\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);\n  border-radius: 16px 16px 0 0;\n  & > .content {\n    margin-top: 20px;\n  }\n  .ql-editor {\n    height: calc(100% - 40px);\n    margin-bottom: 20px;\n  }\n}\n.fayi {\n  padding: 0 25px;\n  font-size: 12px;\n  line-height: 22px;\n  // max-height: 90px;\n  // -webkit-line-clamp: 4;\n}\n.content {\n  font-size: 14px;\n  font-family: SourceHanSansCN, SourceHanSansCN;\n  font-weight: 400;\n  color: #7e878c;\n  height: calc(100% - 120px);\n  overflow-y: auto;\n  white-space: pre-wrap;\n  width: 100%;\n  text-align: justify;\n}\n.contentDown {\n  -webkit-animation: contentDownAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\n  animation: contentDownAni 0.5s ease-in-out;\n  animation-fill-mode: forwards;\n}\n@-webkit-keyframes contentDownAni {\n  0% {\n    height: calc(100% - 97px);\n    top: 97px;\n  }\n  100% {\n    height: calc(100% - 105px);\n    top: 105px;\n  }\n}\n.contentUp {\n  -webkit-animation: contentUpAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\n  animation: contentUpAni 0.5s ease-in-out;\n  animation-fill-mode: forwards;\n}\n@-webkit-keyframes contentUpAni {\n  0% {\n    height: calc(100% - 105px);\n    top: 105px;\n  }\n  100% {\n    height: calc(100% - 97px);\n    top: 97px;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/studyLog/CultureContent.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-wrap\"},[(\n      _vm.courseBase.course_intro_isedit == 2 &&\n        _vm.app_type == 2 &&\n        _vm.courseBase.course_isuseradd == 2 &&\n        _vm.courseBase &&\n        (_vm.courseBase.course_intro_short || _vm.audios.length || _vm.videos.length))?_c('div',{staticClass:\"prewrap-content fayi ellipsis-content\",domProps:{\"innerHTML\":_vm._s(_vm.courseBase.course_intro_short)}}):_vm._e(),_vm._v(\" \"),(\n      !(\n        _vm.app_type == 2 &&\n        _vm.courseBase.course_isuseradd == 2 &&\n        _vm.courseBase.course_intro_isedit == 2\n      ) &&\n        _vm.courseBase &&\n        _vm.courseBase.course_intro\n    )?_c('div',{staticClass:\"content1\",class:[_vm.contentClass]},[_c('div',{staticClass:\"content prewrap-content ql-editor\",attrs:{\"id\":\"contentStudyLog\"},domProps:{\"innerHTML\":_vm._s(_vm.courseBase.course_intro)}})]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-226c9ce2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/studyLog/CultureContent.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-226c9ce2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultureContent.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultureContent.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultureContent.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-226c9ce2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultureContent.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-226c9ce2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/studyLog/CultureContent.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"content-box-detail\"\r\n    @scroll=\"handleScroll\">\r\n    <div class=\"detail\">\r\n      <div class=\"row\">\r\n        <Box v-show=\"studyLogGuideMode === 1\"\r\n          :title=\"app_type == 2 ? '课程内容' : '内容'\"\r\n          :width=\"'45%'\"\r\n          :height=\"$px2rem(190)\"\r\n          :padding=\"$px2rem(18)\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[0] + 's',\r\n            opacity: 0\r\n          }\"\r\n          class=\"boxAni\">\r\n          <!-- <div v-if=\"data.progress_fayi_read_num_show == 1\"\r\n            class=\"studyTime\">\r\n            <div class=\"studyTime-title\">修学时长</div>\r\n            <div class=\"studyTime-content\">\r\n              共计\r\n              <span class=\"studyTime-num\">{{ data.progress_fayi_read_num_set }}</span>\r\n              <span v-if=\"data.progress_fayi_read_num < 60\">秒</span>\r\n              <span v-else-if=\"\r\n                  data.progress_fayi_read_num >= 6\r\n                \">分钟</span>\r\n            </div>\r\n          </div> -->\r\n          <!-- 官方课程 -->\r\n          <div class=\"course_intro\" v-if=\"data.progress_fayi_read_num_show == 1\">\r\n            {{ data.progress_fayi_read_num > 0 ? \"已完成\" : \"未完成\" }}\r\n          </div>\r\n          <!-- 自定义课程、示例课程 -->\r\n          <div v-else\r\n            class=\"course_intro\">\r\n            {{ data.course_intro ? \"已完成\" : \"未完成\" }}\r\n          </div>\r\n        </Box>\r\n        <Box v-if=\"studyLogGuideMode === 0\"\r\n          :title=\"app_type == 2 ? '课程内容' : '内容'\"\r\n          :width=\"'45%'\"\r\n          :height=\"$px2rem(190)\"\r\n          :padding=\"$px2rem(18)\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[0] + 's',\r\n            opacity: 0\r\n          }\"\r\n          class=\"boxAni\">\r\n          <div class=\"course_intro\" >\r\n            已完成\r\n          </div>\r\n        </Box>\r\n        <Box v-show=\"studyLogGuideMode === 1\"\r\n          :width=\"'45%'\"\r\n          :height=\"$px2rem(190)\"\r\n          :padding=\"$px2rem(0)\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[1] + 's',\r\n            opacity: 0,\r\n            flex: 1,\r\n            marginLeft: $px2rem(22)\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            <div class=\"guannian-header mindmap\">\r\n              <div class=\"mindmap-title header\">思维导图</div>\r\n              <div class=\"btn-group\">\r\n                <el-button type=\"primary\" @click=\"toMindMap\">查看导图</el-button>\r\n              </div>\r\n            </div>\r\n          </template>\r\n          <div class=\"mindmap-content\">\r\n            <div class=\"mindmap-image-wrapper\">\r\n              <div class=\"done\"\r\n                v-if=\"data && data.mindmap && data.mindmap.length > 0\">\r\n                <img src=\"@/assets/img/guide_done.svg\" />\r\n                <img src=\"@/assets/img/guide_done_gou.svg\"\r\n                  class=\"gou\" />\r\n                <img src=\"@/assets/img/guide_done_gou.svg\"\r\n                  class=\"gou\" />\r\n              </div>\r\n\r\n              <img class=\"guide\"\r\n                src=\"@/assets/img/guide.png\"\r\n                v-else />\r\n            </div>\r\n\r\n            <div class=\"mindmap-image\"\r\n              id=\"mindmap-studyLog-detail\">\r\n              <MyMindOutline :myMindOutlineId=\"'studyLogDetailMindmap'\" v-if=\"\r\n                  data &&\r\n                    data.mindmap &&\r\n                    data.mindmap[0] &&\r\n                    data.mindmap[0].mindmap_content\r\n                \"\r\n                :dataPro=\"{\r\n                  mindmap_content: data.mindmap[0].mindmap_content\r\n                }\"\r\n                :course_id=\"data.course_id\"\r\n                :courseIsuseradd=\"parseInt(data.course_isuseradd, 10)\"\r\n                :readonly=\"true\"\r\n                />\r\n              <div class=\"mindmap_pdf\"\r\n                v-else-if=\"\r\n                  data &&\r\n                    data.mindmap &&\r\n                    data.mindmap[0] &&\r\n                    !data.mindmap[0].mindmap_content &&\r\n                    data.mindmap[0].mindmap_pdf_show\r\n              \">\r\n                <PdfCover :pdfUrl=\"pdfUrl\"\r\n                  :mindPdfWidth=\"mindPdfCoverWidth\" />\r\n              </div>\r\n\r\n              <MyMindImages v-else-if=\"\r\n                  data &&\r\n                    data.mindmap &&\r\n                    data.mindmap[0] &&\r\n                    !data.mindmap[0].mindmap_content &&\r\n                    !data.mindmap[0].mindmap_pdf_show &&\r\n                    data.mindmap[0].mindmap_image_show\r\n                \"\r\n                :datas=\"images\"\r\n                :imagesName=\"imagesName\" />\r\n              <div v-else\r\n                class=\"course_intro\">暂无数据</div>\r\n            </div>\r\n          </div>\r\n        </Box>\r\n        <Box v-if=\"studyLogGuideMode === 0\"\r\n          :height=\"$px2rem(190)\"\r\n          :padding=\"$px2rem(0)\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[1] + 's',\r\n            opacity: 0,\r\n            flex: 1,\r\n            marginLeft: $px2rem(22)\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            <div class=\"guannian-header mindmap\">\r\n              <div class=\"mindmap-title header\">思维导图</div>\r\n              <div class=\"btn-group\">\r\n                <el-button id=\"studyLog_step2\" type=\"primary\" @click=\"toMindMap\">查看导图</el-button>\r\n              </div>\r\n            </div>\r\n          </template>\r\n          <div class=\"mindmap-content\">\r\n            <div class=\"done\">\r\n              <img src=\"@/assets/img/guide_done.svg\" />\r\n              <img src=\"@/assets/img/guide_done_gou.svg\"\r\n                class=\"gou\" />\r\n              <img src=\"@/assets/img/guide_done_gou.svg\"\r\n                class=\"gou\" />\r\n            </div>\r\n            <div class=\"mindmap-image\">\r\n              <MyMindOutline :dataPro=\"{\r\n                  mindmap_content: mock_mindmap_content\r\n                }\"\r\n                :course_id=\"data.course_id\"\r\n                :courseIsuseradd=\"parseInt(data.course_isuseradd, 10)\"\r\n                :readonly=\"true\"\r\n                />\r\n            </div>\r\n          </div>\r\n        </Box>\r\n      </div>\r\n      <div class=\"row rows\">\r\n        <div class=\"row1\">\r\n          <Box v-show=\"studyLogGuideMode === 1\"\r\n            :width=\"'100%'\"\r\n            :height=\"$px2rem(116)\"\r\n            :style=\"{ marginBottom: $px2rem(15) }\"\r\n            :padding=\"$px2rem(16)\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[2] + 's',\r\n              opacity: 0\r\n            }\"\r\n            class=\"boxAni\">\r\n            <template slot=\"header\">\r\n              <div>问题意识</div>\r\n            </template>\r\n            <div class=\"content\">\r\n              <!-- <span class=\"subtitle\">{{\r\n                app_type == 2 ? \"本课查看问题\" : \"查看问题\"\r\n              }}</span> -->\r\n              <span class=\"subtitle\"></span>\r\n              <div class=\"circleBox\">\r\n                <el-progress type=\"circle\"\r\n                  color=\"#64AFD5\"\r\n                  :percentage=\"\r\n                    data.question && data.question[0]\r\n                      ? data.question[0].percentage\r\n                      : 0\r\n                  \"\r\n                  :stroke-width=\"8\"\r\n                  :show-text=\"false\"></el-progress>\r\n                <div class=\"circleCenter\">\r\n                  <div class=\"num\">\r\n                    <span>{{\r\n                      data.question && data.question[0]\r\n                        ? data.question[0].course_see_question_num\r\n                        : 0\r\n                    }}</span>\r\n                    <span>/{{\r\n                        data.question && data.question[0]\r\n                          ? data.question[0].course_question_num\r\n                          : 0\r\n                      }}</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </Box>\r\n          <Box v-if=\"studyLogGuideMode === 0\"\r\n            :width=\"'100%'\"\r\n            :height=\"$px2rem(116)\"\r\n            :style=\"{ marginBottom: $px2rem(15) }\"\r\n            :padding=\"$px2rem(16)\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[2] + 's',\r\n              opacity: 0\r\n            }\"\r\n            class=\"boxAni\">\r\n            <template slot=\"header\">\r\n              <div>问题意识</div>\r\n            </template>\r\n            <div class=\"guide_content\">\r\n              <span class=\"guide_subtitle\">本课查看问题</span>\r\n              <div class=\"guide_circleBox\">\r\n                <el-progress type=\"circle\"\r\n                  color=\"#64AFD5\"\r\n                  :percentage=\"62.5\"\r\n                  :stroke-width=\"6\"\r\n                  :show-text=\"false\">\r\n                </el-progress>\r\n                <div class=\"circleCenter\">\r\n                  <div class=\"num\">\r\n                    <span>5</span>\r\n                    <span>/8</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </Box>\r\n          <Box v-show=\"studyLogGuideMode === 1\"\r\n            :width=\"'100%'\"\r\n            :height=\"$px2rem(107)\"\r\n            :padding=\"`${$px2rem(23)} ${$px2rem(17)}`\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[2] + 's',\r\n              opacity: 0\r\n            }\"\r\n            class=\"boxAni\">\r\n            <template slot=\"header\">\r\n              <div class=\"guannian-header\">\r\n                <div>观念的禅修</div>\r\n                <!-- <span class=\"guannian-per\">100%</span> -->\r\n              </div>\r\n            </template>\r\n            <div class=\"audio\">\r\n              <span class=\"siwei-span\">观修文</span>\r\n              <div class=\"done\"\r\n                v-if=\"\r\n                  data &&\r\n                    data.meditate &&\r\n                    data.meditate[0] &&\r\n                    data.meditate[0].meditate_siwei_complete === 1\r\n                \">\r\n                <span>已完成</span>\r\n                <img src=\"@/assets/img/studylog_done.svg\" />\r\n              </div>\r\n              <div class=\"undone\"\r\n                v-else>\r\n                <span>未完成</span>\r\n                <img src=\"@/assets/img/studylog_undone.svg\" />\r\n              </div>\r\n              <!-- <div class=\"audio-progress audio-progress1\">\r\n                    <el-progress\r\n                      :percentage=\"100\"\r\n                      :show-text=\"false\"\r\n                      :color=\"'#FFB096'\"\r\n                      :stroke-width=\"5\"\r\n                    ></el-progress>\r\n                    <div class=\"time\">\r\n                      <span>{{ \"00:04:00\" }}</span>\r\n                      <span>{{ \"00:40:00\" }}</span>\r\n                    </div>\r\n                  </div> -->\r\n            </div>\r\n            <!-- <div class=\"content xintai guannian\">\r\n                  <div class=\"audio\">\r\n                    <span class=\"xintai-span\">观修文</span>\r\n                    <div class=\"audio-progress\">\r\n                      <el-progress\r\n                        :percentage=\"100\"\r\n                        :show-text=\"false\"\r\n                        :color=\"'#64AFD5'\"\r\n                        :stroke-width=\"5\"\r\n                      ></el-progress>\r\n                      <div class=\"time\">\r\n                        <span>{{ \"00:04:00\" }}</span>\r\n                        <span>{{ \"00:40:00\" }}</span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div> -->\r\n          </Box>\r\n          <Box v-if=\"studyLogGuideMode === 0\"\r\n            :width=\"'100%'\"\r\n            :height=\"$px2rem(107)\"\r\n            :padding=\"`${$px2rem(23)} ${$px2rem(17)}`\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[2] + 's',\r\n              opacity: 0\r\n            }\"\r\n            class=\"boxAni\">\r\n            <template slot=\"header\">\r\n              <div class=\"guannian-header\">\r\n                <div>观念的禅修</div>\r\n              </div>\r\n            </template>\r\n            <div class=\"audio\">\r\n              <span class=\"siwei-span\">观修文</span>\r\n              <div class=\"done\">\r\n                <span>已完成</span>\r\n                <img src=\"@/assets/img/studylog_done.svg\" />\r\n              </div>\r\n            </div>\r\n          </Box>\r\n        </div>\r\n        <Box v-show=\"studyLogGuideMode === 1\"\r\n          :height=\"$px2rem(238)\"\r\n          :padding=\"`${$px2rem(16)} ${$px2rem(21)}`\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[3] + 's',\r\n            opacity: 0,\r\n            flex: 1,\r\n            marginLeft: $px2rem(22)\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            <div v-if=\"app_type == 2\">本课问题解决</div>\r\n            <div v-else>问题解决</div>\r\n          </template>\r\n          <div class=\"content settled\">\r\n            <span class=\"subtitle\">已解决问题</span>\r\n            <div class=\"progress\">\r\n              <ul v-if=\"\r\n                  data &&\r\n                    data.question_solve &&\r\n                    data.question_solve[0].course_question_num <= 10\r\n                \">\r\n                <li v-for=\"(item, index) in data.question_solve[0]\r\n                    .course_question_num\"\r\n                  :key=\"index\"\r\n                  :style=\"{\r\n                    backgroundColor:\r\n                      index < course_solve_question_num\r\n                        ? '#64AFD5'\r\n                        : '#EAEDEF'\r\n                  }\"></li>\r\n              </ul>\r\n              <ul v-else>\r\n                <li v-for=\"(item, index) in 10\"\r\n                  :key=\"index\"\r\n                  :style=\"{\r\n                    backgroundColor: index < course_solve_question_num ? '#64AFD5' : '#EAEDEF'\r\n                  }\"></li>\r\n              </ul>\r\n              <div class=\"num\">\r\n                <span>{{\r\n                 course_solve_question_num\r\n                }}</span>\r\n                <span>/{{\r\n                    data &&\r\n                      data.question_solve &&\r\n                      data.question_solve.length &&\r\n                      data.question_solve[0].course_question_num\r\n                  }}</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"content\">\r\n            <div class=\"morals\">\r\n              <div class=\"line\"></div>\r\n              <div class=\"line line1\"></div>\r\n              <div class=\"column\">\r\n                <div class=\"num\">\r\n                  {{\r\n                    data && data.question_solve && data.question_solve.length\r\n                      ? data.question_solve[0].progress_solve_daoli_num\r\n                      : 0\r\n                  }}\r\n                </div>\r\n                <div class=\"title\">道理上的理解</div>\r\n                <div class=\"done\">\r\n                  <!-- <span\r\n                        v-if=\"\r\n                          data.question_solve &&\r\n                          data.question_solve.length &&\r\n                          data.question_solve[0].progress_solve_daoli_num == 0\r\n                        \"\r\n                        >未完成</span\r\n                      > -->\r\n                  <img v-if=\"\r\n                      data.question_solve &&\r\n                        data.question_solve.length &&\r\n                        data.question_solve[0].progress_solve_daoli_num == 0\r\n                    \"\r\n                    src=\"@/assets/img/think_unfinish.svg\" />\r\n                  <img v-else\r\n                    src=\"@/assets/img/studylog_done.svg\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"column\">\r\n                <div class=\"num\">\r\n                  {{\r\n                    data.question_solve && data.question_solve.length\r\n                      ? data.question_solve[0].progress_solve_shishi_num\r\n                      : 0\r\n                  }}\r\n                </div>\r\n                <div class=\"title\">事实上的理解</div>\r\n                <div class=\"done\">\r\n                  <!-- <span\r\n                        v-if=\"\r\n                          data.question_solve &&\r\n                          data.question_solve.length &&\r\n                          data.question_solve[0].progress_solve_shishi_num == 0\r\n                        \"\r\n                        >未完成</span\r\n                      > -->\r\n                  <img v-if=\"\r\n                      data.question_solve &&\r\n                        data.question_solve.length &&\r\n                        data.question_solve[0].progress_solve_shishi_num == 0\r\n                    \"\r\n                    src=\"@/assets/img/think_unfinish.svg\" />\r\n                  <img v-else\r\n                    src=\"@/assets/img/studylog_done.svg\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"column\">\r\n                <div class=\"num\">\r\n                  {{\r\n                    data.question_solve && data.question_solve.length\r\n                      ? data.question_solve[0].progress_solve_baituo_num\r\n                      : 0\r\n                  }}\r\n                </div>\r\n                <div class=\"title\">摆脱错误观念</div>\r\n                <div class=\"done\">\r\n                  <!-- <span\r\n                        v-if=\"\r\n                          data.question_solve &&\r\n                          data.question_solve.length &&\r\n                          data.question_solve[0].progress_solve_baituo_num == 0\r\n                        \"\r\n                        >未完成</span\r\n                      > -->\r\n                  <img v-if=\"\r\n                      data.question_solve &&\r\n                        data.question_solve.length &&\r\n                        data.question_solve[0].progress_solve_baituo_num == 0\r\n                    \"\r\n                    width=\"18\"\r\n                    height=\"18\"\r\n                    src=\"@/assets/img/think_unfinish.svg\" />\r\n                  <img v-else\r\n                    width=\"16\"\r\n                    height=\"16\"\r\n                    src=\"@/assets/img/studylog_done.svg\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Box>\r\n        <Box v-if=\"studyLogGuideMode === 0\"\r\n          :height=\"$px2rem(238)\"\r\n          :padding=\"`${$px2rem(16)} ${$px2rem(21)}`\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[3] + 's',\r\n            opacity: 0,\r\n            flex: 1,\r\n            marginLeft: $px2rem(22)\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            本课问题解决\r\n          </template>\r\n          <div class=\"content settled\">\r\n            <span class=\"subtitle\">已解决问题</span>\r\n            <div class=\"progress\">\r\n              <ul>\r\n                <li style=\"backgroundColor:#64AFD5\"></li>\r\n                <li style=\"backgroundColor:#64AFD5\"></li>\r\n                <li style=\"backgroundColor:#64AFD5\"></li>\r\n                <li style=\"backgroundColor:#64AFD5\"></li>\r\n                <li style=\"backgroundColor:#64AFD5\"></li>\r\n                <li style=\"backgroundColor:#EAEDEF\"></li>\r\n                <li style=\"backgroundColor:#EAEDEF\"></li>\r\n                <li style=\"backgroundColor:#EAEDEF\"></li>\r\n              </ul>\r\n              <div class=\"num contentItemAniLeave\">\r\n                <span>5</span>\r\n                <span>/8</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"content\">\r\n            <div class=\"morals\">\r\n              <div class=\"line\"></div>\r\n              <div class=\"line line1\"></div>\r\n              <div class=\"column\">\r\n                <div class=\"num\">\r\n                  12\r\n                </div>\r\n                <div class=\"title\">道理上的理解</div>\r\n                <div class=\"done\">\r\n                  <img src=\"@/assets/img/studylog_done.svg\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"column\">\r\n                <div class=\"num\">\r\n                  5\r\n                </div>\r\n                <div class=\"title\">事实上的理解</div>\r\n                <div class=\"done\">\r\n                  <img src=\"@/assets/img/studylog_done.svg\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"column\">\r\n                <div class=\"num\">\r\n                  5\r\n                </div>\r\n                <div class=\"title\">摆脱错误观念</div>\r\n                <div class=\"done\">\r\n                  <img width=\"16\"\r\n                    height=\"16\"\r\n                    src=\"@/assets/img/studylog_done.svg\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Box>\r\n      </div>\r\n      <div class=\"row rows\">\r\n        <Box v-show=\"studyLogGuideMode === 1\"\r\n          :height=\"$px2rem(187)\"\r\n          :padding=\"`${$px2rem(55)} ${$px2rem(29)}`\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[4] + 's',\r\n            opacity: 0,\r\n            width: '55%'\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            <div>心态的禅修</div>\r\n          </template>\r\n          <!-- <div class=\"xintai-per\">100%</div> -->\r\n          <div class=\"content xintai\">\r\n            <div class=\"audio\">\r\n              <span class=\"xintai-span\">观修文</span>\r\n              <div class=\"done\"\r\n                v-if=\"\r\n                  data &&\r\n                    data.meditate &&\r\n                    data.meditate[0] &&\r\n                    data.meditate[0].meditate_xingwei_complete === 1\r\n                \">\r\n                <span>已完成</span>\r\n                <img\r\n                  src=\"@/assets/img/studylog_tips_confirm.svg\" />\r\n              </div>\r\n              <div class=\"undone\"\r\n                v-else>\r\n                <span>未完成</span>\r\n                <img src=\"@/assets/img/studylog_undone.svg\" />\r\n              </div>\r\n              <!-- <div class=\"audio-progress audio-progress1\">\r\n                    <el-progress\r\n                      :percentage=\"100\"\r\n                      :show-text=\"false\"\r\n                      :color=\"'#FFB096'\"\r\n                      :stroke-width=\"5\"\r\n                    ></el-progress>\r\n                    <div class=\"time\">\r\n                      <span>{{ \"00:04:00\" }}</span>\r\n                      <span>{{ \"00:40:00\" }}</span>\r\n                    </div>\r\n                  </div> -->\r\n            </div>\r\n          </div>\r\n        </Box>\r\n        <Box v-if=\"studyLogGuideMode === 0\"\r\n          :height=\"$px2rem(187)\"\r\n          :padding=\"`${$px2rem(35)} ${$px2rem(29)}`\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[4] + 's',\r\n            opacity: 0,\r\n            width: '55%'\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            <div>心态的禅修</div>\r\n          </template>\r\n          <div class=\"content xintai\">\r\n            <div class=\"audio\">\r\n              <span class=\"xintai-span\">观修文</span>\r\n              <div class=\"undone\">\r\n                <span>未完成</span>\r\n                <img src=\"@/assets/img/studylog_undone.svg\" />\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Box>\r\n        <div style=\"flex: 1;\">\r\n          <Box v-show=\"studyLogGuideMode === 1\"\r\n            :title=\"''\"\r\n            :width=\"'auto'\"\r\n            :height=\"$px2rem(86)\"\r\n            :padding=\"`${$px2rem(27)} ${$px2rem(15)}`\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[5] + 's',\r\n              opacity: 0,\r\n              zIndex: 99,\r\n              position: 'relative',\r\n              marginBottom: $px2rem(15),\r\n              marginLeft: $px2rem(22)\r\n            }\"\r\n            class=\"boxAni\">\r\n            <div class=\"xinde\">\r\n              <div class=\"left\">\r\n                <span class=\"header\">提交心得</span>\r\n                <img src=\"@/assets/img/write.svg\" />\r\n              </div>\r\n\r\n              <div class=\"count\">\r\n                <span class=\"squar\"><span class=\"num\">{{\r\n                    data.experience ? data.experience.length : 0\r\n                  }}</span>篇</span>\r\n                <img v-if=\"data.experience && data.experience.length\"\r\n                  class=\"arrow_dropdown\"\r\n                  src=\"@/assets/img/arrow_d_b.svg\"\r\n                  @click=\"showXindesFn\" />\r\n                <div class=\"xindes\"\r\n                  v-show=\"showXindes\">\r\n                  <div class=\"triangle\"></div>\r\n                  <div class=\"xinde-item\"\r\n                    v-for=\"(item, index) in data.experience\"\r\n                    :key=\"index\">\r\n                    <div class=\"circle\"></div>\r\n                    <div class=\"xinde-content\">\r\n                      <div class=\"xinde-time\">\r\n                        {{ item.updateTime }}\r\n                      </div>\r\n                      <div class=\"xinde-title\">\r\n                        {{ item.experience_title }}\r\n                      </div>\r\n                      <span v-if=\"item.experience_content\"\r\n                        class=\"xinde-neirong ellipsis-content\">{{ item.experience_content }}\r\n                      </span>\r\n                      <div class=\"player-wrapper\"\r\n                        v-if=\"item.experience_audio_url_show\">\r\n                        <PlayerAnalyseData :ref=\"'PlayerAnalyseData' + index\"\r\n                          @changePlaying=\"changePlaying($event, index)\"\r\n                          :url=\"item.experience_audio_url_show\"\r\n                          :id=\"'classExperienceAudio' + index\"\r\n                          :experienceAudioLong=\"item.experience_audio_long\" />\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </Box>\r\n          <Box v-if=\"studyLogGuideMode === 0\"\r\n            :title=\"''\"\r\n            :width=\"'auto'\"\r\n            :height=\"$px2rem(86)\"\r\n            :padding=\"`${$px2rem(27)} ${$px2rem(15)}`\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[5] + 's',\r\n              opacity: 0,\r\n              zIndex: 99,\r\n              position: 'relative',\r\n              marginBottom: $px2rem(15),\r\n              marginLeft: $px2rem(22)\r\n            }\"\r\n            class=\"boxAni\">\r\n            <div class=\"xinde\">\r\n              <div class=\"left\">\r\n                <span class=\"header\">提交心得</span>\r\n                <img src=\"@/assets/img/write.svg\" />\r\n              </div>\r\n\r\n              <div class=\"count\">\r\n                <span class=\"squar\"><span class=\"num\">2</span>篇</span>\r\n                <img class=\"arrow_dropdown\"\r\n                  src=\"@/assets/img/arrow_d_b.svg\" />\r\n              </div>\r\n            </div>\r\n          </Box>\r\n          <Box v-show=\"studyLogGuideMode === 1\"\r\n            :width=\"'auto'\"\r\n            :height=\"$px2rem(86)\"\r\n            :padding=\"`${$px2rem(27)} ${$px2rem(15)}`\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[5] + 's',\r\n              opacity: 0,\r\n              marginLeft: $px2rem(22)\r\n            }\"\r\n            class=\"boxAni\">\r\n            <template slot=\"header\">\r\n              <div class=\"xinde\">\r\n                <div class=\"left\">\r\n                  <span class=\"header\">心得广场</span>\r\n                  <img class=\"square\"\r\n                    src=\"@/assets/img/square.svg\" />\r\n                </div>\r\n\r\n                <div class=\"count\">\r\n                  <span class=\"squar\">阅读<span class=\"num\">{{\r\n                      data.experience_read &&\r\n                        data.experience_read[0] &&\r\n                        data.experience_read[0].experience_read_num\r\n                    }}</span>篇</span>\r\n                </div>\r\n              </div>\r\n            </template>\r\n          </Box>\r\n          <Box v-if=\"studyLogGuideMode === 0\"\r\n            :width=\"'auto'\"\r\n            :height=\"$px2rem(86)\"\r\n            :padding=\"`${$px2rem(27)} ${$px2rem(15)}`\"\r\n            :otherStyle=\"{\r\n              animationDelay: boxAniDuration[5] + 's',\r\n              opacity: 0,\r\n              marginBottom: $px2rem(15),\r\n              marginLeft: $px2rem(22)\r\n            }\"\r\n            class=\"boxAni\">\r\n            <template slot=\"header\">\r\n              <div class=\"xinde\">\r\n                <div class=\"left\">\r\n                  <span class=\"header\">心得广场</span>\r\n                  <img class=\"square\"\r\n                    src=\"@/assets/img/square.svg\" />\r\n                </div>\r\n                <div class=\"count\">\r\n                  <span class=\"squar\">阅读<span class=\"num\">12</span>篇</span>\r\n                </div>\r\n              </div>\r\n            </template>\r\n          </Box>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\"\r\n        :style=\"{ paddingBottom: $px2rem(54) }\">\r\n        <Box v-show=\"studyLogGuideMode === 1\"\r\n          :height=\"$px2rem(196)\"\r\n          :padding=\"`${$px2rem(24)} ${$px2rem(29)}`\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[6] + 's',\r\n            opacity: 0\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            <div>生命海洋</div>\r\n          </template>\r\n          <div class=\"content ocean\">\r\n            <span v-if=\"\r\n                data.lifeocean &&\r\n                  data.lifeocean[0] &&\r\n                  data.lifeocean[0].progress_isread_lifeocean == 2\r\n              \"\r\n              class=\"subtitle\">未查看我的生命海洋</span>\r\n            <span v-if=\"\r\n                data.lifeocean &&\r\n                  data.lifeocean[0] &&\r\n                  data.lifeocean[0].progress_isread_lifeocean == 1\r\n              \"\r\n              class=\"subtitle\">已查看我的生命海洋</span>\r\n            <div class=\"view\">\r\n              <div class=\"view1\"></div>\r\n              <!-- <img\r\n                    v-if=\"\r\n                      data.lifeocean &&\r\n                      data.lifeocean[0] &&\r\n                      data.lifeocean[0].progress_lifeocean_image\r\n                    \"\r\n                    :src=\"data.lifeocean[0].progress_lifeocean_image\"\r\n                  /> -->\r\n              <img src=\"@/assets/img/ocean.png\" />\r\n            </div>\r\n          </div>\r\n        </Box>\r\n        <Box v-if=\"studyLogGuideMode === 0\"\r\n          :height=\"$px2rem(196)\"\r\n          :padding=\"`${$px2rem(24)} ${$px2rem(29)}`\"\r\n          :otherStyle=\"{\r\n            animationDelay: boxAniDuration[6] + 's',\r\n            opacity: 0\r\n          }\"\r\n          class=\"boxAni\">\r\n          <template slot=\"header\">\r\n            <div>生命海洋</div>\r\n          </template>\r\n          <div class=\"content ocean\">\r\n            <span class=\"subtitle\">已查看我的生命海洋</span>\r\n            <div class=\"view\">\r\n              <div class=\"view1\"></div>\r\n              <img src=\"@/assets/img/ocean.png\" />\r\n            </div>\r\n          </div>\r\n        </Box>\r\n      </div>\r\n    </div>\r\n    <el-dialog class=\"dialog\"\r\n      v-if=\"dialogVisible\"\r\n      :visible.sync=\"dialogVisible\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"false\"\r\n      center\r\n      top=\"0vh\">\r\n      <div class=\"studyLogDialog\"\r\n        id=\"studyLogDialog\">\r\n        <div class=\"mymind-label\">我的思维导图</div>\r\n        <MyMindOutline style=\"overflow: auto;\" :treeId=\"'studyLogDetailMindmapD'\" :myMindOutlineId=\"myMindOutlineId\" v-if=\"\r\n            data &&\r\n              data.mindmap &&\r\n              data.mindmap[0] &&\r\n              data.mindmap[0].mindmap_content\r\n          \"\r\n          :dataPro=\"{\r\n            mindmap_content: data.mindmap[0].mindmap_content\r\n          }\"\r\n          :course_id=\"data.course_id\"\r\n          :courseIsuseradd=\"parseInt(data.course_isuseradd, 10)\"\r\n          :readonly=\"true\"\r\n          />\r\n        <div v-else-if=\"\r\n          data &&\r\n            data.mindmap &&\r\n            data.mindmap[0] &&\r\n            !data.mindmap[0].mindmap_content &&\r\n            data.mindmap[0].mindmap_pdf_show\r\n        \">\r\n          <MyMindPdf\r\n            :mindPdfWidth=\"mindPdfWidth\"\r\n            :pdfUrl=\"pdfUrl\"\r\n            :course_id=\"data.course_id\"\r\n            :courseIsuseradd=\"data.course_isuseradd\"\r\n            :imageViewerCanvas=\"'imageViewerCanvasStudyLog'\"\r\n            />\r\n        </div>\r\n        <MyMindImages v-else-if=\"\r\n            data &&\r\n              data.mindmap &&\r\n              data.mindmap[0] &&\r\n              !data.mindmap[0].mindmap_content &&\r\n              !data.mindmap[0].mindmap_pdf_show &&\r\n              data.mindmap[0].mindmap_image_show\r\n          \"\r\n          :datas=\"images\"\r\n          :course_id=\"data.course_id\"\r\n          :courseIsuseradd=\"data.course_isuseradd\"\r\n          :imagesName=\"imagesName\"\r\n          :showCollect=\"false\" />\r\n        <div v-else\r\n              class=\"none\">暂无数据</div>\r\n      </div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer\">\r\n        <div  v-if=\"\r\n          data &&\r\n            data.mindmap &&\r\n            data.mindmap[0] &&\r\n            data.mindmap[0].mindmap_content\r\n        \" @click=\"saveToImage\" class=\"btn\">保存图片</div>\r\n        <div class=\"btn\" @click=\"dialogVisible = false\">关 闭</div>\r\n      </span>\r\n    </el-dialog>\r\n    <el-dialog class=\"dialog dialogContent\"\r\n      :visible.sync=\"dialogVisibleContent\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"false\"\r\n      center\r\n      top=\"0vh\">\r\n      <div class=\"contentDialogWrapper\">\r\n        <div class=\"mymind-label\"\r\n          v-if=\"app_type == 2\">课程内容</div>\r\n        <div class=\"mymind-label\"\r\n          v-else>内容</div>\r\n        <CultrueContent v-if=\"dialogVisibleContent\"\r\n          :course_id=\"data.course_id\"\r\n          :course_isuseradd=\"data.course_isuseradd\" />\r\n      </div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer\">\r\n        <div class=\"btn\" @click=\"dialogVisibleContent = false\">关 闭</div>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getUserStudyLogDetail, getCourseCompleteData } from \"@/api/index\";\r\nimport Box from \"@/components/Box\";\r\nimport CompleteData from \"./CompleteData.vue\";\r\nimport PlayerAnalyseData from \"@/components/PlayerAnalyseData\";\r\nimport { EventBus, WHITE_CULTURE_MIND } from \"@/utils/eventBus\";\r\nimport MyMindOutline from \"../MyMindOutline.vue\";\r\nimport MyMindPdf from \"../MyMindPdf.vue\";\r\nimport MyMindImages from \"../MyMindImages.vue\";\r\nimport Mind from \"../Mind.vue\";\r\nimport CultrueContent from \"./CultureContent.vue\";\r\nimport PdfCover from \"@/components/PdfCover\";\r\nimport {\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile,\r\n} from \"@/utils/indexDb\";\r\nimport { generateRandomString, captureCanvas } from \"@/utils/util\";\r\n\r\nexport default {\r\n  components: {\r\n    Box,\r\n    CompleteData,\r\n    PlayerAnalyseData,\r\n    MyMindOutline,\r\n    MyMindPdf,\r\n    MyMindImages,\r\n    Mind,\r\n    CultrueContent,\r\n    PdfCover,\r\n  },\r\n  props: {\r\n    data: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      },\r\n    },\r\n    studyLogGuideMode: {\r\n      type: Number,\r\n      default: 1,\r\n    },\r\n    showDetail: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      // fullscreen: false,\r\n      course_id: \"\",\r\n      course_class_id: \"\",\r\n      //data: {},\r\n      completeData: {},\r\n      showXindes: false,\r\n      playing: false,\r\n      dialogVisible: false,\r\n      dialogVisibleContent: false,\r\n      images: [],\r\n      imagesName: [],\r\n      fileImageUrls: [],\r\n      pdfUrl: \"\",\r\n      boxAniDuration: [],\r\n      app_type: 1,\r\n      progress_fayi_read_num: 0,\r\n      prevPlayIndex: null,\r\n      mindPdfCoverWidth: 0,\r\n      mindPdfWidth: 0,\r\n      myMindOutlineId: \"\",\r\n      course_solve_question_num: 0,\r\n      mock_mindmap_content:\r\n        '[{\"name\":\"前言\",\"lock\":2,\"node\":[{\"name\":\"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？\",\"node\":[],\"lock\":2}]},{\"name\":\"何为幸福\",\"lock\":2,\"node\":[{\"name\":\"幸福究竟是什么\",\"lock\":2,\"node\":[{\"name\":\"物质层面\",\"lock\":2,\"node\":[{\"name\":\"人生在世，除了家庭、感情、工作等现实问题有待解决\",\"node\":[],\"lock\":2},{\"name\":\"人生在世，除了家庭、感情、工作等现实问题有待解决\",\"node\":[],\"lock\":2}]},{\"name\":\"幸福的定义\",\"node\":[],\"lock\":3}]}]}]',\r\n    };\r\n  },\r\n  computed: {\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n  },\r\n  watch: {\r\n    data: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"datadata:\", v)\r\n        if (v) {\r\n          this.init();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    studyLogGuideMode: function (newVal, oldVal) {\r\n      this.getBoxAniDuration();\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        this.pause();\r\n      },\r\n    },\r\n    showDetail: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        this.pause();\r\n      },\r\n    }\r\n  },\r\n  methods: {\r\n    // 保存图片功能\r\n    saveToImage() {\r\n      try {\r\n        const myMindMap = document.getElementById(this.myMindOutlineId);\r\n        const myMindMap1 = document.getElementById('studyLogDetailMindmapD');\r\n        const content = document.getElementById('studyLogDialog');\r\n        if(myMindMap) {\r\n          myMindMap.style.height = myMindMap1.scrollHeight + \"px\";\r\n          const myMindMapClone = myMindMap.cloneNode(true);\r\n          myMindMapClone.style.width = myMindMap1.width + 'px'\r\n          // myMindMapClone.style.zIndex = -1\r\n          const tree = myMindMapClone.querySelector(\".el-tree\");\r\n          tree.style.backgroundColor = '#fff'\r\n          const courseName = myMindMapClone.querySelector(\"#course_name\");\r\n          courseName.style.display = 'block'\r\n          content.appendChild(myMindMapClone)\r\n          captureCanvas(myMindMapClone, this.data.course_name, '#fff', () => {\r\n            myMindMap.style.height = '100%'\r\n            // content.removeChild(myMindMapClone)\r\n          });\r\n        }\r\n      } catch (error) {\r\n        console.log('saveToImage:', error)\r\n      }\r\n    },\r\n    handleScroll(event) {\r\n      this.showXindes = false;\r\n    },\r\n    async init() {\r\n      if (\r\n        this.data &&\r\n        this.data.mindmap &&\r\n        this.data.mindmap[0] &&\r\n        !this.data.mindmap[0].mindmap_content &&\r\n        this.data.mindmap[0].mindmap_pdf_show\r\n      ) {\r\n        const url = this.data.mindmap[0].mindmap_pdf_show;\r\n        // 从indexDb拿数据\r\n        const pdf = await getFile(url.split(\"?\")[0]);\r\n        if (pdf) {\r\n          this.pdfUrl = pdf.fileData;\r\n        } else {\r\n          // 存入indexDb\r\n          const pdfBase64 = await getBase64ByUrl(url);\r\n          const mindmap_pdf = this.data.mindmap[0].mindmap_pdf.split(\"/\");\r\n          const fileName = mindmap_pdf[mindmap_pdf.length - 1];\r\n          this.pdfUrl = pdfBase64;\r\n          // 保存到indexDb\r\n          await saveFile(url.split(\"?\")[0], fileName, pdfBase64);\r\n        }\r\n        this.$nextTick(() => {\r\n          const mindmap = document.getElementById(\"mindmap-studyLog-detail\");\r\n          if (mindmap) {\r\n            console.log(\"mindmap mindmap:\", mindmap);\r\n            this.mindPdfCoverWidth = mindmap.clientWidth;\r\n          }\r\n        });\r\n      } else {\r\n        this.pdfUrl = \"\";\r\n      }\r\n      if (\r\n        this.data &&\r\n        this.data.mindmap &&\r\n        this.data.mindmap[0] &&\r\n        !this.data.mindmap[0].mindmap_content &&\r\n        !this.data.mindmap[0].mindmap_pdf_show &&\r\n        this.data.mindmap[0].mindmap_image_show\r\n      ) {\r\n        let mindmap_image_show = this.data.mindmap[0].mindmap_image_show;\r\n        this.images = mindmap_image_show.split(\",\");\r\n        const mindmap_image = this.data.mindmap[0].mindmap_image.split(\",\");\r\n        mindmap_image.forEach((item) => {\r\n          const mindmap_imageNames = item.split(\"/\");\r\n          const mindmap_imageName =\r\n            mindmap_imageNames[mindmap_imageNames.length - 1].split(\".\")[0];\r\n          this.imagesName.push(mindmap_imageName);\r\n        });\r\n\r\n        this.fileImageUrls = this.data.mindmap[0].mindmap_image.split(\",\");\r\n      } else {\r\n        this.images = [];\r\n        this.imagesName = [];\r\n        this.fileImageUrls = [];\r\n      }\r\n\r\n      if (this.data.progress_fayi_read_num_show) {\r\n        let progress_fayi_read_num_set = this.data.progress_fayi_read_num;\r\n        let progress_fayi_read_num = this.data.progress_fayi_read_num;\r\n        if(progress_fayi_read_num >= 60) {\r\n          progress_fayi_read_num_set = Math.floor(\r\n            progress_fayi_read_num / 60\r\n          );\r\n        }\r\n        this.$set(this.data, \"progress_fayi_read_num_set\", progress_fayi_read_num_set);\r\n      } else {\r\n        this.$set(this.data, \"progress_fayi_read_num_set\", 0);\r\n      }\r\n      if(this.data && this.data.question_solve && this.data.question_solve.length && this.data.question_solve[0].course_solve_question_num) {\r\n        this.course_solve_question_num = this.data.question_solve[0].course_solve_question_num;\r\n      } else {\r\n        this.course_solve_question_num = 0;\r\n      }\r\n      console.log(\"initiu\",this.data)\r\n    },\r\n    toCultureContent() {\r\n      this.dialogVisibleContent = true;\r\n    },\r\n    toMindMap() {\r\n      this.course_id = this.data.course_id;\r\n      if( this.data && this.data.mindmap && this.data.mindmap[0] && !this.data.mindmap[0].mindmap_content && this.data.mindmap[0].mindmap_pdf_show) {\r\n        const mindmap_pdf = this.data.mindmap[0].mindmap_pdf_show;\r\n        const resolved = this.$router.resolve({ path: 'PdfRead', query: {\r\n          course_id: this.data.course_id,\r\n          course_name: this.data.course_name,\r\n          course_pdf: mindmap_pdf\r\n        } });\r\n        const url = window.location.origin + resolved.href;\r\n        console .log(\"url:\",url)\r\n        window.open(url, '_blank');\r\n      } else {\r\n        this.dialogVisible = true;\r\n        this.$nextTick(() => {\r\n          const studyLogDialog = document.getElementById(\"studyLogDialog\");\r\n          console.log(\"studyLogDialog:\", studyLogDialog);\r\n          if (studyLogDialog) {\r\n            this.mindPdfWidth = studyLogDialog.clientWidth;\r\n            console.log(\"mindPdfWidth:\", this.mindPdfWidth);\r\n          }\r\n        });\r\n      }\r\n    },\r\n    changePlaying(playing, index) {\r\n      this.playing = playing;\r\n      if(playing && index !== this.prevPlayIndex) {\r\n        if(this.prevPlayIndex || this.prevPlayIndex == 0) {\r\n          this.$refs[\"PlayerAnalyseData\" + this.prevPlayIndex][0].pause();\r\n        }\r\n        this.prevPlayIndex = index;\r\n      } else if(index !== this.prevPlayIndex){\r\n        this.prevPlayIndex = null;\r\n      }\r\n    },\r\n    pause() {\r\n      if((this.prevPlayIndex || this.prevPlayIndex == 0) && this.playing) {\r\n        this.$refs[\"PlayerAnalyseData\" + this.prevPlayIndex][0].pause();\r\n      }\r\n    },\r\n    // 显示心得\r\n    showXindesFn() {\r\n      this.showXindes = !this.showXindes;\r\n    },\r\n    back() {\r\n      this.$router.back();\r\n    },\r\n    getBoxAniDuration() {\r\n      this.boxAniDuration = [];\r\n      for (let i = 0; i < 7; i++) {\r\n        const duration = this.studyLogGuideMode === 0 ? 0 : Math.random().toFixed(2);\r\n        this.boxAniDuration.push(duration);\r\n      }\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n  },\r\n  mounted() {\r\n    this.myMindOutlineId = generateRandomString(5);\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.getBoxAniDuration();\r\n    this.init();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n\r\n.boxAni {\r\n  animation-name: boxAni;\r\n  animation-duration: 0.8s;\r\n  animation-timing-function: ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes boxAni {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes boxAni {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n/deep/ .el-dialog {\r\n  width: 80% !important;\r\n  border-radius: 16px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  margin-left: 10%;\r\n}\r\n/deep/.el-dialog__header {\r\n  padding-top: 6px;\r\n}\r\n/deep/ .el-dialog__headerbtn .el-dialog__close {\r\n  color: #64afd5;\r\n  font-size: 22px;\r\n}\r\n/deep/ .el-dialog__footer {\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n/deep/ .el-dialog__body {\r\n  height: 600px;\r\n  overflow-y: auto;\r\n  padding: 25px 25px 30px;\r\n  background-color: #fff;\r\n}\r\n/deep/ .el-tree {\r\n  background: #fff !important;\r\n}\r\n\r\n.dialogContent {\r\n  /deep/ .el-dialog__body {\r\n    padding-bottom: 0;\r\n    padding-left: 0;\r\n    padding-right: 0;\r\n    background-color: #fff;\r\n  }\r\n  .contentDialogWrapper {\r\n    position: relative;\r\n    height: 100%;\r\n    .mymind-label {\r\n      padding: 0 25px;\r\n    }\r\n  }\r\n}\r\n.dialog-footer {\r\n  display:flex;\r\n  padding: 10px 0;\r\n  align-items: center;\r\n  justify-content: center;\r\n  .btn {\r\n    width: 100px;\r\n    height: 30px;\r\n    border: 1px solid #ccc;\r\n    font-size: 14px;\r\n    border-radius: 4px;\r\n    text-align: center;\r\n    line-height: 30px;\r\n    color: #535355;\r\n    margin-right:10px;\r\n    &:hover {\r\n      color: #71afbb;\r\n      border-color: #71afbb;\r\n      background-color: #fff;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n  .btn:last-child {\r\n    margin-right:0;\r\n  }\r\n\r\n}\r\n.main-content {\r\n  // margin-top: 60px;\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n}\r\n.mymind-label {\r\n  height: 35px;\r\n  font-size: 18px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #7e878c;\r\n  line-height: 21px;\r\n  color: #71afbb;\r\n}\r\n.title {\r\n  display: flex;\r\n  margin: 37px 32px 0;\r\n  align-items: center;\r\n  color: #64afd5;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  cursor: pointer;\r\n  font-size: 20px;\r\n  font-weight: 400;\r\n  color: #64afd5;\r\n  line-height: 30px;\r\n}\r\n.box {\r\n  display: flex;\r\n  // flex-direction: column;\r\n  justify-content: center;\r\n  height: calc(100% - 67px);\r\n  padding: 30px;\r\n\r\n  // padding-top: 60px;\r\n\r\n  .course_class_name_title {\r\n    font-size: 24px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    line-height: 36px;\r\n    display: flex;\r\n    justify-content: center;\r\n    padding: 73px 0 51px;\r\n  }\r\n  .content-box1 {\r\n    width: 286px;\r\n    margin-right: 51px;\r\n    .sumDetail {\r\n      width: 100%;\r\n    }\r\n  }\r\n\r\n  .content-box-detail {\r\n    padding: 0;\r\n    position: relative;\r\n    display: flex;\r\n    height: 100%;\r\n    overflow-y: auto;\r\n    padding: 23px;\r\n    background-color: #F2F4F5;\r\n    border-radius: 16px;\r\n    .detail {\r\n      width: 100%;\r\n      // padding: 23px;\r\n      // border-radius: 8px;\r\n      // background-color: #fdfdfd;\r\n      // min-height: 1100px;\r\n      .row {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        margin-bottom: 46px;\r\n        // :first-child {\r\n        //   // margin-right: 22px;\r\n        // }\r\n      }\r\n      .rows {\r\n        display: flex;\r\n      }\r\n      .row1 {\r\n        width: 37%;\r\n      }\r\n      .content {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        .subtitle {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #7e878c;\r\n          line-height: 21px;\r\n        }\r\n      }\r\n      .guide_content {\r\n        text-align: left;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: space-between;\r\n        .guide_subtitle {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #7e878c;\r\n          line-height: 21px;\r\n          display: block;\r\n          text-align: left;\r\n        }\r\n      }\r\n      .course_intro {\r\n        width: 100%;\r\n        height: 100%;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        color: #7e878c;\r\n        font-size: 20px;\r\n      }\r\n      .studyTime {\r\n        height: calc(100% - 24px);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        .studyTime-title {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 500;\r\n          font-size: 20px;\r\n          color: #71afbb;\r\n          line-height: 32px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          padding-right: 30px;\r\n        }\r\n        .studyTime-content {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 20px;\r\n          color: #7e878c;\r\n          line-height: 32px;\r\n          text-align: justify;\r\n          font-style: normal;\r\n        }\r\n        .studyTime-num {\r\n          color: #71afbb;\r\n          font-size: 28px;\r\n        }\r\n      }\r\n      .mindmap {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        .mindmap-title {\r\n          width: 108px;\r\n          padding-top: 18px;\r\n        }\r\n        .btn-group {\r\n          flex: 1;\r\n          border-left: 1px solid #eaedef;\r\n          text-align: right;\r\n          padding-top: 18px;\r\n        }\r\n        /deep/ .el-button {\r\n          border-radius: 5px;\r\n          width: 73px;\r\n          height: 23px;\r\n          padding: 0;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 500;\r\n          font-size: 12px;\r\n          color: #ffffff;\r\n          text-align: center;\r\n          font-style: normal;\r\n        }\r\n        /deep/ .el-button--primary {\r\n          background-color: #64afd5;\r\n          border-color: #64afd5;\r\n        }\r\n      }\r\n      .mindmap-content {\r\n        padding: 0 18px;\r\n        height: calc(100% - 42px);\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        .mindmap-image-wrapper {\r\n          width: 108px;\r\n        }\r\n        .mindmap-image {\r\n          flex: 1;\r\n          // width: 70%;\r\n          height: 98%;\r\n          border-left: 1px solid #eaedef;\r\n          padding-left: 0px;\r\n          overflow: hidden;\r\n          /deep/ .outline {\r\n            padding: 0 !important;\r\n            overflow: hidden;\r\n            height: 100%;\r\n          }\r\n        }\r\n        .guide {\r\n          width: 96px;\r\n          height: 96px;\r\n        }\r\n        .done {\r\n          position: relative;\r\n          display: flex;\r\n          width: 108px;\r\n          img {\r\n            width: 57px;\r\n            height: 54px;\r\n          }\r\n          img.gou {\r\n            width: 15px;\r\n            height: 11px;\r\n            position: absolute;\r\n            left: 60px;\r\n            &:nth-child(2) {\r\n              top: 3px;\r\n            }\r\n            &:last-of-type {\r\n              top: 42px;\r\n            }\r\n          }\r\n        }\r\n      }\r\n      .content.settled {\r\n        padding: 17px 0px 18px;\r\n        border-bottom: 1px solid #eaedef;\r\n      }\r\n      .num {\r\n        color: @thinking;\r\n        span {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          &:first-child {\r\n            font-size: 32px;\r\n            font-weight: 400;\r\n          }\r\n          &:last-child {\r\n            font-size: 16px;\r\n            font-weight: 400;\r\n            color: #d4d9db;\r\n          }\r\n        }\r\n      }\r\n      .circleBox {\r\n        width: 73px;\r\n        position: relative;\r\n        text-align: center;\r\n        margin-right: 15px;\r\n        /deep/.el-progress-circle {\r\n          width: 73px !important;\r\n          height: 73px !important;\r\n        }\r\n        /deep/ .el-progress path:first-child {\r\n          // 修改进度条背景色\r\n          stroke: #eaedef;\r\n        }\r\n        .circleCenter {\r\n          position: absolute;\r\n          min-width: 66px;\r\n          top: 44%;\r\n          left: 50%;\r\n          transform: translate(-50%, -50%);\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          color: #64afd5;\r\n          font-size: 16px;\r\n          .big {\r\n            font-size: 34px;\r\n          }\r\n        }\r\n      }\r\n      .guide_circleBox {\r\n        width: 63px;\r\n        position: relative;\r\n        text-align: center;\r\n        margin-right: 20%;\r\n        /deep/.el-progress-circle {\r\n          width: 63px !important;\r\n          height: 63px !important;\r\n        }\r\n        /deep/ .el-progress path:first-child {\r\n          // 修改进度条背景色\r\n          stroke: #eaedef;\r\n        }\r\n        .circleCenter {\r\n          position: absolute;\r\n          min-width: 66px;\r\n          top: 47%;\r\n          left: 50%;\r\n          transform: translate(-50%, -50%);\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          color: #64afd5;\r\n          font-size: 16px;\r\n          .big {\r\n            font-size: 34px;\r\n          }\r\n        }\r\n      }\r\n      .progress {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        margin-right: 45px;\r\n        ul {\r\n          list-style: none;\r\n          width: 110px;\r\n          overflow-x: auto;\r\n          display: flex;\r\n          display: -webkit-box;\r\n          // justify-content: space-between;\r\n          li {\r\n            width: 5px;\r\n            height: 13px;\r\n            margin: 0 3px;\r\n            border-radius: 3px;\r\n          }\r\n        }\r\n        .num {\r\n          padding-left: 10px;\r\n        }\r\n      }\r\n      .morals {\r\n        display: flex;\r\n        justify-content: space-evenly;\r\n        position: relative;\r\n        width: 100%;\r\n        .line {\r\n          width: 52px;\r\n          position: absolute;\r\n          padding: 1px 0;\r\n          background: #64afd5;\r\n          top: 77px;\r\n          left: 21%;\r\n          width: 25%;\r\n        }\r\n        .line1 {\r\n          left: 54%;\r\n        }\r\n        .column {\r\n          padding: 20px 16px;\r\n          width: 33%;\r\n        }\r\n        .num,\r\n        .title,\r\n        .done {\r\n          display: flex;\r\n          justify-content: center;\r\n          align-items: center;\r\n        }\r\n        .num {\r\n          font-size: 18px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #7e878c;\r\n          line-height: 27px;\r\n        }\r\n        .title {\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #64afd5;\r\n          line-height: 17px;\r\n          margin: 0;\r\n        }\r\n        .done {\r\n          padding-top: 6px;\r\n          img {\r\n            width: 18px;\r\n            height: 18px;\r\n          }\r\n          span {\r\n            font-size: 14px;\r\n            font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n            font-weight: 400;\r\n            color: #7e878c;\r\n            line-height: 27px;\r\n          }\r\n        }\r\n      }\r\n      .header {\r\n        font-size: 16px;\r\n        font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n        font-weight: 500;\r\n        color: #292929;\r\n        line-height: 24px;\r\n        padding-right: 11px;\r\n      }\r\n      .xinde {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        position: relative;\r\n        width: 100%;\r\n        height: 100%;\r\n        .left {\r\n          display: flex;\r\n          align-items: center;\r\n\r\n          img {\r\n            width: 20px;\r\n            height: 26px;\r\n          }\r\n          img.square {\r\n            width: 28px;\r\n            height: 22px;\r\n          }\r\n        }\r\n        .xindes {\r\n          position: absolute;\r\n          right: 0;\r\n          top: 75px;\r\n          padding: 20px 17px;\r\n          background: #fff;\r\n          z-index: 10;\r\n          box-shadow: 3px 7px 20px rgba(0, 0, 0, 0.1);\r\n          border-radius: 16px;\r\n          min-height: 110px;\r\n          max-height: 218px;\r\n          overflow-y: auto;\r\n          .triangle {\r\n            width: 0;\r\n            height: 0;\r\n            border-bottom: 12px solid #fff;\r\n            border-right: 15px solid transparent;\r\n            border-left: 15px solid transparent;\r\n            position: absolute;\r\n            top: -12px;\r\n            left: 50%;\r\n            transform: translateX(-50%);\r\n          }\r\n          .xinde-item {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            &:not(:last-child) {\r\n              margin-bottom: 15px;\r\n            }\r\n          }\r\n          .circle {\r\n            width: 6px;\r\n            height: 6px;\r\n            border-radius: 3px;\r\n            background-color: #ffb096;\r\n            margin-right: 8px;\r\n          }\r\n          .xinde-content {\r\n            width: 282px;\r\n            // height: 103px;\r\n            padding: 12px;\r\n            background-image: url(\"~@/assets/img/study_xinde_bg.png\");\r\n            background-size: 100% 100%;\r\n            background-repeat: no-repeat;\r\n            .xinde-time {\r\n              font-size: 12px;\r\n              font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n              font-weight: 400;\r\n              color: #7e878c;\r\n              line-height: 18px;\r\n            }\r\n            .xinde-title {\r\n              font-size: 14px;\r\n              font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n              font-weight: 500;\r\n              color: #292929;\r\n              line-height: 21px;\r\n              padding: 2px 0 5px;\r\n            }\r\n            .xinde-neirong {\r\n              font-size: 12px;\r\n              font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n              font-weight: 400;\r\n              color: #7e878c;\r\n              line-height: 16px;\r\n              -webkit-line-clamp: 2;\r\n            }\r\n          }\r\n        }\r\n\r\n        .count {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #7e878c;\r\n          line-height: 21px;\r\n          display: flex;\r\n          align-items: center;\r\n          .num {\r\n            font-size: 38px;\r\n            font-family: SourceHanSansCN-Light, SourceHanSansCN;\r\n            font-weight: 300;\r\n            color: #ffb096;\r\n            padding-right: 10px;\r\n          }\r\n        }\r\n        .squar {\r\n          display: flex;\r\n          align-items: center;\r\n          .num {\r\n            padding: 4px 10px;\r\n          }\r\n        }\r\n        .arrow_dropdown {\r\n          width: 32px;\r\n          height: 32px;\r\n          cursor: pointer;\r\n          margin-left: 10px;\r\n        }\r\n        /deep/ .el-dropdown {\r\n          font-size: 26px;\r\n          color: #ffb096;\r\n        }\r\n      }\r\n      .ocean {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 19px;\r\n        justify-content: center;\r\n        .subtitle {\r\n          width: 83px;\r\n        }\r\n      }\r\n      .view {\r\n        position: relative;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        width: 154px;\r\n        height: 154px;\r\n        border: 1px solid rgba(35,109,171,0.08);\r\n        border-radius: 50%;\r\n        margin-left: 45px;\r\n        margin-top: -25px;\r\n        img {\r\n          width: 154px;\r\n          height: 154px;\r\n        }\r\n        .view1 {\r\n          position: absolute;\r\n          width: 129px;\r\n          height: 129px;\r\n          border: 1px solid #2C51AF;\r\n          border-radius: 50%;\r\n        }\r\n      }\r\n      .xintai-per {\r\n        font-size: 38px;\r\n        font-family: SourceHanSansCN-Light, SourceHanSansCN;\r\n        font-weight: 300;\r\n        color: #ffb096;\r\n        line-height: 57px;\r\n        text-align: right;\r\n        padding-bottom: 10px;\r\n      }\r\n      .audio {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        width: 100%;\r\n        & > div {\r\n          display: flex;\r\n          align-items: center;\r\n          & > span {\r\n            padding-right: 22px;\r\n          }\r\n        }\r\n        .siwei-span {\r\n          color: #64afd5;\r\n        }\r\n        .done {\r\n          color: #64afd5;\r\n        }\r\n        .undone {\r\n          color: #7e878c;\r\n          img {\r\n            width: 25px;\r\n            height: 25px;\r\n          }\r\n        }\r\n        .audio-progress {\r\n          width: 80%;\r\n          margin-left: 10px;\r\n          padding-top: 5px;\r\n        }\r\n        .audio-progress1 {\r\n          /deep/ .el-progress-bar__inner {\r\n            background-image: ease-in-out-gradient(\r\n              90deg,\r\n              #ffae8b 0%,\r\n              #fd746b 100%\r\n            ) !important;\r\n          }\r\n        }\r\n      }\r\n\r\n      .xintai {\r\n        height: calc(100% - 24px);\r\n        padding-top: 36px;\r\n\r\n        .xintai-span {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #ffb096;\r\n          line-height: 18px;\r\n        }\r\n        .time {\r\n          display: flex;\r\n          justify-content: space-between;\r\n          font-size: 11px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #d4d9db;\r\n          line-height: 17px;\r\n          padding-top: 6px;\r\n        }\r\n        .done,\r\n        .undone {\r\n          color: #ffb096;\r\n          img {\r\n            width: 27px;\r\n            height: 27px;\r\n          }\r\n        }\r\n      }\r\n      .guannian {\r\n        .xintai-per {\r\n          color: #64afd5;\r\n        }\r\n        .xintai-span {\r\n          color: #64afd5;\r\n        }\r\n      }\r\n      .guannian-header {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        padding-bottom: 11px;\r\n        padding-right: 7px;\r\n        .guannian-per {\r\n          font-size: 38px;\r\n          font-family: SourceHanSansCN-Light, SourceHanSansCN;\r\n          font-weight: 300;\r\n          color: #64afd5;\r\n        }\r\n      }\r\n      .mindmap {\r\n        padding: 0 25px 0 18px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.mindmap_pdf {\r\n  width: 100%;\r\n  height: 100%;\r\n  // padding: 0 20px;\r\n  padding-left: 20px;\r\n  margin: 0 auto;\r\n  /deep/ .tag {\r\n    top: 10px !important;\r\n    right: 0 !important;\r\n  }\r\n}\r\n/deep/ .pdf {\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n}\r\n/deep/ .show {\r\n  width: 100% !important;\r\n  height: 140px !important;\r\n  border-radius: 8px !important;\r\n  margin-top: 2px !important;\r\n}\r\n.studyLogDialog {\r\n  width: 100%;\r\n  height: 100%;\r\n  /deep/ .show {\r\n    width: 100% !important;\r\n    height: 100% !important;\r\n    border-radius: 8px !important;\r\n    margin-top: 2px !important;\r\n  }\r\n  .none {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    color: #7e878c;\r\n    font-size: 20px;\r\n  }\r\n}\r\n/deep/ .pdf_footer {\r\n  display: none !important;\r\n}\r\n/deep/ .player {\r\n  height: 35px !important;\r\n  padding: 5px 0px !important;\r\n}\r\n/deep/ .el-card__body {\r\n  padding: 0 !important;\r\n}\r\n/deep/ .analyse {\r\n  height: 35px !important;\r\n}\r\n/deep/ .playImgs {\r\n  width: 155px !important;\r\n  height: 35px !important;\r\n}\r\n/deep/ .total-time {\r\n  padding-right: 10px;\r\n}\r\n// /deep/ .voice-wave {\r\n//   width: 165px !important;\r\n// }\r\n/deep/ .tip_audio_btn {\r\n  width: 40px;\r\n  height: 40px;\r\n}\r\n/deep/ .images {\r\n  height: 140px !important;\r\n}\r\n/deep/ .image {\r\n  width: 140px !important;\r\n  height: 140px !important;\r\n  margin: 5px 0 0 !important;\r\n}\r\n/deep/ .collect {\r\n  display: none;\r\n}\r\n/deep/ .drawer {\r\n  height: auto !important;\r\n  top: 90px !important;\r\n  min-height: 100%;\r\n}\r\n/deep/ .outline {\r\n  padding-top: 15px !important;\r\n  background-color: #fff;\r\n  height: auto !important;\r\n}\r\n/deep/ .myMindOutline {\r\n  height: 100% !important;\r\n}\r\n\r\n.mobile-app{\r\n\r\n  .mindmap-image {\r\n      height: 98% !important;\r\n    }\r\n\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/studyLog/Detail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-box-detail\",on:{\"scroll\":_vm.handleScroll}},[_c('div',{staticClass:\"detail\"},[_c('div',{staticClass:\"row\"},[_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"title\":_vm.app_type == 2 ? '课程内容' : '内容',\"width\":'45%',\"height\":_vm.$px2rem(190),\"padding\":_vm.$px2rem(18),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[0] + 's',\n          opacity: 0\n        }}},[(_vm.data.progress_fayi_read_num_show == 1)?_c('div',{staticClass:\"course_intro\"},[_vm._v(\"\\n          \"+_vm._s(_vm.data.progress_fayi_read_num > 0 ? \"已完成\" : \"未完成\")+\"\\n        \")]):_c('div',{staticClass:\"course_intro\"},[_vm._v(\"\\n          \"+_vm._s(_vm.data.course_intro ? \"已完成\" : \"未完成\")+\"\\n        \")])]),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"title\":_vm.app_type == 2 ? '课程内容' : '内容',\"width\":'45%',\"height\":_vm.$px2rem(190),\"padding\":_vm.$px2rem(18),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[0] + 's',\n          opacity: 0\n        }}},[_c('div',{staticClass:\"course_intro\"},[_vm._v(\"\\n          已完成\\n        \")])]):_vm._e(),_vm._v(\" \"),_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"width\":'45%',\"height\":_vm.$px2rem(190),\"padding\":_vm.$px2rem(0),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[1] + 's',\n          opacity: 0,\n          flex: 1,\n          marginLeft: _vm.$px2rem(22)\n        }}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"guannian-header mindmap\"},[_c('div',{staticClass:\"mindmap-title header\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"btn-group\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.toMindMap}},[_vm._v(\"查看导图\")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"mindmap-content\"},[_c('div',{staticClass:\"mindmap-image-wrapper\"},[(_vm.data && _vm.data.mindmap && _vm.data.mindmap.length > 0)?_c('div',{staticClass:\"done\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/guide_done.svg\")}}),_vm._v(\" \"),_c('img',{staticClass:\"gou\",attrs:{\"src\":require(\"@/assets/img/guide_done_gou.svg\")}}),_vm._v(\" \"),_c('img',{staticClass:\"gou\",attrs:{\"src\":require(\"@/assets/img/guide_done_gou.svg\")}})]):_c('img',{staticClass:\"guide\",attrs:{\"src\":require(\"@/assets/img/guide.png\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"mindmap-image\",attrs:{\"id\":\"mindmap-studyLog-detail\"}},[(\n                _vm.data &&\n                  _vm.data.mindmap &&\n                  _vm.data.mindmap[0] &&\n                  _vm.data.mindmap[0].mindmap_content\n              )?_c('MyMindOutline',{attrs:{\"myMindOutlineId\":'studyLogDetailMindmap',\"dataPro\":{\n                mindmap_content: _vm.data.mindmap[0].mindmap_content\n              },\"course_id\":_vm.data.course_id,\"courseIsuseradd\":parseInt(_vm.data.course_isuseradd, 10),\"readonly\":true}}):(\n                _vm.data &&\n                  _vm.data.mindmap &&\n                  _vm.data.mindmap[0] &&\n                  !_vm.data.mindmap[0].mindmap_content &&\n                  _vm.data.mindmap[0].mindmap_pdf_show\n            )?_c('div',{staticClass:\"mindmap_pdf\"},[_c('PdfCover',{attrs:{\"pdfUrl\":_vm.pdfUrl,\"mindPdfWidth\":_vm.mindPdfCoverWidth}})],1):(\n                _vm.data &&\n                  _vm.data.mindmap &&\n                  _vm.data.mindmap[0] &&\n                  !_vm.data.mindmap[0].mindmap_content &&\n                  !_vm.data.mindmap[0].mindmap_pdf_show &&\n                  _vm.data.mindmap[0].mindmap_image_show\n              )?_c('MyMindImages',{attrs:{\"datas\":_vm.images,\"imagesName\":_vm.imagesName}}):_c('div',{staticClass:\"course_intro\"},[_vm._v(\"暂无数据\")])],1)])],2),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"height\":_vm.$px2rem(190),\"padding\":_vm.$px2rem(0),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[1] + 's',\n          opacity: 0,\n          flex: 1,\n          marginLeft: _vm.$px2rem(22)\n        }}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"guannian-header mindmap\"},[_c('div',{staticClass:\"mindmap-title header\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"btn-group\"},[_c('el-button',{attrs:{\"id\":\"studyLog_step2\",\"type\":\"primary\"},on:{\"click\":_vm.toMindMap}},[_vm._v(\"查看导图\")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"mindmap-content\"},[_c('div',{staticClass:\"done\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/guide_done.svg\")}}),_vm._v(\" \"),_c('img',{staticClass:\"gou\",attrs:{\"src\":require(\"@/assets/img/guide_done_gou.svg\")}}),_vm._v(\" \"),_c('img',{staticClass:\"gou\",attrs:{\"src\":require(\"@/assets/img/guide_done_gou.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"mindmap-image\"},[_c('MyMindOutline',{attrs:{\"dataPro\":{\n                mindmap_content: _vm.mock_mindmap_content\n              },\"course_id\":_vm.data.course_id,\"courseIsuseradd\":parseInt(_vm.data.course_isuseradd, 10),\"readonly\":true}})],1)])],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"row rows\"},[_c('div',{staticClass:\"row1\"},[_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",style:({ marginBottom: _vm.$px2rem(15) }),attrs:{\"width\":'100%',\"height\":_vm.$px2rem(116),\"padding\":_vm.$px2rem(16),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[2] + 's',\n            opacity: 0\n          }}},[_c('template',{slot:\"header\"},[_c('div',[_vm._v(\"问题意识\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('span',{staticClass:\"subtitle\"}),_vm._v(\" \"),_c('div',{staticClass:\"circleBox\"},[_c('el-progress',{attrs:{\"type\":\"circle\",\"color\":\"#64AFD5\",\"percentage\":_vm.data.question && _vm.data.question[0]\n                    ? _vm.data.question[0].percentage\n                    : 0,\"stroke-width\":8,\"show-text\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"circleCenter\"},[_c('div',{staticClass:\"num\"},[_c('span',[_vm._v(_vm._s(_vm.data.question && _vm.data.question[0]\n                      ? _vm.data.question[0].course_see_question_num\n                      : 0))]),_vm._v(\" \"),_c('span',[_vm._v(\"/\"+_vm._s(_vm.data.question && _vm.data.question[0]\n                        ? _vm.data.question[0].course_question_num\n                        : 0))])])])],1)])],2),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",style:({ marginBottom: _vm.$px2rem(15) }),attrs:{\"width\":'100%',\"height\":_vm.$px2rem(116),\"padding\":_vm.$px2rem(16),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[2] + 's',\n            opacity: 0\n          }}},[_c('template',{slot:\"header\"},[_c('div',[_vm._v(\"问题意识\")])]),_vm._v(\" \"),_c('div',{staticClass:\"guide_content\"},[_c('span',{staticClass:\"guide_subtitle\"},[_vm._v(\"本课查看问题\")]),_vm._v(\" \"),_c('div',{staticClass:\"guide_circleBox\"},[_c('el-progress',{attrs:{\"type\":\"circle\",\"color\":\"#64AFD5\",\"percentage\":62.5,\"stroke-width\":6,\"show-text\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"circleCenter\"},[_c('div',{staticClass:\"num\"},[_c('span',[_vm._v(\"5\")]),_vm._v(\" \"),_c('span',[_vm._v(\"/8\")])])])],1)])],2):_vm._e(),_vm._v(\" \"),_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"width\":'100%',\"height\":_vm.$px2rem(107),\"padding\":((_vm.$px2rem(23)) + \" \" + (_vm.$px2rem(17))),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[2] + 's',\n            opacity: 0\n          }}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"guannian-header\"},[_c('div',[_vm._v(\"观念的禅修\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"audio\"},[_c('span',{staticClass:\"siwei-span\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),(\n                _vm.data &&\n                  _vm.data.meditate &&\n                  _vm.data.meditate[0] &&\n                  _vm.data.meditate[0].meditate_siwei_complete === 1\n              )?_c('div',{staticClass:\"done\"},[_c('span',[_vm._v(\"已完成\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})]):_c('div',{staticClass:\"undone\"},[_c('span',[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_undone.svg\")}})])])],2),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"width\":'100%',\"height\":_vm.$px2rem(107),\"padding\":((_vm.$px2rem(23)) + \" \" + (_vm.$px2rem(17))),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[2] + 's',\n            opacity: 0\n          }}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"guannian-header\"},[_c('div',[_vm._v(\"观念的禅修\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"audio\"},[_c('span',{staticClass:\"siwei-span\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),_c('div',{staticClass:\"done\"},[_c('span',[_vm._v(\"已完成\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])])],2):_vm._e()],1),_vm._v(\" \"),_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"height\":_vm.$px2rem(238),\"padding\":((_vm.$px2rem(16)) + \" \" + (_vm.$px2rem(21))),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[3] + 's',\n          opacity: 0,\n          flex: 1,\n          marginLeft: _vm.$px2rem(22)\n        }}},[_c('template',{slot:\"header\"},[(_vm.app_type == 2)?_c('div',[_vm._v(\"本课问题解决\")]):_c('div',[_vm._v(\"问题解决\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content settled\"},[_c('span',{staticClass:\"subtitle\"},[_vm._v(\"已解决问题\")]),_vm._v(\" \"),_c('div',{staticClass:\"progress\"},[(\n                _vm.data &&\n                  _vm.data.question_solve &&\n                  _vm.data.question_solve[0].course_question_num <= 10\n              )?_c('ul',_vm._l((_vm.data.question_solve[0]\n                  .course_question_num),function(item,index){return _c('li',{key:index,style:({\n                  backgroundColor:\n                    index < _vm.course_solve_question_num\n                      ? '#64AFD5'\n                      : '#EAEDEF'\n                })})}),0):_c('ul',_vm._l((10),function(item,index){return _c('li',{key:index,style:({\n                  backgroundColor: index < _vm.course_solve_question_num ? '#64AFD5' : '#EAEDEF'\n                })})}),0),_vm._v(\" \"),_c('div',{staticClass:\"num\"},[_c('span',[_vm._v(_vm._s(_vm.course_solve_question_num))]),_vm._v(\" \"),_c('span',[_vm._v(\"/\"+_vm._s(_vm.data &&\n                    _vm.data.question_solve &&\n                    _vm.data.question_solve.length &&\n                    _vm.data.question_solve[0].course_question_num))])])])]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"morals\"},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('div',{staticClass:\"line line1\"}),_vm._v(\" \"),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"num\"},[_vm._v(\"\\n                \"+_vm._s(_vm.data && _vm.data.question_solve && _vm.data.question_solve.length\n                    ? _vm.data.question_solve[0].progress_solve_daoli_num\n                    : 0)+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"title\"},[_vm._v(\"道理上的理解\")]),_vm._v(\" \"),_c('div',{staticClass:\"done\"},[(\n                    _vm.data.question_solve &&\n                      _vm.data.question_solve.length &&\n                      _vm.data.question_solve[0].progress_solve_daoli_num == 0\n                  )?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"num\"},[_vm._v(\"\\n                \"+_vm._s(_vm.data.question_solve && _vm.data.question_solve.length\n                    ? _vm.data.question_solve[0].progress_solve_shishi_num\n                    : 0)+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"title\"},[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),_c('div',{staticClass:\"done\"},[(\n                    _vm.data.question_solve &&\n                      _vm.data.question_solve.length &&\n                      _vm.data.question_solve[0].progress_solve_shishi_num == 0\n                  )?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"num\"},[_vm._v(\"\\n                \"+_vm._s(_vm.data.question_solve && _vm.data.question_solve.length\n                    ? _vm.data.question_solve[0].progress_solve_baituo_num\n                    : 0)+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"title\"},[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),_c('div',{staticClass:\"done\"},[(\n                    _vm.data.question_solve &&\n                      _vm.data.question_solve.length &&\n                      _vm.data.question_solve[0].progress_solve_baituo_num == 0\n                  )?_c('img',{attrs:{\"width\":\"18\",\"height\":\"18\",\"src\":require(\"@/assets/img/think_unfinish.svg\")}}):_c('img',{attrs:{\"width\":\"16\",\"height\":\"16\",\"src\":require(\"@/assets/img/studylog_done.svg\")}})])])])])],2),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"height\":_vm.$px2rem(238),\"padding\":((_vm.$px2rem(16)) + \" \" + (_vm.$px2rem(21))),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[3] + 's',\n          opacity: 0,\n          flex: 1,\n          marginLeft: _vm.$px2rem(22)\n        }}},[_c('template',{slot:\"header\"},[_vm._v(\"\\n          本课问题解决\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"content settled\"},[_c('span',{staticClass:\"subtitle\"},[_vm._v(\"已解决问题\")]),_vm._v(\" \"),_c('div',{staticClass:\"progress\"},[_c('ul',[_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#EAEDEF\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#EAEDEF\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#EAEDEF\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"num contentItemAniLeave\"},[_c('span',[_vm._v(\"5\")]),_vm._v(\" \"),_c('span',[_vm._v(\"/8\")])])])]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"morals\"},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('div',{staticClass:\"line line1\"}),_vm._v(\" \"),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"num\"},[_vm._v(\"\\n                12\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"title\"},[_vm._v(\"道理上的理解\")]),_vm._v(\" \"),_c('div',{staticClass:\"done\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"num\"},[_vm._v(\"\\n                5\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"title\"},[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),_c('div',{staticClass:\"done\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"num\"},[_vm._v(\"\\n                5\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"title\"},[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),_c('div',{staticClass:\"done\"},[_c('img',{attrs:{\"width\":\"16\",\"height\":\"16\",\"src\":require(\"@/assets/img/studylog_done.svg\")}})])])])])],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"row rows\"},[_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"height\":_vm.$px2rem(187),\"padding\":((_vm.$px2rem(55)) + \" \" + (_vm.$px2rem(29))),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[4] + 's',\n          opacity: 0,\n          width: '55%'\n        }}},[_c('template',{slot:\"header\"},[_c('div',[_vm._v(\"心态的禅修\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content xintai\"},[_c('div',{staticClass:\"audio\"},[_c('span',{staticClass:\"xintai-span\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),(\n                _vm.data &&\n                  _vm.data.meditate &&\n                  _vm.data.meditate[0] &&\n                  _vm.data.meditate[0].meditate_xingwei_complete === 1\n              )?_c('div',{staticClass:\"done\"},[_c('span',[_vm._v(\"已完成\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_tips_confirm.svg\")}})]):_c('div',{staticClass:\"undone\"},[_c('span',[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_undone.svg\")}})])])])],2),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"height\":_vm.$px2rem(187),\"padding\":((_vm.$px2rem(35)) + \" \" + (_vm.$px2rem(29))),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[4] + 's',\n          opacity: 0,\n          width: '55%'\n        }}},[_c('template',{slot:\"header\"},[_c('div',[_vm._v(\"心态的禅修\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content xintai\"},[_c('div',{staticClass:\"audio\"},[_c('span',{staticClass:\"xintai-span\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),_c('div',{staticClass:\"undone\"},[_c('span',[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_undone.svg\")}})])])])],2):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"flex\":\"1\"}},[_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"title\":'',\"width\":'auto',\"height\":_vm.$px2rem(86),\"padding\":((_vm.$px2rem(27)) + \" \" + (_vm.$px2rem(15))),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[5] + 's',\n            opacity: 0,\n            zIndex: 99,\n            position: 'relative',\n            marginBottom: _vm.$px2rem(15),\n            marginLeft: _vm.$px2rem(22)\n          }}},[_c('div',{staticClass:\"xinde\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"header\"},[_vm._v(\"提交心得\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/write.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"count\"},[_c('span',{staticClass:\"squar\"},[_c('span',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.data.experience ? _vm.data.experience.length : 0))]),_vm._v(\"篇\")]),_vm._v(\" \"),(_vm.data.experience && _vm.data.experience.length)?_c('img',{staticClass:\"arrow_dropdown\",attrs:{\"src\":require(\"@/assets/img/arrow_d_b.svg\")},on:{\"click\":_vm.showXindesFn}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showXindes),expression:\"showXindes\"}],staticClass:\"xindes\"},[_c('div',{staticClass:\"triangle\"}),_vm._v(\" \"),_vm._l((_vm.data.experience),function(item,index){return _c('div',{key:index,staticClass:\"xinde-item\"},[_c('div',{staticClass:\"circle\"}),_vm._v(\" \"),_c('div',{staticClass:\"xinde-content\"},[_c('div',{staticClass:\"xinde-time\"},[_vm._v(\"\\n                      \"+_vm._s(item.updateTime)+\"\\n                    \")]),_vm._v(\" \"),_c('div',{staticClass:\"xinde-title\"},[_vm._v(\"\\n                      \"+_vm._s(item.experience_title)+\"\\n                    \")]),_vm._v(\" \"),(item.experience_content)?_c('span',{staticClass:\"xinde-neirong ellipsis-content\"},[_vm._v(_vm._s(item.experience_content)+\"\\n                    \")]):_vm._e(),_vm._v(\" \"),(item.experience_audio_url_show)?_c('div',{staticClass:\"player-wrapper\"},[_c('PlayerAnalyseData',{ref:'PlayerAnalyseData' + index,refInFor:true,attrs:{\"url\":item.experience_audio_url_show,\"id\":'classExperienceAudio' + index,\"experienceAudioLong\":item.experience_audio_long},on:{\"changePlaying\":function($event){return _vm.changePlaying($event, index)}}})],1):_vm._e()])])})],2)])])]),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"title\":'',\"width\":'auto',\"height\":_vm.$px2rem(86),\"padding\":((_vm.$px2rem(27)) + \" \" + (_vm.$px2rem(15))),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[5] + 's',\n            opacity: 0,\n            zIndex: 99,\n            position: 'relative',\n            marginBottom: _vm.$px2rem(15),\n            marginLeft: _vm.$px2rem(22)\n          }}},[_c('div',{staticClass:\"xinde\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"header\"},[_vm._v(\"提交心得\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/write.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"count\"},[_c('span',{staticClass:\"squar\"},[_c('span',{staticClass:\"num\"},[_vm._v(\"2\")]),_vm._v(\"篇\")]),_vm._v(\" \"),_c('img',{staticClass:\"arrow_dropdown\",attrs:{\"src\":require(\"@/assets/img/arrow_d_b.svg\")}})])])]):_vm._e(),_vm._v(\" \"),_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"width\":'auto',\"height\":_vm.$px2rem(86),\"padding\":((_vm.$px2rem(27)) + \" \" + (_vm.$px2rem(15))),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[5] + 's',\n            opacity: 0,\n            marginLeft: _vm.$px2rem(22)\n          }}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"xinde\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"header\"},[_vm._v(\"心得广场\")]),_vm._v(\" \"),_c('img',{staticClass:\"square\",attrs:{\"src\":require(\"@/assets/img/square.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"count\"},[_c('span',{staticClass:\"squar\"},[_vm._v(\"阅读\"),_c('span',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.data.experience_read &&\n                      _vm.data.experience_read[0] &&\n                      _vm.data.experience_read[0].experience_read_num))]),_vm._v(\"篇\")])])])])],2),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"width\":'auto',\"height\":_vm.$px2rem(86),\"padding\":((_vm.$px2rem(27)) + \" \" + (_vm.$px2rem(15))),\"otherStyle\":{\n            animationDelay: _vm.boxAniDuration[5] + 's',\n            opacity: 0,\n            marginBottom: _vm.$px2rem(15),\n            marginLeft: _vm.$px2rem(22)\n          }}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"xinde\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"header\"},[_vm._v(\"心得广场\")]),_vm._v(\" \"),_c('img',{staticClass:\"square\",attrs:{\"src\":require(\"@/assets/img/square.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"count\"},[_c('span',{staticClass:\"squar\"},[_vm._v(\"阅读\"),_c('span',{staticClass:\"num\"},[_vm._v(\"12\")]),_vm._v(\"篇\")])])])])],2):_vm._e()],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"row\",style:({ paddingBottom: _vm.$px2rem(54) })},[_c('Box',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.studyLogGuideMode === 1),expression:\"studyLogGuideMode === 1\"}],staticClass:\"boxAni\",attrs:{\"height\":_vm.$px2rem(196),\"padding\":((_vm.$px2rem(24)) + \" \" + (_vm.$px2rem(29))),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[6] + 's',\n          opacity: 0\n        }}},[_c('template',{slot:\"header\"},[_c('div',[_vm._v(\"生命海洋\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content ocean\"},[(\n              _vm.data.lifeocean &&\n                _vm.data.lifeocean[0] &&\n                _vm.data.lifeocean[0].progress_isread_lifeocean == 2\n            )?_c('span',{staticClass:\"subtitle\"},[_vm._v(\"未查看我的生命海洋\")]):_vm._e(),_vm._v(\" \"),(\n              _vm.data.lifeocean &&\n                _vm.data.lifeocean[0] &&\n                _vm.data.lifeocean[0].progress_isread_lifeocean == 1\n            )?_c('span',{staticClass:\"subtitle\"},[_vm._v(\"已查看我的生命海洋\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"view\"},[_c('div',{staticClass:\"view1\"}),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/ocean.png\")}})])])],2),_vm._v(\" \"),(_vm.studyLogGuideMode === 0)?_c('Box',{staticClass:\"boxAni\",attrs:{\"height\":_vm.$px2rem(196),\"padding\":((_vm.$px2rem(24)) + \" \" + (_vm.$px2rem(29))),\"otherStyle\":{\n          animationDelay: _vm.boxAniDuration[6] + 's',\n          opacity: 0\n        }}},[_c('template',{slot:\"header\"},[_c('div',[_vm._v(\"生命海洋\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content ocean\"},[_c('span',{staticClass:\"subtitle\"},[_vm._v(\"已查看我的生命海洋\")]),_vm._v(\" \"),_c('div',{staticClass:\"view\"},[_c('div',{staticClass:\"view1\"}),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/ocean.png\")}})])])],2):_vm._e()],1)]),_vm._v(\" \"),(_vm.dialogVisible)?_c('el-dialog',{staticClass:\"dialog\",attrs:{\"visible\":_vm.dialogVisible,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',{staticClass:\"studyLogDialog\",attrs:{\"id\":\"studyLogDialog\"}},[_c('div',{staticClass:\"mymind-label\"},[_vm._v(\"我的思维导图\")]),_vm._v(\" \"),(\n          _vm.data &&\n            _vm.data.mindmap &&\n            _vm.data.mindmap[0] &&\n            _vm.data.mindmap[0].mindmap_content\n        )?_c('MyMindOutline',{staticStyle:{\"overflow\":\"auto\"},attrs:{\"treeId\":'studyLogDetailMindmapD',\"myMindOutlineId\":_vm.myMindOutlineId,\"dataPro\":{\n          mindmap_content: _vm.data.mindmap[0].mindmap_content\n        },\"course_id\":_vm.data.course_id,\"courseIsuseradd\":parseInt(_vm.data.course_isuseradd, 10),\"readonly\":true}}):(\n        _vm.data &&\n          _vm.data.mindmap &&\n          _vm.data.mindmap[0] &&\n          !_vm.data.mindmap[0].mindmap_content &&\n          _vm.data.mindmap[0].mindmap_pdf_show\n      )?_c('div',[_c('MyMindPdf',{attrs:{\"mindPdfWidth\":_vm.mindPdfWidth,\"pdfUrl\":_vm.pdfUrl,\"course_id\":_vm.data.course_id,\"courseIsuseradd\":_vm.data.course_isuseradd,\"imageViewerCanvas\":'imageViewerCanvasStudyLog'}})],1):(\n          _vm.data &&\n            _vm.data.mindmap &&\n            _vm.data.mindmap[0] &&\n            !_vm.data.mindmap[0].mindmap_content &&\n            !_vm.data.mindmap[0].mindmap_pdf_show &&\n            _vm.data.mindmap[0].mindmap_image_show\n        )?_c('MyMindImages',{attrs:{\"datas\":_vm.images,\"course_id\":_vm.data.course_id,\"courseIsuseradd\":_vm.data.course_isuseradd,\"imagesName\":_vm.imagesName,\"showCollect\":false}}):_c('div',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])],1),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(\n        _vm.data &&\n          _vm.data.mindmap &&\n          _vm.data.mindmap[0] &&\n          _vm.data.mindmap[0].mindmap_content\n      )?_c('div',{staticClass:\"btn\",on:{\"click\":_vm.saveToImage}},[_vm._v(\"保存图片\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"btn\",on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"关 闭\")])])]):_vm._e(),_vm._v(\" \"),_c('el-dialog',{staticClass:\"dialog dialogContent\",attrs:{\"visible\":_vm.dialogVisibleContent,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleContent=$event}}},[_c('div',{staticClass:\"contentDialogWrapper\"},[(_vm.app_type == 2)?_c('div',{staticClass:\"mymind-label\"},[_vm._v(\"课程内容\")]):_c('div',{staticClass:\"mymind-label\"},[_vm._v(\"内容\")]),_vm._v(\" \"),(_vm.dialogVisibleContent)?_c('CultrueContent',{attrs:{\"course_id\":_vm.data.course_id,\"course_isuseradd\":_vm.data.course_isuseradd}}):_vm._e()],1),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticClass:\"btn\",on:{\"click\":function($event){_vm.dialogVisibleContent = false}}},[_vm._v(\"关 闭\")])])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-8b612302\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/studyLog/Detail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8b612302\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Detail.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Detail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Detail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8b612302\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Detail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-8b612302\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/studyLog/Detail.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"no-data\">\r\n    <img src=\"@/assets/img/recommend_none.svg\"/>\r\n    <p class=\"none\">暂无数据</p>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.no-data {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  img {\r\n    width: 136px;\r\n    height: 136px;\r\n  }\r\n  .none {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #7E878C;\r\n    line-height: 24px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    margin-top: 20px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/NoData.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"no-data\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/recommend_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-caa28190\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/NoData.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-caa28190\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./NoData.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./NoData.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./NoData.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-caa28190\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./NoData.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-caa28190\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/NoData.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjAgMTYuNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fS5jbHMtMntjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgpO30uY2xzLTN7ZmlsbDojODRjNGU1O308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0xLjc1KSI+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiLz48L2NsaXBQYXRoPjwvZGVmcz48dGl0bGU+6LWE5rqQIDE8L3RpdGxlPjxnIGlkPSLlm77lsYJfMiIgZGF0YS1uYW1lPSLlm77lsYIgMiI+PGcgaWQ9IuWbvuWxgl8xLTIiIGRhdGEtbmFtZT0i5Zu+5bGCIDEiPjxnIGNsYXNzPSJjbHMtMiI+PHBhdGggY2xhc3M9ImNscy0zIiBkPSJNNSwxOC4yNWEuOTEuOTEsMCwwLDEtLjY4LS4zMUwuMjEsMTNhLjg5Ljg5LDAsMCwxLC42OC0xLjQ3SDE5LjA3YS45LjksMCwwLDEsMCwxLjc5SDIuODNsMi44OSwzLjM5YS44NS44NSwwLDAsMSwuMjIuNjUuODkuODksMCwwLDEtLjMxLjYyQS44Ni44NiwwLDAsMSw1LDE4LjI1Wk0uOTMsOC40NmEuODkuODksMCwwLDEsMC0xLjc4SDE3LjE3TDE0LjI4LDMuMjlBLjkzLjkzLDAsMCwxLDE0LDIuNjNhMSwxLDAsMCwxLC4zLS42NEEuOTQuOTQsMCwwLDEsMTUsMS43NWEuOTIuOTIsMCwwLDEsLjY4LjNMMTkuNzksN2EuOTQuOTQsMCwwLDEsLjIxLjYzLjkuOSwwLDAsMS0uODkuODhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0xLjc1KSIvPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/question-sort.svg\n// module id = syWN\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/logo_overseas.5e31765.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_overseas.svg\n// module id = t4d0\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div :class=\"[fullscreen ? 'big-view bg-white' : '', pageName == 'black' ? 'bgShadow' : '']\" >\r\n    <div class=\"main-content\" :class=\"fullscreen ? 'full' : ''\">\r\n      <div class=\"box\">\r\n        <div class=\"content-box\" ref=\"contentBox\">\r\n          <div class=\"head\">\r\n            <p class=\"mytip-label\" @click=\"toConfirmTips\">\r\n              <img\r\n                src=\"@/assets/img/culture_back.svg\"\r\n                v-if=\"whiteActiveIndex == 0\"\r\n              />\r\n              <img\r\n                src=\"@/assets/img/think_back.svg\"\r\n                v-if=\"whiteActiveIndex == 1\"\r\n              />\r\n              <img\r\n                src=\"@/assets/img/behavior_back.svg\"\r\n                v-if=\"whiteActiveIndex == 2\"\r\n              />\r\n              <img\r\n                src=\"@/assets/img/personality_back.svg\"\r\n                v-if=\"whiteActiveIndex == 3\"\r\n              />\r\n              {{ canOperate ? '我的心得' : '' }}\r\n            </p>\r\n            <p class=\"time\">编辑时间 {{ time }}</p>\r\n          </div>\r\n          <div class=\"content\" v-if=\"tip && tip.experience_id\">\r\n            <div class=\"content-wrapper\">\r\n              <div class=\"content-head\">\r\n                <p class=\"title\">{{ tip.experience_title }}</p>\r\n                <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\">\r\n                  {{ tip.experience_tag_title }}\r\n                </div>\r\n              </div>\r\n              <div class=\"operates\" v-if=\"courseIsuseradd != 3 && canOperate\">\r\n                <span class=\"btn edit\" @click=\"edit\">编辑</span>\r\n                <!-- <span class=\"btn edit\" @click=\"editUserExperience\" v-else\r\n                  >提交</span\r\n                > -->\r\n                <span class=\"btn del\" @click=\"delShow\">删除</span>\r\n              </div>\r\n            </div>\r\n            <div class=\"experience-content\">\r\n              <div class=\"prewrap-content\">{{ experience_content }}</div>\r\n              <div class=\"audio-card_wrapper\">\r\n                <el-card\r\n                  class=\"box-card audio-card\"\r\n                  v-if=\"tip && tip.experience_audio && tip.experience_audio.length\"\r\n                >\r\n                  <TipAudioCom\r\n                    ref=\"EditTipsAudioCom\"\r\n                    :url=\"tip.experience_audio[0].experience_audio_url_show\"\r\n                    :currentTimeProp=\"'0'\"\r\n                    :bgColor=\"'#ffae8b,#fd746b'\"\r\n                    :progressColor=\"'#D4D9DB'\"\r\n                  />\r\n                </el-card>\r\n              </div>\r\n\r\n              <div\r\n                class=\"collect\"\r\n                v-if=\"is_collect == 2 && courseIsuseradd != 3 && canOperate\"\r\n                @click=\"addUserCollection(1)\"\r\n              >\r\n                <img src=\"@/assets/img/tipdetail_collect.svg\" />\r\n                <p>{{ tip.experience_collection_num }}</p>\r\n              </div>\r\n              <div\r\n                class=\"collect\"\r\n                v-if=\"is_collect == 1 && courseIsuseradd != 3 && canOperate\"\r\n                @click=\"addUserCollection(2)\"\r\n              >\r\n                <img\r\n                  src=\"@/assets/img/tipdetail_collected.svg\"\r\n                />\r\n                <p>{{ tip.experience_collection_num }}</p>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  delUserExperience,\r\n  getUserCourseProgress,\r\n  getUserExperienceDetail,\r\n  getExperienceSquareDetail,\r\n  addUserCollection\r\n} from \"@/api/index.js\";\r\nimport {\r\n  EventBus,\r\n  WHITE_CONFIRM_TIPS,\r\n  WHITE_CREATE_TIPS\r\n} from \"@/utils/eventBus\";\r\nimport TipAudioCom from \"@/components/TipAudioCom.vue\";\r\n\r\nexport default {\r\n  components: {\r\n    TipAudioCom\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      time: \"\",\r\n      experience_content: \"\",\r\n      experience_id: \"\",\r\n      experience_isuseradd: \"\",\r\n      tip: {},\r\n      is_collect: 2,\r\n      canOperate: false,\r\n      loading: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    }\r\n  },\r\n  watch: {\r\n    $route(to, from) {\r\n      if(this.$refs.EditTipsAudioCom) {\r\n        this.$refs.EditTipsAudioCom.pause(true);\r\n      }\r\n      // 路由发生变化，执行操作\r\n      // this.getUserExperienceDetail();\r\n    }\r\n  },\r\n  methods: {\r\n    async addUserCollection(operate_type) {\r\n      if(this.loading) {\r\n        return\r\n      }\r\n      this.loading = true;\r\n      let params = {\r\n        course_isuseradd: this.courseIsuseradd,\r\n        experience_isuseradd: this.experience_isuseradd,\r\n        collect_type: 4,\r\n        operate_type,\r\n        course_id: this.course_id,\r\n        experience_id: this.experience_id\r\n      };\r\n      try {\r\n        const res = await addUserCollection(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.is_collect = operate_type;\r\n          let experience_collection_num = this.tip.experience_collection_num;\r\n          if (operate_type == 1) {\r\n            experience_collection_num = experience_collection_num + 1;\r\n          } else {\r\n            experience_collection_num = experience_collection_num - 1;\r\n          }\r\n          this.tip = {\r\n            ...this.tip,\r\n            experience_collection_num: experience_collection_num,\r\n            experience_iscollection: operate_type\r\n          };\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    async getUserExperienceDetail() {\r\n      try {\r\n        console.log(\"getUserExperienceDetail:\", this.experience_id, this.experience_isuseradd)\r\n        const params = {\r\n          experience_id: this.experience_id,\r\n          experience_isuseradd: this.experience_isuseradd\r\n        }\r\n        let res = null;\r\n        if(this.experience_isuseradd == 2) {\r\n          res = await getExperienceSquareDetail(params);\r\n        } else {\r\n          res = await getUserExperienceDetail(params);\r\n        }\r\n\r\n        if (res && res.code === 0) {\r\n          this.tip = res.data[0];\r\n          this.is_collect = this.tip.experience_iscollection;\r\n          this.experience_content = this.tip.experience_content;\r\n          this.initTime(this.tip.last_update_at || this.tip.experience_create_at);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    edit() {\r\n      // 示例笔记不能编辑心得\r\n      if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n      this.$router.push({\r\n        path: \"/white/CreateTips\",\r\n        query: {\r\n          experience_type: this.tip.experience_type,\r\n          experience_id: this.tip.experience_id,\r\n          experience_isuseradd: this.experience_isuseradd\r\n        }\r\n      });\r\n    },\r\n    delShow() {\r\n      // 示例笔记不能删除心得\r\n      if (this.courseIsuseradd == 3) {\r\n        return;\r\n      }\r\n      this.$confirm(\"确认删除该内容吗?\", \"\", {\r\n        confirmButtonText: \"确定\",\r\n        cancelButtonText: \"取消\",\r\n        center: true,\r\n        closeOnClickModal: false,\r\n        closeOnPressEscape: false,\r\n        // showClose: false,\r\n        customClass: \"confirmClassBehavior\"\r\n      }).then(() => {\r\n        this.submitDel();\r\n      });\r\n    },\r\n    async submitDel() {\r\n      let params = {\r\n        course_id: this.course_id,\r\n        update_device: localStorage.getItem(\"DeviceId\"),\r\n        experience_id: this.tip.experience_id,\r\n        is_new: 1\r\n      };\r\n      try {\r\n        const res = await delUserExperience(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"删除成功\"\r\n          });\r\n          this.getUserCourseProgress();\r\n          // 删除清理缓存\r\n          this.$store.dispatch(\"setEditTip\", true).then(() => {\r\n            this.$router.back();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    toConfirmTips() {\r\n      this.$store.dispatch(\"setEditTip\", false).then(() => {\r\n        this.$router.back();\r\n      });\r\n    },\r\n    initTime(time) {\r\n      this.time = this.$moment.unix(time).format('YYYY-MM-DD HH:mm');\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({ course_id: this.course_id });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0]).then(() => {});\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    handleClick(tab, event) {\r\n      console.log(tab, event);\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.experience_id = this.$route.query.experience_id;\r\n    this.experience_isuseradd = this.$route.query.experience_isuseradd;\r\n    this.canOperate = this.$route.query.canOperate;\r\n    this.tip = {};\r\n    this.getUserExperienceDetail();\r\n  },\r\n  mounted() {\r\n    this.experience_id = this.$route.query.experience_id;\r\n    this.experience_isuseradd = this.$route.query.experience_isuseradd;\r\n    this.canOperate = this.$route.query.canOperate;\r\n    this.getUserExperienceDetail();\r\n    this.fullscreen = true;\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.bg-white {\r\n  top: 54px !important;\r\n  height: calc(100% - 54px);\r\n}\r\n.main-content {\r\n  height: 100%;\r\n}\r\n.full {\r\n  .content-box {\r\n    border-radius: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n    overflow-y: hidden;\r\n    height: 100%;\r\n  }\r\n}\r\n.box {\r\n  height: 100%;\r\n  padding-top: 25px;\r\n}\r\n.content-box {\r\n  border-radius: 16px;\r\n  width: 100%;\r\n  height: 100%;\r\n  min-height: 388px;\r\n  position: relative;\r\n  background-position: center center;\r\n  // display: flex;\r\n  padding: 0 93px 57px 93px;\r\n  .head {\r\n    position: relative;\r\n  }\r\n  .mytip-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    cursor: pointer;\r\n    display: flex;\r\n    align-items: center;\r\n    img {\r\n      margin-right: 10px;\r\n      width: 8px;\r\n      height: 16px;\r\n    }\r\n    // &::before {\r\n    //   content: \"\";\r\n    //   display: block;\r\n    //   position: absolute;\r\n    //   top: 10px;\r\n    //   left: 0;\r\n    //   width: 4px;\r\n    //   height: 4px;\r\n    //   -webkit-border-radius: 50%;\r\n    //   -moz-border-radius: 50%;\r\n    //   border-radius: 50%;\r\n    //   background: #ffb096;\r\n    // }\r\n  }\r\n  .time {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding-top: 9px;\r\n    padding-left: 10px;\r\n  }\r\n  .content {\r\n    width: 100%;\r\n    // height: calc(100% - 120px);\r\n    flex: 1;\r\n    position: relative;\r\n    background: #fdfdfd;\r\n    border-radius: 8px;\r\n    border: 1px solid #ffffff;\r\n    margin-top: 12px;\r\n    // margin-bottom: 57px;\r\n    padding: 49px 40px 0 40px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    overflow-y: auto;\r\n    .collect {\r\n      width: 100%;\r\n      text-align: center;\r\n      padding-bottom: 20px;\r\n      img {\r\n        cursor: pointer;\r\n        width: 37px;\r\n        height: 32px;\r\n      }\r\n      p {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #bcc4c8;\r\n        line-height: 21px;\r\n        text-align: center;\r\n        font-style: normal;\r\n      }\r\n    }\r\n    .content-wrapper {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      border-bottom: 1px solid #d4d9db;\r\n      padding-bottom: 11px;\r\n      .content-head {\r\n        flex: 1;\r\n        padding-right: 2px;\r\n      }\r\n      .title {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 20px;\r\n        color: #292929;\r\n        line-height: 30px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        padding-bottom: 12px;\r\n      }\r\n      .tag {\r\n        width: 75px;\r\n        height: 25px;\r\n        line-height: 25px;\r\n        border-radius: 4px;\r\n        border: 1px solid #FFB096;\r\n        line-height: 23px;\r\n        text-align: center;\r\n        padding-left: 15px;\r\n        position: relative;\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #FFB096;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 9px;\r\n          left: 7px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          // border: 1px solid #FFB096;\r\n          background: #FFB096;\r\n        }\r\n      }\r\n      .operates {\r\n        .btn {\r\n          font-size: 16px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          line-height: 24px;\r\n          cursor: pointer;\r\n        }\r\n        .edit {\r\n          color: #ffb096;\r\n        }\r\n        .del {\r\n          color: #d4d9db;\r\n          margin-left: 24px;\r\n        }\r\n      }\r\n    }\r\n    .experience-content {\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #292929;\r\n      line-height: 32px;\r\n      // height: calc(100% - 150px);\r\n      flex: 1;\r\n      overflow-y: auto;\r\n      text-align: justify;\r\n      padding-top: 10px;\r\n      .prewrap-content {\r\n        text-align: justify;\r\n      }\r\n      /deep/ .el-textarea__inner {\r\n        border: none;\r\n        padding-left: 0;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 16px;\r\n        color: #838b96;\r\n        line-height: 32px;\r\n        text-align: justify;\r\n        font-style: normal;\r\n      }\r\n      /deep/ .el-textarea.is-disabled .el-textarea__inner {\r\n        background: #fff;\r\n      }\r\n    }\r\n    .audio-card_wrapper {\r\n      display: flex;\r\n      justify-content: center;\r\n      padding-top: 20px;\r\n      padding-bottom: 20px;\r\n    }\r\n    .audio-card {\r\n      width: 293px;\r\n      height: 116px;\r\n      align-self: center;\r\n      box-shadow: 3px 3px 14px rgba(0,0,0,0.05);\r\n      border: none;\r\n      /deep/ .el-card__body {\r\n        padding-top: 29px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.del_dialog {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n  .comfirm-btn {\r\n    background: #64afd5;\r\n    color: #fff;\r\n  }\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/EditTips.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[_vm.fullscreen ? 'big-view bg-white' : '', _vm.pageName == 'black' ? 'bgShadow' : '']},[_c('div',{staticClass:\"main-content\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{staticClass:\"box\"},[_c('div',{ref:\"contentBox\",staticClass:\"content-box\"},[_c('div',{staticClass:\"head\"},[_c('p',{staticClass:\"mytip-label\",on:{\"click\":_vm.toConfirmTips}},[(_vm.whiteActiveIndex == 0)?_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_back.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.whiteActiveIndex == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_back.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.whiteActiveIndex == 2)?_c('img',{attrs:{\"src\":require(\"@/assets/img/behavior_back.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.whiteActiveIndex == 3)?_c('img',{attrs:{\"src\":require(\"@/assets/img/personality_back.svg\")}}):_vm._e(),_vm._v(\"\\n            \"+_vm._s(_vm.canOperate ? '我的心得' : '')+\"\\n          \")]),_vm._v(\" \"),_c('p',{staticClass:\"time\"},[_vm._v(\"编辑时间 \"+_vm._s(_vm.time))])]),_vm._v(\" \"),(_vm.tip && _vm.tip.experience_id)?_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"content-wrapper\"},[_c('div',{staticClass:\"content-head\"},[_c('p',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.tip.experience_title))]),_vm._v(\" \"),_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"}},[_vm._v(\"\\n                \"+_vm._s(_vm.tip.experience_tag_title)+\"\\n              \")])]),_vm._v(\" \"),(_vm.courseIsuseradd != 3 && _vm.canOperate)?_c('div',{staticClass:\"operates\"},[_c('span',{staticClass:\"btn edit\",on:{\"click\":_vm.edit}},[_vm._v(\"编辑\")]),_vm._v(\" \"),_c('span',{staticClass:\"btn del\",on:{\"click\":_vm.delShow}},[_vm._v(\"删除\")])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"experience-content\"},[_c('div',{staticClass:\"prewrap-content\"},[_vm._v(_vm._s(_vm.experience_content))]),_vm._v(\" \"),_c('div',{staticClass:\"audio-card_wrapper\"},[(_vm.tip && _vm.tip.experience_audio && _vm.tip.experience_audio.length)?_c('el-card',{staticClass:\"box-card audio-card\"},[_c('TipAudioCom',{ref:\"EditTipsAudioCom\",attrs:{\"url\":_vm.tip.experience_audio[0].experience_audio_url_show,\"currentTimeProp\":'0',\"bgColor\":'#ffae8b,#fd746b',\"progressColor\":'#D4D9DB'}})],1):_vm._e()],1),_vm._v(\" \"),(_vm.is_collect == 2 && _vm.courseIsuseradd != 3 && _vm.canOperate)?_c('div',{staticClass:\"collect\",on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/tipdetail_collect.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.tip.experience_collection_num))])]):_vm._e(),_vm._v(\" \"),(_vm.is_collect == 1 && _vm.courseIsuseradd != 3 && _vm.canOperate)?_c('div',{staticClass:\"collect\",on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/tipdetail_collected.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.tip.experience_collection_num))])]):_vm._e()])]):_vm._e()])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9aeac23c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/EditTips.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-9aeac23c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./EditTips.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./EditTips.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./EditTips.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9aeac23c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./EditTips.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-9aeac23c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/EditTips.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div\r\n    class=\"main-content  bg-white\"\r\n    :class=\"[\r\n      !isContained\r\n        ? isOpen\r\n          ? 'big-view-box-page'\r\n          : 'outof-big-view-box-page'\r\n        : ''\r\n    ]\"\r\n  >\r\n    <div class=\"box\">\r\n      <div\r\n        class=\"box-content-name name\"\r\n        :class=\"isContained ? 'isContained' : ''\"\r\n        @click=\"back\"\r\n      >\r\n        <img\r\n          v-if=\"isContained\"\r\n          :class=\"['full_page_eye', 'icon_eye']\"\r\n          :src=\"'/static/img/culture.svg'\"\r\n        />\r\n        课程内容\r\n      </div>\r\n      <div class=\"content-box\">\r\n        <div class=\"wrapper\">\r\n          <div class=\"detail-wrapper\">\r\n            <div class=\"play-box\">\r\n              <div class=\"play-box-cover\">\r\n                <div class=\"course_name ellipsis-content\">\r\n                  {{ currentAudio.course_name || \"\" }}\r\n                </div>\r\n                <div class=\"course_audio_title_wrapper\">\r\n                  <div\r\n                    class=\"course_audio_title\"\r\n                    :class=\"[\r\n                      currentAudio.course_audio_title &&\r\n                      currentAudio.course_audio_title.length > 4\r\n                        ? 'course_audio_title1'\r\n                        : ''\r\n                    ]\"\r\n                  >\r\n                    <span class=\"ellipsis-content\">{{\r\n                      currentAudio.course_audio_title || \"\"\r\n                    }}</span>\r\n                  </div>\r\n                </div>\r\n                <img\r\n                  v-if=\"!playing\"\r\n                  src=\"@/assets/img/play_detail.svg\"\r\n                  @click=\"playAudio\"\r\n                />\r\n                <img\r\n                  v-else\r\n                  src=\"@/assets/img/play_detail_pause.png\"\r\n                  @click=\"pauseAudio\"\r\n                />\r\n              </div>\r\n              <div class=\"audio_box\">\r\n                <div class=\"audio_box_wrapper\">\r\n                  <AudioCom\r\n                    :bgColor=\"'#ffffff'\"\r\n                    :progressColor=\"'rgba(255,255,255,0.1)'\"\r\n                    :title=\"''\"\r\n                    :url=\"\r\n                      currentAudio\r\n                        ? currentAudio.course_audio_url_oss\r\n                        : ''\r\n                    \"\r\n                    :currentTimeProp=\"currentTime + ''\"\r\n                    :needPlay=\"needPlay\"\r\n                    :onlyShowBar=\"true\"\r\n                    :onlyShowBarPlay=\"false\"\r\n                    ref=\"audioCom\"\r\n                    @play=\"play\"\r\n                    @pause=\"pause\"\r\n                    @changeCurrentTime=\"changeCurrentTime\"\r\n                  />\r\n                </div>\r\n\r\n                <!-- <img\r\n                  src=\"@/assets/img/audio_exitfullscreen.png\"\r\n                  @click=\"back\"\r\n                /> -->\r\n              </div>\r\n            </div>\r\n            <div class=\"detail-wrapper-overflow\">\r\n              <div class=\"title-wrapper\">\r\n                <div class=\"title\">\r\n                  {{\r\n                    currentAudio.course_audio_title +\r\n                      \"  \" +\r\n                      currentAudio.course_audio_title_alias\r\n                  }}\r\n                </div>\r\n                <div class=\"course_audio_intro ellipsis-content\">\r\n                  {{ currentAudio.course_audio_intro || '暂无简介' }}\r\n                </div>\r\n                <div class=\"btns\">\r\n                  <div\r\n                    class=\"download\"\r\n                    @click=\"\r\n                      fileDownload(\r\n                        currentAudio.course_audio_url_oss,\r\n                        currentAudio.course_audio_id\r\n                      )\r\n                    \"\r\n                  >\r\n                    <img\r\n                      v-if=\"!loadings[currentAudio.course_audio_id]\"\r\n                      src=\"@/assets/img/download.svg\"\r\n                    />\r\n                    <img\r\n                      v-else\r\n                      src=\"@/assets/img/audio_download_disabled.png\"\r\n                    />\r\n                    下载音频\r\n                  </div>\r\n                  <div\r\n                    class=\"collect\"\r\n                    @click=\"\r\n                      addUserCollection(\r\n                        currentAudio.course_audio_id,\r\n                        currentAudio.is_collect == 1 ? 2 : 1,\r\n                        currentAlias\r\n                      )\r\n                    \"\r\n                  >\r\n                    <img\r\n                      v-if=\"currentAudio.is_collect == 1\"\r\n                      src=\"@/assets/img/collection.svg\"\r\n                    />\r\n                    <img v-else src=\"@/assets/img/collect_video.svg\" />\r\n                    {{ currentAudio.is_collect == 1 ? \"取消收藏\" : \"收藏音频\" }}\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"alias-detail\" v-if=\"!noShowALias\">\r\n                <div class=\"alias-wrapper\">\r\n                  <div class=\"alias-title\">\r\n                    <span class=\"audio-select\">选集</span>\r\n                    <span class=\"audio-num\">共{{ audios.length }}集</span>\r\n                  </div>\r\n                  <div class=\"alias\">\r\n                    <div\r\n                      class=\"ellipsis-content alia\"\r\n                      :class=\"[currentAlias === index ? 'alias-active' : '']\"\r\n                      v-for=\"(item, index) in audios\"\r\n                      :key=\"'alias' + index\"\r\n                      @click=\"selectAudio(item, index)\"\r\n                    >{{ item.course_audio_title_alias }}</div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"detail\" v-if=\"false\">\r\n                  <div class=\"detail-title\">内容详情</div>\r\n                  <div class=\"detail-content\">\r\n                    {{ currentAudio.course_audio_content }}\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"list\">\r\n            <div class=\"related-title\">相关音频</div>\r\n            <div class=\"list-box\" v-if=\"relatedAudios.length && !noShowALias\">\r\n              <div\r\n                class=\"list-item\"\r\n                v-for=\"(item, index) in relatedAudios\"\r\n                :key=\"'list' + index\"\r\n                @click=\"selectAudio1(item)\"\r\n              >\r\n                <div class=\"list-item-cover\">\r\n                  <div\r\n                    class=\"list-item-cover-title\"\r\n                    :class=\"[\r\n                      item.course_audio_title &&\r\n                      item.course_audio_title.length > 4\r\n                        ? 'list-item-cover-title1'\r\n                        : ''\r\n                    ]\"\r\n                  >\r\n                    <span class=\"ellipsis-content\">{{\r\n                      item.course_audio_title\r\n                    }}</span>\r\n                  </div>\r\n                  <img src=\"@/assets/img/play_detail.svg\" />\r\n                </div>\r\n                <div class=\"list-item-content\">\r\n                  <div class=\"title ellipsis-content\">\r\n                    {{\r\n                      item.course_audio_title +\r\n                        \"  \" +\r\n                        item.course_audio_title_alias\r\n                    }}\r\n                  </div>\r\n                  <div class=\"operates-wrapper\">\r\n                    <div class=\"course_name\">{{ item.course_name }}</div>\r\n                    <div class=\"operates\" @click=\"operates($event)\">\r\n                      <img\r\n                        v-if=\"!loadings[item.course_audio_id]\"\r\n                        src=\"@/assets/img/download.svg\"\r\n                        @click=\"\r\n                          fileDownload(\r\n                            item.course_audio_url_oss,\r\n                            item.course_audio_id,\r\n                            $event\r\n                          )\r\n                        \"\r\n                      />\r\n                      <img\r\n                        v-else\r\n                        src=\"@/assets/img/audio_download_disabled.png\"\r\n                      />\r\n                      <img\r\n                        v-if=\"item.is_collect == 1\"\r\n                        src=\"@/assets/img/collection.svg\"\r\n                      />\r\n                      <img v-else src=\"@/assets/img/collect_video.svg\" />\r\n                      <span>{{ item.course_audio_collection_num }}</span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <NoData v-if=\"!relatedAudios.length || noShowALias\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport NoData from \"@/components/NoData\";\r\nimport AudioCom from \"@/components/AudioCom\";\r\n\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { getCourseAudioList, addUserCollection, setCourseComplete, getUserCourseProgress } from \"@/api/index\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport { downloadFile } from \"@/utils/util\";\r\n\r\nexport default {\r\n  name: \"CultrueContentAudioDetail\",\r\n  mixins: [openOtherPageMixins],\r\n  components: { NoData, AudioCom },\r\n  data() {\r\n    return {\r\n      isContained: false,\r\n      isOpen: true,\r\n      audios: [],\r\n      relatedAudios: [],\r\n      currentAudio: {},\r\n      currentAlias: 0,\r\n      playing: false,\r\n      needPlay: false,\r\n      currentTime: 0,\r\n      course_audio_id: \"\",\r\n      loadings: {},\r\n      noShowALias: false,\r\n      courseId: \"\",\r\n      courseCompleteInterval: null,\r\n      progress_fayi_read_num: 0,\r\n      courseProgress: null\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    }\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next((vm) => {\r\n      vm.isOpen = true;\r\n    });\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    console.log(\"beforeRouteLeave\");\r\n    if (to.path != from.path) {\r\n      if (to.name == \"index\") {\r\n        this.isOpen = false;\r\n        EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n        let timeout1 = setTimeout(() => {\r\n          next();\r\n          this.$store.dispatch(\"popHistoryOperate\", {\r\n            type: \"openOtherPage\",\r\n          });\r\n          clearTimeout(timeout1);\r\n        }, 550);\r\n      } else {\r\n        next();\r\n      }\r\n    }\r\n  },\r\n  watch: {\r\n    $route: {\r\n      deep: true,\r\n      handler: function(from, to) {\r\n        console.log(\"this.$route:::\", from, to);\r\n        if (this.$route.name !== \"CultrueContentAudioDetail\") {\r\n          this.$refs.audioCom.pause();\r\n        }\r\n        if (this.$route.name == \"index\") {\r\n          console.log(\"setCurrentAudioTime:\", this.$refs.audioCom.audio.currentTime)\r\n          this.$store.dispatch(\"setCurrentAudioTime\", this.$refs.audioCom.audio.currentTime);\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    courseId: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.getCourseAudioList();\r\n          this.getUserCourseProgress();\r\n        }\r\n      }\r\n    },\r\n    historyOperate: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.isContained = this.historyOperate.some(item => {\r\n          return item.type === \"fullscreen\";\r\n        });\r\n        console.log(this.isContained);\r\n      }\r\n    },\r\n    immediate: true\r\n  },\r\n  methods: {\r\n    changeCurrentTime() {\r\n      this.playing = true;\r\n    },\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    operates(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n    },\r\n    fileDownload(course_audio_url_oss, course_audio_id, e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      console.log(course_audio_id, this.loadings);\r\n      if (this.loadings[course_audio_id]) {\r\n        return;\r\n      }\r\n      this.$set(this.loadings, course_audio_id, true);\r\n      this.$message({\r\n        type: \"success\",\r\n        message: \"开始下载\"\r\n      });\r\n      // const url = \"https://drive.lienuc.com/uc?id=\" + course_audio_url;\r\n      const a = document.createElement('a');\r\n      a.href = course_audio_url_oss;\r\n      a.style.display = \"none\";\r\n      document.body.appendChild(a);\r\n      a.click();\r\n      document.body.removeChild(a);\r\n\r\n      // // 可下载，名称也有效 -- 推荐\r\n      // const url =\r\n      //   \"https://drive.google.com/uc?export=download&id=\" + course_audio_url;\r\n      // const link = document.createElement(\"a\");\r\n      // link.href = url;\r\n      // link.download = fileName + \".mp3\";\r\n      // link.style.display = \"none\";\r\n      // document.body.appendChild(link);\r\n      // link.click();\r\n      // document.body.removeChild(link);\r\n    },\r\n    async addUserCollection(course_audio_id, operate_type, index) {\r\n      let params = {\r\n        collect_type: 3,\r\n        operate_type,\r\n        course_audio_id,\r\n        course_id: this.courseId\r\n      };\r\n      try {\r\n        const res = await addUserCollection(params);\r\n        if (res && res.code === 0) {\r\n          const currentIndex = this.audios.findIndex(item => {\r\n            return item.course_audio_id === course_audio_id;\r\n          });\r\n          this.audios[currentIndex].is_collect = operate_type;\r\n          if (operate_type === 1) {\r\n            this.audios[currentIndex].course_audio_collection_num += 1;\r\n          } else {\r\n            this.audios[currentIndex].course_audio_collection_num -= 1;\r\n          }\r\n          const currentIndex1 = this.relatedAudios.findIndex(item => {\r\n            return item.course_audio_id === course_audio_id;\r\n          });\r\n          if (currentIndex1 > -1) {\r\n            this.relatedAudios[currentIndex1].is_collect = operate_type;\r\n          }\r\n          if (params.operate_type === 1) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"收藏成功\"\r\n            });\r\n          } else {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"取消收藏成功\"\r\n            });\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    selectAudio1(audio) {\r\n      const currentIndex = this.audios.findIndex(item => {\r\n        return item.course_audio_id === audio.course_audio_id;\r\n      });\r\n      this.selectAudio(audio, currentIndex);\r\n    },\r\n    selectAudio(audio, index) {\r\n      if (this.currentAudio.course_audio_id !== audio.course_audio_id) {\r\n        this.needPlay = false;\r\n        this.playing = false;\r\n        this.currentTime = 0;\r\n        this.currentAudio = audio;\r\n        this.currentAlias = index;\r\n        this.relatedAudios = this.audios.slice();\r\n        this.relatedAudios.splice(index, 1);\r\n        this.$store.dispatch(\"setCurrentAudioContent\", index);\r\n      }\r\n    },\r\n    playAudio() {\r\n      this.$refs.audioCom.play();\r\n    },\r\n    // 播放\r\n    play() {\r\n      this.playing = true;\r\n    },\r\n    pauseAudio() {\r\n      this.$refs.audioCom.pause();\r\n    },\r\n    // 暂停\r\n    pause() {\r\n      this.playing = false;\r\n    },\r\n    back() {\r\n      if (this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      const isContained = this.historyOperate.some(item => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      console.log(isContained);\r\n      // if (isContained) {\r\n      //   this.$router.replace(\"/\");\r\n      // } else {\r\n      //   this.$router.back();\r\n      // }\r\n      this.$router.back();\r\n      EventBus.$emit(\"CLOSE_OTHER_PAGE\");\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    async getCourseAudioList() {\r\n      this.loadings = {};\r\n      try {\r\n        const res = await getCourseAudioList({ course_id: this.courseId });\r\n        if (res && res.code == 0) {\r\n          this.audios = res.data;\r\n          if (this.audios.length) {\r\n            // this.needPlay = false;\r\n            const currentIndex = this.audios.findIndex(item => {\r\n              return item.course_audio_id == this.course_audio_id;\r\n            });\r\n            this.currentAudio = this.audios[currentIndex];\r\n            this.currentAlias = currentIndex;\r\n            this.relatedAudios = this.audios.slice();\r\n            this.relatedAudios.splice(currentIndex, 1);\r\n            this.audios.forEach(item => {\r\n              this.$set(this.loadings, item.course_audio_id, false);\r\n            });\r\n            this.noShowALias = this.audios.every(item => item.course_audio_title_alias == \"\");\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      console.log(\"getUserCourseProgress:\")\r\n      if(this.courseId == \"\" || this.courseId == null || this.courseId == undefined) {\r\n        return;\r\n      }\r\n      try {\r\n        const res = await getUserCourseProgress({ course_id: this.courseId });\r\n        if (res && res.code === 0) {\r\n          this.courseProgress = res.data[0];\r\n          this.initCourseComplete();\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async setCourseComplete() {\r\n      try {\r\n        const params = {\r\n          course_id: this.courseId,\r\n          progress_fayi_read_num: this.progress_fayi_read_num\r\n        };\r\n        setCourseComplete(params).then((res) => {\r\n          if (res && res.code === 0) {\r\n            if(this.courseId != this.course_id) {\r\n              return;\r\n            }\r\n            const courseProgress = {\r\n              ...this.courseProgress,\r\n              progress_course_complete: 1,\r\n              progress_fayi_read_num: this.progress_fayi_read_num\r\n            };\r\n            this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n          }\r\n        });\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    initCourseComplete() {\r\n      // 进入时计算修学时长\r\n      if(this.courseProgress) {\r\n        this.progress_fayi_read_num = 0;\r\n        this.clearCompleteInterval();\r\n        this.courseCompleteInterval = setInterval(() => {\r\n          this.progress_fayi_read_num += 1;\r\n        }, 1000);\r\n      }\r\n    },\r\n    clearCompleteInterval() {\r\n      if(this.courseCompleteInterval) {\r\n        clearInterval(this.courseCompleteInterval);\r\n        this.courseCompleteInterval = null;\r\n      }\r\n    },\r\n  },\r\n  async activated() {\r\n    const course_audio_id = this.$route.query.course_audio_id;\r\n    this.course_audio_id = this.$route.query.course_audio_id;\r\n    this.currentTime = this.$route.query.currentTime;\r\n    this.needPlay = false;\r\n    this.playing = false;\r\n    this.courseId = this.$route.query.course_id;\r\n    await this.getCourseAudioList();\r\n    // if(this.courseId != this.$route.query.course_id) {\r\n    //   this.courseId = this.$route.query.course_id;\r\n    // } else {\r\n    //   if (this.audios.length) {\r\n    //     const currentIndex = this.audios.findIndex(item => {\r\n    //       return item.course_audio_id == this.course_audio_id;\r\n    //     });\r\n    //     this.currentAudio = this.audios[currentIndex];\r\n    //     this.currentAlias = currentIndex;\r\n    //     this.relatedAudios = this.audios.slice();\r\n    //     this.relatedAudios.splice(currentIndex, 1);\r\n    //   }\r\n    // }\r\n    this.initCourseComplete();\r\n  },\r\n  deactivated() {\r\n    console.log(\"cultrueContent deactivated\")\r\n    this.clearCompleteInterval();\r\n    this.setCourseComplete();\r\n  },\r\n  mounted() {\r\n    this.course_audio_id = this.$route.query.course_audio_id;\r\n    this.currentTime = this.$route.query.currentTime;\r\n    this.courseId = this.$route.query.course_id;\r\n    this.toggle();\r\n  }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.content-box {\r\n  // margin-top: 12px;\r\n  flex: 1;\r\n}\r\n\r\n.box-content-name {\r\n  color: #71afbb;\r\n  font-weight: 500;\r\n  margin-bottom: 0;\r\n  padding-bottom: 12px;\r\n  // overflow-y: hidden;\r\n}\r\n.name {\r\n  cursor: pointer;\r\n}\r\n.main-content {\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n}\r\n.box {\r\n  height: 100%;\r\n  padding: 26px 32px 0 32px;\r\n  min-height: 690px;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.wrapper {\r\n  display: flex;\r\n  padding: 19px 0 0 20px;\r\n  height: 100%;\r\n  .detail-wrapper {\r\n    flex: 1;\r\n    height: 100%;\r\n    // box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);\r\n    display: flex;\r\n    flex-direction: column;\r\n    .play-box {\r\n      width: 100%;\r\n      height: 297px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      // justify-content: center;\r\n      background: #64afd5;\r\n      border-top-left-radius: 8px;\r\n      border-top-right-radius: 8px;\r\n      padding-bottom: 16px;\r\n      .play-box-cover {\r\n        width: 193px;\r\n        height: 193px;\r\n        background: #64afd5;\r\n        box-shadow: 9px 15px 40px 0px rgba(0, 0, 0, 0.33);\r\n        border-radius: 4px;\r\n        padding: 18px;\r\n        margin-top: 38px;\r\n        margin-bottom: 34px;\r\n        display: flex;\r\n        flex-direction: column;\r\n        .course_name {\r\n          align-self: flex-end;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 15px;\r\n          color: #ffffff;\r\n          text-align: left;\r\n          font-style: normal;\r\n          -webkit-line-clamp: 1;\r\n        }\r\n        .course_audio_title_wrapper {\r\n          flex: 1;\r\n          display: flex;\r\n          align-items: center;\r\n          .course_audio_title {\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            font-weight: 300;\r\n            font-size: 36px;\r\n            color: #ffffff;\r\n            line-height: 54px;\r\n            text-align: left;\r\n            font-style: normal;\r\n            display: flex;\r\n            align-items: center;\r\n            flex: 1;\r\n            span {\r\n              -webkit-line-clamp: 2;\r\n            }\r\n          }\r\n          .course_audio_title1 {\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            font-weight: 300;\r\n            font-size: 28px;\r\n            color: #ffffff;\r\n            line-height: 35px;\r\n            text-align: left;\r\n            font-style: normal;\r\n            span {\r\n              -webkit-line-clamp: 3;\r\n            }\r\n          }\r\n        }\r\n        img {\r\n          width: 32px;\r\n          height: 32px;\r\n          align-self: flex-end;\r\n          cursor: pointer;\r\n        }\r\n      }\r\n      .audio_box {\r\n        width: 70%;\r\n        display: flex;\r\n        .audio_box_wrapper {\r\n          flex: 1;\r\n        }\r\n        img {\r\n          width: 15px;\r\n          height: 15px;\r\n          margin-left: 28px;\r\n          cursor: pointer;\r\n        }\r\n      }\r\n    }\r\n    .detail-wrapper-overflow {\r\n      background: #fff;\r\n      flex: 1;\r\n    }\r\n    .title-wrapper {\r\n      padding: 36px 38px 27px 40px;\r\n      .title {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 18px;\r\n        color: #292929;\r\n        line-height: 27px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      .course_audio_intro {\r\n        height: 40px;\r\n        margin: 11px 0 23px 0;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #7e878c;\r\n        line-height: 20px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        -webkit-line-clamp: 2;\r\n      }\r\n      .btns {\r\n        display: flex;\r\n        .download,\r\n        .collect {\r\n          width: 100px;\r\n          height: 32px;\r\n          display: flex;\r\n          justify-content: center;\r\n          align-items: center;\r\n          border-radius: 16px;\r\n          border: 1px solid #64afd5;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #64afd5;\r\n          line-height: 18px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          cursor: pointer;\r\n          img {\r\n            width: 17px;\r\n            height: 15px;\r\n            margin-right: 6px;\r\n          }\r\n        }\r\n        .collect {\r\n          margin-left: 31px;\r\n        }\r\n      }\r\n    }\r\n    .alias-detail {\r\n      border-top: 1px solid #d4d9db;\r\n    }\r\n    .alias-wrapper {\r\n      padding: 24px 41px 42px;\r\n      .alias-title {\r\n        .audio-select {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 16px;\r\n          color: #292929;\r\n          line-height: 24px;\r\n          padding-left: 10px;\r\n          padding-right: 14px;\r\n          position: relative;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 10px;\r\n            left: 0;\r\n            width: 4px;\r\n            height: 4px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #64afd5;\r\n          }\r\n        }\r\n        .audio-num {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n          color: #7e878c;\r\n          line-height: 21px;\r\n        }\r\n      }\r\n      .alias {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        padding-top: 15px;\r\n        .alia {\r\n          width: 77px;\r\n          height: 32px;\r\n          border-radius: 16px;\r\n          border: 1px solid #7e878c;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n          line-height: 32px;\r\n          color: #7e878c;\r\n          text-align: center;\r\n          font-style: normal;\r\n          margin-right: 20px;\r\n          cursor: pointer;\r\n          // display: flex;\r\n          justify-content: center;\r\n          align-items: center;\r\n          margin-top: 10px;\r\n          -webkit-line-clamp: 1;\r\n        }\r\n        .alias-active {\r\n          background: #64afd5;\r\n          color: #ffffff;\r\n          border: 1px solid #64afd5;\r\n        }\r\n      }\r\n    }\r\n    .detail {\r\n      padding: 0 41px;\r\n      .detail-title {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 16px;\r\n        color: #292929;\r\n        line-height: 24px;\r\n        padding-left: 10px;\r\n        padding-right: 14px;\r\n        position: relative;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 10px;\r\n          left: 0;\r\n          width: 4px;\r\n          height: 4px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #64afd5;\r\n        }\r\n      }\r\n      .detail-content {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 16px;\r\n        color: #7e878c;\r\n        line-height: 29px;\r\n        text-align: justify;\r\n        font-style: normal;\r\n        padding-bottom: 40px;\r\n      }\r\n    }\r\n  }\r\n  .list {\r\n    width: 388px;\r\n    padding: 11px 33px 11px 42px;\r\n    height: 100%;\r\n    .related-title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #64afd5;\r\n      line-height: 24px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n    .list-box {\r\n      height: 100%;\r\n      .list-item {\r\n        display: flex;\r\n        padding-bottom: 22px;\r\n        padding-top: 23px;\r\n        cursor: pointer;\r\n        &:not(:last-of-type) {\r\n          border-bottom: 1px solid #eaedef;\r\n        }\r\n        .list-item-cover {\r\n          width: 100px;\r\n          height: 100px;\r\n          background: #64afd5;\r\n          box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n            3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n          border-radius: 4px;\r\n          padding: 11px 9px 11px 10px;\r\n          display: flex;\r\n          flex-direction: column;\r\n          cursor: pointer;\r\n          .list-item-cover-title {\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            font-weight: 400;\r\n            font-size: 18px;\r\n            color: #ffffff;\r\n            line-height: 23px;\r\n            text-align: left;\r\n            font-style: normal;\r\n            flex: 1;\r\n            display: flex;\r\n            align-items: center;\r\n            span {\r\n              -webkit-line-clamp: 1;\r\n            }\r\n          }\r\n          .list-item-cover-title1 {\r\n            span {\r\n              font-size: 14px;\r\n              line-height: 18px;\r\n              -webkit-line-clamp: 3;\r\n            }\r\n          }\r\n          img {\r\n            width: 25px;\r\n            height: 25px;\r\n            margin-top: 5px;\r\n            align-self: flex-end;\r\n            cursor: pointer;\r\n          }\r\n        }\r\n        .list-item-content {\r\n          display: flex;\r\n          flex-direction: column;\r\n          justify-content: space-between;\r\n          padding-left: 7px;\r\n          cursor: pointer;\r\n          .title {\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            font-weight: 500;\r\n            font-size: 14px;\r\n            color: #292929;\r\n            line-height: 21px;\r\n            text-align: left;\r\n            font-style: normal;\r\n          }\r\n          .operates-wrapper {\r\n            .course_name {\r\n              font-family: SourceHanSansCN, SourceHanSansCN;\r\n              font-weight: 400;\r\n              font-size: 12px;\r\n              color: #7e878c;\r\n              line-height: 18px;\r\n              text-align: left;\r\n              font-style: normal;\r\n            }\r\n            .operates {\r\n              padding-top: 4px;\r\n              display: flex;\r\n              align-items: center;\r\n              img {\r\n                width: 11px;\r\n                height: 10px;\r\n                cursor: pointer;\r\n                &:last-of-type {\r\n                  margin-left: 10px;\r\n                  margin-right: 5px;\r\n                }\r\n              }\r\n              span {\r\n                font-family: SourceHanSansCN, SourceHanSansCN;\r\n                font-weight: 400;\r\n                font-size: 12px;\r\n                color: #64afd5;\r\n                line-height: 18px;\r\n                text-align: left;\r\n                font-style: normal;\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n/deep/ .onlyShowBar {\r\n  width: 100%;\r\n  justify-content: center;\r\n}\r\n/deep/ .audio {\r\n  width: 100% !important;\r\n}\r\n/deep/ .onlyShowBar_time {\r\n  color: #ffffff !important;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContentAudioDetail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content bg-white\",class:[\n    !_vm.isContained\n      ? _vm.isOpen\n        ? 'big-view-box-page'\n        : 'outof-big-view-box-page'\n      : ''\n  ]},[_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"box-content-name name\",class:_vm.isContained ? 'isContained' : '',on:{\"click\":_vm.back}},[(_vm.isContained)?_c('img',{class:['full_page_eye', 'icon_eye'],attrs:{\"src\":'/static/img/culture.svg'}}):_vm._e(),_vm._v(\"\\n      课程内容\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\"},[_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"detail-wrapper\"},[_c('div',{staticClass:\"play-box\"},[_c('div',{staticClass:\"play-box-cover\"},[_c('div',{staticClass:\"course_name ellipsis-content\"},[_vm._v(\"\\n                \"+_vm._s(_vm.currentAudio.course_name || \"\")+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"course_audio_title_wrapper\"},[_c('div',{staticClass:\"course_audio_title\",class:[\n                    _vm.currentAudio.course_audio_title &&\n                    _vm.currentAudio.course_audio_title.length > 4\n                      ? 'course_audio_title1'\n                      : ''\n                  ]},[_c('span',{staticClass:\"ellipsis-content\"},[_vm._v(_vm._s(_vm.currentAudio.course_audio_title || \"\"))])])]),_vm._v(\" \"),(!_vm.playing)?_c('img',{attrs:{\"src\":require(\"@/assets/img/play_detail.svg\")},on:{\"click\":_vm.playAudio}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/play_detail_pause.png\")},on:{\"click\":_vm.pauseAudio}})]),_vm._v(\" \"),_c('div',{staticClass:\"audio_box\"},[_c('div',{staticClass:\"audio_box_wrapper\"},[_c('AudioCom',{ref:\"audioCom\",attrs:{\"bgColor\":'#ffffff',\"progressColor\":'rgba(255,255,255,0.1)',\"title\":'',\"url\":_vm.currentAudio\n                      ? _vm.currentAudio.course_audio_url_oss\n                      : '',\"currentTimeProp\":_vm.currentTime + '',\"needPlay\":_vm.needPlay,\"onlyShowBar\":true,\"onlyShowBarPlay\":false},on:{\"play\":_vm.play,\"pause\":_vm.pause,\"changeCurrentTime\":_vm.changeCurrentTime}})],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"detail-wrapper-overflow\"},[_c('div',{staticClass:\"title-wrapper\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n                \"+_vm._s(_vm.currentAudio.course_audio_title +\n                    \"  \" +\n                    _vm.currentAudio.course_audio_title_alias)+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"course_audio_intro ellipsis-content\"},[_vm._v(\"\\n                \"+_vm._s(_vm.currentAudio.course_audio_intro || '暂无简介')+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"btns\"},[_c('div',{staticClass:\"download\",on:{\"click\":function($event){return _vm.fileDownload(\n                      _vm.currentAudio.course_audio_url_oss,\n                      _vm.currentAudio.course_audio_id\n                    )}}},[(!_vm.loadings[_vm.currentAudio.course_audio_id])?_c('img',{attrs:{\"src\":require(\"@/assets/img/download.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/audio_download_disabled.png\")}}),_vm._v(\"\\n                  下载音频\\n                \")]),_vm._v(\" \"),_c('div',{staticClass:\"collect\",on:{\"click\":function($event){return _vm.addUserCollection(\n                      _vm.currentAudio.course_audio_id,\n                      _vm.currentAudio.is_collect == 1 ? 2 : 1,\n                      _vm.currentAlias\n                    )}}},[(_vm.currentAudio.is_collect == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/collection.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/collect_video.svg\")}}),_vm._v(\"\\n                  \"+_vm._s(_vm.currentAudio.is_collect == 1 ? \"取消收藏\" : \"收藏音频\")+\"\\n                \")])])]),_vm._v(\" \"),(!_vm.noShowALias)?_c('div',{staticClass:\"alias-detail\"},[_c('div',{staticClass:\"alias-wrapper\"},[_c('div',{staticClass:\"alias-title\"},[_c('span',{staticClass:\"audio-select\"},[_vm._v(\"选集\")]),_vm._v(\" \"),_c('span',{staticClass:\"audio-num\"},[_vm._v(\"共\"+_vm._s(_vm.audios.length)+\"集\")])]),_vm._v(\" \"),_c('div',{staticClass:\"alias\"},_vm._l((_vm.audios),function(item,index){return _c('div',{key:'alias' + index,staticClass:\"ellipsis-content alia\",class:[_vm.currentAlias === index ? 'alias-active' : ''],on:{\"click\":function($event){return _vm.selectAudio(item, index)}}},[_vm._v(_vm._s(item.course_audio_title_alias))])}),0)]),_vm._v(\" \"),(false)?_c('div',{staticClass:\"detail\"},[_c('div',{staticClass:\"detail-title\"},[_vm._v(\"内容详情\")]),_vm._v(\" \"),_c('div',{staticClass:\"detail-content\"},[_vm._v(\"\\n                  \"+_vm._s(_vm.currentAudio.course_audio_content)+\"\\n                \")])]):_vm._e()]):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"list\"},[_c('div',{staticClass:\"related-title\"},[_vm._v(\"相关音频\")]),_vm._v(\" \"),(_vm.relatedAudios.length && !_vm.noShowALias)?_c('div',{staticClass:\"list-box\"},_vm._l((_vm.relatedAudios),function(item,index){return _c('div',{key:'list' + index,staticClass:\"list-item\",on:{\"click\":function($event){return _vm.selectAudio1(item)}}},[_c('div',{staticClass:\"list-item-cover\"},[_c('div',{staticClass:\"list-item-cover-title\",class:[\n                    item.course_audio_title &&\n                    item.course_audio_title.length > 4\n                      ? 'list-item-cover-title1'\n                      : ''\n                  ]},[_c('span',{staticClass:\"ellipsis-content\"},[_vm._v(_vm._s(item.course_audio_title))])]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/play_detail.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"list-item-content\"},[_c('div',{staticClass:\"title ellipsis-content\"},[_vm._v(\"\\n                  \"+_vm._s(item.course_audio_title +\n                      \"  \" +\n                      item.course_audio_title_alias)+\"\\n                \")]),_vm._v(\" \"),_c('div',{staticClass:\"operates-wrapper\"},[_c('div',{staticClass:\"course_name\"},[_vm._v(_vm._s(item.course_name))]),_vm._v(\" \"),_c('div',{staticClass:\"operates\",on:{\"click\":function($event){return _vm.operates($event)}}},[(!_vm.loadings[item.course_audio_id])?_c('img',{attrs:{\"src\":require(\"@/assets/img/download.svg\")},on:{\"click\":function($event){return _vm.fileDownload(\n                          item.course_audio_url_oss,\n                          item.course_audio_id,\n                          $event\n                        )}}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/audio_download_disabled.png\")}}),_vm._v(\" \"),(item.is_collect == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/collection.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/collect_video.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.course_audio_collection_num))])])])])])}),0):_vm._e(),_vm._v(\" \"),(!_vm.relatedAudios.length || _vm.noShowALias)?_c('NoData'):_vm._e()],1)])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0e1eff50\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContentAudioDetail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0e1eff50\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContentAudioDetail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentAudioDetail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContentAudioDetail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0e1eff50\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContentAudioDetail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0e1eff50\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContentAudioDetail.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"culture menuArrows icon-to-component-menus\" id=\"cuture\">\r\n    <!-- 课程内容 -->\r\n    <div\r\n      v-if=\"cultureGuideMode === 1\"\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': selectedModule === 'CultrueContent',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'CultrueContent' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('195px'),\r\n      }\"\r\n      ref=\"CultrueContent\"\r\n      @click=\"setSelectedModule('toCultrueContent', 'CultrueContent')\"\r\n    >\r\n      <span :class=\"{\r\n        'CultrueContentA': progress_course_complete === 1,\r\n        'CultrueContentB': progress_course_complete === 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 思维导图 -->\r\n    <div\r\n      v-if=\"cultureGuideMode === 1\"\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': selectedModule === 'Mind',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'Mind' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('300px'),\r\n      }\"\r\n      ref=\"Mind\"\r\n      @click=\"setSelectedModule('toMind', 'Mind')\"\r\n    >\r\n      <span :class=\"{\r\n        'MindA': progress_mindmap_num > 0,\r\n        'MindB': progress_mindmap_num == 0\r\n      }\"></span>\r\n    </div>\r\n\r\n\r\n    <div>\r\n      <div class=\"course-steps\">\r\n        <el-steps direction=\"vertical\">\r\n          <el-step title=\"\">\r\n            <i\r\n              v-if=\"progress_course_complete === 1\"\r\n              class=\"stepicon stepicondone\"\r\n              slot=\"icon\"\r\n            ></i>\r\n            <i v-else class=\"stepicon icon3\" slot=\"icon\"></i>\r\n            <div\r\n              id=\"index_step11\"\r\n              slot=\"description\"\r\n              @click=\"setSelectedModule('toCultrueContent', 'CultrueContent')\"\r\n            >\r\n              <el-card\r\n                v-show=\"cultureGuideMode === 1\"\r\n                :class=\"{\r\n                  'menubox-card': true,\r\n                  'menubox-card-selected': whiteCom === 'CultrueContent'\r\n                }\"\r\n              >\r\n                <div\r\n                  v-if=\"progress_course_complete === 1\"\r\n                  class=\"status endFont\"\r\n                >\r\n                  已完成\r\n                </div>\r\n                <div class=\"status\" v-else>进行中</div>\r\n                <div class=\"name\" v-if=\"app_type == 2\">课程内容</div>\r\n                <div class=\"name\" v-else>内容</div>\r\n                <div\r\n                  v-if=\"\r\n                    course &&\r\n                      course.course_intro_isuseradd == 2 &&\r\n                      course.course_isuseradd == 2\r\n                  \"\r\n                  class=\"content prewrap-content\"\r\n                  :class=\"[app_type == 2 && course.course_intro_isuseradd == 2 ? 'content2' : '']\"\r\n                  v-html=\"course.course_intro_short || ''\"\r\n                ></div>\r\n                <div\r\n                  v-else-if=\"course && course.course_intro\"\r\n                  class=\"content1 prewrap-content\"\r\n                  :class=\"[app_type == 2 && course.course_intro_isuseradd == 2 ? 'content2' : '']\"\r\n                  v-html=\"course.course_intro_short\"\r\n                ></div>\r\n\r\n                <div\r\n                  class=\"add_wrapper\"\r\n                  v-else\r\n                  :style=\"{\r\n                    paddingBottom:\r\n                      app_type == 2 &&\r\n                      course.course_intro_isuseradd == 2 &&\r\n                      (audioLen || videoLen || course.course_intro)\r\n                        ? $px2rem('24px')\r\n                        : $px2rem('24px')\r\n                  }\"\r\n                >\r\n                  <div\r\n                    class=\"none_wrapper1\"\r\n                    v-if=\"course && course.course_isuseradd == 3\"\r\n                  ></div>\r\n                  <div class=\"none_wrapper\" v-else>\r\n                    <img src=\"@/assets/img/culture_add.png\" />\r\n                    <p v-if=\"app_type == '2'\">添加课程内容</p>\r\n                    <p v-else>添加内容</p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div\r\n                  class=\"operates\"\r\n                  v-if=\"\r\n                    app_type == 2 &&\r\n                      course.course_intro_isuseradd == 2\r\n                  \"\r\n                >\r\n                  <img\r\n                    v-if=\"(courseBase && courseBase.course_intro_isedit == 2 && (courseBase.course_intro_pdf != '' || courseBase.course_intro !== '' )) || courseBase.book_id != ''\"\r\n                    src=\"@/assets/img/culture_font.svg\"\r\n                    @click=\"openCultureDrawer(1)\"\r\n                  />\r\n                  <img\r\n                    v-if=\"videoLen > 0\"\r\n                    src=\"@/assets/img/culture_video.svg\"\r\n                    @click=\"openCultureDrawer(2)\"\r\n                  />\r\n                  <img\r\n                    v-if=\"audioLen > 0\"\r\n                    src=\"@/assets/img/culture_audio.svg\"\r\n                    @click=\"openCultureDrawer(3)\"\r\n                  />\r\n                </div>\r\n\r\n\r\n              </el-card>\r\n              <!--              引导模式开始-->\r\n              <el-card\r\n                v-if=\"cultureGuideMode === 0\"\r\n                class=\"menubox-card menubox-card-selected\"\r\n              >\r\n\r\n                <div class=\"status\">进行中</div>\r\n                <div class=\"name\">课程内容</div>\r\n                <div\r\n                  class=\"content prewrap-content\"\r\n                  :style=\"{\r\n                    marginBottom: $px2rem('32px')\r\n                  }\"\r\n                >人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解...\r\n                </div>\r\n                <div class=\"operates\" v-if=\"app_type == 2\">\r\n                  <img src=\"@/assets/img/culture_font.svg\" />\r\n                  <img src=\"@/assets/img/culture_video.svg\" />\r\n                  <img src=\"@/assets/img/culture_audio.svg\" />\r\n                </div>\r\n                <div class=\"operates\" v-else>\r\n                </div>\r\n                <img\r\n                  class=\"imageArrow\"\r\n                  :style=\"{\r\n                    top: $px2rem('195px'),\r\n                    left: whiteCom === 'CultrueContent' ? $px2rem('254px') : ''\r\n                  }\"\r\n                  src=\"@/assets/img/culture_arrow.svg\"\r\n                />\r\n              </el-card>\r\n              <!--              引导模式结束-->\r\n            </div>\r\n          </el-step>\r\n          <el-step title=\"\">\r\n            <i\r\n              v-if=\"progress_mindmap_num > 0\"\r\n              id=\"mindmap_step bottomLine\"\r\n              class=\"stepicon stepicondone\"\r\n              slot=\"icon\"\r\n            ></i>\r\n            <i\r\n              v-else\r\n              id=\"mindmap_step bottomLine\"\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"\r\n            ></i>\r\n            <div\r\n              id=\"index_step12\"\r\n              slot=\"description\"\r\n              @click=\"setSelectedModule('toMind', 'Mind')\"\r\n            >\r\n              <el-card\r\n                v-show=\"cultureGuideMode === 1\"\r\n                :class=\"{\r\n                  'menubox-card': true,\r\n                  'menubox-card-selected': whiteCom === 'Mind'\r\n                }\"\r\n              >\r\n                <div v-if=\"progress_mindmap_num > 0\" class=\"status endFont\">\r\n                  已完成\r\n                </div>\r\n                <div v-else class=\"status\">未开始</div>\r\n                <div class=\"mindmap\">\r\n                  <div class=\"name\">思维导图</div>\r\n                  <img\r\n                    v-if=\"progress_mindmap_num > 0\"\r\n                    src=\"@/assets/img/guide_done.svg\"\r\n                    :class=\"\r\n                      whiteCom === 'Mind'\r\n                        ? 'contentItemAni'\r\n                        : 'contentItemAniLeave'\r\n                    \"\r\n                  />\r\n                  <img\r\n                    v-else\r\n                    src=\"@/assets/img/guide.png\"\r\n                    :class=\"\r\n                      whiteCom === 'Mind'\r\n                        ? 'contentItemAni'\r\n                        : 'contentItemAniLeave'\r\n                    \"\r\n                  />\r\n\r\n                </div>\r\n              </el-card>\r\n\r\n              <!--              思维导图引导模式开始-->\r\n              <el-card\r\n                v-if=\"cultureGuideMode === 0\"\r\n                class=\"menubox-card menubox-card-selected\"\r\n              >\r\n                <div class=\"status\">未开始</div>\r\n                <div class=\"mindmap\">\r\n                  <div class=\"name\">思维导图</div>\r\n                  <img\r\n                    src=\"@/assets/img/guide.png\"\r\n                    class=\"contentItemAniLeave\"\r\n                  />\r\n                  <img\r\n                    src=\"@/assets/img/culture_arrow.svg\"\r\n                    class=\"imageArrow guide_imageArrow_1\"\r\n                    :style=\"{\r\n                      top: $px2rem('74px'),\r\n                      left: whiteCom === 'Mind' ? $px2rem('254px') : ''\r\n                    }\"\r\n                  />\r\n                </div>\r\n              </el-card>\r\n              <!--              思维导图引导模式结束-->\r\n            </div>\r\n          </el-step>\r\n        </el-steps>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  EventBus,\r\n  WHITE_CULTURE_MIND,\r\n  WHITE_CULTURE_CONTENT\r\n} from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nimport \"quill/dist/quill.core.css\";\r\nimport \"quill/dist/quill.snow.css\";\r\nimport \"quill/dist/quill.bubble.css\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  props: {\r\n    showTaskProgress: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  components: {},\r\n  data() {\r\n    return {\r\n      isMobile: this.getIsMobile(),\r\n      selectedModuleBefore: '',// 上一个选中的\r\n      selectedModule: '', // 当前选中的\r\n      course: {},\r\n      progress_mindmap_num: 0, // 思维导图数量\r\n      progress_course_complete: 0,\r\n      isHoverMind: false,\r\n      isHoverCultureContent: false,\r\n      isChangeCourse: false,\r\n      app_type: 1,\r\n      audioLen: 0,\r\n      videoLen: 0,\r\n      cultureGuideMode: 1 //0：引导模式，1：非引导模式\r\n    };\r\n  },\r\n  computed: {\r\n    // 更新数据\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    whiteCom() {\r\n      this.selectedModule = this.$store.getters.whiteCom;\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    }\r\n  },\r\n  watch: {\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.progress_mindmap_num = this.courseProgress.progress_mindmap_num;\r\n          this.progress_course_complete = this.courseProgress.progress_course_complete;\r\n          // 课程内容\r\n          if (\r\n            v.progress_course_complete === 1 &&\r\n            this.whiteCom === \"CultrueContent\"\r\n          ) {\r\n            this.progress_course_complete = v.progress_course_complete;\r\n            this.isHoverCultureContent = true;\r\n          } else if (this.whiteCom === \"CultrueContent\") {\r\n            this.progress_course_complete = v.progress_course_complete;\r\n          }\r\n          // 思维导图\r\n          if (v.progress_mindmap_num > 0 && this.whiteCom === \"Mind\") {\r\n            this.progress_mindmap_num = v.progress_mindmap_num;\r\n            this.isHoverMind = true;\r\n          } else if (this.whiteCom === \"Mind\") {\r\n            this.progress_mindmap_num = v.progress_mindmap_num;\r\n          }\r\n        }\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.isChangeCourse = true;\r\n        if (this.$refs[\"ImageArrowIntro\"]) {\r\n          this.$refs[\"ImageArrowIntro\"].classList.value = \"imageArrow\";\r\n        }\r\n        if (this.$refs[\"ImageArrowMind\"]) {\r\n          this.$refs[\"ImageArrowMind\"].classList.value = \"imageArrow\";\r\n        }\r\n\r\n        this.isHoverCultureContent = false;\r\n        this.isHoverMind = false;\r\n        if (v) {\r\n          this.course = v;\r\n        } else {\r\n          this.course = {};\r\n        }\r\n      }\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(newVal, oldVal) {\r\n        this.isChangeCourse = false;\r\n        this.$nextTick(() => {\r\n          this.selectedModule = newVal;\r\n        });\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    toCultrueContentCard(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      // 点击卡片时,如果已完成先把图片转换成箭头,然后再执行点击事件\r\n      if (this.progress_course_complete === 1) {\r\n        this.isHoverCultureContent = true;\r\n        this.$nextTick(() => {\r\n          this.toCultrueContent(\"ImageArrowCultureComplete\", e);\r\n        });\r\n      } else {\r\n        this.toCultrueContent(\"ImageArrowIntro\", e);\r\n      }\r\n    },\r\n    toCultrueContent(refName, e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      EventBus.$emit(WHITE_CULTURE_CONTENT);\r\n    },\r\n    toMindCard(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      // 点击卡片时,如果已完成先把图片转换成箭头,然后再执行点击事件\r\n      if (this.progress_mindmap_num > 0) {\r\n        this.isHoverMind = true;\r\n        this.$nextTick(() => {\r\n          this.toMind(\"ImageArrowMindComplete\", e);\r\n        });\r\n      } else {\r\n        this.toMind(\"ImageArrowMind\", e);\r\n      }\r\n    },\r\n    toMind(refName) {\r\n      // 动效\r\n      EventBus.$emit(WHITE_CULTURE_MIND);\r\n    },\r\n    openCultureDrawer(type) {\r\n      EventBus.$emit(\"openCultureDrawer\", type);\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    if (this.courseBase) {\r\n      this.course = this.courseBase;\r\n    }\r\n    if (this.courseProgress) {\r\n      this.progress_mindmap_num = this.courseProgress.progress_mindmap_num;\r\n      // 法义阅读次数\r\n      this.progress_course_complete = this.courseProgress.progress_course_complete;\r\n    }\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    EventBus.$on(\"getCourseAudioListLength\", len => {\r\n      this.audioLen = len;\r\n    });\r\n    EventBus.$on(\"getCourseVideoListLength\", len => {\r\n      this.videoLen = len;\r\n    });\r\n    EventBus.$on(\"setCultureGuideMode\", status => {\r\n      this.cultureGuideMode = status;\r\n    });\r\n    EventBus.$on(\"setSelectedModule\", (callBackName, whiteCom) => {\r\n      if(!this.showTaskProgress) {\r\n        this.setSelectedModule(callBackName, whiteCom)\r\n      }\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n@import \"~@/assets/styles/menus.less\";\r\n\r\n\r\n.add_wrapper {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding-bottom: 41px;\r\n  .none_wrapper1 {\r\n    width: 120px;\r\n    height: 120px;\r\n  }\r\n  .none_wrapper {\r\n    width: 120px;\r\n    height: 120px;\r\n    background-image: url(\"~@/assets/img/culture_addcircle.png\");\r\n    background-repeat: no-repeat;\r\n    background-size: 120px 120px;\r\n    background-position: top left;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #71afbb;\r\n    line-height: 21px;\r\n    text-align: center;\r\n    img {\r\n      margin: 29px 0 8px 0;\r\n      width: 24px;\r\n      height: 24px;\r\n    }\r\n  }\r\n}\r\n.culture {\r\n  width: 100%;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: flex-start;\r\n  position: relative;\r\n  /deep/ .el-step__main {\r\n    width: 100%;\r\n    padding-left: 6px;\r\n  }\r\n}\r\n.course-steps {\r\n  .stepicondone {\r\n    background: #71afbb;\r\n    border: 2px solid #71afbb;\r\n  }\r\n  /deep/.el-step__icon {\r\n    width: 10px;\r\n    height: 10px;\r\n    background: none;\r\n    left: 7px;\r\n    top: -6px;\r\n  }\r\n  /deep/.is-text {\r\n    border-radius: 100%;\r\n    border: none;\r\n  }\r\n  .endFont {\r\n    color: #71afbb;\r\n  }\r\n  .icon2 {\r\n    background: #71afbb;\r\n    border: 2px solid #71afbb;\r\n  }\r\n  .icon3 {\r\n    background: #a9cfd6;\r\n    border: 2px solid #71afbb;\r\n  }\r\n}\r\n\r\n/deep/.el-step__description {\r\n  padding-right: 0;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__head {\r\n  margin-top: 43px;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__line {\r\n  bottom: -43px;\r\n  top: 2px;\r\n}\r\n/deep/ .el-card__body {\r\n  padding: 16px 12px;\r\n  overflow: hidden;\r\n}\r\n/deep/ .el-card {\r\n  width: 100%;\r\n  cursor: pointer;\r\n}\r\n.content {\r\n  overflow: hidden;\r\n  text-overflow: ellipsis;\r\n  padding: 10px 0 0;\r\n  // min-width: 183px;\r\n  width: 100%;\r\n  -webkit-line-clamp: 4;\r\n  -webkit-box-orient: vertical;\r\n  display: -webkit-box;\r\n  white-space: pre-wrap;\r\n  height: 92px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7e878c;\r\n  line-height: 21px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n  margin-bottom: 46px;\r\n}\r\n.content1 {\r\n  overflow: hidden;\r\n  text-overflow: ellipsis;\r\n  padding: 10px 0 0;\r\n  // min-width: 183px;\r\n  width: 100%;\r\n  -webkit-line-clamp: 4;\r\n  // -webkit-box-orient: vertical;\r\n  // display: -webkit-box;\r\n  // white-space: pre-wrap;\r\n  height: 92px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7e878c;\r\n  line-height: 21px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n  margin-bottom: 47px;\r\n}\r\n.content2 {\r\n  margin-bottom: 36px;\r\n}\r\n.operates {\r\n  display: flex;\r\n  height: 16px;\r\n  // margin-top: 16px;\r\n  img {\r\n    color: #c5c9cd;\r\n    width: 16px;\r\n    height: 16px;\r\n    &:not(:first-of-type) {\r\n      margin-left: 7px;\r\n    }\r\n  }\r\n}\r\n.mindmap {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: flex-start;\r\n  padding-bottom: 13px;\r\n  height: 59px;\r\n  .name {\r\n    padding-right: 14px;\r\n    padding-bottom: 0;\r\n  }\r\n  img {\r\n    width: 47px;\r\n    height: 46px;\r\n    left: 125px;\r\n    transition: all 0.2s;\r\n    animation: none;\r\n  }\r\n  .guide_imageArrow_1{\r\n    left: 178px;\r\n  }\r\n  .contentItemAniLeave{\r\n    left: 114px;\r\n  }\r\n  // img {\r\n  //   width: 48px;\r\n  // }\r\n}\r\n.culture_arrow {\r\n  position: absolute;\r\n  top: 8px;\r\n  right: 0;\r\n  width: 39px;\r\n  height: 39px;\r\n}\r\n.contentItemAni {\r\n  left: 114px;\r\n  position: absolute;\r\n  // transition: left 0.3 ease-in-out;\r\n  -webkit-animation: transition6 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition6 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition6 {\r\n  0% {\r\n    left: 114px;\r\n  }\r\n  100% {\r\n    left: 130px;\r\n  }\r\n}\r\n.contentItemAniLeave {\r\n  left: 114px;\r\n  position: absolute;\r\n  -webkit-animation: transition7 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition7 0.3s ease-in-out;\r\n}\r\n@-webkit-keyframes transition7 {\r\n  0% {\r\n    left: 130px;\r\n  }\r\n  100% {\r\n    left: 114px;\r\n  }\r\n}\r\n\r\n/deep/.is-text::after{\r\n  content: '';\r\n  position: absolute;\r\n  top: 10px;\r\n  left: 50%;\r\n  width: 2px;\r\n  background: #d4d9db;\r\n  transform: translate(-50%, 0);\r\n  height: 108px;\r\n  display: inline-block;\r\n}\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Culture.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"culture menuArrows icon-to-component-menus\",attrs:{\"id\":\"cuture\"}},[(_vm.cultureGuideMode === 1)?_c('div',{ref:\"CultrueContent\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.selectedModule === 'CultrueContent',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'CultrueContent' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('195px'),\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toCultrueContent', 'CultrueContent')}}},[_c('span',{class:{\n      'CultrueContentA': _vm.progress_course_complete === 1,\n      'CultrueContentB': _vm.progress_course_complete === 2\n    }})]):_vm._e(),_vm._v(\" \"),(_vm.cultureGuideMode === 1)?_c('div',{ref:\"Mind\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.selectedModule === 'Mind',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'Mind' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('300px'),\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toMind', 'Mind')}}},[_c('span',{class:{\n      'MindA': _vm.progress_mindmap_num > 0,\n      'MindB': _vm.progress_mindmap_num == 0\n    }})]):_vm._e(),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"course-steps\"},[_c('el-steps',{attrs:{\"direction\":\"vertical\"}},[_c('el-step',{attrs:{\"title\":\"\"}},[(_vm.progress_course_complete === 1)?_c('i',{staticClass:\"stepicon stepicondone\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon icon3\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_step11\"},on:{\"click\":function($event){return _vm.setSelectedModule('toCultrueContent', 'CultrueContent')}},slot:\"description\"},[_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cultureGuideMode === 1),expression:\"cultureGuideMode === 1\"}],class:{\n                'menubox-card': true,\n                'menubox-card-selected': _vm.whiteCom === 'CultrueContent'\n              }},[(_vm.progress_course_complete === 1)?_c('div',{staticClass:\"status endFont\"},[_vm._v(\"\\n                已完成\\n              \")]):_c('div',{staticClass:\"status\"},[_vm._v(\"进行中\")]),_vm._v(\" \"),(_vm.app_type == 2)?_c('div',{staticClass:\"name\"},[_vm._v(\"课程内容\")]):_c('div',{staticClass:\"name\"},[_vm._v(\"内容\")]),_vm._v(\" \"),(\n                  _vm.course &&\n                    _vm.course.course_intro_isuseradd == 2 &&\n                    _vm.course.course_isuseradd == 2\n                )?_c('div',{staticClass:\"content prewrap-content\",class:[_vm.app_type == 2 && _vm.course.course_intro_isuseradd == 2 ? 'content2' : ''],domProps:{\"innerHTML\":_vm._s(_vm.course.course_intro_short || '')}}):(_vm.course && _vm.course.course_intro)?_c('div',{staticClass:\"content1 prewrap-content\",class:[_vm.app_type == 2 && _vm.course.course_intro_isuseradd == 2 ? 'content2' : ''],domProps:{\"innerHTML\":_vm._s(_vm.course.course_intro_short)}}):_c('div',{staticClass:\"add_wrapper\",style:({\n                  paddingBottom:\n                    _vm.app_type == 2 &&\n                    _vm.course.course_intro_isuseradd == 2 &&\n                    (_vm.audioLen || _vm.videoLen || _vm.course.course_intro)\n                      ? _vm.$px2rem('24px')\n                      : _vm.$px2rem('24px')\n                })},[(_vm.course && _vm.course.course_isuseradd == 3)?_c('div',{staticClass:\"none_wrapper1\"}):_c('div',{staticClass:\"none_wrapper\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_add.png\")}}),_vm._v(\" \"),(_vm.app_type == '2')?_c('p',[_vm._v(\"添加课程内容\")]):_c('p',[_vm._v(\"添加内容\")])])]),_vm._v(\" \"),(\n                  _vm.app_type == 2 &&\n                    _vm.course.course_intro_isuseradd == 2\n                )?_c('div',{staticClass:\"operates\"},[((_vm.courseBase && _vm.courseBase.course_intro_isedit == 2 && (_vm.courseBase.course_intro_pdf != '' || _vm.courseBase.course_intro !== '' )) || _vm.courseBase.book_id != '')?_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_font.svg\")},on:{\"click\":function($event){return _vm.openCultureDrawer(1)}}}):_vm._e(),_vm._v(\" \"),(_vm.videoLen > 0)?_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_video.svg\")},on:{\"click\":function($event){return _vm.openCultureDrawer(2)}}}):_vm._e(),_vm._v(\" \"),(_vm.audioLen > 0)?_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_audio.svg\")},on:{\"click\":function($event){return _vm.openCultureDrawer(3)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.cultureGuideMode === 0)?_c('el-card',{staticClass:\"menubox-card menubox-card-selected\"},[_c('div',{staticClass:\"status\"},[_vm._v(\"进行中\")]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(\"课程内容\")]),_vm._v(\" \"),_c('div',{staticClass:\"content prewrap-content\",style:({\n                  marginBottom: _vm.$px2rem('32px')\n                })},[_vm._v(\"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解...\\n              \")]),_vm._v(\" \"),(_vm.app_type == 2)?_c('div',{staticClass:\"operates\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_font.svg\")}}),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_video.svg\")}}),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/culture_audio.svg\")}})]):_c('div',{staticClass:\"operates\"}),_vm._v(\" \"),_c('img',{staticClass:\"imageArrow\",style:({\n                  top: _vm.$px2rem('195px'),\n                  left: _vm.whiteCom === 'CultrueContent' ? _vm.$px2rem('254px') : ''\n                }),attrs:{\"src\":require(\"@/assets/img/culture_arrow.svg\")}})]):_vm._e()],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"}},[(_vm.progress_mindmap_num > 0)?_c('i',{staticClass:\"stepicon stepicondone\",attrs:{\"slot\":\"icon\",\"id\":\"mindmap_step bottomLine\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"mindmap_step bottomLine\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_step12\"},on:{\"click\":function($event){return _vm.setSelectedModule('toMind', 'Mind')}},slot:\"description\"},[_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cultureGuideMode === 1),expression:\"cultureGuideMode === 1\"}],class:{\n                'menubox-card': true,\n                'menubox-card-selected': _vm.whiteCom === 'Mind'\n              }},[(_vm.progress_mindmap_num > 0)?_c('div',{staticClass:\"status endFont\"},[_vm._v(\"\\n                已完成\\n              \")]):_c('div',{staticClass:\"status\"},[_vm._v(\"未开始\")]),_vm._v(\" \"),_c('div',{staticClass:\"mindmap\"},[_c('div',{staticClass:\"name\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),(_vm.progress_mindmap_num > 0)?_c('img',{class:_vm.whiteCom === 'Mind'\n                      ? 'contentItemAni'\n                      : 'contentItemAniLeave',attrs:{\"src\":require(\"@/assets/img/guide_done.svg\")}}):_c('img',{class:_vm.whiteCom === 'Mind'\n                      ? 'contentItemAni'\n                      : 'contentItemAniLeave',attrs:{\"src\":require(\"@/assets/img/guide.png\")}})])]),_vm._v(\" \"),(_vm.cultureGuideMode === 0)?_c('el-card',{staticClass:\"menubox-card menubox-card-selected\"},[_c('div',{staticClass:\"status\"},[_vm._v(\"未开始\")]),_vm._v(\" \"),_c('div',{staticClass:\"mindmap\"},[_c('div',{staticClass:\"name\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('img',{staticClass:\"contentItemAniLeave\",attrs:{\"src\":require(\"@/assets/img/guide.png\")}}),_vm._v(\" \"),_c('img',{staticClass:\"imageArrow guide_imageArrow_1\",style:({\n                    top: _vm.$px2rem('74px'),\n                    left: _vm.whiteCom === 'Mind' ? _vm.$px2rem('254px') : ''\n                  }),attrs:{\"src\":require(\"@/assets/img/culture_arrow.svg\")}})])]):_vm._e()],1)])],1)],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-72d91cf3\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Culture.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-72d91cf3\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Culture.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Culture.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Culture.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72d91cf3\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Culture.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-72d91cf3\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Culture.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"culture menuArrows icon-to-component-menus\"\r\n    id=\"Thinking\">\r\n    <!-- 问题意识 -->\r\n    <div \r\n      v-if=\"thinkingGuideMode === 1\"\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'Problem' || selectedModule === 'Problem',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'Problem' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('80px')\r\n      }\"\r\n      ref=\"Problem\"\r\n      @click=\"setSelectedModule('toProblem', 'Problem')\"\r\n    >\r\n      <span :class=\"{\r\n        'ProblemA': courseProgress && courseProgress.progress_see_question_complete === 1,\r\n        'ProblemB': courseProgress && courseProgress.progress_see_question_complete === 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 本课问题解决 -->\r\n    <div \r\n      v-if=\"thinkingGuideMode === 1\"\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'QuestionList' || selectedModule === 'QuestionList',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'QuestionList' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('217px')\r\n      }\"\r\n      ref=\"QuestionList\"\r\n      @click=\"setSelectedModule('toQuestionList', 'QuestionList')\"\r\n    >\r\n      <span :class=\"{\r\n        'QuestionListA': courseProgress && courseProgress.progress_solve_question_complete === 1,\r\n        'QuestionListB': courseProgress && courseProgress.progress_solve_question_complete === 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 观念观修文 -->\r\n    <div \r\n      v-if=\"thinkingGuideMode === 1\"\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'TipsView' || selectedModule === 'TipsView',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'TipsView' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('330px')\r\n      }\"\r\n      ref=\"TipsView\"\r\n      @click=\"setSelectedModule('toMeditateDetail', 'TipsView')\"\r\n    >\r\n      <span :class=\"{\r\n        'TipsViewA': courseProgress && courseProgress.progress_meditate_siwei_complete == 1,\r\n        'TipsViewB': courseProgress && courseProgress.progress_meditate_siwei_complete == 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <div class=\"course-steps\">\r\n      <el-steps direction=\"vertical\">\r\n        <el-step title=\"\">\r\n          <i v-if=\"\r\n              courseProgress &&\r\n                courseProgress.progress_see_question_complete === 1\r\n            \"\r\n            id=\"problem_step\"\r\n            class=\"stepicon stepicondone\"\r\n            slot=\"icon\"></i>\r\n          <i v-else\r\n            id=\"problem_step\"\r\n            class=\"stepicon unstepicon\"\r\n            style=\"background: #dee5ea; border: 2px solid #d4d9db\"\r\n            slot=\"icon\"></i>\r\n\r\n          <!-- <i\r\n            v-else\r\n            id=\"problem_step\"\r\n            class=\"stepicon unstepicon1\"\r\n            slot=\"icon\"\r\n          ></i> -->\r\n          <div id=\"index_step13\"\r\n            slot=\"description\"\r\n            @click=\"setSelectedModule('toProblem', 'Problem')\"\r\n          >\r\n            <el-card v-show=\"thinkingGuideMode === 1\"\r\n              :class=\"{\r\n                'menubox-card': true,\r\n                'menubox-card-selected': whiteCom === 'Problem'\r\n              }\">\r\n              <div class=\"status endFont\"\r\n                v-if=\"\r\n                  courseProgress &&\r\n                    courseProgress.progress_see_question_complete === 1\r\n                \">\r\n                已完成\r\n              </div>\r\n              <div class=\"status\"\r\n                v-else>未完成</div>\r\n              <div class=\"consciousness\">\r\n                <div class=\"name\">问题意识</div>\r\n                <div class=\"circleBox\"\r\n                  :class=\"\r\n                    whiteCom === 'Problem'\r\n                      ? 'contentItemAni'\r\n                      : 'contentItemAniLeave'\r\n                  \">\r\n                  <el-progress type=\"circle\"\r\n                    color=\"#64AFD5\"\r\n                    :percentage=\"questionSeePer\"\r\n                    :stroke-width=\"6\"\r\n                    :show-text=\"false\"></el-progress>\r\n                  <div class=\"circleCenter num\">\r\n                    <span>{{ progress_see_question }}</span>\r\n                    <span>/{{ course_question_num }}</span>\r\n                  </div>\r\n                </div>\r\n                \r\n              </div>\r\n            </el-card>\r\n            <!--            问题意识引导模式开始-->\r\n            <el-card v-if=\"thinkingGuideMode === 0\"\r\n              class=\"menubox-card menubox-card-selected\">\r\n              <div class=\"status\">未完成</div>\r\n              <div class=\"consciousness\">\r\n                <div class=\"name\">问题意识</div>\r\n                <div class=\"circleBox contentItemAniLeave\">\r\n                  <el-progress type=\"circle\"\r\n                    color=\"#64AFD5\"\r\n                    :percentage=\"62.5\"\r\n                    :stroke-width=\"6\"\r\n                    :show-text=\"false\">\r\n                  </el-progress>\r\n                  <div class=\"circleCenter num\">\r\n                    <span>5</span>\r\n                    <span>/8</span>\r\n                  </div>\r\n                </div>\r\n                <img class=\"imageArrow\"\r\n                  :style=\"{\r\n                    top: $px2rem('80px'),\r\n                    left:whiteCom === 'Problem'\r\n                        ? $px2rem('254px')\r\n                        : ''\r\n                  }\"\r\n                  src=\"@/assets/img/think_arrow1.svg\" />\r\n              </div>\r\n            </el-card>\r\n            <!--            问题意识引导模式结束-->\r\n          </div>\r\n        </el-step>\r\n        <el-step title=\"\">\r\n          <i v-if=\"\r\n              courseProgress &&\r\n                courseProgress.progress_solve_question_complete === 1\r\n            \"\r\n            class=\"stepicon stepicondone \"\r\n            style=\"background: #64afd5; border: 2px solid #64afd5\"\r\n            slot=\"icon\"></i>\r\n          <i v-else\r\n            class=\"stepicon unstepicon\"\r\n            slot=\"icon\"></i>\r\n          <div id=\"index_step14\"\r\n            slot=\"description\"\r\n            @click=\"setSelectedModule('toQuestionList', 'QuestionList')\"\r\n          >\r\n            <el-card v-show=\"thinkingGuideMode === 1\"\r\n              :class=\"{\r\n                'menubox-card': true,\r\n                'menubox-card-selected': whiteCom === 'QuestionList'\r\n              }\">\r\n              <div class=\"status endFont\"\r\n                v-if=\"\r\n                  courseProgress &&\r\n                    courseProgress.progress_solve_question_complete === 1\r\n                \">\r\n                已完成\r\n              </div>\r\n              <div class=\"status\"\r\n                v-else>未完成</div>\r\n              <div class=\"name\">\r\n                {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n              </div>\r\n              <div class=\"progress progress1\">\r\n                <ul v-if=\"course_question_num < 10\">\r\n                  <li v-for=\"(item, index) in course_question_num\"\r\n                    :key=\"index\"\r\n                    :style=\"{\r\n                      backgroundColor:\r\n                        index < progress_solve_question ? '#64AFD5' : '#EAEDEF'\r\n                    }\"></li>\r\n                </ul>\r\n                <ul v-else>\r\n                  <li v-for=\"(item, index) in 10\"\r\n                    :key=\"index\"\r\n                    :style=\"{\r\n                      backgroundColor:\r\n                        index < progress_solve_question ? '#64AFD5' : '#EAEDEF'\r\n                    }\"></li>\r\n                </ul>\r\n                <div>\r\n                <div class=\"num\"\r\n                  :class=\"\r\n                    whiteCom === 'QuestionList'\r\n                      ? 'contentItemAni'\r\n                      : 'contentItemAniLeave'\r\n                  \">\r\n                  <span>{{ progress_solve_question }}</span>\r\n                  <span>/{{ course_question_num }}</span>\r\n                </div>\r\n              </div>\r\n               \r\n              </div>\r\n            </el-card>\r\n            <!--            问题解决引导模式开始-->\r\n            <el-card v-if=\"thinkingGuideMode === 0\"\r\n              class=\"menubox-card menubox-card-selected\">\r\n              <div class=\"status\">未完成</div>\r\n              <div class=\"name\">\r\n                本课问题解决\r\n              </div>\r\n              <div class=\"progress progress1\">\r\n                <ul>\r\n                  <li style=\"backgroundColor:#64AFD5\"></li>\r\n                  <li style=\"backgroundColor:#64AFD5\"></li>\r\n                  <li style=\"backgroundColor:#64AFD5\"></li>\r\n                  <li style=\"backgroundColor:#64AFD5\"></li>\r\n                  <li style=\"backgroundColor:#64AFD5\"></li>\r\n                  <li style=\"backgroundColor:#EAEDEF\"></li>\r\n                  <li style=\"backgroundColor:#EAEDEF\"></li>\r\n                  <li style=\"backgroundColor:#EAEDEF\"></li>\r\n                </ul>\r\n                <div class=\"num contentItemAniLeave\">\r\n                  <span>5</span>\r\n                  <span>/8</span>\r\n                </div>\r\n                <img src=\"@/assets/img/think_arrow1.svg\"\r\n                  class=\"imageArrow\"\r\n                  :style=\"{\r\n                    top: $px2rem('77px'),\r\n                    left:whiteCom === 'QuestionList'\r\n                        ? $px2rem('254px')\r\n                        : ''\r\n                  }\" />\r\n              </div>\r\n            </el-card>\r\n            <!--            问题解决引导模式结束-->\r\n          </div>\r\n        </el-step>\r\n        <el-step title=\"\">\r\n          <i v-if=\"\r\n              courseProgress &&\r\n                courseProgress.progress_meditate_siwei_complete == 1\r\n            \"\r\n            id=\"siwei_step\"\r\n            class=\"stepicon stepicondone \"\r\n            style=\"background: #64afd5; border: 2px solid #64afd5\"\r\n            slot=\"icon\"></i>\r\n          <i v-else-if=\"\r\n              courseProgress &&\r\n                courseProgress.progress_meditate_siwei_complete == 2 &&\r\n                xingweiPer === 0\r\n            \"\r\n            id=\"siwei_step\"\r\n            class=\"stepicon unstepicon\"\r\n            style=\"background: #dee5ea; border: 2px solid #d4d9db\"\r\n            slot=\"icon\"></i>\r\n\r\n          <i v-else-if=\"\r\n              courseProgress &&\r\n                courseProgress.progress_meditate_siwei_complete == 2 &&\r\n                xingweiPer > 0\r\n            \"\r\n            id=\"siwei_step\"\r\n            class=\"stepicon unstepicon1\"\r\n            slot=\"icon\"></i>\r\n          <i v-else\r\n            id=\"siwei_step\"\r\n            class=\"stepicon stepicondone \"\r\n            style=\"background: #64afd5; border: 2px solid #64afd5\"\r\n            slot=\"icon\"></i>\r\n          <div id=\"index_step15\"\r\n            class=\"siwei\"\r\n            slot=\"description\"\r\n            @click=\"setSelectedModule('toMeditateDetail', 'TipsView')\"\r\n          >\r\n            <el-card v-show=\"thinkingGuideMode === 1\"\r\n              :class=\"{\r\n                'menubox-card': true,\r\n                'menubox-card-selected': whiteCom === 'TipsView'\r\n              }\">\r\n              <div class=\"status endFont\"\r\n                v-if=\"\r\n                  courseProgress &&\r\n                    courseProgress.progress_meditate_siwei_complete == 1\r\n                \"\r\n                @click=\"play(false)\">\r\n                已完成\r\n              </div>\r\n              <div class=\"status\"\r\n                v-else\r\n                @click=\"play(false)\">未完成</div>\r\n              <div class=\"view\">\r\n                <div class=\"name\"\r\n                  @click=\"play(false)\">观修文</div>\r\n                <img v-if=\"\r\n                    whiteCom !== 'TipsView' &&\r\n                      thinkMeditate &&\r\n                      thinkMeditate.meditate_audio_url_show\r\n                  \"\r\n                  src=\"@/assets/img/play.png\"\r\n                  class=\"play\"\r\n                  @click=\"play(true)\" />\r\n                <el-button class=\"read bg-transparent\"\r\n                  v-if=\"\r\n                    thinkMeditate &&\r\n                      !thinkMeditate.meditate_audio_url_show &&\r\n                      (thinkMeditate.meditate_anzhu_text ||\r\n                        thinkMeditate.meditate_guancha_text)\r\n                  \">阅读观修文</el-button>\r\n              </div>\r\n\r\n              <div class=\"progress\"\r\n                @click=\"play(false)\"\r\n                v-if=\"\r\n                  whiteCom !== 'TipsView' ||\r\n                  (thinkMeditate && !thinkMeditate.meditate_audio_url_show)\r\n                \">\r\n                <div class=\"progressBar\">\r\n                  <div class=\"progress-circle-point\" :style=\"{ left: (xingweiPer - 3) + '%'}\"></div>\r\n                  <el-progress :percentage=\"xingweiPer\"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#64afd5'\"\r\n                    :stroke-width=\"4\"></el-progress>\r\n                  <div class=\"time\">\r\n                    <span>{{ currentTime }}</span>\r\n                    <span>{{ totalTime }}</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div v-if=\"\r\n                  whiteCom === 'TipsView' &&\r\n                    playing &&\r\n                    thinkMeditate &&\r\n                    thinkMeditate.meditate_audio_url_show\r\n                \"\r\n                class=\"playing\">\r\n                正在播放\r\n              </div>\r\n              <div v-if=\"\r\n                  whiteCom === 'TipsView' &&\r\n                    !playing &&\r\n                    thinkMeditate &&\r\n                    thinkMeditate.meditate_audio_url_show\r\n                \"\r\n                class=\"playing\">\r\n                未在播放\r\n              </div>\r\n            </el-card>\r\n            <!--            观修文引导模式开始-->\r\n            <el-card v-if=\"thinkingGuideMode === 0\"\r\n              class=\"menubox-card menubox-card-selected\">\r\n              <div class=\"status\">未完成</div>\r\n              <div class=\"view\">\r\n                <div class=\"name\">观修文</div>\r\n                <img src=\"@/assets/img/play.png\"\r\n                  class=\"play\" />\r\n              </div>\r\n              <div class=\"progress\">\r\n                <div class=\"progressBar\">\r\n                  <el-progress :percentage=\"28\"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#64afd5'\"\r\n                    :stroke-width=\"4\"></el-progress>\r\n                  <div class=\"progress-circle-point progress-circle-point1\"></div>\r\n                  <div class=\"time\">\r\n                    <span>00:12:04</span>\r\n                    <span>00:40:00</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <img src=\"@/assets/img/think_arrow1.svg\"\r\n                class=\"imageArrow\"\r\n                :style=\"{\r\n                  top: $px2rem('77px'),\r\n                  left:whiteCom === 'TipsView'\r\n                        ? $px2rem('254px')\r\n                        : ''\r\n                }\" />\r\n            </el-card>\r\n            <!--            观修文引导模式结束-->\r\n          </div>\r\n        </el-step>\r\n      </el-steps>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  EventBus,\r\n  WHITE_THINK_MEDITATE,\r\n  WHITE_THINK_MEDITATE_PAGE,\r\n  WHITE_THINK_QUESTIONLIST,\r\n  WHITE_THINK_PROBLEM,\r\n} from \"@/utils/eventBus\";\r\nimport { secTotime } from \"@/utils/util.js\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  props: {},\r\n  components: {},\r\n  data() {\r\n    return {\r\n      isMobile: this.getIsMobile(),\r\n      selectedModuleBefore: '',// 上一个选中的\r\n      selectedModule: '', // 当前选中的\r\n      timer: null,\r\n      src: null,\r\n      playing: false,\r\n      totalTime: 0,\r\n      currentTime: 0,\r\n      course_question_num: 0,\r\n      progress: {},\r\n      progress_see_question: 0,\r\n      progress_solve_question: 0,\r\n      questionSeePer: 0,\r\n      xingweiPer: 0,\r\n      isHoverProblem: false,\r\n      isHoverQuestion: false,\r\n      isHoverTipsView: false,\r\n      isChangeCourse: false,\r\n      app_type: 2,\r\n      thinkingGuideMode: 1,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    thinkMeditate() {\r\n      return this.$store.getters.thinkMeditate;\r\n    },\r\n    progress_meditate_siwei_long() {\r\n      return this.$store.getters.progress_meditate_siwei_long;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n  },\r\n  watch: {\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function (v, oldVal) {\r\n        this.formatData();\r\n        this.isChangeCourse = true;\r\n        if (this.$refs[\"ImageArrowProblem\"]) {\r\n          this.$refs[\"ImageArrowProblem\"].classList.value = \"imageArrow\";\r\n        }\r\n        if (this.$refs[\"ImageArrowQuestionList\"]) {\r\n          this.$refs[\"ImageArrowQuestionList\"].classList.value = \"imageArrow\";\r\n        }\r\n        if (this.$refs[\"ImageArrowTipsView\"]) {\r\n          this.$refs[\"ImageArrowTipsView\"].classList.value = \"imageArrow\";\r\n        }\r\n\r\n        this.isHoverTipsView = false;\r\n        this.isHoverProblem = false;\r\n        this.isHoverQuestion = false;\r\n      },\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"courseProgress:\", this.courseProgress);\r\n        this.currentTime = secTotime(\r\n          parseFloat(this.courseProgress.progress_meditate_siwei_long)\r\n        );\r\n\r\n        this.formatData();\r\n      },\r\n    },\r\n    thinkMeditate: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        this.playing = false;\r\n        console.log(\"Thingking thinkMeditate:\", this.thinkMeditate);\r\n        console.log(\r\n          \"this.progress_meditate_siwei_long:\",\r\n          this.progress_meditate_siwei_long,\r\n          this.thinkMeditate.totalTime\r\n        );\r\n\r\n        if (this.thinkMeditate && this.thinkMeditate.totalTime) {\r\n          // 观念观修文\r\n          this.totalTime = secTotime(parseFloat(this.thinkMeditate.totalTime));\r\n          this.xingweiPer =\r\n            parseFloat(\r\n              parseFloat(this.progress_meditate_siwei_long) /\r\n                this.thinkMeditate.totalTime\r\n            ).toFixed(2) * 100;\r\n          this.currentTime = secTotime(\r\n            parseFloat(this.progress_meditate_siwei_long)\r\n          );\r\n        } else {\r\n          this.xingweiPer = 0;\r\n          this.totalTime = secTotime(0);\r\n          this.currentTime = secTotime(0);\r\n        }\r\n        this.formatData();\r\n      },\r\n    },\r\n    //观念观修文\r\n    progress_meditate_siwei_long: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"progress_meditate_siwei_long:\", newVal, this.thinkMeditate.totalTime);\r\n        if (newVal && this.thinkMeditate && this.thinkMeditate.totalTime) {\r\n          // 观念观修文\r\n          this.xingweiPer =\r\n            parseFloat(\r\n              parseFloat(newVal) / this.thinkMeditate.totalTime\r\n            ).toFixed(2) * 100;\r\n            console.log(\"this.xingweiPer:\", this.xingweiPer);\r\n          this.currentTime = secTotime(\r\n            parseFloat(this.progress_meditate_siwei_long)\r\n          );\r\n        } else {\r\n          this.xingweiPer = 0;\r\n          this.currentTime = secTotime(0);\r\n        }\r\n      },\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        this.isChangeCourse = false;\r\n        if (this.whiteCom !== \"TipsView\") {\r\n          this.formatData(this.progress_meditate_siwei_long);\r\n        }\r\n        this.$nextTick(() => {\r\n          this.selectedModule = newVal;\r\n        });\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    toMeditateDetailCard(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      // 点击卡片时,如果已完成先把图片转换成箭头,然后再执行点击事件\r\n      if (\r\n        this.courseProgress &&\r\n        this.courseProgress.progress_meditate_siwei_complete == 1\r\n      ) {\r\n        this.isHoverTipsView = true;\r\n        this.$nextTick(() => {\r\n          this.toMeditateDetail(\"ImageArrowTipsViewComplete\", e);\r\n        });\r\n      } else {\r\n        this.toMeditateDetail(\"ImageArrowTipsView\", e);\r\n      }\r\n    },\r\n    toMeditateDetail(refName, e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      if (\r\n        this.thinkMeditate &&\r\n        !this.thinkMeditate.meditate_audio_url_show &&\r\n        (this.thinkMeditate.meditate_anzhu_text ||\r\n          this.thinkMeditate.meditate_guancha_text)\r\n      ) {\r\n        // 去观修文文字\r\n        // 去观修文音频\r\n        EventBus.$emit(WHITE_THINK_MEDITATE_PAGE);\r\n        let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n        if (guideStatus.meditate_1 !== 0) {\r\n          EventBus.$emit(\"toMeditateDetail\");\r\n        }\r\n      } else {\r\n        // 去观修文音频\r\n        EventBus.$emit(WHITE_THINK_MEDITATE_PAGE);\r\n      }\r\n    },\r\n    formatData() {\r\n      // if (this.thinkMeditate && this.thinkMeditate.totalTime) {\r\n      //   this.xingweiPer =\r\n      //     parseFloat(\r\n      //       parseFloat(this.courseProgress.progress_meditate_siwei_long) /\r\n      //         this.thinkMeditate.totalTime\r\n      //     ).toFixed(2) * 100;\r\n      //   console.log(\"this.xintaiPer:\", this.xingweiPer);\r\n      // } else {\r\n      //   this.xingweiPer = 0;\r\n      // }\r\n      if (this.courseBase) {\r\n        this.course_question_num = this.courseBase.course_question_num || 0;\r\n      } else {\r\n        this.course_question_num = 0;\r\n      }\r\n      if (this.courseProgress) {\r\n        if (this.courseProgress.progress_solve_question_ids) {\r\n          this.progress_solve_question =\r\n            this.courseProgress.progress_solve_question_ids.split(\",\").length;\r\n        } else {\r\n          this.progress_solve_question = 0;\r\n        }\r\n        if (this.courseProgress.progress_see_question_ids) {\r\n          this.progress_see_question =\r\n            this.courseProgress.progress_see_question_ids.split(\",\").length;\r\n        } else {\r\n          this.progress_see_question = 0;\r\n        }\r\n\r\n        if (this.course_question_num > 0) {\r\n          this.questionSeePer = parseFloat(\r\n            Number(\r\n              Number(this.progress_see_question / this.course_question_num) *\r\n                100\r\n            ).toFixed(2)\r\n          );\r\n        } else {\r\n          this.questionSeePer = 0;\r\n        }\r\n      }\r\n    },\r\n    play(playing) {\r\n      console.log(\"play:\", playing);\r\n      console.log(\"WHITE_THINK_MEDITATE:\", playing);\r\n      EventBus.$emit(WHITE_THINK_MEDITATE, playing);\r\n      EventBus.$emit(WHITE_THINK_MEDITATE_PAGE);\r\n    },\r\n    toQuestionList(refName, e) {\r\n      console.log(\"toQuestionList\");\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      EventBus.$emit(WHITE_THINK_QUESTIONLIST);\r\n    },\r\n    toProblem(refName, e) {\r\n      console.log(\"WHITE_THINK_PROBLEM\");\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      EventBus.$emit(WHITE_THINK_PROBLEM);\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    // 观念观修文\r\n    if (this.thinkMeditate && this.thinkMeditate.totalTime) {\r\n      // 观念观修文\r\n      this.totalTime = secTotime(parseFloat(this.thinkMeditate.totalTime));\r\n    } else {\r\n      this.totalTime = secTotime(0);\r\n    }\r\n    if (this.courseProgress) {\r\n      this.formatData();\r\n      this.currentTime = secTotime(\r\n        parseFloat(this.courseProgress.progress_meditate_siwei_long)\r\n      );\r\n    } else {\r\n      this.xingweiPer = 0;\r\n      this.currentTime = secTotime(0);\r\n    }\r\n    EventBus.$on(WHITE_THINK_MEDITATE, (playing) => {\r\n      this.playing = playing;\r\n    });\r\n    // this.initToWhiteCom();\r\n    EventBus.$on(\"setThinkingGuideMode\", (status) => {\r\n      this.thinkingGuideMode = status;\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n@import \"~@/assets/styles/menus.less\";\r\n\r\n\r\n.read {\r\n  font-size: 12px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #64afd5;\r\n  line-height: 21px;\r\n}\r\n/deep/ .el-button {\r\n  padding: 1px 9px;\r\n  border-radius: 14px;\r\n  border-color: #64afd5;\r\n}\r\n.culture {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: flex-start;\r\n  position: relative;\r\n  width: 100%;\r\n  /deep/ .el-step__main {\r\n    width: 100%;\r\n    padding-left: 6px;\r\n  }\r\n  .num {\r\n    color: @thinking;\r\n    span {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      &:first-child {\r\n        font-size: 34px;\r\n        font-weight: 400;\r\n      }\r\n      &:last-child {\r\n        font-size: 14px;\r\n        font-weight: 400;\r\n      }\r\n    }\r\n  }\r\n  .course-steps {\r\n    margin-top: 14px;\r\n    .stepicondone {\r\n      background: #64afd5;\r\n      border: 2px solid #64afd5;\r\n    }\r\n    .unstepicon1 {\r\n      background: #dee5ea;\r\n      border: 2px solid #64afd5;\r\n    }\r\n    /deep/.el-step__icon {\r\n      width: 10px;\r\n      height: 10px;\r\n      background: none;\r\n      left: 7px;\r\n      top: -6px;\r\n    }\r\n    /deep/.is-text {\r\n      border-radius: 100%;\r\n      border: none;\r\n    }\r\n    .status {\r\n      padding-bottom: 0;\r\n    }\r\n    .endFont {\r\n      color: #64afd5;\r\n    }\r\n  }\r\n  /deep/.el-step__description {\r\n    padding-right: 0;\r\n  }\r\n  /deep/ .el-step.is-vertical .el-step__head {\r\n    margin-top: 43px;\r\n  }\r\n  /deep/ .el-step.is-vertical .el-step__line {\r\n    bottom: -50px;\r\n    top: 2px;\r\n  }\r\n  /deep/ .el-card {\r\n    width: 100%;\r\n    cursor: pointer;\r\n  }\r\n  .consciousness {\r\n    display: flex;\r\n    justify-content: flex-start;\r\n    align-items: center;\r\n    height: 67px;\r\n    .circleBox {\r\n      width: 60px;\r\n      height: 67px;\r\n      margin-right: 13px;\r\n      margin-left: 10px;\r\n      position: absolute;\r\n      text-align: center;\r\n      left: 104px;\r\n      transition: all 0.3s;\r\n      animation: none;\r\n      /deep/.el-progress-circle {\r\n        width: 67px !important;\r\n        height: 67px !important;\r\n      }\r\n      /deep/ .el-progress path:first-child {\r\n        // 修改进度条背景色\r\n        stroke: #eaedef;\r\n      }\r\n      .circleCenter {\r\n        position: absolute;\r\n        min-width: 66px;\r\n        top: 0;\r\n        height: 100%;\r\n        width: 100%;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        color: #64afd5;\r\n        font-size: 16px;\r\n        \r\n        .big {\r\n          font-size: 34px;\r\n        }\r\n      }\r\n    }\r\n    .contentItemAni{\r\n      left: 120px;\r\n      animation: none;\r\n    }\r\n    .contentItemAniLeave{\r\n      left: 104px;\r\n      animation: none;\r\n    }\r\n  }\r\n  .progress1 {\r\n    height: 29px;\r\n  }\r\n  .progress {\r\n    display: flex;\r\n    justify-content: flex-start;\r\n    align-items: center;\r\n    ul {\r\n      list-style: none;\r\n      width: 100px;\r\n      overflow-x: auto;\r\n      display: flex;\r\n      display: flex;\r\n      justify-content: flex-start;\r\n      li {\r\n        width: 6px;\r\n        height: 11px;\r\n        border-radius: 4px;\r\n        &:not(:last-child) {\r\n          margin-right: 5px;\r\n        }\r\n      }\r\n    }\r\n    .num {\r\n      left: 120px;\r\n      margin-left: 34px;\r\n      transition: all 0.3s;\r\n      position: absolute !important;\r\n      bottom: 15px;\r\n      animation: none  !important;\r\n      color: @thinking;\r\n    }\r\n    .contentItemAniLeave{\r\n      left: 104px;\r\n      animation: none;\r\n    }\r\n    .progressBar {\r\n      width: 126px;\r\n      position: relative;\r\n      .progress-circle-point {\r\n        position: absolute;\r\n        width: 8px;\r\n        height: 8px;\r\n        border-radius: 4px;\r\n        background-color: #64afd5;\r\n        top: -2px;\r\n        z-index: 99;\r\n      }\r\n      .progress-circle-point1 {\r\n        left: calc(28% - 4px);\r\n      }\r\n    }\r\n  }\r\n  .time {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    font-weight: 400;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-size: 11px;\r\n    color: #d4d9db;\r\n    line-height: 17px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding-top: 4px;\r\n  }\r\n}\r\n.view {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  align-items: center;\r\n  // padding-bottom: 10px;\r\n  .name {\r\n    padding-right: 10%;\r\n    padding-bottom: 0;\r\n    min-width: 70px;\r\n  }\r\n}\r\n.load {\r\n  height: 4px;\r\n  background-color: @thinking;\r\n  width: 0%;\r\n}\r\n.circle {\r\n  position: absolute;\r\n  height: 10px;\r\n  width: 10px;\r\n  margin-top: -6px;\r\n  margin-left: -5px;\r\n  border-radius: 100%;\r\n  background: @thinking;\r\n  cursor: pointer;\r\n}\r\n/deep/ .el-progress__text {\r\n  color: @thinking;\r\n  font-size: 34px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n}\r\n/deep/ .el-progress {\r\n  width: 100%;\r\n  margin-right: 10px;\r\n}\r\n\r\n/deep/ .el-card__body {\r\n  padding: 16px 12px 14px;\r\n  overflow: hidden;\r\n}\r\n.siwei {\r\n  /deep/ .el-card__body {\r\n    padding: 16px 12px 12px;\r\n  }\r\n  .view {\r\n    padding-bottom: 9px;\r\n  }\r\n}\r\n\r\n.playing {\r\n  font-size: 16px;\r\n  font-family: \"SourceHanSansCN-Medium\";\r\n  font-weight: 500;\r\n  color: @thinking;\r\n  line-height: 28px;\r\n  text-align: center;\r\n  height: 25px;\r\n}\r\n.play {\r\n  width: 27px;\r\n  height: 27px;\r\n  margin-left: 28px;\r\n  margin-top: -8px;\r\n}\r\n\r\n.culture_arrow {\r\n  position: absolute;\r\n}\r\n.progress-end-point {\r\n  width: 8px;\r\n  height: 8px;\r\n  background-color: @thinking;\r\n  border-radius: 50%;\r\n  position: absolute;\r\n  left: calc(28% - 4px);\r\n  top: -2px;\r\n}\r\n.mobile-app {\r\n  .progress-end-point {\r\n    top: -1px;\r\n  }\r\n}\r\n/deep/ .el-steps .el-step:first-child{\r\n  .is-text::before{\r\n    content: '';\r\n    position: absolute;\r\n    top: -100px;\r\n    left: 50%;\r\n    width: 2px;\r\n    background: #d4d9db;\r\n    transform: translate(-50%, 0);\r\n    height: 100px;\r\n    display: inline-block;\r\n  }\r\n}\r\n/deep/ .el-steps .el-step:last-child{\r\n  .is-text::before{\r\n    content: '';\r\n    position: absolute;\r\n    top: 10px;\r\n    left: 50%;\r\n    width: 2px;\r\n    background: #d4d9db;\r\n    transform: translate(-50%, 0);\r\n    height: 100px;\r\n    display: inline-block;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Thinking.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"culture menuArrows icon-to-component-menus\",attrs:{\"id\":\"Thinking\"}},[(_vm.thinkingGuideMode === 1)?_c('div',{ref:\"Problem\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'Problem' || _vm.selectedModule === 'Problem',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'Problem' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('80px')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toProblem', 'Problem')}}},[_c('span',{class:{\n      'ProblemA': _vm.courseProgress && _vm.courseProgress.progress_see_question_complete === 1,\n      'ProblemB': _vm.courseProgress && _vm.courseProgress.progress_see_question_complete === 2\n    }})]):_vm._e(),_vm._v(\" \"),(_vm.thinkingGuideMode === 1)?_c('div',{ref:\"QuestionList\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'QuestionList' || _vm.selectedModule === 'QuestionList',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'QuestionList' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('217px')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toQuestionList', 'QuestionList')}}},[_c('span',{class:{\n      'QuestionListA': _vm.courseProgress && _vm.courseProgress.progress_solve_question_complete === 1,\n      'QuestionListB': _vm.courseProgress && _vm.courseProgress.progress_solve_question_complete === 2\n    }})]):_vm._e(),_vm._v(\" \"),(_vm.thinkingGuideMode === 1)?_c('div',{ref:\"TipsView\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'TipsView' || _vm.selectedModule === 'TipsView',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'TipsView' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('330px')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toMeditateDetail', 'TipsView')}}},[_c('span',{class:{\n      'TipsViewA': _vm.courseProgress && _vm.courseProgress.progress_meditate_siwei_complete == 1,\n      'TipsViewB': _vm.courseProgress && _vm.courseProgress.progress_meditate_siwei_complete == 2\n    }})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"course-steps\"},[_c('el-steps',{attrs:{\"direction\":\"vertical\"}},[_c('el-step',{attrs:{\"title\":\"\"}},[(\n            _vm.courseProgress &&\n              _vm.courseProgress.progress_see_question_complete === 1\n          )?_c('i',{staticClass:\"stepicon stepicondone\",attrs:{\"slot\":\"icon\",\"id\":\"problem_step\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",staticStyle:{\"background\":\"#dee5ea\",\"border\":\"2px solid #d4d9db\"},attrs:{\"slot\":\"icon\",\"id\":\"problem_step\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_step13\"},on:{\"click\":function($event){return _vm.setSelectedModule('toProblem', 'Problem')}},slot:\"description\"},[_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.thinkingGuideMode === 1),expression:\"thinkingGuideMode === 1\"}],class:{\n              'menubox-card': true,\n              'menubox-card-selected': _vm.whiteCom === 'Problem'\n            }},[(\n                _vm.courseProgress &&\n                  _vm.courseProgress.progress_see_question_complete === 1\n              )?_c('div',{staticClass:\"status endFont\"},[_vm._v(\"\\n              已完成\\n            \")]):_c('div',{staticClass:\"status\"},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"consciousness\"},[_c('div',{staticClass:\"name\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"circleBox\",class:_vm.whiteCom === 'Problem'\n                    ? 'contentItemAni'\n                    : 'contentItemAniLeave'},[_c('el-progress',{attrs:{\"type\":\"circle\",\"color\":\"#64AFD5\",\"percentage\":_vm.questionSeePer,\"stroke-width\":6,\"show-text\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"circleCenter num\"},[_c('span',[_vm._v(_vm._s(_vm.progress_see_question))]),_vm._v(\" \"),_c('span',[_vm._v(\"/\"+_vm._s(_vm.course_question_num))])])],1)])]),_vm._v(\" \"),(_vm.thinkingGuideMode === 0)?_c('el-card',{staticClass:\"menubox-card menubox-card-selected\"},[_c('div',{staticClass:\"status\"},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"consciousness\"},[_c('div',{staticClass:\"name\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"circleBox contentItemAniLeave\"},[_c('el-progress',{attrs:{\"type\":\"circle\",\"color\":\"#64AFD5\",\"percentage\":62.5,\"stroke-width\":6,\"show-text\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"circleCenter num\"},[_c('span',[_vm._v(\"5\")]),_vm._v(\" \"),_c('span',[_vm._v(\"/8\")])])],1),_vm._v(\" \"),_c('img',{staticClass:\"imageArrow\",style:({\n                  top: _vm.$px2rem('80px'),\n                  left:_vm.whiteCom === 'Problem'\n                      ? _vm.$px2rem('254px')\n                      : ''\n                }),attrs:{\"src\":require(\"@/assets/img/think_arrow1.svg\")}})])]):_vm._e()],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"}},[(\n            _vm.courseProgress &&\n              _vm.courseProgress.progress_solve_question_complete === 1\n          )?_c('i',{staticClass:\"stepicon stepicondone\",staticStyle:{\"background\":\"#64afd5\",\"border\":\"2px solid #64afd5\"},attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_step14\"},on:{\"click\":function($event){return _vm.setSelectedModule('toQuestionList', 'QuestionList')}},slot:\"description\"},[_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.thinkingGuideMode === 1),expression:\"thinkingGuideMode === 1\"}],class:{\n              'menubox-card': true,\n              'menubox-card-selected': _vm.whiteCom === 'QuestionList'\n            }},[(\n                _vm.courseProgress &&\n                  _vm.courseProgress.progress_solve_question_complete === 1\n              )?_c('div',{staticClass:\"status endFont\"},[_vm._v(\"\\n              已完成\\n            \")]):_c('div',{staticClass:\"status\"},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(\"\\n              \"+_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\")+\"\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"progress progress1\"},[(_vm.course_question_num < 10)?_c('ul',_vm._l((_vm.course_question_num),function(item,index){return _c('li',{key:index,style:({\n                    backgroundColor:\n                      index < _vm.progress_solve_question ? '#64AFD5' : '#EAEDEF'\n                  })})}),0):_c('ul',_vm._l((10),function(item,index){return _c('li',{key:index,style:({\n                    backgroundColor:\n                      index < _vm.progress_solve_question ? '#64AFD5' : '#EAEDEF'\n                  })})}),0),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"num\",class:_vm.whiteCom === 'QuestionList'\n                    ? 'contentItemAni'\n                    : 'contentItemAniLeave'},[_c('span',[_vm._v(_vm._s(_vm.progress_solve_question))]),_vm._v(\" \"),_c('span',[_vm._v(\"/\"+_vm._s(_vm.course_question_num))])])])])]),_vm._v(\" \"),(_vm.thinkingGuideMode === 0)?_c('el-card',{staticClass:\"menubox-card menubox-card-selected\"},[_c('div',{staticClass:\"status\"},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(\"\\n              本课问题解决\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"progress progress1\"},[_c('ul',[_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#64AFD5\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#EAEDEF\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#EAEDEF\"}}),_vm._v(\" \"),_c('li',{staticStyle:{\"backgroundColor\":\"#EAEDEF\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"num contentItemAniLeave\"},[_c('span',[_vm._v(\"5\")]),_vm._v(\" \"),_c('span',[_vm._v(\"/8\")])]),_vm._v(\" \"),_c('img',{staticClass:\"imageArrow\",style:({\n                  top: _vm.$px2rem('77px'),\n                  left:_vm.whiteCom === 'QuestionList'\n                      ? _vm.$px2rem('254px')\n                      : ''\n                }),attrs:{\"src\":require(\"@/assets/img/think_arrow1.svg\")}})])]):_vm._e()],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"}},[(\n            _vm.courseProgress &&\n              _vm.courseProgress.progress_meditate_siwei_complete == 1\n          )?_c('i',{staticClass:\"stepicon stepicondone\",staticStyle:{\"background\":\"#64afd5\",\"border\":\"2px solid #64afd5\"},attrs:{\"slot\":\"icon\",\"id\":\"siwei_step\"},slot:\"icon\"}):(\n            _vm.courseProgress &&\n              _vm.courseProgress.progress_meditate_siwei_complete == 2 &&\n              _vm.xingweiPer === 0\n          )?_c('i',{staticClass:\"stepicon unstepicon\",staticStyle:{\"background\":\"#dee5ea\",\"border\":\"2px solid #d4d9db\"},attrs:{\"slot\":\"icon\",\"id\":\"siwei_step\"},slot:\"icon\"}):(\n            _vm.courseProgress &&\n              _vm.courseProgress.progress_meditate_siwei_complete == 2 &&\n              _vm.xingweiPer > 0\n          )?_c('i',{staticClass:\"stepicon unstepicon1\",attrs:{\"slot\":\"icon\",\"id\":\"siwei_step\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon stepicondone\",staticStyle:{\"background\":\"#64afd5\",\"border\":\"2px solid #64afd5\"},attrs:{\"slot\":\"icon\",\"id\":\"siwei_step\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{staticClass:\"siwei\",attrs:{\"slot\":\"description\",\"id\":\"index_step15\"},on:{\"click\":function($event){return _vm.setSelectedModule('toMeditateDetail', 'TipsView')}},slot:\"description\"},[_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.thinkingGuideMode === 1),expression:\"thinkingGuideMode === 1\"}],class:{\n              'menubox-card': true,\n              'menubox-card-selected': _vm.whiteCom === 'TipsView'\n            }},[(\n                _vm.courseProgress &&\n                  _vm.courseProgress.progress_meditate_siwei_complete == 1\n              )?_c('div',{staticClass:\"status endFont\",on:{\"click\":function($event){return _vm.play(false)}}},[_vm._v(\"\\n              已完成\\n            \")]):_c('div',{staticClass:\"status\",on:{\"click\":function($event){return _vm.play(false)}}},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"view\"},[_c('div',{staticClass:\"name\",on:{\"click\":function($event){return _vm.play(false)}}},[_vm._v(\"观修文\")]),_vm._v(\" \"),(\n                  _vm.whiteCom !== 'TipsView' &&\n                    _vm.thinkMeditate &&\n                    _vm.thinkMeditate.meditate_audio_url_show\n                )?_c('img',{staticClass:\"play\",attrs:{\"src\":require(\"@/assets/img/play.png\")},on:{\"click\":function($event){return _vm.play(true)}}}):_vm._e(),_vm._v(\" \"),(\n                  _vm.thinkMeditate &&\n                    !_vm.thinkMeditate.meditate_audio_url_show &&\n                    (_vm.thinkMeditate.meditate_anzhu_text ||\n                      _vm.thinkMeditate.meditate_guancha_text)\n                )?_c('el-button',{staticClass:\"read bg-transparent\"},[_vm._v(\"阅读观修文\")]):_vm._e()],1),_vm._v(\" \"),(\n                _vm.whiteCom !== 'TipsView' ||\n                (_vm.thinkMeditate && !_vm.thinkMeditate.meditate_audio_url_show)\n              )?_c('div',{staticClass:\"progress\",on:{\"click\":function($event){return _vm.play(false)}}},[_c('div',{staticClass:\"progressBar\"},[_c('div',{staticClass:\"progress-circle-point\",style:({ left: (_vm.xingweiPer - 3) + '%'})}),_vm._v(\" \"),_c('el-progress',{attrs:{\"percentage\":_vm.xingweiPer,\"show-text\":false,\"color\":'#64afd5',\"stroke-width\":4}}),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_c('span',[_vm._v(_vm._s(_vm.currentTime))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.totalTime))])])],1)]):_vm._e(),_vm._v(\" \"),(\n                _vm.whiteCom === 'TipsView' &&\n                  _vm.playing &&\n                  _vm.thinkMeditate &&\n                  _vm.thinkMeditate.meditate_audio_url_show\n              )?_c('div',{staticClass:\"playing\"},[_vm._v(\"\\n              正在播放\\n            \")]):_vm._e(),_vm._v(\" \"),(\n                _vm.whiteCom === 'TipsView' &&\n                  !_vm.playing &&\n                  _vm.thinkMeditate &&\n                  _vm.thinkMeditate.meditate_audio_url_show\n              )?_c('div',{staticClass:\"playing\"},[_vm._v(\"\\n              未在播放\\n            \")]):_vm._e()]),_vm._v(\" \"),(_vm.thinkingGuideMode === 0)?_c('el-card',{staticClass:\"menubox-card menubox-card-selected\"},[_c('div',{staticClass:\"status\"},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"view\"},[_c('div',{staticClass:\"name\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),_c('img',{staticClass:\"play\",attrs:{\"src\":require(\"@/assets/img/play.png\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progressBar\"},[_c('el-progress',{attrs:{\"percentage\":28,\"show-text\":false,\"color\":'#64afd5',\"stroke-width\":4}}),_vm._v(\" \"),_c('div',{staticClass:\"progress-circle-point progress-circle-point1\"}),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_c('span',[_vm._v(\"00:12:04\")]),_vm._v(\" \"),_c('span',[_vm._v(\"00:40:00\")])])],1)]),_vm._v(\" \"),_c('img',{staticClass:\"imageArrow\",style:({\n                top: _vm.$px2rem('77px'),\n                left:_vm.whiteCom === 'TipsView'\n                      ? _vm.$px2rem('254px')\n                      : ''\n              }),attrs:{\"src\":require(\"@/assets/img/think_arrow1.svg\")}})]):_vm._e()],1)])],1)],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5cbf47f8\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Thinking.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5cbf47f8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Thinking.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Thinking.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Thinking.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5cbf47f8\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Thinking.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5cbf47f8\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Thinking.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"progress-circle\">\r\n    <svg :width=\"$px2rem(size)\" :height=\"$px2rem(size)\" viewBox=\"0 0 100 100\">\r\n      <linearGradient\r\n        id=\"svg-gradient\"\r\n        gradientUnits=\"userSpaceOnUse\"\r\n        x1=\"0%\"\r\n        y1=\"100%\"\r\n        x2=\"100%\"\r\n        y2=\"0%\"\r\n      >\r\n        <stop offset=\"0%\" stop-color=\"#FFAE8B\" />\r\n        <stop offset=\"100%\" stop-color=\"#FD746B\" />\r\n      </linearGradient>\r\n      <circle\r\n        r=\"50\"\r\n        cx=\"50\"\r\n        cy=\"50\"\r\n        fill=\"transparent\"\r\n        class=\"progress-background\"\r\n        :style=\"{ stroke: bgColor, strokeWidth: 6 }\"\r\n      ></circle>\r\n      <circle\r\n        r=\"50\"\r\n        cx=\"50\"\r\n        cy=\"50\"\r\n        fill=\"transparent\"\r\n        class=\"progress-bar\"\r\n        :style=\"{ strokeWidth: 6, stroke: barColor }\"\r\n        stroke=\"url(#svg-gradient)\"\r\n        :stroke-dasharray=\"dashArray\"\r\n        :stroke-dashoffset=\"dashOffset\"\r\n      ></circle>\r\n    </svg>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  props: {\r\n    size: {\r\n      type: Number,\r\n      default: 100\r\n    },\r\n    percent: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    bgColor: {\r\n      type: String,\r\n      default: \"rgba(66, 66, 66, 0.5)\"\r\n    },\r\n    barColor: {\r\n      type: String,\r\n      default: \"rgb(66, 66, 66)\"\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      //    总长度\r\n      dashArray: Math.PI * 2 * 50,\r\n      dashOffset: 0\r\n    };\r\n  },\r\n  watch: {\r\n    percent: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.dashOffset = (1 - newVal) * this.dashArray;\r\n        }\r\n      }\r\n    }\r\n  },\r\n  computed: {},\r\n  mounted() {\r\n    this.dashOffset = (1 - this.percent) * this.dashArray;\r\n  }\r\n};\r\n</script>\r\n\r\n<style>\r\ncircle {\r\n  stroke-width: 10px;\r\n  transform-origin: center;\r\n  /* stroke:rgb(66, 66, 66);\r\n        transform-origin: center;   */\r\n  /* transform:scale(0.9); */\r\n}\r\n\r\n.progress-background {\r\n  /* stroke: rgba(66, 66, 66, 0.5); */\r\n  transform: scale(0.95);\r\n}\r\n.progress-bar {\r\n  /* stroke: rgb(66, 66, 66); */\r\n  transform: rotate(-90deg) scale(0.95);\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/CircleCom.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progress-circle\"},[_c('svg',{attrs:{\"width\":_vm.$px2rem(_vm.size),\"height\":_vm.$px2rem(_vm.size),\"viewBox\":\"0 0 100 100\"}},[_c('linearGradient',{attrs:{\"id\":\"svg-gradient\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0%\",\"y1\":\"100%\",\"x2\":\"100%\",\"y2\":\"0%\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":\"#FFAE8B\"}}),_vm._v(\" \"),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":\"#FD746B\"}})],1),_vm._v(\" \"),_c('circle',{staticClass:\"progress-background\",style:({ stroke: _vm.bgColor, strokeWidth: 6 }),attrs:{\"r\":\"50\",\"cx\":\"50\",\"cy\":\"50\",\"fill\":\"transparent\"}}),_vm._v(\" \"),_c('circle',{staticClass:\"progress-bar\",style:({ strokeWidth: 6, stroke: _vm.barColor }),attrs:{\"r\":\"50\",\"cx\":\"50\",\"cy\":\"50\",\"fill\":\"transparent\",\"stroke\":\"url(#svg-gradient)\",\"stroke-dasharray\":_vm.dashArray,\"stroke-dashoffset\":_vm.dashOffset}})],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-86128ef8\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/CircleCom.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-86128ef8\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CircleCom.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./CircleCom.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./CircleCom.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-86128ef8\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./CircleCom.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/CircleCom.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"culture menuArrows icon-to-component-menus\"\r\n    id=\"behavior\">\r\n    <!-- 观修文 -->\r\n    <div \r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'BehaviorAudio' || selectedModule === 'BehaviorAudio',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'BehaviorAudio' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('150px')\r\n      }\"\r\n      ref=\"BehaviorAudio\"\r\n      @click=\"setSelectedModule('toMeditateDetail', 'BehaviorAudio')\"\r\n    >\r\n      <span :class=\"{\r\n        'BehaviorAudioA': courseProgress && courseProgress.progress_meditate_xingwei_complete == 1,\r\n        'BehaviorAudioB': courseProgress && courseProgress.progress_meditate_xingwei_complete == 2\r\n      }\"></span>\r\n    </div>\r\n    \r\n\r\n    <!-- 提交心得 -->\r\n    <div \r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'ConfirmTips' || selectedModule === 'ConfirmTips',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'ConfirmTips' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('235px')\r\n      }\"\r\n      ref=\"ConfirmTips\"\r\n      @click=\"setSelectedModule('toConfirmTips', 'ConfirmTips')\"\r\n    >\r\n      <span :class=\"{\r\n        'ConfirmTipsA': progress_experience_num > 0,\r\n        'ConfirmTipsB': progress_experience_num == 0\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 心得广场 -->\r\n    <div \r\n      v-if=\"courseObj && courseObj.course_isuseradd == 2 && experience_ishide == 2\"\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'TipsSquare' || selectedModule === 'TipsSquare',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'TipsSquare' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('318px')\r\n      }\"\r\n      ref=\"TipsSquare\"\r\n      @click=\"setSelectedModule('toTipsSquare', 'TipsSquare')\"\r\n    >\r\n      <span :class=\"{\r\n        'TipsSquareA': progress_experience_read_num > 0,\r\n        'TipsSquareB': progress_experience_read_num == 0\r\n      }\"></span>\r\n    </div>\r\n\r\n    <div class=\"course-steps\">\r\n      <el-steps direction=\"vertical\">\r\n        <el-step title=\"\">\r\n          <i v-if=\"\r\n              courseProgress &&\r\n                courseProgress.progress_meditate_xingwei_complete == 1\r\n            \"\r\n            id=\"xingwei_step\"\r\n            class=\"stepicon stepicondone\"\r\n            slot=\"icon\"></i>\r\n          <i v-else-if=\"\r\n              courseProgress &&\r\n                courseProgress.progress_meditate_xingwei_complete == 2 &&\r\n                xintaiPer > 0\r\n            \"\r\n            id=\"xingwei_step\"\r\n            class=\"stepicon unstepicon1\"\r\n            slot=\"icon\"></i>\r\n          <i v-else\r\n            id=\"xingwei_step\"\r\n            class=\"stepicon unstepicon\"\r\n            slot=\"icon\"></i>\r\n          <div id=\"index_step17\"\r\n            slot=\"description\"\r\n            @click=\"setSelectedModule('toMeditateDetail', 'BehaviorAudio')\"\r\n          >\r\n            <el-card v-show=\"behaviorGuideMode === 1\"\r\n              :class=\"{\r\n                'menubox-card': true,\r\n                'menubox-card-selected': whiteCom === 'BehaviorAudio'\r\n              }\">\r\n              <div class=\"status endFont\"\r\n                v-if=\"\r\n                  courseProgress &&\r\n                    courseProgress.progress_meditate_xingwei_complete == 1\r\n                \"\r\n                @click=\"play(false)\">\r\n                已完成\r\n              </div>\r\n              <div class=\"status\"\r\n                v-else\r\n                @click=\"play(false)\">未完成</div>\r\n              <div class=\"name\"\r\n                @click=\"play(false)\">\r\n                <span class=\"name-span\">观修文</span>\r\n                <el-button class=\"read bg-transparent\"\r\n                  v-if=\"\r\n                    mindMeditate &&\r\n                      !mindMeditate.meditate_audio_url_show &&\r\n                      (mindMeditate.meditate_anzhu_text ||\r\n                        mindMeditate.meditate_guancha_text)\r\n                  \">阅读观修文</el-button>\r\n              </div>\r\n              <div class=\"playing\"\r\n                v-if=\"\r\n                  (!playing && whiteCom !== 'BehaviorAudio') ||\r\n                    (mindMeditate && !mindMeditate.meditate_audio_url_show) ||\r\n                    !mindMeditate\r\n                \">\r\n                <div class=\"time\">{{ currentTime }}</div>\r\n                <div class=\"circle\" :style=\"{ background: whiteCom === 'BehaviorAudio' ? '#fff' : 'rgba(253, 253, 253, 0.3)'}\">\r\n                  <CircleCom :size=\"65\"\r\n                    :percent=\"xintaiPer / 100\"\r\n                    :bgColor=\"'#eaedef'\"\r\n                    :barColor=\"'#ffb096'\" />\r\n                  <div ref=\"line\"\r\n                    class=\"line\">\r\n                    <!-- 滑动点 -->\r\n                    <div class=\"slideCircle\"\r\n                      :class=\"{\r\n                        slideCircle: true,\r\n                        slideCircle1: mindMeditate && mindMeditate.totalTime\r\n                      }\"></div>\r\n                  </div>\r\n                  <div class=\"circle_text\">\r\n                    <img v-if=\"\r\n                        !playing && mindMeditate && mindMeditate.totalTime > 0\r\n                      \"\r\n                      src=\"@/assets/img/mindmed_play.svg\"\r\n                      @click=\"play(true)\" />\r\n                    <img v-else-if=\"\r\n                        playing && mindMeditate && mindMeditate.totalTime > 0\r\n                      \"\r\n                      src=\"@/assets/img/mindmed_pause.svg\"\r\n                      @click=\"pause\" />\r\n                    <img v-else-if=\"\r\n                        mindMeditate && !mindMeditate.meditate_audio_url_show\r\n                      \"\r\n                      src=\"@/assets/img/tip_detail_disabled.svg\" />\r\n                  </div>\r\n                </div>\r\n                <div class=\"time\">{{ totalTime }}</div>\r\n              </div>\r\n\r\n              <div v-if=\"\r\n                  whiteCom === 'BehaviorAudio' &&\r\n                    playing &&\r\n                    mindMeditate &&\r\n                    mindMeditate.meditate_audio_url_show\r\n                \"\r\n                class=\"isplaying\">\r\n                正在播放\r\n              </div>\r\n              <div v-if=\"\r\n                  whiteCom === 'BehaviorAudio' &&\r\n                    !playing &&\r\n                    mindMeditate &&\r\n                    mindMeditate.meditate_audio_url_show\r\n                \"\r\n                class=\"isplaying\">\r\n                未在播放\r\n              </div>\r\n            </el-card>\r\n\r\n            <!--            引导模式开始-->\r\n            <el-card v-if=\"behaviorGuideMode === 0\"\r\n              class=\"menubox-card menubox-card-selected\">\r\n\r\n              <div class=\"status\">未完成</div>\r\n              <div class=\"name\">\r\n                <span class=\"name-span\">观修文</span>\r\n              </div>\r\n              <div class=\"playing\">\r\n                <div class=\"time\">00:12:04</div>\r\n                <div class=\"circle\" :style=\"{ background: whiteCom === 'BehaviorAudio' ? '#fff' : 'rgba(253, 253, 253, 0.3)'}\">\r\n                  <CircleCom :size=\"65\"\r\n                    :percent=\"0.75\"\r\n                    :bgColor=\"'#eaedef'\"\r\n                    :barColor=\"'#ffb096'\" />\r\n                  <div class=\"guide_line\">\r\n                    <!-- 滑动点 -->\r\n                    <div class=\"slideCircle slideCircle1\"></div>\r\n                  </div>\r\n                  <div class=\"circle_text\">\r\n                    <img src=\"@/assets/img/mindmed_play.svg\" />\r\n                  </div>\r\n                </div>\r\n                <div class=\"time\">00:40:00</div>\r\n              </div>\r\n              <!-- <img src=\"@/assets/img/behavior_arrow.svg\"\r\n                class=\"imageArrow\"\r\n                :style=\"{\r\n                  top: $px2rem('138px'),\r\n                  left:whiteCom === 'BehaviorAudio'\r\n                      ? $px2rem('254px')\r\n                      : ''\r\n                }\" /> -->\r\n            </el-card>\r\n            <!--            引导模式结束-->\r\n          </div>\r\n        </el-step>\r\n        <el-step title=\"\">\r\n          <i v-if=\"progress_experience_num > 0\"\r\n            id=\"confirmtips_step\"\r\n            class=\"stepicon stepicondone\"\r\n            slot=\"icon\"></i>\r\n          <i v-else\r\n            id=\"confirmtips_step\"\r\n            class=\"stepicon unstepicon\"\r\n            slot=\"icon\"></i>\r\n          <div id=\"index_step18\"\r\n            slot=\"description\"\r\n            @click=\"setSelectedModule('toConfirmTips', 'ConfirmTips')\"\r\n          >\r\n            <el-card :class=\"{\r\n                'menubox-card': true,\r\n                'menubox-card-selected':\r\n                  whiteCom === 'EditTips' || whiteCom === 'ConfirmTips'\r\n              }\">\r\n              <div class=\"status endFont status1\"\r\n                v-if=\"progress_experience_num > 0\">\r\n                已提交\r\n              </div>\r\n              <div class=\"status status1\"\r\n                v-else>未提交</div>\r\n              <div class=\"progress progress1\">\r\n                <div class=\"name\">提交心得</div>\r\n                <img class=\"write\"\r\n                  src=\"@/assets/img/write.svg\"\r\n                  :class=\"\r\n                    whiteCom === 'EditTips' || whiteCom === 'ConfirmTips'\r\n                      ? 'contentItemAni'\r\n                      : 'contentItemAniLeave'\r\n                  \" />\r\n                \r\n              </div>\r\n            </el-card>\r\n          </div>\r\n        </el-step>\r\n        <el-step title=\"\"\r\n          v-if=\"courseObj.course_isuseradd == 2 && experience_ishide == 2\">\r\n          <i v-if=\"progress_experience_read_num > 0\"\r\n            id=\"tipssquare_step\"\r\n            class=\"stepicon stepicondone\"\r\n            slot=\"icon\"></i>\r\n          <i v-else\r\n            id=\"tipssquare_step\"\r\n            class=\"stepicon unstepicon\"\r\n            slot=\"icon\"></i>\r\n          <div id=\"index_overseas_step18\"\r\n            slot=\"description\"\r\n            @click=\"setSelectedModule('toTipsSquare', 'TipsSquare')\"\r\n          >\r\n            <el-card :class=\"{\r\n                'menubox-card': true,\r\n                'menubox-card-selected': whiteCom === 'TipsSquare'\r\n              }\">\r\n              <div>\r\n                <div v-show=\"behaviorGuideMode === 1\">\r\n                  <div class=\"status endFont status1\"\r\n                    v-if=\"progress_experience_read_num > 0\">\r\n                    已查看\r\n                  </div>\r\n                  <div class=\"status status1\"\r\n                    v-else>未查看</div>\r\n                </div>\r\n\r\n                <div class=\"status status1\"\r\n                  v-if=\"behaviorGuideMode === 0\">未查看</div>\r\n                <div class=\"progress progress2\">\r\n                  <div class=\"name\">心得广场</div>\r\n                  <img src=\"@/assets/img/square.svg\"\r\n                    class=\"like\"\r\n                    :class=\"\r\n                      whiteCom === 'TipsSquare'\r\n                        ? 'contentItemAni'\r\n                        : 'contentItemAniLeave'\r\n                    \" />\r\n                  \r\n                </div>\r\n              </div>\r\n            </el-card>\r\n          </div>\r\n        </el-step>\r\n      </el-steps>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport AudioCom from \"@/components/AudioCom.vue\";\r\nimport {\r\n  EventBus,\r\n  WHITE_MIND_MEDITATE,\r\n  WHITE_MIND_MEDITATE_PAGE,\r\n  WHITE_TIPS_SQUARE,\r\n  WHITE_CONFIRM_TIPS,\r\n  WHITE_EDIT_TIPS,\r\n  WHITE_CREATE_TIPS,\r\n} from \"@/utils/eventBus\";\r\nimport { secTotime } from \"@/utils/util.js\";\r\nimport CircleCom from \"@/components/CircleCom.vue\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nexport default {\r\n  mixins: [aniMixins],\r\n  props: {},\r\n  components: { AudioCom, CircleCom },\r\n  data() {\r\n    return {\r\n      isMobile: this.getIsMobile(),\r\n      selectedModuleBefore: '',// 上一个选中的\r\n      selectedModule: '', // 当前选中的\r\n      bechaviorGuideMode: 1,\r\n      timer: null,\r\n      src: null,\r\n      playing: false,\r\n      totalTime: 0,\r\n      currentTime: 0,\r\n      audio: null,\r\n      xintaiPer: 0,\r\n      xintaiPer1: 0,\r\n      progress_experience_num: 0, //提交心得数量\r\n      progress_experience_read_num: 0, //心得广场阅读数量\r\n      showProgress: true,\r\n      courseObj: {},\r\n      isHoverBehaviorAudio: false,\r\n      isHoverConfirmTips: false,\r\n      isHoverTipsSquare: false,\r\n      isMac: false,\r\n      isChangeCourse: false,\r\n      behaviorGuideMode: 1,\r\n      experience_ishide: ''\r\n    };\r\n  },\r\n  computed: {\r\n    mindMeditate() {\r\n      return this.$store.getters.mindMeditate;\r\n    },\r\n    progress_meditate_xingwei_long() {\r\n      return this.$store.getters.progress_meditate_xingwei_long;\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n  },\r\n  watch: {\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function (v, oldVal) {\r\n        this.formatData();\r\n        this.isChangeCourse = true;\r\n        if (this.$refs[\"ImageArrowBehaviorAudio\"]) {\r\n          this.$refs[\"ImageArrowBehaviorAudio\"].classList.value = \"imageArrow\";\r\n        }\r\n        if (this.$refs[\"ImageArrowConfirmTips\"]) {\r\n          this.$refs[\"ImageArrowConfirmTips\"].classList.value = \"imageArrow\";\r\n        }\r\n        if (this.$refs[\"ImageArrowTipsSquare\"]) {\r\n          this.$refs[\"ImageArrowTipsSquare\"].classList.value = \"imageArrow\";\r\n        }\r\n\r\n        this.isHoverBehaviorAudio = false;\r\n        this.isHoverConfirmTips = false;\r\n        this.isHoverTipsSquare = false;\r\n      },\r\n    },\r\n    mindMeditate: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        this.playing = false;\r\n        console.log(\r\n          \"mindMeditate::::::::::::\",\r\n          this.progress_meditate_xingwei_long,\r\n          this.mindMeditate.totalTime,\r\n          this.mindMeditate\r\n        );\r\n        if (this.mindMeditate && this.mindMeditate.totalTime) {\r\n          // 心态观修文\r\n          this.totalTime = secTotime(parseFloat(this.mindMeditate.totalTime));\r\n          this.formatData(this.courseProgress.progress_meditate_xingwei_long);\r\n        } else {\r\n          this.xintaiPer = 0;\r\n          this.totalTime = secTotime(0);\r\n          this.currentTime = secTotime(0);\r\n          // this.$nextTick(() => {\r\n          //   this.$refs.line.style.transform =\r\n          //     \"rotate(\" + 3.6 * this.xintaiPer + \"deg)\";\r\n          // });\r\n        }\r\n      },\r\n    },\r\n    //心态观修文\r\n    progress_meditate_xingwei_long: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal && this.mindMeditate && this.mindMeditate.totalTime) {\r\n          // 心态观修文\r\n          this.formatData(newVal);\r\n        } else {\r\n          this.xintaiPer = 0;\r\n          this.totalTime = secTotime(0);\r\n          this.currentTime = secTotime(0);\r\n          if (this.whiteCom !== \"BehaviorAudio\" && !this.playing) {\r\n            this.$nextTick(() => {\r\n              this.$refs.line.style.transform =\r\n                \"rotate(\" + 3.6 * this.xintaiPer + \"deg)\";\r\n            });\r\n          }\r\n        }\r\n      },\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          if (\r\n            this.courseProgress &&\r\n            this.courseProgress.progress_meditate_xingwei_complete == 1 &&\r\n            this.whiteCom === \"BehaviorAudio\"\r\n          ) {\r\n            this.isHoverBehaviorAudio = true;\r\n            this.$nextTick(() => {\r\n              this.toMeditateDetail(\"ImageArrowBeAudioComplete\");\r\n            });\r\n          } else if (this.whiteCom === \"BehaviorAudio\") {\r\n            this.toMeditateDetail(\"ImageArrowBehaviorAudio\");\r\n          }\r\n\r\n          if (\r\n            this.courseProgress.progress_experience_num > 0 &&\r\n            this.whiteCom === \"ConfirmTips\"\r\n          ) {\r\n            this.isHoverConfirmTips = true;\r\n            this.$nextTick(() => {\r\n              this.toConfirmTips(\"ImageArrowConComplete\");\r\n            });\r\n          } else if (this.whiteCom === \"ConfirmTips\") {\r\n            this.toConfirmTips(\"ImageArrowConfirmTips\");\r\n          }\r\n\r\n          if (\r\n            this.courseProgress.progress_experience_num > 0 &&\r\n            this.whiteCom === \"TipsSquare\"\r\n          ) {\r\n            this.isHoverTipsSquare = true;\r\n            this.$nextTick(() => {\r\n              this.toTipsSquare(\"ImageArrowTipsSquareComplete\");\r\n            });\r\n          } else if (this.whiteCom === \"TipsSquare\") {\r\n            this.toTipsSquare(\"ImageArrowTipsSquare\");\r\n          }\r\n\r\n          this.progress_experience_num = v.progress_experience_num;\r\n          this.progress_experience_read_num = v.progress_experience_read_num;\r\n\r\n          this.formatData(v.progress_meditate_xingwei_long);\r\n        }\r\n      },\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        this.isChangeCourse = false;\r\n        if (this.whiteCom !== \"BehaviorAudio\") {\r\n          this.formatData(this.progress_meditate_xingwei_long);\r\n        }\r\n        this.$nextTick(() => {\r\n          this.selectedModule = newVal;\r\n        });\r\n      },\r\n    },\r\n    course: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"course:\", this.course);\r\n        if (v && v.length) {\r\n          const course = JSON.parse(v);\r\n          this.courseObj = course[0];\r\n        } else {\r\n          this.courseObj = {};\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n  },\r\n  methods: {\r\n    toMeditateDetail(refName, e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      if (\r\n        this.mindMeditate &&\r\n        !this.mindMeditate.meditate_audio_url_show &&\r\n        (this.mindMeditate.meditate_anzhu_text ||\r\n          this.mindMeditate.meditate_guancha_text)\r\n      ) {\r\n        // 去观修文文字\r\n        // 去观修文音频\r\n        EventBus.$emit(WHITE_MIND_MEDITATE_PAGE);\r\n        let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n        if (guideStatus.meditate_2 !== 0) {\r\n          EventBus.$emit(\"toMeditateDetailMind\");\r\n        }\r\n      } else {\r\n        // 去观修文音频\r\n        EventBus.$emit(WHITE_MIND_MEDITATE_PAGE);\r\n      }\r\n      // this.$router.push({\r\n      //   path: \"/white/TipsViewDetail\",\r\n      //   query: {\r\n      //     // 1:心态 2:观念\r\n      //     meditate_type: 1,\r\n      //   },\r\n      // });\r\n    },\r\n    formatData(progress_meditate_xingwei_long) {\r\n      if (this.mindMeditate && this.mindMeditate.totalTime) {\r\n        this.xintaiPer =\r\n          parseFloat(\r\n            parseFloat(progress_meditate_xingwei_long) /\r\n              this.mindMeditate.totalTime\r\n          ).toFixed(2) * 100;\r\n      } else {\r\n        this.xintaiPer = 0;\r\n      }\r\n\r\n      // console.log(\"this.xintaiPer:\", this.xintaiPer);\r\n      this.currentTime = secTotime(parseFloat(progress_meditate_xingwei_long));\r\n      this.$nextTick(() => {\r\n        if (this.$refs.line) {\r\n          this.$refs.line.style.transform =\r\n            \"rotate(\" + 3.6 * this.xintaiPer + \"deg)\";\r\n        }\r\n      });\r\n      // if (this.whiteCom !== \"BehaviorAudio\" && !this.playing) {\r\n      //   this.$nextTick(() => {\r\n      //     this.$refs.line.style.transform =\r\n      //       \"rotate(\" + 3.6 * this.xintaiPer + \"deg)\";\r\n      //   });\r\n      // }\r\n    },\r\n    pause() {\r\n    },\r\n    // 提交心得\r\n    toConfirmTipslCard(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      // 点击卡片时,如果已完成先把图片转换成箭头,然后再执行点击事件\r\n      if (this.progress_experience_num > 0) {\r\n        this.isHoverConfirmTips = true;\r\n        this.$nextTick(() => {\r\n          this.toConfirmTips(\"ImageArrowConComplete\", e);\r\n        });\r\n      } else {\r\n        this.toConfirmTips(\"ImageArrowConfirmTips\", e);\r\n      }\r\n    },\r\n    toConfirmTips(refName, e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      EventBus.$emit(WHITE_CONFIRM_TIPS);\r\n    },\r\n    // 心得广场\r\n    toTipsSquareCard(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      // 点击卡片时,如果已完成先把图片转换成箭头,然后再执行点击事件\r\n      if (this.progress_experience_read_num > 0) {\r\n        this.isHoverTipsSquare = true;\r\n        this.$nextTick(() => {\r\n          this.toTipsSquare(\"ImageArrowTipsSquareComplete\", e);\r\n        });\r\n      } else {\r\n        this.toTipsSquare(\"ImageArrowTipsSquare\", e);\r\n      }\r\n    },\r\n    toTipsSquare(refName, e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      if (this.courseObj.course_isuseradd === 2) {\r\n        EventBus.$emit(WHITE_TIPS_SQUARE);\r\n      }\r\n    },\r\n    // 观修文\r\n    play(playing) {\r\n      console.log(\"play:\", playing);\r\n      EventBus.$emit(WHITE_MIND_MEDITATE, playing);\r\n      EventBus.$emit(WHITE_MIND_MEDITATE_PAGE);\r\n    },\r\n    step() {},\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.experience_ishide = decrypt(localStorage.getItem(\"experience_ishide\"));\r\n    this.audio = document.querySelector(\"audio\");\r\n    // 心态观修文\r\n    if (this.mindMeditate && this.mindMeditate.totalTime) {\r\n      // 心态观修文\r\n      this.totalTime = secTotime(parseFloat(this.mindMeditate.totalTime));\r\n    } else {\r\n      this.xintaiPer = 0;\r\n      this.totalTime = secTotime(0);\r\n      this.currentTime = secTotime(0);\r\n    }\r\n\r\n    if (this.courseProgress) {\r\n      this.formatData(this.courseProgress.progress_meditate_xingwei_long);\r\n      this.progress_experience_num =\r\n        this.courseProgress.progress_experience_num;\r\n      this.progress_experience_read_num =\r\n        this.courseProgress.progress_experience_read_num;\r\n      this.currentTime = secTotime(\r\n        parseFloat(this.courseProgress.progress_meditate_xingwei_long)\r\n      );\r\n    }\r\n\r\n    if (this.course && this.course.length) {\r\n      const course = JSON.parse(this.course);\r\n      this.courseObj = course[0];\r\n    } else {\r\n      this.courseObj = {};\r\n    }\r\n    console.log(this.course, this.courseObj);\r\n\r\n    console.log(\"BehaviorAudio::::\", this.xintaiPer);\r\n    EventBus.$on(WHITE_MIND_MEDITATE, (playing) => {\r\n      this.playing = playing;\r\n    });\r\n    EventBus.$on(\"setBehaviorGuideMode\", (status) => {\r\n      this.behaviorGuideMode = status;\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n@import \"~@/assets/styles/menus.less\";\r\n\r\n.read {\r\n  font-size: 12px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #ffb096;\r\n  line-height: 21px;\r\n}\r\n/deep/ .el-button {\r\n  padding: 0 10px;\r\n  border-radius: 16px;\r\n  border-color: #ffb096;\r\n}\r\n.culture {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: flex-start;\r\n  position: relative;\r\n  width: 100%;\r\n  /deep/ .el-step__main {\r\n    width: 100%;\r\n    padding-left: 6px;\r\n  }\r\n}\r\n.course-steps {\r\n  margin-top: 14px;\r\n  .stepicondone {\r\n    background: #ffae8b;\r\n    border: 2px solid #ffae8b;\r\n  }\r\n  .unstepicon1 {\r\n    background: #dee5ea;\r\n    border: 2px solid #ffae8b;\r\n  }\r\n  /deep/.el-step__icon {\r\n    width: 10px;\r\n    height: 10px;\r\n    background: none;\r\n    left: 7px;\r\n    top: -6px;\r\n  }\r\n  /deep/.is-text {\r\n    border-radius: 100%;\r\n    border: none;\r\n  }\r\n  .status1 {\r\n    line-height: 14px;\r\n  }\r\n  .endFont {\r\n    color: #ffb096;\r\n  }\r\n}\r\n/deep/.el-step__description {\r\n  padding-right: 0;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__head {\r\n  margin-top: 43px;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__line {\r\n  bottom: -50px;\r\n  top: 2px;\r\n}\r\n/deep/ .el-card {\r\n  width: 100%;\r\n  cursor: pointer;\r\n}\r\n.consciousness {\r\n  display: flex;\r\n  justify-content: space-around;\r\n  align-items: center;\r\n}\r\n.name {\r\n  padding-bottom: 0 !important;\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n}\r\n.progress1 {\r\n  height: 26px;\r\n}\r\n.progress2 {\r\n  height: 24px;\r\n}\r\n.progress {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  align-items: center;\r\n  .write {\r\n    margin-left: 20px;\r\n    width: 20px;\r\n    height: 26px;\r\n  }\r\n  .like {\r\n    margin-left: 20px;\r\n    width: 26px;\r\n    height: 21px;\r\n  }\r\n}\r\n.progressUser {\r\n  .name {\r\n    color: #d4d9db;\r\n  }\r\n}\r\n/deep/ .el-progress-bar__inner {\r\n  background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n}\r\n.view {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  align-items: center;\r\n  padding-top: 5px;\r\n  // .name {\r\n  //   padding-right: 10%;\r\n  // }\r\n  .time {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    font-size: 11px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #d4d9db;\r\n    line-height: 17px;\r\n    padding-top: 6px;\r\n  }\r\n}\r\n/deep/ .el-progress {\r\n  width: 100%;\r\n  margin-right: 10px;\r\n}\r\n\r\n/deep/ .el-card__body {\r\n  padding: 16px 12px;\r\n  overflow: hidden;\r\n}\r\n\r\n.playing {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: @behavior;\r\n  line-height: 24px;\r\n  text-align: center;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  margin-bottom: 17px;\r\n  margin-top: 8px;\r\n}\r\n.time {\r\n  font-size: 11px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #d4d9db;\r\n  line-height: 17px;\r\n}\r\n.circle {\r\n  width: 63px;\r\n  height: 63px;\r\n  position: relative;\r\n  border-radius: 50%;\r\n  background: #fff;\r\n  margin: 0 8px;\r\n  // box-shadow: inset 0 0 0 5px @behavior;\r\n  // border-color: \"#ffb096\";\r\n  // left: 50%;\r\n  // transform: translateX(-50%);\r\n  .circle_text {\r\n    left: 33px;\r\n    top: 1px;\r\n    img {\r\n      width: 24px;\r\n      height: 24px;\r\n    }\r\n  }\r\n\r\n  .ab {\r\n    position: absolute;\r\n    left: 0;\r\n    right: 0;\r\n    top: 0;\r\n    bottom: 0;\r\n    margin: auto;\r\n  }\r\n\r\n  &_left {\r\n    border: 5px solid #eaedef;\r\n    border-radius: 50%;\r\n    clip: rect(0, 34px, 68px, 0);\r\n  }\r\n  &_right {\r\n    border: 5px solid #eaedef;\r\n    border-radius: 50%;\r\n    clip: rect(0, 68px, 68px, 34px);\r\n  }\r\n\r\n  &_text {\r\n    height: 100%;\r\n\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n  }\r\n  &_dot {\r\n    width: 8px;\r\n    height: 8px;\r\n    border-radius: 4px;\r\n    background: @behavior;\r\n  }\r\n  .line {\r\n    width: 67px;\r\n    height: 67px;\r\n    border: 1px solid transparent;\r\n    border-radius: 50%;\r\n    position: absolute;\r\n    top: 0;\r\n    // animation: myRotate 10s linear infinite;\r\n  }\r\n  .guide_line {\r\n    width: 67px;\r\n    height: 67px;\r\n    border: 1px solid transparent;\r\n    border-radius: 50%;\r\n    position: absolute;\r\n    top: 0;\r\n    // animation: myRotate 10s linear infinite;\r\n  }\r\n  .slideCircle {\r\n    width: 10px;\r\n    height: 10px;\r\n    border-radius: 50%;\r\n    position: absolute;\r\n    top: -3px;\r\n    left: 29px;\r\n    background-color: #d4d9db;\r\n  }\r\n  .slideCircle1 {\r\n    background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n  }\r\n}\r\n.isplaying {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  height: 46px;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #ffb096;\r\n  line-height: 28px;\r\n  margin-bottom: 32px;\r\n  margin-top: 10px;\r\n}\r\n.culture_arrow {\r\n  position: absolute;\r\n}\r\n\r\n/deep/ .el-steps .el-step:first-child{\r\n  .is-text::before{\r\n    content: '';\r\n    position: absolute;\r\n    top: -100px;\r\n    left: 50%;\r\n    width: 2px;\r\n    background: #d4d9db;\r\n    transform: translate(-50%, 0);\r\n    height: 100px;\r\n    display: inline-block;\r\n  }\r\n}\r\n/deep/ .el-steps .el-step:last-child{\r\n  .is-text::before{\r\n    content: '';\r\n    position: absolute;\r\n    top: 10px;\r\n    left: 50%;\r\n    width: 2px;\r\n    background: #d4d9db;\r\n    transform: translate(-50%, 0);\r\n    height: 69px;\r\n    display: inline-block;\r\n  }\r\n}\r\n</style>\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Behavior.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"culture menuArrows icon-to-component-menus\",attrs:{\"id\":\"behavior\"}},[_c('div',{ref:\"BehaviorAudio\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'BehaviorAudio' || _vm.selectedModule === 'BehaviorAudio',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'BehaviorAudio' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('150px')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toMeditateDetail', 'BehaviorAudio')}}},[_c('span',{class:{\n      'BehaviorAudioA': _vm.courseProgress && _vm.courseProgress.progress_meditate_xingwei_complete == 1,\n      'BehaviorAudioB': _vm.courseProgress && _vm.courseProgress.progress_meditate_xingwei_complete == 2\n    }})]),_vm._v(\" \"),_c('div',{ref:\"ConfirmTips\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'ConfirmTips' || _vm.selectedModule === 'ConfirmTips',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'ConfirmTips' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('235px')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toConfirmTips', 'ConfirmTips')}}},[_c('span',{class:{\n      'ConfirmTipsA': _vm.progress_experience_num > 0,\n      'ConfirmTipsB': _vm.progress_experience_num == 0\n    }})]),_vm._v(\" \"),(_vm.courseObj && _vm.courseObj.course_isuseradd == 2 && _vm.experience_ishide == 2)?_c('div',{ref:\"TipsSquare\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'TipsSquare' || _vm.selectedModule === 'TipsSquare',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'TipsSquare' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('318px')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toTipsSquare', 'TipsSquare')}}},[_c('span',{class:{\n      'TipsSquareA': _vm.progress_experience_read_num > 0,\n      'TipsSquareB': _vm.progress_experience_read_num == 0\n    }})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"course-steps\"},[_c('el-steps',{attrs:{\"direction\":\"vertical\"}},[_c('el-step',{attrs:{\"title\":\"\"}},[(\n            _vm.courseProgress &&\n              _vm.courseProgress.progress_meditate_xingwei_complete == 1\n          )?_c('i',{staticClass:\"stepicon stepicondone\",attrs:{\"slot\":\"icon\",\"id\":\"xingwei_step\"},slot:\"icon\"}):(\n            _vm.courseProgress &&\n              _vm.courseProgress.progress_meditate_xingwei_complete == 2 &&\n              _vm.xintaiPer > 0\n          )?_c('i',{staticClass:\"stepicon unstepicon1\",attrs:{\"slot\":\"icon\",\"id\":\"xingwei_step\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"xingwei_step\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_step17\"},on:{\"click\":function($event){return _vm.setSelectedModule('toMeditateDetail', 'BehaviorAudio')}},slot:\"description\"},[_c('el-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.behaviorGuideMode === 1),expression:\"behaviorGuideMode === 1\"}],class:{\n              'menubox-card': true,\n              'menubox-card-selected': _vm.whiteCom === 'BehaviorAudio'\n            }},[(\n                _vm.courseProgress &&\n                  _vm.courseProgress.progress_meditate_xingwei_complete == 1\n              )?_c('div',{staticClass:\"status endFont\",on:{\"click\":function($event){return _vm.play(false)}}},[_vm._v(\"\\n              已完成\\n            \")]):_c('div',{staticClass:\"status\",on:{\"click\":function($event){return _vm.play(false)}}},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"name\",on:{\"click\":function($event){return _vm.play(false)}}},[_c('span',{staticClass:\"name-span\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),(\n                  _vm.mindMeditate &&\n                    !_vm.mindMeditate.meditate_audio_url_show &&\n                    (_vm.mindMeditate.meditate_anzhu_text ||\n                      _vm.mindMeditate.meditate_guancha_text)\n                )?_c('el-button',{staticClass:\"read bg-transparent\"},[_vm._v(\"阅读观修文\")]):_vm._e()],1),_vm._v(\" \"),(\n                (!_vm.playing && _vm.whiteCom !== 'BehaviorAudio') ||\n                  (_vm.mindMeditate && !_vm.mindMeditate.meditate_audio_url_show) ||\n                  !_vm.mindMeditate\n              )?_c('div',{staticClass:\"playing\"},[_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.currentTime))]),_vm._v(\" \"),_c('div',{staticClass:\"circle\",style:({ background: _vm.whiteCom === 'BehaviorAudio' ? '#fff' : 'rgba(253, 253, 253, 0.3)'})},[_c('CircleCom',{attrs:{\"size\":65,\"percent\":_vm.xintaiPer / 100,\"bgColor\":'#eaedef',\"barColor\":'#ffb096'}}),_vm._v(\" \"),_c('div',{ref:\"line\",staticClass:\"line\"},[_c('div',{staticClass:\"slideCircle\",class:{\n                      slideCircle: true,\n                      slideCircle1: _vm.mindMeditate && _vm.mindMeditate.totalTime\n                    }})]),_vm._v(\" \"),_c('div',{staticClass:\"circle_text\"},[(\n                      !_vm.playing && _vm.mindMeditate && _vm.mindMeditate.totalTime > 0\n                    )?_c('img',{attrs:{\"src\":require(\"@/assets/img/mindmed_play.svg\")},on:{\"click\":function($event){return _vm.play(true)}}}):(\n                      _vm.playing && _vm.mindMeditate && _vm.mindMeditate.totalTime > 0\n                    )?_c('img',{attrs:{\"src\":require(\"@/assets/img/mindmed_pause.svg\")},on:{\"click\":_vm.pause}}):(\n                      _vm.mindMeditate && !_vm.mindMeditate.meditate_audio_url_show\n                    )?_c('img',{attrs:{\"src\":require(\"@/assets/img/tip_detail_disabled.svg\")}}):_vm._e()])],1),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.totalTime))])]):_vm._e(),_vm._v(\" \"),(\n                _vm.whiteCom === 'BehaviorAudio' &&\n                  _vm.playing &&\n                  _vm.mindMeditate &&\n                  _vm.mindMeditate.meditate_audio_url_show\n              )?_c('div',{staticClass:\"isplaying\"},[_vm._v(\"\\n              正在播放\\n            \")]):_vm._e(),_vm._v(\" \"),(\n                _vm.whiteCom === 'BehaviorAudio' &&\n                  !_vm.playing &&\n                  _vm.mindMeditate &&\n                  _vm.mindMeditate.meditate_audio_url_show\n              )?_c('div',{staticClass:\"isplaying\"},[_vm._v(\"\\n              未在播放\\n            \")]):_vm._e()]),_vm._v(\" \"),(_vm.behaviorGuideMode === 0)?_c('el-card',{staticClass:\"menubox-card menubox-card-selected\"},[_c('div',{staticClass:\"status\"},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('span',{staticClass:\"name-span\"},[_vm._v(\"观修文\")])]),_vm._v(\" \"),_c('div',{staticClass:\"playing\"},[_c('div',{staticClass:\"time\"},[_vm._v(\"00:12:04\")]),_vm._v(\" \"),_c('div',{staticClass:\"circle\",style:({ background: _vm.whiteCom === 'BehaviorAudio' ? '#fff' : 'rgba(253, 253, 253, 0.3)'})},[_c('CircleCom',{attrs:{\"size\":65,\"percent\":0.75,\"bgColor\":'#eaedef',\"barColor\":'#ffb096'}}),_vm._v(\" \"),_c('div',{staticClass:\"guide_line\"},[_c('div',{staticClass:\"slideCircle slideCircle1\"})]),_vm._v(\" \"),_c('div',{staticClass:\"circle_text\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mindmed_play.svg\")}})])],1),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_vm._v(\"00:40:00\")])])]):_vm._e()],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"}},[(_vm.progress_experience_num > 0)?_c('i',{staticClass:\"stepicon stepicondone\",attrs:{\"slot\":\"icon\",\"id\":\"confirmtips_step\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"confirmtips_step\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_step18\"},on:{\"click\":function($event){return _vm.setSelectedModule('toConfirmTips', 'ConfirmTips')}},slot:\"description\"},[_c('el-card',{class:{\n              'menubox-card': true,\n              'menubox-card-selected':\n                _vm.whiteCom === 'EditTips' || _vm.whiteCom === 'ConfirmTips'\n            }},[(_vm.progress_experience_num > 0)?_c('div',{staticClass:\"status endFont status1\"},[_vm._v(\"\\n              已提交\\n            \")]):_c('div',{staticClass:\"status status1\"},[_vm._v(\"未提交\")]),_vm._v(\" \"),_c('div',{staticClass:\"progress progress1\"},[_c('div',{staticClass:\"name\"},[_vm._v(\"提交心得\")]),_vm._v(\" \"),_c('img',{staticClass:\"write\",class:_vm.whiteCom === 'EditTips' || _vm.whiteCom === 'ConfirmTips'\n                    ? 'contentItemAni'\n                    : 'contentItemAniLeave',attrs:{\"src\":require(\"@/assets/img/write.svg\")}})])])],1)]),_vm._v(\" \"),(_vm.courseObj.course_isuseradd == 2 && _vm.experience_ishide == 2)?_c('el-step',{attrs:{\"title\":\"\"}},[(_vm.progress_experience_read_num > 0)?_c('i',{staticClass:\"stepicon stepicondone\",attrs:{\"slot\":\"icon\",\"id\":\"tipssquare_step\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"tipssquare_step\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_overseas_step18\"},on:{\"click\":function($event){return _vm.setSelectedModule('toTipsSquare', 'TipsSquare')}},slot:\"description\"},[_c('el-card',{class:{\n              'menubox-card': true,\n              'menubox-card-selected': _vm.whiteCom === 'TipsSquare'\n            }},[_c('div',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.behaviorGuideMode === 1),expression:\"behaviorGuideMode === 1\"}]},[(_vm.progress_experience_read_num > 0)?_c('div',{staticClass:\"status endFont status1\"},[_vm._v(\"\\n                  已查看\\n                \")]):_c('div',{staticClass:\"status status1\"},[_vm._v(\"未查看\")])]),_vm._v(\" \"),(_vm.behaviorGuideMode === 0)?_c('div',{staticClass:\"status status1\"},[_vm._v(\"未查看\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"progress progress2\"},[_c('div',{staticClass:\"name\"},[_vm._v(\"心得广场\")]),_vm._v(\" \"),_c('img',{staticClass:\"like\",class:_vm.whiteCom === 'TipsSquare'\n                      ? 'contentItemAni'\n                      : 'contentItemAniLeave',attrs:{\"src\":require(\"@/assets/img/square.svg\")}})])])])],1)]):_vm._e()],1)],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0b5f7b91\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Behavior.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0b5f7b91\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Behavior.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Behavior.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Behavior.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0b5f7b91\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Behavior.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0b5f7b91\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Behavior.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"culture menuArrows icon-to-component-menus\" id=\"personality\">\r\n    <div \r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'Ocean' || selectedModule === 'Ocean',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'Ocean' && selectedModuleBefore !== selectedModule,\r\n      }\"\r\n      :style=\"{\r\n        top: $px2rem('360px')\r\n      }\"\r\n      ref=\"Ocean\"\r\n      @click=\"setSelectedModule('toOcean', 'Ocean')\"\r\n    >\r\n      <span :class=\"{\r\n        'OceanA': progress_isread_lifeocean == 1,\r\n        'OceanB': progress_isread_lifeocean != 1\r\n      }\"></span>\r\n    </div>\r\n\r\n    <div\r\n      class=\"course-steps\"\r\n    >\r\n      <el-steps direction=\"vertical\">\r\n        <el-step title=\"\">\r\n          <i\r\n            v-if=\"progress_isread_lifeocean === 1\"\r\n            id=\"personality_step\"\r\n            class=\"stepicon stepicondone\"\r\n            slot=\"icon\"\r\n          ></i>\r\n          <i v-else id=\"personality_step\" class=\"stepicon unstepicon\" slot=\"icon\"></i>\r\n\r\n          <div  id=\"index_step20\" slot=\"description\" @click=\"toOceanCard($event)\">\r\n            <el-card\r\n              :class=\"{\r\n                'menubox-card': true,\r\n                'menubox-card-selected': whiteCom === 'BehaviorAudio'\r\n              }\"\r\n            >\r\n              <div\r\n                class=\"status endFont\"\r\n                v-if=\"progress_isread_lifeocean === 1\"\r\n              >\r\n                已完成\r\n              </div>\r\n              <div class=\"status\" v-else>未完成</div>\r\n              <div class=\"name\">生命海洋</div>\r\n              <div class=\"view-box\">\r\n                <div class=\"view\">\r\n                  <div class=\"smallView\">\r\n                    <img src=\"@/assets/img/ocean.png\" />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </el-card>\r\n\r\n          </div>\r\n        </el-step>\r\n      </el-steps>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport AudioCom from \"@/components/AudioCom.vue\";\r\nimport { EventBus, WHITE_THINK_OCEAN } from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: { AudioCom },\r\n  data() {\r\n    return {\r\n      isMobile: this.getIsMobile(),\r\n      selectedModuleBefore: '',// 上一个选中的\r\n      selectedModule: '', // 当前选中的\r\n      src: null,\r\n      progress_isread_lifeocean: 0, // 是否查看生命海洋 1是 2否\r\n      isHoverPersonnality: false,\r\n      isChangeCourse: false\r\n    };\r\n  },\r\n  computed: {\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    }\r\n  },\r\n  watch: {\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(newVal, oldVal) {\r\n        this.isChangeCourse = false;\r\n\r\n        this.$nextTick(() => {\r\n          this.selectedModule = newVal;\r\n        });\r\n      }\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.progress_isread_lifeocean = v.progress_isread_lifeocean;\r\n        }\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v, oldVal) {\r\n        this.isChangeCourse = true;\r\n        if (this.$refs[\"ImageArrowPersonnality\"]) {\r\n          this.$refs[\"ImageArrowPersonnality\"].classList.value = \"imageArrow\";\r\n        }\r\n\r\n        this.isHoverPersonnality = false;\r\n      }\r\n    }\r\n  },\r\n\r\n  methods: {\r\n    toOceanCard(e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      // 点击卡片时,如果已完成先把图片转换成箭头,然后再执行点击事件\r\n      if (this.progress_isread_lifeocean == 1) {\r\n        this.isHoverPersonnality = true;\r\n        this.$nextTick(() => {\r\n          this.toOcean(\"ImageArrowPersonComplete\", e);\r\n        });\r\n      } else {\r\n        this.toOcean(\"ImageArrowPersonnality\", e);\r\n      }\r\n    },\r\n    toOcean(refName, e) {\r\n      if (e) {\r\n        e.stopPropagation();\r\n      }\r\n      EventBus.$emit(WHITE_THINK_OCEAN);\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    if (this.courseProgress) {\r\n      this.progress_isread_lifeocean = this.courseProgress.progress_isread_lifeocean;\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n@import \"~@/assets/styles/menus.less\";\r\n\r\n.culture {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: flex-start;\r\n  position: relative;\r\n  width: 100%;\r\n  /deep/ .el-step__main {\r\n    width: 100%;\r\n    padding-left: 6px;\r\n  }\r\n}\r\n.course-steps {\r\n  padding-top: 20px;\r\n  margin-top: 14px;\r\n  cursor: pointer;\r\n  .stepicondone {\r\n    background: #2c51af;\r\n    border: 2px solid #2c51af;\r\n  }\r\n  /deep/.el-step__icon {\r\n    width: 10px;\r\n    height: 10px;\r\n    background: none;\r\n    left: 7px;\r\n    top: -26px;\r\n  }\r\n  /deep/.is-text {\r\n    border-radius: 100%;\r\n    border: none;\r\n  }\r\n  .endFont {\r\n    color: #2c51af;\r\n  }\r\n}\r\n/deep/.el-step__description {\r\n  padding-right: 0;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__head {\r\n  margin-top: 51px;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__line {\r\n  bottom: -50px;\r\n  top: 2px;\r\n}\r\n\r\n/deep/ .el-card__body {\r\n  padding: 16px 12px;\r\n  overflow: hidden;\r\n}\r\n.name {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #292929;\r\n  line-height: 28px;\r\n  padding-bottom: 7px;\r\n}\r\n\r\n.view-box {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  width: 100%;\r\n}\r\n.view {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  width: 150px;\r\n  height: 150px;\r\n  border: 1px solid rgba(35, 109, 171, 0.08);\r\n  border-radius: 50%;\r\n  margin-top: 40px;\r\n  margin-bottom: 80px;\r\n  .smallView {\r\n    width: 129px;\r\n    height: 129px;\r\n    border: 1px solid #2c51af;\r\n    border-radius: 50%;\r\n    position: relative;\r\n    img {\r\n      width: 100%;\r\n      height: 100%;\r\n    }\r\n    .ani {\r\n      width: 100%;\r\n      height: 100%;\r\n      position: absolute;\r\n      left: 0;\r\n      top: 0;\r\n      border-radius: 50%;\r\n      background-position: center;\r\n      img {\r\n        width: 129px;\r\n        height: 129px;\r\n      }\r\n    }\r\n    .bg1 {\r\n      background-image: url(\"/static/img/bg/bg1.png\");\r\n      animation: am1 20s linear infinite;\r\n    }\r\n    @keyframes am1 {\r\n      0% {\r\n        opacity: 1;\r\n      }\r\n      25% {\r\n        opacity: 0;\r\n      }\r\n      50% {\r\n        opacity: 0;\r\n      }\r\n      75% {\r\n        opacity: 0;\r\n      }\r\n      100% {\r\n        opacity: 1;\r\n      }\r\n    }\r\n    .bg2 {\r\n      background-image: url(\"/static/img/bg/bg2.png\");\r\n      animation: am2 20s linear infinite;\r\n    }\r\n    @keyframes am2 {\r\n      0% {\r\n        opacity: 0;\r\n      }\r\n      25% {\r\n        opacity: 1;\r\n      }\r\n      50% {\r\n        opacity: 0;\r\n      }\r\n      75% {\r\n        opacity: 0;\r\n      }\r\n      100% {\r\n        opacity: 0;\r\n      }\r\n    }\r\n    .bg3 {\r\n      background-image: url(\"/static/img/bg/bg3.png\");\r\n      animation: am3 20s linear infinite;\r\n    }\r\n    @keyframes am3 {\r\n      0% {\r\n        opacity: 0;\r\n      }\r\n      25% {\r\n        opacity: 0;\r\n      }\r\n      50% {\r\n        opacity: 1;\r\n      }\r\n      75% {\r\n        opacity: 0;\r\n      }\r\n      100% {\r\n        opacity: 0;\r\n      }\r\n    }\r\n    .bg4 {\r\n      background-image: url(\"/static/img/bg/bg4.png\");\r\n      animation: am4 20s linear infinite;\r\n    }\r\n    @keyframes am4 {\r\n      0% {\r\n        opacity: 0;\r\n      }\r\n      25% {\r\n        opacity: 0;\r\n      }\r\n      50% {\r\n        opacity: 0;\r\n      }\r\n      75% {\r\n        opacity: 1;\r\n      }\r\n      100% {\r\n        opacity: 0;\r\n      }\r\n    }\r\n  }\r\n  .name {\r\n    padding-right: 10%;\r\n  }\r\n}\r\n.culture_arrow {\r\n  position: absolute;\r\n  top: 8px;\r\n  right: 0;\r\n  width: 39px;\r\n  height: 39px;\r\n}\r\n/deep/ .el-steps .el-step:first-child{\r\n  .is-text::before{\r\n    content: '';\r\n    position: absolute;\r\n    top: -100px;\r\n    left: 50%;\r\n    width: 2px;\r\n    background: #d4d9db;\r\n    transform: translate(-50%, 0);\r\n    height: 100px;\r\n    display: inline-block;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Personality.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"culture menuArrows icon-to-component-menus\",attrs:{\"id\":\"personality\"}},[_c('div',{ref:\"Ocean\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'Ocean' || _vm.selectedModule === 'Ocean',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'Ocean' && _vm.selectedModuleBefore !== _vm.selectedModule,\n    },style:({\n      top: _vm.$px2rem('360px')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toOcean', 'Ocean')}}},[_c('span',{class:{\n      'OceanA': _vm.progress_isread_lifeocean == 1,\n      'OceanB': _vm.progress_isread_lifeocean != 1\n    }})]),_vm._v(\" \"),_c('div',{staticClass:\"course-steps\"},[_c('el-steps',{attrs:{\"direction\":\"vertical\"}},[_c('el-step',{attrs:{\"title\":\"\"}},[(_vm.progress_isread_lifeocean === 1)?_c('i',{staticClass:\"stepicon stepicondone\",attrs:{\"slot\":\"icon\",\"id\":\"personality_step\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"personality_step\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\",\"id\":\"index_step20\"},on:{\"click\":function($event){return _vm.toOceanCard($event)}},slot:\"description\"},[_c('el-card',{class:{\n              'menubox-card': true,\n              'menubox-card-selected': _vm.whiteCom === 'BehaviorAudio'\n            }},[(_vm.progress_isread_lifeocean === 1)?_c('div',{staticClass:\"status endFont\"},[_vm._v(\"\\n              已完成\\n            \")]):_c('div',{staticClass:\"status\"},[_vm._v(\"未完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(\"生命海洋\")]),_vm._v(\" \"),_c('div',{staticClass:\"view-box\"},[_c('div',{staticClass:\"view\"},[_c('div',{staticClass:\"smallView\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/ocean.png\")}})])])])])],1)])],1)],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0303d089\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Personality.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0303d089\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Personality.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Personality.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Personality.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0303d089\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Personality.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0303d089\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Personality.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div style=\"position: relative;\"\r\n    class=\"progressArrows\"\r\n    id=\"progressArrows\">\r\n    <!-- <div>\r\n      {{ whiteCom }} {{ selectedModule }}\r\n    </div> -->\r\n    <!-- 课程内容 -->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': selectedModule === 'CultrueContent',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'CultrueContent'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target1', 'CultrueContent')\r\n      }\"\r\n      ref=\"CultrueContent\"\r\n      @click=\"setSelectedModule('toCultrueContent', 'CultrueContent', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'CultrueContentA': progress_course_complete === 1,\r\n        'CultrueContentB': progress_course_complete === 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 思维导图 -->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': selectedModule === 'Mind',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'Mind'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target2', 'Mind')\r\n      }\"\r\n      ref=\"Mind\"\r\n      @click=\"setSelectedModule('toMind', 'Mind', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'MindA': progress_mindmap_num > 0,\r\n        'MindB': progress_mindmap_num == 0\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 问题意识 -->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'Problem' || selectedModule === 'Problem',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'Problem'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target3', 'Problem')\r\n      }\"\r\n      ref=\"Problem\"\r\n      @click=\"setSelectedModule('toProblem', 'Problem', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'ProblemA': courseProgress && courseProgress.progress_see_question_complete === 1,\r\n        'ProblemB': courseProgress && courseProgress.progress_see_question_complete === 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 问题解决-->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'QuestionList' || selectedModule === 'QuestionList',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'QuestionList'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target4', 'QuestionList')\r\n      }\"\r\n      ref=\"QuestionList\"\r\n      @click=\"setSelectedModule('toQuestionList', 'QuestionList', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'QuestionListA': courseProgress && courseProgress.progress_solve_question_complete === 1,\r\n        'QuestionListB': courseProgress && courseProgress.progress_solve_question_complete === 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 观念观修文 -->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'TipsView' || selectedModule === 'TipsView',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'TipsView'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target5', 'TipsView')\r\n      }\"\r\n      ref=\"TipsView\"\r\n      @click=\"setSelectedModule('toThinkMedidate', 'TipsView', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'TipsViewA': courseProgress && courseProgress.progress_meditate_siwei_complete == 1,\r\n        'TipsViewB': courseProgress && courseProgress.progress_meditate_siwei_complete == 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 行为观修文 -->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'BehaviorAudio' || selectedModule === 'BehaviorAudio',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'BehaviorAudio'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target6', 'BehaviorAudio')\r\n      }\"\r\n      ref=\"BehaviorAudio\"\r\n      @click=\"setSelectedModule('toMindMedidate', 'BehaviorAudio', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'BehaviorAudioA': courseProgress && courseProgress.progress_meditate_xingwei_complete == 1,\r\n        'BehaviorAudioB': courseProgress && courseProgress.progress_meditate_xingwei_complete == 2\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 提交心得 -->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'ConfirmTips' || selectedModule === 'ConfirmTips',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'ConfirmTips'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target7', 'ConfirmTips')\r\n      }\"\r\n      ref=\"ConfirmTips\"\r\n      @click=\"setSelectedModule('toConfirmTips', 'ConfirmTips', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'ConfirmTipsA': progress_experience_num > 0,\r\n        'ConfirmTipsB': progress_experience_num == 0\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 心得广场 -->\r\n    <div\r\n      v-if=\"courseProgress && courseProgress.course_isuseradd == 2 && experience_ishide == 2\"\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'TipsSquare' || selectedModule === 'TipsSquare',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'TipsSquare'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target8', 'TipsSquare')\r\n      }\"\r\n      ref=\"TipsSquare\"\r\n      @click=\"setSelectedModule('toTipsSquare', 'TipsSquare', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'TipsSquareA': progress_experience_read_num > 0,\r\n        'TipsSquareB': progress_experience_read_num == 0\r\n      }\"></span>\r\n    </div>\r\n\r\n    <!-- 生命海洋 -->\r\n    <div\r\n      :class=\"{\r\n        'icon-to-component': true,\r\n        'icon-to-component-hover': !isMobile,\r\n        'icon-to-component-selected': whiteCom === 'Ocean' || selectedModule === 'Ocean',\r\n        'icon-to-component-unSelected': selectedModuleBefore === 'Ocean'\r\n      }\"\r\n      :style=\"{\r\n        top: setImgTop('target9', 'Ocean')\r\n      }\"\r\n      ref=\"Ocean\"\r\n      @click=\"setSelectedModule('toOcean', 'Ocean', $event)\"\r\n    >\r\n      <span :class=\"{\r\n        'OceanA': progress_isread_lifeocean == 1,\r\n        'OceanB': progress_isread_lifeocean != 1\r\n      }\"></span>\r\n    </div>\r\n\r\n    <div class=\"course-steps\"\r\n      id=\"taskprogress_steps\">\r\n      <div id=\"taskprogress_connection1\"\r\n        class=\"connection connection1\"></div>\r\n      <!-- <div id=\"taskprogress_connection2\"\r\n        class=\"connection connection2\"\r\n        :style=\"{\r\n          top:\r\n            courseProgress && courseProgress.course_isuseradd == 2\r\n              ? $px2rem('459px')\r\n              : $px2rem('408px')\r\n        }\"></div> -->\r\n      <div class=\"box\"\r\n        id=\"taskprogress_box1\">\r\n        <el-steps direction=\"vertical\">\r\n          <el-step title=\"\" @click.native=\"setSelectedModule('toCultrueContent', 'CultrueContent', $event)\">\r\n            <i v-if=\"progress_course_complete === 1\"\r\n              class=\"stepicon\"\r\n              style=\"background: #71afbb; border: 2px solid #71afbb\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\">\r\n              <el-card class=\"box-card\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <div class=\"name_row\">\r\n                    <span v-if=\"app_type == 2\">课程内容</span>\r\n                    <span v-else>内容</span>\r\n                    <!-- <span>{{ progress_course_complete }}次</span> -->\r\n                  </div>\r\n                  <el-progress ref=\"target1\" :percentage=\"progress_course_complete === 1 ? 100 : 0\"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#71AFBB'\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n          <el-step title=\"\" @click.native=\"setSelectedModule('toMind', 'Mind', $event)\">\r\n            <i v-if=\"progress_mindmap_num > 0\"\r\n              class=\"stepicon\"\r\n              style=\"background: #71afbb; border: 2px solid #71afbb\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\">\r\n              <el-card class=\"box-card\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <span class=\"name_row\">思维导图</span>\r\n                  <el-progress ref=\"target2\" class=\"mind_progress\"\r\n                    :percentage=\"progress_mindmap_num > 0 ? 100 : 0\"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#71AFBB'\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n          <el-step title=\"\" @click.native=\"setSelectedModule('toProblem', 'Problem', $event)\">\r\n            <i v-if=\"\r\n                courseProgress &&\r\n                  courseProgress.progress_see_question_complete === 1\r\n              \"\r\n              class=\"stepicon\"\r\n              style=\"background: #64afd5; border: 2px solid #64afd5\"\r\n              slot=\"icon\"></i>\r\n            <!-- <i\r\n              v-else\r\n              class=\"stepicon\"\r\n              style=\"background: #dee5ea; border: 2px solid #d4d9db\"\r\n              slot=\"icon\"\r\n            ></i> -->\r\n\r\n            <i v-else\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\">\r\n              <el-card class=\"box-card\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <div class=\"name_row\">\r\n                    <span>问题意识</span>\r\n                    <span>{{ progress_see_question }}/{{\r\n                        course_question_num\r\n                      }}</span>\r\n                  </div>\r\n                  <el-progress ref=\"target3\" :percentage=\"questionSeePer\"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#64AFD5'\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n          <el-step title=\"\" @click.native=\"setSelectedModule('toQuestionList', 'QuestionList', $event)\">\r\n            <i v-if=\"\r\n                courseProgress &&\r\n                  courseProgress.progress_solve_question_complete === 1\r\n              \"\r\n              class=\"stepicon\"\r\n              style=\"background: #64afd5; border: 2px solid #64afd5\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\"\r\n              @click=\"toQuestionList\">\r\n              <el-card class=\"box-card\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <div class=\"name_row\">\r\n                    <span>{{\r\n                      app_type == 2 ? \"本课问题解决\" : \"问题解决\"\r\n                    }}</span>\r\n                    <span>{{ progress_solve_question }}/{{\r\n                        course_question_num\r\n                      }}</span>\r\n                  </div>\r\n                  <el-progress ref=\"target4\" :percentage=\"questionSolvePer\"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#64AFD5'\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n          <el-step title=\"\" @click.native=\"setSelectedModule('toThinkMedidate', 'TipsView', $event)\">\r\n            <i v-if=\"\r\n                courseProgress &&\r\n                  courseProgress.progress_meditate_siwei_complete == 1\r\n              \"\r\n              id=\"taskprogress_step_siwei\"\r\n              class=\"stepicon\"\r\n              style=\"background: #64afd5; border: 2px solid #64afd5\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              id=\"taskprogress_step_siwei\"\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\">\r\n              <el-card class=\"box-card\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <span class=\"name_row\">观修文</span>\r\n                  <el-progress ref=\"target5\" :percentage=\"\r\n                      courseProgress &&\r\n                      courseProgress.progress_meditate_siwei_complete == 1\r\n                        ? 100\r\n                        : 0\r\n                    \"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#64AFD5'\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n        </el-steps>\r\n      </div>\r\n      <div class=\"box\"\r\n        :class=\"[courseProgress && courseProgress.course_isuseradd == 2 && experience_ishide == 2 ? '' : 'taskprogressBoxCourseIsuseradd']\"\r\n        id=\"taskprogress_box2\">\r\n        <el-steps direction=\"vertical\">\r\n          <el-step title=\"\" @click.native=\"setSelectedModule('toMindMedidate', 'BehaviorAudio', $event)\">\r\n            <i v-if=\"\r\n                courseProgress &&\r\n                  courseProgress.progress_meditate_xingwei_complete == 1\r\n              \"\r\n              id=\"taskprogress_step_xingwei\"\r\n              class=\"stepicon\"\r\n              style=\"background: #ffae8b; border: 2px solid #ffae8b\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              id=\"taskprogress_step_xingwei\"\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\"\r\n              @click=\"toMindMedidate\">\r\n              <el-card class=\"box-card gradient\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <span class=\"name_row\">观修文</span>\r\n                  <el-progress ref=\"target6\" :percentage=\"\r\n                      courseProgress &&\r\n                      courseProgress.progress_meditate_xingwei_complete == 1\r\n                        ? 100\r\n                        : 0\r\n                    \"\r\n                    :show-text=\"false\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n          <el-step title=\"\" @click.native=\"setSelectedModule('toConfirmTips', 'ConfirmTips', $event)\">\r\n            <i v-if=\"progress_experience_num > 0\"\r\n              id=\"taskprogress_step_confirm\"\r\n              class=\"stepicon\"\r\n              style=\"background: #ffae8b; border: 2px solid #ffae8b\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              id=\"taskprogress_step_confirm\"\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\">\r\n              <el-card class=\"box-card gradient\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <span class=\"name_row\">提交心得</span>\r\n                  <el-progress ref=\"target7\" :percentage=\"progress_experience_num > 0 ? 100 : 0\"\r\n                    :show-text=\"false\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n          <el-step title=\"\"\r\n            v-if=\"courseProgress && courseProgress.course_isuseradd == 2 && experience_ishide == 2\"\r\n            @click.native=\"setSelectedModule('toTipsSquare', 'TipsSquare', $event)\">\r\n            <i v-if=\"progress_experience_read_num > 0\"\r\n              id=\"taskprogress_step_tips\"\r\n              class=\"stepicon\"\r\n              style=\"background: #ffae8b; border: 2px solid #ffae8b\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              id=\"taskprogress_step_tips\"\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\">\r\n              <el-card class=\"box-card gradient\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <span class=\"name_row\">心得广场</span>\r\n                  <el-progress ref=\"target8\" :percentage=\"progress_experience_read_num > 0 ? 100 : 0\"\r\n                    :show-text=\"false\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n        </el-steps>\r\n      </div>\r\n      <div class=\"box box1\"\r\n        id=\"taskprogress_box3\" @click=\"setSelectedModule('toOcean', 'Ocean', $event)\">\r\n        <el-steps direction=\"vertical\">\r\n          <el-step title=\"\">\r\n            <i v-if=\"progress_isread_lifeocean === 1\"\r\n              id=\"taskprogress_step_lifeocean\"\r\n              class=\"stepicon\"\r\n              style=\"background: #2c51af; border: 2px solid #2c51af\"\r\n              slot=\"icon\"></i>\r\n            <i v-else\r\n              id=\"taskprogress_step_lifeocean\"\r\n              class=\"stepicon unstepicon\"\r\n              slot=\"icon\"></i>\r\n            <div slot=\"description\">\r\n              <el-card class=\"box-card\"\r\n                :shadow=\"'never'\">\r\n                <div class=\"name\">\r\n                  <span class=\"name_row\">生命海洋</span>\r\n                  <el-progress ref=\"target9\" :percentage=\"progress_isread_lifeocean === 1 ? 100 : 0\"\r\n                    :show-text=\"false\"\r\n                    :color=\"'#2C51AF'\"\r\n                    :stroke-width=\"8\"></el-progress>\r\n                </div>\r\n              </el-card>\r\n            </div>\r\n          </el-step>\r\n        </el-steps>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  EventBus,\r\n  WHITE_THINK_MEDITATE,\r\n  WHITE_THINK_MEDITATE_PAGE,\r\n  WHITE_THINK_QUESTIONLIST,\r\n  WHITE_THINK_PROBLEM,\r\n  WHITE_MIND_MEDITATE,\r\n  WHITE_MIND_MEDITATE_PAGE,\r\n  WHITE_TIPS_SQUARE,\r\n  WHITE_CONFIRM_TIPS,\r\n  WHITE_THINK_OCEAN,\r\n  WHITE_CULTURE_CONTENT,\r\n  WHITE_CULTURE_MIND,\r\n} from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: {},\r\n  props: {\r\n    showTaskProgress: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      isMobile: this.getIsMobile(),\r\n      selectedModuleBefore: '', // 前一个选中的模块\r\n      selectedModule: '', // 当前选中的模块\r\n      imgTops: null,\r\n      timer: null,\r\n      src: null,\r\n      playing: false,\r\n      totalTime: 0,\r\n      currentTime: 0,\r\n      audio: null,\r\n      progress_see_question: 0, //查看问题数量\r\n      progress_solve_question: 0, //解决问题数量\r\n      questionSeePer: 0,\r\n      questionSolvePer: 0,\r\n      course_question_num: 0, //官方问题数量\r\n      progress_course_complete: 0, //课程阅读次数\r\n      progress_mindmap_num: 0, // 思维导图数量\r\n      progress_experience_num: 0, //提交心得数量\r\n      progress_experience_read_num: 0, //心得广场阅读数量\r\n      progress_isread_lifeocean: 2, // 是否查看生命海洋 1是 2否\r\n      isHoverMindTp: false,\r\n      isHoverProblemTp: false,\r\n      isHoverQuestionTp: false,\r\n      isHoverTipsViewTp: false,\r\n      isHoverBehaviorAudioTp: false,\r\n      isHoverConfirmTipsTp: false,\r\n      isHoverTipsSquareTp: false,\r\n      isHoverPersonnalityTp: false,\r\n      isChangeCourse: false,\r\n      app_type: 2,\r\n      courseObj: {},\r\n      experience_ishide: ''\r\n    };\r\n  },\r\n  computed: {\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    mindMeditate() {\r\n      return this.$store.getters.mindMeditate;\r\n    },\r\n    thinkMeditate() {\r\n      return this.$store.getters.thinkMeditate;\r\n    },\r\n    progress_meditate_siwei_long() {\r\n      return this.$store.getters.progress_meditate_siwei_long;\r\n    },\r\n    progress_meditate_xingwei_long() {\r\n      return this.$store.getters.progress_meditate_xingwei_long;\r\n    },\r\n    whiteCom() {\r\n      this.selectedModule = this.$store.getters.whiteCom;\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n  },\r\n  watch: {\r\n    course: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v && v.length) {\r\n          const course = JSON.parse(v);\r\n          this.courseObj = course[0];\r\n        } else {\r\n          this.courseObj = {};\r\n        }\r\n\r\n      },\r\n      immediate: true,\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        // this.changeCourse();\r\n      },\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          // this.changeCourse();\r\n        }\r\n      },\r\n    },\r\n    showTaskProgress: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          this.imgTops = {};\r\n        }\r\n      },\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        let timeout = setTimeout(() => {\r\n          this.resizeWindow();\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n        }, 200);\r\n        this.formatData();\r\n      },\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function (v, oldVal) {\r\n        this.formatData();\r\n      },\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        this.$nextTick(() => {\r\n          this.selectedModuleBefore = '';\r\n          this.selectedModule = newVal;\r\n        });\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    // 课程内容\r\n    toCultrueContent(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 1,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_CULTURE_CONTENT);\r\n          });\r\n      });\r\n    },\r\n    // 思维导图\r\n    toMind(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 1,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_CULTURE_MIND);\r\n          });\r\n      });\r\n    },\r\n    // 问题解决跳转\r\n    toQuestionList(refName) {\r\n      console.log(\"toQuestionList\");\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 2,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_THINK_QUESTIONLIST);\r\n          });\r\n      });\r\n    },\r\n    // 问题意识\r\n    toProblem(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 2,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            console.log(\"WHITE_THINK_PROBLEM\");\r\n            EventBus.$emit(WHITE_THINK_PROBLEM);\r\n          });\r\n      });\r\n    },\r\n    // 观念观修文\r\n    toThinkMedidate(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 2,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_THINK_MEDITATE, false);\r\n            EventBus.$emit(WHITE_THINK_MEDITATE_PAGE);\r\n          });\r\n      });\r\n    },\r\n    // 提交心得\r\n    toConfirmTips(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 3,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_CONFIRM_TIPS);\r\n          });\r\n      });\r\n    },\r\n    // 心得广场\r\n    toTipsSquare(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 3,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_TIPS_SQUARE);\r\n          });\r\n      });\r\n    },\r\n    // 心态观修文\r\n    toMindMedidate(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 3,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_MIND_MEDITATE, false);\r\n            EventBus.$emit(WHITE_MIND_MEDITATE_PAGE, false);\r\n          });\r\n      });\r\n    },\r\n    // 生命海洋\r\n    toOcean(refName) {\r\n      // 动效\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", true).then(() => {\r\n        this.$store\r\n          .dispatch(\"setTagType\", {\r\n            tagType: 4,\r\n            menu: \"MenusWhite\",\r\n          })\r\n          .then(() => {\r\n            EventBus.$emit(WHITE_THINK_OCEAN);\r\n          });\r\n      });\r\n    },\r\n    formatData() {\r\n      if (this.courseBase) {\r\n        this.course_question_num = this.courseBase.course_question_num || 0;\r\n      } else {\r\n        this.course_question_num = 0;\r\n      }\r\n      if (this.courseProgress) {\r\n        // 法义阅读次数\r\n        this.progress_course_complete =\r\n          this.courseProgress.progress_course_complete;\r\n        // 解决问题个数\r\n        this.progress_solve_question = this.courseProgress\r\n          .progress_solve_question_ids\r\n          ? this.courseProgress.progress_solve_question_ids.split(\",\").length\r\n          : 0;\r\n        // 查看问题个数\r\n        this.progress_see_question = this.courseProgress\r\n          .progress_see_question_ids\r\n          ? this.courseProgress.progress_see_question_ids.split(\",\").length\r\n          : 0;\r\n        // 思维导图数量\r\n        this.progress_mindmap_num = this.courseProgress.progress_mindmap_num;\r\n        // 提交心得数量\r\n        this.progress_experience_num =\r\n          this.courseProgress.progress_experience_num;\r\n        // 心得广场阅读数量\r\n        this.progress_experience_read_num =\r\n          this.courseProgress.progress_experience_read_num;\r\n        // 是否查看生命海洋 1是 2否\r\n        this.progress_isread_lifeocean =\r\n          this.courseProgress.progress_isread_lifeocean;\r\n        if (this.course_question_num > 0) {\r\n          this.questionSeePer = parseFloat(\r\n            Number(\r\n              Number(this.progress_see_question / this.course_question_num) *\r\n                100\r\n            ).toFixed(2)\r\n          );\r\n          this.questionSolvePer = parseFloat(\r\n            Number(\r\n              Number(this.progress_solve_question / this.course_question_num) *\r\n                100\r\n            ).toFixed(2)\r\n          );\r\n        } else {\r\n          this.questionSeePer = 0;\r\n          this.questionSolvePer = 0;\r\n        }\r\n      }\r\n    },\r\n    formatProgress() {\r\n      return \"5/8\";\r\n    },\r\n    getElementDistanceToAncestor(element, ancestor) {\r\n      var distance = 0;\r\n      var currentElement = element;\r\n\r\n      // Loop through each offsetParent of the element until we reach the ancestor\r\n      while (currentElement && currentElement !== ancestor) {\r\n        distance += currentElement.offsetTop;\r\n        currentElement = currentElement.offsetParent;\r\n      }\r\n\r\n      return distance;\r\n    },\r\n    setImgTop(target, img) {\r\n      const imgTops = this.imgTops;\r\n      if(imgTops && imgTops[target]) {\r\n        return imgTops[target];\r\n      }\r\n      else if(imgTops && !imgTops[target]) {\r\n        let top = 0;\r\n        if(target && this.$refs[target] && this.$refs[target].$el) {\r\n            const offset = this.$refs[target].$el.getBoundingClientRect();\r\n            const imgComponentRect = this.$refs[img].getBoundingClientRect();\r\n            const imgHeight = imgComponentRect.height;\r\n            let parentOffset = this.parentOffset || document.getElementById('progressArrows').getBoundingClientRect();\r\n            top = offset.y - parentOffset.y - imgHeight / 2 + offset.height / 2  + 'px'\r\n        }\r\n        this.imgTops[target] = top;\r\n        return top;\r\n      }\r\n      return 0;\r\n    },\r\n    setImgTopResize(target, img) {\r\n        let top = 0;\r\n        if(target && this.$refs[target] && this.$refs[target].$el) {\r\n            const imgComponentRect = this.$refs[img].getBoundingClientRect();\r\n            const imgHeight = imgComponentRect.height;\r\n            const offset = this.$refs[target].$el.getBoundingClientRect();\r\n            let parentOffset = this.parentOffset || document.getElementById('progressArrows').getBoundingClientRect();\r\n            top = offset.y - parentOffset.y - imgHeight / 2 + offset.height / 2  + 'px'\r\n        }\r\n        return top;\r\n    },\r\n    getVerticalDistanceToAncestor(child, ancestor) {\r\n      let distance = 0;\r\n      while (child && child !== ancestor) {\r\n          distance += child.offsetTop;\r\n          child = child.offsetParent;\r\n      }\r\n      if (child !== ancestor) {\r\n          console.error('The provided ancestor is not an actual ancestor of the child.');\r\n          return null;\r\n      }\r\n      return distance;\r\n  },\r\n    resizeWindow() {\r\n      const targets = ['target1','target2','target3','target4','target5','target6','target7','target8','target9'];\r\n      const components = ['CultrueContent', 'Mind', 'Problem', 'QuestionList', 'TipsView', 'BehaviorAudio', 'ConfirmTips', 'TipsSquare', 'Ocean'];\r\n      targets.forEach((target, index) => {\r\n        if(this.$refs[components[index]]) {\r\n          this.$refs[components[index]].style.top = this.setImgTopResize(target, components[index]);\r\n        }\r\n      });\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.experience_ishide = decrypt(localStorage.getItem(\"experience_ishide\"));\r\n    this.audio = document.querySelector(\"audio\");\r\n    this.formatData();\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.resizeWindow();\r\n    });\r\n    EventBus.$on(\"setSelectedModule\", (callBackName, whiteCom) => {\r\n      if(this.showTaskProgress) {\r\n        this.setSelectedModule(callBackName, whiteCom)\r\n      }\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n@import \"~@/assets/styles/menus.less\";\r\n\r\n#progressArrows{\r\n  padding-bottom: 80px;\r\n}\r\n.course-steps {\r\n  position: relative;\r\n  background: transparent;\r\n  /deep/.el-step__icon {\r\n    width: 10px;\r\n    height: 10px;\r\n    background: none;\r\n    left: 7px;\r\n    top: 0px;\r\n  }\r\n  /deep/.is-text {\r\n    border-radius: 100%;\r\n    border: none;\r\n  }\r\n}\r\n.el-step__main {\r\n  width: 100%;\r\n}\r\n/deep/.el-step__description {\r\n  padding-right: 0;\r\n  margin-top: 0;\r\n  font-size: 12px;\r\n  line-height: 20px;\r\n  font-weight: 400;\r\n}\r\n\r\n/deep/ .el-step.is-vertical .el-step__line {\r\n  width: 2px;\r\n  bottom: -48px;\r\n  top: 6px;\r\n  left: 18px;\r\n  background-color: #d4d9db;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__head {\r\n  margin-top: 34px;\r\n  padding-left: 7px;\r\n  width: 24px;\r\n}\r\n.connection {\r\n  left: 22px;\r\n}\r\n.connection1 {\r\n  height: 71px;\r\n  top: 290px;\r\n  display: none;\r\n}\r\n.connection2 {\r\n  height: 86px;\r\n  top: 435px;\r\n}\r\n\r\n/deep/ .el-step.is-vertical .el-step__main {\r\n  padding-left: 10px;\r\n}\r\n\r\n/deep/ .el-progress-bar__outer {\r\n  background-color: #fdfdfd;\r\n  height: 8px !important;\r\n}\r\n\r\n.box {\r\n  position: relative;\r\n  width: 246px;\r\n  // padding: 0 20px 16px 2px;\r\n  background: #f3f3f7;\r\n  border-radius: 16px;\r\n  &:nth-last-child(1),\r\n  &:nth-last-child(2) {\r\n    margin-top: 11px;\r\n  }\r\n}\r\n.box1 {\r\n  padding-top: 18px;\r\n  padding-bottom: 40px;\r\n}\r\n.connection {\r\n  position: absolute;\r\n  width: 2px;\r\n  background-color: #d4d9db;\r\n  z-index: 10;\r\n}\r\n/deep/ .el-card {\r\n  width: 97%;\r\n  cursor: pointer;\r\n  max-width: 455px;\r\n  border: none;\r\n  background-color: #f3f3f7;\r\n}\r\n/deep/ .el-card__body {\r\n  background: #f3f3f7;\r\n  padding-bottom: 0;\r\n  padding-left: 3px;\r\n  padding-right: 40px;\r\n  padding-top: 14px;\r\n  display: flex;\r\n  position: relative;\r\n}\r\n.status {\r\n  font-size: 12px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #d4d9db;\r\n  line-height: 21px;\r\n}\r\n.consciousness {\r\n  display: flex;\r\n  // justify-content: space-around;\r\n  align-items: center;\r\n}\r\n.name {\r\n  width: 168px;\r\n  display: flex;\r\n  justify-content: space-between;\r\n  flex-direction: column;\r\n  // padding-bottom: 10px;\r\n  // padding-top: 1px;\r\n  .name_row {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #7e878c;\r\n    padding-bottom: 7px;\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n}\r\nimg {\r\n  position: absolute;\r\n  right: 6px;\r\n  top: 17px;\r\n}\r\n.progress {\r\n  display: flex;\r\n  justify-content: space-around;\r\n  align-items: center;\r\n  ul {\r\n    list-style: none;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    li {\r\n      width: 6px;\r\n      height: 11px;\r\n      margin: 0 2px;\r\n    }\r\n  }\r\n  .num {\r\n    color: @culture;\r\n    span {\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      &:first-child {\r\n        font-size: 34px;\r\n        font-weight: 400;\r\n      }\r\n      &:last-child {\r\n        font-size: 20px;\r\n        font-weight: 400;\r\n      }\r\n    }\r\n  }\r\n}\r\n.view {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  align-items: center;\r\n  .name {\r\n    padding-right: 10%;\r\n  }\r\n}\r\n.load {\r\n  height: 4px;\r\n  background-color: @thinking;\r\n  width: 0%;\r\n}\r\n.circle {\r\n  position: absolute;\r\n  height: 10px;\r\n  width: 10px;\r\n  margin-top: -6px;\r\n  margin-left: -5px;\r\n  border-radius: 100%;\r\n  background: @thinking;\r\n  cursor: pointer;\r\n}\r\n/deep/ .el-progress__text {\r\n  color: @thinking;\r\n  font-size: 34px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n}\r\n/deep/ .el-progress {\r\n  width: 100%;\r\n  margin-right: 5px;\r\n}\r\n.culture_arrow {\r\n  position: absolute;\r\n  z-index: 10;\r\n}\r\n.gradient {\r\n  /deep/.el-progress-bar__inner {\r\n    background: linear-gradient(\r\n      to right,\r\n      #ffae8b,\r\n      #fd746b\r\n    ) !important; /* 设置渐变色并使用 !important 强制覆盖默认样式 */\r\n  }\r\n}\r\n\r\n/deep/ .el-steps {\r\n  padding: 0;\r\n}\r\n/deep/ .el-steps .el-step:first-child{\r\n  .is-text::before{\r\n    content: '';\r\n    position: absolute;\r\n    top: -60px;\r\n    left: 50%;\r\n    width: 2px;\r\n    background: #d4d9db;\r\n    transform: translate(-50%, 0);\r\n    height: 60px;\r\n    display: inline-block;\r\n  }\r\n}\r\n/deep/ .el-steps .el-step:last-child{\r\n  .is-text::after{\r\n    content: '';\r\n    position: absolute;\r\n    top: 10px;\r\n    left: 50%;\r\n    width: 2px;\r\n    background: #d4d9db;\r\n    transform: translate(-50%, 0);\r\n    height: 30px;\r\n    display: inline-block;\r\n  }\r\n}\r\n#taskprogress_box1{\r\n  height: 301px;\r\n  /deep/ .is-text::before{\r\n    display: none;\r\n  }\r\n}\r\n#taskprogress_box2 {\r\n  height: 183px;\r\n}\r\n#taskprogress_box1,#taskprogress_box2 {\r\n  /deep/ .el-step:last-child {\r\n    padding-bottom: 16px;\r\n  }\r\n}\r\n#taskprogress_box3{\r\n  height: 115px;\r\n  /deep/ .is-text::after{\r\n    display: none;\r\n  }\r\n}\r\n.taskprogressBoxCourseIsuseradd {\r\n  height: 121px !important;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/TaskProgeress.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progressArrows\",staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"progressArrows\"}},[_c('div',{ref:\"CultrueContent\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.selectedModule === 'CultrueContent',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'CultrueContent'\n    },style:({\n      top: _vm.setImgTop('target1', 'CultrueContent')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toCultrueContent', 'CultrueContent', $event)}}},[_c('span',{class:{\n      'CultrueContentA': _vm.progress_course_complete === 1,\n      'CultrueContentB': _vm.progress_course_complete === 2\n    }})]),_vm._v(\" \"),_c('div',{ref:\"Mind\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.selectedModule === 'Mind',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'Mind'\n    },style:({\n      top: _vm.setImgTop('target2', 'Mind')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toMind', 'Mind', $event)}}},[_c('span',{class:{\n      'MindA': _vm.progress_mindmap_num > 0,\n      'MindB': _vm.progress_mindmap_num == 0\n    }})]),_vm._v(\" \"),_c('div',{ref:\"Problem\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'Problem' || _vm.selectedModule === 'Problem',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'Problem'\n    },style:({\n      top: _vm.setImgTop('target3', 'Problem')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toProblem', 'Problem', $event)}}},[_c('span',{class:{\n      'ProblemA': _vm.courseProgress && _vm.courseProgress.progress_see_question_complete === 1,\n      'ProblemB': _vm.courseProgress && _vm.courseProgress.progress_see_question_complete === 2\n    }})]),_vm._v(\" \"),_c('div',{ref:\"QuestionList\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'QuestionList' || _vm.selectedModule === 'QuestionList',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'QuestionList'\n    },style:({\n      top: _vm.setImgTop('target4', 'QuestionList')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toQuestionList', 'QuestionList', $event)}}},[_c('span',{class:{\n      'QuestionListA': _vm.courseProgress && _vm.courseProgress.progress_solve_question_complete === 1,\n      'QuestionListB': _vm.courseProgress && _vm.courseProgress.progress_solve_question_complete === 2\n    }})]),_vm._v(\" \"),_c('div',{ref:\"TipsView\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'TipsView' || _vm.selectedModule === 'TipsView',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'TipsView'\n    },style:({\n      top: _vm.setImgTop('target5', 'TipsView')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toThinkMedidate', 'TipsView', $event)}}},[_c('span',{class:{\n      'TipsViewA': _vm.courseProgress && _vm.courseProgress.progress_meditate_siwei_complete == 1,\n      'TipsViewB': _vm.courseProgress && _vm.courseProgress.progress_meditate_siwei_complete == 2\n    }})]),_vm._v(\" \"),_c('div',{ref:\"BehaviorAudio\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'BehaviorAudio' || _vm.selectedModule === 'BehaviorAudio',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'BehaviorAudio'\n    },style:({\n      top: _vm.setImgTop('target6', 'BehaviorAudio')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toMindMedidate', 'BehaviorAudio', $event)}}},[_c('span',{class:{\n      'BehaviorAudioA': _vm.courseProgress && _vm.courseProgress.progress_meditate_xingwei_complete == 1,\n      'BehaviorAudioB': _vm.courseProgress && _vm.courseProgress.progress_meditate_xingwei_complete == 2\n    }})]),_vm._v(\" \"),_c('div',{ref:\"ConfirmTips\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'ConfirmTips' || _vm.selectedModule === 'ConfirmTips',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'ConfirmTips'\n    },style:({\n      top: _vm.setImgTop('target7', 'ConfirmTips')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toConfirmTips', 'ConfirmTips', $event)}}},[_c('span',{class:{\n      'ConfirmTipsA': _vm.progress_experience_num > 0,\n      'ConfirmTipsB': _vm.progress_experience_num == 0\n    }})]),_vm._v(\" \"),(_vm.courseProgress && _vm.courseProgress.course_isuseradd == 2 && _vm.experience_ishide == 2)?_c('div',{ref:\"TipsSquare\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'TipsSquare' || _vm.selectedModule === 'TipsSquare',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'TipsSquare'\n    },style:({\n      top: _vm.setImgTop('target8', 'TipsSquare')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toTipsSquare', 'TipsSquare', $event)}}},[_c('span',{class:{\n      'TipsSquareA': _vm.progress_experience_read_num > 0,\n      'TipsSquareB': _vm.progress_experience_read_num == 0\n    }})]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"Ocean\",class:{\n      'icon-to-component': true,\n      'icon-to-component-hover': !_vm.isMobile,\n      'icon-to-component-selected': _vm.whiteCom === 'Ocean' || _vm.selectedModule === 'Ocean',\n      'icon-to-component-unSelected': _vm.selectedModuleBefore === 'Ocean'\n    },style:({\n      top: _vm.setImgTop('target9', 'Ocean')\n    }),on:{\"click\":function($event){return _vm.setSelectedModule('toOcean', 'Ocean', $event)}}},[_c('span',{class:{\n      'OceanA': _vm.progress_isread_lifeocean == 1,\n      'OceanB': _vm.progress_isread_lifeocean != 1\n    }})]),_vm._v(\" \"),_c('div',{staticClass:\"course-steps\",attrs:{\"id\":\"taskprogress_steps\"}},[_c('div',{staticClass:\"connection connection1\",attrs:{\"id\":\"taskprogress_connection1\"}}),_vm._v(\" \"),_c('div',{staticClass:\"box\",attrs:{\"id\":\"taskprogress_box1\"}},[_c('el-steps',{attrs:{\"direction\":\"vertical\"}},[_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toCultrueContent', 'CultrueContent', $event)}}},[(_vm.progress_course_complete === 1)?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#71afbb\",\"border\":\"2px solid #71afbb\"},attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('div',{staticClass:\"name_row\"},[(_vm.app_type == 2)?_c('span',[_vm._v(\"课程内容\")]):_c('span',[_vm._v(\"内容\")])]),_vm._v(\" \"),_c('el-progress',{ref:\"target1\",attrs:{\"percentage\":_vm.progress_course_complete === 1 ? 100 : 0,\"show-text\":false,\"color\":'#71AFBB',\"stroke-width\":8}})],1)])],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toMind', 'Mind', $event)}}},[(_vm.progress_mindmap_num > 0)?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#71afbb\",\"border\":\"2px solid #71afbb\"},attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('span',{staticClass:\"name_row\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('el-progress',{ref:\"target2\",staticClass:\"mind_progress\",attrs:{\"percentage\":_vm.progress_mindmap_num > 0 ? 100 : 0,\"show-text\":false,\"color\":'#71AFBB',\"stroke-width\":8}})],1)])],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toProblem', 'Problem', $event)}}},[(\n              _vm.courseProgress &&\n                _vm.courseProgress.progress_see_question_complete === 1\n            )?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#64afd5\",\"border\":\"2px solid #64afd5\"},attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('div',{staticClass:\"name_row\"},[_c('span',[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.progress_see_question)+\"/\"+_vm._s(_vm.course_question_num))])]),_vm._v(\" \"),_c('el-progress',{ref:\"target3\",attrs:{\"percentage\":_vm.questionSeePer,\"show-text\":false,\"color\":'#64AFD5',\"stroke-width\":8}})],1)])],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toQuestionList', 'QuestionList', $event)}}},[(\n              _vm.courseProgress &&\n                _vm.courseProgress.progress_solve_question_complete === 1\n            )?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#64afd5\",\"border\":\"2px solid #64afd5\"},attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},on:{\"click\":_vm.toQuestionList},slot:\"description\"},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('div',{staticClass:\"name_row\"},[_c('span',[_vm._v(_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\"))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.progress_solve_question)+\"/\"+_vm._s(_vm.course_question_num))])]),_vm._v(\" \"),_c('el-progress',{ref:\"target4\",attrs:{\"percentage\":_vm.questionSolvePer,\"show-text\":false,\"color\":'#64AFD5',\"stroke-width\":8}})],1)])],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toThinkMedidate', 'TipsView', $event)}}},[(\n              _vm.courseProgress &&\n                _vm.courseProgress.progress_meditate_siwei_complete == 1\n            )?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#64afd5\",\"border\":\"2px solid #64afd5\"},attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_siwei\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_siwei\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('span',{staticClass:\"name_row\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),_c('el-progress',{ref:\"target5\",attrs:{\"percentage\":_vm.courseProgress &&\n                    _vm.courseProgress.progress_meditate_siwei_complete == 1\n                      ? 100\n                      : 0,\"show-text\":false,\"color\":'#64AFD5',\"stroke-width\":8}})],1)])],1)])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"box\",class:[_vm.courseProgress && _vm.courseProgress.course_isuseradd == 2 && _vm.experience_ishide == 2 ? '' : 'taskprogressBoxCourseIsuseradd'],attrs:{\"id\":\"taskprogress_box2\"}},[_c('el-steps',{attrs:{\"direction\":\"vertical\"}},[_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toMindMedidate', 'BehaviorAudio', $event)}}},[(\n              _vm.courseProgress &&\n                _vm.courseProgress.progress_meditate_xingwei_complete == 1\n            )?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#ffae8b\",\"border\":\"2px solid #ffae8b\"},attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_xingwei\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_xingwei\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},on:{\"click\":_vm.toMindMedidate},slot:\"description\"},[_c('el-card',{staticClass:\"box-card gradient\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('span',{staticClass:\"name_row\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),_c('el-progress',{ref:\"target6\",attrs:{\"percentage\":_vm.courseProgress &&\n                    _vm.courseProgress.progress_meditate_xingwei_complete == 1\n                      ? 100\n                      : 0,\"show-text\":false,\"stroke-width\":8}})],1)])],1)]),_vm._v(\" \"),_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toConfirmTips', 'ConfirmTips', $event)}}},[(_vm.progress_experience_num > 0)?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#ffae8b\",\"border\":\"2px solid #ffae8b\"},attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_confirm\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_confirm\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',{staticClass:\"box-card gradient\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('span',{staticClass:\"name_row\"},[_vm._v(\"提交心得\")]),_vm._v(\" \"),_c('el-progress',{ref:\"target7\",attrs:{\"percentage\":_vm.progress_experience_num > 0 ? 100 : 0,\"show-text\":false,\"stroke-width\":8}})],1)])],1)]),_vm._v(\" \"),(_vm.courseProgress && _vm.courseProgress.course_isuseradd == 2 && _vm.experience_ishide == 2)?_c('el-step',{attrs:{\"title\":\"\"},nativeOn:{\"click\":function($event){return _vm.setSelectedModule('toTipsSquare', 'TipsSquare', $event)}}},[(_vm.progress_experience_read_num > 0)?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#ffae8b\",\"border\":\"2px solid #ffae8b\"},attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_tips\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_tips\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',{staticClass:\"box-card gradient\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('span',{staticClass:\"name_row\"},[_vm._v(\"心得广场\")]),_vm._v(\" \"),_c('el-progress',{ref:\"target8\",attrs:{\"percentage\":_vm.progress_experience_read_num > 0 ? 100 : 0,\"show-text\":false,\"stroke-width\":8}})],1)])],1)]):_vm._e()],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"box box1\",attrs:{\"id\":\"taskprogress_box3\"},on:{\"click\":function($event){return _vm.setSelectedModule('toOcean', 'Ocean', $event)}}},[_c('el-steps',{attrs:{\"direction\":\"vertical\"}},[_c('el-step',{attrs:{\"title\":\"\"}},[(_vm.progress_isread_lifeocean === 1)?_c('i',{staticClass:\"stepicon\",staticStyle:{\"background\":\"#2c51af\",\"border\":\"2px solid #2c51af\"},attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_lifeocean\"},slot:\"icon\"}):_c('i',{staticClass:\"stepicon unstepicon\",attrs:{\"slot\":\"icon\",\"id\":\"taskprogress_step_lifeocean\"},slot:\"icon\"}),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":'never'}},[_c('div',{staticClass:\"name\"},[_c('span',{staticClass:\"name_row\"},[_vm._v(\"生命海洋\")]),_vm._v(\" \"),_c('el-progress',{ref:\"target9\",attrs:{\"percentage\":_vm.progress_isread_lifeocean === 1 ? 100 : 0,\"show-text\":false,\"color\":'#2C51AF',\"stroke-width\":8}})],1)])],1)])],1)],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4b34d0d4\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/TaskProgeress.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b34d0d4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TaskProgeress.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TaskProgeress.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TaskProgeress.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4b34d0d4\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TaskProgeress.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4b34d0d4\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/TaskProgeress.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div id=\"whiteMenus\"\r\n    style=\"height: 100%; position: relative\" @click=\"clickMenus\">\r\n    <div class=\"cantainer\">\r\n      <div :class=\"[\r\n          'nav',\r\n          isFirstShowTp ? '' : showTaskProgress ? 'navTp' : 'navContent'\r\n        ]\"\r\n        :style=\"{\r\n          opacity: !showIconPage && !showIcon ? 1 : 0\r\n        }\">\r\n        <div :style=\"{\r\n            opacity:\r\n              !showTaskProgress &&\r\n              !showIconPage &&\r\n              centerStauts !== 'centerStauts2' &&\r\n              centerStauts !== 'centerStauts4'\r\n                ? 1\r\n                : 0,\r\n            color: showTaskProgress ? '#7e878c' : ''\r\n          }\"\r\n          ref=\"transition\"\r\n          :class=\"`transition ${activeIndex > beforeActionIndex ? 'active' + activeIndex : 'active' + activeIndex + '_up'}`\"></div>\r\n        <ul id=\"index_step6\"\r\n          class=\"sideMaodian\"\r\n          :class=\"[courseProgress && courseProgress.course_isuseradd == 2 ? 'sideMaodianCourseIsuseradd' : '']\"\r\n          :style=\"{\r\n            fontSize: $px2rem('12px'),\r\n            zIndex:\r\n              centerStauts !== 'centerStauts2' &&\r\n              centerStauts !== 'centerStauts4'\r\n                ? 10\r\n                : 1,\r\n            opacity:\r\n              centerStauts !== 'centerStauts2' &&\r\n              centerStauts !== 'centerStauts4'\r\n                ? 1\r\n                : 0\r\n          }\">\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 0 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi1' : 'activeLi11'\r\n            ]\">\r\n            文化\r\n          </li>\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 1 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi2' : 'activeLi22'\r\n            ]\">\r\n            思维 &bull; 观念\r\n          </li>\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 2 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi3' : 'activeLi33'\r\n            ]\">\r\n            行为 &bull; 习惯\r\n          </li>\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 3 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi4' : 'activeLi44'\r\n            ]\">\r\n            性格 &bull; 人格\r\n          </li>\r\n        </ul>\r\n      </div>\r\n      <div :class=\"[\r\n          'nav',\r\n          whiteCom !== 'Icon'\r\n            ? ''\r\n            : showIconPage\r\n            ? 'showIconPage'\r\n            : 'hideIconPage'\r\n        ]\"\r\n        :style=\"{ opacity: showIcon ? 1 : 0, position: 'absolute' }\">\r\n        <div :style=\"{\r\n            opacity:\r\n              !showTaskProgress &&\r\n              centerStauts !== 'centerStauts2' &&\r\n              centerStauts !== 'centerStauts4' &&\r\n              showIcon\r\n                ? 1\r\n                : 0,\r\n            color: showTaskProgress ? '#7e878c' : ''\r\n          }\"\r\n          ref=\"transition1\"\r\n          class=\"transition active0\"></div>\r\n        <ul class=\"sideMaodian\"\r\n          :style=\"{\r\n            fontSize: $px2rem('12px')\r\n          }\">\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 0 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi1' : 'activeLi11'\r\n            ]\">\r\n            文化\r\n          </li>\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 1 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi2' : 'activeLi22'\r\n            ]\">\r\n            思维 &bull; 观念\r\n          </li>\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 2 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi3' : 'activeLi33'\r\n            ]\">\r\n            行为 &bull; 习惯\r\n          </li>\r\n          <li :style=\"{\r\n              color: showTaskProgress ? '#7e878c' : ''\r\n            }\"\r\n            :class=\"[\r\n              'nav_maodian',\r\n              activeIndex === 3 ? 'active' : '',\r\n              !navNeedAni ? '' : showTaskProgress ? 'activeLi4' : 'activeLi44'\r\n            ]\">\r\n            性格 &bull; 人格\r\n          </li>\r\n        </ul>\r\n      </div>\r\n      <div :class=\"[\r\n          'contentWhite',\r\n          showTaskProgress ? 'hideContentWhite' : 'showContentWhite'\r\n        ]\"\r\n      ><div>\r\n        <div\r\n          id=\"cultureSec\"\r\n          :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': activeIndex === 0\r\n          }\"\r\n        >\r\n          <div class=\"section_maodian cultureSec\">\r\n          <Culture :showTaskProgress=\"showTaskProgress\" />\r\n        </div>\r\n        </div>\r\n\r\n        <div\r\n          id=\"thinkingSec\"\r\n          :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': activeIndex === 1\r\n          }\"\r\n        >\r\n          <div class=\"section_maodian thinkingSec\">\r\n          <Thinking />\r\n        </div>\r\n        </div>\r\n\r\n        <div\r\n          id=\"behaviorSec\"\r\n          :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': activeIndex === 2\r\n          }\"\r\n        >\r\n          <div class=\"section_maodian behaviorSec\">\r\n          <Behavior/>\r\n        </div>\r\n        </div>\r\n\r\n        <div\r\n          id=\"personalitySec\"\r\n          :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': activeIndex === 3\r\n          }\"\r\n        >\r\n          <div class=\"section_maodian personalitySec\">\r\n          <Personality />\r\n        </div>\r\n      </div>\r\n    </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div :class=\"[\r\n        'taskprogress',\r\n        isFirstShowTp\r\n          ? 'hideTaskProgressInit'\r\n          : showTaskProgress\r\n          ? 'showTaskProgress'\r\n          : 'hideTaskProgress'\r\n      ]\">\r\n        <TaskProgeress :showTaskProgress=\"showTaskProgress\" />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport Culture from \"./Culture.vue\";\r\nimport Thinking from \"./Thinking.vue\";\r\nimport Behavior from \"./Behavior.vue\";\r\nimport Personality from \"./Personality.vue\";\r\nimport TaskProgeress from \"./TaskProgeress.vue\";\r\nimport {\r\n  getCourseMeditate,\r\n  getUserCourseProgress,\r\n} from \"@/api/index\";\r\nimport {\r\n  EventBus,\r\n  WHITE_CULTURE_CONTENT,\r\n  WHITE_MIND_MEDITATE,\r\n  WHITE_MIND_MEDITATE_PAGE,\r\n  WHITE_THINK_OCEAN,\r\n  WHITE_THINK_PROBLEM,\r\n} from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nimport { getCourse } from \"@/utils/auth\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: {\r\n    Culture,\r\n    Thinking,\r\n    Behavior,\r\n    TaskProgeress,\r\n    Personality,\r\n  },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => new Object(),\r\n    },\r\n    showTaskProgress: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isFirstShowTp: {\r\n      type: Boolean,\r\n      default: true,\r\n    },\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    showIconPage: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    showIcon: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      isMobile: this.getIsMobile(),\r\n      lockActiveIndex: null, // 当滚动时锁定当前activeIndex的值\r\n      beforeActionIndex: '', // 前一个选中的主menu\r\n      options: {\r\n        navClass: \".nav_maodian\",\r\n        secClass: \".section_maodian\",\r\n      },\r\n      activeIndex: this.whiteActiveIndex ? this.whiteActiveIndex : 0,\r\n      prevIndex: -1,\r\n      //是否点击模块，是的话不触发updateNav\r\n      isClick: false,\r\n      secItems: null,\r\n      navItems: null,\r\n      timeout: null,\r\n      personalityLayerShow: true,\r\n      personalityHeight: 0,\r\n      isScolling: false,\r\n      scrollTop: 0,\r\n      lastScrollTop: 0,\r\n      scrollEndTop: 0,\r\n      intervalTime: null,\r\n      tagTypeData: 1,\r\n      navNeedAni: false,\r\n      nowTime: new Date().getTime(),\r\n      currentTime: null,\r\n      courseObj: {},\r\n      clickMainMenuEvent: null,\r\n      fromEvent: \"\",\r\n      nextActiveIndex: 0\r\n    };\r\n  },\r\n  computed: {\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    mindMeditate() {\r\n      return this.$store.getters.mindMeditate;\r\n    },\r\n    thinkMeditate() {\r\n      return this.$store.getters.thinkMeditate;\r\n    },\r\n    tagType() {\r\n      return this.$store.getters.tagType;\r\n    },\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    scrollTopStore() {\r\n      return this.$store.getters.scrollTop;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    pageNameStore() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    isTaskProgressClick() {\r\n      return this.$store.getters.isTaskProgressClick;\r\n    },\r\n    user() {\r\n      let user = this.$store.getters.user;\r\n      if (user && typeof user === \"string\") {\r\n        return JSON.parse(user);\r\n      } else if (user) {\r\n        return user;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n  },\r\n  watch: {\r\n    course: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        // console.log(\"course:\", this.course);\r\n        if (v && v.length) {\r\n          const course = JSON.parse(v);\r\n          const cou = course[0];\r\n          this.name = cou.jdname + \" | \" + cou.dyname;\r\n          this.courseObj = course[0];\r\n        } else {\r\n          this.name = \"\";\r\n          this.courseObj = {};\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"menu course_id:\", newVal);\r\n        if (newVal) {\r\n          this.getCourseMeditate();\r\n          this.getData();\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n    courseIsChanged(newVal) {\r\n      console.log(\"courseIsChanged:\", newVal);\r\n      if (newVal) {\r\n        this.getCourseMeditate();\r\n        this.getData();\r\n      }\r\n    },\r\n    centerStauts(newVal) {\r\n      console.log(\"centerStatusxxxxx:\" + newVal);\r\n      let contentWhite = document.querySelector(\".contentWhite\");\r\n      if (newVal === \"centerStauts2\" || newVal === \"centerStauts4\") {\r\n        contentWhite.style.overflow = \"hidden\";\r\n      } else {\r\n        contentWhite.style.overflow = \"auto\";\r\n      }\r\n    },\r\n    tagType: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        console.log(\"menu tagType:\", newVal, oldVal);\r\n        console.log(this.whiteActiveIndex)\r\n        if (\r\n          (newVal &&\r\n            newVal.menu !== \"MenusWhite\" &&\r\n            this.pageNameStore === \"black\") ||\r\n          this.isTaskProgressClick\r\n        ) {\r\n          console.log(this.whiteActiveIndex)\r\n          this.isClick = true;\r\n          this.clickNav(newVal.tagType - 1);\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    showTaskProgress(newVal, oldVal) {\r\n      if (newVal) {\r\n        this.navNeedAni = true;\r\n      } else if (!newVal && oldVal) {\r\n        let timeout = null;\r\n        timeout = setTimeout(() => {\r\n          this.navNeedAni = false;\r\n          clearTimeout(timeout);\r\n        }, 650);\r\n      }\r\n    },\r\n    isTaskProgressClick(newVal, oldVal) {\r\n    },\r\n    activeIndex(newVal, oldVal) {\r\n      if(newVal !== oldVal) {\r\n        this.beforeActionIndex = oldVal;\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    clickMenus(event) {\r\n      event.stopPropagation();\r\n      event.preventDefault();\r\n      console.log(\"clickMenus:\", this.pageNameStore, this.showTaskProgress)\r\n      if(this.pageNameStore == \"white\" && this.showTaskProgress) {\r\n        this.$emit(\"toTaskProgress\")\r\n      }\r\n    },\r\n    isScrollEnd() {\r\n      this.scrollEndTop = this.getScrollTop();\r\n      if (this.scrollTop === this.scrollEndTop) {\r\n        console.log(\"滚动条停止滚动\");\r\n        this.$store.dispatch(\"setTagType\", {\r\n          tagType: this.tagTypeData,\r\n          menu: \"MenusWhite\",\r\n        });\r\n      }\r\n    },\r\n    // 得到音频时间\r\n    getAudioTotalTime(meditate) {\r\n      return new Promise((resolve) => {\r\n        const audio = new Audio();\r\n        audio.src = meditate.meditate_audio_url_show;\r\n        if (meditate.meditate_audio_url_show == \"\") {\r\n          resolve(0);\r\n        }\r\n\r\n        audio.ondurationchange = () => {\r\n          if(audio.duration > 0) {\r\n            resolve(audio.duration);\r\n          }\r\n        };\r\n      });\r\n    },\r\n    // 获取课程观修文列表\r\n    async getCourseMeditate() {\r\n      if(!this.course_id) {\r\n        return;\r\n      }\r\n      const params = {\r\n        course_id: this.course_id,\r\n      };\r\n      try {\r\n        const res = await getCourseMeditate(params);\r\n        if (res && res.code === 0) {\r\n          const data = res.data;\r\n          if (data.length === 0) {\r\n            this.$store.dispatch(\"setMindMeditate\", {});\r\n            this.$store.dispatch(\"setThinkMeditate\", {});\r\n          } else if (data.length === 1) {\r\n            if (data[0].meditate_type === 2) {\r\n              //心态禅修\r\n              this.getAudioTotalTime(data[0]).then((totalTime) => {\r\n                const meditate = {\r\n                  ...data[0],\r\n                  totalTime,\r\n                };\r\n                console.log(\"setMindMeditate:\", meditate);\r\n                this.$store.dispatch(\"setMindMeditate\", meditate);\r\n                this.$store.dispatch(\"setThinkMeditate\", {});\r\n              });\r\n            } else if (data[0].meditate_type === 1) {\r\n              this.getAudioTotalTime(data[0]).then((totalTime) => {\r\n                const meditate = {\r\n                  ...data[0],\r\n                  totalTime,\r\n                };\r\n                console.log(\"setThinkMeditate:\", meditate);\r\n                this.$store.dispatch(\"setThinkMeditate\", meditate);\r\n                this.$store.dispatch(\"setMindMeditate\", {});\r\n              });\r\n            }\r\n          } else {\r\n            data.forEach((item) => {\r\n              if (item.meditate_type === 2) {\r\n                //心态禅修\r\n                this.getAudioTotalTime(item).then((totalTime) => {\r\n                  const meditate = {\r\n                    ...item,\r\n                    totalTime,\r\n                  };\r\n                  this.$store.dispatch(\"setMindMeditate\", meditate);\r\n                });\r\n              } else if (item.meditate_type === 1) {\r\n                this.getAudioTotalTime(item).then((totalTime) => {\r\n                  const meditate = {\r\n                    ...item,\r\n                    totalTime,\r\n                  };\r\n                  this.$store.dispatch(\"setThinkMeditate\", meditate);\r\n                });\r\n              }\r\n            });\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n\r\n    // 获取首页内容和任务进度\r\n    async getData(course_tongbu) {\r\n      try {\r\n        if(this.course_id) {\r\n          const params = {\r\n            course_id: this.course_id,\r\n          };\r\n          if (course_tongbu) {\r\n            params.course_tongbu = course_tongbu;\r\n          } else {\r\n            params.course_tongbu = 2;\r\n          }\r\n          const res2 = await getUserCourseProgress(params);\r\n          if (res2 && res2.code === 0) {\r\n            if (res2.data.length) {\r\n              this.$store.dispatch(\"setCourseProgress\", res2.data[0]);\r\n              this.$store.dispatch(\r\n                \"setThinkMeditateLong\",\r\n                res2.data[0].progress_meditate_siwei_long\r\n              );\r\n              this.$store.dispatch(\r\n                \"setMindMeditateLong\",\r\n                res2.data[0].progress_meditate_xingwei_long\r\n              );\r\n            }\r\n          } else {\r\n            this.$store.dispatch(\"setCourseProgress\", null);\r\n            this.$store.dispatch(\"setThinkMeditateLong\", 0);\r\n            this.$store.dispatch(\"setMindMeditateLong\", 0);\r\n          }\r\n        }\r\n\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 课程内容\r\n    toCultrueContent() {\r\n      console.log(\"toCultrueContenttoCultrueContent\")\r\n      EventBus.$emit(WHITE_CULTURE_CONTENT);\r\n    },\r\n    // 问题意识\r\n    toProblem() {\r\n      console.log(\"WHITE_THINK_PROBLEM\");\r\n      if(this.$route.name == 'ProblemSolving') {\r\n        return;\r\n      }\r\n      EventBus.$emit(WHITE_THINK_PROBLEM);\r\n    },\r\n    // 观念观修文\r\n    play(needPlay) {\r\n      console.log(\"needPlay\", needPlay);\r\n      EventBus.$emit(WHITE_MIND_MEDITATE, needPlay);\r\n      EventBus.$emit(WHITE_MIND_MEDITATE_PAGE, needPlay);\r\n    },\r\n    // 生命海洋\r\n    toOcean() {\r\n      EventBus.$emit(WHITE_THINK_OCEAN);\r\n    },\r\n    //当前锚点\r\n    navon(index, navItems) {\r\n      if (\r\n        this.centerStauts === \"centerStauts2\" ||\r\n        this.centerStauts === \"centerStauts4\"\r\n      ) {\r\n        return;\r\n      }\r\n      if (this.activeIndex === this.prevIndex) {\r\n        return;\r\n      }\r\n\r\n      this.$store.dispatch(\"setWhiteActiveIndex\", this.activeIndex);\r\n      this.$store.dispatch(\"setBlackActiveIndex\", this.activeIndex);\r\n      // navItems.forEach(item => {\r\n      //   item.classList = \"nav_maodian\";\r\n      // });\r\n      console.log(\"navon:\", index);\r\n      this.parent.menuType = index;\r\n      if (index <= navItems.length - 1) {\r\n        if (index === 0) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active0_up\";\r\n            this.$refs.transition1.className = \"transition active0_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active0\";\r\n            this.$refs.transition1.className = \"transition active0\";\r\n          }\r\n          // navItems[index].classList = \"nav_maodian active\";\r\n          this.parent.styleImg = \"/static/img/culture.svg\";\r\n        } else if (index === 1) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active1_up\";\r\n            this.$refs.transition1.className = \"transition active1_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active1\";\r\n            this.$refs.transition1.className = \"transition active1\";\r\n          }\r\n          this.parent.styleImg = \"/static/img/thinking.svg\";\r\n        } else if (index === 2) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active2_up\";\r\n            this.$refs.transition.className = \"transition active2_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active2\";\r\n            this.$refs.transition1.className = \"transition active2\";\r\n          }\r\n          this.parent.styleImg = \"/static/img/behavior.svg\";\r\n        } else if (index === 3) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active3_up\";\r\n            this.$refs.transition1.className = \"transition active3_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active3\";\r\n            this.$refs.transition1.className = \"transition active3\";\r\n          }\r\n          this.parent.styleImg = \"/static/img/personality.svg\";\r\n        }\r\n      }\r\n      this.prevIndex = index;\r\n      this.$store.dispatch(\"setIsTaskProgressClick\", false).then(() => {});\r\n    },\r\n    throttle(func, delay) {\r\n      // 记录当前时间(就是第一次(上一次)滚动事件触发的时间)\r\n      var prev = Date.now();\r\n      return function () {\r\n        // 普通函数的this指向window\r\n        var context = this;\r\n        // arguments是一个类数组对象，用于接受函数的参数\r\n        // 这个只要发生滚动事件就会输出\r\n        // console.log(arguments);\r\n        var args = \"hello\";\r\n        // console.log(args);\r\n        // 再次记录当前的时间（第二次(下一次)滚动事件的触发时间）\r\n        var now = Date.now();\r\n        //两次滚动事件触发的时间间隔是否大于规定的时间\r\n        if (now - prev >= delay) {\r\n          // 如果间隔大于规定的时间delay，就会调用func(也就是handle函数)\r\n          // apply:改变函数的this指向,第一个参数是this指向，第二参数是传递的参数，要用数组存放，\r\n          // call和bind是 一个一个的存放，不用数组\r\n          func.apply(context, [args]);\r\n          prev = Date.now();\r\n        }\r\n      };\r\n    },\r\n    //滚动条在Y轴上的滚动距离\r\n    getScrollTop() {\r\n      let scrollTop = 0;\r\n      let bodyScrollTop = 0;\r\n      let documentScrollTop = 0;\r\n      let contentWhite = document.querySelector(\".contentWhite\");\r\n      scrollTop = contentWhite.scrollTop;\r\n      return scrollTop;\r\n    },\r\n    //文档的总高度\r\n    getScrollHeight() {\r\n      let scrollHeight = 0;\r\n      let bodyScrollHeight = 0;\r\n      let documentScrollHeight = 0;\r\n      let contentWhite = document.querySelector(\".contentWhite\");\r\n      // if (document.body) {\r\n      //   bodyScrollHeight = document.body.scrollHeight;\r\n      // }\r\n      // if (document.documentElement) {\r\n      //   documentScrollHeight = document.documentElement.scrollHeight;\r\n      // }\r\n      scrollHeight = contentWhite.scrollHeight;\r\n      return scrollHeight;\r\n    },\r\n    //浏览器视口(窗口)的高度\r\n    getWindowHeight() {\r\n      let windowHeight = 0;\r\n      if (document.compatMode == \"CSS1Compat\") {\r\n        windowHeight = document.documentElement.clientHeight;\r\n      } else {\r\n        windowHeight = document.body.clientHeight;\r\n      }\r\n      return windowHeight;\r\n    },\r\n    animationScrollTop(maxScrollTop, $el, callBack, level) {\r\n      const maxTime = 100;\r\n      const time = 5;\r\n      const times = maxTime/time;\r\n      let newLevel = level || 0;\r\n      newLevel++;\r\n      let scrollTop = parseInt(maxScrollTop / times, 10);\r\n      if(newLevel > times) {\r\n        $el.style.overflowY = 'hidden';\r\n        if(callBack && typeof callBack === 'function') {\r\n          callBack();\r\n        }\r\n        return;\r\n      }\r\n      var timeer = setTimeout(() => {\r\n        $el.scrollTo(0, newLevel === times ? maxScrollTop : scrollTop * newLevel);\r\n        this.animationScrollTop(maxScrollTop, $el, callBack, newLevel)\r\n        clearTimeout(timeer)\r\n      }, time)\r\n    },\r\n\r\n    clearCardStatus(allHeight, fromEvent) {\r\n      let $box = document.querySelector(\".contentWhite\");\r\n      // 解除锁定\r\n      if(this.clickMainMenuingValue) {\r\n        clearTimeout(this.clickMainMenuingValue);\r\n        this.clickMainMenuingValue = null;\r\n      }\r\n      this.clickMainMenuingValue = setTimeout(() => {\r\n        this.isBoxStaticScrolling = false;\r\n        this.isClickMainMenuing = false;\r\n\r\n        if(fromEvent === 'wheel') {\r\n          // setTimeout(() => {\r\n          //   let $box = document.querySelector(\".contentWhite\");\r\n          //   $box.addEventListener('wheel', this.bindBoxWheel);\r\n          // })\r\n\r\n\r\n        }\r\n        else {\r\n          $box.style.overflowY = 'auto';\r\n          $box.scrollTo(0, allHeight);\r\n        }\r\n\r\n        this.lockActiveIndex = null;\r\n        this.boxLastScrollTop = allHeight;\r\n        clearTimeout(this.clickMainMenuingValue);\r\n        this.clickMainMenuingValue = null;\r\n      }, fromEvent === 'click' ? 100 : 200)\r\n    },\r\n\r\n    getCardStatus(activeIndex, returnType, fromEvent) {\r\n      let $box = document.querySelector(\".contentWhite\");\r\n      let $cultureSec = document.getElementById(\"cultureSec\");\r\n      let $thinkingSec = document.getElementById(\"thinkingSec\");\r\n      let $behaviorSec = document.getElementById(\"behaviorSec\");\r\n      let $personalitySec = document.getElementById(\"personalitySec\");\r\n      const itemDoms = [$cultureSec, $thinkingSec, $behaviorSec, $personalitySec];\r\n\r\n      const maxTop = 30;\r\n      const lastScrollTop = this.boxLastScrollTop || 0;\r\n      const boxScrollTop = $box.scrollTop;\r\n      console.log(\"boxScrollTop:\", boxScrollTop, lastScrollTop)\r\n      const boxOffset = $box.getBoundingClientRect();\r\n      const currActiveIndex = activeIndex;\r\n      let nextActiveIndex = currActiveIndex;\r\n      // const minY = itemDoms[activeIndex - 1] && itemDoms[activeIndex - 1].clientHeight;\r\n      // const macY = itemDoms[activeIndex] && itemDoms[activeIndex].clientHeight;\r\n\r\n      // 向下滚动\r\n      if(boxScrollTop > lastScrollTop && boxScrollTop - lastScrollTop > 30) {\r\n        nextActiveIndex = currActiveIndex + 1;\r\n      }\r\n      // 向上滚动\r\n      else if(boxScrollTop < lastScrollTop && lastScrollTop - boxScrollTop > 30) {\r\n        nextActiveIndex = currActiveIndex - 1;\r\n      }\r\n\r\n      if(returnType === 'getNextActiveIndex') {\r\n        return itemDoms[nextActiveIndex] ? nextActiveIndex : currActiveIndex;\r\n      }\r\n      else if(returnType === 'setBoxScrollTop') {\r\n        if(itemDoms[activeIndex]) {\r\n\r\n          let allHeight = 0;\r\n          for(let i = 0; i < activeIndex; i++) {\r\n            allHeight = allHeight + itemDoms[i].getBoundingClientRect().height;\r\n          }\r\n\r\n          if(activeIndex === 3 || activeIndex === 2) {\r\n            $box.style.paddingBottom = boxOffset.height - itemDoms[3].clientHeight + 'px'\r\n          }\r\n          else {\r\n            $box.style.paddingBottom = 0 + 'px'\r\n          }\r\n\r\n          if(fromEvent === 'scroll' || fromEvent === 'wheel') {\r\n            this.isBoxStaticScrolling = true;\r\n            $box.scrollTo(0, allHeight);\r\n            $box.style.overflowY = 'hidden';\r\n            this.clearCardStatus(allHeight, fromEvent);\r\n          }\r\n          else if(fromEvent === 'click') {\r\n            this.isBoxStaticScrolling = true;\r\n            this.animationScrollTop(allHeight, $box, () => {\r\n              this.clearCardStatus(allHeight);\r\n            })\r\n          }\r\n          // else if(fromEvent === 'wheel'){\r\n\r\n          //   $box.style.overflow = 'hidden';\r\n          //   const $child = $box.childNodes[0];\r\n          //   $child.style.transition = 'margin 0.5s';\r\n          //   $child.style.marginTop = -allHeight + 'px';\r\n          //   this.clearCardStatus(allHeight, fromEvent);\r\n          // }\r\n        }\r\n      }\r\n    },\r\n\r\n    // 卡片区域滚动\r\n    bindBoxScroll(event) {\r\n      // event.stopPropagation();\r\n      // event.preventDefault();\r\n      if(this.isDisibledScroll) {\r\n        return;\r\n      }\r\n\r\n      // 当通过代码设置scrollTop，触发了滚动，返回，不做处理\r\n      if(this.isBoxStaticScrolling) {\r\n        return;\r\n      }\r\n      let $box = document.querySelector(\".contentWhite\");\r\n      const boxScrollTop = $box.scrollTop;\r\n      if((this.whiteCom === 'Mind' || this.whiteCom === 'CultrueContent') && boxScrollTop === 0) {\r\n        return;\r\n      }\r\n\r\n      if(!this.lockActiveIndex && this.lockActiveIndex !== 0) {\r\n        this.lockActiveIndex = this.activeIndex;\r\n        this.startTime = (+new Date());\r\n      }\r\n      const currActiveIndex = this.lockActiveIndex;\r\n\r\n      // 使用时间要结束滚动\r\n      if((+new Date()) - this.startTime > 200) {\r\n        return;\r\n      }\r\n\r\n      if(this.setScrollTopTimeValue) {\r\n        clearTimeout(this.setScrollTopTimeValue);\r\n        this.setScrollTopTimeValue = null;\r\n      }\r\n      this.setScrollTopTimeValue = setTimeout(() => {\r\n        if(currActiveIndex >= 0) {\r\n          this.isBoxStaticScrolling = true;\r\n          const nextActiveIndex = this.getCardStatus(currActiveIndex, 'getNextActiveIndex');\r\n          this.nextActiveIndex = nextActiveIndex;\r\n          // 如果是思维导图，则提示弹出是否保存\r\n          if (this.whiteCom === \"Mind\" && this.$route.name != \"CourseSelect\" && this.courseIsuseradd != 3 && this.pageNameStore == 'white') {\r\n            EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"WhiteMenus\");\r\n          } else if (\r\n            this.whiteCom === \"CultrueContent\" &&\r\n            this.$route.name != \"CourseSelect\"\r\n            && this.courseIsuseradd != 3\r\n            && this.pageNameStore == 'white'\r\n          ) {\r\n            // 课程内容弹出提示框\r\n            EventBus.$emit(\"CultrueContentEdit\", \"WhiteMenus\");\r\n          } else {\r\n            this.triggerSetTagType(nextActiveIndex, 'scroll', 'bindBoxScroll', this.activeIndex);\r\n          }\r\n        }\r\n        clearTimeout(this.setScrollTopTimeValue);\r\n        this.setScrollTopTimeValue = null;\r\n      }, 60)\r\n    },\r\n\r\n    triggerSetTagType(activeIndex, fromEvent, fromFn, oldActiveIndex) {\r\n      this.$store\r\n        .dispatch(\"setTagType\", {\r\n          tagType: activeIndex + 1,\r\n          menu: \"MenusWhite\",\r\n        })\r\n        .then(() => {\r\n          console.log(\"triggerSetTagType:\", activeIndex)\r\n          const whiteComs = ['CultrueContent', 'Problem', 'BehaviorAudio', 'Ocean'];\r\n          if((this.whiteCom !== whiteComs[activeIndex] && oldActiveIndex !== activeIndex) || this.whiteCom == 'WhiteMenus') {\r\n            const toComponentFunction = ['toCultrueContent', 'toProblem', 'play', 'toOcean'];\r\n            if(this[toComponentFunction[activeIndex]] && typeof this[toComponentFunction[activeIndex]] === 'function') {\r\n              this[toComponentFunction[activeIndex]]();\r\n            }\r\n          }\r\n\r\n          this.activeIndex = activeIndex;\r\n          this.clickNav(activeIndex, fromEvent);\r\n\r\n        });\r\n    },\r\n\r\n    // 点击主目录，切换组件，卡片目录位置控制\r\n    bindClickMainMenu(event) {\r\n      console.log(\"bindClickMainMenu:\");\r\n      this.fromEvent = \"click\";\r\n      this.clickMainMenuEvent = event;\r\n      let sideMaodian = document.querySelector(\".sideMaodian\");\r\n      let item = event.target;\r\n      let lists = Array.from(sideMaodian.querySelectorAll(\"li\"));\r\n      let index = lists.indexOf(item); //li 索引\r\n      this.nextActiveIndex = index;\r\n      if (\r\n        event.target.tagName.toLowerCase() === \"li\" &&\r\n        event.target.className.indexOf(\"nav_maodian\") > -1\r\n      ) {\r\n        if(!this.isClickMainMenuing) {\r\n          // 如果是思维导图，则提示弹出是否保存\r\n          if (this.whiteCom === \"Mind\" && this.$route.name != \"CourseSelect\" && this.courseIsuseradd != 3 && this.pageNameStore == 'white') {\r\n            EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"WhiteMenus\");\r\n          } else if (\r\n            this.whiteCom === \"CultrueContent\" &&\r\n            this.$route.name != \"CourseSelect\"\r\n            && this.courseIsuseradd != 3\r\n            && this.pageNameStore == 'white'\r\n          ) {\r\n            // 课程内容弹出提示框\r\n            EventBus.$emit(\"CultrueContentEdit\", \"WhiteMenus\");\r\n          } else {\r\n            this.triggerSetTagType(index, 'click', 'bindClickMainMenu')\r\n          }\r\n        }\r\n        this.isClickMainMenuing = true;\r\n      }\r\n    },\r\n\r\n    bindBoxWheel(event, a) {\r\n      let $box = document.querySelector(\".contentWhite\");\r\n      $box.style.overflow = 'hidden';\r\n\r\n\r\n      event.stopPropagation();\r\n      event.preventDefault();\r\n      this.count = this.count || 0\r\n\r\n      if((this.lastTimeStamp && event.timeStamp - this.lastTimeStamp > 150) || !this.lastTimeStamp || this.count > 180) {\r\n        this.lockActiveIndex = this.activeIndex;\r\n        this.startTime = (+new Date());\r\n        this.count = 0;\r\n\r\n      }\r\n      this.lastTimeStamp = event.timeStamp;\r\n\r\n      const currActiveIndex = this.lockActiveIndex;\r\n\r\n      if((+new Date()) - this.startTime > 60) {\r\n        return;\r\n      }\r\n\r\n      let nextActiveIndex;\r\n      if(event.deltaY > 0) {\r\n        nextActiveIndex = currActiveIndex + 1;\r\n        nextActiveIndex = nextActiveIndex > 3 ? 3 : nextActiveIndex;\r\n      }\r\n      else if(event.deltaY < 0){\r\n        nextActiveIndex = currActiveIndex - 1;\r\n        nextActiveIndex = nextActiveIndex < 0 ? 0 : nextActiveIndex;\r\n      }\r\n\r\n      if(this.setWheelTopTimeValue) {\r\n        clearTimeout(this.setWheelTopTimeValue);\r\n        this.setWheelTopTimeValue = null;\r\n      }\r\n      this.setWheelTopTimeValue = setTimeout(() => {\r\n        //$box.removeEventListener('wheel', this.bindBoxWheel);\r\n        this.triggerSetTagType(nextActiveIndex, 'wheel', 'bindBoxWheel');\r\n\r\n        clearTimeout(this.setWheelTopTimeValue);\r\n        this.setWheelTopTimeValue = null;\r\n      }, 100)\r\n    },\r\n\r\n    bindDisibledScroll() {\r\n      this.isDisibledScroll = true;\r\n      if(this.timeValueMouseOver) {\r\n        clearTimeout(this.timeValueMouseOver);\r\n        this.timeValueMouseOver = null;\r\n      }\r\n      this.timeValueMouseOver = setTimeout(() => {\r\n        this.isDisibledScroll = false;\r\n\r\n        clearTimeout(this.timeValueMouseOver);\r\n        this.timeValueMouseOver = null;\r\n      }, 1000);\r\n    },\r\n\r\n    // 取缓存WhiteCom的值，用于非index的页面刷新，导航显示正常\r\n    setActiveforChildPage(type) {\r\n      if(type === 'getStatus') {\r\n        this.initLocalStorageWhiteCom = localStorage.getItem(\"WhiteCom\");\r\n      }\r\n      else if(type === 'setStatus') {\r\n        const menuIndexs = {\r\n          CultrueContent: 0, // 课程内容\r\n          Mind: 0, // 思维导图\r\n          Problem: 1, // 问题意识\r\n          QuestionList: 1, // 本课问题解决\r\n          TipsView: 1, // 观修文\r\n          BehaviorAudio: 2, // 观修文\r\n          ConfirmTips: 2, // 提交心得\r\n          TipsSquare: 2, // 心得广场\r\n          Ocean: 3, // 生命海洋\r\n        };\r\n        const whiteCom = this.initLocalStorageWhiteCom;\r\n        const activeIndex = menuIndexs[whiteCom];\r\n        this.triggerSetTagType(activeIndex, 'scroll', 'init');\r\n\r\n        if(this.timeValueSetActiveChild) {\r\n          clearTimeout(this.timeValueSetActiveChild);\r\n          this.timeValueSetActiveChild = null;\r\n        }\r\n        this.timeValueSetActiveChild = setTimeout(() => {\r\n          this.$store.dispatch(\"setWhiteCom\", whiteCom);\r\n\r\n          clearTimeout(this.timeValueSetActiveChild);\r\n          this.timeValueSetActiveChild = null;\r\n        }, 500)\r\n      }\r\n    },\r\n\r\n    init(options, scrollH) {\r\n      let navItems = document.querySelectorAll(options.navClass);\r\n      let secItems = document.querySelectorAll(options.secClass);\r\n      let sideMaodian = document.querySelector(\".sideMaodian\");\r\n      let contentWhite = document.querySelector(\".contentWhite\");\r\n      if (this.$route.path !== \"/\") {\r\n        if (this.whiteActiveIndex === 0) {\r\n          this.parent.styleImg = \"/static/img/culture.svg\";\r\n        } else if (this.whiteActiveIndex === 1) {\r\n          this.parent.styleImg = \"/static/img/thinking.svg\";\r\n        } else if (this.whiteActiveIndex === 2) {\r\n          this.parent.styleImg = \"/static/img/behavior.svg\";\r\n        } else if (this.whiteActiveIndex === 3) {\r\n          this.parent.styleImg = \"/static/img/personality.svg\";\r\n        }\r\n      }\r\n\r\n      this.setActiveforChildPage('getStatus');\r\n      let timeout = setTimeout(() => {\r\n        if (this.pageNameStore === \"white\" || !this.pageNameStore) {\r\n          this.isClick = true;\r\n          if (this.$route.path !== \"/\") {\r\n            this.setActiveforChildPage('setStatus');\r\n          } else {\r\n            this.$store\r\n              .dispatch(\"setTagType\", {\r\n                tagType: 1,\r\n                menu: \"MenusWhite\",\r\n              })\r\n              .then(() => {\r\n                console.log(\"setWhiteCom\")\r\n                this.$store.dispatch(\"setWhiteCom\", \"CultrueContent\");\r\n                console.log(\"this.whiteActiveIndex:\", this.whiteActiveIndex);\r\n                this.clickNav(0);\r\n              });\r\n          }\r\n        }\r\n        clearTimeout(timeout);\r\n      }, 400);\r\n\r\n      this.navItems = navItems;\r\n      this.secItems = secItems;\r\n\r\n      //利用事件冒泡机制，在点击的li元素的祖先元素ul标签上注册click事件\r\n      sideMaodian.addEventListener(\r\n        \"click\", this.bindClickMainMenu,\r\n        false\r\n      );\r\n      sideMaodian.addEventListener(\"dbclick\", (event) => {\r\n        console.log(\"dbclick\");\r\n        // 阻止元素的默认行为（比如链接跳转、文本选中等）\r\n        event.preventDefault();\r\n      });\r\n\r\n      //注册scroll事件\r\n      if(this.isMobile) {\r\n        contentWhite.addEventListener(\"scroll\", this.bindBoxScroll);\r\n      }\r\n      else {\r\n        contentWhite.addEventListener(\"wheel\", this.bindBoxScroll);\r\n      }\r\n      EventBus.$on('RESIZE_BERFORE', this.bindDisibledScroll);\r\n      EventBus.$on('DISIBLED_SCROLL_MENU', this.bindDisibledScroll);\r\n    },\r\n    clickNav(slideIndex, fromEvent) {\r\n      let index = this.tagType.tagType - 1;\r\n      if (slideIndex !== undefined) {\r\n        index = slideIndex;\r\n      }\r\n      this.activeIndex = index;\r\n      this.navon(index, this.navItems);\r\n      this.getCardStatus(index, 'setBoxScrollTop', fromEvent);\r\n    },\r\n    async menuSwitching(index) {\r\n      if (this.isClick) {\r\n        return;\r\n      }\r\n      this.isClick = true;\r\n      this.clickNav(index);\r\n    },\r\n    getElementDistanceToAncestor(element, ancestor) {\r\n      var distance = 0;\r\n      var currentElement = element;\r\n\r\n      // Loop through each offsetParent of the element until we reach the ancestor\r\n      while (currentElement && currentElement !== ancestor) {\r\n        distance += currentElement.offsetTop;\r\n        currentElement = currentElement.offsetParent;\r\n      }\r\n\r\n      return distance;\r\n    },\r\n    // 缩放页面\r\n    resizeWindow() {\r\n      let $box = document.querySelector(\".contentWhite\");\r\n      const boxOffset = $box.getBoundingClientRect();\r\n      let $cultureSec = document.getElementById(\"cultureSec\");\r\n      let $thinkingSec = document.getElementById(\"thinkingSec\");\r\n      let $behaviorSec = document.getElementById(\"behaviorSec\");\r\n      let $personalitySec = document.getElementById(\"personalitySec\");\r\n      const itemDoms = [$cultureSec, $thinkingSec, $behaviorSec, $personalitySec];\r\n      const activeIndex = this.whiteActiveIndex;\r\n      if(itemDoms[activeIndex]) {\r\n        let allHeight = 0;\r\n        for(let i = 0; i < activeIndex; i++) {\r\n          allHeight = allHeight + itemDoms[i].getBoundingClientRect().height;\r\n        }\r\n\r\n        if(activeIndex === 3 || activeIndex === 2) {\r\n          $box.style.paddingBottom = boxOffset.height - itemDoms[3].clientHeight + 'px'\r\n        }\r\n        else {\r\n          $box.style.paddingBottom = 0 + 'px'\r\n        }\r\n        $box.scrollTo(0, allHeight);\r\n        this.boxLastScrollTop = allHeight;\r\n      }\r\n\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {},\r\n  deactivated() {},\r\n  destroyed() {},\r\n  mounted() {\r\n    EventBus.$on(\"GOWHITE\", (isNeedEyeAni) => {\r\n      if(isNeedEyeAni) {\r\n        if(this.setTimeValueGoWhite) {\r\n          clearTimeout(this.setTimeValueGoWhite);\r\n          this.setTimeValueGoWhite = null;\r\n        }\r\n        const activeIndex = this.whiteActiveIndex;\r\n        this.setTimeValueGoWhite = setTimeout(() => {\r\n          this.triggerSetTagType(activeIndex, 'scroll', 'GOWHITE');\r\n          clearTimeout(this.setTimeValueGoWhite);\r\n          this.setTimeValueGoWhite = null;\r\n        }, 500)\r\n      }\r\n    })\r\n\r\n    this.getCourseMeditate();\r\n    // let windowHeight = this.getWindowHeight();\r\n    // let height = windowHeight - 189;\r\n    // if (height < 520) {\r\n    //   height = 700;\r\n    // }\r\n    // this.personalityHeight = height;\r\n    // this.$refs.personalitySec.style.height = \"750px\";\r\n    this.init(this.options, this.scrollTopStore);\r\n    EventBus.$on(\"CultureIndex\", () => {\r\n      let timeout = setTimeout(() => {\r\n        this.triggerSetTagType(0, 'scroll', 'CultureIndex');\r\n        clearTimeout(timeout);\r\n        timeout = null;\r\n      }, 550);\r\n    });\r\n\r\n    EventBus.$on(\"menuSwitching\", (index) => {\r\n      console.log(\"menuSwitching\");\r\n      this.menuSwitching(index);\r\n    });\r\n    EventBus.$on(\"CLOSE_OTHER_PAGE\", () => {\r\n      this.getCardStatus(this.activeIndex, 'setBoxScrollTop', 'scroll');\r\n    });\r\n    EventBus.$on(\"showWhiteEyeAni\", (isShow) => {\r\n      this.getCardStatus(this.activeIndex, 'setBoxScrollTop', 'scroll');\r\n    });\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.resizeWindow();\r\n    });\r\n\r\n    // 保存思维导图弹出窗关闭弹窗事件\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CANCEL\", whiteCom => {\r\n      if(whiteCom === 'WhiteMenus') {\r\n        console.log(\"MIND_OUTLINE_SAVE_CANCEL:\", whiteCom)\r\n        console.log(\"triggerSetTagType:\", this.activeIndex);\r\n        // this.isClickMainMenuing = false;\r\n        // this.isDisibledScroll = false;\r\n        this.clearCardStatus(0, 'scroll');\r\n      }\r\n    });\r\n    // 保存完思维导图然后切换模块\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom => {\r\n      console.log(\"MIND_OUTLINE_SAVE_CONFIRMED confirm:\", whiteCom)\r\n      console.log(\"triggerSetTagType:\", this.nextActiveIndex);\r\n      if(whiteCom === 'WhiteMenus') {\r\n        if(this.fromEvent == 'click') {\r\n          this.triggerSetTagType(this.nextActiveIndex, 'click', 'bindClickMainMenu')\r\n        } else {\r\n          this.triggerSetTagType(this.nextActiveIndex, 'scroll', 'bindBoxScroll', this.activeIndex);\r\n        }\r\n      }\r\n    });\r\n    // 保存完课程内容然后切换模块\r\n    EventBus.$on(\"CultrueContentEditConfirmed\", whiteCom => {\r\n      console.log(\"CultrueContentEditConfirmed confirm:\", whiteCom)\r\n      console.log(\"triggerSetTagType:\", this.nextActiveIndex);\r\n      if(whiteCom === 'WhiteMenus') {\r\n        if(this.fromEvent == 'click') {\r\n          this.triggerSetTagType(this.nextActiveIndex, 'click', 'bindClickMainMenu')\r\n        } else {\r\n          this.triggerSetTagType(this.nextActiveIndex, 'scroll', 'bindBoxScroll', this.activeIndex)\r\n        }\r\n      }\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\nbody {\r\n  overflow: hidden;\r\n}\r\n/deep/ .el-step.is-vertical .el-step__line {\r\n  background-color: #d4d9db;\r\n  left: 13px;\r\n  width: 2px;\r\n}\r\n\r\ndiv.section_maodian {\r\n  height: auto;\r\n  width: 100%;\r\n  position: relative;\r\n}\r\n.layer {\r\n  position: absolute;\r\n  z-index: 124;\r\n  width: 246px;\r\n  height: 200px;\r\n  bottom: 0;\r\n  // background-image: url(\"~@/assets/img/layer-white.png\");\r\n  // background-position: top left;\r\n  // background-size: cover;\r\n  // background-repeat: no-repeat;\r\n  background: linear-gradient(\r\n    to bottom,\r\n    rgba(234, 237, 239, 0.6),\r\n    rgba(234, 237, 239, 1)\r\n  );\r\n  // background-color: rgba(234, 237, 239, 0.9);\r\n  box-shadow: 0 0 60px #eaedef;\r\n}\r\n.cantainer {\r\n  display: flex;\r\n  height: calc(100% - 149px);\r\n}\r\n.contentWhite {\r\n  // width: 500px;\r\n  position: relative;\r\n  height: 100%;\r\n  overflow-y: auto;\r\n  overflow-x: hidden;\r\n  z-index: 30;\r\n  width: 100%;\r\n  margin-left: 36px;\r\n\r\n  .card-content-box{\r\n    position: relative;\r\n    opacity: 0.4;\r\n    pointer-events: none;\r\n  }\r\n  .card-content-box-active{\r\n    pointer-events: all;\r\n    opacity: 1;\r\n  }\r\n}\r\n.nav {\r\n  position: relative;\r\n}\r\n\r\n.navContent {\r\n  -webkit-animation: navContentAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: navContentAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes navContentAni {\r\n  0% {\r\n    margin-top: 42px;\r\n  }\r\n  100% {\r\n    margin-top: 0;\r\n  }\r\n}\r\n.showIconPage {\r\n  -webkit-animation: showIconPageAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showIconPageAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes showIconPageAni {\r\n  0% {\r\n    transform: translateX(0);\r\n  }\r\n  100% {\r\n    transform: translateX(-80px);\r\n  }\r\n}\r\n.hideIconPage {\r\n  -webkit-animation: hideIconPageAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideIconPageAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hideIconPageAni {\r\n  0% {\r\n    transform: translateX(-80px);\r\n  }\r\n  100% {\r\n    transform: translateX(0);\r\n  }\r\n}\r\n\r\n.transition {\r\n  width: 25px;\r\n  border-radius: 20px;\r\n  position: absolute;\r\n  // left: 1px;\r\n  z-index: 10;\r\n}\r\n.sideMaodian li {\r\n  &:first-of-type {\r\n    height: 58px;\r\n  }\r\n  &:nth-of-type(2) {\r\n    margin-top: 24px;\r\n  }\r\n  &:nth-of-type(3) {\r\n    margin-top: 23px;\r\n  }\r\n  &:nth-of-type(4) {\r\n    margin-top: 23px;\r\n  }\r\n  &:not(:first-of-type) {\r\n    height: 91px;\r\n  }\r\n}\r\n\r\n.sideMaodian2 li {\r\n  &:first-of-type {\r\n    height: 58px;\r\n  }\r\n  &:not(:first-of-type) {\r\n    height: 107px;\r\n  }\r\n  z-index: 11;\r\n  position: relative;\r\n}\r\n.sideMaodian,\r\n.sideMaodian2 {\r\n  color: #7e878c;\r\n  font-weight: 500;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n}\r\n.sideMaodian1 {\r\n  position: absolute;\r\n  z-index: 20;\r\n  background: rgb(234, 237, 239);\r\n  color: #7e878c;\r\n  font-weight: 600;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n}\r\nul,\r\nli {\r\n  list-style: none;\r\n}\r\nul {\r\n  width: 25px;\r\n  text-align: center;\r\n  z-index: 10;\r\n  position: relative;\r\n}\r\nli {\r\n  /* background: burlywood; */\r\n  padding: 20px 8px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n}\r\n.nav_maodian1 {\r\n  cursor: default;\r\n}\r\n// ---------------------------------\r\n// 选中的动效\r\n.active {\r\n  color: #fff;\r\n  -webkit-animation: activeli 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli {\r\n  0% {\r\n    // color: #000;\r\n    opacity: 0.5;\r\n  }\r\n  50% {\r\n    opacity: 0.5;\r\n  }\r\n  100% {\r\n    // color: #fff;\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n@keyframes activeli {\r\n  0% {\r\n    // color: #000;\r\n    opacity: 0.5;\r\n  }\r\n  50% {\r\n    opacity: 0.5;\r\n  }\r\n  100% {\r\n    // color: #fff;\r\n    opacity: 1;\r\n  }\r\n}\r\n// ---------------------------------------\r\n\r\n//---------------------------------- transition\r\n.active0 {\r\n  background-color: @culture;\r\n  border-radius: 20px;\r\n  -webkit-animation: transition0 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition0 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition0 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n\r\n@keyframes transition0 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n.active0_up {\r\n  background-color: @culture;\r\n  border-radius: 20px;\r\n  -webkit-animation: transition0_up 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition0_up 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition0_up {\r\n  0% {\r\n    top: 73px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n\r\n@keyframes transition0_up {\r\n  0% {\r\n    top: 73px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n.active1 {\r\n  background-color: @thinking;\r\n  border-radius: 20px;\r\n  -webkit-animation: transition1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition1 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition1 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n.active1_up {\r\n  background-color: @thinking;\r\n  border-radius: 20px;\r\n  -webkit-animation: transition1_up 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition1_up 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition1_up {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition1_up {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n.active2 {\r\n  background-image: linear-gradient(135deg, #ffae8b 0%, #fd746b 100%);\r\n  border-radius: 20px;\r\n  -webkit-animation: transition2 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition2 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition2 {\r\n  0% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition2 {\r\n  0% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n.active2_up {\r\n  background-image: linear-gradient(135deg, #ffae8b 0%, #fd746b 100%);\r\n  border-radius: 20px;\r\n  -webkit-animation: transition2_up 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition2_up 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition2_up {\r\n  0% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition2_up {\r\n  0% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n.active3 {\r\n  background-color: #2C51AF;\r\n  border-radius: 20px;\r\n  -webkit-animation: transition3 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition3 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition3 {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition3 {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n// --------------------------------------------\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  /* box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); */\r\n  background: #eaedef;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  /* box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); */\r\n  border-radius: 10px;\r\n  background: #eaedef;\r\n}\r\n.taskprogress {\r\n  width: 100%;\r\n  position: relative;\r\n  z-index: 30;\r\n  overflow-y: auto;\r\n  top: 61px;\r\n  padding-left: 61px;\r\n  position: absolute;\r\n  height: calc(100vh - 120px);\r\n  cursor: pointer;\r\n}\r\n\r\n// ------------------------内容与进度内容切换动效--------------\r\n.showTaskProgress {\r\n  -webkit-animation: showTaskProgressAni 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showTaskProgressAni 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes showTaskProgressAni {\r\n  0% {\r\n    opacity: 0;\r\n    left: 378px;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n    left: 0;\r\n  }\r\n}\r\n.hideTaskProgressInit {\r\n  left: 400px;\r\n}\r\n.hideTaskProgress {\r\n  top: -79px;\r\n  -webkit-animation: hideTaskProgressAni 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideTaskProgressAni 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hideTaskProgressAni {\r\n  0% {\r\n    opacity: 1;\r\n    left: 0;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n    left: 378px;\r\n  }\r\n}\r\n.hideContentWhite {\r\n  margin-top: 150px;\r\n  -webkit-animation: hideContentWhiteAni 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideContentWhiteAni 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hideContentWhiteAni {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n.showContentWhite {\r\n  margin-top: 0;\r\n  -webkit-animation: showContentWhiteAni 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showContentWhiteAni 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes showContentWhiteAni {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n// ---------------------------------------------------\r\n.connection {\r\n  position: absolute;\r\n  width: 2px;\r\n  left: 15px;\r\n  z-index: 99;\r\n  background-color: #d4d9db;\r\n}\r\n.connection1 {\r\n  height: 149px;\r\n  top: 295px;\r\n}\r\n.connection2 {\r\n  height: 142px;\r\n  top: 314px;\r\n}\r\n.connection3 {\r\n  height: 116px;\r\n  top: 333px;\r\n}\r\n.example.connection3 {\r\n  height: 127px;\r\n  top: 253px;\r\n}\r\n.navTp {\r\n  -webkit-animation: navTpAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: navTpAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes navTpAni {\r\n  0% {\r\n    margin-top: 150px;\r\n  }\r\n  100% {\r\n    margin-top: 108px;\r\n  }\r\n}\r\n// 切换进度时四个模块的动效\r\n.activeLi1 {\r\n  -webkit-animation: activeli1Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli1Ani 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli1Ani {\r\n  0% {\r\n    // transform: translateY(0);\r\n    margin-top: 0;\r\n  }\r\n  100% {\r\n    // transform: translateY(0);\r\n    margin-top: 0;\r\n  }\r\n}\r\n.activeLi11 {\r\n  -webkit-animation: activeli11Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli11Ani 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli11Ani {\r\n  0% {\r\n    // transform: translateY(0);\r\n    margin-top: 0;\r\n  }\r\n  100% {\r\n    // transform: translateY(0);\r\n    margin-top: 0;\r\n  }\r\n}\r\n.activeLi2 {\r\n  -webkit-animation: activeli2Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli2Ani 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli2Ani {\r\n  0% {\r\n    margin-top: 0;\r\n  }\r\n  100% {\r\n    margin-top: 66px;\r\n  }\r\n}\r\n.activeLi22 {\r\n  -webkit-animation: activeli22Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli22Ani 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli22Ani {\r\n  0% {\r\n    margin-top: 66px;\r\n  }\r\n  100% {\r\n    margin-top: 25px;\r\n  }\r\n}\r\n.activeLi3 {\r\n  -webkit-animation: activeli3Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli3Ani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli3Ani {\r\n  0% {\r\n    margin-top: 0;\r\n  }\r\n  100% {\r\n    margin-top: 107px;\r\n  }\r\n}\r\n.activeLi33 {\r\n  -webkit-animation: activeli33Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli33Ani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli33Ani {\r\n  0% {\r\n    margin-top: 107px;\r\n  }\r\n  100% {\r\n    margin-top: 25px;\r\n  }\r\n}\r\n.activeLi4 {\r\n  -webkit-animation: activeli4Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli4Ani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli4Ani {\r\n  0% {\r\n    margin-top: 0;\r\n  }\r\n  100% {\r\n    margin-top: 63px;\r\n  }\r\n}\r\n.activeLi44 {\r\n  -webkit-animation: activeli44Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli44Ani 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes activeli44Ani {\r\n  0% {\r\n    margin-top: 63px;\r\n  }\r\n  100% {\r\n    margin-top: 25px;\r\n  }\r\n}\r\n.sideMaodianCourseIsuseradd {\r\n    // 切换进度时四个模块的动效\r\n  .activeLi1 {\r\n    -webkit-animation: activeli1Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli1Ani 0.6s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli1Ani {\r\n    0% {\r\n      // transform: translateY(0);\r\n      margin-top: 0;\r\n    }\r\n    100% {\r\n      // transform: translateY(0);\r\n      margin-top: 0;\r\n    }\r\n  }\r\n  .activeLi11 {\r\n    -webkit-animation: activeli11Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli11Ani 0.6s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli11Ani {\r\n    0% {\r\n      // transform: translateY(0);\r\n      margin-top: 0;\r\n    }\r\n    100% {\r\n      // transform: translateY(0);\r\n      margin-top: 0;\r\n    }\r\n  }\r\n  .activeLi2 {\r\n    -webkit-animation: activeli2Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli2Ani 0.6s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli2Ani {\r\n    0% {\r\n      margin-top: 0;\r\n    }\r\n    100% {\r\n      margin-top: 66px;\r\n    }\r\n  }\r\n  .activeLi22 {\r\n    -webkit-animation: activeli22Ani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli22Ani 0.6s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli22Ani {\r\n    0% {\r\n      // transform: translateY(5px);\r\n      margin-top: 66px;\r\n    }\r\n    100% {\r\n      // transform: translateY(0);\r\n      margin-top: 25px;\r\n    }\r\n  }\r\n  .activeLi3 {\r\n    -webkit-animation: activeli3Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli3Ani 0.3s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli3Ani {\r\n    0% {\r\n      margin-top: 0;\r\n    }\r\n    100% {\r\n      margin-top: 70px;\r\n    }\r\n  }\r\n  .activeLi33 {\r\n    -webkit-animation: activeli33Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli33Ani 0.3s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli33Ani {\r\n    0% {\r\n      margin-top: 70px;\r\n    }\r\n    100% {\r\n      margin-top: 25px;\r\n    }\r\n  }\r\n  .activeLi4 {\r\n    -webkit-animation: activeli4Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli4Ani 0.3s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli4Ani {\r\n    0% {\r\n      margin-top: 0;\r\n    }\r\n    100% {\r\n      margin-top: 36px;\r\n    }\r\n  }\r\n  .activeLi44 {\r\n    -webkit-animation: activeli44Ani 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: activeli44Ani 0.3s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @-webkit-keyframes activeli44Ani {\r\n    0% {\r\n      margin-top: 36px;\r\n    }\r\n    100% {\r\n      margin-top: 25px;\r\n    }\r\n  }\r\n}\r\n#personalitySec {\r\n  margin-bottom: 400px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Menus.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\",\"position\":\"relative\"},attrs:{\"id\":\"whiteMenus\"},on:{\"click\":_vm.clickMenus}},[_c('div',{staticClass:\"cantainer\"},[_c('div',{class:[\n        'nav',\n        _vm.isFirstShowTp ? '' : _vm.showTaskProgress ? 'navTp' : 'navContent'\n      ],style:({\n        opacity: !_vm.showIconPage && !_vm.showIcon ? 1 : 0\n      })},[_c('div',{ref:\"transition\",class:(\"transition \" + (_vm.activeIndex > _vm.beforeActionIndex ? 'active' + _vm.activeIndex : 'active' + _vm.activeIndex + '_up')),style:({\n          opacity:\n            !_vm.showTaskProgress &&\n            !_vm.showIconPage &&\n            _vm.centerStauts !== 'centerStauts2' &&\n            _vm.centerStauts !== 'centerStauts4'\n              ? 1\n              : 0,\n          color: _vm.showTaskProgress ? '#7e878c' : ''\n        })}),_vm._v(\" \"),_c('ul',{staticClass:\"sideMaodian\",class:[_vm.courseProgress && _vm.courseProgress.course_isuseradd == 2 ? 'sideMaodianCourseIsuseradd' : ''],style:({\n          fontSize: _vm.$px2rem('12px'),\n          zIndex:\n            _vm.centerStauts !== 'centerStauts2' &&\n            _vm.centerStauts !== 'centerStauts4'\n              ? 10\n              : 1,\n          opacity:\n            _vm.centerStauts !== 'centerStauts2' &&\n            _vm.centerStauts !== 'centerStauts4'\n              ? 1\n              : 0\n        }),attrs:{\"id\":\"index_step6\"}},[_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 0 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi1' : 'activeLi11'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          文化\\n        \")]),_vm._v(\" \"),_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 1 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi2' : 'activeLi22'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          思维 • 观念\\n        \")]),_vm._v(\" \"),_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 2 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi3' : 'activeLi33'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          行为 • 习惯\\n        \")]),_vm._v(\" \"),_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 3 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi4' : 'activeLi44'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          性格 • 人格\\n        \")])])]),_vm._v(\" \"),_c('div',{class:[\n        'nav',\n        _vm.whiteCom !== 'Icon'\n          ? ''\n          : _vm.showIconPage\n          ? 'showIconPage'\n          : 'hideIconPage'\n      ],style:({ opacity: _vm.showIcon ? 1 : 0, position: 'absolute' })},[_c('div',{ref:\"transition1\",staticClass:\"transition active0\",style:({\n          opacity:\n            !_vm.showTaskProgress &&\n            _vm.centerStauts !== 'centerStauts2' &&\n            _vm.centerStauts !== 'centerStauts4' &&\n            _vm.showIcon\n              ? 1\n              : 0,\n          color: _vm.showTaskProgress ? '#7e878c' : ''\n        })}),_vm._v(\" \"),_c('ul',{staticClass:\"sideMaodian\",style:({\n          fontSize: _vm.$px2rem('12px')\n        })},[_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 0 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi1' : 'activeLi11'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          文化\\n        \")]),_vm._v(\" \"),_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 1 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi2' : 'activeLi22'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          思维 • 观念\\n        \")]),_vm._v(\" \"),_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 2 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi3' : 'activeLi33'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          行为 • 习惯\\n        \")]),_vm._v(\" \"),_c('li',{class:[\n            'nav_maodian',\n            _vm.activeIndex === 3 ? 'active' : '',\n            !_vm.navNeedAni ? '' : _vm.showTaskProgress ? 'activeLi4' : 'activeLi44'\n          ],style:({\n            color: _vm.showTaskProgress ? '#7e878c' : ''\n          })},[_vm._v(\"\\n          性格 • 人格\\n        \")])])]),_vm._v(\" \"),_c('div',{class:[\n        'contentWhite',\n        _vm.showTaskProgress ? 'hideContentWhite' : 'showContentWhite'\n      ]},[_c('div',[_c('div',{class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.activeIndex === 0\n        },attrs:{\"id\":\"cultureSec\"}},[_c('div',{staticClass:\"section_maodian cultureSec\"},[_c('Culture',{attrs:{\"showTaskProgress\":_vm.showTaskProgress}})],1)]),_vm._v(\" \"),_c('div',{class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.activeIndex === 1\n        },attrs:{\"id\":\"thinkingSec\"}},[_c('div',{staticClass:\"section_maodian thinkingSec\"},[_c('Thinking')],1)]),_vm._v(\" \"),_c('div',{class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.activeIndex === 2\n        },attrs:{\"id\":\"behaviorSec\"}},[_c('div',{staticClass:\"section_maodian behaviorSec\"},[_c('Behavior')],1)]),_vm._v(\" \"),_c('div',{class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.activeIndex === 3\n        },attrs:{\"id\":\"personalitySec\"}},[_c('div',{staticClass:\"section_maodian personalitySec\"},[_c('Personality')],1)])])])]),_vm._v(\" \"),_c('div',{class:[\n      'taskprogress',\n      _vm.isFirstShowTp\n        ? 'hideTaskProgressInit'\n        : _vm.showTaskProgress\n        ? 'showTaskProgress'\n        : 'hideTaskProgress'\n    ]},[_c('TaskProgeress',{attrs:{\"showTaskProgress\":_vm.showTaskProgress}})],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1c599300\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Menus.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1c599300\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Menus.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Menus.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Menus.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1c599300\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Menus.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1c599300\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Menus.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div\r\n    v-loading=\"loading\"\r\n    :class=\"[\r\n    'cultrueContent',\r\n    fullscreen ? 'big-view-box bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\r\n  ]\">\r\n    <div class=\"box\"\r\n      :class=\"fullscreen ? 'fullBox' : ''\"\r\n      v-if=\"courseContentGuideStatus === 1\">\r\n      <div class=\"box-content-name name\"\r\n        :class=\"[\r\n          !fullscreen && isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\r\n        ]\"\r\n        v-if=\"app_type == 2\">\r\n        <span v-if=\"!fullscreen\">课程内容</span>\r\n        <span v-else class=\"cursor-pointer\" @click=\"toggle('CultrueContent')\">课程内容</span>\r\n      </div>\r\n      <div class=\"box-content-name name\"\r\n        :class=\"[\r\n          !fullscreen && isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\r\n        ]\"\r\n        v-else>\r\n        <span v-if=\"!fullscreen\">内容</span>\r\n        <span v-else class=\"cursor-pointer\" @click=\"toggle('CultrueContent')\">内容</span>\r\n      </div>\r\n      <div class=\"content-box\"\r\n        id=\"parent\"\r\n        :class=\"\r\n          fullscreen ? 'content-box1' : whiteCom === 'CultrueContent' ? '' : ''\r\n        \">\r\n        <img v-if=\"!fullscreen\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/culture_fullscreen.svg\"\r\n          @click=\"toggle('CultrueContent')\" />\r\n        <img v-else\r\n          class=\"fullscreen fullscreenHover\"\r\n          :class=\"fullscreen ? 'fullscreenExit' : ''\"\r\n          src=\"@/assets/img/exit_fullscreen_culture_w.svg\"\r\n          @click=\"toggle('CultrueContent')\" />\r\n        <div ref=\"course_title\"\r\n          class=\"title\">{{ course_name }}</div>\r\n        <div v-if=\"\r\n            (showFayi &&\r\n              course.course_intro_short &&\r\n              !isEdit &&\r\n              course.course_intro_isuseradd == 2 &&\r\n              course.course_isuseradd == 2) ||\r\n              (showFayi && course.course_isuseradd == 3)\r\n          \"\r\n          class=\"prewrap-content fayi ellipsis-content\"\r\n          v-html=\"course.course_intro_short\"\r\n          ref=\"course_intro_short\"></div>\r\n          <!-- <div v-if=\"(showFayi &&\r\n              !course.course_intro_short &&\r\n              course.course_intro_isuseradd == 2 &&\r\n              course.course_isuseradd == 2) ||\r\n              (showFayi && course.course_isuseradd == 3)\"\r\n              class=\"prewrap-content fayi ellipsis-content fayi_none\"\r\n              ref=\"course_intro_short\"></div> -->\r\n        <div class=\"content1 ql-snow\"\r\n          :class=\"[\r\n            isFayiExit ? '' : 'content2',\r\n            !isFayiExit && app_type == 2 ? 'content2Global' :  '',\r\n            contentClass,\r\n            fullscreen ? 'content3' : ''\r\n          ]\"\r\n          v-if=\"\r\n            !(\r\n              app_type == 2 &&\r\n              course.course_isuseradd == 2 &&\r\n              course.course_intro_isedit == 2\r\n            ) &&\r\n              course &&\r\n              course.course_intro &&\r\n              !isEdit\r\n          \">\r\n          <div class=\"content prewrap-content ql-editor\"\r\n            :class=\"course.course_intro_isedit == 1 ? 'ql-editor1' : ''\"\r\n            id=\"content\"\r\n            v-html=\"course.course_intro\"></div>\r\n            <!-- 国外 -->\r\n          <div class=\"operates operatesEdit\"\r\n            :class=\"[app_type == 2 ? 'operatesEditGlobal' : '']\"\r\n            v-if=\"app_type == 2 && course.course_intro_isedit == 1\">\r\n            <div class=\"btn\" @click=\"edit\">\r\n              <span>编辑内容</span>\r\n            </div>\r\n            <div v-if=\"courseBase && courseBase.is_collect == 2\" class=\"btn\" @click=\"addUserCollection(1)\">\r\n              <img src=\"@/assets/img/mind_collect.svg\" />\r\n              <span>收藏</span>\r\n            </div>\r\n            <div v-if=\"courseBase && courseBase.is_collect == 1\" class=\"btn\" @click=\"addUserCollection(2)\">\r\n              <img src=\"@/assets/img/mind_collected.svg\" />\r\n              <span>取消收藏</span>\r\n            </div>\r\n          </div>\r\n          <!-- 国内 -->\r\n          <div class=\"operates operatesEdit\"\r\n            v-if=\"app_type == 1 && course.course_intro_isedit == 1\">\r\n            <el-button class=\"bg-transparent\"\r\n              @click=\"edit\">编辑内容</el-button>\r\n          </div>\r\n          <div class=\"operates\"\r\n            v-if=\"\r\n              course &&\r\n                course.course_intro &&\r\n                course.course_isuseradd == 2 &&\r\n                course.course_intro_isedit == 2 &&\r\n                app_type == 1\r\n            \">\r\n            <el-button class=\"bg-transparent\"\r\n              @click=\"setCourseComplete\"\r\n              :disabled=\"setFayi\">本课完成打卡</el-button>\r\n          </div>\r\n        </div>\r\n        <div class=\"course_intro course_intro1\"\r\n          id=\"cultrue_intro_edit\"\r\n          v-if=\"\r\n            course.course_intro_isedit == 1 && (isEdit || !course.course_intro)\r\n          \">\r\n          <quill-editor ref=\"myQuillEditor\"\r\n            v-if=\"editorEnabled\"\r\n            v-model=\"course_intro\"\r\n            :options=\"editorOption\"\r\n            @blur=\"onEditorBlur($event)\"\r\n            @focus=\"onEditorFocus($event)\"\r\n            @change=\"onEditorChange($event)\"\r\n            @ready=\"onEditorReady\"\r\n            >\r\n          </quill-editor>\r\n          <p v-if=\"editorEnabled\" class=\"txt_leg\"\r\n            ref=\"textLeg\">{{ len }}/{{ limitNumb }}</p>\r\n\r\n          <div v-if=\"editorEnabled\" class=\"save\">\r\n            <el-button v-loading=\"loading\"\r\n              v-throttle=\"[save]\"\r\n            >保存</el-button>\r\n          </div>\r\n        </div>\r\n        <CultrueContentDrawer v-if=\"\r\n            course.course_intro_isedit == 2 &&\r\n              app_type == 2 &&\r\n              course.course_isuseradd == 2\r\n          \"\r\n          ref=\"CultrueContentDrawer\"\r\n          :videoLen=\"videoLen\"\r\n          :audioLen=\"audioLen\"\r\n          :videos=\"videos\"\r\n          :audios=\"audios\"\r\n          :courseBase=\"courseBase\"\r\n          :courseContentGuideStatus=\"courseContentGuideStatus\"\r\n          :topHeight=\"txt_leg_top\"\r\n          :titleHeight=\"titleHeight\"\r\n          :drawerHeight=\"drawerHeight\"\r\n          :fullscreen=\"fullscreen\"\r\n          @setShowFayi=\"setShowFayi\" />\r\n      </div>\r\n      <el-dialog class=\"con_dialog\"\r\n        :visible.sync=\"dialogVisibleCon\"\r\n        :modal=\"true\"\r\n        :close-on-click-modal=\"false\"\r\n        :destroy-on-close=\"true\"\r\n        :append-to-body=\"true\"\r\n        :show-close=\"false\"\r\n        center\r\n        top=\"0vh\"\r\n        :before-close=\"handleClose\"\r\n        >\r\n        <div class=\"del_confirm\">您还有未保存的内容，请问是否保存？</div>\r\n        <span slot=\"footer\"\r\n          class=\"dialog-footer\">\r\n          <div class=\"btn\" @click=\"handleClose\">不保存</div>\r\n          <div\r\n            v-throttle=\"[submitCon, `click`, 300, [1, false]]\"\r\n            class=\"btn comfirm-btn\">保 存</div>\r\n            <!-- <div class=\"btn\" @click=\"submitCon(2)\">不保存</div>\r\n            <div @click=\"submitCon(1)\"\r\n              class=\"btn comfirm-btn\">保 存</div> -->\r\n        </span>\r\n      </el-dialog>\r\n    </div>\r\n\r\n    <div class=\"box guide\"\r\n      v-if=\"courseContentGuideStatus === 0\">\r\n      <div class=\"box-content-name name outof-box-content-name\">\r\n        课程内容\r\n      </div>\r\n      <div class=\"content-box\"\r\n        id=\"parent\">\r\n        <img class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/culture_fullscreen.svg\" />\r\n        <div class=\"title\" ref=\"course_title_guide\">人生五大问题</div>\r\n        <div id=\"content\" ref=\"course_intro_short_guide\" class=\"prewrap-content fayi ellipsis-content guide_fayi\" :class=\"[showFayi ? 'guide_fayi' : 'guide_fayi1']\" v-html=\"guideFayi\"></div>\r\n        <CultrueContentDrawer\r\n          ref=\"CultrueContentDrawer\"\r\n          :courseBase=\"courseBase\"\r\n          :courseContentGuideStatus=\"courseContentGuideStatus\"\r\n          :audioLen=\"audioLen\"\r\n          :videoLen=\"videoLen\"\r\n          :topHeight=\"txt_leg_top\"\r\n          :titleHeight=\"titleHeight\"\r\n          :drawerHeight=\"drawerHeight\"\r\n          :fullscreen=\"fullscreen\"\r\n          :isGuide=\"true\"\r\n          @setShowFayi=\"setShowFayi\" />\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  addCourseIntro,\r\n  getCourseAudioList,\r\n  getCourseBase,\r\n  getCourseVedioList,\r\n  getUserCourseProgress,\r\n  setCourseComplete,\r\n  addUserCollection\r\n} from \"@/api/index\";\r\nimport \"quill/dist/quill.core.css\";\r\nimport \"quill/dist/quill.snow.css\";\r\nimport \"quill/dist/quill.bubble.css\";\r\nimport { getIsMobile }  from '@/utils/util';\r\nimport { EventBus, WHITE_CULTURE_CONTENT } from \"@/utils/eventBus\";\r\nimport { Base64 } from \"js-base64\";\r\nimport CultrueContentDrawer from \"./CultrueContentDrawer\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport Quill from 'quill';\r\nconst BlockEmbed = Quill.import('blots/block/embed');\r\nclass CustomBlockEmbed extends BlockEmbed {\r\n  static create(value) {\r\n    if (value && (value.image || value.video || value.audio)) {\r\n      return null; // 不允许插入图片、视频和音频\r\n    }\r\n    return super.create(value);\r\n  }\r\n}\r\n\r\nQuill.register(CustomBlockEmbed, true);\r\n\r\n// let fontSize = [\r\n//   \"72px\",\r\n//   \"56px\",\r\n//   \"48px\",\r\n//   \"38px\",\r\n//   \"36px\",\r\n//   \"34px\",\r\n//   \"32px\",\r\n//   \"30px\",\r\n//   \"28px\",\r\n//   \"26px\",\r\n//   \"24px\",\r\n//   \"22px\",\r\n//   \"20px\",\r\n//   \"18px\",\r\n//   \"16px\",\r\n//   \"14px\",\r\n//   \"12px\",\r\n//   \"10px\",\r\n// ];\r\nlet fontSize = [\r\n  \"4em\",\r\n  \"3.1em\",\r\n  \"2.7em\",\r\n  \"2em\",\r\n  \"1.9em\",\r\n  \"1.8em\",\r\n  \"1.7em\",\r\n  \"1.6em\",\r\n  \"1.5em\",\r\n  \"1.4em\",\r\n  \"1.3em\",\r\n  \"1.2em\",\r\n  \"1.1em\",\r\n  \"1em\",\r\n  \"0.9em\",\r\n  \"0.8em\",\r\n  \"0.7em\",\r\n  \"0.6em\",\r\n];\r\n\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: { CultrueContentDrawer },\r\n  data() {\r\n    return {\r\n      courseContentGuideStatus: 1,\r\n      fullscreen: false,\r\n      course: {},\r\n      course_name: \"\",\r\n      setFayi: false,\r\n      course_intro: \"\",\r\n      isEdit: false,\r\n      app_type: localStorage.getItem(\"app_type\"),\r\n      dialogVisibleCon: false,\r\n      editorOption: {\r\n        // 占位配置\r\n        placeholder: \"请输入...\",\r\n        height: \"300px\",\r\n        modules: {\r\n          \"emoji-toolbar\": true, //该项需要结合表情包进行展示配置[如果不需要表情包可直接删除]\r\n          \"emoji-shortname\": true, //该项需要结合表情包进行展示配置[如果不需要表情包可直接删除]\r\n          // 配置工具栏\r\n          toolbar: {\r\n            container: [\r\n              [\"emoji\"], //表情包一般位于工具栏的首位，故而调整至首位\r\n              [\"bold\", \"italic\", \"underline\", \"strike\"], // 加粗 斜体 下划线 删除线\r\n              // [\"blockquote\", \"code-block\"], // 引用  代码块\r\n              // [{ header: 1 }, { header: 2 }], // 1、2 级标题\r\n              // [{ header: [1, 2, 3, 4, 5, 6] }], //几级标题\r\n              // [{ size: ['10px', '12px', false, '16px', '18px', '20px', '30px', '32px'] }], // 字体大小\r\n              [{ size: fontSize }], // 字体大小\r\n              [{ list: \"ordered\" }, { list: \"bullet\" }], // 有序、无序列表\r\n              // [{ script: \"sub\" }, { script: \"super\" }], // 上标/下标\r\n              [{ indent: \"-1\" }, { indent: \"+1\" }], // 缩进\r\n              // [{ direction: \"rtl\" }], // 文本方向\r\n              // [\"link\"], // 链接、图片、视频\r\n              [{ align: [] }], // 添加居中按钮\r\n              // [{ 'size': ['small', false, 'large', 'huge'] }], // 字体大小\r\n              [{ color: [] }, { background: [] }], // 文字颜色按钮\r\n              [{ clean: true }],\r\n            ],\r\n            handlers: {\r\n              'image': function () {\r\n                // 禁用图片插入功能\r\n                return false;\r\n              },\r\n              'video': function () {\r\n                // 禁用视频插入功能\r\n                return false;\r\n              },\r\n              'audio': function () {\r\n                // 禁用音频插入功能\r\n                return false;\r\n              }\r\n            }\r\n          },\r\n          // 更改插入的图片大小\r\n          // imageResize: {\r\n          //   displayStyles: {\r\n          //     backgroundColor: \"black\",\r\n          //     border: \"none\",\r\n          //     color: \"white\"\r\n          //   },\r\n          //   modules: [\"Resize\", \"DisplaySize\", \"Toolbar\"]\r\n          // }\r\n        },\r\n      },\r\n      toolbarTips: [\r\n        { Choice: \".ql-bold\", title: \"加粗\" },\r\n        { Choice: \".ql-italic\", title: \"倾斜\" },\r\n        { Choice: \".ql-underline\", title: \"下划线\" },\r\n        { Choice: \".ql-header\", title: \"段落格式\" },\r\n        { Choice: \".ql-strike\", title: \"删除线\" },\r\n        { Choice: \".ql-blockquote\", title: \"块引用\" },\r\n        { Choice: \".ql-code-block\", title: \"插入代码段\" },\r\n        { Choice: \".ql-size\", title: \"字体大小\" },\r\n        { Choice: '.ql-list[value=\"ordered\"]', title: \"编号列表\" },\r\n        { Choice: '.ql-list[value=\"bullet\"]', title: \"项目列表\" },\r\n        { Choice: '.ql-header[value=\"1\"]', title: \"h1\" },\r\n        { Choice: '.ql-header[value=\"2\"]', title: \"h2\" },\r\n        { Choice: \".ql-align\", title: \"对齐方式\" },\r\n        { Choice: \".ql-color\", title: \"字体颜色\" },\r\n        { Choice: \".ql-background\", title: \"背景颜色\" },\r\n        { Choice: \".ql-image\", title: \"图像\" },\r\n        { Choice: \".ql-video\", title: \"视频\" },\r\n        { Choice: \".ql-link\", title: \"添加链接\" },\r\n        { Choice: \".ql-formula\", title: \"插入公式\" },\r\n        { Choice: \".ql-clean\", title: \"清除格式\" },\r\n        { Choice: '.ql-indent[value=\"-1\"]', title: \"向左缩进\" },\r\n        { Choice: '.ql-indent[value=\"+1\"]', title: \"向右缩进\" },\r\n        { Choice: \".ql-header .ql-picker-label\", title: \"标题大小\" },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"1\"]',\r\n          title: \"标题一\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"2\"]',\r\n          title: \"标题二\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"3\"]',\r\n          title: \"标题三\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"4\"]',\r\n          title: \"标题四\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"5\"]',\r\n          title: \"标题五\",\r\n        },\r\n        {\r\n          Choice: '.ql-header .ql-picker-item[data-value=\"6\"]',\r\n          title: \"标题六\",\r\n        },\r\n        { Choice: \".ql-header .ql-picker-item:last-child\", title: \"标准\" },\r\n        {\r\n          Choice: '.ql-size .ql-picker-item[data-value=\"small\"]',\r\n          title: \"小号\",\r\n        },\r\n        {\r\n          Choice: '.ql-size .ql-picker-item[data-value=\"large\"]',\r\n          title: \"大号\",\r\n        },\r\n        {\r\n          Choice: '.ql-size .ql-picker-item[data-value=\"huge\"]',\r\n          title: \"超大号\",\r\n        },\r\n        { Choice: \".ql-size .ql-picker-item:nth-child(2)\", title: \"标准\" },\r\n        { Choice: \".ql-align .ql-picker-item:first-child\", title: \"居左对齐\" },\r\n        {\r\n          Choice: '.ql-align .ql-picker-item[data-value=\"center\"]',\r\n          title: \"居中对齐\",\r\n        },\r\n        {\r\n          Choice: '.ql-align .ql-picker-item[data-value=\"right\"]',\r\n          title: \"居右对齐\",\r\n        },\r\n        {\r\n          Choice: '.ql-align .ql-picker-item[data-value=\"justify\"]',\r\n          title: \"两端对齐\",\r\n        },\r\n        { Choice: \".ql-emoji\", title: \"表情\" },\r\n      ],\r\n      direction: \"btt\",\r\n      loading: false,\r\n      videos: [],\r\n      audios: [],\r\n      contentClass: \"\",\r\n      showFayi: true,\r\n      limitNumb: 50000,\r\n      len: 0,\r\n      isFayiExit: false,\r\n      txt_leg_top: 156,\r\n      titleHeight: 0,\r\n      drawerHeight: \"\",\r\n      whiteComCurrent: \"\",\r\n      editorEnabled: false,\r\n      startY: 0,\r\n      endY: 0,\r\n      isMobile: getIsMobile(),\r\n      wrapLen: 0,\r\n      changeCourseId: true,\r\n      audioLen: 0,\r\n      videoLen: 0,\r\n      courseCompleteInterval: null,\r\n      progress_fayi_read_num: 0,\r\n      guideFayi: '人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎么的关系呢？',\r\n      isGoblack: false,\r\n      isClipborad: false,\r\n      canSave: true\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    },\r\n    initedCanAccessYouTube() {\r\n      return this.$store.getters.initedCanAccessYouTube;\r\n    }\r\n  },\r\n  watch: {\r\n    initedCanAccessYouTube: {\r\n      deep: true,\r\n      handler: async function (newVal, oldVal) {\r\n        console.log(\"CultrueContent initedCanAccessYouTube:\", newVal)\r\n        if(newVal && !oldVal) {\r\n          if(this.app_type != 1 && this.courseBase && this.courseBase.course_id) {\r\n            await this.getCourseAudioList();\r\n            await this.getCourseVedioList();\r\n            if(this.$refs.CultrueContentDrawer) {\r\n              this.$refs.CultrueContentDrawer.getActiveName();\r\n            }\r\n          }\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"courseProgress:\", this.changeCourseId);\r\n        if(this.changeCourseId) {\r\n          this.initCourseComplete();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if(v) {\r\n          this.course_intro = this.courseBase.course_intro;\r\n          this.course_name = this.courseBase.course_name;\r\n          this.course = this.courseBase;\r\n          console.log(\"this.changeCourseId:\", this.changeCourseId, this.courseBase)\r\n          if(this.changeCourseId) {\r\n            this.init();\r\n          }\r\n        }\r\n\r\n      },\r\n      immediate: true\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: async function (newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.setFayi = false;\r\n          this.changeCourseId = true;\r\n          this.editorEnabled = false;\r\n          this.course_intro = \"\";\r\n          this.isEdit = false;\r\n          this.len = 0;\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('CultrueContent', 'white');\r\n          if(this.app_type != 1) {\r\n            await this.getCourseAudioList();\r\n            await this.getCourseVedioList();\r\n            if(this.$refs.CultrueContentDrawer) {\r\n              this.$refs.CultrueContentDrawer.getActiveName();\r\n            }\r\n          }\r\n        }\r\n\r\n      },\r\n      immediate: true\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: async function (newVal) {\r\n        if (newVal) {\r\n          this.setFayi = false;\r\n          this.course_intro = \"\";\r\n          this.isEdit = false;\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('CultrueContent', 'white');\r\n          if(this.app_type != 1 && this.course_id) {\r\n            await this.getCourseAudioList();\r\n            await this.getCourseVedioList();\r\n            if(this.$refs.CultrueContentDrawer) {\r\n              this.$refs.CultrueContentDrawer.getActiveName();\r\n            }\r\n          }\r\n        }\r\n      },\r\n    },\r\n    course_intro: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n        }\r\n      },\r\n    },\r\n    pageName: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        // if(newVal == 'mid') {\r\n        //   this.course_intro = this.courseBase.course_intro;\r\n        // }\r\n        // 海外版后台已配置\r\n        if(this.app_type == 2 && this.courseBase.course_intro_isedit == 2 && this.courseBase.course_isuseradd == 2) {\r\n          if (this.$route.name == \"index\" && this.whiteCom == \"CultrueContent\" && this.pageName == 'white') {\r\n            this.initCourseComplete();\r\n          } else if(this.$route.name == \"index\" && this.whiteCom == \"CultrueContent\" && this.pageName != 'white') {\r\n            this.clearCompleteInterval();\r\n            this.setCourseComplete();\r\n          }\r\n        }\r\n      }\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function (v, oldVal) {\r\n        if(this.courseBase) {\r\n          this.course_intro = this.courseBase.course_intro;\r\n          console.log(\"this.app_type1:\", this.app_type, this.$route.name, this.whiteCom, oldVal)\r\n          if(this.app_type == 2 && this.courseBase.course_intro_isedit == 2 && this.courseBase.course_isuseradd == 2) {\r\n            if (this.$route.name == \"index\" && this.whiteCom == \"CultrueContent\" && this.pageName == 'white') {\r\n              this.initCourseComplete();\r\n              if(this.course.course_intro_isedit == 2 && this.course.course_isuseradd == 2 && this.changeCourseId) {\r\n                // this.initDrawer();\r\n              }\r\n            } else if(this.$route.name == \"index\" && this.whiteCom != \"CultrueContent\" && oldVal == \"CultrueContent\") {\r\n              this.clearCompleteInterval();\r\n              this.setCourseComplete();\r\n            }\r\n          }\r\n        }\r\n\r\n      },\r\n      immediate: true\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function(newVal, oldVal) {\r\n        console.log(\"this.$route:::\", this.$route, this.whiteCom);\r\n        console.log(\"this.app_type2:\", this.app_type, this.$route.name, this.whiteCom)\r\n        if(this.courseBase && this.app_type == 2 && this.courseBase.course_id && this.courseBase.course_intro_isedit == 2 && this.courseBase.course_isuseradd == 2) {\r\n          if (this.$route.name == \"index\" && this.whiteCom == \"CultrueContent\") {\r\n            this.getCourseAudioList();\r\n            this.getCourseVedioList();\r\n            this.initCourseComplete();\r\n            if(this.course.course_intro_isedit == 2 && this.course.course_isuseradd == 2) {\r\n              console.log(\"initDrawerinitDrawer\")\r\n              // this.initDrawer();\r\n            }\r\n          } else if(oldVal.name == \"index\" && newVal.name != \"index\" && this.whiteCom == \"CultrueContent\") {\r\n            this.clearCompleteInterval();\r\n            this.setCourseComplete();\r\n          }\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    isEdit: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if(this.course.course_intro_isedit == 1 && (this.isEdit || !this.course.course_intro)) {\r\n          this.initEditorTooltip();\r\n        }\r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    compareRGB(color2) {\r\n      const colors = ['rgb(155, 187, 89)', 'rgb(118, 146, 60)'];\r\n      // 提取 RGB 值\r\n      const extractRGB = (color) => {\r\n        const match = color.match(/\\d+/g); // 匹配数字部分\r\n        return {\r\n          r: parseInt(match[0], 10),\r\n          g: parseInt(match[1], 10),\r\n          b: parseInt(match[2], 10)\r\n        };\r\n      };\r\n      let flag = false;\r\n      colors.forEach((color) => {\r\n        const rgb1 = extractRGB(color);\r\n        const rgb2 = extractRGB(color2);\r\n        const flag1 = rgb1.r === rgb2.r && rgb1.g === rgb2.g && rgb1.b === rgb2.b;\r\n        if(flag1) {\r\n          flag = flag1;\r\n        }\r\n      });\r\n      // 比较 RGB 分量\r\n      return flag;\r\n    },\r\n    // 收藏法义\r\n    addUserCollection(operate_type) {\r\n      let params = {\r\n        collect_type: 1,\r\n        operate_type: operate_type,\r\n        course_id: this.course_id,\r\n        course_intro_isuseradd: this.courseBase.course_intro_isuseradd,\r\n        course_isuseradd: this.courseBase.course_isuseradd\r\n      };\r\n      console.log(\"params:\", params);\r\n      addUserCollection(params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          if (operate_type === 1) {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"收藏成功\",\r\n            });\r\n          } else {\r\n            this.$message({\r\n              type: \"success\",\r\n              message: \"取消收藏成功\",\r\n            });\r\n          }\r\n          this.$store.dispatch(\"setCourseBase\", {\r\n            ...this.courseBase,\r\n            is_collect: operate_type\r\n          });\r\n        }\r\n      });\r\n    },\r\n    // 设置默认字体大小\r\n    setDefaultFontsize() {\r\n      this.$nextTick(() => {\r\n        console.log(\"setDefaultFontsize\");\r\n        const cultrue_intro_edit = document.getElementById(\"cultrue_intro_edit\");\r\n        const qlPicker = cultrue_intro_edit.querySelector(\".ql-size.ql-picker\");\r\n        if(qlPicker) {\r\n          const qlPickerLabel = qlPicker.querySelector(\".ql-picker-label\");\r\n          if(qlPickerLabel) {\r\n            // 设置data-value值\r\n            qlPickerLabel.setAttribute('data-value', '1em')\r\n          }\r\n        }\r\n      });\r\n    },\r\n    setShowFayi(showFayi) {\r\n      this.showFayi = showFayi;\r\n    },\r\n    async getCourseVedioList() {\r\n      try {\r\n        const res = await getCourseVedioList({ course_id: this.course_id, network_type: this.canAccessYouTube ? 1 : 2 });\r\n        if (res && res.code == 0) {\r\n          this.videos = res.data;\r\n          this.videoLen = this.videos.length;\r\n          EventBus.$emit(\"getCourseVideoListLength\", this.videos.length);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getCourseAudioList() {\r\n      try {\r\n        const res = await getCourseAudioList({ course_id: this.course_id, is_detail: 1 });\r\n        if (res && res.code == 0) {\r\n          this.audios = res.data;\r\n          this.audioLen = this.audios.length;\r\n          EventBus.$emit(\"getCourseAudioListLength\", this.audios.length);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    onEditorBlur(quill) {\r\n      console.log(\"editor blur!\", quill);\r\n    },\r\n    onEditorFocus(quill) {\r\n      console.log(\"editor focus!\", quill);\r\n    },\r\n    onEditorReady(quill) {\r\n      console.log(\"editor ready!\", quill);\r\n      // 自定义粘贴处理\r\n      quill.clipboard.addMatcher(Node.TEXT_NODE, (node, delta) => {\r\n        this.isClipborad = true;\r\n        // 获取父元素\r\n        const parentNode = node.parentNode;\r\n        // 获取父元素的计算样式\r\n        const computedStyle = window.getComputedStyle(parentNode);\r\n        // 获取字体颜色\r\n        const color = computedStyle.color;\r\n        const text = node.data;\r\n\r\n        let newDelta = {\r\n          ops: []\r\n        }\r\n        // 清空原始 delta 操作\r\n        // delta.ops = [];\r\n        // 分割段落\r\n        const paragraphs = text.split('\\n');\r\n        const len = paragraphs.length - 1;\r\n        // 对每个段落进行处理\r\n        paragraphs.forEach((paragraph, index) => {\r\n          // 去掉开头的空格\r\n          const trimmedParagraph = paragraph.replace(/^\\s+/, '');\r\n          const flag = this.compareRGB(color);\r\n          console.log(\"isClipborad:\", flag)\r\n          if(flag) {\r\n            // 插入处理后的段落\r\n            newDelta.ops.push({ insert: ' ' + trimmedParagraph, attributes: { color } });\r\n          } else {\r\n            // 插入处理后的段落\r\n            newDelta.ops.push({ insert: ' ' + trimmedParagraph, attributes: { } });\r\n          }\r\n        });\r\n        return newDelta;\r\n      });\r\n    },\r\n    getLength() {\r\n      // 获取编辑器的Quill实例\r\n      const quill = this.$refs.myQuillEditor.quill;\r\n      // 获取编辑器内容的Delta对象\r\n      const delta = quill.getContents();\r\n      // 计算字数\r\n      let length = 0;\r\n      if(delta && delta.ops && delta.ops.length) {\r\n        delta.ops.forEach(item => {\r\n          let text = item.insert;\r\n          if(text && typeof text === \"string\") {\r\n            const text1 = text.split(\"\\n\");\r\n            if(text1.length > 1) {\r\n              this.wrapLen += text1.length - 1;\r\n            }\r\n            if(typeof text === 'string') {\r\n              text = text.replace(/(\\n)+/g, '');\r\n              text = text.trim();\r\n\r\n              if(text) {\r\n                length = length + text.length;\r\n              }\r\n            }\r\n            else {\r\n              length = length + 1;\r\n            }\r\n          }\r\n\r\n        });\r\n      }\r\n      return length;\r\n    },\r\n    setContents() {\r\n      let quill = this.$refs.myQuillEditor.quill;\r\n      let lastDelta = {\r\n        ops: []\r\n      };\r\n      let flag = false;\r\n      // event.quill.setContents(delta)\r\n      // 获取编辑器内容的Delta对象\r\n      const delta = quill.getContents();\r\n      // 计算字数\r\n      let length = 0;\r\n      let prevLength = 0;\r\n      if(delta && delta.ops && delta.ops.length) {\r\n        delta.ops.forEach(item => {\r\n          let text = item.insert;\r\n          if(typeof text === 'string') {\r\n            text = text.replace(/(\\n)+/g, '');\r\n            text = text.trim();\r\n            if(text) {\r\n              length = length + text.length;\r\n            }\r\n            if(text && length < this.limitNumb) {\r\n              prevLength = length;\r\n            }\r\n          }\r\n          else {\r\n            length = length + 1;\r\n            if(length < this.limitNumb) {\r\n              prevLength = length;\r\n            }\r\n          }\r\n          if(length <= this.limitNumb) {\r\n            lastDelta.ops.push(item);\r\n          } else if(!flag){\r\n            // const ll = length - this.limitNumb;\r\n            flag = true;\r\n            const dd = {\r\n              ...item,\r\n              insert: ' ' + text.substring(0, this.limitNumb - prevLength)\r\n            };\r\n            console.log(dd)\r\n            lastDelta.ops.push(dd);\r\n          }\r\n        });\r\n      }\r\n      return lastDelta;\r\n    },\r\n    onEditorChange({ html, text }) {\r\n      try {\r\n        this.isEdit = true;\r\n        this.wrapLen = 0;\r\n        // ---------------------------------------\r\n        // 如果是粘贴的先进行添加缩进处理，然后设置isClipborad = false后再进行字数计算\r\n        if(this.isClipborad) {\r\n          const cultrue_intro_edit = document.getElementById(\"cultrue_intro_edit\");\r\n          const qlEditor =  cultrue_intro_edit.querySelectorAll(\".ql-editor\");\r\n          // 找到所有的 <p> 元素\r\n          const pElements = qlEditor[0].querySelectorAll('p');\r\n\r\n          const len = pElements.length;\r\n          // 遍历每个 <p> 元素\r\n          for(let i = 0; i < len; i++) {\r\n            const pElement = pElements[i];\r\n            const pText = pElement.textContent;\r\n            // 找到 <p> 元素下的所有 <span> 元素\r\n              // 获取所有子节点\r\n            const children = pElement.children;\r\n            console.log(\"children:\", children)\r\n            if(children.length > 0) {\r\n              // 遍历每个直接元素\r\n              for(let j = 0; j < children.length; j++) {\r\n                const child = children[j];\r\n                if (child.nodeType === Node.ELEMENT_NODE) {\r\n                  // 获取父元素的计算样式\r\n                  const computedStyle = window.getComputedStyle(child);\r\n                  // 获取字体颜色\r\n                  const color = computedStyle.color;\r\n                  let flag = false;\r\n                  if(color) {\r\n                    flag = this.compareRGB(color);\r\n                  }\r\n                  // if(!flag) {\r\n                  //   child.style.color = '';\r\n                  // }\r\n                  // 获取 <span> 元素的文本内容\r\n                  const text = child.textContent;\r\n                  // 判断文本是否以空格开头\r\n                  if (/^\\s/.test(text)) {\r\n                    // 去掉开头的空格\r\n                    child.textContent = text.replace(/^\\s+/, '');\r\n                    child.style.backgroundColor = '';\r\n                    pElement.classList.add('ql-indent-1');\r\n                  }\r\n                } else {\r\n                  // const text = pElement.textContent;\r\n                  // // 判断文本是否以空格开头\r\n                  // if (/^\\s/.test(text)) {\r\n                  //   // 去掉开头的空格\r\n                  //   pElement.textContent = text.replace(/^\\s+/, '');\r\n                  //   pElement.classList.add('ql-indent-1');\r\n                  // }\r\n                }\r\n              }\r\n            } else {\r\n              if (pElement.nodeType === Node.ELEMENT_NODE) {\r\n                // 获取父元素的计算样式\r\n                const computedStyle = window.getComputedStyle(pElement);\r\n                // 获取字体颜色\r\n                const color = computedStyle.color;\r\n                let flag = false;\r\n                if(color) {\r\n                  flag = this.compareRGB(color);\r\n                }\r\n                // if(!flag) {\r\n                //   pElement.style.color = '';\r\n                // }\r\n                // 获取 <span> 元素的文本内容\r\n                const text = pElement.textContent;\r\n                // 判断文本是否以空格开头\r\n                if (/^\\s/.test(text)) {\r\n                  // 去掉开头的空格\r\n                  pElement.textContent = text.replace(/^\\s+/, '');\r\n                  pElement.style.backgroundColor = '';\r\n                  pElement.classList.add('ql-indent-1');\r\n                }\r\n              } else {\r\n                // const text = pElement.textContent;\r\n                // // 判断文本是否以空格开头\r\n                // if (/^\\s/.test(text)) {\r\n                //   // 去掉开头的空格\r\n                //   pElement.textContent = text.replace(/^\\s+/, '');\r\n                //   pElement.classList.add('ql-indent-1');\r\n                // }\r\n              }\r\n            }\r\n\r\n            const childNodes = pElement.childNodes;\r\n            const childNodesLength = childNodes.length;\r\n            for (let i = 0; i < childNodesLength; i++) {\r\n              const child = childNodes[i];\r\n              if (child.nodeType === Node.TEXT_NODE && child.textContent.trim() !== '') {\r\n                const text = pElement.textContent;\r\n                // 判断文本是否以空格开头\r\n                if (/^\\s/.test(text)) {\r\n                  // 去掉开头的空格\r\n                  pElement.textContent = text.replace(/^\\s+/, '');\r\n                  pElement.classList.add('ql-indent-1');\r\n                }\r\n              }\r\n            }\r\n          }\r\n          this.isClipborad = false;\r\n          return;\r\n        }\r\n        // ---------------------------------------\r\n\r\n        if (text.trim().length > 0) {\r\n          let event = this.$refs.myQuillEditor;\r\n          this.len = this.getLength();\r\n\r\n          const selection = event.quill.getSelection()\r\n          console.log(\"selection:\", selection);\r\n          // console.log(html)\r\n\r\n          if (selection && event.quill.getFormat(selection).size) {\r\n            event.quill.format('lineHeight', '1.5');\r\n          }\r\n\r\n          if (this.limitNumb) {\r\n            if (this.len <= this.limitNumb) {\r\n              this.course_intro = html;\r\n            } else if (this.len > this.limitNumb) {\r\n              const newDelta = this.setContents();\r\n              console.log(\"newDelta:\", newDelta);\r\n              event.quill.setContents(newDelta)\r\n              // event.quill.deleteText(\r\n              //   this.limitNumb + this.wrapLen,\r\n              //   this.len\r\n              // );\r\n              this.$message({\r\n                type: \"warning\",\r\n                message: \"长度超出，无法输入!\",\r\n              });\r\n              //  this.content = html\r\n              return;\r\n            }\r\n          } else {\r\n            this.course_intro = html;\r\n          }\r\n        } else {\r\n          // fix: 【ipad端】课程内容编辑处，把原来编辑好的内容删除后，再进行编辑，内容无法输入出来\r\n          // this.course_intro = \"\";\r\n          this.len = 0;\r\n          const quill = this.$refs.myQuillEditor.quill;\r\n          const blocks = quill.root.querySelectorAll('h1,h2,h3,h4,h5,h6');\r\n          blocks.forEach(block => {\r\n            block.parentNode.removeChild(block);\r\n          });\r\n          // this.$refs.myQuillEditor.quill.setContents(\"\");\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    handleClose(e) {\r\n      if(this.closeTimeoutValue) {\r\n        clearTimeout(this.closeTimeoutValue);\r\n        this.closeTimeoutValue = null;\r\n      }\r\n      this.closeTimeoutValue = setTimeout(() => {\r\n        console.log(\"submitCon\");\r\n        this.submitCon(e, 2, false);\r\n        clearTimeout(this.closeTimeoutValue);\r\n        this.closeTimeoutValue = null;\r\n      }, 300);\r\n    },\r\n    submitCon(e, type = 1, isLocalStorageSave) {\r\n      console.log(type);\r\n      this.dialogVisibleCon = false;\r\n      this.submitCon1(type, isLocalStorageSave);\r\n    },\r\n    submitCon1(type, isLocalStorageSave) {\r\n      if (type === 1) {\r\n        console.log(\"submitCon1\");\r\n        this.save();\r\n      } else {\r\n        this.course_intro = this.course.course_intro;\r\n      }\r\n      this.isEdit = false;\r\n\r\n      if (!isLocalStorageSave) {\r\n        if(this.isGoblack) {\r\n          this.isGoblack = false;\r\n          EventBus.$emit(\"goBlackConfirmed\");\r\n        } else {\r\n          EventBus.$emit(\"CultrueContentEditConfirmed\", this.whiteComCurrent);\r\n        }\r\n      }\r\n    },\r\n    initGuideDrawer() {\r\n      console.log(\"initDrawer1\")\r\n      this.$nextTick(() => {\r\n        if (this.$refs.course_intro_short_guide && this.$refs.course_title_guide) {\r\n          if(this.$refs.course_title_guide.offsetHeight && this.$refs.course_intro_short_guide.offsetHeight) {\r\n            this.txt_leg_top =\r\n              this.$refs.course_title_guide.offsetHeight +\r\n              this.$refs.course_intro_short_guide.offsetHeight + 10;\r\n          }\r\n        } else if(this.$refs.course_title_guide && this.$refs.course_title_guide.offsetHeight){\r\n          this.txt_leg_top = this.$refs.course_title_guide.offsetHeight + 10;\r\n        }\r\n        if(this.$refs.course_title_guide) {\r\n          this.titleHeight = this.$refs.course_title_guide.offsetHeight;\r\n        }\r\n        this.drawerHeight = \"calc(100% - \" + this.txt_leg_top + \"px)\";\r\n\r\n      });\r\n    },\r\n    initDrawer() {\r\n      console.log(\"initDrawer\")\r\n      this.$nextTick(() => {\r\n        if (this.$refs.course_intro_short && this.$refs.course_title) {\r\n          if(this.$refs.course_title.offsetHeight && this.$refs.course_intro_short.offsetHeight) {\r\n            this.txt_leg_top =\r\n              this.$refs.course_title.offsetHeight +\r\n              this.$refs.course_intro_short.offsetHeight + 10;\r\n          }\r\n        } else if(this.$refs.course_title && this.$refs.course_title.offsetHeight){\r\n          this.txt_leg_top = this.$refs.course_title.offsetHeight + 10;\r\n        }\r\n        if(this.$refs.course_title) {\r\n          this.titleHeight = this.$refs.course_title.offsetHeight;\r\n        }\r\n        this.drawerHeight = \"calc(100% - \" + this.txt_leg_top + \"px)\";\r\n\r\n      });\r\n    },\r\n    init() {\r\n      if (this.courseBase) {\r\n        if(!this.course_intro && this.$refs.myQuillEditor && this.$refs.myQuillEditor.quill) {\r\n          this.$refs.myQuillEditor.quill.setContents([{ insert: '' }]);\r\n        }\r\n        this.course_name = this.courseBase.course_name;\r\n        this.course = this.courseBase;\r\n        if(this.course.course_intro_isedit == 1 && (this.isEdit || !this.course.course_intro)) {\r\n          this.initEditorTooltip();\r\n        }\r\n        if(this.course.course_intro_isedit == 1 && !this.course.course_intro) {\r\n          this.editorEnabled = true;\r\n        }\r\n        this.isFayiExit =\r\n          (this.course.course_intro_isuseradd == 2 &&\r\n            this.course.course_isuseradd == 2 && this.course.course_intro_short) ||\r\n          this.course.course_isuseradd == 3;\r\n        if (this.isFayiExit) {\r\n          this.contentScroll();\r\n        } else {\r\n          this.contentClass = \"\";\r\n          this.removeContentScroll();\r\n        }\r\n        console.log(\"this.changeCourseId:\", this.changeCourseId);\r\n        if(this.changeCourseId) {\r\n          this.$nextTick(() => {\r\n            let timeout = setTimeout(() => {\r\n              this.changeCourseId = false;\r\n              this.initDrawer();\r\n              clearTimeout(timeout);\r\n              timeout = null;\r\n            }, 400);\r\n          });\r\n\r\n        }\r\n\r\n      } else {\r\n        this.course_name = \"\";\r\n      }\r\n      this.contentClass = \"\";\r\n    },\r\n    edit() {\r\n      this.isEdit = true;\r\n      this.canSave = false;\r\n      this.course_intro = this.course.course_intro;\r\n      if(this.course.course_intro_isedit == 1 && this.isEdit) {\r\n        this.editorEnabled = true;\r\n      }\r\n      this.contentClass = \"\";\r\n      console.log(\"getCourseBase\")\r\n      this.getCourseBase();\r\n      this.getUserCourseProgress();\r\n      this.$nextTick(() => {\r\n        let event = this.$refs.myQuillEditor;\r\n        this.len = this.getLength();\r\n        const content = event.quill.getText();\r\n        event.quill.focus();\r\n        event.quill.setSelection(content.length);\r\n        if(!this.isMobile) {\r\n          this.bindQlToolbarEvent();\r\n        }\r\n      });\r\n      let timeout = setTimeout(() => {\r\n        this.canSave = true;\r\n        clearTimeout(timeout);\r\n        timeout = null;\r\n      }, 100);\r\n    },\r\n    bindQlToolbarEvent() {\r\n      // 阻止在点击工具栏时，会取消掉编辑器内容区域的选中效果\r\n      const el = document.querySelector('.ql-toolbar');\r\n      if(el) {\r\n        el.addEventListener('mousedown', (e) => {\r\n          e.stopPropagation();\r\n          e.preventDefault();\r\n        });\r\n      }\r\n    },\r\n    async setCourseComplete() {\r\n      try {\r\n        const params = {\r\n          course_id: this.course_id,\r\n          progress_fayi_read_num: this.progress_fayi_read_num\r\n        };\r\n        console.log(\"setCourseComplete:\", params);\r\n        setCourseComplete(params).then((res) => {\r\n          if (res && res.code === 0) {\r\n            this.setFayi = true;\r\n            const courseProgress = {\r\n              ...this.courseProgress,\r\n              progress_course_complete: 1,\r\n              progress_fayi_read_num: this.progress_fayi_read_num\r\n            };\r\n            this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n          }\r\n        });\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async save() {\r\n      // 加loading\r\n      console.log(\"save\");\r\n      if(!this.canSave) {\r\n        return;\r\n      }\r\n      try {\r\n        if (this.loading) {\r\n          return;\r\n        }\r\n        // if(!this.course_intro) {\r\n        //   this.$message({\r\n        //     type: \"warning\",\r\n        //     message: \"请输入内容\"\r\n        //   });\r\n        //   return;\r\n        // }\r\n        this.loading = true;\r\n        const course_intro = Base64.encode(this.course_intro);\r\n        const params = {\r\n          course_id: this.course_id,\r\n          // course_isuseradd: this.course.course_intro_isedit,\r\n          course_intro: course_intro,\r\n        };\r\n        const res = await addCourseIntro(params);\r\n        if (res && res.code === 0) {\r\n          this.loading = false;\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"保存成功\"\r\n          });\r\n          this.isEdit = false;\r\n          console.log(\"getCourseBase\")\r\n          this.getCourseBase();\r\n          this.getUserCourseProgress();\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getCourseBase() {\r\n      try {\r\n        if(this.course_id) {\r\n          const course = await getCourseBase({ course_id: this.course_id });\r\n          if (course.code === 0) {\r\n            this.course_intro = course.data[0].course_intro;\r\n            this.$store.dispatch(\"setCourseBase\", course.data[0]);\r\n          }\r\n        }\r\n\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({ course_id: this.course_id });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0]);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // pad端\r\n    bindTouchStart(event) {\r\n      this.startY = event.touches[0].pageY;\r\n    },\r\n    bindTouchMove(event)  {\r\n      this.endY = event.touches[0].pageY;\r\n    },\r\n    bindTouchEnd(event) {\r\n      if(this.startY <  this.endY) {\r\n        this.setContentScrollClass({\r\n            preventDefault: () => {},\r\n            deltaY: -20\r\n        })\r\n        this.startY = this.endY;\r\n      }\r\n      else if(this.startY >  this.endY) {\r\n        this.setContentScrollClass({\r\n            preventDefault: () => {},\r\n            deltaY: 20\r\n        })\r\n        this.startY = this.endY;\r\n      }\r\n    },\r\n    // web端\r\n    removeContentScroll() {\r\n      this.$nextTick(() => {\r\n        const content = document.getElementById(\"content\");\r\n        if(content) {\r\n          content.removeEventListener(\"wheel\", this.setContentScrollClass);\r\n          if(this.isMobile) {\r\n            content.removeEventListener(\"touchstart\", this.bindTouchStart);\r\n            content.removeEventListener(\"touchmove\", this.bindTouchMove);\r\n            content.removeEventListener(\"touchend\", this.bindTouchEnd);\r\n          }\r\n        }\r\n      });\r\n    },\r\n    contentScroll() {\r\n      if (!this.isFayiExit) {\r\n        return;\r\n      }\r\n      this.$nextTick(() => {\r\n        const content = document.getElementById(\"content\");\r\n        if (content) {\r\n          content.addEventListener(\"wheel\", this.setContentScrollClass);\r\n          if(this.isMobile) {\r\n            content.addEventListener(\"touchstart\", this.bindTouchStart);\r\n            content.addEventListener(\"touchmove\", this.bindTouchMove);\r\n            content.addEventListener(\"touchend\", this.bindTouchEnd);\r\n          }\r\n        }\r\n        if(this.$refs.CultrueContentDrawer && !this.showFayi) {\r\n          const drawer = document.getElementById(\"drawer\");\r\n          const scrollTop = drawer.scrollTop;\r\n          console.log(\"CultrueContentDrawer:\", drawer, this.topHeight);\r\n          this.$refs.CultrueContentDrawer.scrollContentBox(false, scrollTop);\r\n        }\r\n        this.contentClass = \"\";\r\n        let timeout = setTimeout(() => {\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n          this.showFayi = true;\r\n        }, 300);\r\n      });\r\n    },\r\n    setContentScrollClass(e) {\r\n      const content = document.getElementById(\"content\");\r\n      const isDown = e.deltaY > 0; // 滚轮向下\r\n      const scrollTop = content.scrollTop;\r\n      if (isDown && scrollTop <= 200) {\r\n        this.contentClass = \"contentDown\";\r\n        let timeout = setTimeout(() => {\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n          this.showFayi = false;\r\n        }, 200);\r\n      } else if (!isDown && scrollTop <= 200) {\r\n        this.contentClass = \"contentUp\";\r\n        let timeout = setTimeout(() => {\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n          this.showFayi = true;\r\n        }, 300);\r\n      }\r\n    },\r\n    setCourseContentGuideStatus(status) {\r\n      this.courseContentGuideStatus = status;\r\n      if(status == 1) {\r\n        this.initDrawer();\r\n      } else {\r\n        this.initGuideDrawer();\r\n      }\r\n    },\r\n    initEditorTooltip() {\r\n      console.log(\"initEditorTooltip\")\r\n      this.$nextTick(() => {\r\n        // this.handleResize();\r\n        for (let item of this.toolbarTips) {\r\n          let tip = document.querySelector(\".quill-editor \" + item.Choice);\r\n          if (!tip) continue;\r\n          tip.setAttribute(\"title\", item.title);\r\n        }\r\n        if(this.$refs.myQuillEditor && this.$refs.myQuillEditor.quill) {\r\n          this.$refs.myQuillEditor.quill.on('text-change', () => {\r\n            const quill = this.$refs.myQuillEditor.quill;\r\n            // 保存当前的光标位置, 解决去除图片音频视频后光标位置跑到最前面,但是针对鼠标位置在中间时不太对，还未解决\r\n            const currentSelection  = quill.getSelection(); // 获取选区\r\n            // const currentSelection = quill.selection.lastRange;\r\n            const blocks = quill.root.querySelectorAll('img, video, audio, iframe');\r\n\r\n            blocks.forEach(block => {\r\n              block.parentNode.removeChild(block);\r\n            });\r\n\r\n            // 恢复光标位置\r\n            if (currentSelection) {\r\n              // quill.setSelection(currentSelection.index, currentSelection.length);\r\n            }\r\n            const toolbar = quill.getModule('toolbar');\r\n            toolbar.addHandler('clean', this.clearFormat);\r\n            // toolbar.addHandler('color', this.colorFormat);\r\n          });\r\n          this.setDefaultFontsize();\r\n        }\r\n      });\r\n    },\r\n    colorFormat(value) {\r\n      console.log(\"colorFormat:\", value);\r\n      console.log(this.$refs.myQuillEditor)\r\n      if(this.$refs.myQuillEditor) {\r\n        const quill = this.$refs.myQuillEditor.quill;\r\n        const range = quill.getSelection(); // 获取选区\r\n        if(range) {\r\n          // const format = quill.getFormat(range.index);\r\n          // const color = format['color'];\r\n          if (value) {\r\n            // 处理颜色更改\r\n            console.log('当前选中字体的颜色:', value);\r\n            quill.formatText(range.index, range.length, 'color', value);\r\n            // 设置字体颜色\r\n            // quill.container.firstChild.setAttribute('style', `color: ${value};`);\r\n            // // 重写内容，应用字体颜色\r\n            // quill.setContents(quill.getContents(), 'api')\r\n          }\r\n        }\r\n      }\r\n    },\r\n    clearFormat() {\r\n      console.log(\"clearFormat\")\r\n      const quill = this.$refs.myQuillEditor.quill;\r\n      const range = quill.getSelection(); // 获取选区\r\n      if (range) {\r\n        console.log(\"range:\", range)\r\n        quill.formatText(range.index, range.length, {\r\n          bold: false,\r\n          italic: false,\r\n          underline: false,\r\n          color: false,\r\n          background: false,\r\n          strike: false,\r\n          size: false,\r\n          align: false,\r\n          list: false,\r\n          indent: 0, // 清除缩进\r\n          blockquote: false\r\n          // 其他格式化样式可以在这里添加\r\n        }); // 清除选中内容的样式\r\n        quill.formatText(range.index, range.length, 'bold', false);\r\n        quill.formatText(range.index, range.length, 'italic', false);\r\n        quill.formatText(range.index, range.length, 'underline', false);\r\n        quill.formatText(range.index, range.length, 'color', false);\r\n        quill.formatText(range.index, range.length, 'background', false);\r\n\r\n        this.$message.success('清除格式成功！');; // 显示成功提示\r\n      } else {\r\n        this.$message.warning('请先选择要清除格式的文本！'); // 没有选中的情况下给出提示\r\n      }\r\n       // 显示成功提示\r\n    },\r\n    initCourseComplete() {\r\n      // 进入时计算修学时长\r\n      console.log(\"initCourseComplete:\", this.courseProgress);\r\n      if(this.courseProgress) {\r\n        this.progress_fayi_read_num = 0;\r\n        this.clearCompleteInterval();\r\n        this.courseCompleteInterval = setInterval(() => {\r\n          this.progress_fayi_read_num += 1;\r\n        }, 1000);\r\n      }\r\n    },\r\n    clearCompleteInterval() {\r\n      if(this.courseCompleteInterval) {\r\n        clearInterval(this.courseCompleteInterval);\r\n        this.courseCompleteInterval = null;\r\n      }\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log(\"cultrueContent activated\")\r\n  },\r\n  deactivated() {\r\n    console.log(\"cultrueContent deactivated\")\r\n    // this.clearCompleteInterval();\r\n    // this.setCourseComplete();\r\n  },\r\n  beforeDestroy() {\r\n    this.removeContentScroll();\r\n  },\r\n  mounted() {\r\n    // const app_type = localStorage.getItem(\"app_type\");\r\n    // if (app_type) {\r\n    //   this.app_type = app_type;\r\n    // }\r\n    EventBus.$on(\"CultrueContentEdit\", async (whiteCom) => {\r\n      console.log(\"CultrueContentEdit getCourseBase:\", this.course_id, this.course);\r\n      if(this.course && this.course.course_intro_isedit == 2 && this.app_type == 2 && this.course.course_isuseradd == 2) {\r\n        EventBus.$emit(\"CultrueContentEditConfirmed\", whiteCom);\r\n      } else {\r\n        if(this.course_id && this.isEdit) {\r\n          // 用服务器端内容和本地内容进行比较\r\n          const course = await getCourseBase({ course_id: this.course_id });\r\n          const course_intro = course.data[0].course_intro;\r\n          // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n          if (this.course_intro !== course_intro) {\r\n            this.whiteComCurrent = whiteCom;\r\n            this.dialogVisibleCon = true;\r\n          } else {\r\n            EventBus.$emit(\"CultrueContentEditConfirmed\", whiteCom);\r\n          }\r\n        } else {\r\n          EventBus.$emit(\"CultrueContentEditConfirmed\", whiteCom);\r\n        }\r\n      }\r\n    });\r\n    EventBus.$on(\"openCultureDrawer\", (type) => {\r\n      console.log(\"openCultureDrawer:\", type);\r\n    });\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", (whiteCom) => {\r\n      if (whiteCom === \"CultrueContent\") {\r\n        this.toggle(whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"setCourseContentGuideStatus\", (status) => {\r\n      this.setCourseContentGuideStatus(status);\r\n    });\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.initDrawer();\r\n    });\r\n    EventBus.$on(WHITE_CULTURE_CONTENT, () => {\r\n      console.log(\"WHITE_CULTURE_CONTENT init\");\r\n      if(this.timeoutValue) {\r\n        clearTimeout(this.timeoutValue);\r\n        this.timeoutValue = null;\r\n      }\r\n      this.timeoutValue = setTimeout(() => {\r\n        // this.init();\r\n        clearTimeout(this.timeoutValue);\r\n        this.timeoutValue = null;\r\n      }, 100)\r\n\r\n    });\r\n    EventBus.$on(\"goBlack\", async () => {\r\n      if(this.whiteCom == 'CultrueContent') {\r\n        console.log(\"getCourseBase\")\r\n        this.isGoblack = true;\r\n        // 用服务器端内容和本地内容进行比较\r\n        const course = await getCourseBase({ course_id: this.course_id });\r\n        const course_intro = course.data[0].course_intro;\r\n        // 如果修改了，则弹出提示框，没有则直接去下个组件页面\r\n        if (this.course_intro !== course_intro) {\r\n          this.dialogVisibleCon = true;\r\n        } else {\r\n          EventBus.$emit(\"goBlackConfirmed\");\r\n        }\r\n      }\r\n    });\r\n\r\n    EventBus.$on('index_guide_2', () => {\r\n      if(this.$refs.CultrueContentDrawer && !this.showFayi) {\r\n        const drawer = document.getElementById(\"drawer\");\r\n        const scrollTop = drawer.scrollTop;\r\n        console.log(\"CultrueContentDrawer:\", drawer, this.topHeight);\r\n        this.$refs.CultrueContentDrawer.scrollContentBox(false, scrollTop);\r\n      }\r\n    })\r\n\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.cultrueContent {\r\n  height: 100%;\r\n}\r\n.content-box {\r\n  padding: 0 30px 30px 39px;\r\n  border-top-left-radius: 16px;\r\n  border-top-right-radius: 16px;\r\n  background-color: #f2f4f5;\r\n  position: relative;\r\n  flex: auto;\r\n  display: flex;\r\n  flex-direction: column;\r\n  overflow-y: hidden;\r\n}\r\n.content-box1 {\r\n  -webkit-animation: contentBox1Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: contentBox1Ani 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes contentBox1Ani {\r\n  0% {\r\n    padding-left: 39px;\r\n    padding-right: 39px;\r\n  }\r\n  100% {\r\n    padding-left: 101px;\r\n    padding-right: 101px;\r\n  }\r\n}\r\n.content-box2 {\r\n  -webkit-animation: contentBox2Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: contentBox2Ani 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes contentBox2Ani {\r\n  0% {\r\n    padding-left: 101px;\r\n    padding-right: 101px;\r\n  }\r\n  100% {\r\n    padding-left: 39px;\r\n    padding-right: 39px;\r\n  }\r\n}\r\n.contentDown {\r\n  -webkit-animation: contentDownAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: contentDownAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes contentDownAni {\r\n  0% {\r\n    height: calc(100% - 160px);\r\n    top: 160px;\r\n  }\r\n  100% {\r\n    height: calc(100% - 105px);\r\n    top: 105px;\r\n  }\r\n}\r\n.contentUp {\r\n  -webkit-animation: contentUpAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: contentUpAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes contentUpAni {\r\n  0% {\r\n    height: calc(100% - 105px);\r\n    top: 105px;\r\n  }\r\n  100% {\r\n    height: calc(100% - 160px);\r\n    top: 160px;\r\n  }\r\n}\r\n\r\n.box {\r\n  // height: calc(100% + 40px);\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  overflow-y: hidden;\r\n}\r\n.name {\r\n  color: #71afbb;\r\n  // height: 25px;\r\n  // line-height: 20px;\r\n  margin-bottom: 10px;\r\n}\r\n.box-content-name {\r\n\r\n}\r\n.content {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #292929;\r\n  height: calc(100% - 120px);\r\n  overflow-y: auto;\r\n  white-space: pre-wrap;\r\n  width: 100%;\r\n  text-align: justify;\r\n}\r\n.content1 {\r\n  position: absolute;\r\n  height: calc(100% - 160px);\r\n  padding-left: 39px;\r\n  top: 160px;\r\n  left: 0;\r\n  width: 100%;\r\n  background: rgba(250, 250, 250, 0.3);\r\n  box-shadow: 0 0 166px 0 rgba(0, 0, 0, 0.15);\r\n  border-radius: 16px 16px 0 0;\r\n  & > .content {\r\n    margin-top: 39px;\r\n  }\r\n  .ql-editor {\r\n    height: calc(100% - 40px);\r\n    margin-bottom: 20px;\r\n  }\r\n  .ql-editor1 {\r\n    height: calc(100% - 110px);\r\n    margin-bottom: 0;\r\n  }\r\n}\r\n.content3 {\r\n  padding-left: 83px;\r\n  padding-right: 60px;\r\n}\r\n.content2 {\r\n  height: calc(100% - 90px);\r\n  top: 97px;\r\n\r\n  .ql-editor1 {\r\n    height: calc(100% - 129px);\r\n    margin-bottom: 0;\r\n    display: block;\r\n  }\r\n}\r\n.content2Global {\r\n  .ql-editor1 {\r\n    height: calc(100% - 111px);\r\n    margin-bottom: 0;\r\n    display: block;\r\n  }\r\n}\r\n.fayi {\r\n  //height: 70px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7e878c;\r\n  line-height: 23px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n  overflow-y: hidden;\r\n  padding-top: 10px;\r\n  white-space: pre-wrap;\r\n  width: 100%;\r\n  margin-bottom: 20px;\r\n  // padding-bottom: 20px;\r\n  -webkit-line-clamp: 2;\r\n}\r\n.fayi_none {\r\n  // height: 56px;\r\n  height: 0;\r\n}\r\n.guide_fayi {\r\n  padding-bottom: 0;\r\n  opacity: 0;\r\n  -webkit-animation: guide_fayiAni 0s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: guide_fayiAni 0s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes guide_fayiAni {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n.guide_fayi1 {\r\n  padding-bottom: 0;\r\n  opacity: 0;\r\n  -webkit-animation: guide_fayiAni1 2s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: guide_fayiAni1 2s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes guide_fayiAni1 {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n.title {\r\n  font-size: 21px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: @culture;\r\n  line-height: 32px;\r\n  padding-bottom: 10px;\r\n  padding-top: 48px;\r\n  white-space: normal;\r\n}\r\n.course_intro {\r\n  flex: 1;\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #515456;\r\n  line-height: 23px;\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.course_intro1 {\r\n  height: calc(100% - 109px);\r\n  /deep/ .ql-editor {\r\n    white-space: pre-wrap;\r\n    word-wrap: break-word;\r\n    word-break: break-all;\r\n  }\r\n}\r\n.operates {\r\n  text-align: center;\r\n  padding: 15px 0 5px 0;\r\n  /deep/ .el-button.is-disabled {\r\n    background: #d4d9db;\r\n    color: #fff;\r\n    border-color: #d4d9db;\r\n    box-shadow: 0 3px 10px 0 rgb(212 217 219 / 49%);\r\n  }\r\n  /deep/ .el-button {\r\n    width: 144px;\r\n    height: 37px;\r\n    border-color: @culture;\r\n    color: @culture;\r\n    border-radius: 10px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    font-style: normal;\r\n  }\r\n}\r\n/deep/ .el-button:hover {\r\n  background-color: transparent;\r\n}\r\n/deep/ .el-tabs {\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n/deep/ .el-tabs__header {\r\n  padding: 10px 27px;\r\n  padding-left: 39px;\r\n  margin: 0 0 10px;\r\n}\r\n/deep/ .el-tabs__content {\r\n  // padding: 0 39px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 16px;\r\n  color: #292929;\r\n  line-height: 29px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n  // height: calc(100% - 115px);\r\n  flex: 1;\r\n  // padding-bottom: 24px;\r\n}\r\n/deep/ .el-tabs__nav-wrap::after {\r\n  height: 0;\r\n}\r\n/deep/ .el-tabs__active-bar {\r\n  background-color: #64afd5;\r\n  display: none;\r\n}\r\n/deep/ .el-tabs__item {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  text-align: right;\r\n  font-style: normal;\r\n  padding: 0;\r\n  margin: 0 25px;\r\n  &:hover {\r\n    color: #64afd5;\r\n  }\r\n  &.is-top:nth-child(2) {\r\n    margin-left: 0;\r\n  }\r\n}\r\n/deep/ .el-tabs__item.is-active {\r\n  color: #64afd5;\r\n  border-bottom: 2px solid #64afd5;\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n.operatesEdit {\r\n  /deep/ .el-button {\r\n    width: 179px;\r\n    height: 50px;\r\n    border-radius: 25px;\r\n  }\r\n}\r\n.operatesEditGlobal {\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  padding: 15px 0 0 0;\r\n  .btn {\r\n    width: 100px;\r\n    height: 32px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    border-radius: 16px;\r\n    border: 1px solid #71AFBB;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #71AFBB;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    cursor: pointer;\r\n    &:nth-of-type(2) {\r\n      margin: 0 34px 0 25px;\r\n    }\r\n    span {\r\n      line-height: 32px;\r\n    }\r\n  }\r\n  img {\r\n    width: 17px;\r\n    height: 15px;\r\n    margin-right: 7px;\r\n  }\r\n}\r\n.save {\r\n  padding-top: 30px;\r\n  text-align: center;\r\n  /deep/ .el-button {\r\n    width: 202px;\r\n    height: 43px;\r\n    background: @culture;\r\n    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n    border-radius: 8px;\r\n    background-color: @culture;\r\n    border-color: @culture;\r\n    color: #fff;\r\n    font-size: 16px;\r\n    padding: 12px 20px;\r\n  }\r\n}\r\n/deep/ .el-textarea {\r\n  height: calc(100% - 74px);\r\n  border-radius: 8px;\r\n}\r\n/deep/ .el-textarea__inner {\r\n  border: none;\r\n  padding: 12px 19px 22px 20px;\r\n  height: 100%;\r\n}\r\n/deep/ .el-input__count {\r\n  font-size: 12px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #71afbb;\r\n  line-height: 18px;\r\n  padding-right: 10px;\r\n  padding-bottom: 14px;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  .btn {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n    cursor: pointer;\r\n  }\r\n}\r\n/deep/ .quill-editor {\r\n  height: calc(100% - 90px);\r\n  white-space: normal !important;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n/deep/ .ql-container {\r\n  height: calc(100% - 136px);\r\n  flex: 1;\r\n  font-size: 16px;\r\n  white-space: pre-wrap !important;\r\n  .ql-editor {\r\n    font-size: 18px;\r\n    height: calc(100% - 35px);\r\n    margin: 12px 15px 30px 15px;\r\n    padding: 0;\r\n    &::before{\r\n      padding-left: 5px;\r\n    }\r\n  }\r\n}\r\n.txt_leg {\r\n  position: absolute;\r\n  top: calc(100% - 115px);\r\n  right: 20px;\r\n  font-size: 14px;\r\n}\r\n.ql-editor {\r\n  padding: 0;\r\n  padding-right: 39px;\r\n  // line-height: 24px;\r\n}\r\n.guide {\r\n  .content-box {\r\n    padding-bottom: 0;\r\n  }\r\n}\r\n/deep/ .ql-editor p, /deep/ .ql-editor ol li, /deep/ .ql-editor ul li, /deep/ .ql-editor pre, /deep/ .ql-editor blockquote{\r\n  font-size: 18px;\r\n  line-height: normal;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/CultrueContent.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],class:[\n  'cultrueContent',\n  _vm.fullscreen ? 'big-view-box bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\n]},[(_vm.courseContentGuideStatus === 1)?_c('div',{staticClass:\"box\",class:_vm.fullscreen ? 'fullBox' : ''},[(_vm.app_type == 2)?_c('div',{staticClass:\"box-content-name name\",class:[\n        !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\n      ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"课程内容\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle('CultrueContent')}}},[_vm._v(\"课程内容\")])]):_c('div',{staticClass:\"box-content-name name\",class:[\n        !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\n      ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"内容\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle('CultrueContent')}}},[_vm._v(\"内容\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\",class:_vm.fullscreen ? 'content-box1' : _vm.whiteCom === 'CultrueContent' ? '' : '',attrs:{\"id\":\"parent\"}},[(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/culture_fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle('CultrueContent')}}}):_c('img',{staticClass:\"fullscreen fullscreenHover\",class:_vm.fullscreen ? 'fullscreenExit' : '',attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_culture_w.svg\")},on:{\"click\":function($event){return _vm.toggle('CultrueContent')}}}),_vm._v(\" \"),_c('div',{ref:\"course_title\",staticClass:\"title\"},[_vm._v(_vm._s(_vm.course_name))]),_vm._v(\" \"),(\n          (_vm.showFayi &&\n            _vm.course.course_intro_short &&\n            !_vm.isEdit &&\n            _vm.course.course_intro_isuseradd == 2 &&\n            _vm.course.course_isuseradd == 2) ||\n            (_vm.showFayi && _vm.course.course_isuseradd == 3)\n        )?_c('div',{ref:\"course_intro_short\",staticClass:\"prewrap-content fayi ellipsis-content\",domProps:{\"innerHTML\":_vm._s(_vm.course.course_intro_short)}}):_vm._e(),_vm._v(\" \"),(\n          !(\n            _vm.app_type == 2 &&\n            _vm.course.course_isuseradd == 2 &&\n            _vm.course.course_intro_isedit == 2\n          ) &&\n            _vm.course &&\n            _vm.course.course_intro &&\n            !_vm.isEdit\n        )?_c('div',{staticClass:\"content1 ql-snow\",class:[\n          _vm.isFayiExit ? '' : 'content2',\n          !_vm.isFayiExit && _vm.app_type == 2 ? 'content2Global' :  '',\n          _vm.contentClass,\n          _vm.fullscreen ? 'content3' : ''\n        ]},[_c('div',{staticClass:\"content prewrap-content ql-editor\",class:_vm.course.course_intro_isedit == 1 ? 'ql-editor1' : '',attrs:{\"id\":\"content\"},domProps:{\"innerHTML\":_vm._s(_vm.course.course_intro)}}),_vm._v(\" \"),(_vm.app_type == 2 && _vm.course.course_intro_isedit == 1)?_c('div',{staticClass:\"operates operatesEdit\",class:[_vm.app_type == 2 ? 'operatesEditGlobal' : '']},[_c('div',{staticClass:\"btn\",on:{\"click\":_vm.edit}},[_c('span',[_vm._v(\"编辑内容\")])]),_vm._v(\" \"),(_vm.courseBase && _vm.courseBase.is_collect == 2)?_c('div',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.addUserCollection(1)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collect.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"收藏\")])]):_vm._e(),_vm._v(\" \"),(_vm.courseBase && _vm.courseBase.is_collect == 1)?_c('div',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.addUserCollection(2)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/mind_collected.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"取消收藏\")])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.app_type == 1 && _vm.course.course_intro_isedit == 1)?_c('div',{staticClass:\"operates operatesEdit\"},[_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.edit}},[_vm._v(\"编辑内容\")])],1):_vm._e(),_vm._v(\" \"),(\n            _vm.course &&\n              _vm.course.course_intro &&\n              _vm.course.course_isuseradd == 2 &&\n              _vm.course.course_intro_isedit == 2 &&\n              _vm.app_type == 1\n          )?_c('div',{staticClass:\"operates\"},[_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"disabled\":_vm.setFayi},on:{\"click\":_vm.setCourseComplete}},[_vm._v(\"本课完成打卡\")])],1):_vm._e()]):_vm._e(),_vm._v(\" \"),(\n          _vm.course.course_intro_isedit == 1 && (_vm.isEdit || !_vm.course.course_intro)\n        )?_c('div',{staticClass:\"course_intro course_intro1\",attrs:{\"id\":\"cultrue_intro_edit\"}},[(_vm.editorEnabled)?_c('quill-editor',{ref:\"myQuillEditor\",attrs:{\"options\":_vm.editorOption},on:{\"blur\":function($event){return _vm.onEditorBlur($event)},\"focus\":function($event){return _vm.onEditorFocus($event)},\"change\":function($event){return _vm.onEditorChange($event)},\"ready\":_vm.onEditorReady},model:{value:(_vm.course_intro),callback:function ($$v) {_vm.course_intro=$$v},expression:\"course_intro\"}}):_vm._e(),_vm._v(\" \"),(_vm.editorEnabled)?_c('p',{ref:\"textLeg\",staticClass:\"txt_leg\"},[_vm._v(_vm._s(_vm.len)+\"/\"+_vm._s(_vm.limitNumb))]):_vm._e(),_vm._v(\" \"),(_vm.editorEnabled)?_c('div',{staticClass:\"save\"},[_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.save]),expression:\"[save]\"}]},[_vm._v(\"保存\")])],1):_vm._e()],1):_vm._e(),_vm._v(\" \"),(\n          _vm.course.course_intro_isedit == 2 &&\n            _vm.app_type == 2 &&\n            _vm.course.course_isuseradd == 2\n        )?_c('CultrueContentDrawer',{ref:\"CultrueContentDrawer\",attrs:{\"videoLen\":_vm.videoLen,\"audioLen\":_vm.audioLen,\"videos\":_vm.videos,\"audios\":_vm.audios,\"courseBase\":_vm.courseBase,\"courseContentGuideStatus\":_vm.courseContentGuideStatus,\"topHeight\":_vm.txt_leg_top,\"titleHeight\":_vm.titleHeight,\"drawerHeight\":_vm.drawerHeight,\"fullscreen\":_vm.fullscreen},on:{\"setShowFayi\":_vm.setShowFayi}}):_vm._e()],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":false,\"center\":\"\",\"top\":\"0vh\",\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"您还有未保存的内容，请问是否保存？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticClass:\"btn\",on:{\"click\":_vm.handleClose}},[_vm._v(\"不保存\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.submitCon, \"click\", 300, [1, false]]),expression:\"[submitCon, `click`, 300, [1, false]]\"}],staticClass:\"btn comfirm-btn\"},[_vm._v(\"保 存\")])])])],1):_vm._e(),_vm._v(\" \"),(_vm.courseContentGuideStatus === 0)?_c('div',{staticClass:\"box guide\"},[_c('div',{staticClass:\"box-content-name name outof-box-content-name\"},[_vm._v(\"\\n      课程内容\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\",attrs:{\"id\":\"parent\"}},[_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/culture_fullscreen.svg\")}}),_vm._v(\" \"),_c('div',{ref:\"course_title_guide\",staticClass:\"title\"},[_vm._v(\"人生五大问题\")]),_vm._v(\" \"),_c('div',{ref:\"course_intro_short_guide\",staticClass:\"prewrap-content fayi ellipsis-content guide_fayi\",class:[_vm.showFayi ? 'guide_fayi' : 'guide_fayi1'],attrs:{\"id\":\"content\"},domProps:{\"innerHTML\":_vm._s(_vm.guideFayi)}}),_vm._v(\" \"),_c('CultrueContentDrawer',{ref:\"CultrueContentDrawer\",attrs:{\"courseBase\":_vm.courseBase,\"courseContentGuideStatus\":_vm.courseContentGuideStatus,\"audioLen\":_vm.audioLen,\"videoLen\":_vm.videoLen,\"topHeight\":_vm.txt_leg_top,\"titleHeight\":_vm.titleHeight,\"drawerHeight\":_vm.drawerHeight,\"fullscreen\":_vm.fullscreen,\"isGuide\":true},on:{\"setShowFayi\":_vm.setShowFayi}})],1)]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-8b1504c4\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/CultrueContent.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8b1504c4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContent.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContent.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContent.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8b1504c4\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContent.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-8b1504c4\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/CultrueContent.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"myMind\" v-loadingmind=\"{ loading: loading, msg: loadingMsg, type: loadingType }\">\r\n    <div\r\n      class=\"operates\"\r\n    >\r\n      <el-dropdown\r\n        @command=\"handleCommand\"\r\n        ref=\"elDropdown\"\r\n        :trigger=\"'click'\"\r\n        v-show=\"!editOutline\"\r\n      >\r\n        <el-button type=\"default\" class=\"bg-transparent\">\r\n          {{ commandSpan }}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n        </el-button>\r\n        <el-dropdown-menu slot=\"dropdown\" class=\"outlineDropdown\">\r\n          <el-dropdown-item command=\"1\">大纲模式</el-dropdown-item>\r\n          <el-dropdown-item command=\"2\">图片格式</el-dropdown-item>\r\n          <el-dropdown-item command=\"3\">PDF格式</el-dropdown-item>\r\n        </el-dropdown-menu>\r\n      </el-dropdown>\r\n      <!-- [Migrated from PC-MyMind.vue] 撤销/重做按钮 - 基于双栈模式 -->\r\n      <div class=\"withdraw\" v-if=\"command === '1' && courseIsuseradd != 3 && editOutline\">\r\n        <el-tooltip class=\"item\" effect=\"light\" placement=\"bottom\">\r\n          <div class=\"tip\" slot=\"content\">\r\n            撤销一步 <span class=\"shortcuts\">{{isMac ? 'cmd+z' : 'ctrl+z'}}</span>\r\n          </div>\r\n          <img\r\n            v-if=\"canUndo && !isEditingNode\"\r\n            src=\"@/assets/img/withdraw.svg\"\r\n            @click=\"handleUndo\"\r\n            :style=\"{ opacity: isEditingNode ? 0.5 : 1, cursor: isEditingNode ? 'not-allowed' : 'pointer' }\"\r\n          />\r\n          <img v-else src=\"@/assets/img/withdraw-disabled.svg\" />\r\n        </el-tooltip>\r\n        <el-tooltip class=\"item\" effect=\"light\" placement=\"bottom\">\r\n          <div class=\"tip\" slot=\"content\">\r\n            恢复撤销 <span class=\"shortcuts\">{{isMac ? 'cmd+shift+z' : 'ctrl+shift+z'}}</span>\r\n          </div>\r\n          <img\r\n            v-if=\"canRedo && !isEditingNode\"\r\n            class=\"restore\"\r\n            src=\"@/assets/img/withdraw1.svg\"\r\n            @click=\"handleRedo\"\r\n            :style=\"{ opacity: isEditingNode ? 0.5 : 1, cursor: isEditingNode ? 'not-allowed' : 'pointer' }\"\r\n          />\r\n          <img v-else class=\"restore\" src=\"@/assets/img/withdraw1-disabled.svg\" />\r\n        </el-tooltip>\r\n      </div>\r\n      <div class=\"right\" v-if=\"command === '1' && courseIsuseradd != 3\">\r\n        <el-dropdown\r\n          @command=\"handleOperateCommand\"\r\n          ref=\"elDropdownOperate\"\r\n          :trigger=\"'click'\"\r\n          v-show=\"!editOutline && data.mindmap_content && data.mindmap_content != '[]'\"\r\n        >\r\n          <el-button type=\"default\" class=\"bg-transparent\">\r\n            {{ commandOperateSpan }}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n          </el-button>\r\n          <el-dropdown-menu slot=\"dropdown\" class=\"exportDropdown\">\r\n            <el-dropdown-item command=\"1\">导出图片</el-dropdown-item>\r\n            <el-dropdown-item command=\"2\">导出PDF</el-dropdown-item>\r\n          </el-dropdown-menu>\r\n        </el-dropdown>\r\n        <!-- <div v-if=\"!editOutline\" class=\"btn bg-transparent\" @click=\"startEdit\">开始编辑</div> -->\r\n        <el-button v-if=\"!editOutline\" class=\"bg-transparent\" @click=\"startEdit\"\r\n          >编辑</el-button\r\n        >\r\n        <div v-if=\"editOutline\" class=\"btn-group\">\r\n          <!-- <div class=\"btn bg-transparent\" @click=\"withdraw\" :disabled=\"!($refs.MyMindOutline.removeNodes && $refs.MyMindOutline.removeNodes.length)\">撤销上一次删除</div>\r\n          <div class=\"btn bg-transparent\" v-throttle=\"[saveMindMap1]\">保存</div>\r\n          <div class=\"btn bg-transparent\" :disabled=\"data && !data.mindmap_content\" @click=\"delUserMindmapShow\">清空</div> -->\r\n          <!-- <el-button\r\n            :class=\"`bg-transparent`\"\r\n            @click=\"withdraw\"\r\n            :disabled=\"!($refs.MyMindOutline.removeNodes && $refs.MyMindOutline.removeNodes.length)\"\r\n          >撤销上一次删除</el-button> -->\r\n          <el-button\r\n            class=\"bg-transparent clear\"\r\n            :class=\"(data && !data.mindmap_content) || isEditingNode ? 'disabled' : ''\"\r\n            :disabled=\"(data && !data.mindmap_content) || isEditingNode\"\r\n            @click=\"delUserMindmapShow\"\r\n            >清空</el-button\r\n          >\r\n          <el-button\r\n            class=\"bg-transparent\"\r\n            :disabled=\"isEditingNode\"\r\n            v-throttle=\"[saveMindMap]\"\r\n            >保存</el-button\r\n          >\r\n          <el-button\r\n            class=\"bg-transparent exit\"\r\n            @click=\"exitEdit\"\r\n            >退出编辑</el-button\r\n          >\r\n        </div>\r\n      </div>\r\n      <div class=\"right\" v-else-if=\"command === '2' && courseIsuseradd != 3\">\r\n        <div class=\"btn-group\">\r\n          <div v-if=\"!isEdit && images.length > 0\"\r\n            class=\"btn bg-transparent\"\r\n            @click=\"editImages\">编辑</div>\r\n          <div v-if=\"isEdit\" class=\"btn bg-transparent\" @click=\"uploadImages\">上传</div>\r\n          <div v-if=\"isEdit\"\r\n            class=\"btn bg-transparent\"\r\n            @click=\"downloadImages\">下载</div>\r\n          <div v-if=\"isEdit\" class=\"btn bg-transparent\" @click=\"deleteImages\">删除</div>\r\n          <div class=\"btn bg-transparent\" v-if=\"isEdit\" @click=\"exitImageEdit\">保 存</div>\r\n          <!-- <el-button\r\n            v-if=\"!isEdit && images.length > 0\"\r\n            class=\"bg-transparent\"\r\n            @click=\"editImages\"\r\n            >编辑</el-button\r\n          >\r\n          <el-button v-if=\"isEdit\" class=\"bg-transparent\" @click=\"uploadImages\"\r\n            >上传</el-button\r\n          >\r\n          <el-button\r\n            v-if=\"isEdit\"\r\n            class=\"bg-transparent\"\r\n            @click=\"downloadImages\"\r\n            >下载</el-button\r\n          >\r\n          <el-button v-if=\"isEdit\" class=\"bg-transparent\" @click=\"deleteImages\"\r\n            >删除</el-button\r\n          >\r\n          <el-button class=\"bg-transparent\" v-if=\"isEdit\" @click=\"exitImageEdit\"\r\n            >退 出</el-button\r\n          > -->\r\n        </div>\r\n      </div>\r\n      <div class=\"right\" v-else-if=\"command === '3' && courseIsuseradd != 3\">\r\n        <div>\r\n          <el-button v-if=\"pdfUrl\" class=\"bg-transparent\" @click=\"downloadPdf\"\r\n            >下载</el-button\r\n          >\r\n          <el-button v-if=\"pdfUrl\" class=\"bg-transparent\" @click=\"deletePdfShow\"\r\n            >删除</el-button\r\n          >\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"content\"\r\n      id=\"content\"\r\n      :class=\"command === '1' ? 'content1' : ''\"\r\n    >\r\n      <div class=\"layer\" v-if=\"showLayer && command === '1'\"></div>\r\n      <MyMindOutline\r\n        ref=\"MyMindOutline\"\r\n        v-show=\"command === '1'\"\r\n        :dataPro=\"data\"\r\n        :editOutline=\"editOutline\"\r\n        :isSaveMindMap=\"isSaveMindMap\"\r\n        :command=\"command\"\r\n        :showCollect=\"showCollect\"\r\n        :myMindOutlineId=\"myMindOutlineId\"\r\n        :treeId=\"treeId\"\r\n        :course_id=\"course_id\"\r\n        :courseIsuseradd=\"courseIsuseradd\"\r\n        :isBindEventBus=\"true\"\r\n        @saveMindMap=\"saveMindMap\"\r\n        @scrollOutline=\"scrollOutline\"\r\n        @doNotSave=\"doNotSave\"\r\n        @exitEditCon=\"exitEditCon\"\r\n        @withdraw=\"withdraw\"\r\n        @undo=\"handleUndo\"\r\n        @redo=\"handleRedo\"\r\n      />\r\n      <MyMindImages\r\n        ref=\"myMindImages\"\r\n        v-show=\"command === '2'\"\r\n        :dataPro=\"data\"\r\n        :datas=\"images\"\r\n        :imagesName=\"imagesName\"\r\n        :isEdit=\"isEdit\"\r\n        :imageProgress=\"imageProgress\"\r\n        :course_id=\"course_id\"\r\n        :courseIsuseradd=\"courseIsuseradd\"\r\n        @selectedImages=\"selectedImages\"\r\n        @uploadImages=\"uploadImages\"\r\n        @addUserCollection=\"addUserCollectionImage\"\r\n      />\r\n      <MyMindPdf\r\n        ref=\"myMindPdf\"\r\n        :key=\"'myMindPdf'\"\r\n        v-show=\"command === '3'\"\r\n        :dataPro=\"data\"\r\n        :command=\"command\"\r\n        :pdfUrl=\"pdfUrl\"\r\n        :pdfXHRUrl=\"pdfXHRUrl\"\r\n        :mindmap_pdf_show=\"data.mindmap_pdf_show\"\r\n        :course_name=\"course_name\"\r\n        :mindPdfWidth=\"mindPdfWidth\"\r\n        :course_id=\"course_id\"\r\n        :courseIsuseradd=\"courseIsuseradd\"\r\n        :imageViewerCanvas=\"'imageViewerCanvas1'\"\r\n        @uploadPdf=\"uploadPdf\"\r\n      />\r\n    </div>\r\n    <el-dialog\r\n      class=\"del_dialog\"\r\n      :visible.sync=\"dialogVisibleDel\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      :show-close=\"type != 1\"\r\n      center\r\n      top=\"0vh\"\r\n    >\r\n      <div class=\"del_confirm\">{{ type != 1 ? '确定删除？' : '确认清空后，当前大纲内容将全部清除，无法还原，是否确定清空？' }}</div>\r\n      <span slot=\"footer\" class=\"dialog-footer\">\r\n        <el-button @click=\"cancel\">取 消</el-button>\r\n        <el-button class=\"bg-transparent clear\" @click=\"submitDel\">{{ type != 1 ?'确 定' : '确定清空'}}</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\n// [Migrated from PC-MyMind.vue] 引入 Undo/Redo 双栈相关工具\r\nimport MyMindOutline from \"./MyMindOutline.vue\";\r\nimport MyMindImages from \"@/views/white/MyMindImages.vue\";\r\nimport MyMindPdf from \"@/views/white/MyMindPdf.vue\";\r\nimport { uploaDOSS } from \"@/utils/oss\";\r\nimport {\r\n  getOssConfig,\r\n  getBase64ByFile,\r\n  getBase64ByUrl,\r\n  saveFile,\r\n  getFile,\r\n  base64ToFile,\r\n  compressImage,\r\n  // [Migrated from PC-MyMind.vue] Undo/Redo 双栈操作函数\r\n  popUndo,\r\n  popRedo,\r\n  getStackStatus,\r\n  getDeviceId,\r\n  clearAllStacks\r\n} from \"@/utils/indexDb\";\r\nimport {\r\n  editUserMindmap,\r\n  addUserMindmap,\r\n  delUserMindmap,\r\n  getMindmap,\r\n  getUserCourseProgress\r\n} from \"@/api/index\";\r\nimport { deepClone, generateRandomString, captureCanvas, exportTreeToPDF } from \"@/utils/util\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { Base64 } from \"js-base64\";\r\nimport { decrypt } from \"@/utils/auth\";\r\nimport { jsPDF } from \"jspdf\";\r\n\r\nexport default {\r\n  components: { MyMindOutline, MyMindImages, MyMindPdf },\r\n  props: {\r\n    dataPro: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    showCollectPro: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    courseIsuseradd: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      command: \"1\",\r\n      commandSpan: \"大纲模式\",\r\n      commandOperate: '1',\r\n      commandOperateSpan: '导出',\r\n      data: null,\r\n      images: [],\r\n      imagesName: [],\r\n      avatarUrl: \"\",\r\n      pdfUrl: \"\",\r\n      pdfXHRUrl:\"\",\r\n      pdfName: \"\",\r\n      params: {},\r\n      fileImageUrls: [],\r\n      selectedImagesIndex: [],\r\n      isEdit: false,\r\n      isDeletePdf: false,\r\n      isDeleteImage: false,\r\n      dialogVisibleDel: false,\r\n      type: 1,\r\n      newestData: null,\r\n      editOutline: false,\r\n      pdfProgress: 0,\r\n      imageProgress: 0,\r\n      isSaveMindMap: false,\r\n      showLayer: false,\r\n      inited: false,\r\n      showCollect: true,\r\n      // loading: false,\r\n      mindPdfWidth: 0,\r\n      myMindOutlineId: \"\",\r\n      preCourseId: \"\",\r\n      needChangeCommand: true,\r\n      changeCourseId: true,\r\n      imageCollect: \"\",\r\n      isSaveMindMapButton: false,\r\n      isDelUserMindmapShow: false,\r\n      isNotSave: false,\r\n      loadingMsg: '',\r\n      loadingType: '',\r\n      treeId: '',\r\n      course_name: '',\r\n\r\n      // ==================== 异步回调安全管理 ====================\r\n      // 使用令牌机制防止过时回调执行\r\n      pendingCallback: null,           // 待执行的回调函数\r\n      callbackRequestId: null,         // 当前回调的唯一请求ID\r\n      callbackTimestamp: null,         // 回调注册时间戳（用于超时检测）\r\n      callbackDataVersion: null,       // 注册时的数据版本（用于检测数据是否变化）\r\n      callbackType: null,              // 回调类型：'undo' | 'redo' | 'withdraw' | 'delete' | 'other'\r\n      _tempStatusCallback: null,       // 临时状态回调（用于 getStatus 后立即执行的回调，不经过 pendingCallback 机制）\r\n\r\n      // ==================== 防连点锁 ====================\r\n      isUndoProcessing: false,         // 撤销操作进行中/冷却中\r\n      isRedoProcessing: false,         // 重做操作进行中/冷却中\r\n      isUndoProcessingTimeout: null,\r\n      isRedoProcessingTimeout: null,\r\n      undoRedoDuration: 1000,\r\n    };\r\n  },\r\n  computed: {\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    // 当前导图修改最新时间戳\r\n    mindMapTimeStamp() {\r\n      return this.$store.getters.mindMapTimeStamp;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    ws() {\r\n      return this.$store.getters.ws;\r\n    },\r\n    online() {\r\n      return this.$store.getters.online;\r\n    },\r\n    status() {\r\n      return this.$store.getters.status;\r\n    },\r\n    loading() {\r\n      return this.$store.getters.loading;\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    isMac() {\r\n      return this.$store.getters.isMac;\r\n    },\r\n    user() {\r\n      if (typeof this.$store.getters.user === \"string\") {\r\n        return JSON.parse(this.$store.getters.user);\r\n      } else {\r\n        return this.$store.getters.user;\r\n      }\r\n    },\r\n    // [Migrated from PC-MyMind.vue] 历史版本状态\r\n    historyVersion() {\r\n      return this.$store.getters.historyVersion || {\r\n        canUndo: false,\r\n        canRedo: false,\r\n        undoCount: 0,\r\n        redoCount: 0,\r\n        isUndoRedoAction: false\r\n      };\r\n    },\r\n    // [Migrated from PC-MyMind.vue] 是否可撤销\r\n    canUndo() {\r\n      return this.$store.getters.canUndo;\r\n    },\r\n    // [Migrated from PC-MyMind.vue] 是否可重做\r\n    canRedo() {\r\n      return this.$store.getters.canRedo;\r\n    },\r\n    // 编辑态互斥锁：获取子组件的输入框焦点状态\r\n    isEditingNode() {\r\n      return this.$refs.MyMindOutline && this.$refs.MyMindOutline.isEditingNode;\r\n    },\r\n  },\r\n  watch: {\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"mindpdf init:\",this.dataPro, v == \"Mind\" && this.changeCourseId);\r\n        if(v == \"Mind\" && this.changeCourseId) {\r\n          this.init(this.dataPro);\r\n          this.initCommand(this.dataPro);\r\n        }\r\n        console.log(v == \"Mind\" && this.changeCourseId && this.dataPro && !this.dataPro.mindmap_content && this.dataPro.mindmap_pdf && this.command == 3)\r\n        if (v == \"Mind\" && this.changeCourseId && this.dataPro && !this.dataPro.mindmap_content && this.dataPro.mindmap_pdf && this.command == 3) {\r\n          console.log(\"this.changeCourseId = false\");\r\n          this.changeCourseId = false;\r\n          this.$refs.myMindPdf.init();\r\n        }\r\n\r\n        this.isEdit = false;\r\n      }\r\n    },\r\n    command: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"mindpdf init:1\", v == \"3\" && this.changeCourseId && this.data && this.data.mindmap_pdf && this.whiteCom == \"Mind\");\r\n        if (v == \"3\" && this.data && this.data.mindmap_pdf && this.whiteCom == \"Mind\") {\r\n          // this.changeCourseId = false;\r\n          this.$refs.myMindPdf.init();\r\n        }\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.needChangeCommand = true;\r\n          this.changeCourseId = true;\r\n          this.imageCollect = \"\";\r\n          this.isEdit = false;\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.needChangeCommand = true;\r\n          this.changeCourseId = true;\r\n          this.imageCollect = \"\";\r\n          this.isEdit = false;\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    dataPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if(v) {\r\n          this.init(v);\r\n        }\r\n        if (v && v.mindmap_id && !this.inited) {\r\n          this.inited = true;\r\n          this.initCommand(v);\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    showCollectPro: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        this.showCollect = v;\r\n      },\r\n      immediate: true\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n  },\r\n  methods: {\r\n    // ========================================================================\r\n    // 【异步回调安全管理 - 令牌失效机制】\r\n    // ========================================================================\r\n\r\n    generateRequestId() {\r\n      return `${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\r\n    },\r\n\r\n    getCurrentDataVersion() {\r\n      try {\r\n        const mindMap = this.$store.getters.mindMap;\r\n        if (!mindMap || !mindMap.mindmap_content) return null;\r\n        const content = mindMap.mindmap_content;\r\n        const str = typeof content === 'string' ? content : JSON.stringify(content);\r\n        return `${str.length}_${str.substring(0, 100)}`;\r\n      } catch (e) {\r\n        return null;\r\n      }\r\n    },\r\n\r\n    registerPendingAction(callback, type = 'other') {\r\n      if (this.pendingCallback) {\r\n        console.log(`[PendingAction] 清除旧回调: type=${this.callbackType}, requestId=${this.callbackRequestId}`);\r\n      }\r\n      const requestId = this.generateRequestId();\r\n      const timestamp = Date.now();\r\n      const dataVersion = this.getCurrentDataVersion();\r\n      this.pendingCallback = callback;\r\n      this.callbackRequestId = requestId;\r\n      this.callbackTimestamp = timestamp;\r\n      this.callbackDataVersion = dataVersion;\r\n      this.callbackType = type;\r\n      console.log(`[PendingAction] 注册新回调: type=${type}, requestId=${requestId}`);\r\n      return requestId;\r\n    },\r\n\r\n    clearPendingAction(reason = 'unknown') {\r\n      if (this.pendingCallback) {\r\n        console.log(`[PendingAction] 清除回调: reason=${reason}, type=${this.callbackType}`);\r\n      }\r\n      this.pendingCallback = null;\r\n      this.callbackRequestId = null;\r\n      this.callbackTimestamp = null;\r\n      this.callbackDataVersion = null;\r\n      this.callbackType = null;\r\n    },\r\n\r\n    isCallbackValid(requestId) {\r\n      if (this.callbackRequestId !== requestId) {\r\n        console.log(`[PendingAction] 请求ID不匹配`);\r\n        return false;\r\n      }\r\n      if (!this.pendingCallback) {\r\n        console.log(`[PendingAction] 回调不存在`);\r\n        return false;\r\n      }\r\n      const CALLBACK_TIMEOUT = 30000;\r\n      const elapsed = Date.now() - this.callbackTimestamp;\r\n      if (elapsed > CALLBACK_TIMEOUT) {\r\n        console.log(`[PendingAction] 回调已超时: elapsed=${elapsed}ms`);\r\n        return false;\r\n      }\r\n      const currentVersion = this.getCurrentDataVersion();\r\n      if (this.callbackDataVersion && currentVersion && this.callbackDataVersion !== currentVersion) {\r\n        console.log(`[PendingAction] 数据版本已变化`);\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n\r\n    executeIfValid(requestId) {\r\n      if (!this.isCallbackValid(requestId)) {\r\n        const elapsed = Date.now() - this.callbackTimestamp;\r\n        if (elapsed > 30000) {\r\n          this.$message.info('操作已过期，请手动重试');\r\n        }\r\n        this.clearPendingAction('validation_failed');\r\n        return false;\r\n      }\r\n      if (this.status == 1 && this.$refs.MyMindOutline && !this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        console.log(`[PendingAction] 其他端正在编辑，取消执行`);\r\n        this.$message.warning('其他端正在编辑中，请稍后再试');\r\n        this.clearPendingAction('other_editing');\r\n        return false;\r\n      }\r\n      console.log(`[PendingAction] 执行回调: type=${this.callbackType}`);\r\n      try {\r\n        this.pendingCallback();\r\n      } catch (error) {\r\n        console.error(`[PendingAction] 回调执行失败:`, error);\r\n      }\r\n      this.clearPendingAction('executed');\r\n      return true;\r\n    },\r\n\r\n    // [Migrated from PC-MyMind.vue] 退出编辑确认 - 清空历史栈\r\n    exitEditCon() {\r\n      this.isNotSave = true;\r\n      this.editOutline = false;\r\n      // 清除 IndexedDB 历史快照\r\n      clearAllStacks(this.course_id).then(() => {\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n        console.log(`[History] 已清除课程 ${this.course_id} 的历史栈`);\r\n      }).catch(error => {\r\n        console.error('[History] 清除历史栈失败:', error);\r\n      });\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'notsaved',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        // mindmap_content:  mindmap_content1 ? Base64.encode(JSON.stringify(mindmap_content1)) : \"\",\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n\r\n      // 【修复】断开 WebSocket 连接，避免资源泄漏\r\n      this.$store.dispatch(\"clearWebSocket\");\r\n    },\r\n    // ========================================================================\r\n    // [Migrated from PC-MyMind.vue] 撤销/重做方法 - 带编辑权判断\r\n    // ========================================================================\r\n    // 执行流程：\r\n    // 1. 检查 isMyselfEditing（当前终端是否有活跃编辑权）\r\n    // 2. 是自己正在编辑 -> 设置 callbackFn，等待 updatesuccess 后执行\r\n    // 3. 不是自己编辑 -> 调用 getStatus 检查全局状态\r\n    //    - status == 1 -> 提示\"其他端正在编辑\"\r\n    //    - status != 1 -> 执行撤销/重做逻辑\r\n    // ========================================================================\r\n\r\n    // 执行撤销操作的回调函数\r\n    async executeUndoCallback() {\r\n      if (!this.canUndo) {\r\n        console.log('[Undo] 没有可撤销的操作');\r\n        return;\r\n      }\r\n\r\n      console.log('[Undo] 开始撤销操作, course_id:', this.course_id);\r\n\r\n      // 设置编辑状态，确保后续操作不会误判\r\n      if (this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.$data.isMyselfEditing = true;\r\n      }\r\n\r\n      try {\r\n        // 设置标记，防止重复保存快照\r\n        this.$store.dispatch('setUndoRedoAction', true);\r\n\r\n        // 获取当前快照（用于推入 Redo 栈）- 使用纯数组格式，与编辑节点时一致\r\n        const currentMindMap = this.$store.getters.mindMap;\r\n        let currentSnapshot = [];\r\n        if (currentMindMap && currentMindMap.mindmap_content) {\r\n          // 提取 mindmap_content 中的数组数据\r\n          currentSnapshot = typeof currentMindMap.mindmap_content === 'string'\r\n            ? JSON.parse(currentMindMap.mindmap_content)\r\n            : currentMindMap.mindmap_content;\r\n        }\r\n        console.log('[Undo] 当前快照(纯数组格式):', currentSnapshot);\r\n\r\n        // 从 Undo 栈弹出快照，同时将当前快照推入 Redo 栈\r\n        const mindMapData = await popUndo(this.course_id, currentSnapshot);\r\n        console.log('[Undo] popUndo 返回数据:', mindMapData);\r\n\r\n        if (!mindMapData) {\r\n          console.error('[Undo] 未找到快照');\r\n          this.$store.dispatch('setUndoRedoAction', false);\r\n          return;\r\n        }\r\n\r\n        // 更新 Vuex mindMap - 需要包装为完整格式\r\n        this.$store.dispatch('setMindMap', {\r\n          data: {\r\n            mindmap_content: JSON.stringify(mindMapData),\r\n            is_collect_studythink: currentMindMap ? currentMindMap.is_collect_studythink : undefined\r\n          },\r\n          isEdited: true,\r\n          timeStamp: Date.now(),\r\n          mindMapTimeStamp: Date.now(),\r\n          isOnlyReady: false\r\n        });\r\n\r\n        console.log('[Undo] Vuex 已更新, 准备更新视图');\r\n\r\n        // 更新 MyMindOutline 组件的本地数据\r\n        if (this.$refs.MyMindOutline) {\r\n          console.log('[Undo] 调用 updateOutlineData');\r\n          this.$refs.MyMindOutline.updateOutlineData(mindMapData);\r\n        } else {\r\n          console.warn('[Undo] MyMindOutline ref 不存在');\r\n        }\r\n\r\n        // 更新栈状态\r\n        const stackStatus = await getStackStatus(this.course_id);\r\n        this.$store.dispatch('setHistoryVersion', {\r\n          canUndo: stackStatus.canUndo,\r\n          canRedo: stackStatus.canRedo,\r\n          undoCount: stackStatus.undoCount,\r\n          redoCount: stackStatus.redoCount\r\n        });\r\n\r\n        // 触发 WebSocket 同步\r\n        this.syncMindmapContent(mindMapData, 'undo_sync');\r\n\r\n        // 撤销操作完成后释放锁，允许其他端操作\r\n        console.log('[Undo] 撤销完成，设置 status=2 释放锁');\r\n        this.setStatus(2);\r\n\r\n        console.log(`[Undo] 已撤销，剩余 ${stackStatus.undoCount} 步可撤销`);\r\n\r\n        // 重置标记\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      } catch (error) {\r\n        console.error('[Undo] 撤销失败:', error);\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      }\r\n    },\r\n\r\n    // 撤销方法入口 - 带锁检查\r\n    handleUndo() {\r\n      // 【防连点】检查锁状态\r\n      if (this.isUndoProcessing) {\r\n        console.log('[Undo] 操作进行中，忽略重复点击');\r\n        this.$message.warning('操作太快，请1秒后再尝试');\r\n        return;\r\n      }\r\n\r\n      if (!this.canUndo) {\r\n        console.log('[Undo] 没有可撤销的操作');\r\n        return;\r\n      }\r\n\r\n      // 【防连点】加锁\r\n      this.isUndoProcessing = true;\r\n\r\n      // 参考编辑节点的锁检查模式\r\n      this.getStatus(() => {\r\n        console.log('[Undo] 锁检查通过，执行撤销');\r\n        this.executeUndoCallback();\r\n      });\r\n\r\n      // 【防连点】250ms 后解锁（时间冷却）\r\n      this.isUndoProcessingTimeout = setTimeout(() => {\r\n        this.isUndoProcessing = false;\r\n        clearTimeout(this.isUndoProcessingTimeout);\r\n      }, this.undoRedoDuration);\r\n    },\r\n\r\n    // 执行重做操作的回调函数\r\n    async executeRedoCallback() {\r\n      if (!this.canRedo) {\r\n        console.log('[Redo] 没有可重做的操作');\r\n        return;\r\n      }\r\n\r\n      console.log('[Redo] 开始重做操作, course_id:', this.course_id);\r\n\r\n      // 设置编辑状态，确保后续操作不会误判\r\n      if (this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.$data.isMyselfEditing = true;\r\n      }\r\n\r\n      try {\r\n        // 设置标记，防止重复保存快照\r\n        this.$store.dispatch('setUndoRedoAction', true);\r\n\r\n        // 获取当前快照（用于推入 Undo 栈）- 使用纯数组格式，与编辑节点时一致\r\n        const currentMindMap = this.$store.getters.mindMap;\r\n        let currentSnapshot = [];\r\n        if (currentMindMap && currentMindMap.mindmap_content) {\r\n          // 提取 mindmap_content 中的数组数据\r\n          currentSnapshot = typeof currentMindMap.mindmap_content === 'string'\r\n            ? JSON.parse(currentMindMap.mindmap_content)\r\n            : currentMindMap.mindmap_content;\r\n        }\r\n        console.log('[Redo] 当前快照(纯数组格式):', currentSnapshot);\r\n\r\n        // 从 Redo 栈弹出快照，同时将当前快照推入 Undo 栈\r\n        const mindMapData = await popRedo(this.course_id, currentSnapshot);\r\n        console.log('[Redo] popRedo 返回数据:', mindMapData);\r\n\r\n        if (!mindMapData) {\r\n          console.error('[Redo] 未找到快照');\r\n          this.$store.dispatch('setUndoRedoAction', false);\r\n          return;\r\n        }\r\n\r\n        // 更新 Vuex mindMap - 需要包装为完整格式\r\n        this.$store.dispatch('setMindMap', {\r\n          data: {\r\n            mindmap_content: JSON.stringify(mindMapData),\r\n            is_collect_studythink: currentMindMap ? currentMindMap.is_collect_studythink : undefined\r\n          },\r\n          isEdited: true,\r\n          timeStamp: Date.now(),\r\n          mindMapTimeStamp: Date.now(),\r\n          isOnlyReady: false\r\n        });\r\n\r\n        // 更新 MyMindOutline 组件的本地数据\r\n        if (this.$refs.MyMindOutline) {\r\n          console.log('[Redo] 调用 updateOutlineData');\r\n          this.$refs.MyMindOutline.updateOutlineData(mindMapData);\r\n        }\r\n\r\n        // 更新栈状态\r\n        const stackStatus = await getStackStatus(this.course_id);\r\n        this.$store.dispatch('setHistoryVersion', {\r\n          canUndo: stackStatus.canUndo,\r\n          canRedo: stackStatus.canRedo,\r\n          undoCount: stackStatus.undoCount,\r\n          redoCount: stackStatus.redoCount\r\n        });\r\n\r\n        // 触发 WebSocket 同步\r\n        this.syncMindmapContent(mindMapData, 'redo_sync');\r\n\r\n        // 重做操作完成后释放锁，允许其他端操作\r\n        console.log('[Redo] 重做完成，设置 status=2 释放锁');\r\n        this.setStatus(2);\r\n\r\n        console.log(`[Redo] 已重做，剩余 ${stackStatus.redoCount} 步可重做`);\r\n\r\n        // 重置标记\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      } catch (error) {\r\n        console.error('[Redo] 重做失败:', error);\r\n        this.$store.dispatch('setUndoRedoAction', false);\r\n      }\r\n    },\r\n\r\n    // 重做方法入口 - 带锁检查\r\n    handleRedo() {\r\n      // 【防连点】检查锁状态\r\n      if (this.isRedoProcessing) {\r\n        console.log('[Redo] 操作进行中，忽略重复点击');\r\n        this.$message.warning('操作太快，请1秒后再尝试');\r\n        return;\r\n      }\r\n\r\n      if (!this.canRedo) {\r\n        console.log('[Redo] 没有可重做的操作');\r\n        return;\r\n      }\r\n\r\n      // 【防连点】加锁\r\n      this.isRedoProcessing = true;\r\n\r\n      // 参考编辑节点的锁检查模式\r\n      this.getStatus(() => {\r\n        console.log('[Redo] 锁检查通过，执行重做');\r\n        this.executeRedoCallback();\r\n      });\r\n\r\n      // 【防连点】250ms 后解锁（时间冷却）\r\n      this.isRedoProcessingTimeout = setTimeout(() => {\r\n        this.isRedoProcessing = false;\r\n        clearTimeout(this.isRedoProcessingTimeout);\r\n      }, this.undoRedoDuration);\r\n    },\r\n\r\n    // [Migrated from PC-MyMind.vue] 同步导图内容到其他端\r\n    syncMindmapContent(mindMapData, type) {\r\n      if (!this.ws) {\r\n        return;\r\n      }\r\n\r\n      // 清洗数据：只保留 node、name、lock 字段\r\n      let mindmapContent = this.cleanMindmapData(mindMapData);\r\n      if (typeof mindmapContent === 'object') {\r\n        mindmapContent = JSON.stringify(mindmapContent);\r\n      }\r\n\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: type,\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        mindmap_content: Base64.encode(mindmapContent),\r\n        device_type: 3\r\n      };\r\n\r\n      this.$store.dispatch('sendWebSocketMessage', JSON.stringify(messageData));\r\n    },\r\n\r\n    // 清洗思维导图数据，只保留 node、name、lock 字段\r\n    cleanMindmapData(data) {\r\n      if (!data) return [];\r\n\r\n      // 如果是字符串，先解析\r\n      let arr = data;\r\n      if (typeof data === 'string') {\r\n        try {\r\n          arr = data === '' ? [] : JSON.parse(data);\r\n        } catch (e) {\r\n          console.error('[cleanMindmapData] 解析失败:', e);\r\n          return [];\r\n        }\r\n      }\r\n\r\n      if (!Array.isArray(arr)) return [];\r\n\r\n      const cleanNode = (node) => {\r\n        if (!node || typeof node !== 'object') return null;\r\n\r\n        const cleaned = {};\r\n\r\n        // 只保留需要的字段\r\n        if (node.name !== undefined) cleaned.name = node.name;\r\n        if (node.lock !== undefined) cleaned.lock = node.lock;\r\n\r\n        // 处理子节点（children 或 node）\r\n        const children = node.children || node.node || [];\r\n        if (children.length > 0) {\r\n          cleaned.node = children.map(child => cleanNode(child)).filter(Boolean);\r\n        }\r\n\r\n        return cleaned;\r\n      };\r\n\r\n      return arr.map(item => cleanNode(item)).filter(Boolean);\r\n    },\r\n    // 弹窗点击不保存\r\n    async doNotSave(argu) {\r\n      // const isLocalStorageSave = argu.isLocalStorageSave;\r\n      const type = argu.type;\r\n      this.editOutline = false;\r\n      this.isNotSave = true;\r\n\r\n      // [Migrated from PC-MyMind.vue] 清空 Undo/Redo 栈\r\n      // 原因：点击\"不保存\"意味着放弃修改，应视为会话结束\r\n      try {\r\n        const clearedCount = await clearAllStacks(this.course_id);\r\n        console.log(`[不保存] 历史栈已清空: courseId=${this.course_id}, 删除${clearedCount}条记录`);\r\n\r\n        // 重置 Vuex 历史版本状态\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n      } catch (error) {\r\n        console.error('[不保存] 清空历史栈失败:', error);\r\n      }\r\n\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'notsaved',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        // mindmap_content: mindmap_content1 ? Base64.encode(JSON.stringify(mindmap_content1)) : \"\",\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n\r\n      // 【核心修复】重新初始化数据，确保空内容时显示默认模板\r\n      // 问题：当 mindmap_content 为空时，\"不保存\"后页面变白\r\n      // 原因：doNotSave 没有调用 init() 来恢复默认模板内容\r\n      // 解决：调用 init() 利用已有的\"空值兜底 course_default_studythink\"逻辑\r\n      if (this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.init();\r\n      }\r\n\r\n      // 【修复】断开 WebSocket 连接，避免资源泄漏\r\n      this.$store.dispatch(\"clearWebSocket\");\r\n\r\n      this.$refs.MyMindOutline.submitConCallback(false, type);\r\n    },\r\n    addUserCollectionImage(is_collect) {\r\n      this.imageCollect = is_collect;\r\n    },\r\n    resetTimeout() {\r\n      this.$refs.MyMindOutline.resetTimeout();\r\n    },\r\n    initCommand(data) {\r\n      console.log(\"initCommand:\", data, this.needChangeCommand);\r\n      if(this.needChangeCommand) {\r\n        if(data && data.mindmap_id) {\r\n          this.needChangeCommand = false;\r\n          if (data.mindmap_content) {\r\n            this.command = \"1\";\r\n            this.commandSpan = \"大纲模式\";\r\n          } else if (data.mindmap_pdf) {\r\n            this.command = \"3\";\r\n            this.commandSpan = \"PDF格式\";\r\n          } else if (data.mindmap_image) {\r\n            this.command = \"2\";\r\n            this.commandSpan = \"图片格式\";\r\n          } else {\r\n            this.command = \"1\";\r\n            this.commandSpan = \"大纲模式\";\r\n          }\r\n        } else {\r\n          this.command = \"1\";\r\n          this.commandSpan = \"大纲模式\";\r\n        }\r\n      }\r\n\r\n    },\r\n    async init(data) {\r\n      try {\r\n        this.data = data;\r\n        this.images = [];\r\n        this.imagesName = [];\r\n        this.avatarUrl = \"\";\r\n        this.params = {};\r\n        this.fileImageUrls = [];\r\n        this.selectedImagesIndex = [];\r\n        if (this.$refs.myMindImages) {\r\n          this.$refs.myMindImages.deleteFinish();\r\n        }\r\n        this.isSaveMindMap = false;\r\n        if (this.data) {\r\n          let config = getOssConfig();\r\n          this.imageCollect = this.data.is_collect_studythinkimg;\r\n          if (this.data.mindmap_image) {\r\n            this.images = [];\r\n            const mindmap_image = this.data.mindmap_image.split(\",\");\r\n            const imageName = [];\r\n            mindmap_image.forEach(item => {\r\n              const mindmap_imageNames = item.split(\"/\");\r\n              const mindmap_imageName = mindmap_imageNames[\r\n                mindmap_imageNames.length - 1\r\n              ].split(\".\")[0];\r\n              imageName.push(mindmap_imageNames[mindmap_imageNames.length - 1]);\r\n              this.imagesName.push(mindmap_imageName);\r\n            });\r\n            const imageUrls = this.data.mindmap_image_show.split(\",\");\r\n            imageUrls.forEach(async (item, index) => {\r\n              // 从indexDb拿数据\r\n              const url = config.uploadHost + \"/\" + mindmap_image[index];\r\n              const image = await getFile(url);\r\n              console.log(\"image:\", image);\r\n              if (image) {\r\n                this.images.push(image.fileData);\r\n              } else {\r\n                // 存入indexDb\r\n                const imageBase64 = await getBase64ByUrl(item);\r\n                this.images.push(imageBase64);\r\n                // 保存到indexDb\r\n                await saveFile(url, imageName[index], imageBase64);\r\n              }\r\n            });\r\n            console.log(\"this.images:\", this.images);\r\n\r\n            // this.images = this.data.mindmap_image_show.split(\",\");\r\n\r\n            this.fileImageUrls = this.data.mindmap_image.split(\",\");\r\n          } else {\r\n            this.images = [];\r\n            this.imagesName = [];\r\n            this.fileImageUrls = [];\r\n          }\r\n\r\n          console.log(\"this.data.mindmap_pdf:\", this.data.mindmap_pdf);\r\n          if (this.data.mindmap_pdf) {\r\n            let mindmap_pdf = this.data.mindmap_pdf;\r\n            if (mindmap_pdf) {\r\n              let pdf = mindmap_pdf.split(\"/\");\r\n              this.pdfName = pdf[pdf.length - 1];\r\n            }\r\n            // 从indexDb拿数据\r\n            const url = config.uploadHost + \"/\" + mindmap_pdf;\r\n            this.pdfXHRUrl = this.data.mindmap_pdf_show\r\n            // const pdfBase64 = await getBase64ByFile(file);\r\n            const pdf = await getFile(url);\r\n            console.log(\"pdffff:\", pdf);\r\n            if (pdf) {\r\n              this.pdfUrl = pdf.fileData;\r\n            } else {\r\n              // this.pdfUrl = this.data.mindmap_pdf_show;\r\n              // 存入indexDb\r\n              this.pdfUrl = await getBase64ByUrl(this.data.mindmap_pdf_show);\r\n              // 保存到indexDb\r\n              await saveFile(url, this.pdfName, this.pdfUrl);\r\n            }\r\n          } else {\r\n            this.pdfName = \"\";\r\n            this.pdfUrl = \"\";\r\n          }\r\n        } else {\r\n          this.images = [];\r\n          this.imagesName = [];\r\n          this.fileImageUrls = [];\r\n          this.pdfUrl = this.data.mindmap_pdf_show;\r\n          this.pdfName = \"\";\r\n          let mindmap_pdf = this.data.mindmap_pdf;\r\n          if (mindmap_pdf) {\r\n            let pdf = mindmap_pdf.split(\"/\");\r\n            this.pdfName = pdf[pdf.length - 1];\r\n          }\r\n        }\r\n        if(this.$refs.MyMindOutline) {\r\n          this.$refs.MyMindOutline.init();\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    async startEdit() {\r\n      // 连接长链接, 进入编辑状态, 返回当前连接数，当连接数大于1时需要禁用2分钟自动提交逻辑\r\n      if(!this.ws) {\r\n        this.$store.dispatch('startWebSocket');\r\n      }\r\n      // this.loading = true;\r\n      this.loadingMsg = \"同步草稿中，请稍候...\";\r\n      this.loadingType = 'info'\r\n      this.editOutline = true;\r\n      this.showLayer = false;\r\n      this.$refs.MyMindOutline.$data.removeNodes = [];\r\n      const courseProgress = await getUserCourseProgress({\r\n        course_id: this.course_id,\r\n      });\r\n      if (courseProgress && courseProgress.code === 0) {\r\n        this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n      }\r\n    },\r\n    withdraw() {\r\n      if (!(this.$refs.MyMindOutline.$data.removeNodes && this.$refs.MyMindOutline.$data.removeNodes.length)) {\r\n        return;\r\n      }\r\n      this.isDelUserMindmapShow = true;\r\n      if(this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        // 使用安全回调机制\r\n        const requestId = this.registerPendingAction(() => {\r\n          if(this.status == 1) {\r\n            this.$message.warning(\"其他端正在编辑中,当前用户不能编辑\");\r\n            return;\r\n          }\r\n          this.$refs.MyMindOutline.withdraw();\r\n        }, 'withdraw');\r\n        console.log(`[withdraw] 已注册回调: requestId=${requestId}`);\r\n      } else {\r\n        console.log(\"withdraw: 当前终端无编辑权，检查全局状态\")\r\n        this._tempStatusCallback = () => {\r\n          this.$refs.MyMindOutline.withdraw();\r\n        };\r\n        const messageData = {\r\n          course_id: this.course_id,\r\n          type: 'getstatus',\r\n          user_id: this.user.user_id,\r\n          course_isuseradd: this.courseIsuseradd,\r\n          device_type: 3\r\n        };\r\n        this.$store.dispatch('sendWebSocketMessage', JSON.stringify(messageData));\r\n      }\r\n    },\r\n    handleCommand(command) {\r\n      if (command === \"1\") {\r\n        this.commandSpan = \"大纲模式\";\r\n      } else if (command === \"2\") {\r\n        this.commandSpan = \"图片格式\";\r\n        // 如果之前的是大纲模式，则切换模式的时候弹出是否保存提示框\r\n        if (this.command === \"1\") {\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n        }\r\n      } else {\r\n        this.commandSpan = \"PDF格式\";\r\n        // 如果之前的是大纲模式，则切换模式的时候弹出是否保存提示框\r\n        if (this.command === \"1\") {\r\n          EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n        }\r\n      }\r\n      this.command = command;\r\n    },\r\n    handleOperateCommand(command) {\r\n      if (command === \"1\") {\r\n        // this.commandOperateSpan = \"导出图片\";\r\n        this.saveToImage();\r\n      } else if (command === \"2\") {\r\n        // this.commandOperateSpan = \"导出PDF\";\r\n        this.saveToPDF();\r\n      }\r\n      this.commandOperate = command;\r\n    },\r\n    // 保存图片功能\r\n    saveToImage() {\r\n      try {\r\n        const myMindMap = document.getElementById(this.myMindOutlineId);\r\n        const myMindMap1 = document.getElementById(this.treeId);\r\n        const content = document.getElementById('content');\r\n        if(myMindMap) {\r\n          myMindMap.style.height = myMindMap1.scrollHeight + \"px\";\r\n          const myMindMapClone = myMindMap.cloneNode(true);\r\n          myMindMapClone.style.width = myMindMap1.width + 'px'\r\n          myMindMapClone.style.zIndex = -1\r\n          const tree = myMindMapClone.querySelector(\".el-tree\");\r\n          tree.style.backgroundColor = '#fff'\r\n          const courseName = myMindMapClone.querySelector(\"#course_name\");\r\n          courseName.style.display = 'block'\r\n          content.appendChild(myMindMapClone)\r\n          captureCanvas(myMindMapClone, this.courseBase.course_name, '#fff', () => {\r\n            myMindMap.style.height = '100%'\r\n            content.removeChild(myMindMapClone)\r\n          });\r\n        }\r\n      } catch (error) {\r\n        console.log('saveToImage:', error)\r\n      }\r\n    },\r\n    saveToPDF() {\r\n      console.log(\"saveToPDF:\", this.data)\r\n      const mindmap_content = this.data.mindmap_content;\r\n      if(mindmap_content) {\r\n        const mindmap_content_parse = JSON.parse(mindmap_content);\r\n        console.log(mindmap_content_parse)\r\n        const nodes = this.buildFlatNodes(mindmap_content_parse);\r\n        // console.log(\"nodes:\", nodes)\r\n        // const tree = document.getElementById(this.treeId)\r\n        // tree.style.display = 'none';\r\n        this.exportMindmapToPDF(nodes);\r\n      }\r\n    },\r\n    buildFlatNodes(tree, level = 0, parentPath = []) {\r\n      let result = [];\r\n      for (let i = 0; i < tree.length; i++) {\r\n        const node = tree[i];\r\n        const isLeaf = !node.node || node.node.length === 0;\r\n        const isLast = i === tree.length - 1;\r\n        const currentPath = [...parentPath, i]; // 用索引路径标识唯一父路径\r\n\r\n        result.push({\r\n          label: node.name,\r\n          level,\r\n          isLeaf,\r\n          isLast,\r\n          parentPath: [...parentPath], // 父路径（用于分组兄弟）\r\n          fullPath: currentPath\r\n        });\r\n\r\n        if (!isLeaf) {\r\n          result = result.concat(this.buildFlatNodes(node.node, level + 1, currentPath));\r\n        }\r\n      }\r\n      const siblingGroups = new Map(); // key: stringified parentPath → sorted array of nodes\r\n\r\n      // 收集所有节点（从原始 nodes 数组，不是 pages）\r\n      result.forEach(node => {\r\n        const key = JSON.stringify(node.parentPath);\r\n        if (!siblingGroups.has(key)) {\r\n          siblingGroups.set(key, []);\r\n        }\r\n        siblingGroups.get(key).push(node);\r\n      });\r\n\r\n      // 对每组兄弟排序，并设置 prevSibling / nextSibling\r\n      for (const group of siblingGroups.values()) {\r\n        if (group.length <= 1) continue;\r\n\r\n        group.sort((a, b) => {\r\n          const aStr = a.fullPath.join(',');\r\n          const bStr = b.fullPath.join(',');\r\n          return aStr < bStr ? -1 : aStr > bStr ? 1 : 0;\r\n        });\r\n\r\n        for (let i = 0; i < group.length; i++) {\r\n          const node = group[i];\r\n          const prevSibling = i > 0 ? group[i - 1] : null;\r\n          const nextSibling = i < group.length - 1 ? group[i + 1] : null;\r\n          node.prevSibling = prevSibling;\r\n          node.nextSibling = nextSibling;\r\n          node.hasPrevSibling = prevSibling !== null;\r\n          node.hasNextSibling = nextSibling !== null;\r\n        }\r\n      }\r\n      return result;\r\n    },\r\n\r\n    // 主导出函数\r\n    exportMindmapToPDF(nodes) {\r\n      try {\r\n        // const mindmap = document.getElementById(this.myMindOutlineId);\r\n        // mindmap.style.overflow = 'auto';\r\n        const pdf = new jsPDF('p', 'mm', 'a4');\r\n\r\n        // ========== 配置 ==========\r\n        const pageWidthMm = 210;\r\n        const pageHeightMm = 297;\r\n        const marginMm = 12;\r\n        const usableWidthMm = pageWidthMm - 2 * marginMm;\r\n        const usableHeightMm = pageHeightMm - 2 * marginMm;\r\n\r\n        // ========== 课程标题配置 ==========\r\n        const courseName = this.course_name; // ← 替换为你的实际课程名\r\n        const titleHeightMm = 22; // 标题区域高度（毫米）\r\n        const titleFontSizeMm = 10;\r\n\r\n        const dpi = 420;\r\n        const mmToPx = dpi / 25.4;\r\n\r\n        const lineHeightMm = 8;\r\n        const indentMm = 6;\r\n        const baseFontSizeMm = 5;\r\n        const baseIconSizeMm = 2;\r\n\r\n        const lineHeightPx = Math.round(lineHeightMm * mmToPx);\r\n        const indentPx = Math.round(indentMm * mmToPx);\r\n        const fontSizePx = Math.round(baseFontSizeMm * mmToPx);\r\n        const iconSizePx = Math.round(baseIconSizeMm * mmToPx);\r\n\r\n        const usableWidthPx = Math.round(usableWidthMm * mmToPx);\r\n        const usableHeightPx = Math.round(usableHeightMm * mmToPx);\r\n        const maxLinesPerPage = Math.floor(usableHeightMm / lineHeightMm); // 逻辑行数上限\r\n        // ========== 第一页增加标题高度 ==========\r\n        let titleHeightPx = courseName ? Math.round(titleHeightMm * mmToPx) : 0;\r\n        const firstMaxLinesPerPage = Math.floor((usableHeightMm - titleHeightMm) / lineHeightMm)\r\n        console.log(\"firstMaxLinesPerPage:\", firstMaxLinesPerPage)\r\n\r\n        // ========== 步骤1：预处理每个节点的换行文本 ==========\r\n        function wrapText(ctx, text, maxWidth) {\r\n          if (!text.trim()) return [''];\r\n\r\n          const words = text.split(' ');\r\n          const lines = [];\r\n          let currentLine = '';\r\n\r\n          for (let i = 0; i < words.length; i++) {\r\n            const word = words[i];\r\n            if (!word) continue;\r\n\r\n            const testLine = currentLine ? `${currentLine} ${word}` : word;\r\n            const metrics = ctx.measureText(testLine);\r\n\r\n            if (metrics.width <= maxWidth) {\r\n              currentLine = testLine;\r\n            } else {\r\n              if (currentLine) {\r\n                lines.push(currentLine);\r\n                currentLine = '';\r\n              }\r\n\r\n              // 按字符拆分长单词\r\n              let charLine = '';\r\n              for (let j = 0; j < word.length; j++) {\r\n                const char = word[j];\r\n                const testChar = charLine + char;\r\n                const charMetrics = ctx.measureText(testChar);\r\n\r\n                if (charMetrics.width <= maxWidth) {\r\n                  charLine = testChar;\r\n                } else {\r\n                  if (charLine) lines.push(charLine);\r\n                  charLine = char; // 强制放入（即使超宽）\r\n                }\r\n              }\r\n              if (charLine) currentLine = charLine;\r\n            }\r\n          }\r\n\r\n          if (currentLine) lines.push(currentLine);\r\n          return lines;\r\n        }\r\n\r\n        // 创建临时 canvas 用于测量文本\r\n        const tempCanvas = document.createElement('canvas');\r\n        const tempCtx = tempCanvas.getContext('2d');\r\n\r\n        // 计算动态最大文本宽度\r\n        const maxLevel = nodes.length > 0 ? Math.max(...nodes.map(n => n.level)) : 0;\r\n        const maxPossibleIndent = maxLevel * indentPx;\r\n        const iconAndSpacing = iconSizePx + 10; // 图标+间距\r\n        const safetyMargin = 15;\r\n        // 计算文本可用宽度\r\n        const maxTextWidthPx = Math.max(\r\n          usableWidthPx - maxPossibleIndent - iconAndSpacing - safetyMargin,\r\n          60 // 最小 60px\r\n        );\r\n\r\n        // 扁平化并计算每节点所需行数\r\n        const nodeRenderInfo = [];\r\n        let totalRenderLines = 0;\r\n        nodes.forEach(node => {\r\n          const currentFontSize = Math.max(fontSizePx - node.level * 5, 10);\r\n          tempCtx.font = `${currentFontSize}px \"Microsoft YaHei\", \"PingFang SC\", sans-serif`;\r\n          const lines = wrapText(tempCtx, node.label || '', maxTextWidthPx);\r\n          nodeRenderInfo.push({\r\n            ...node,\r\n            renderLines: lines,\r\n            lineCount: lines.length,\r\n            startLineIndex: totalRenderLines // 该节点在全局渲染行中的起始行\r\n          });\r\n          totalRenderLines += lines.length;\r\n        });\r\n\r\n        // ========== 新增：计算每个节点的子树最后一行（全局）==========\r\n        const globalNodeMap = new Map();\r\n        nodeRenderInfo.forEach(info => {\r\n          globalNodeMap.set(info.fullPath.join(','), info);\r\n        });\r\n\r\n        // 初始化 lastDescendantLineIndex\r\n        nodeRenderInfo.forEach(info => {\r\n          info.lastDescendantLineIndex = info.startLineIndex + info.lineCount - 1;\r\n        });\r\n\r\n        // 从后往前遍历（确保子节点已处理）\r\n        for (let i = nodeRenderInfo.length - 1; i >= 0; i--) {\r\n          const node = nodeRenderInfo[i];\r\n          const parentPath = node.parentPath;\r\n          if (parentPath.length === 0) continue; // 根节点无父\r\n\r\n          const parentKey = parentPath.join(',');\r\n          const parentInfo = globalNodeMap.get(parentKey);\r\n          if (parentInfo) {\r\n            if (node.lastDescendantLineIndex > parentInfo.lastDescendantLineIndex) {\r\n              parentInfo.lastDescendantLineIndex = node.lastDescendantLineIndex;\r\n            }\r\n          }\r\n        }\r\n\r\n        // ========== 步骤2：按渲染行分页（支持节点跨页）==========\r\n        const pages = [];\r\n        let currentPageLines = [];\r\n        let currentLineCount = 0;\r\n        let currentGlobalStartLine = 0;\r\n\r\n        nodeRenderInfo.forEach((nodeInfo, index) => {\r\n          const maxLines = pages.length > 0 ? maxLinesPerPage : firstMaxLinesPerPage;\r\n          const remainingLines = maxLines - currentLineCount;\r\n\r\n          // 情况1：当前页能完整放下该节点\r\n          if (nodeInfo.lineCount <= remainingLines) {\r\n            currentPageLines.push(nodeInfo);\r\n            currentLineCount += nodeInfo.lineCount;\r\n            return;\r\n          }\r\n\r\n          // 情况2：当前页完全放不下（剩余空间=0）\r\n          if (remainingLines <= 0) {\r\n            // 强制分页\r\n            if (currentPageLines.length > 0) {\r\n              pages.push({\r\n                nodes: [...currentPageLines],\r\n                globalStartLine: currentGlobalStartLine,\r\n                globalEndLine: currentGlobalStartLine + currentLineCount - 1\r\n              });\r\n              currentGlobalStartLine += currentLineCount;\r\n              currentPageLines = [];\r\n              currentLineCount = 0;\r\n            }\r\n            // 重新计算剩余空间\r\n            const newRemaining = maxLines;\r\n\r\n            if (nodeInfo.lineCount <= newRemaining) {\r\n              currentPageLines.push(nodeInfo);\r\n              currentLineCount += nodeInfo.lineCount;\r\n            } else {\r\n              // 极端：单个节点超一页 → 强制分割\r\n              splitAndPushNode(nodeInfo, maxLines, pages, currentGlobalStartLine);\r\n              currentGlobalStartLine += nodeInfo.lineCount;\r\n            }\r\n            return;\r\n          }\r\n\r\n          // 情况3：当前页放不下整个节点，但有剩余空间（>=1行）\r\n          // 👉 允许跨页分割（仅当节点有多行）\r\n          if (nodeInfo.lineCount > 1 && remainingLines >= 1) {\r\n            // 分割节点\r\n            const linesInCurrentPage = remainingLines;\r\n            const linesInNextPage = nodeInfo.lineCount - linesInCurrentPage;\r\n\r\n            // 当前页部分\r\n            const currentPart = {\r\n              ...nodeInfo,\r\n              renderLines: nodeInfo.renderLines.slice(0, linesInCurrentPage),\r\n              lineCount: linesInCurrentPage,\r\n              isSplit: true,\r\n              splitPart: 'start'\r\n            };\r\n            currentPageLines.push(currentPart);\r\n            currentLineCount += linesInCurrentPage;\r\n\r\n            // 结束当前页\r\n            pages.push({\r\n              nodes: [...currentPageLines],\r\n              globalStartLine: currentGlobalStartLine,\r\n              globalEndLine: currentGlobalStartLine + currentLineCount - 1\r\n            });\r\n            currentGlobalStartLine += currentLineCount;\r\n\r\n            // 下一页部分\r\n            const nextPart = {\r\n              ...nodeInfo,\r\n              renderLines: nodeInfo.renderLines.slice(linesInCurrentPage),\r\n              lineCount: linesInNextPage,\r\n              isSplit: true,\r\n              splitPart: 'end',\r\n              // 注意：startLineIndex 应继续累加（但绘制时需调整Y）\r\n              startLineIndex: nodeInfo.startLineIndex + linesInCurrentPage\r\n            };\r\n\r\n            // 开启新页\r\n            currentPageLines = [nextPart];\r\n            currentLineCount = linesInNextPage;\r\n          } else {\r\n            // 不允许分割（单行节点 or 剩余空间太小）\r\n            if (currentPageLines.length > 0) {\r\n              pages.push({\r\n                nodes: [...currentPageLines],\r\n                globalStartLine: currentGlobalStartLine,\r\n                globalEndLine: currentGlobalStartLine + currentLineCount - 1\r\n              });\r\n              currentGlobalStartLine += currentLineCount;\r\n              currentPageLines = [];\r\n              currentLineCount = 0;\r\n            }\r\n            currentPageLines.push(nodeInfo);\r\n            currentLineCount += nodeInfo.lineCount;\r\n          }\r\n        });\r\n\r\n        // 处理最后一页\r\n        if (currentPageLines.length > 0) {\r\n          pages.push({\r\n            nodes: currentPageLines,\r\n            globalStartLine: currentGlobalStartLine,\r\n            globalEndLine: currentGlobalStartLine + currentLineCount - 1\r\n          });\r\n        }\r\n\r\n        // ========== 辅助函数：分割超大节点 ==========\r\n        function splitAndPushNode(nodeInfo, maxLines, pages, globalStart) {\r\n          let remaining = nodeInfo.lineCount;\r\n          let offset = 0;\r\n          while (remaining > 0) {\r\n            const take = Math.min(remaining, maxLines);\r\n            pages.push({\r\n              nodes: [{\r\n                ...nodeInfo,\r\n                renderLines: nodeInfo.renderLines.slice(offset, offset + take),\r\n                lineCount: take,\r\n                isSplit: true\r\n              }],\r\n              globalStartLine: globalStart + offset,\r\n              globalEndLine: globalStart + offset + take - 1\r\n            });\r\n            offset += take;\r\n            remaining -= take;\r\n          }\r\n        }\r\n\r\n        // ========== 收集需要画子树贯穿线的锚点（所有非叶子节点）==========\r\n        const subtreeAnchors = nodeRenderInfo.filter(node => !node.isLeaf);\r\n\r\n        // ========== 步骤3：绘制每一页 ==========\r\n        pages.forEach((page, pageIndex) => {\r\n          const pageNodes = page.nodes;\r\n          const pageGlobalStart = page.globalStartLine;\r\n          const pageGlobalEnd = page.globalEndLine;\r\n\r\n          // 计算本页总渲染行数\r\n          const pageTotalLines = pageNodes.reduce((sum, n) => sum + n.lineCount, 0);\r\n          let canvasHeightPx = pageTotalLines * lineHeightPx;\r\n\r\n          // ========== 第一页增加标题高度 ==========\r\n          if (pageIndex === 0 && courseName) {\r\n            canvasHeightPx += titleHeightPx;\r\n          }\r\n\r\n          const canvas = document.createElement('canvas');\r\n          const ctx = canvas.getContext('2d');\r\n          canvas.width = usableWidthPx;\r\n          canvas.height = canvasHeightPx;\r\n\r\n          // 白色背景\r\n          ctx.fillStyle = '#ffffff';\r\n          ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n          ctx.imageSmoothingEnabled = true;\r\n          ctx.imageSmoothingQuality = 'high';\r\n          ctx.textBaseline = 'middle';\r\n\r\n          // ========== 绘制课程标题（仅第一页）==========\r\n          if (pageIndex === 0 && courseName) {\r\n            const currentFontSize = Math.max(Math.round(titleFontSizeMm * mmToPx), 10);\r\n            ctx.font = `bold ${currentFontSize}px \"Microsoft YaHei\", \"PingFang SC\", sans-serif`;\r\n            ctx.fillStyle = '#000000';\r\n            ctx.textAlign = 'left';\r\n            const titleY = titleHeightPx / 2;\r\n            const titleX = Math.round(iconSizePx / 2) + iconSizePx + 6;\r\n            ctx.fillText(courseName, titleX, titleY);\r\n            ctx.textAlign = 'left'; // 恢复默认\r\n          }\r\n\r\n          // 存储每个节点的图标位置（用于连线）\r\n          const nodeIconPositions = new Map(); // nodeId -> { x, y }\r\n\r\n          // 渲染所有节点\r\n          let currentRenderLine = 0;\r\n          // ========== 调整内容起始位置（第一页需下移）==========\r\n          const contentOffsetPx = (pageIndex === 0 && courseName) ? titleHeightPx : 0;\r\n          pageNodes.forEach(node => {\r\n            const currentFontSize = Math.max(fontSizePx - node.level * 5, 10);\r\n            // 注意：Y 坐标增加 contentOffsetPx\r\n            const yIcon = Math.round(contentOffsetPx + currentRenderLine * lineHeightPx + lineHeightPx / 2);\r\n            const xIcon = Math.round(node.level * indentPx + iconSizePx / 2);\r\n\r\n            // 记录图标位置（用于连线）\r\n            nodeIconPositions.set(node.fullPath.join(','), { x: xIcon, y: yIcon });\r\n\r\n            // 绘制图标（只在第一行画）\r\n            ctx.fillStyle = '#000000';\r\n            const half = Math.floor(iconSizePx / 2);\r\n            if(!node.isSplit || (node.isSplit && node.splitPart == 'start')) {\r\n              if (node.isLeaf) {\r\n                ctx.fillRect(xIcon - half + 5, yIcon - half + 5, iconSizePx - 12, iconSizePx - 12);\r\n              } else {\r\n                ctx.beginPath();\r\n                ctx.moveTo(xIcon, yIcon + half);\r\n                ctx.lineTo(xIcon - half, yIcon - half + 7);\r\n                ctx.lineTo(xIcon + half, yIcon - half + 7);\r\n                ctx.closePath();\r\n                ctx.fill();\r\n              }\r\n            }\r\n\r\n\r\n            // 绘制多行文本\r\n            ctx.font = `${currentFontSize}px \"Microsoft YaHei\", \"PingFang SC\", sans-serif`;\r\n            const textX = xIcon + iconSizePx + 6;\r\n            node.renderLines.forEach((line, lineIdx) => {\r\n              const yText = Math.round(contentOffsetPx + (currentRenderLine + lineIdx) * lineHeightPx + lineHeightPx / 2);\r\n              ctx.fillStyle = '#000000';\r\n              ctx.fillText(line, textX, yText);\r\n            });\r\n\r\n            currentRenderLine += node.lineCount;\r\n          });\r\n\r\n          // ========== 绘制兄弟连线（含跨页延伸）==========\r\n          ctx.strokeStyle = '#D9D9D9';\r\n          ctx.lineWidth = 2;\r\n          ctx.setLineDash([Math.round(1 * mmToPx), Math.round(1 * mmToPx)]);\r\n\r\n          // 按 parentPath 分组（本页内）\r\n          const groups = {};\r\n          pageNodes.forEach(node => {\r\n            const key = JSON.stringify(node.parentPath);\r\n            if (!groups[key]) groups[key] = [];\r\n            groups[key].push(node);\r\n          });\r\n\r\n          for (const group of Object.values(groups)) {\r\n            // if (group.length < 2) continue;\r\n\r\n            // 排序\r\n            group.sort((a, b) => a.fullPath.join(',') < b.fullPath.join(',') ? -1 : 1);\r\n\r\n            // 获取该 parentPath 下的所有兄弟（全局）\r\n            const parentKey = JSON.stringify(group[0].parentPath);\r\n            const allSiblings = nodes.filter(n => JSON.stringify(n.parentPath) === parentKey);\r\n            allSiblings.sort((a, b) => a.fullPath.join(',') < b.fullPath.join(',') ? -1 : 1);\r\n\r\n            // 构建全局兄弟 fullPath 列表\r\n            const siblingPaths = allSiblings.map(s => s.fullPath.join(','));\r\n\r\n            // 1. 画本页内的兄弟连线（原逻辑）\r\n            for (let i = 0; i < group.length - 1; i++) {\r\n              const curr = group[i];\r\n              const next = group[i + 1];\r\n              const currPos = nodeIconPositions.get(curr.fullPath.join(','));\r\n              const nextPos = nodeIconPositions.get(next.fullPath.join(','));\r\n              console.log(\"curr:\", curr, next)\r\n\r\n              if (currPos && nextPos) {\r\n                const startY = currPos.y + Math.ceil(iconSizePx / 2) + 1;\r\n                const endY = nextPos.y - Math.ceil(iconSizePx / 2) - 1;\r\n                if (startY < endY) {\r\n                  ctx.beginPath();\r\n                  ctx.moveTo(currPos.x, startY);\r\n                  ctx.lineTo(currPos.x, endY);\r\n                  ctx.stroke();\r\n                }\r\n              }\r\n            }\r\n\r\n            // 2. 跨页延伸：检查本页是否是该兄弟组的“中间截断”\r\n            const firstInPage = group[0];\r\n            const lastInPage = group[group.length - 1];\r\n\r\n            const firstIndex = siblingPaths.indexOf(firstInPage.fullPath.join(','));\r\n            const lastIndex = siblingPaths.indexOf(lastInPage.fullPath.join(','));\r\n            console.log(\"firstIndex:\", firstInPage, lastInPage)\r\n\r\n            // 是否有前驱兄弟（即本页不是开头）\r\n            const hasPrevSibling = firstIndex > 0;\r\n            // 是否有后继兄弟（即本页不是结尾）\r\n            const hasNextSibling = lastIndex < siblingPaths.length - 1;\r\n\r\n            // 当前页高度边界（像素）\r\n            const pageTopY = 0;\r\n            const pageBottomY = canvas.height;\r\n\r\n            // 如果有前驱兄弟 → 从页面顶部画虚线到第一个节点\r\n            if(!firstInPage.isSplit || (firstInPage.isSplit && firstInPage.splitPart == 'start')) {\r\n              if (hasPrevSibling) {\r\n                const firstPos = nodeIconPositions.get(firstInPage.fullPath.join(','));\r\n                if (firstPos) {\r\n                  const startY = pageTopY;\r\n                  const endY = firstPos.y - Math.ceil(iconSizePx / 2) - 1;\r\n                  if (endY > startY) {\r\n                    ctx.beginPath();\r\n                    ctx.moveTo(firstPos.x, startY);\r\n                    ctx.lineTo(firstPos.x, endY);\r\n                    ctx.stroke();\r\n                  }\r\n                }\r\n              }\r\n            }\r\n\r\n\r\n            // 如果有后继兄弟 → 从最后一个节点画虚线到页面底部\r\n            if (hasNextSibling) {\r\n              const lastPos = nodeIconPositions.get(lastInPage.fullPath.join(','));\r\n              if (lastPos) {\r\n                const startY = lastPos.y + Math.ceil(iconSizePx / 2) + 1;\r\n                const endY = pageBottomY;\r\n                if (startY < endY) {\r\n                  ctx.beginPath();\r\n                  ctx.moveTo(lastPos.x, startY);\r\n                  ctx.lineTo(lastPos.x, endY);\r\n                  ctx.stroke();\r\n                }\r\n              }\r\n            }\r\n          }\r\n\r\n          // ========== 新增：绘制子树贯穿竖线（解决跨多页断连问题）==========\r\n          subtreeAnchors.forEach(anchor => {\r\n            const anchorKey = anchor.fullPath.join(',');\r\n            let x = undefined;\r\n            if(nodeIconPositions.get(anchorKey)) {\r\n              x = nodeIconPositions.get(anchorKey).x;\r\n            }\r\n\r\n            if (x === undefined) {\r\n              // anchor 不在本页，但可能子树在本页 → 尝试用 level 计算 x（保守估计）\r\n              x = Math.round(anchor.level * indentPx + iconSizePx / 2);\r\n            }\r\n\r\n            // 计算 anchor 子树与当前页的行重叠区间\r\n            const overlapStart = Math.max(anchor.startLineIndex, pageGlobalStart);\r\n            const overlapEnd = Math.min(anchor.lastDescendantLineIndex, pageGlobalEnd);\r\n\r\n            if (overlapStart > overlapEnd) return; // 无重叠\r\n\r\n            // 计算在 canvas 中的 Y 坐标\r\n            const localStartLine = overlapStart - pageGlobalStart;\r\n            const localEndLine = overlapEnd - pageGlobalStart;\r\n\r\n            // 起点 Y：如果 anchor 在本页，则从图标底部开始；否则从页顶开始\r\n            let startY;\r\n            if (anchor.startLineIndex >= pageGlobalStart && anchor.startLineIndex <= pageGlobalEnd) {\r\n              const anchorPos = nodeIconPositions.get(anchorKey);\r\n              if (anchorPos) {\r\n                startY = anchorPos.y + Math.ceil(iconSizePx / 2) + 1;\r\n              } else {\r\n                startY = localStartLine * lineHeightPx;\r\n              }\r\n            } else {\r\n              startY = localStartLine * lineHeightPx;\r\n            }\r\n\r\n            // 终点 Y：到 overlapEnd 行的底部\r\n            let endY = (localEndLine + 1) * lineHeightPx - lineHeightPx / 2 - 1;\r\n\r\n            // 限制在 canvas 内\r\n            startY = Math.max(startY, 0);\r\n            endY = Math.min(endY, canvas.height);\r\n\r\n            if (endY > startY) {\r\n              ctx.beginPath();\r\n              ctx.moveTo(x, startY);\r\n              ctx.lineTo(x, endY);\r\n              ctx.stroke();\r\n            }\r\n          });\r\n\r\n          ctx.setLineDash([]);\r\n\r\n          // ========== 输出 PDF ==========\r\n          const imgData = canvas.toDataURL('image/jpeg');\r\n          if (pageIndex > 0) pdf.addPage();\r\n          // 第一页高度 = 内容高度 + 标题高度\r\n          const pageHeightMm = (pageIndex === 0 && courseName)\r\n            ? (pageNodes.length * lineHeightMm + titleHeightMm)\r\n            : (pageNodes.length * lineHeightMm);\r\n          console.log(\"pageHeightMm:\", pageHeightMm)\r\n          // mindmap.append(canvas);\r\n          pdf.addImage(\r\n            imgData,\r\n            'JPEG',\r\n            marginMm,\r\n            marginMm,\r\n            usableWidthMm,\r\n            pageHeightMm,\r\n            undefined,\r\n            undefined,\r\n            0,\r\n            {}\r\n          );\r\n        });\r\n\r\n        pdf.save(`${courseName}.pdf`);\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n    },\r\n    submitDel() {\r\n      if (this.type === 1) {\r\n        this.delUserMindmap();\r\n      } else if (this.type === 2) {\r\n        this.isDeleteImage = true;\r\n        // 将要删除的位置排序，然后从后往前删除以避免索引变化\r\n        if (this.selectedImagesIndex.length > 1) {\r\n          this.selectedImagesIndex.sort((a, b) => b - a);\r\n        }\r\n        this.selectedImagesIndex.forEach(index => {\r\n          this.images.splice(index, 1);\r\n          this.imagesName.splice(index, 1);\r\n          this.fileImageUrls.splice(index, 1);\r\n        });\r\n        this.saveMindMapImages();\r\n      } else {\r\n        this.deletePdf();\r\n      }\r\n      this.dialogVisibleDel = false;\r\n    },\r\n    setStatus(status) {\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'setstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        status,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n    },\r\n    cancel() {\r\n      this.dialogVisibleDel = false;\r\n      // 使用安全回调清除机制\r\n      this.clearPendingAction('user_cancel');\r\n      this.$refs.MyMindOutline.$data.isMyselfEditing = false;\r\n      this.setStatus(2);\r\n    },\r\n    delUserMindmapShow() {\r\n      this.isDelUserMindmapShow = true;\r\n      if(this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        // 使用安全回调机制\r\n        const requestId = this.registerPendingAction(() => {\r\n          if(this.status == 1) {\r\n            this.$message.warning(\"其他端正在编辑中,当前用户不能编辑\");\r\n            return;\r\n          }\r\n          this.dialogVisibleDel = true;\r\n          this.type = 1;\r\n        }, 'delete');\r\n        console.log(`[delUserMindmapShow] 已注册回调: requestId=${requestId}`);\r\n      } else {\r\n        console.log(\"delUserMindmapShow: 当前终端无编辑权，检查全局状态\")\r\n        this._tempStatusCallback = () => {\r\n          this.dialogVisibleDel = true;\r\n          this.type = 1;\r\n        };\r\n        const messageData = {\r\n          course_id: this.course_id,\r\n          type: 'getstatus',\r\n          user_id: this.user.user_id,\r\n          course_isuseradd: this.courseIsuseradd,\r\n          device_type: 3\r\n        };\r\n        this.$store.dispatch('sendWebSocketMessage', JSON.stringify(messageData));\r\n      }\r\n    },\r\n    // 清空思维导图\r\n    delUserMindmap() {\r\n      this.clickContent();\r\n      console.log(\"delUserMindmap:\", this.mindMap);\r\n      if (this.mindMap) {\r\n        this.data = deepClone(this.mindMap);\r\n        this.data.mindmap_content = \"\";\r\n        this.data.is_collect_studythink = 2\r\n        console.log(\"mindMap:\", this.data);\r\n        this.$store\r\n          .dispatch(\"setMindMap\", {\r\n            data: this.data,\r\n            isEdited: false,\r\n            timeStamp: new Date().getTime()\r\n          })\r\n          .then(() => {\r\n            if(this.$refs.MyMindOutline) {\r\n              this.$refs.MyMindOutline.$data.isEdited = false;\r\n              this.$refs.MyMindOutline.$data.isLocalStorageSave = false;\r\n              // this.$refs.MyMindOutline.clearTimeout();\r\n              this.$refs.MyMindOutline.$data.removeNodes = [];\r\n            }\r\n\r\n            // this.editOutline = false;\r\n            const messageData = {\r\n              course_id: this.course_id,\r\n              type: 'sync',\r\n              user_id: this.user.user_id,\r\n              course_isuseradd: this.courseIsuseradd,\r\n              mindmap_content: '',\r\n              device_type: 3\r\n            };\r\n            this.$store.dispatch(\"sendWebSocketMessage\", JSON.stringify(messageData));\r\n            this.saveMap({ mindmap_content: \"\" }, 1, '', false, false).then((res) => {\r\n              // this.$store.dispatch(\"clearWebSocket\");\r\n            });\r\n          });\r\n      }\r\n    },\r\n    // 每次操作前，都去调用websocket获取当前导图编辑状态\r\n    getStatus(callback) {\r\n      // 使用临时回调存储，不与 pendingCallback 混用\r\n      this._tempStatusCallback = callback;\r\n      const messageData = {\r\n        course_id: this.course_id,\r\n        type: 'getstatus',\r\n        user_id: this.user.user_id,\r\n        course_isuseradd: this.courseIsuseradd,\r\n        device_type: 3\r\n      };\r\n      this.$store.dispatch('sendWebSocketMessage', JSON.stringify(messageData));\r\n    },\r\n    exitEdit() {\r\n      EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Mind\");\r\n      this.$store.dispatch(\"clearWebSocket\");\r\n      // this.editOutline = false;\r\n      // 不保存\r\n      // this.$refs.MyMindOutline.exitEdit()\r\n    },\r\n    // 点击保存按钮：isInMind：true，isLocalStorageSave：true\r\n    saveMindMap1() {\r\n      this.$refs.MyMindOutline.$data.selectedData.isEdit = false;\r\n      this.saveMindMap({\r\n        isInMind: true,\r\n        isLocalStorageSave: false,\r\n        needExit: false\r\n      });\r\n    },\r\n    // whiteCom === \"CourseCom\",如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n    // isInMind: 是否还是需要在思维导图本页,isLocalStorageSave：是否2分钟自动保存, needExit:是否需要退出编辑状态\r\n    async saveMindMap(arge) {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n\r\n      const whiteCom = arge ? arge.whiteCom : '';\r\n      const isInMind = arge ? arge.isInMind : false;\r\n      const isLocalStorageSave = arge ? arge.isLocalStorageSave : false;\r\n      const needExit = arge ? arge.needExit : false;\r\n      const type = arge ? arge.type: 1;\r\n\r\n      // await this.$refs.MyMindOutline.saveMindMap(2);\r\n      console.log(\"myMind saveMindMap:\", this.mindMap);\r\n      if(!isLocalStorageSave) {\r\n        this.$store.dispatch(\"setLoading\", true)\r\n        EventBus.$emit(\"disableOperateMode\", true);\r\n        this.loadingMsg = \"内容保存中，请稍候...\";\r\n      }\r\n      this.isSaveMindMap = true;\r\n\r\n      this.clickContent();\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      let mindmap_content = JSON.parse(mindMap.mindmap_content || '[]')\r\n      const mindmap_content1 = await this.toParse(mindmap_content);\r\n      let params = {};\r\n      params.mindmap_content = JSON.stringify(mindmap_content1);\r\n      if(params.mindmap_content == '[]') {\r\n        params.mindmap_content = \"\";\r\n      }\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params, undefined, whiteCom, isLocalStorageSave, needExit, isInMind).then((res) => {\r\n        // 切换模块或者课程或者去其他页面等操作需要执行下面的代码\r\n        if (needExit) {\r\n          this.editOutline = false;\r\n          this.$refs.MyMindOutline.$data.selectedData = {};\r\n          this.$store.dispatch(\"clearWebSocket\");\r\n          if(arge && !isInMind) {\r\n            this.$refs.MyMindOutline.submitConCallback(isLocalStorageSave, type);\r\n          }\r\n        }\r\n      });\r\n    },\r\n    async toParse(arr) {\r\n      if(arr && typeof arr === 'string') {\r\n        if(arr == '') {\r\n          arr = [];\r\n        } else {\r\n          arr = JSON.parse(arr);\r\n        }\r\n      }\r\n      if(!arr) {\r\n        arr = [];\r\n      }\r\n      arr.forEach(item => {\r\n        if (item.children && Array.isArray(item.children)) {\r\n          if (item.node) {\r\n            delete item.node;\r\n          }\r\n          item[\"node\"] = item.children;\r\n          this.toParse(item[\"node\"]);\r\n        }\r\n        // if (item.children) {\r\n        //   delete item.children;\r\n        // }\r\n        if (item.hasVertical !== undefined) {\r\n          delete item.hasVertical;\r\n        }\r\n        if (item.class !== undefined) {\r\n          delete item.class;\r\n        }\r\n        // if (item.id) {\r\n        //   delete item.id;\r\n        // }\r\n        if (item.hidetab !== undefined) {\r\n          delete item.hidetab;\r\n        }\r\n        if (item.hidetabReduce !== undefined) {\r\n          delete item.hidetabReduce;\r\n        }\r\n        if (item.isShowOp !== undefined) {\r\n          delete item.isShowOp;\r\n        }\r\n        if (item.isAdd !== undefined) {\r\n          delete item.isAdd;\r\n        }\r\n        if (item.isAddTheme !== undefined) {\r\n          delete item.isAddTheme;\r\n        }\r\n        if (item.isEdit !== undefined) {\r\n          delete item.isEdit;\r\n        }\r\n        if(item.isAddEquative !== undefined) {\r\n          delete item.isAddEquative;\r\n        }\r\n        if(item.id !== undefined) {\r\n          delete item.id;\r\n        }\r\n        if(item.children !== undefined) {\r\n          delete item.children;\r\n        }\r\n      });\r\n      return arr;\r\n    },\r\n    saveMindMapImages() {\r\n      let params = {};\r\n      params.mindmap_image = this.fileImageUrls.join(\",\");\r\n      console.log(\"params:\", params);\r\n      this.params = params;\r\n      this.saveMap(params);\r\n    },\r\n    editImages() {\r\n      this.isEdit = true;\r\n    },\r\n    downloadImages() {\r\n      this.$refs.myMindImages.downloadFileUrl();\r\n    },\r\n    submitCon(is_confirm) {\r\n      this.saveMap(this.params, is_confirm);\r\n    },\r\n    async getMindmap() {\r\n      console.log(\"getMindmap\");\r\n      this.parent.getMindmap(true);\r\n    },\r\n    saveMap(params, is_confirm = 1, whiteCom, isLocalStorageSave, needExit, isInMind) {\r\n      console.log(\"is_confirm:\", is_confirm);\r\n      return new Promise(async (resolve, reject) => {\r\n        try {\r\n          if (this.mindMap) {\r\n            let mindMap = deepClone(this.mindMap);\r\n            params.update_device = localStorage.getItem(\"DeviceId\");\r\n            params.course_id = this.course_id;\r\n            // [Migrated from PC-MyMind.vue] 使用 silent 模式获取最新数据\r\n            const resNewest = await getMindmap({ course_id: this.course_id }, { silent: isLocalStorageSave });\r\n            if (resNewest && resNewest.code === 0) {\r\n              this.newestData = resNewest.data[0];\r\n            }\r\n            // 添加用户思维导图\r\n            if (!this.newestData.mindmap_id) {\r\n              if(params.mindmap_content) {\r\n                params.mindmap_content = Base64.encode(params.mindmap_content);\r\n              }\r\n              // [Migrated from PC-MyMind.vue] 使用 silent 模式添加\r\n              const res = await addUserMindmap(params, { silent: isLocalStorageSave });\r\n              if (res && res.code === 0) {\r\n                let mindMapNew = {\r\n                  ...mindMap\r\n                };\r\n                mindMap.mindmap_id = res.data[0].mindmap_id;\r\n                mindMap.last_update_at = res.data[0].last_update_at;\r\n                mindMap.last_update_device = res.data[0].last_update_device;\r\n                mindMap.mindmap_isuseradd = 1;\r\n                if (mindMap.mindmap_content) {\r\n                  this.showCollect = true;\r\n                } else {\r\n                  this.showCollect = false;\r\n                }\r\n                console.log(\"setMindMap:\", mindMap);\r\n                this.$store\r\n                  .dispatch(\"setMindMap\", {\r\n                    data: mindMap,\r\n                    isEdited: false,\r\n                    timeStamp: new Date().getTime()\r\n                  })\r\n                  .then(() => {\r\n                    this.data = mindMap;\r\n                    // 如果是选择课程的话,或者点击logo则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                    if (whiteCom === \"CourseCom\" || whiteCom == 'Logo') {\r\n                      console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n                      EventBus.$emit(\"MIND_OUTLINE_SAVE_CONFIRMED\", whiteCom);\r\n                    }\r\n                    // [Migrated from PC-MyMind.vue] 保存策略：needExit=true 时清空历史栈\r\n                    if (needExit) {\r\n                      clearAllStacks(this.course_id).then(() => {\r\n                        this.$store.dispatch(\"initHistoryVersion\", {\r\n                          canUndo: false,\r\n                          canRedo: false,\r\n                          undoCount: 0,\r\n                          redoCount: 0\r\n                        });\r\n                        console.log(`[History] 会话结束保存，已清空历史栈: courseId=${this.course_id}`);\r\n                      }).catch(error => {\r\n                        console.error('[History] 清空历史栈失败:', error);\r\n                      });\r\n                    } else {\r\n                      console.log(`[History] 静默保存，保留历史栈`);\r\n                    }\r\n                    resolve();\r\n                  });\r\n                // 提交完将定时器清空\r\n                if(this.$refs.MyMindOutline && needExit) {\r\n                  this.$refs.MyMindOutline.$data.isEdited = false;\r\n                  this.$refs.MyMindOutline.clearTimeout();\r\n                }\r\n\r\n                this.$store.dispatch(\"setLoading\", false)\r\n                if(!isLocalStorageSave) {\r\n                  this.$message({\r\n                    type: \"success\",\r\n                    message: \"保存成功\"\r\n                  });\r\n\r\n                }\r\n                this.loadingMsg = ''\r\n                const courseProgress = await getUserCourseProgress({\r\n                  course_id: this.course_id,\r\n                });\r\n                if (courseProgress && courseProgress.code === 0) {\r\n                  this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n                }\r\n              } else {\r\n                this.$message({\r\n                  type: \"error\",\r\n                  message: res.msg\r\n                });\r\n                reject();\r\n              }\r\n\r\n            } else {\r\n              const timeStamp = new Date().getTime();\r\n              params.mindmap_id = this.newestData.mindmap_id;\r\n              params.last_update_device = mindMap.last_update_device;\r\n              params.last_update_at = mindMap.last_update_at;\r\n              if (resNewest && resNewest.code === 0) {\r\n                const last_update_at_old =\r\n                  mindMap.last_update_at && mindMap.last_update_at.length > 10\r\n                    ? mindMap.last_update_at\r\n                    : mindMap.last_update_at * 1000;\r\n                let last_update_at = 0;\r\n                if (this.newestData.last_update_at) {\r\n                  last_update_at = this.newestData.last_update_at\r\n                    ? this.newestData.last_update_at * 1000\r\n                    : this.newestData.last_update_at;\r\n                }\r\n                params.is_confirm = 1;\r\n                params.last_update_device = localStorage.getItem(\r\n                  \"DeviceId\"\r\n                );\r\n                params.last_update_at = timeStamp;\r\n                if(params.mindmap_content) {\r\n                  params.mindmap_content = Base64.encode(params.mindmap_content);\r\n                }\r\n                console.log(\"editUserMindmap:\", params)\r\n                // [Migrated from PC-MyMind.vue] 使用 silent 模式编辑\r\n                const res1 = await editUserMindmap(params, { silent: isLocalStorageSave });\r\n                if (res1 && res1.code === 0) {\r\n                  let mindMapNew = {\r\n                    ...mindMap\r\n                  };\r\n                  if (res1 && res1.data[0]) {\r\n                    mindMap.last_update_at = res1.data[0].mindmap_update_at;\r\n                    mindMap.last_update_device =\r\n                      res1.data[0].mindmap_update_device;\r\n                  } else {\r\n                    mindMap.last_update_at = timeStamp;\r\n                    mindMap.last_update_device = localStorage.getItem(\r\n                      \"DeviceId\"\r\n                    );\r\n                  }\r\n                  if (mindMap.mindmap_content) {\r\n                    this.showCollect = true;\r\n                  } else {\r\n                    this.showCollect = false;\r\n                    mindMap.is_collect_studythink = 2;\r\n                  }\r\n                  mindMap.mindmap_isuseradd = 1;\r\n                  this.$store.dispatch(\"setLoading\", false)\r\n                  if(!isLocalStorageSave) {\r\n                    this.$message({\r\n                      type: \"success\",\r\n                      message: \"保存成功\"\r\n                    });\r\n                  }\r\n                  this.loadingMsg = ''\r\n                  console.log(\"isDeletePdf:\", this.isDeletePdf);\r\n                  console.log(\"isDeleteImage:\", this.isDeleteImage);\r\n                  if (this.isDeletePdf) {\r\n                    this.isDeletePdf = false;\r\n                    this.pdfUrl = \"\";\r\n                    this.pdfName = \"\";\r\n                    mindMap.mindmap_pdf_show = \"\";\r\n                    mindMap.mindmap_pdf = \"\";\r\n                    mindMap.is_collect_studythinkpdf = 2;\r\n                    if(this.$refs.myMindPdf) {\r\n                      this.$refs.myMindPdf.$data.pdfPicturePath = [];\r\n                    }\r\n                  }\r\n                  if (this.isDeleteImage) {\r\n                    this.selectedImagesIndex = [];\r\n                    this.isDeleteImage = false;\r\n                    console.log(\"delete images:\", this.images);\r\n                    console.log(\r\n                      \"delete fileImageUrls:\",\r\n                      this.fileImageUrls\r\n                    );\r\n                    mindMap.mindmap_image_show = this.images.join(\",\");\r\n                    mindMap.mindmap_image = this.fileImageUrls.join(\",\");\r\n                    mindMap.is_collect_studythinkimg = this.imageCollect;\r\n                    if (this.images.length === 0) {\r\n                      this.isEdit = false;\r\n                      mindMap.is_collect_studythinkimg = 2;\r\n                    }\r\n                    // this.data.mindmap_image_show =\r\n                    //   mindMap.mindmap_image_show;\r\n                    // this.data.mindmap_image = mindMap.mindmap_image;\r\n                    if (this.$refs.myMindImages) {\r\n                      this.$refs.myMindImages.deleteFinish();\r\n                    }\r\n                  }\r\n                  console.log(\"setMindMap:\", mindMap);\r\n                  this.$store\r\n                    .dispatch(\"setMindMap\", {\r\n                      data: mindMap,\r\n                      isEdited: false,\r\n                      timeStamp: new Date().getTime()\r\n                    })\r\n                    .then(() => {\r\n                      this.data = mindMap;\r\n                      // 如果是选择课程的话则要先去调用接口保存完后调用MIND_OUTLINE_SAVE_CONFIRMED\r\n                      if (whiteCom === \"CourseCom\" || whiteCom == 'Logo') {\r\n                        console.log(\"MIND_OUTLINE_SAVE_CONFIRMED\");\r\n                        EventBus.$emit(\r\n                          \"MIND_OUTLINE_SAVE_CONFIRMED\",\r\n                          whiteCom\r\n                        );\r\n                      }\r\n                      // [Migrated from PC-MyMind.vue] 保存策略：needExit=true 时清空历史栈\r\n                      if (needExit) {\r\n                        clearAllStacks(this.course_id).then(() => {\r\n                          this.$store.dispatch(\"initHistoryVersion\", {\r\n                            canUndo: false,\r\n                            canRedo: false,\r\n                            undoCount: 0,\r\n                            redoCount: 0\r\n                          });\r\n                          console.log(`[History] 会话结束保存，已清空历史栈: courseId=${this.course_id}`);\r\n                        }).catch(error => {\r\n                          console.error('[History] 清空历史栈失败:', error);\r\n                        });\r\n                      } else {\r\n                        console.log(`[History] 静默保存，保留历史栈`);\r\n                      }\r\n                      resolve();\r\n                    });\r\n                  // 提交完将定时器清空\r\n                  if(this.$refs.MyMindOutline && needExit) {\r\n                     this.$refs.MyMindOutline.$data.isEdited = false;\r\n                     this.$refs.MyMindOutline.clearTimeout();\r\n                  }\r\n\r\n\r\n                  // let progress_mindmap_num = 0;\r\n                  // const mindmap_content1 = mindMap.mindmap_content || params.mindmap_content;\r\n                  // const mindmap_image1 = mindMap.mindmap_image || params.mindmap_image;\r\n                  // const mindmap_pdf1 = mindMap.mindmap_pdf || params.mindmap_pdf;\r\n                  // if (\r\n                  //   !mindmap_content1 &&\r\n                  //   !mindmap_image1 &&\r\n                  //   !mindmap_pdf1\r\n                  // ) {\r\n                  //   progress_mindmap_num = 0;\r\n                  // } else {\r\n                  //   progress_mindmap_num = 1;\r\n                  // }\r\n                  // let courseProgress = {\r\n                  //   ...this.courseProgress,\r\n                  //   progress_mindmap_num: progress_mindmap_num\r\n                  // };\r\n                  // this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n                  const courseProgress = await getUserCourseProgress({\r\n                    course_id: this.course_id,\r\n                  });\r\n                  if (courseProgress && courseProgress.code === 0) {\r\n                    this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n                  }\r\n                }\r\n                } else {\r\n                  reject();\r\n                }\r\n            }\r\n          }\r\n\r\n\r\n        } catch (error) {\r\n\r\n        }\r\n\r\n        this.$store.dispatch(\"setLoading\", false)\r\n        EventBus.$emit(\"disableOperateMode\", false);\r\n        this.loadingMsg = '';\r\n      });\r\n    },\r\n    // 上传pdf\r\n    uploadPdf() {\r\n      if (this.pdfUrl) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请先删除pdf文件\"\r\n        });\r\n        return;\r\n      }\r\n      const meditate_pdf_size = decrypt((localStorage.getItem(\"meditate_pdf_size\")));\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \".pdf\";\r\n      // input.multiple = \"multiple\";\r\n      input.onchange = e => {\r\n\r\n        let file = input.files[0];\r\n        if (!/\\.(pdf)$/.test(file.name)) {\r\n          this.$message.error(\"只能上传pdf文件\");\r\n          return false;\r\n        } else if (Math.round((file.size * 100) / (1024 * 1024)) / 100 > meditate_pdf_size) {\r\n          this.$message.error(`上传的文件不能大于${meditate_pdf_size}M`);\r\n          return false;\r\n        } else {\r\n          this.pdfChange(file);\r\n        }\r\n      };\r\n      input.dispatchEvent(new MouseEvent(\"click\"));\r\n    },\r\n    async pdfChange(file) {\r\n      this.$store.dispatch(\"setLoading\", true)\r\n      EventBus.$emit(\"disableOperateMode\", true);\r\n      let directory = decrypt(localStorage.getItem(\"mindmap_pdf_ossurl\"));\r\n      let res = await uploaDOSS(file, directory);\r\n\r\n      this.pdfName = res.fileName;\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      const pdfBase64 = await getBase64ByFile(file);\r\n\r\n      // 保存到indexDb\r\n      await saveFile(url, res.fileName, pdfBase64);\r\n      this.savePdf(res.fileUrl).then(() => {\r\n        this.getMindmap();\r\n      });\r\n    },\r\n    savePdf(fileUrl) {\r\n      return new Promise((resolve, reject) => {\r\n        let params = {};\r\n        params.mindmap_pdf = fileUrl;\r\n        this.params = params;\r\n        this.saveMap(params, 1).then(() => {\r\n          resolve();\r\n        });\r\n      });\r\n    },\r\n    downloadPdf() {\r\n      this.$refs.myMindPdf.fileDownload(this.pdfName);\r\n    },\r\n    deletePdfShow() {\r\n      this.dialogVisibleDel = true;\r\n      this.type = 3;\r\n    },\r\n    // 删除pdf文件\r\n    deletePdf() {\r\n      this.isDeletePdf = true;\r\n      let params = {\r\n        mindmap_pdf_show: \"\",\r\n        mindmap_pdf: \"\"\r\n      };\r\n      this.params = params;\r\n      this.saveMap(params, 1);\r\n    },\r\n    selectedImages(indexs) {\r\n      this.selectedImagesIndex = indexs;\r\n    },\r\n    exitImageEdit() {\r\n      this.isEdit = false;\r\n    },\r\n    // 删除图片\r\n    deleteImages() {\r\n      if (this.selectedImagesIndex.length === 0) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请选择要删除的图片\"\r\n        });\r\n        return;\r\n      }\r\n      this.dialogVisibleDel = true;\r\n      this.type = 2;\r\n    },\r\n    // 上传图片\r\n    uploadImages() {\r\n      if (this.images.length > 6) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"最多上传6张图片\"\r\n        });\r\n        return;\r\n      }\r\n      let input = document.createElement(\"input\");\r\n      input.type = \"file\";\r\n      input.accept = \"image/png, image/jpeg, image/jpg\";\r\n      input.multiple = \"multiple\";\r\n\r\n      input.onchange = async e => {\r\n        let inputLen = 0;\r\n        let files = input.files;\r\n        if (!/\\.(jpg|jpeg|png|JPG|PNG)$/.test(input.files[0].name)) {\r\n          this.$message.error(\"图片类型必须是jpeg,jpg,png中的一种\");\r\n          return false;\r\n        } else {\r\n          // this.images = [];\r\n          if (this.images.length + files.length > 6) {\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: \"最多上传6张图片\"\r\n            });\r\n            return;\r\n          }\r\n          // 图片大小最多为5M\r\n          let sizeTotal = 0;\r\n          for (let i = 0; i < this.images.length; i++) {\r\n            const base64String = this.images[i];\r\n            const file = base64ToFile(base64String, input.files[0].name);\r\n            sizeTotal += file.size;\r\n          }\r\n          for (let i = 0; i < files.length; i++) {\r\n            const file = files[i];\r\n            sizeTotal += file.size;\r\n          }\r\n          const meditate_image_size = decrypt(localStorage.getItem(\"meditate_image_size\"));\r\n          console.log(\"meditate_image_size:\", meditate_image_size, sizeTotal);\r\n          if(sizeTotal > meditate_image_size * 1024 * 1024) {\r\n            this.$message({\r\n              type: \"warning\",\r\n              message: `图片大小不能超过${meditate_image_size}M`\r\n            });\r\n            return;\r\n          }\r\n          for (let i = 0; i < files.length; i++) {\r\n            const file = files[i];\r\n            // 大于1M的图片做压缩\r\n            if(file.size > 1 * 1024 * 1024) {\r\n              compressImage(file).then(async (base64String) => {\r\n                console.log(file)\r\n                const base64ToFileResult = base64ToFile(base64String, file.name);\r\n                await this.avatarChange(base64ToFileResult);\r\n                inputLen += 1;\r\n                if(inputLen == files.length) {\r\n                  this.saveImagesToServe();\r\n                }\r\n              });\r\n            } else {\r\n              console.log(file)\r\n              await this.avatarChange(file);\r\n              inputLen += 1;\r\n              if(inputLen == files.length) {\r\n                this.saveImagesToServe();\r\n              }\r\n            }\r\n          }\r\n        }\r\n      };\r\n      input.click();\r\n    },\r\n    async avatarChange(file) {\r\n      this.$store.dispatch(\"setLoading\", true)\r\n      let directory = decrypt(localStorage.getItem(\"mindmap_img_ossurl\"));\r\n      let type = \".\" + file.type.split(\"/\")[1];\r\n      let res = await uploaDOSS(file, directory);\r\n      this.fileImageUrls.push(res.fileUrl);\r\n      console.log(\"fileImageUrls:\", this.fileImageUrls);\r\n      // 调用后台接口\r\n      const avatarUrl = await getBase64ByFile(file);\r\n\r\n      this.images.push(avatarUrl);\r\n      const name = res.fileName.split(\".\")[0];\r\n      this.imagesName.push(name);\r\n\r\n      //todo 保存到indexDb key：url\r\n      let config = getOssConfig();\r\n      const url = config.uploadHost + \"/\" + directory + \"/\" + res.fileName;\r\n      // 保存到indexDb\r\n      await saveFile(url, res.fileName, avatarUrl);\r\n    },\r\n    saveImagesToServe() {\r\n      let mindMap = {};\r\n      if (typeof this.mindMap === \"string\") {\r\n        mindMap = JSON.parse(this.mindMap);\r\n      } else {\r\n        mindMap = deepClone(this.mindMap);\r\n      }\r\n      mindMap.mindmap_image_show = this.images.join(\",\");\r\n      mindMap.mindmap_image = this.fileImageUrls.join(\",\");\r\n      console.log(\"setMindMap:\", mindMap);\r\n      this.$store\r\n        .dispatch(\"setMindMap\", {\r\n          data: mindMap,\r\n          isEdited: false\r\n        })\r\n        .then(() => {\r\n\r\n          this.saveMindMapImages();\r\n        });\r\n    },\r\n    clickContent(e) {\r\n      if (this.command === \"1\") {\r\n        if (!this.$refs.MyMindOutline.operating.isOperating) {\r\n          this.$refs.MyMindOutline.hideOperates();\r\n        }\r\n      }\r\n    },\r\n    scrollOutline(scrollTop) {\r\n      // 大纲模式时\r\n      if (this.command === \"1\" && scrollTop >= 50 && !this.editOutline) {\r\n        this.showLayer = true;\r\n      } else {\r\n        this.showLayer = false;\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    this.myMindOutlineId = generateRandomString(5);\r\n    this.treeId = generateRandomString(5);\r\n    const content = document.getElementById(\"content\");\r\n\r\n    this.mindPdfWidth = content.clientWidth * 0.88;\r\n    // 获取当前导图编辑状态\r\n    EventBus.$on('updatesuccess', () => {\r\n      if(this.isSaveMindMapButton || this.isDelUserMindmapShow) {\r\n        this.isSaveMindMapButton = false;\r\n        this.isDelUserMindmapShow = false;\r\n        // 如果其他端没有在编辑，则继续运行回调方法保存\r\n        // 优先使用新的 pendingCallback 机制\r\n        if(this.pendingCallback) {\r\n          this.executeIfValid(this.callbackRequestId);\r\n        } else if(this.callbackFn) {\r\n          this.callbackFn();\r\n          this.callbackFn = null;\r\n        }\r\n      }\r\n      if(this.isNotSave) {\r\n        this.isNotSave = false;\r\n      }\r\n      this.$refs.MyMindOutline.updatesuccessCallback();\r\n    });\r\n    // 获取当前导图编辑状态\r\n    EventBus.$on('nowstatus', () => {\r\n      if(this.isDelUserMindmapShow) {\r\n        this.isDelUserMindmapShow = false;\r\n      }\r\n      if(this.status == 1 && !this.$refs.MyMindOutline.$data.isMyselfEditing) {\r\n        // 清除 pendingAction（其他端正在编辑）\r\n        if (this.pendingCallback) {\r\n          console.log(\"[MyMind] 其他端正在编辑，清除 pendingCallback\");\r\n          this.clearPendingAction('other_device_editing');\r\n        }\r\n        // 清除临时状态回调\r\n        if (this._tempStatusCallback) {\r\n          console.log(\"[MyMind] 其他端正在编辑，清除 _tempStatusCallback\");\r\n          this._tempStatusCallback = null;\r\n        }\r\n      } else {\r\n        // 锁解除了，尝试执行 pendingCallback\r\n        if (this.pendingCallback) {\r\n          const executed = this.executeIfValid(this.callbackRequestId);\r\n          if (executed && this.$refs.MyMindOutline) {\r\n            this.$refs.MyMindOutline.$data.isMyselfEditing = true;\r\n          }\r\n        } else if (this._tempStatusCallback) {\r\n          // 执行临时状态回调\r\n          console.log(\"[MyMind] 执行 _tempStatusCallback\");\r\n          try {\r\n            this._tempStatusCallback();\r\n          } catch (error) {\r\n            console.error(\"[MyMind] _tempStatusCallback 执行失败:\", error);\r\n          }\r\n          this._tempStatusCallback = null;\r\n        }\r\n      }\r\n      this.$refs.MyMindOutline.setStatusNowCallBack();\r\n    });\r\n    EventBus.$on('getnowcontent', (status) => {\r\n      // status: 内容是否一致\r\n      if(status == 2) {\r\n        // 不一致，提示“存在未保存草稿数据，请及时确认并保存”\r\n        this.$message.warning(\"存在未保存草稿数据，请及时确认并保存\");\r\n      }\r\n      this.$store.dispatch(\"setLoading\", false);\r\n      this.loadingMsg = '';\r\n    })\r\n    EventBus.$on('connectionError', () => {\r\n      this.editOutline = false;\r\n      if(this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.$data.selectedData = {};\r\n      }\r\n      this.clickContent();\r\n      if(this.$refs.MyMindOutline.$data.isEditing) {\r\n        this.triggerBlur(this.$refs.MyMindOutline.$data.isEditing);\r\n      }\r\n    })\r\n    EventBus.$on(\"updatenotsaved\", (mindmap_content) => {\r\n      this.$store.dispatch(\"clearWebSocket\");\r\n      if(this.$refs.MyMindOutline) {\r\n        this.$refs.MyMindOutline.init();\r\n      }\r\n    });\r\n\r\n    // [Migrated from PC-MyMind.vue] 退出编辑确认事件\r\n    // 退出编辑场景：\r\n    // 1. 点击\"退出编辑\"按钮但内容已保存（无提示窗）→ 在 exitEditCon 中清空历史栈\r\n    // 2. 用户在保存提示窗中选择保存/不保存 → 已在 saveMindMap 中清空历史栈\r\n    //\r\n    // 关键操作：清空 Undo/Redo 栈\r\n    // 原因：退出编辑意味着当前编辑会话结束，下次进入应视为新会话\r\n    // ========================================================================\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CONFIRMED\", async () => {\r\n      this.editOutline = false;\r\n\r\n      // 检查历史栈是否已为空（避免重复清空）\r\n      const historyVersion = this.$store.getters.historyVersion;\r\n      if (historyVersion && !historyVersion.canUndo && !historyVersion.canRedo) {\r\n        console.log('[退出编辑] 历史栈已为空，跳过清空操作');\r\n        return;\r\n      }\r\n\r\n      // 清空历史栈（退出编辑会话必须清空）\r\n      try {\r\n        const clearedCount = await clearAllStacks(this.course_id);\r\n        console.log(`[退出编辑] 历史栈已清空: courseId=${this.course_id}, 删除${clearedCount}条记录`);\r\n\r\n        // 重置 Vuex 历史版本状态\r\n        this.$store.dispatch(\"initHistoryVersion\", {\r\n          canUndo: false,\r\n          canRedo: false,\r\n          undoCount: 0,\r\n          redoCount: 0\r\n        });\r\n        console.log('[退出编辑] Vuex 历史版本状态已重置');\r\n      } catch (error) {\r\n        console.error('[退出编辑] 清空历史栈失败:', error);\r\n      }\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.myMind {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n}\r\n.del_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.operates {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  padding-left: 39px;\r\n  padding-right: 44px;\r\n  /deep/ .el-button {\r\n    padding: 1px 8px 2px 8px;\r\n    border-radius: 28px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    color: #71afbb;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    // display: flex;\r\n    // justify-content: center;\r\n    // align-items: center;\r\n  }\r\n  .el-dropdown {\r\n    /deep/ .el-button {\r\n      padding: 1px 8px 1px 8px;\r\n    }\r\n  }\r\n\r\n  .withdraw {\r\n    display: flex;\r\n    align-items: center;\r\n    img {\r\n      width: 26px;\r\n      height: 26px;\r\n    }\r\n\r\n  }\r\n\r\n  .right {\r\n    display: flex;\r\n    align-items: center;\r\n    .btn-group {\r\n      display: flex;\r\n    }\r\n    .btn {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      border: 1px solid #71afbb;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      height: 26px;\r\n      border-radius: 17px;\r\n      padding: 0 20px;\r\n      margin-left: 10px;\r\n      cursor: pointer;\r\n    }\r\n    /deep/ .el-button {\r\n      padding: 0 20px;\r\n      font-size: 12px;\r\n      height: 26px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      margin-left: 10px;\r\n      &.clear {\r\n        color: #FD8B65;\r\n        border-color: #FD8B65;\r\n        background-color: transparent;\r\n      }\r\n      &.clear.disabled {\r\n        color: #c0c4cc;\r\n        border-color: #ebeef5;\r\n        background-color: transparent;\r\n      }\r\n      &.exit {\r\n        background-color: #71AFBB;\r\n        color: #fff;\r\n      }\r\n    }\r\n    /deep/ .el-icon--right {\r\n      margin-left: 5px;\r\n    }\r\n  }\r\n  .download {\r\n    width: 18px;\r\n    height: 18px;\r\n    margin-right: 30px;\r\n  }\r\n  .del {\r\n    width: 15px;\r\n    height: 19px;\r\n  }\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover .el-button:focus,\r\n  .el-button:hover {\r\n    background-color: transparent;\r\n  }\r\n  /deep/ .el-button.is-disabled,\r\n  .el-button.is-disabled:focus,\r\n  .el-button.is-disabled:hover {\r\n    color: #c0c4cc;\r\n    border-color: #ebeef5;\r\n  }\r\n  /deep/ .el-dropdown-menu__item {\r\n    color: #71afbb;\r\n  }\r\n  img {\r\n    cursor: pointer;\r\n  }\r\n}\r\n.content {\r\n  margin-top: 14px;\r\n  margin-bottom: 0;\r\n  flex: 1;\r\n  overflow-y: auto;\r\n  position: relative;\r\n}\r\n.content1 {\r\n  overflow: hidden;\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n.layer {\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 70px;\r\n  background: linear-gradient(\r\n    to bottom,\r\n    rgba(242, 244, 245, 1),\r\n    rgba(242, 244, 245, 0.8)\r\n  );\r\n  z-index: 9;\r\n  border-radius: 5px;\r\n  box-shadow: 0 5px 15px 0 #f2f4f5;\r\n}\r\n.bg-transparent-disibled{\r\n  border-color: #777;\r\n  color: #777;\r\n\r\n}\r\n.tip {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 12px;\r\n  color: #7E878C;\r\n  line-height: 18px;\r\n}\r\n.restore {\r\n  margin-left: 13px;\r\n}\r\n.shortcuts {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 10px;\r\n  color: #A9B0B1;\r\n  line-height: 18px;\r\n}\r\n/deep/ .el-button {\r\n  &.clear {\r\n    color: #FD8B65 !important;\r\n    border-color: #FD8B65;\r\n    background-color: transparent !important;\r\n  }\r\n  &.clear.disabled {\r\n    color: #c0c4cc;\r\n    border-color: #ebeef5;\r\n    background-color: transparent !important;\r\n  }\r\n  &.exit {\r\n    background-color: #71AFBB;\r\n    color: #fff;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/pad/Mind/MyMind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loadingmind\",rawName:\"v-loadingmind\",value:({ loading: _vm.loading, msg: _vm.loadingMsg, type: _vm.loadingType }),expression:\"{ loading: loading, msg: loadingMsg, type: loadingType }\"}],staticClass:\"myMind\"},[_c('div',{staticClass:\"operates\"},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.editOutline),expression:\"!editOutline\"}],ref:\"elDropdown\",attrs:{\"trigger\":'click'},on:{\"command\":_vm.handleCommand}},[_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"type\":\"default\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.commandSpan)),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"outlineDropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_vm._v(\"大纲模式\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_vm._v(\"图片格式\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"3\"}},[_vm._v(\"PDF格式\")])],1)],1),_vm._v(\" \"),(_vm.command === '1' && _vm.courseIsuseradd != 3 && _vm.editOutline)?_c('div',{staticClass:\"withdraw\"},[_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"placement\":\"bottom\"}},[_c('div',{staticClass:\"tip\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"\\n          撤销一步 \"),_c('span',{staticClass:\"shortcuts\"},[_vm._v(_vm._s(_vm.isMac ? 'cmd+z' : 'ctrl+z'))])]),_vm._v(\" \"),(_vm.canUndo && !_vm.isEditingNode)?_c('img',{style:({ opacity: _vm.isEditingNode ? 0.5 : 1, cursor: _vm.isEditingNode ? 'not-allowed' : 'pointer' }),attrs:{\"src\":require(\"@/assets/img/withdraw.svg\")},on:{\"click\":_vm.handleUndo}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/withdraw-disabled.svg\")}})]),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"light\",\"placement\":\"bottom\"}},[_c('div',{staticClass:\"tip\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"\\n          恢复撤销 \"),_c('span',{staticClass:\"shortcuts\"},[_vm._v(_vm._s(_vm.isMac ? 'cmd+shift+z' : 'ctrl+shift+z'))])]),_vm._v(\" \"),(_vm.canRedo && !_vm.isEditingNode)?_c('img',{staticClass:\"restore\",style:({ opacity: _vm.isEditingNode ? 0.5 : 1, cursor: _vm.isEditingNode ? 'not-allowed' : 'pointer' }),attrs:{\"src\":require(\"@/assets/img/withdraw1.svg\")},on:{\"click\":_vm.handleRedo}}):_c('img',{staticClass:\"restore\",attrs:{\"src\":require(\"@/assets/img/withdraw1-disabled.svg\")}})])],1):_vm._e(),_vm._v(\" \"),(_vm.command === '1' && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"right\"},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.editOutline && _vm.data.mindmap_content && _vm.data.mindmap_content != '[]'),expression:\"!editOutline && data.mindmap_content && data.mindmap_content != '[]'\"}],ref:\"elDropdownOperate\",attrs:{\"trigger\":'click'},on:{\"command\":_vm.handleOperateCommand}},[_c('el-button',{staticClass:\"bg-transparent\",attrs:{\"type\":\"default\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.commandOperateSpan)),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"exportDropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_vm._v(\"导出图片\")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_vm._v(\"导出PDF\")])],1)],1),_vm._v(\" \"),(!_vm.editOutline)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.startEdit}},[_vm._v(\"编辑\")]):_vm._e(),_vm._v(\" \"),(_vm.editOutline)?_c('div',{staticClass:\"btn-group\"},[_c('el-button',{staticClass:\"bg-transparent clear\",class:(_vm.data && !_vm.data.mindmap_content) || _vm.isEditingNode ? 'disabled' : '',attrs:{\"disabled\":(_vm.data && !_vm.data.mindmap_content) || _vm.isEditingNode},on:{\"click\":_vm.delUserMindmapShow}},[_vm._v(\"清空\")]),_vm._v(\" \"),_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.saveMindMap]),expression:\"[saveMindMap]\"}],staticClass:\"bg-transparent\",attrs:{\"disabled\":_vm.isEditingNode}},[_vm._v(\"保存\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"bg-transparent exit\",on:{\"click\":_vm.exitEdit}},[_vm._v(\"退出编辑\")])],1):_vm._e()],1):(_vm.command === '2' && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"btn-group\"},[(!_vm.isEdit && _vm.images.length > 0)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.editImages}},[_vm._v(\"编辑\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.uploadImages}},[_vm._v(\"上传\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.downloadImages}},[_vm._v(\"下载\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.deleteImages}},[_vm._v(\"删除\")]):_vm._e(),_vm._v(\" \"),(_vm.isEdit)?_c('div',{staticClass:\"btn bg-transparent\",on:{\"click\":_vm.exitImageEdit}},[_vm._v(\"保 存\")]):_vm._e()])]):(_vm.command === '3' && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"right\"},[_c('div',[(_vm.pdfUrl)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.downloadPdf}},[_vm._v(\"下载\")]):_vm._e(),_vm._v(\" \"),(_vm.pdfUrl)?_c('el-button',{staticClass:\"bg-transparent\",on:{\"click\":_vm.deletePdfShow}},[_vm._v(\"删除\")]):_vm._e()],1)]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:_vm.command === '1' ? 'content1' : '',attrs:{\"id\":\"content\"}},[(_vm.showLayer && _vm.command === '1')?_c('div',{staticClass:\"layer\"}):_vm._e(),_vm._v(\" \"),_c('MyMindOutline',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command === '1'),expression:\"command === '1'\"}],ref:\"MyMindOutline\",attrs:{\"dataPro\":_vm.data,\"editOutline\":_vm.editOutline,\"isSaveMindMap\":_vm.isSaveMindMap,\"command\":_vm.command,\"showCollect\":_vm.showCollect,\"myMindOutlineId\":_vm.myMindOutlineId,\"treeId\":_vm.treeId,\"course_id\":_vm.course_id,\"courseIsuseradd\":_vm.courseIsuseradd,\"isBindEventBus\":true},on:{\"saveMindMap\":_vm.saveMindMap,\"scrollOutline\":_vm.scrollOutline,\"doNotSave\":_vm.doNotSave,\"exitEditCon\":_vm.exitEditCon,\"withdraw\":_vm.withdraw,\"undo\":_vm.handleUndo,\"redo\":_vm.handleRedo}}),_vm._v(\" \"),_c('MyMindImages',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command === '2'),expression:\"command === '2'\"}],ref:\"myMindImages\",attrs:{\"dataPro\":_vm.data,\"datas\":_vm.images,\"imagesName\":_vm.imagesName,\"isEdit\":_vm.isEdit,\"imageProgress\":_vm.imageProgress,\"course_id\":_vm.course_id,\"courseIsuseradd\":_vm.courseIsuseradd},on:{\"selectedImages\":_vm.selectedImages,\"uploadImages\":_vm.uploadImages,\"addUserCollection\":_vm.addUserCollectionImage}}),_vm._v(\" \"),_c('MyMindPdf',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.command === '3'),expression:\"command === '3'\"}],key:'myMindPdf',ref:\"myMindPdf\",attrs:{\"dataPro\":_vm.data,\"command\":_vm.command,\"pdfUrl\":_vm.pdfUrl,\"pdfXHRUrl\":_vm.pdfXHRUrl,\"mindmap_pdf_show\":_vm.data.mindmap_pdf_show,\"course_name\":_vm.course_name,\"mindPdfWidth\":_vm.mindPdfWidth,\"course_id\":_vm.course_id,\"courseIsuseradd\":_vm.courseIsuseradd,\"imageViewerCanvas\":'imageViewerCanvas1'},on:{\"uploadPdf\":_vm.uploadPdf}})],1),_vm._v(\" \"),_c('el-dialog',{staticClass:\"del_dialog\",attrs:{\"visible\":_vm.dialogVisibleDel,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"show-close\":_vm.type != 1,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleDel=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(_vm._s(_vm.type != 1 ? '确定删除？' : '确认清空后，当前大纲内容将全部清除，无法还原，是否确定清空？'))]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.cancel}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"bg-transparent clear\",on:{\"click\":_vm.submitDel}},[_vm._v(_vm._s(_vm.type != 1 ?'确 定' : '确定清空'))])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1617f70a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/pad/Mind/MyMind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1617f70a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MyMind.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MyMind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1617f70a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MyMind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1617f70a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/pad/Mind/MyMind.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div id=\"mindMainBox\" :class=\"[\r\n    'main-box',\r\n    fullscreen ? 'big-view-box bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\r\n  ]\">\r\n    <div class=\"box mind\" :class=\"fullscreen ? 'fullBox' : ''\">\r\n      <div\r\n        class=\"box-content-name name\"\r\n        :class=\"[\r\n          !fullscreen && isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\r\n        ]\"\r\n      >\r\n        <!-- <img\r\n          v-if=\"fullscreen\"\r\n          src=\"@/assets/img/culture.svg\"\r\n          width=\"30\"\r\n          height=\"30\"\r\n          @click=\"toggle('Mind')\"\r\n        /> -->\r\n        <span v-if=\"!fullscreen\">思维导图</span>\r\n        <span v-else class=\"cursor-pointer\" @click=\"toggle('Mind')\">思维导图</span>\r\n      </div>\r\n      <div class=\"content-box\" v-show=\"mindMapGuideMode === 1\">\r\n        <img\r\n          v-if=\"!fullscreen\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/culture_fullscreen.svg\"\r\n          @click=\"toggle('Mind')\"\r\n        />\r\n        <img\r\n          v-else\r\n          class=\"fullscreen fullscreenHover\"\r\n          :class=\"fullscreen ? 'fullscreenExit' : ''\"\r\n          src=\"@/assets/img/exit_fullscreen_culture_w.svg\"\r\n          @click=\"toggle('Mind')\"\r\n        />\r\n        <el-tabs v-model=\"activeName\" @tab-click=\"handleClick\">\r\n          <el-tab-pane label=\"我的思维导图\" name=\"1\">\r\n            <MyMind\r\n              ref=\"myMind\"\r\n              :dataPro=\"data\"\r\n              :course_id=\"course_id\"\r\n              :courseIsuseradd=\"courseIsuseradd\"\r\n              :parent=\"this\"\r\n              :isShowCommandMindmap=\"isShowCommandMindmap\"\r\n              :showCollectPro=\"showCollect\"\r\n            />\r\n          </el-tab-pane>\r\n          <el-tab-pane\r\n            label=\"推荐思维导图\"\r\n            name=\"2\"\r\n            v-if=\"courseIsuseradd == 2\"\r\n          >\r\n            <RecommendMind ref=\"RecommendMind\" :dataPro=\"data\" :activeName=\"activeName\" />\r\n          </el-tab-pane>\r\n        </el-tabs>\r\n      </div>\r\n      <!--      思维导图二级引导开始-->\r\n\r\n      <div class=\"content-box\" v-if=\"mindMapGuideMode === 0\">\r\n        <img\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/culture_fullscreen.svg\"\r\n        />\r\n        <el-tabs value=\"1\">\r\n          <el-tab-pane label=\"我的思维导图\" name=\"1\">\r\n            <GuideMyMind :dataPro=\"mockData\" :parent=\"this\" />\r\n          </el-tab-pane>\r\n          <el-tab-pane v-if=\"app_type == 2\" label=\"推荐思维导图\" name=\"2\"> </el-tab-pane>\r\n        </el-tabs>\r\n      </div>\r\n      <!--      思维导图二级引导结束-->\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport MyMind from \"./MyMind.vue\";\r\nimport GuideMyMind from \"@/views/white/GuideMyMind.vue\";\r\nimport RecommendMind from \"@/views/white/RecommendMind.vue\";\r\nimport { getMindmap, getUserCourseProgress } from \"@/api/index\";\r\nimport { getMindMap as getMindMapLo } from \"@/utils/auth\";\r\nimport { generateRandomString } from \"@/utils/util\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { mindMap_guide } from \"@/utils/intro\";\r\nimport { Base64 } from \"js-base64\";\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: { MyMind, GuideMyMind, RecommendMind },\r\n  props: {},\r\n  data() {\r\n    return {\r\n      course: {},\r\n      course_name: \"\",\r\n      activeName: \"1\",\r\n      data: {},\r\n      mockData: {\r\n        \"mindmap_id\": 190,\r\n        \"mindmap_content\": \"[{\\\"name\\\":\\\"前言\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。这也是哲学自古以来要解决的问题。那么，信仰与我们的人生有着怎样的关系呢？\\\",\\\"node\\\":[],\\\"lock\\\":2}]},{\\\"name\\\":\\\"何为幸福\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"幸福究竟是什么\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"物质层面\\\",\\\"lock\\\":2,\\\"node\\\":[{\\\"name\\\":\\\"人生在世，除了家庭、感情、工作等现实问题有待解决\\\",\\\"node\\\":[],\\\"lock\\\":2},{\\\"name\\\":\\\"人生在世，除了家庭、感情、工作等现实问题有待解决\\\",\\\"node\\\":[],\\\"lock\\\":2}]},{\\\"name\\\":\\\"幸福的定义\\\",\\\"node\\\":[],\\\"lock\\\":3}]}]}]\",\r\n        \"mindmap_image\": \"\",\r\n        \"mindmap_pdf\": \"\",\r\n        \"last_update_device\": \"f0ae17a0-330c-11ef-9223-cdca7d\",\r\n        \"last_update_at\": 1720762972,\r\n        \"mindmap_isuseradd\": 1,\r\n        \"course_recommend_studythink\": \"\",\r\n        \"course_recommend_studythinkpdf\": \"\",\r\n        \"course_default_studythink\": \"\",\r\n        \"course_recommend_studythinkpdf_show\": \"\",\r\n        \"is_collect\": 2,\r\n        \"is_collect_studythink\": \"2\",\r\n        \"is_collect_studythinkimg\": \"2\",\r\n        \"is_collect_studythinkpdf\": \"2\",\r\n        \"mindmap_image_show\": \"\",\r\n        \"mindmap_pdf_show\": \"\"\r\n      },\r\n      fullscreen: false,\r\n      mindMapGuideMode: 1,\r\n      isShowCommandMindmap: false,\r\n      showCollect: true,\r\n      prevCom: \"\",\r\n      app_type: 1,\r\n    };\r\n  },\r\n  computed: {\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseBase() {\r\n      return this.$store.getters.courseBase;\r\n    },\r\n    mindMap() {\r\n      let mindMap = this.$store.getters.mindMap;\r\n      if (mindMap) {\r\n        if (typeof mindMap === \"string\") {\r\n          return JSON.parse(mindMap);\r\n        } else {\r\n          return mindMap;\r\n        }\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    user() {\r\n      if (typeof this.$store.getters.user === \"string\") {\r\n        return JSON.parse(this.$store.getters.user);\r\n      } else {\r\n        return this.$store.getters.user;\r\n      }\r\n    },\r\n  },\r\n  watch: {\r\n    $route: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (this.whiteCom === \"Mind\" && newVal.name == 'index') {\r\n          if(this.$refs && this.$refs.myMind && this.$refs.myMind.$data) {\r\n            this.$refs.myMind.$data.editOutline = false;\r\n          }\r\n          this.getMindmap();\r\n        }\r\n      }\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal === \"Mind\") {\r\n          if(this.$refs && this.$refs.myMind && this.$refs.myMind.$data) {\r\n            this.$refs.myMind.$data.editOutline = false;\r\n          }\r\n          console.log(\"prevCom:\", this.prevCom);\r\n          if(this.prevCom == \"Icon\") {\r\n            this.prevCom == \"\";\r\n          } else {\r\n            this.getMindmap();\r\n          }\r\n          this.getUserCourseProgress();\r\n        }\r\n      }\r\n    },\r\n    courseBase: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        if (v) {\r\n          this.course_name = v.course_name;\r\n        } else {\r\n          this.course_name = \"\";\r\n        }\r\n      }\r\n    },\r\n    course_id(newVal) {\r\n      console.log(\"Mind course_id:\", newVal);\r\n      if (newVal) {\r\n        this.activeName = \"1\";\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenWhite('Mind', 'white');\r\n        if (this.$refs.RecommendMind) {\r\n          this.$refs.RecommendMind.inited = false;\r\n        }\r\n        console.log(\"getMindmap\");\r\n        this.getMindmap();\r\n      }\r\n    },\r\n    courseIsChanged(newVal) {\r\n      if (newVal) {\r\n        this.activeName = \"1\";\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenWhite('Mind', 'white');\r\n        if (this.$refs.RecommendMind) {\r\n          this.$refs.RecommendMind.inited = false;\r\n        }\r\n        console.log(\"getMindmap\");\r\n        this.getMindmap();\r\n      }\r\n    },\r\n    fullscreen(newVal) {\r\n      // 全屏是0.5s\r\n      let timeout = setTimeout(() => {\r\n        console.log(\"fullscreenfullscreen:\", newVal);\r\n        console.log(this.$refs.myMind);\r\n        console.log(this.$refs.myMind.$refs.myMindPdf);\r\n        if(this.activeName == 2) {\r\n          if(this.$refs.RecommendMind && this.$refs.RecommendMind.$refs.myMindPdfRecommend) {\r\n            this.$refs.RecommendMind.$refs.myMindPdfRecommend.readPdf();\r\n          }\r\n        } else {\r\n          if(this.$refs.myMind && this.$refs.myMind.$refs.myMindPdf) {\r\n            this.$refs.myMind.$refs.myMindPdf.readPdf();\r\n          }\r\n        }\r\n        clearTimeout(timeout);\r\n      }, 600);\r\n\r\n    },\r\n  },\r\n  methods: {\r\n    handleClick() {\r\n      console.log(\"this.data:\", this.data);\r\n      this.$nextTick(() => {\r\n        if (this.activeName == 2) {\r\n          if (\r\n            !this.$refs.RecommendMind.inited &&\r\n            !this.data.course_recommend_studythink &&\r\n            this.data.course_recommend_studythinkpdf_show\r\n          ) {\r\n            this.$refs.RecommendMind.inited = true;\r\n            let timeout = null;\r\n            timeout = setTimeout(() => {\r\n              if(this.$refs.RecommendMind.$refs.recommendPdf) {\r\n                this.$refs.RecommendMind.$refs.recommendPdf.pdfChange();\r\n              }\r\n              clearTimeout(timeout);\r\n            });\r\n          }\r\n        }\r\n      });\r\n    },\r\n    async getUserCourseProgress() {\r\n      const courseProgress = await getUserCourseProgress({\r\n        course_id: this.course_id,\r\n      });\r\n      if (courseProgress && courseProgress.code === 0) {\r\n        this.$store.dispatch(\"setCourseProgress\", courseProgress.data[0]);\r\n      }\r\n    },\r\n    async setSyncMindmapContent(mindmap_content) {\r\n      if(mindmap_content) {\r\n        this.$set(this.data, \"mindmap_content\", JSON.parse(mindmap_content))\r\n      } else {\r\n        this.$set(this.data, \"mindmap_content\", \"[]\")\r\n      }\r\n\r\n      // ============================================================\r\n      // [远程同步后清理编辑状态] 防止\"假性锁定\"问题\r\n      // 问题：远程更新数据时，本地遗留的编辑状态会阻止新的编辑操作\r\n      // 解决：强制清理 MyMindOutline 组件的编辑状态\r\n      // ============================================================\r\n      if (this.$refs.MyMindOutline && this.$refs.MyMindOutline.clearEditingStates) {\r\n        console.log('[Sync] 远程数据更新，清理编辑状态');\r\n        this.$refs.MyMindOutline.clearEditingStates();\r\n      }\r\n\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: this.data,\r\n        timeStamp: new Date().getTime(),\r\n        mindMapTimeStamp: new Date().getTime(),\r\n        isEdited: true,\r\n        isOnlyReady: false\r\n      }).then(() => {\r\n        console.log('[setSyncMindmapContent] Vuex 更新完成，调用 init');\r\n        this.$refs.myMind.init(this.data)\r\n      });\r\n      this.getUserCourseProgress();\r\n    },\r\n    async setSyncMindmapContentStart(mindmap_content) {\r\n      if(mindmap_content && mindmap_content != '[]') {\r\n        this.data.mindmap_content = JSON.parse(mindmap_content);\r\n      } else {\r\n        // 第一次连接，如果为空，则要去请求获取数据\r\n        await this.getMindmap();\r\n      }\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: this.data,\r\n        timeStamp: new Date().getTime(),\r\n        mindMapTimeStamp: new Date().getTime(),\r\n        isEdited: true, // 重新写入缓存数据\r\n        isOnlyReady: false\r\n      }).then(() => {\r\n        this.$refs.myMind.init(this.data)\r\n      });\r\n      this.getUserCourseProgress();\r\n    },\r\n    // 获取用户课程思维导图\r\n    async getMindmap(isSaveServer) {\r\n      let dataServer = {};\r\n      try {\r\n        // 每次都去请求接口拉取最新数据\r\n        console.log(\"getMindmap:\", this.course_id);\r\n        if(!this.course_id) {\r\n          return;\r\n        }\r\n        const res = await getMindmap({ course_id: this.course_id });\r\n        if (res && res.code === 0) {\r\n          dataServer = res.data[0] || {\r\n            mindmap_id: 0,\r\n            mindmap_content: \"\",\r\n            mindmap_image: \"\",\r\n            mindmap_image_show: \"\",\r\n            mindmap_pdf: \"\",\r\n            mindmap_pdf_show: \"\",\r\n            last_update_device: \"\",\r\n            last_update_at: 0,\r\n            course_recommend_studythink: \"\",\r\n            course_recommend_studythinkpdf: \"\",\r\n            course_recommend_studythinkpdf_show: \"\",\r\n            course_default_studythink: \"\",\r\n            is_collect: 2\r\n          };\r\n\r\n          if (dataServer.mindmap_content) {\r\n            this.isShowCommandMindmap = true;\r\n            this.showCollect = true;\r\n          } else {\r\n            this.isShowCommandMindmap = false;\r\n            this.showCollect = false;\r\n          }\r\n\r\n        }\r\n        else {\r\n          throw res;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error && error.msg || '获取数据失败，请重试'\r\n        // });\r\n      }\r\n\r\n      // 从内存中获取思维导图，比较最新数据\r\n      let newData = dataServer;\r\n      let mindMapTimeStamp;\r\n      let timeStamp = (newData.last_update_at || 0) * 1000;\r\n      // let isUserCache = false;\r\n      // const cacheString = getMindMapLo(this.course_id, this.user.user_id)\r\n      //   ? getMindMapLo(this.course_id, this.user.user_id)\r\n      //   : \"{}\";\r\n      // const cacheJson = JSON.parse(cacheString);\r\n      // if (\r\n      //   (cacheJson.mindMapTimeStamp && cacheJson.data && cacheJson.data.mindmap_content) &&\r\n      //   cacheJson.mindMapTimeStamp > timeStamp\r\n      // ) {\r\n      //   const cacheData = cacheJson.data || {};\r\n      //   newData = {\r\n      //     ...newData,\r\n      //     mindmap_content: cacheData.mindmap_content,\r\n      //   }\r\n      //   isUserCache = true;\r\n      // }\r\n\r\n      // if(dataServer.last_update_at === 0 || isUserCache) {\r\n      //   timeStamp = cacheJson.mindMapTimeStamp;\r\n      // }\r\n      // else {\r\n      //   timeStamp = newData.last_update_at * 1000;\r\n      // }\r\n      // mindMapTimeStamp = dataServer.last_update_at ? dataServer.last_update_at * 1000 : (+new Date());\r\n\r\n      this.data = newData;\r\n\r\n      this.$store.dispatch(\"setMindMap\", {\r\n        data: this.data,\r\n        timeStamp: timeStamp,\r\n        mindMapTimeStamp: mindMapTimeStamp,\r\n        isEdited: true, // 重新写入缓存数据\r\n        isOnlyReady: false\r\n      });\r\n\r\n      if(this.$refs.myMind.$refs.MyMindOutline) {\r\n        this.$refs.myMind.$refs.MyMindOutline.clearTimeout();\r\n      }\r\n    },\r\n    mindMap_initGuide() {\r\n      mindMap_guide(this, [\r\n        {\r\n          intro: this.app_type == 2 ? \"通过填写简单的<b>思维导图(大纲)</b>，帮你理清文章的思路脉络。也可点击查看<b>“推荐思维导图”</b>\" : \"通过填写简单的<b>思维导图(大纲)</b>，帮你理清文章的思路脉络。\",\r\n          element: document.querySelector(\"#index_step12\"),\r\n          position: \"top\"\r\n        },\r\n        {\r\n          intro: \"思维导图默认<b>大纲模式</b>，点击 “编辑” 进入编辑页面<br/>另有图片模式、PDF模式，可以直接上传档案\",\r\n          element: document.querySelector(\".guideOutlineDropdown\"),\r\n          position: \"bottom\"\r\n        },\r\n        {\r\n          intro: \"点击添加主题，进行填写\",\r\n          // element: document.querySelectorAll('.bg-transparent')[4]\r\n          element: document.querySelector(\"#mind_step2\"),\r\n          position: \"top\"\r\n        },\r\n        {\r\n          intro: \"点击已有标题，可出现格式选择，最多可填写五级目录\",\r\n          element: document.querySelectorAll(\".mindMap_step3\")[7],\r\n          position: \"left\"\r\n        },\r\n        {\r\n          intro: \"进行保存或清空思维导图\",\r\n          element: document.querySelector(\"#mind_step4\"),\r\n          position: \"bottom\"\r\n        }\r\n      ]);\r\n    },\r\n    setMindMapGuideMode(status) {\r\n      this.mindMapGuideMode = status;\r\n    },\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.setMindMapGuideMode(0);\r\n      EventBus.$emit(\"setCultureGuideMode\", 0);\r\n      setTimeout(() => {\r\n        this.mindMap_initGuide();\r\n      }, 800);\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {},\r\n  mounted() {\r\n    if (this.courseBase) {\r\n      this.course_name = this.courseBase.course_name;\r\n    } else {\r\n      this.course_name = \"\";\r\n    }\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.getMindmap();\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", whiteCom => {\r\n      if (whiteCom === \"Mind\") {\r\n        this.toggle(whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"mind_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n    EventBus.$on(\"HIDE_WHITE_ICON\", () => {\r\n      console.log(\"HIDE_WHITE_ICON:\", this.whiteCom);\r\n      this.prevCom = this.whiteCom;\r\n    });\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    console.log(\"guideStatus\", guideStatus);\r\n    //首次弹出思维导图二级-触发思维导图引导\r\n    if (guideStatus.mindMap === 0) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n    EventBus.$on(\"setSyncMindmapContent\", (mindmap_content) => {\r\n      this.setSyncMindmapContent(mindmap_content);\r\n    });\r\n    EventBus.$on(\"setSyncMindmapContentStart\", (mindmap_content) => {\r\n      this.setSyncMindmapContentStart(mindmap_content);\r\n    });\r\n\r\n    EventBus.$on(\"updatenotsaved\", (mindmap_content) => {\r\n      this.setSyncMindmapContent(mindmap_content);\r\n    });\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-box{\r\n  height: 100%;\r\n  overflow-y: hidden;\r\n  background:none;\r\n}\r\n.box-content-name {\r\n  margin-bottom: 0;\r\n  padding-bottom: 12px;\r\n}\r\n.content-box {\r\n  padding: 21px 0 24px 0;\r\n  // border: 1px solid #f2f4f5;\r\n  // border-radius: 16px;\r\n  // background-color: #f2f4f5;\r\n  height: calc(100% - 140px);\r\n  // min-height: calc(100% - 24px);\r\n  // min-height: 388px;\r\n  position: relative;\r\n  overflow: visible;\r\n  flex: 1;\r\n  // margin-bottom: 20px;\r\n}\r\n.box {\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.name {\r\n  color: @culture;\r\n}\r\n.content {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 23px;\r\n  height: calc(100% - 110px);\r\n  min-height: 270px;\r\n  overflow-y: auto;\r\n  // padding-bottom: 23px;\r\n  margin-top: 39px;\r\n}\r\n.mind {\r\n  /deep/ .el-tabs__header {\r\n    padding-left: 39px;\r\n  }\r\n  /deep/ .el-tabs__nav-wrap {\r\n    &::after {\r\n      background-color: #f3f3f7;\r\n    }\r\n  }\r\n  /deep/ .el-tabs__item {\r\n    height: 30px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #7e878c;\r\n    line-height: 21px;\r\n    padding: 0;\r\n    // &:last-of-type {\r\n    //   margin-left: 40px;\r\n    // }\r\n    &:not(:last-of-type) {\r\n      margin-right: 40px;\r\n    }\r\n  }\r\n  /deep/ .el-tabs__item.is-active {\r\n    color: @culture;\r\n    border-bottom: 3px solid @culture;\r\n  }\r\n  /deep/ .el-tabs__active-bar {\r\n    background-color: @culture;\r\n    height: 3px;\r\n    display: none;\r\n  }\r\n}\r\n\r\n.title {\r\n  font-size: 21px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: @culture;\r\n  line-height: 32px;\r\n}\r\n/deep/ .el-button {\r\n  border-color: @culture;\r\n  color: @culture;\r\n}\r\n\r\n/deep/ .el-tabs {\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n/deep/ .el-tabs__header {\r\n  margin: 0 0 14px;\r\n}\r\n/deep/ .el-tabs__content {\r\n  overflow: visible;\r\n  flex: 1;\r\n  overflow: hidden;\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/pad/Mind/Mind.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  'main-box',\n  _vm.fullscreen ? 'big-view-box bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\n],attrs:{\"id\":\"mindMainBox\"}},[_c('div',{staticClass:\"box mind\",class:_vm.fullscreen ? 'fullBox' : ''},[_c('div',{staticClass:\"box-content-name name\",class:[\n        !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-box-content-name' : ''\n      ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"思维导图\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle('Mind')}}},[_vm._v(\"思维导图\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mindMapGuideMode === 1),expression:\"mindMapGuideMode === 1\"}],staticClass:\"content-box\"},[(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/culture_fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle('Mind')}}}):_c('img',{staticClass:\"fullscreen fullscreenHover\",class:_vm.fullscreen ? 'fullscreenExit' : '',attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_culture_w.svg\")},on:{\"click\":function($event){return _vm.toggle('Mind')}}}),_vm._v(\" \"),_c('el-tabs',{on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"我的思维导图\",\"name\":\"1\"}},[_c('MyMind',{ref:\"myMind\",attrs:{\"dataPro\":_vm.data,\"course_id\":_vm.course_id,\"courseIsuseradd\":_vm.courseIsuseradd,\"parent\":this,\"isShowCommandMindmap\":_vm.isShowCommandMindmap,\"showCollectPro\":_vm.showCollect}})],1),_vm._v(\" \"),(_vm.courseIsuseradd == 2)?_c('el-tab-pane',{attrs:{\"label\":\"推荐思维导图\",\"name\":\"2\"}},[_c('RecommendMind',{ref:\"RecommendMind\",attrs:{\"dataPro\":_vm.data,\"activeName\":_vm.activeName}})],1):_vm._e()],1)],1),_vm._v(\" \"),(_vm.mindMapGuideMode === 0)?_c('div',{staticClass:\"content-box\"},[_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/culture_fullscreen.svg\")}}),_vm._v(\" \"),_c('el-tabs',{attrs:{\"value\":\"1\"}},[_c('el-tab-pane',{attrs:{\"label\":\"我的思维导图\",\"name\":\"1\"}},[_c('GuideMyMind',{attrs:{\"dataPro\":_vm.mockData,\"parent\":this}})],1),_vm._v(\" \"),(_vm.app_type == 2)?_c('el-tab-pane',{attrs:{\"label\":\"推荐思维导图\",\"name\":\"2\"}}):_vm._e()],1)],1):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a9be5064\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/pad/Mind/Mind.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a9be5064\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Mind.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Mind.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Mind.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a9be5064\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Mind.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a9be5064\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/pad/Mind/Mind.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div style=\"height: 100%\"\r\n  :class=\"[\r\n    fullscreen && !showTipsViewDetail ? 'big-view-box bg-white' : '',\r\n    fullscreen && showTipsViewDetail ? 'big-view bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni\r\n      ? !showTipsViewDetail\r\n        ? 'outof-big-view-box'\r\n        : 'outof-big-view'\r\n      : ''\r\n  ]\">\r\n    <div v-show=\"!showTipsViewDetail || tipsViewGuideMode === 0\"\r\n      class=\"main-content\"\r\n      :class=\"fullscreen ? 'fullBox' : ''\">\r\n      <div class=\"box\">\r\n        <div class=\"box-content-name name\"\r\n          :class=\"[\r\n            !fullscreen && isNeedOutFullscreenAni\r\n              ? 'outof-box-content-name'\r\n              : ''\r\n          ]\">\r\n          <!-- <img src=\"@/assets/img/thinking.svg\" v-if=\"fullscreen\" @click=\"toggle('TipsView')\" /> -->\r\n          <span v-if=\"!fullscreen\">观修文</span>\r\n          <span v-else class=\"cursor-pointer\"  @click=\"toggle('TipsView')\">观修文</span>\r\n        </div>\r\n        <div class=\"content-box content-box1\">\r\n          <!-- 有官方音频观修文 -->\r\n          <div\r\n            style=\"width: 100%;\">\r\n            <div class=\"meditate_audio\"\r\n              v-if=\"\r\n                meditate &&\r\n                  meditate.meditate_audio_url_show != '' &&\r\n                  meditate.meditate_audio_url_show != undefined && tipsViewGuideMode !== 0\r\n              \">\r\n              <div class=\"playArea\"\r\n                v-if=\"playing\"></div>\r\n              <AudioCom :bgColor=\"'#64AFD5'\"\r\n                :progressColor=\"'rgba(100,175,213,0.2500)'\"\r\n                :title=\"'观念的禅修-观修文'\"\r\n                :url=\"meditate ? meditate.meditate_audio_url_show : ''\"\r\n                :currentTimeProp=\"\r\n                  courseProgress\r\n                    ? courseProgress.progress_meditate_siwei_long + ''\r\n                    : '0'\r\n                \"\r\n                :needPlay=\"playing\"\r\n                ref=\"audioComTipsview\"\r\n                @changeCurrentTime=\"changeCurrentTime\"\r\n                @play=\"play\"\r\n                @pause=\"pause\"\r\n                @setCurrentTime=\"setCurrentTime\" />\r\n              <div class=\"meditate_silent\">\r\n                <span @click=\"toSilencePage\">\r\n                  进入止静<span style=\"width:0;height:0;overflow:hidden;display:inline-block;\">{{fullscreen}}</span>\r\n                  <img src=\"@/assets/img/silent_arrow.png\" />\r\n                </span>\r\n              </div>\r\n            </div>\r\n            <div class=\"meditate_useradd\"\r\n              v-else>\r\n              <div class=\"meditate\">\r\n                <div class=\"meditate_content\">\r\n                  <p class=\"title\">观察修</p>\r\n                  <p>\r\n                    通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\r\n                  </p>\r\n                </div>\r\n                <div class=\"meditate_content\">\r\n                  <p class=\"title\">安住修</p>\r\n                  <p>\r\n                    我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\r\n                  </p>\r\n                </div>\r\n              </div>\r\n              <div class=\"btn-wrapper\" v-if=\"courseIsuseradd != 3 || tipsViewGuideMode === 0\">\r\n                <el-dropdown trigger=\"click\"\r\n                  id=\"tipsView_step1\"\r\n                  ref=\"elDropdown\"\r\n                  @command=\"handleCommand\">\r\n                  <span class=\"el-dropdown-link btn bg-transparent\">\r\n                    <span>添加观修文</span>\r\n                  </span>\r\n                  <el-dropdown-menu slot=\"dropdown\"\r\n                    class=\"dropdown\">\r\n                    <el-dropdown-item command=\"2\">\r\n                      <span>添加观修音频 </span>\r\n                      <img class=\"meditateAu\"\r\n                        src=\"@/assets/img/mediateAudio.png\" />\r\n                    </el-dropdown-item>\r\n                    <el-dropdown-item command=\"1\">\r\n                      <span>添加观修文字</span>\r\n                      <img class=\"meditateEdit\"\r\n                        src=\"@/assets/img/editMeditate.svg\" />\r\n                    </el-dropdown-item>\r\n                  </el-dropdown-menu>\r\n                </el-dropdown>\r\n              </div>\r\n              <div class=\"guide_meditate_silent\" id=\"tipsView_step2\" style=\"margin-top: 30px;margin-left:15px\">\r\n                <span @click=\"toSilencePage\">\r\n                  进入止静<span style=\"width:0;height:0;overflow:hidden;display:inline-block;\">{{fullscreen}}</span>\r\n                  <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAA9tJREFUaEPt2V1oHFUUB/Bz7qabpDZNQMlDkz5UiXamvghFQR80qWs1sZmsYAp+VNTdTYkYDRSsILogWhBMUWNtJotVsH6XnQ2lNo1F8EF90AcfZgatVdQGUpRiaUzitpm/zGZ3s4jYJjP31pa9T/twmfP/3XNn54vpMhl8mTioCvm/dbLakWpHJK1A4K2VsuwBD3x3RIihEWP9YUk5z3vYQJDUxPFG/Dn3O0A1zHQOQmzLdGvvnbeqhAmBIH6epOV8BeAm/zcTeyz4EdPQ3paQ9T8PGRiyffyH5nMz+aNEuL5QiRkE3p6Ja6ZKTGCIH/axT90r/5rGBAE3lDCCecA0tGFVmFAgftgnsz81TdPMOBHdWAovSOww49rLKjChQfywjx86tno2nz9EoFvKGOZnzB79BdmYUCF+2B3jU1f8MXvqIAG3lcMLfj5j6M/KxIQO8cMOfvFr/ZmTZ3JEiJXCs+CXRg39KVkYKZDiNqudy589AKCrHJ7Fq5ke7QkZGGkQP2zaRnTymPs+gHi5M8x7TUPrZ/9vOsQhFVLAfIaaE6fddwjYutgZ2tdq6Ik0sxeWRTrED/ohEJnIufsAPFiBefcOQ9/WyzwfBkYJpNAZQJzIuSMEJBa3GX3Mrfp95kY+GxSjDOIHBcCpnDsMoL8CM9bSpt+b3sD5IBilkFLQpOUMARis2GaHWxtXxtPt6+aWi7koED9sMmu/CKKny50hPjIa1zdfchA/cMKy3yTQw4vhxcZMXPtmOZiL15Ex91aa9w6CaFUhONNUQ/Pqq3ffvHb2koH05ZyYB1gArSwiTrKgTaPdG+zlIBbWQfHos5zOeaIDBNQVAjBP1rDY9Iax/rsgUZRCUlmnxyN8QETRBQT9wtFoh9nZdjwIQmlHkmN2L3m0339RUQz9Y22UO17v0n8OilAG6cvZD8x7/BYRIgtF+ftITaRj75brJsNAKIEkss6jTGSCIIrnhL1iRf3te7rWTYWFkA5JWk4/iIYJKJyLTPRtXW009lpn229hIqRCUpYz6AFD5cDMXzfUNWzefefaU2EjpEFSlrvTg7drMTB/KVbV3mXGrjktAyEFksi5z5HnpSs68Xm08aquPe3N07IQoUMSlr2LQDsrEEdFpKnb3LJmRiYiVMg/b82Z+JOWpvp7gtyaLwUf+Mr+rw9LxLmWa7XeoA9LSiEJy32F4A2UijLTR9yq3x/G46sySOX3keK90/6YoT8U1gsFZRC/UCLrHGFGOxOPrDG0gTBf8SiF+MX8zsi8RlwIKPDJfiFFVMypQlSs8lJqVDuylNVSMbfaERWrvJQafwNYPktCGGfJbQAAAABJRU5ErkJggg==\">\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <img v-if=\"!fullscreen\"\r\n            class=\"fullscreen fullscreenHover\"\r\n            src=\"@/assets/img/fullscreen.svg\"\r\n            @click=\"toggle('TipsView')\" />\r\n        </div>\r\n\r\n      </div>\r\n\r\n    </div>\r\n    <TipsViewDetail v-if=\"showTipsViewDetail && tipsViewGuideMode === 1\"\r\n      :key=\"'TipsViewDetailThink'\"\r\n      :meditate_type_prop=\"'1'\"\r\n      @toggle=\"toggle('TipsView')\"\r\n      :fullscreen=\"fullscreen\"\r\n      :isNeedOutFullscreenAni=\"isNeedOutFullscreenAni\"\r\n      @toTipsViewAdd=\"toTipsViewAdd\"\r\n      @toSilencePage=\"toSilencePage\" />\r\n\r\n    <!-- <div v-if=\"tipsViewGuideMode === 0\"\r\n      class=\"main-content\">\r\n      <div class=\"box\">\r\n        <div class=\"box-content-name name\">观修文</div>\r\n        <div class=\"content-box content-box1\">\r\n          <div class=\"meditate_useradd\">\r\n            <div class=\"meditate\">\r\n              <div class=\"meditate_content\">\r\n                <p class=\"title\">观察修</p>\r\n                <p>\r\n                  通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\r\n                </p>\r\n              </div>\r\n              <div class=\"meditate_content\">\r\n                <p class=\"title\">安住修</p>\r\n                <p>\r\n                  我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\r\n                </p>\r\n              </div>\r\n            </div>\r\n            <div class=\"btn-wrapper\">\r\n              <div id=\"tipsView_step1\"\r\n                class=\"btn bg-transparent\">添加观修文</div>\r\n            </div>\r\n            <div class=\"meditate_silent\">\r\n              <span id=\"tipsView_step2\">进入止静<img src=\"@/assets/img/silent_arrow.png\" />\r\n              </span>\r\n            </div>\r\n          </div>\r\n          <img v-if=\"!fullscreen\"\r\n            class=\"fullscreen fullscreenHover\"\r\n            src=\"@/assets/img/fullscreen.svg\"\r\n            @click=\"toggle('TipsView')\" />\r\n        </div>\r\n      </div>\r\n    </div> -->\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport AudioCom from \"@/components/AudioCom\";\r\nimport TipsViewDetail from \"./TipsViewDetail\";\r\nimport Silence from \"./Silence.vue\";\r\nimport { editMeditateTime } from \"@/api/index.js\";\r\nimport {\r\n  EventBus,\r\n  WHITE_THINK_MEDITATE,\r\n} from \"@/utils/eventBus\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport { tipsView_guide } from \"@/utils/intro\";\r\n\r\nexport default {\r\n  mixins: [fullscreenMixins, openOtherPageMixins],\r\n  components: {\r\n    AudioCom,\r\n    TipsViewDetail,\r\n    Silence,\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      // showErweima: false,\r\n      type: \"\",\r\n      // 编辑添加观修文\r\n      showTipsViewAdd: false,\r\n      // 观修文文字详情页面\r\n      showTipsViewDetail: false,\r\n      playing: false,\r\n      tipsViewGuideMode: 1,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    meditate() {\r\n      console.log(\"meditate:\", this.$store.getters.thinkMeditate);\r\n      return this.$store.getters.thinkMeditate;\r\n    },\r\n    progress_meditate_siwei_long() {\r\n      return this.$store.getters.progress_meditate_siwei_long;\r\n    },\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal || newVal == 0) {\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('TipsView', 'white');\r\n        }\r\n      },\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('TipsView', 'white');\r\n        }\r\n      },\r\n    },\r\n    meditate: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          this.init();\r\n        }\r\n      },\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (this.$route.name !== \"index\") {\r\n          if (this.$refs.audioComTipsview) {\r\n            this.$refs.audioComTipsview.pause();\r\n          }\r\n        }\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    handleCommand(e) {\r\n      if (e == 1) {\r\n        this.toTipsViewAdd();\r\n      } else {\r\n        this.toTAudioAdd();\r\n      }\r\n    },\r\n    init() {\r\n      if (\r\n        this.meditate &&\r\n        !this.meditate.meditate_audio_url_show &&\r\n        (this.meditate.meditate_anzhu_text ||\r\n          this.meditate.meditate_guancha_text)\r\n      ) {\r\n        // 无官方音频但有官方文字或者自定义文字\r\n        this.showTipsViewDetail = true;\r\n      } else {\r\n        // 无官方音频和文字\r\n        this.showTipsViewDetail = false;\r\n      }\r\n    },\r\n    // 观修文详情\r\n    goTipsViewDetail() {\r\n      this.showTipsViewDetail = true;\r\n    },\r\n    // 新增观修文音频\r\n    toTAudioAdd() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\",\r\n      //   });\r\n      //   return;\r\n      // }\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push({\r\n          path: \"/white/TAudioAdd\",\r\n          query: {\r\n            meditate_type: \"1\",\r\n          },\r\n      });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    // 新增编辑观修文\r\n    toTipsViewAdd() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\",\r\n      //   });\r\n      //   return;\r\n      // }\r\n      this.$router.push({\r\n        path: \"/white/TipsViewAdd\",\r\n        query: {\r\n          meditate_type: \"1\",\r\n        },\r\n      });\r\n    },\r\n    // 止静页面\r\n    toSilencePage() {\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push({\r\n          path: \"/white/Silence\",\r\n          query: {\r\n            meditate_type: \"1\",\r\n          },\r\n      });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    // 播放\r\n    play() {\r\n      this.playing = true;\r\n      console.log(\"WHITE_THINK_MEDITATE\", true);\r\n      EventBus.$emit(WHITE_THINK_MEDITATE, true);\r\n    },\r\n    // 暂停\r\n    async pause(currentTime) {\r\n      if (!currentTime) {\r\n        return;\r\n      }\r\n      if (currentTime < 1) {\r\n        currentTime = 1;\r\n      }\r\n      try {\r\n        this.playing = false;\r\n        console.log(\"setThinkMeditateLong:\", currentTime);\r\n        this.$store.dispatch(\"setThinkMeditateLong\", Math.floor(currentTime)).then(() => {\r\n          EventBus.$emit(WHITE_THINK_MEDITATE, false);\r\n        });\r\n        const params = {\r\n          seconds: currentTime,\r\n          course_id: this.course_id,\r\n          type: 1,\r\n          total_seconds: this.meditate.totalTime,\r\n        };\r\n        const res = await editMeditateTime(params);\r\n        if (res && res.code === 0) {\r\n          const data = res.data[0];\r\n          if (data) {\r\n            if (this.meditate.totalTime == currentTime) {\r\n              this.$store.dispatch(\"setCourseProgress\", {\r\n                ...this.courseProgress,\r\n                progress_meditate_siwei_complete: 1,\r\n              });\r\n            }\r\n          } else {\r\n            this.$store.dispatch(\"setThinkMeditateLong\", 0);\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async changeCurrentTime(currentTime) {\r\n      if (!currentTime) {\r\n        return;\r\n      }\r\n      if (currentTime < 1) {\r\n        currentTime = 1;\r\n      }\r\n      try {\r\n        this.$store.dispatch(\"setThinkMeditateLong\", Math.floor(currentTime)).then(() => {\r\n          console.log(\"WHITE_THINK_MEDITATE:\", false);\r\n          EventBus.$emit(WHITE_THINK_MEDITATE, true);\r\n        });\r\n        const params = {\r\n          seconds: currentTime + \"\",\r\n          course_id: this.course_id,\r\n          type: 1,\r\n          total_seconds: this.meditate.totalTime,\r\n        };\r\n        const res = await editMeditateTime(params);\r\n        if (res && res.code === 0) {\r\n          const data = res.data[0];\r\n          if (data) {\r\n            if (this.meditate.totalTime == currentTime) {\r\n              this.$store.dispatch(\"setCourseProgress\", {\r\n                ...this.courseProgress,\r\n                progress_meditate_siwei_complete: 1,\r\n              });\r\n            }\r\n          } else {\r\n            this.$store.dispatch(\"setThinkMeditateLong\", 0);\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 播放当前的时间currentTime\r\n    setCurrentTime(currentTime) {\r\n      this.$store.dispatch(\"setThinkMeditateLong\", Math.floor(currentTime));\r\n    },\r\n    setTipsViewGuideMode(status) {\r\n      this.tipsViewGuideMode = status;\r\n    },\r\n    setShowTipsViewDetail(status) {\r\n      this.showTipsViewDetail = status;\r\n    },\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.setTipsViewGuideMode(0);\r\n      let timeout = setTimeout(() => {\r\n        this.tipsView_initGuide();\r\n        clearTimeout(timeout);\r\n      }, 600);\r\n    },\r\n    tipsView_initGuide() {\r\n      EventBus.$emit(\"setThinkingGuideMode\", 0);\r\n      tipsView_guide(this, [\r\n        {\r\n          intro: \"通过 “问题解决” ，确定了正确观念，并不断熟悉这个正确观念\",\r\n          element: document.querySelector(\"#index_step15\"),\r\n          position: \"top\",\r\n        },\r\n        {\r\n          intro: \"可以添加自己的<b>观修文</b> (音频/文字)\",\r\n          element: document.querySelector(\"#tipsView_step1\"),\r\n          position: \"top\",\r\n        },\r\n        {\r\n          intro: \"阅读界面上的文字后，直接进入止静的页面\",\r\n          element: document.querySelector(\"#tipsView_step2\"),\r\n          position: \"top\",\r\n        },\r\n      ]);\r\n    },\r\n  },\r\n  activated() {\r\n    console.log(\"tipsView activated\");\r\n  },\r\n  deactivated() {\r\n    console.log(\"tipsView deactivated\");\r\n    EventBus.$emit(WHITE_THINK_MEDITATE, false);\r\n    if (this.$refs.audioComTipsview) {\r\n      this.$refs.audioComTipsview.pause();\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if (guideStatus.meditate_1 === 0) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n    EventBus.$on(\"toMeditateDetail\", () => {\r\n      this.goTipsViewDetail();\r\n    });\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", (whiteCom) => {\r\n      if (whiteCom === \"TipsView\") {\r\n        this.toggle(whiteCom);\r\n      }\r\n    });\r\n    this.init();\r\n    EventBus.$on(\"tipsView_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n    // 观念观修文\r\n    EventBus.$on(WHITE_THINK_MEDITATE, (playing) => {\r\n      if (playing) {\r\n        if (this.$refs.audioComTipsview && !this.playing) {\r\n          this.playing = playing;\r\n          this.$refs.audioComTipsview.play(true);\r\n        }\r\n      } else {\r\n        this.playing = playing;\r\n        if (this.$refs.audioComTipsview) {\r\n          this.$refs.audioComTipsview.pause(true);\r\n        }\r\n      }\r\n    });\r\n\r\n    // 保存完观修文之后然后执行\r\n    EventBus.$on(\"CONTENT_CONFIRM_LOGO\", whiteCom => {\r\n      console.log(\"CONTENT_CONFIRM_LOGO TipsView:\", whiteCom, this.pageName)\r\n      if (this.whiteCom === \"TipsView\" && this.fullscreen) {\r\n        this.toggle(this.whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"CONTENT_CONFIRM_COURSE\", whiteCom => {\r\n      console.log(\"CONTENT_CONFIRM_LOGO Beha:\", whiteCom, this.pageName)\r\n      if (this.whiteCom === \"TipsView\" && this.fullscreen) {\r\n        this.toggle(this.whiteCom);\r\n      }\r\n    })\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.fullBox {\r\n  .content-box1 {\r\n    background: url(\"~@/assets/img/silence_bg.png\") no-repeat;\r\n    background-position: center center;\r\n    background-size: contain;\r\n  }\r\n}\r\n.main-content {\r\n  height: 100%;\r\n  .content-box {\r\n    // height: calc(100vh - 190px);\r\n  }\r\n}\r\n.dropdown {\r\n  border-radius: 10px !important;\r\n  width: 234px;\r\n  transform: translateX(10%);\r\n}\r\n/deep/ .popper__arrow {\r\n  display: block;\r\n  transform: translateX(-200%);\r\n}\r\n/deep/ .el-dropdown-menu {\r\n  padding: 10px 15px;\r\n  border-radius: 10px !important;\r\n}\r\n/deep/ .el-dropdown-link {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #64afd5;\r\n  line-height: 24px;\r\n}\r\n/deep/ .el-dropdown-menu__item {\r\n  display: flex;\r\n  align-items: center;\r\n  font-size: 18px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #64afd5;\r\n  line-height: 27px;\r\n  padding: 20px 10px 20px 10px;\r\n  background-color: #fff;\r\n  justify-content: center;\r\n  &:first-of-type {\r\n    border-bottom: 1px solid #f3f3f4;\r\n  }\r\n  .meditateAu {\r\n    width: 19px;\r\n    height: 24px;\r\n  }\r\n  .meditateEdit {\r\n    width: 18px;\r\n    height: 23px;\r\n  }\r\n  img {\r\n    margin: 0 5px 0 16px;\r\n  }\r\n}\r\n/deep/ .el-dropdown-menu__item:hover {\r\n  background-color: #fff;\r\n}\r\n/deep/ .el-dropdown-menu__item {\r\n  &:last-of-type {\r\n    padding-bottom: 25px;\r\n  }\r\n}\r\n// .erweima-wrapper {\r\n//   display: flex;\r\n//   flex-direction: column;\r\n//   align-items: center;\r\n//   justify-content: center;\r\n//   .tips {\r\n//     font-size: 14px;\r\n//     font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n//     font-weight: 400;\r\n//     color: #7e878c;\r\n//     line-height: 25px;\r\n//     padding-bottom: 10px;\r\n//     padding-top: 7px;\r\n//     .bold {\r\n//       color: #000;\r\n//     }\r\n//     p {\r\n//       text-align: center;\r\n//     }\r\n//   }\r\n// }\r\n.box {\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .audio-header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n  }\r\n}\r\n.content-box {\r\n  flex: 1;\r\n  min-height: 388px;\r\n  background: #f2f4f5 url(\"~@/assets/img/silence_bg.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  flex-direction: column;\r\n  position: relative;\r\n  .meditate_silent {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    color: #64afd5;\r\n    line-height: 31px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    width:130px;\r\n    margin: 30px auto 0 auto;\r\n    span {\r\n      cursor: pointer;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      position: relative;\r\n    }\r\n    img {\r\n      width: 11px;\r\n      height: 19px;\r\n      margin-top: 2px;\r\n      left: 90px;\r\n      position: absolute;\r\n    }\r\n  }\r\n}\r\n.content-box1 {\r\n  background: #f2f4f5 url(\"~@/assets/img/silence_bg.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n}\r\n.meditate_audio {\r\n  padding-top: 161px;\r\n  width: 100%;\r\n}\r\n.playArea {\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: url(\"~@/assets/img/tipsview_bg02.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n  animation: pl 4s linear infinite;\r\n  @keyframes pl {\r\n    0% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n      opacity: 0;\r\n    }\r\n    25% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n      opacity: 0.5;\r\n    }\r\n    50% {\r\n      transform: scale(1);\r\n      -webkit-transform: scale(1);\r\n      opacity: 1;\r\n    }\r\n    75% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n      opacity: 0.5;\r\n    }\r\n    100% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n      opacity: 0;\r\n    }\r\n  }\r\n}\r\n.meditate_useradd {\r\n  width: 100%;\r\n  height: 100%;\r\n  // background-image: url(\"~@/assets/img/tipsview_bg03.png\");\r\n  // background-repeat: no-repeat;\r\n  // background-size: cover;\r\n  // background-position: center center;\r\n  .meditate {\r\n    padding-top: 120px;\r\n    padding-bottom: 9vh;\r\n    width: 345px;\r\n    margin: 0 auto;\r\n    .meditate_content {\r\n      text-align: center;\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #335160;\r\n      line-height: 31px;\r\n      &:nth-of-type(2) {\r\n        padding-top: 35px;\r\n      }\r\n      .title {\r\n        font-size: 16px;\r\n        font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n        font-weight: 500;\r\n        color: #335160;\r\n        line-height: 28px;\r\n        padding-bottom: 4px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .btn-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n  .btn {\r\n    width: 178px;\r\n    height: 50px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    border-radius: 25px;\r\n    border: 1px solid #64afd5;\r\n    color: #64afd5;\r\n    text-align: center;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 400;\r\n    cursor: pointer;\r\n  }\r\n}\r\n\r\n.edit {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #64afd5;\r\n  line-height: 24px;\r\n  border-bottom: 2px solid #64afd5;\r\n  right: 60px;\r\n  padding: 0 5px 2px;\r\n}\r\n.name {\r\n  color: @thinking;\r\n}\r\n.content {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 23px;\r\n  height: 60%;\r\n  min-height: 270px;\r\n  overflow-y: auto;\r\n  padding-bottom: 10px;\r\n  margin-top: 39px;\r\n}\r\n.title {\r\n  font-size: 21px;\r\n  font-family: \"SourceHanSansCN-Medium\";\r\n  font-weight: 500;\r\n  color: @culture;\r\n  line-height: 32px;\r\n}\r\n.operates {\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n/deep/ .el-button {\r\n  border-color: #64afd5;\r\n  color: #64afd5;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n.mobile-app {\r\n  .meditate_useradd {\r\n    .meditate{\r\n      padding-top: 9vh;\r\n    }\r\n  }\r\n}\r\n/deep/ .onlyShowBar {\r\n  justify-content: center !important;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/TipsView.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  _vm.fullscreen && !_vm.showTipsViewDetail ? 'big-view-box bg-white' : '',\n  _vm.fullscreen && _vm.showTipsViewDetail ? 'big-view bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni\n    ? !_vm.showTipsViewDetail\n      ? 'outof-big-view-box'\n      : 'outof-big-view'\n    : ''\n],staticStyle:{\"height\":\"100%\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showTipsViewDetail || _vm.tipsViewGuideMode === 0),expression:\"!showTipsViewDetail || tipsViewGuideMode === 0\"}],staticClass:\"main-content\",class:_vm.fullscreen ? 'fullBox' : ''},[_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"box-content-name name\",class:[\n          !_vm.fullscreen && _vm.isNeedOutFullscreenAni\n            ? 'outof-box-content-name'\n            : ''\n        ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"观修文\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle('TipsView')}}},[_vm._v(\"观修文\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content-box content-box1\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[(\n              _vm.meditate &&\n                _vm.meditate.meditate_audio_url_show != '' &&\n                _vm.meditate.meditate_audio_url_show != undefined && _vm.tipsViewGuideMode !== 0\n            )?_c('div',{staticClass:\"meditate_audio\"},[(_vm.playing)?_c('div',{staticClass:\"playArea\"}):_vm._e(),_vm._v(\" \"),_c('AudioCom',{ref:\"audioComTipsview\",attrs:{\"bgColor\":'#64AFD5',\"progressColor\":'rgba(100,175,213,0.2500)',\"title\":'观念的禅修-观修文',\"url\":_vm.meditate ? _vm.meditate.meditate_audio_url_show : '',\"currentTimeProp\":_vm.courseProgress\n                  ? _vm.courseProgress.progress_meditate_siwei_long + ''\n                  : '0',\"needPlay\":_vm.playing},on:{\"changeCurrentTime\":_vm.changeCurrentTime,\"play\":_vm.play,\"pause\":_vm.pause,\"setCurrentTime\":_vm.setCurrentTime}}),_vm._v(\" \"),_c('div',{staticClass:\"meditate_silent\"},[_c('span',{on:{\"click\":_vm.toSilencePage}},[_vm._v(\"\\n                进入止静\"),_c('span',{staticStyle:{\"width\":\"0\",\"height\":\"0\",\"overflow\":\"hidden\",\"display\":\"inline-block\"}},[_vm._v(_vm._s(_vm.fullscreen))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/silent_arrow.png\")}})])])],1):_c('div',{staticClass:\"meditate_useradd\"},[_vm._m(0),_vm._v(\" \"),(_vm.courseIsuseradd != 3 || _vm.tipsViewGuideMode === 0)?_c('div',{staticClass:\"btn-wrapper\"},[_c('el-dropdown',{ref:\"elDropdown\",attrs:{\"trigger\":\"click\",\"id\":\"tipsView_step1\"},on:{\"command\":_vm.handleCommand}},[_c('span',{staticClass:\"el-dropdown-link btn bg-transparent\"},[_c('span',[_vm._v(\"添加观修文\")])]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"dropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_c('span',[_vm._v(\"添加观修音频 \")]),_vm._v(\" \"),_c('img',{staticClass:\"meditateAu\",attrs:{\"src\":require(\"@/assets/img/mediateAudio.png\")}})]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_c('span',[_vm._v(\"添加观修文字\")]),_vm._v(\" \"),_c('img',{staticClass:\"meditateEdit\",attrs:{\"src\":require(\"@/assets/img/editMeditate.svg\")}})])],1)],1)],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"guide_meditate_silent\",staticStyle:{\"margin-top\":\"30px\",\"margin-left\":\"15px\"},attrs:{\"id\":\"tipsView_step2\"}},[_c('span',{on:{\"click\":_vm.toSilencePage}},[_vm._v(\"\\n                进入止静\"),_c('span',{staticStyle:{\"width\":\"0\",\"height\":\"0\",\"overflow\":\"hidden\",\"display\":\"inline-block\"}},[_vm._v(_vm._s(_vm.fullscreen))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAA9tJREFUaEPt2V1oHFUUB/Bz7qabpDZNQMlDkz5UiXamvghFQR80qWs1sZmsYAp+VNTdTYkYDRSsILogWhBMUWNtJotVsH6XnQ2lNo1F8EF90AcfZgatVdQGUpRiaUzitpm/zGZ3s4jYJjP31pa9T/twmfP/3XNn54vpMhl8mTioCvm/dbLakWpHJK1A4K2VsuwBD3x3RIihEWP9YUk5z3vYQJDUxPFG/Dn3O0A1zHQOQmzLdGvvnbeqhAmBIH6epOV8BeAm/zcTeyz4EdPQ3paQ9T8PGRiyffyH5nMz+aNEuL5QiRkE3p6Ja6ZKTGCIH/axT90r/5rGBAE3lDCCecA0tGFVmFAgftgnsz81TdPMOBHdWAovSOww49rLKjChQfywjx86tno2nz9EoFvKGOZnzB79BdmYUCF+2B3jU1f8MXvqIAG3lcMLfj5j6M/KxIQO8cMOfvFr/ZmTZ3JEiJXCs+CXRg39KVkYKZDiNqudy589AKCrHJ7Fq5ke7QkZGGkQP2zaRnTymPs+gHi5M8x7TUPrZ/9vOsQhFVLAfIaaE6fddwjYutgZ2tdq6Ik0sxeWRTrED/ohEJnIufsAPFiBefcOQ9/WyzwfBkYJpNAZQJzIuSMEJBa3GX3Mrfp95kY+GxSjDOIHBcCpnDsMoL8CM9bSpt+b3sD5IBilkFLQpOUMARis2GaHWxtXxtPt6+aWi7koED9sMmu/CKKny50hPjIa1zdfchA/cMKy3yTQw4vhxcZMXPtmOZiL15Ex91aa9w6CaFUhONNUQ/Pqq3ffvHb2koH05ZyYB1gArSwiTrKgTaPdG+zlIBbWQfHos5zOeaIDBNQVAjBP1rDY9Iax/rsgUZRCUlmnxyN8QETRBQT9wtFoh9nZdjwIQmlHkmN2L3m0339RUQz9Y22UO17v0n8OilAG6cvZD8x7/BYRIgtF+ftITaRj75brJsNAKIEkss6jTGSCIIrnhL1iRf3te7rWTYWFkA5JWk4/iIYJKJyLTPRtXW009lpn229hIqRCUpYz6AFD5cDMXzfUNWzefefaU2EjpEFSlrvTg7drMTB/KVbV3mXGrjktAyEFksi5z5HnpSs68Xm08aquPe3N07IQoUMSlr2LQDsrEEdFpKnb3LJmRiYiVMg/b82Z+JOWpvp7gtyaLwUf+Mr+rw9LxLmWa7XeoA9LSiEJy32F4A2UijLTR9yq3x/G46sySOX3keK90/6YoT8U1gsFZRC/UCLrHGFGOxOPrDG0gTBf8SiF+MX8zsi8RlwIKPDJfiFFVMypQlSs8lJqVDuylNVSMbfaERWrvJQafwNYPktCGGfJbQAAAABJRU5ErkJggg==\"}})])])])]),_vm._v(\" \"),(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle('TipsView')}}}):_vm._e()])])]),_vm._v(\" \"),(_vm.showTipsViewDetail && _vm.tipsViewGuideMode === 1)?_c('TipsViewDetail',{key:'TipsViewDetailThink',attrs:{\"meditate_type_prop\":'1',\"fullscreen\":_vm.fullscreen,\"isNeedOutFullscreenAni\":_vm.isNeedOutFullscreenAni},on:{\"toggle\":function($event){return _vm.toggle('TipsView')},\"toTipsViewAdd\":_vm.toTipsViewAdd,\"toSilencePage\":_vm.toSilencePage}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"meditate\"},[_c('div',{staticClass:\"meditate_content\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"观察修\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n                  通过学习本期内容，我摆脱了什么错误观念？建立了什么正确观念？\\n                \")])]),_vm._v(\" \"),_c('div',{staticClass:\"meditate_content\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"安住修\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n                  我建立了哪些正确观念？安住在这些正确观念中时间越久越好。\\n                \")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-98cf09a0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/TipsView.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-98cf09a0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TipsView.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsView.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsView.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-98cf09a0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TipsView.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-98cf09a0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/TipsView.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div style=\"height: 100%;width: 100%;\" :class=\"[\r\n      fullscreen && !showTipsViewDetail ? 'big-view-box bg-white' : '',\r\n      fullscreen && showTipsViewDetail ? 'big-view bg-white' : '',\r\n      !fullscreen && isNeedOutFullscreenAni\r\n        ? !showTipsViewDetail\r\n          ? 'outof-big-view-box'\r\n          : 'outof-big-view'\r\n        : ''\r\n  ]\">\r\n    <!-- <div v-show=\"!showTipsViewDetail && behaviorGuideMode === 1\"\r\n      class=\"main-content\"\r\n      :class=\"fullscreen ? 'fullBox' : ''\">\r\n\r\n    </div> -->\r\n    <div v-show=\"!showTipsViewDetail && behaviorGuideMode === 1\" class=\"box\" :class=\"fullscreen ? 'fullBox' : ''\">\r\n      <div class=\"box-content-name name\">\r\n        <span v-if=\"!fullscreen\">观修文</span>\r\n        <span v-else class=\"cursor-pointer\" @click=\"toggle('BehaviorAudio')\">观修文</span>\r\n      </div>\r\n      <div class=\"content-box content-box1\">\r\n        <!-- 有官方音频观修文 -->\r\n        <div style=\"width: 100%;\">\r\n          <div class=\"meditate_audio\"\r\n            v-if=\"\r\n              meditate &&\r\n                meditate.meditate_audio_url_show != '' &&\r\n                meditate.meditate_audio_url_show != undefined\r\n            \">\r\n            <div class=\"playArea\"\r\n              v-if=\"playing\"></div>\r\n            <AudioCom\r\n              :bgColor=\"'#ffae8b,#fd746b'\"\r\n              :progressColor=\"'rgba(255, 176, 150, 0.2400)'\"\r\n              :title=\"'心态的禅修-观修文'\"\r\n              :url=\"meditate ? meditate.meditate_audio_url_show : ''\"\r\n              :currentTimeProp=\"\r\n                courseProgress\r\n                  ? courseProgress.progress_meditate_xingwei_long + ''\r\n                  : '0'\r\n              \"\r\n              :needPlay=\"playing\"\r\n              ref=\"audioComBehaviorAudio\"\r\n              @changeCurrentTime=\"changeCurrentTime\"\r\n              @play=\"play\"\r\n              @pause=\"pause\"\r\n              @setCurrentTime=\"setCurrentTime\" />\r\n            <div class=\"meditate_silent\">\r\n              <span @click=\"toSilencePage\">\r\n                进入止静<span style=\"width:0;height:0;overflow:hidden;display:inline-block;\">{{fullscreen}}</span>\r\n                <img src=\"@/assets/img/silent_arrow1.png\" />\r\n              </span>\r\n            </div>\r\n          </div>\r\n          <div class=\"meditate_useradd\"\r\n            v-else>\r\n            <div class=\"meditate\">\r\n              <div class=\"meditate_content\">\r\n                <p class=\"title\">观察修</p>\r\n                <p>\r\n                  通过运用本期学习所获得的正确观念（正见），我摆脱了什么不良心念？建立什么正向心念（正念）？\r\n                </p>\r\n              </div>\r\n              <div class=\"meditate_content\">\r\n                <p class=\"title\">安住修</p>\r\n                <p>\r\n                  我调整出了哪些正向心念？安住在这些正向心念（正念）中的时间越久越好。\r\n                </p>\r\n              </div>\r\n            </div>\r\n            <div class=\"btn-wrapper\" v-if=\"courseIsuseradd != 3\">\r\n              <el-dropdown trigger=\"click\"\r\n                ref=\"elDropdown\"\r\n                @command=\"handleCommand\">\r\n                <span class=\"el-dropdown-link btn bg-transparent\">\r\n                  <span v-if=\"courseIsuseradd != 3\">添加观修文</span>\r\n                </span>\r\n                <el-dropdown-menu slot=\"dropdown\"\r\n                  class=\"dropdown\">\r\n                  <el-dropdown-item command=\"2\">\r\n                    <span>添加观修音频 </span>\r\n                    <img class=\"meditateAu\"\r\n                      src=\"@/assets/img/mediateAudioB.svg\" />\r\n                  </el-dropdown-item>\r\n                  <el-dropdown-item command=\"1\">\r\n                    <span>添加观修文字</span>\r\n                    <img class=\"meditateEdit\"\r\n                      src=\"@/assets/img/editMeditateB.svg\" />\r\n                  </el-dropdown-item>\r\n                </el-dropdown-menu>\r\n              </el-dropdown>\r\n            </div>\r\n            <div class=\"meditate_silent\">\r\n              <span @click=\"toSilencePage\">\r\n                进入止静<span style=\"width:0;height:0;overflow:hidden;display:inline-block;\">{{fullscreen}}</span>\r\n                <img src=\"@/assets/img/silent_arrow1.png\" />\r\n              </span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <img v-if=\"!fullscreen\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/fullscreen01.svg\"\r\n          @click=\"toggle('BehaviorAudio')\" />\r\n      </div>\r\n    </div>\r\n    <TipsViewDetail :key=\"'TipsViewDetailMind'\"\r\n      v-if=\"showTipsViewDetail && behaviorGuideMode === 1\"\r\n      :meditate_type_prop=\"'2'\"\r\n      @toggle=\"toggle('BehaviorAudio')\"\r\n      :fullscreen=\"fullscreen\"\r\n      :isNeedOutFullscreenAni=\"isNeedOutFullscreenAni\"\r\n      @toTipsViewAdd=\"toTipsViewAdd\"\r\n      @toSilencePage=\"toSilencePage\" />\r\n    <div v-if=\"behaviorGuideMode === 0\"\r\n      class=\"main-content\">\r\n      <div class=\"box\">\r\n        <div class=\"box-content-name name\">观修文</div>\r\n        <div class=\"content-box content-box1\">\r\n          <div style=\"width: 100%;\">\r\n            <div class=\"meditate_useradd\">\r\n              <div class=\"meditate\">\r\n                <div class=\"meditate_content\">\r\n                  <p class=\"title\">观察修</p>\r\n                  <p>\r\n                    通过运用本期学习所获得的正确观念（正见），我摆脱了什么不良心念？建立什么正向心念（正念）？\r\n                  </p>\r\n                </div>\r\n                <div class=\"meditate_content\">\r\n                  <p class=\"title\">安住修</p>\r\n                  <p>\r\n                    我调整出了哪些正向心念？安住在这些正向心念（正念）中的时间越久越好。\r\n                  </p>\r\n                </div>\r\n              </div>\r\n              <div class=\"btn-wrapper\">\r\n                <div id=\"behavior_step1\"\r\n                  class=\"btn bg-transparent\">\r\n                  添加观修文\r\n                </div>\r\n              </div>\r\n              <div class=\"meditate_silent\">\r\n                <span id=\"behavior_step2\">\r\n                  进入止静\r\n                  <img src=\"@/assets/img/silent_arrow1.png\" />\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <img v-if=\"!fullscreen\"\r\n            class=\"fullscreen fullscreenHover\"\r\n            src=\"@/assets/img/fullscreen.svg\"\r\n            @click=\"toggle('TipsView')\" />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport AudioCom from \"@/components/AudioCom\";\r\nimport TipsViewDetail from \"./TipsViewDetail\";\r\nimport { editMeditateTime } from \"@/api/index.js\";\r\nimport {\r\n  EventBus,\r\n  WHITE_MIND_MEDITATE,\r\n} from \"@/utils/eventBus\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport { behavior_guide } from \"@/utils/intro\";\r\nexport default {\r\n  mixins: [fullscreenMixins, openOtherPageMixins],\r\n  components: {\r\n    AudioCom,\r\n    TipsViewDetail,\r\n  },\r\n  data() {\r\n    return {\r\n      behaviorGuideMode: 1,\r\n      fullscreen: false,\r\n      // showErweima: false,\r\n      type: \"\",\r\n      showTipsViewAdd: false,\r\n      showTipsViewDetail: false,\r\n      playing: false,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      console.log(this.$store.getters.course_id);\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    meditate() {\r\n      console.log(\"behaviorAudio:::\", this.$store.getters.mindMeditate);\r\n      return this.$store.getters.mindMeditate;\r\n    },\r\n    progress_meditate_xingwei_long() {\r\n      return this.$store.getters.progress_meditate_xingwei_long;\r\n    },\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n  },\r\n  watch: {\r\n    meditate: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (v) {\r\n          this.init();\r\n        }\r\n      },\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (this.$route.name !== \"index\") {\r\n          if (this.$refs.audioComBehaviorAudio) {\r\n            this.$refs.audioComBehaviorAudio.pause();\r\n          }\r\n        }\r\n      },\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"course_id:\", newVal);\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenWhite('BehaviorAudio', 'white');\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"courseIsChanged:\", newVal);\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenWhite('BehaviorAudio', 'white');\r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    handleCommand(e) {\r\n      if (e == 1) {\r\n        this.toTipsViewAdd();\r\n      } else {\r\n        this.toTAudioAdd();\r\n      }\r\n    },\r\n    init() {\r\n      if (\r\n        this.meditate &&\r\n        !this.meditate.meditate_audio_url_show &&\r\n        (this.meditate.meditate_anzhu_text ||\r\n          this.meditate.meditate_guancha_text)\r\n      ) {\r\n        this.showTipsViewDetail = true;\r\n      } else {\r\n        this.showTipsViewDetail = false;\r\n      }\r\n    },\r\n    goTipsViewDetail() {\r\n      this.showTipsViewDetail = true;\r\n    },\r\n    // 新增观修文音频\r\n    toTAudioAdd() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\",\r\n      //   });\r\n      //   return;\r\n      // }\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push({\r\n          path: \"/white/TAudioAdd\",\r\n          query: {\r\n            meditate_type: \"2\",\r\n          },\r\n        });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    toTipsViewAdd() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\",\r\n      //   });\r\n      //   return;\r\n      // }\r\n      this.$router.push({\r\n          path: \"/white/TipsViewAdd\",\r\n          query: {\r\n            meditate_type: \"2\",\r\n          },\r\n      });\r\n    },\r\n    // 止静页面\r\n    toSilencePage() {\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push({\r\n          path: \"/white/Silence\",\r\n          query: {\r\n            meditate_type: \"2\",\r\n          },\r\n      });\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    // 播放\r\n    play() {\r\n      this.playing = true;\r\n      EventBus.$emit(WHITE_MIND_MEDITATE, true);\r\n    },\r\n    // 暂停\r\n    async pause(currentTime) {\r\n      if (!currentTime) {\r\n        return;\r\n      }\r\n      if (currentTime < 1) {\r\n        currentTime = 1;\r\n      }\r\n      this.playing = false;\r\n      this.$store.dispatch(\"setMindMeditateLong\", currentTime).then(() => {\r\n        EventBus.$emit(WHITE_MIND_MEDITATE, false);\r\n      });\r\n      const params = {\r\n        seconds: currentTime,\r\n        course_id: this.course_id,\r\n        type: 2,\r\n        total_seconds: this.meditate.totalTime,\r\n      };\r\n      console.log(\"editMeditateTime:\", params);\r\n      try {\r\n        const res = await editMeditateTime(params);\r\n        if (res && res.code === 0) {\r\n          const data = res.data[0];\r\n          if (data) {\r\n            if (this.meditate.totalTime == currentTime) {\r\n              this.$store.dispatch(\"setCourseProgress\", {\r\n                ...this.courseProgress,\r\n                progress_meditate_xingwei_complete: 1,\r\n              });\r\n            }\r\n          } else {\r\n            this.$store.dispatch(\"setMindMeditateLong\", 0);\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async changeCurrentTime(currentTime) {\r\n      if (!currentTime) {\r\n        return;\r\n      }\r\n      if (currentTime < 1) {\r\n        currentTime = 1;\r\n      }\r\n      this.$store.dispatch(\"setMindMeditateLong\", currentTime).then(() => {\r\n        EventBus.$emit(WHITE_MIND_MEDITATE, true);\r\n      });\r\n      const params = {\r\n        seconds: currentTime + \"\",\r\n        course_id: this.course_id,\r\n        type: 2,\r\n        total_seconds: this.meditate.totalTime,\r\n      };\r\n\r\n      try {\r\n        const res = await editMeditateTime(params);\r\n        if (res && res.code === 0) {\r\n          const data = res.data[0];\r\n          if (data) {\r\n            if (this.meditate.totalTime == currentTime) {\r\n              this.$store.dispatch(\"setCourseProgress\", {\r\n                ...this.courseProgress,\r\n                progress_meditate_xingwei_complete: 1,\r\n              });\r\n            }\r\n          } else {\r\n            this.$store.dispatch(\"setMindMeditateLong\", 0);\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 播放当前的时间currentTime\r\n    setCurrentTime(currentTime) {\r\n      this.$store.dispatch(\"setMindMeditateLong\", currentTime);\r\n    },\r\n    setBehaviorGuideMode(status) {\r\n      this.behaviorGuideMode = status;\r\n    },\r\n    setShowTipsViewDetail(status) {\r\n      this.showTipsViewDetail = status;\r\n    },\r\n    guide() {\r\n      if (this.$store.getters.pageName === \"white\") {\r\n        EventBus.$emit(\"enableReadOnlyMode\");\r\n        this.setBehaviorGuideMode(0);\r\n        let timeout = setTimeout(() => {\r\n          this.behavior_initGuide();\r\n          clearTimeout(timeout);\r\n        }, 600);\r\n      }\r\n    },\r\n    behavior_initGuide() {\r\n      EventBus.$emit(\"setBehaviorGuideMode\", 0);\r\n      behavior_guide(this, [\r\n        {\r\n          intro: \"点击查看 “心态禅修” 具体内涵\",\r\n          element: document.querySelector(\"#index_step4\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro:\r\n            \"通过观念的改变，收获了良好的心态（心理），并不断熟悉这个良好心态（心理）\",\r\n          element: document.querySelector(\"#index_step17\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro:\r\n            \"<span>可以添加自己的<b>观修文</b> <span>(音频/文字)</span></span>\",\r\n          element: document.querySelector(\"#behavior_step1\"),\r\n          position: \"top\",\r\n        },\r\n        {\r\n          intro: \"阅读界面上的文字后，直接进入止静的页面\",\r\n          element: document.querySelector(\"#behavior_step2\"),\r\n          position: \"top\",\r\n        },\r\n      ]);\r\n    },\r\n  },\r\n  activated() {},\r\n  deactivated() {\r\n    if (this.$refs.audioComBehaviorAudio) {\r\n      EventBus.$emit(WHITE_MIND_MEDITATE, false);\r\n      if (this.$refs.audioComBehaviorAudio) {\r\n        this.$refs.audioComBehaviorAudio.pause();\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if (guideStatus.meditate_2 === 0) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n    EventBus.$on(\"toMeditateDetailMind\", () => {\r\n      this.goTipsViewDetail();\r\n    });\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", (whiteCom) => {\r\n      if (whiteCom === \"BehaviorAudio\") {\r\n        this.toggle(whiteCom);\r\n      }\r\n    });\r\n    this.init();\r\n    EventBus.$on(\"behaviorAudio_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n    // 心态观修文\r\n\r\n    EventBus.$on(WHITE_MIND_MEDITATE, (playing) => {\r\n      if (playing) {\r\n        if (this.$refs.audioComBehaviorAudio && !this.playing) {\r\n          this.playing = playing;\r\n          this.$refs.audioComBehaviorAudio.play(true);\r\n        }\r\n      } else {\r\n        this.playing = playing;\r\n        if (this.$refs.audioComBehaviorAudio) {\r\n          this.$refs.audioComBehaviorAudio.pause(true);\r\n        }\r\n      }\r\n    });\r\n\r\n    // 保存完观修文之后然后执行\r\n    EventBus.$on(\"CONTENT_CONFIRM_LOGO\", whiteCom => {\r\n      console.log(\"CONTENT_CONFIRM_LOGO Beha:\", whiteCom, this.pageName)\r\n      if (this.whiteCom === \"BehaviorAudio\" && this.fullscreen) {\r\n        this.toggle(this.whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"CONTENT_CONFIRM_COURSE\", whiteCom => {\r\n      console.log(\"CONTENT_CONFIRM_LOGO Beha:\", whiteCom, this.pageName)\r\n      if (this.whiteCom === \"BehaviorAudio\" && this.fullscreen) {\r\n        this.toggle(this.whiteCom);\r\n      }\r\n    })\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n  width: 100%;\r\n}\r\n.fullBox {\r\n  .content-box1 {\r\n    background: url(\"~@/assets/img/silence_bg2.png\") no-repeat;\r\n    background-position: center center;\r\n    background-size: contain;\r\n  }\r\n}\r\n.full {\r\n  .content-box {\r\n    border-radius: 0;\r\n  }\r\n}\r\n.dropdown {\r\n  border-radius: 10px !important;\r\n  width: 234px;\r\n  transform: translateX(10%);\r\n}\r\n/deep/ .popper__arrow {\r\n  display: block;\r\n  transform: translateX(-200%);\r\n}\r\n.box {\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.content-box {\r\n  flex: 1;\r\n  min-height: 388px;\r\n  background: #f2f4f5 url(\"~@/assets/img/silence_bg.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  flex-direction: column;\r\n  position: relative;\r\n  .meditate_silent {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    color: #fd8b65;\r\n    line-height: 27px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    margin-top: 30px;\r\n    span {\r\n      cursor: pointer;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      position: relative;\r\n    }\r\n    img {\r\n      width: 11px;\r\n      height: 19px;\r\n      margin-top: 2px;\r\n      left: 90px;\r\n      position: absolute;\r\n    }\r\n  }\r\n}\r\n.content-box1 {\r\n  background: #f2f4f5 url(\"~@/assets/img/silence_bg2.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n}\r\n.meditate_audio {\r\n  padding-top: 161px;\r\n  width: 100%;\r\n}\r\n.playArea {\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: url(\"~@/assets/img/behavioraudio02.png\") no-repeat;\r\n  background-position: center center;\r\n  background-size: contain;\r\n  animation: pl 4s linear infinite;\r\n  @keyframes pl {\r\n    0% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n    }\r\n    25% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n    }\r\n    50% {\r\n      transform: scale(1);\r\n      -webkit-transform: scale(1);\r\n    }\r\n    75% {\r\n      transform: scale(0.5);\r\n      -webkit-transform: scale(0.5);\r\n    }\r\n    100% {\r\n      transform: scale(0.3);\r\n      -webkit-transform: scale(0.3);\r\n    }\r\n  }\r\n}\r\n.meditate_useradd {\r\n  width: 100%;\r\n  height: 100%;\r\n  // background: url(\"~@/assets/img/behavioraudio03.png\") no-repeat;\r\n  // background-size: cover;\r\n  // background-position: center center;\r\n  .meditate {\r\n    padding-top: 120px;\r\n    padding-bottom: 9vh;\r\n    width: 471px;\r\n    margin: 0 auto;\r\n    .meditate_content {\r\n      text-align: center;\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #335160;\r\n      line-height: 31px;\r\n      &:nth-of-type(2) {\r\n        padding-top: 35px;\r\n      }\r\n      .title {\r\n        font-size: 16px;\r\n        font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n        font-weight: 500;\r\n        color: #335160;\r\n        line-height: 28px;\r\n        padding-bottom: 4px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .btn-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n  .btn {\r\n    width: 178px;\r\n    height: 50px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    border-radius: 29px;\r\n    border: 1px solid #fd8b65;\r\n    color: #fd8b65;\r\n    text-align: center;\r\n    line-height: 50px;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 400;\r\n    cursor: pointer;\r\n  }\r\n}\r\n/deep/ .el-dropdown-menu {\r\n  padding: 10px 15px;\r\n  border-radius: 10px !important;\r\n}\r\n/deep/ .el-dropdown-link {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #ffae8b;\r\n  line-height: 24px;\r\n}\r\n/deep/ .el-dropdown-menu__item {\r\n  display: flex;\r\n  align-items: center;\r\n  font-size: 18px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #ffae8b;\r\n  line-height: 27px;\r\n  padding: 20px 10px 20px 10px;\r\n  background-color: #fff;\r\n  justify-content: center;\r\n  &:first-of-type {\r\n    border-bottom: 1px solid #f3f3f4;\r\n  }\r\n  img {\r\n    margin: 0 5px 0 16px;\r\n  }\r\n  .meditateAu {\r\n    width: 19px;\r\n    height: 24px;\r\n  }\r\n  .meditateEdit {\r\n    width: 18px;\r\n    height: 23px;\r\n  }\r\n}\r\n/deep/ .el-dropdown-menu__item:focus,\r\n.el-dropdown-menu__item:not(.is-disabled):hover {\r\n  background-color: #fff;\r\n  color: #ffae8b;\r\n}\r\n/deep/ .el-dropdown-menu__item {\r\n  &:last-of-type {\r\n    padding-bottom: 25px;\r\n  }\r\n}\r\n// .erweima-wrapper {\r\n//   display: flex;\r\n//   flex-direction: column;\r\n//   align-items: center;\r\n//   justify-content: center;\r\n//   .tips {\r\n//     font-size: 14px;\r\n//     font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n//     font-weight: 400;\r\n//     color: #7e878c;\r\n//     line-height: 25px;\r\n//     padding-bottom: 10px;\r\n//     padding-top: 7px;\r\n//     .bold {\r\n//       color: #000;\r\n//     }\r\n//     p {\r\n//       text-align: center;\r\n//     }\r\n//   }\r\n// }\r\n.edit {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #ffae8b;\r\n  line-height: 24px;\r\n  border-bottom: 2px solid #ffae8b;\r\n  right: 60px;\r\n  padding: 0 5px 2px;\r\n}\r\n.name {\r\n  color: @behavior;\r\n}\r\n.content {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 23px;\r\n  height: 60%;\r\n  min-height: 270px;\r\n  overflow-y: auto;\r\n  padding-bottom: 10px;\r\n  margin-top: 39px;\r\n}\r\n.title {\r\n  font-size: 21px;\r\n  font-family: SourceHanSansCN-Medium;\r\n  font-weight: 500;\r\n  color: @culture;\r\n  line-height: 32px;\r\n}\r\n.operates {\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n/deep/ .el-button {\r\n  border-color: #64afd5;\r\n  color: #64afd5;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n.mobile-app {\r\n  .meditate_useradd {\r\n    .meditate{\r\n      padding-top: 9vh;\r\n    }\r\n  }\r\n}\r\n/deep/ .onlyShowBar {\r\n  justify-content: center !important;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/BehaviorAudio.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n    _vm.fullscreen && !_vm.showTipsViewDetail ? 'big-view-box bg-white' : '',\n    _vm.fullscreen && _vm.showTipsViewDetail ? 'big-view bg-white' : '',\n    !_vm.fullscreen && _vm.isNeedOutFullscreenAni\n      ? !_vm.showTipsViewDetail\n        ? 'outof-big-view-box'\n        : 'outof-big-view'\n      : ''\n],staticStyle:{\"height\":\"100%\",\"width\":\"100%\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showTipsViewDetail && _vm.behaviorGuideMode === 1),expression:\"!showTipsViewDetail && behaviorGuideMode === 1\"}],staticClass:\"box\",class:_vm.fullscreen ? 'fullBox' : ''},[_c('div',{staticClass:\"box-content-name name\"},[(!_vm.fullscreen)?_c('span',[_vm._v(\"观修文\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle('BehaviorAudio')}}},[_vm._v(\"观修文\")])]),_vm._v(\" \"),_c('div',{staticClass:\"content-box content-box1\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[(\n            _vm.meditate &&\n              _vm.meditate.meditate_audio_url_show != '' &&\n              _vm.meditate.meditate_audio_url_show != undefined\n          )?_c('div',{staticClass:\"meditate_audio\"},[(_vm.playing)?_c('div',{staticClass:\"playArea\"}):_vm._e(),_vm._v(\" \"),_c('AudioCom',{ref:\"audioComBehaviorAudio\",attrs:{\"bgColor\":'#ffae8b,#fd746b',\"progressColor\":'rgba(255, 176, 150, 0.2400)',\"title\":'心态的禅修-观修文',\"url\":_vm.meditate ? _vm.meditate.meditate_audio_url_show : '',\"currentTimeProp\":_vm.courseProgress\n                ? _vm.courseProgress.progress_meditate_xingwei_long + ''\n                : '0',\"needPlay\":_vm.playing},on:{\"changeCurrentTime\":_vm.changeCurrentTime,\"play\":_vm.play,\"pause\":_vm.pause,\"setCurrentTime\":_vm.setCurrentTime}}),_vm._v(\" \"),_c('div',{staticClass:\"meditate_silent\"},[_c('span',{on:{\"click\":_vm.toSilencePage}},[_vm._v(\"\\n              进入止静\"),_c('span',{staticStyle:{\"width\":\"0\",\"height\":\"0\",\"overflow\":\"hidden\",\"display\":\"inline-block\"}},[_vm._v(_vm._s(_vm.fullscreen))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/silent_arrow1.png\")}})])])],1):_c('div',{staticClass:\"meditate_useradd\"},[_vm._m(0),_vm._v(\" \"),(_vm.courseIsuseradd != 3)?_c('div',{staticClass:\"btn-wrapper\"},[_c('el-dropdown',{ref:\"elDropdown\",attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.handleCommand}},[_c('span',{staticClass:\"el-dropdown-link btn bg-transparent\"},[(_vm.courseIsuseradd != 3)?_c('span',[_vm._v(\"添加观修文\")]):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-menu',{staticClass:\"dropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"2\"}},[_c('span',[_vm._v(\"添加观修音频 \")]),_vm._v(\" \"),_c('img',{staticClass:\"meditateAu\",attrs:{\"src\":require(\"@/assets/img/mediateAudioB.svg\")}})]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"command\":\"1\"}},[_c('span',[_vm._v(\"添加观修文字\")]),_vm._v(\" \"),_c('img',{staticClass:\"meditateEdit\",attrs:{\"src\":require(\"@/assets/img/editMeditateB.svg\")}})])],1)],1)],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"meditate_silent\"},[_c('span',{on:{\"click\":_vm.toSilencePage}},[_vm._v(\"\\n              进入止静\"),_c('span',{staticStyle:{\"width\":\"0\",\"height\":\"0\",\"overflow\":\"hidden\",\"display\":\"inline-block\"}},[_vm._v(_vm._s(_vm.fullscreen))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/silent_arrow1.png\")}})])])])]),_vm._v(\" \"),(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen01.svg\")},on:{\"click\":function($event){return _vm.toggle('BehaviorAudio')}}}):_vm._e()])]),_vm._v(\" \"),(_vm.showTipsViewDetail && _vm.behaviorGuideMode === 1)?_c('TipsViewDetail',{key:'TipsViewDetailMind',attrs:{\"meditate_type_prop\":'2',\"fullscreen\":_vm.fullscreen,\"isNeedOutFullscreenAni\":_vm.isNeedOutFullscreenAni},on:{\"toggle\":function($event){return _vm.toggle('BehaviorAudio')},\"toTipsViewAdd\":_vm.toTipsViewAdd,\"toSilencePage\":_vm.toSilencePage}}):_vm._e(),_vm._v(\" \"),(_vm.behaviorGuideMode === 0)?_c('div',{staticClass:\"main-content\"},[_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"box-content-name name\"},[_vm._v(\"观修文\")]),_vm._v(\" \"),_c('div',{staticClass:\"content-box content-box1\"},[_vm._m(1),_vm._v(\" \"),(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle('TipsView')}}}):_vm._e()])])]):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"meditate\"},[_c('div',{staticClass:\"meditate_content\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"观察修\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n                通过运用本期学习所获得的正确观念（正见），我摆脱了什么不良心念？建立什么正向心念（正念）？\\n              \")])]),_vm._v(\" \"),_c('div',{staticClass:\"meditate_content\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"安住修\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n                我调整出了哪些正向心念？安住在这些正向心念（正念）中的时间越久越好。\\n              \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"meditate_useradd\"},[_c('div',{staticClass:\"meditate\"},[_c('div',{staticClass:\"meditate_content\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"观察修\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n                  通过运用本期学习所获得的正确观念（正见），我摆脱了什么不良心念？建立什么正向心念（正念）？\\n                \")])]),_vm._v(\" \"),_c('div',{staticClass:\"meditate_content\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"安住修\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n                  我调整出了哪些正向心念？安住在这些正向心念（正念）中的时间越久越好。\\n                \")])])]),_vm._v(\" \"),_c('div',{staticClass:\"btn-wrapper\"},[_c('div',{staticClass:\"btn bg-transparent\",attrs:{\"id\":\"behavior_step1\"}},[_vm._v(\"\\n                添加观修文\\n              \")])]),_vm._v(\" \"),_c('div',{staticClass:\"meditate_silent\"},[_c('span',{attrs:{\"id\":\"behavior_step2\"}},[_vm._v(\"\\n                进入止静\\n                \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/silent_arrow1.png\")}})])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-b9fccf78\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/BehaviorAudio.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b9fccf78\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./BehaviorAudio.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BehaviorAudio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BehaviorAudio.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b9fccf78\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./BehaviorAudio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-b9fccf78\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/BehaviorAudio.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div style=\"height: 100%\" :class=\"fullscreen ? 'big-view bg-white' : ''\">\r\n    <div class=\"container box\">\r\n      <!-- 生命海洋 -->\r\n      <div class=\"box-content-name name\">生命海洋</div>\r\n      <div class=\"content-box\" :class=\"fullscreen ? 'full' : ''\">\r\n        <div class=\"content-wrapper\" id=\"lifeOceanVideo\">\r\n          <!-- <div class=\"fullscreen\">\r\n            <img\r\n              v-if=\"!fullscreen\"\r\n              src=\"@/assets/img/fullscreen_personality_black.svg\"\r\n              width=\"27\"\r\n              height=\"27\"\r\n              @click=\"toggle\"\r\n            />\r\n            <img\r\n              v-else\r\n              src=\"@/assets/img/exit_fullscreen_personality_b.svg\"\r\n              width=\"27\"\r\n              height=\"27\"\r\n              @click=\"toggle\"\r\n            />\r\n          </div> -->\r\n          <!-- <video\r\n            loop\r\n            controlsList=\"nodownload\"\r\n            :src=\"lifeOceanUrl\"\r\n            preload=\"metadata\"\r\n          ></video> -->\r\n          <!-- // 国内 -->\r\n          <div class=\"wrapper\" v-if=\"app_type == 1\">\r\n            <div class=\"img_wrapper\">\r\n              <img src=\"@/assets/img/smhy.png\"/>\r\n            </div>\r\n\r\n            <div class=\"tip\">\r\n              <p>扫码登录<span> 生命海洋APP </span>查看您的生命海洋</p>\r\n              <p>（使用元日记APP打开可跳转）</p>\r\n            </div>\r\n          </div>\r\n          <div class=\"wrapper\" v-else>\r\n            <div class=\"img_wrapper\">\r\n              <img src=\"@/assets/img/puti.png\"/>\r\n            </div>\r\n\r\n            <div class=\"tip\">\r\n              <p>扫码登录<span> 菩提导航APP </span>查看您的生命海洋</p>\r\n              <p>（使用元日记APP打开可跳转）</p>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getLifeOceanVideo } from \"@/api/index\";\r\nimport {ocean_guide} from \"@/utils/intro\";\r\nimport {EventBus, WHITE_THINK_OCEAN} from \"@/utils/eventBus\";\r\nexport default {\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      lifeOceanVideoHeight: 0,\r\n      lifeOceanVideoWidth: 0,\r\n      video: null,\r\n      playing: false,\r\n      lifeOceanUrl: \"\",\r\n      inited: false,\r\n      app_type: 1\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    }\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"caseInfo:\", newVal);\r\n        if (newVal || newVal == 0) {\r\n          this.inited = false;\r\n        }\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal) {\r\n          this.inited = false;\r\n        }\r\n      }\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"caseInfo:\", newVal);\r\n        if (newVal && newVal == \"Ocean\" && !this.inited) {\r\n          this.getLifeOceanVideo();\r\n        }\r\n      }\r\n    }\r\n    // $route: {\r\n    //   deep: true,\r\n    //   handler: function (to, from) {\r\n    //     console.log(\"$route:\", to, from);\r\n    //     console.log(this.video);\r\n    //     if (to.name != \"index\" && this.video && this.whiteCom == \"Ocean\") {\r\n    //       this.video.pause();\r\n    //     } else if (this.video && this.whiteCom == \"Ocean\") {\r\n    //       this.video.play();\r\n    //     }\r\n    //   },\r\n    // },\r\n  },\r\n  methods: {\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    getLifeOceanVideo() {\r\n      getLifeOceanVideo({ course_id: this.course_id }).then(res => {\r\n        if (res && res.code == 0) {\r\n          let courseProgress = {\r\n            ...this.courseProgress,\r\n            progress_isread_lifeocean: 1\r\n          };\r\n          this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n        }\r\n      });\r\n    },\r\n    throttle(func, delay) {\r\n      // 记录当前时间(就是第一次(上一次)滚动事件触发的时间)\r\n      var prev = Date.now();\r\n      return function() {\r\n        // 普通函数的this指向window\r\n        var context = this;\r\n        // arguments是一个类数组对象，用于接受函数的参数\r\n        // 这个只要发生滚动事件就会输出\r\n        // console.log(arguments);\r\n        var args = \"hello\";\r\n        console.log(args);\r\n        // 再次记录当前的时间（第二次(下一次)滚动事件的触发时间）\r\n        var now = Date.now();\r\n        //两次滚动事件触发的时间间隔是否大于规定的时间\r\n        if (now - prev >= delay) {\r\n          // 如果间隔大于规定的时间delay，就会调用func(也就是handle函数)\r\n          // apply:改变函数的this指向,第一个参数是this指向，第二参数是传递的参数，要用数组存放，\r\n          // call和bind是 一个一个的存放，不用数组\r\n          func.apply(context, [args]);\r\n          prev = Date.now();\r\n        }\r\n      };\r\n    },\r\n    handle() {\r\n      let lifeOceanVideo = document.querySelector(\"#lifeOceanVideo\");\r\n      if (lifeOceanVideo) {\r\n        this.lifeOceanVideoHeight = lifeOceanVideo.offsetHeight;\r\n        this.lifeOceanVideoWidth = lifeOceanVideo.offsetWidth;\r\n      }\r\n    },\r\n    guide() {\r\n      if (this.$store.getters.pageName === 'white') {\r\n        EventBus.$emit(\"enableReadOnlyMode\");\r\n        this.ocean_initGuide()\r\n      }\r\n    },\r\n    ocean_initGuide() {\r\n      ocean_guide(this, [\r\n        {\r\n          intro: '点击查看 “品质禅修” 具体内涵',\r\n          element: document.querySelector('#index_step4'),\r\n          position: 'bottom'\r\n        },\r\n        {\r\n          intro: '心态（心理）被不断重复，不断累积了之后，有一部分心理它就会沉淀下来，最终成为性格、人格 <br/><b>点击可查看由自己心理数据组成的 “生命海洋”</b>',\r\n          element: document.querySelector('#index_step20'),\r\n          position: 'right'\r\n        }\r\n      ])\r\n    },\r\n    // ended() {\r\n    //   this.video.play();\r\n    //   this.playing = true;\r\n    //   // clearInterval(this.timer);\r\n    //   // this.$emit(\"changeCurrentTime\", this.video.currentTime);\r\n    // },\r\n    // play() {\r\n    //   console.log(\"play:\", this.video);\r\n    //   if (!this.video) {\r\n    //     return;\r\n    //   }\r\n    //   if (!this.playing) {\r\n    //     this.playing = true;\r\n    //     this.video.play();\r\n    //   } else {\r\n    //     this.playing = false;\r\n    //     this.video.pause();\r\n    //   }\r\n    // }\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type == 1) {\r\n      this.app_type = 1;\r\n    } else {\r\n      this.app_type = 2;\r\n    }\r\n    // let lifeOceanVideo = document.querySelector(\"#lifeOceanVideo\");\r\n    // this.lifeOceanVideoHeight = lifeOceanVideo.offsetHeight;\r\n    // this.lifeOceanVideoWidth = lifeOceanVideo.offsetWidth;\r\n    // window.addEventListener(\"resize\", this.throttle(this.handle, 30));\r\n    // // 通过hook监听组件销毁钩子函数，并取消监听事件\r\n    // this.$once(\"hook:beforeDestroy\", () => {\r\n    //   console.log(\"beforeDestroy\");\r\n    //   window.removeEventListener(\"resize\", this.throttle(this.handle, 30));\r\n    // });\r\n    // this.getLifeOceanVideo();\r\n    EventBus.$on(\"ocean_initGuide\", () => {\r\n      if (guideStatus.ocean === 0 || guideStatus.ocean === undefined) {\r\n        return;\r\n      }\r\n      this.guide();\r\n    });\r\n\r\n    let guideStatus = JSON.parse(localStorage.getItem('guideStatus'));\r\n    if (guideStatus.ocean === 0 || guideStatus.ocean === undefined) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.container {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n\r\n.wrapper {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  flex-direction: column;\r\n  .img_wrapper {\r\n    width: 225px;\r\n    height: 225px;\r\n    background-color: #fff;\r\n    padding: 10px;\r\n    img {\r\n      width: 205px;\r\n      height: 205px;\r\n    }\r\n  }\r\n  .tip {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 25px;\r\n    text-align: center;\r\n    padding-top: 30px;\r\n    span {\r\n      color: #292929;\r\n      font-weight: 600;\r\n    }\r\n  }\r\n}\r\n\r\n.name {\r\n  color: #2c51af;\r\n}\r\n\r\n.box {\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n}\r\n\r\n.box {\r\n  .content-box {\r\n    width: 100%;\r\n    height: 100%;\r\n    // background-color: #f4f6f6;\r\n    background-color: #f2f4f5;\r\n    border-radius: 16px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    flex-direction: column;\r\n    padding-top: 0;\r\n    .fullscreen {\r\n      position: absolute;\r\n      top: 21px;\r\n      right: 19px;\r\n      cursor: pointer;\r\n      z-index: 10;\r\n    }\r\n    .content-wrapper {\r\n      padding: 0;\r\n      border-radius: 16px;\r\n      position: relative;\r\n      height: 100%;\r\n      width: 100%;\r\n    }\r\n    video {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: fill;\r\n      border-radius: 16px;\r\n    }\r\n  }\r\n}\r\n\r\n.full {\r\n  padding: 46px 93px;\r\n  margin-top: 60px;\r\n  overflow-y: auto;\r\n  padding-top: 20px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Ocean.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.fullscreen ? 'big-view bg-white' : '',staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"container box\"},[_c('div',{staticClass:\"box-content-name name\"},[_vm._v(\"生命海洋\")]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{staticClass:\"content-wrapper\",attrs:{\"id\":\"lifeOceanVideo\"}},[(_vm.app_type == 1)?_c('div',{staticClass:\"wrapper\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1)]):_c('div',{staticClass:\"wrapper\"},[_vm._m(2),_vm._v(\" \"),_vm._m(3)])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"img_wrapper\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/smhy.png\")}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tip\"},[_c('p',[_vm._v(\"扫码登录\"),_c('span',[_vm._v(\" 生命海洋APP \")]),_vm._v(\"查看您的生命海洋\")]),_vm._v(\" \"),_c('p',[_vm._v(\"（使用元日记APP打开可跳转）\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"img_wrapper\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/puti.png\")}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tip\"},[_c('p',[_vm._v(\"扫码登录\"),_c('span',[_vm._v(\" 菩提导航APP \")]),_vm._v(\"查看您的生命海洋\")]),_vm._v(\" \"),_c('p',[_vm._v(\"（使用元日记APP打开可跳转）\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-60d25740\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Ocean.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-60d25740\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Ocean.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Ocean.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Ocean.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-60d25740\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Ocean.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-60d25740\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Ocean.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"tipdetail-box\" v-loading=\"loading\">\r\n    <div class=\"detail-box\">\r\n      <div class=\"header\">\r\n        <div class=\"head-left\">\r\n          <span class=\"title prewrap-content\">{{ tip.experience_title }}</span>\r\n          <div class=\"tag-wrapper\">\r\n            <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\">\r\n              {{ tip.experience_tag_title }}\r\n            </div>\r\n            <span class=\"time\">{{ tip.createTime }}</span>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"head-right\">\r\n          <img :src=\"\r\n              tip.user_headimage\r\n                ? require('@/assets/img/avatarList/' + tip.user_headimage)\r\n                : require('@/assets/img/avatarList/headimage1.png')\r\n            \" />\r\n          <div class=\"nickname ellipsis-content\">{{ tip.user_nickname }}</div>\r\n        </div>\r\n      </div>\r\n      <span class=\"detail-content prewrap-content\">{{ tip.experience_content }}\r\n      </span>\r\n      <div class=\"footer\">\r\n        <!-- <img src=\"@/assets/img/tipdetail_collect.svg\" width=\"35\" height=\"30\" /> -->\r\n        <img v-if=\"tip.experience_iscollection == '1'\"\r\n          src=\"@/assets/img/tipdetail_collected.svg\"\r\n          @click=\"addUserCollection(2)\" />\r\n        <img v-else\r\n          src=\"@/assets/img/tipdetail_collect.svg\"\r\n          style=\"cursor: pointer\"\r\n          @click=\"addUserCollection(1)\" />\r\n        <span class=\"num\">{{ tip.experience_collection_num }}</span>\r\n        <div class=\"see-black-btn\"\r\n          @click=\"toBlackCase\">查看黑牌案例</div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { addUserExperienceRead, addUserCollection } from \"@/api/index.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nexport default {\r\n  props: {\r\n    tip: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      },\r\n    },\r\n    course_id: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n  },\r\n  components: {},\r\n  data() {\r\n    return {\r\n      timer: null,\r\n      loading: false\r\n    };\r\n  },\r\n  computed: {\r\n    courseId() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n  },\r\n  watch: {},\r\n  methods: {\r\n    // 查看黑牌案例\r\n    toBlackCase() {\r\n      if (this.pageName == \"white\") {\r\n        let timeout = setTimeout(() => {\r\n          EventBus.$emit(\"setBlackTheme\", \"black\");\r\n          clearTimeout(timeout);\r\n        }, 100);\r\n      }\r\n      console.log(\"toBlackCase:\", this.tip);\r\n      this.$router.push({\r\n        path: \"/white/WhiteCaseList\",\r\n        query: {\r\n          experience_tag_type: this.tip.experience_tag_type,\r\n          course_id: this.course_id,\r\n        },\r\n      });\r\n    },\r\n    async addUserExperienceRead() {\r\n      console.log(\"addUserExperienceRead:\", this.tip.course_id, this.courseId)\r\n      if(this.courseId != this.tip.course_id) {\r\n        return;\r\n      }\r\n      try {\r\n        let params = {\r\n          course_id: this.course_id,\r\n          experience_id: this.tip.experience_id,\r\n          course_isuseradd: this.courseIsuseradd,\r\n        };\r\n        const res = await addUserExperienceRead(params);\r\n        if (res && res.code === 0) {\r\n          if (this.courseProgress) {\r\n            let courseProgress = {\r\n              ...this.courseProgress,\r\n              progress_experience_read_num:\r\n                this.courseProgress.progress_experience_read_num + 1,\r\n            };\r\n            this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async addUserCollection(operate_type) {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      try {\r\n        let params = {\r\n          operate_type,\r\n          collect_type: 4,\r\n          experience_id: this.tip.experience_id,\r\n          course_id: this.course_id,\r\n          experience_isuseradd: this.tip.experience_isuseradd,\r\n        };\r\n        const res = await addUserCollection(params);\r\n        if (res && res.code === 0) {\r\n          if (operate_type === 1) {\r\n            this.$emit(\"addUserCollection\", 1);\r\n          } else {\r\n            this.$emit(\"addUserCollection\", 2);\r\n          }\r\n        }\r\n        this.loading = false;\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log(\"activated\");\r\n    let num = 3;\r\n    this.timer = setInterval(() => {\r\n      if (num === 0) {\r\n        clearInterval(this.timer);\r\n        this.addUserExperienceRead();\r\n      } else {\r\n        num--;\r\n      }\r\n    }, 1000);\r\n  },\r\n  mounted() {\r\n    console.log(this.tip);\r\n    let num = 3;\r\n    this.timer = setInterval(() => {\r\n      if (num === 0) {\r\n        clearInterval(this.timer);\r\n        this.addUserExperienceRead();\r\n      } else {\r\n        num--;\r\n      }\r\n    }, 1000);\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.tipdetail-box {\r\n  width: 100%;\r\n  height: 100%;\r\n  padding-right: 51px;\r\n}\r\n.detail-box {\r\n  display: flex;\r\n  flex-direction: column;\r\n  background: #fdfdfd;\r\n  border-radius: 8px;\r\n  border: 1px solid #ffffff;\r\n  padding: 49px 40px;\r\n  min-height: calc(100% - 84px);\r\n  // height: calc(100% - 84px);\r\n  margin-bottom: 50px;\r\n  .nickname {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #292929;\r\n    text-align: center;\r\n    -webkit-line-clamp: 1;\r\n    max-width: 200px;\r\n  }\r\n  .detail-content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 32px;\r\n    // overflow-y: auto;\r\n    // max-height: calc(100% - 200px);\r\n    padding-top: 10px;\r\n    display: inline-block;\r\n    flex: 1;\r\n  }\r\n  .footer {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    flex-direction: column;\r\n    padding-top: 14px;\r\n    padding-bottom: 49px;\r\n    .num {\r\n      padding: 10px 0 30px 0;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #bcc4c8;\r\n      line-height: 21px;\r\n    }\r\n    .see-black-btn {\r\n      border-radius: 8px;\r\n      padding: 18px 48px;\r\n      background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n      font-size: 16px;\r\n      font-family: SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #ffffff;\r\n      line-height: 24px;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      cursor: pointer;\r\n    }\r\n    img {\r\n      width: 35px;\r\n      height: 30px;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n}\r\n.header {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  border-bottom: 1px solid #d4d9db;\r\n  padding-bottom: 11px;\r\n  .head-left {\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 20px;\r\n      color: #292929;\r\n      line-height: 30px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      padding-bottom: 7px;\r\n      display: inline-block;\r\n    }\r\n    .tag-wrapper {\r\n      display: flex;\r\n      align-items: flex-end;\r\n    }\r\n    .tag {\r\n      width: 75px;\r\n      height: 25px;\r\n      line-height: 25px;\r\n      border-radius: 4px;\r\n      border: 1px solid #FFB096;\r\n      line-height: 23px;\r\n      text-align: center;\r\n      padding-left: 15px;\r\n      position: relative;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #FFB096;\r\n      margin-right: 31px;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 5px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        border: 1px solid #FFB096;\r\n        background: #FFB096;\r\n      }\r\n    }\r\n    .time {\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 12px;\r\n      padding-bottom: 5px;\r\n    }\r\n  }\r\n  .head-right {\r\n    text-align: center;\r\n    img {\r\n      border-radius: 50%;\r\n      width: 33px;\r\n      height: 33px;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/TipDetail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"tipdetail-box\"},[_c('div',{staticClass:\"detail-box\"},[_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"head-left\"},[_c('span',{staticClass:\"title prewrap-content\"},[_vm._v(_vm._s(_vm.tip.experience_title))]),_vm._v(\" \"),_c('div',{staticClass:\"tag-wrapper\"},[_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.tip.experience_tag_title)+\"\\n          \")]),_vm._v(\" \"),_c('span',{staticClass:\"time\"},[_vm._v(_vm._s(_vm.tip.createTime))])])]),_vm._v(\" \"),_c('div',{staticClass:\"head-right\"},[_c('img',{attrs:{\"src\":_vm.tip.user_headimage\n              ? require('@/assets/img/avatarList/' + _vm.tip.user_headimage)\n              : require('@/assets/img/avatarList/headimage1.png')}}),_vm._v(\" \"),_c('div',{staticClass:\"nickname ellipsis-content\"},[_vm._v(_vm._s(_vm.tip.user_nickname))])])]),_vm._v(\" \"),_c('span',{staticClass:\"detail-content prewrap-content\"},[_vm._v(_vm._s(_vm.tip.experience_content)+\"\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"footer\"},[(_vm.tip.experience_iscollection == '1')?_c('img',{attrs:{\"src\":require(\"@/assets/img/tipdetail_collected.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(2)}}}):_c('img',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"src\":require(\"@/assets/img/tipdetail_collect.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(1)}}}),_vm._v(\" \"),_c('span',{staticClass:\"num\"},[_vm._v(_vm._s(_vm.tip.experience_collection_num))]),_vm._v(\" \"),_c('div',{staticClass:\"see-black-btn\",on:{\"click\":_vm.toBlackCase}},[_vm._v(\"查看黑牌案例\")])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-42067339\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/TipDetail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-42067339\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TipDetail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipDetail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipDetail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-42067339\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TipDetail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-42067339\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/TipDetail.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div style=\"height: 100%\"\r\n    :class=\"[\r\n    fullscreen ? 'big-view bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view' : ''\r\n  ]\">\r\n    <div class=\"main-content behavior\"\r\n      :class=\"fullscreen ? 'full' : ''\">\r\n      <div class=\"box\">\r\n        <img v-if=\"!fullscreen\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/fullscreen01.svg\"\r\n          @click=\"toggle\" />\r\n        <img v-if=\"fullscreen && !showDetail\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          :class=\"fullscreen ? 'fullscreenExit' : ''\"\r\n          src=\"@/assets/img/exit_fullscreen_behavior_w.svg\"\r\n          @click=\"toggle\" />\r\n        <div class=\"box-content-name name\"\r\n          ref=\"name\"\r\n          :class=\"[\r\n            !fullscreen && isNeedOutFullscreenAni\r\n              ? 'outof-big-view-name-ani'\r\n              : ''\r\n          ]\">\r\n          <span v-if=\"!fullscreen\">心得广场</span>\r\n          <span v-else class=\"cursor-pointer\" @click=\"back\">心得广场</span>\r\n          <div id=\"heartPlaza_step1\"\r\n            class=\"course\"\r\n            :class=\"[fullscreen ? 'course_detail' : '']\"\r\n            @click=\"showCourse\"\r\n            v-show=\"!showDetail\">\r\n            <div class=\"tx\">\r\n              <p v-if=\"heartPlazaGuideStatus === 1\">{{ name }}</p>\r\n              <p v-if=\"heartPlazaGuideStatus === 0\">智慧人生 | 信仰篇</p>\r\n            </div>\r\n            <div v-if=\"heartPlazaGuideStatus === 1\"\r\n              class=\"theme\">\r\n              {{ course_name }}\r\n            </div>\r\n            <div v-if=\"heartPlazaGuideStatus === 0\"\r\n              class=\"theme\">\r\n              人生五大问题\r\n            </div>\r\n            <i class=\"el-icon-arrow-down\"></i>\r\n          </div>\r\n        </div>\r\n        <div class=\"content-box\">\r\n          <div class=\"navs\"\r\n            :class=\"fullscreen ? 'navsFull' : ''\"\r\n            ref=\"navs\">\r\n            <ul id=\"heartPlaza_step2\">\r\n              <li v-for=\"(item, index) in tags\"\r\n                :key=\"'li' + index\"\r\n                :class=\"\r\n                  experience_tag_id === item.experience_tag_id ? 'activeLi' : ''\r\n                \">\r\n                <div @click=\"getData(item)\">\r\n                  {{ item.experience_tag_title }}\r\n                </div>\r\n              </li>\r\n            </ul>\r\n            <ul id=\"heartPlaza_step3\">\r\n              <li @click=\"getData1(1)\"\r\n                class=\"recommended\"\r\n                :style=\"{ color: experience_order === 1 ? '#FFB096' : '' }\">\r\n                <img v-if=\"experience_order === 1\"\r\n                  src=\"@/assets/img/recommended_active.svg\" />\r\n                <img v-else\r\n                  src=\"@/assets/img/recommended.svg\" />\r\n                <span>推荐心得</span>\r\n              </li>\r\n              <li @click=\"getData1(2)\"\r\n                class=\"recommended\"\r\n                :style=\"{ color: experience_order === 2 ? '#FFB096' : '' }\">\r\n                <img v-if=\"experience_order === 2\"\r\n                  src=\"@/assets/img/newest_active.svg\" />\r\n                <img v-else\r\n                  src=\"@/assets/img/newest.svg\" />\r\n                <span>最新入场</span>\r\n              </li>\r\n              <li @click=\"getData1(3)\"\r\n                class=\"recommended\"\r\n                :style=\"{ color: experience_order === 3 ? '#FFB096' : '' }\">\r\n                <img v-if=\"experience_order === 3\"\r\n                  src=\"@/assets/img/hot_active.svg\" />\r\n                <img v-else\r\n                  src=\"@/assets/img/hot.svg\" />\r\n                <span>热点心得</span>\r\n              </li>\r\n            </ul>\r\n          </div>\r\n          <div v-if=\"datas.length == 0 && heartPlazaGuideStatus === 1\"\r\n            class=\"tips notips\">\r\n            <NoData />\r\n          </div>\r\n\r\n            <div v-if=\"!showDetail && datas.length && heartPlazaGuideStatus === 1\"\r\n              class=\"tips\"\r\n              :class=\"fullscreen ? 'tipsFull' : ''\"\r\n              v-infinite-scroll=\"load\"\r\n              :infinite-scroll-distance=\"1\"\r\n              ref=\"tips\">\r\n              <el-card class=\"box-card\"\r\n                :class=\"fullscreen ? 'box-card1' : ''\"\r\n                v-for=\"(item, index) in datas\"\r\n                :key=\"'box' + index\">\r\n                <div>\r\n                  <div class=\"header\"\r\n                    @click=\"toDetail(item)\">\r\n                    <p class=\"title ellipsis-content\">{{ item.experience_title }}</p>\r\n                    <div class=\"subtitleWrapper\">\r\n                      <p class=\"subtitle\">{{ item.course_name }}</p>\r\n                      <div class=\"time\">{{ item.createTime }}</div>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"tip\"\r\n                    @click=\"toDetail(item)\">\r\n                    <p class=\"content ellipsis-content\">\r\n                      {{ item.experience_content }}\r\n                    </p>\r\n                    <div class=\"tag-wrapper\">\r\n                      <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\">{{ item.experience_tag_title }}</div>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"footer\">\r\n                    <div class=\"avatar\"\r\n                      @click=\"toDetail(item)\">\r\n                      <img :src=\"\r\n                          item.user_headimage\r\n                            ? require('@/assets/img/avatarList/' +\r\n                              item.user_headimage)\r\n                            : require('@/assets/img/avatarList/headimage1.png')\r\n                        \" />\r\n                      <span class=\"nickname ellipsis-content\">{{\r\n                        item.user_nickname\r\n                      }}</span>\r\n                    </div>\r\n                    <div class=\"like\">\r\n                      <span class=\"num\"\r\n                        @click=\"toDetail(item)\">{{\r\n                        item.experience_collection_num\r\n                      }}</span>\r\n                      <img v-if=\"item.experience_iscollection == '1'\"\r\n                        src=\"@/assets/img/collected.svg\" />\r\n                      <img v-else\r\n                        src=\"@/assets/img/not_collect.svg\" />\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </el-card>\r\n              <p v-if=\"loading\"\r\n                class=\"loading\">加载中...</p>\r\n              <p v-if=\"noMore\"\r\n                class=\"loading\">--到底啦--</p>\r\n          </div>\r\n\r\n          <div v-if=\"heartPlazaGuideStatus === 0\"\r\n            class=\"tips\"\r\n            :class=\"fullscreen ? 'tipsFull' : ''\"\r\n            ref=\"tips\">\r\n            <el-card :id=\"'heartPlaza_step4_' + i\"\r\n              class=\"box-card\"\r\n              :class=\"fullscreen ? 'box-card1' : ''\"\r\n              v-for=\"i in 4\"\r\n              :key=\"'box' + i\">\r\n              <div>\r\n                <div class=\"header\">\r\n                  <p class=\"title\">修行端正了我的生死观</p>\r\n                  <div class=\"subtitleWrapper\">\r\n                    <p class=\"subtitle\">人生五大问题</p>\r\n                    <div class=\"time\">2021-12-12 14:20</div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"tip\">\r\n                  <p class=\"content ellipsis-content\">\r\n                    以为赚很多钱就能幸福，但在当初设定的目标一一实现时，除了带来一些暂时满足，预想中的幸福似乎并没有如期而至。，但在当初设定的目标一一实现时，除了带来一些暂时满足，预想中的幸福似乎并没有如期而至。\r\n                  </p>\r\n                  <div class=\"tag-wrapper\">\r\n                    <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\">如理思维</div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"footer\">\r\n                  <div class=\"avatar\">\r\n                    <img src=\"@/assets/img/avatarList/headimage1.png\" />\r\n                    <span class=\"nickname ellipsis-content\">昵称</span>\r\n                  </div>\r\n                  <div class=\"like\">\r\n                    <span class=\"num\">12345</span>\r\n                    <img src=\"@/assets/img/not_collect.svg\"\r\n                      @click=\"addUserCollection(item, 2)\" />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </el-card>\r\n            <p v-if=\"loading\"\r\n              class=\"loading\">加载中...</p>\r\n            <p v-if=\"noMore\"\r\n              class=\"loading\">--到底啦--</p>\r\n          </div>\r\n\r\n          <div class=\"tipDetail\"\r\n            v-if=\"showDetail\">\r\n            <tip-detail :tip=\"tip\"\r\n              :course_id=\"courseId\"\r\n              @addUserCollection=\"addUserCollectionFn\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <Course :dialogVisible=\"dialogVisible\"\r\n        :isGlobal=\"false\"\r\n        :parent=\"that\"\r\n        :course=\"selectedCourse\"\r\n        :course_id=\"courseId\"\r\n        @closeDialog=\"handleClose\"\r\n        @selectCourse=\"selectCourse\" />\r\n    </div>\r\n    <span style=\"width:0;height:0;overflow:hidden;display:inline-block;\">{{fullscreen}}</span>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  getExperienceSquare,\r\n  getExperienceTag,\r\n  addUserCollection,\r\n} from \"@/api/index.js\";\r\nimport { ensurePngSuffix } from \"@/utils/util.js\";\r\nimport TipDetail from \"./TipDetail.vue\";\r\nimport Course from \"@/components/Course.vue\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport NoData from \"@/components/NoData\";\r\nimport { heartPlaza_guide } from \"@/utils/intro\";\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: {\r\n    TipDetail,\r\n    Course,\r\n    NoData,\r\n  },\r\n  data() {\r\n    return {\r\n      heartPlazaGuideStatus: 1,\r\n      fullscreen: false,\r\n      prevFullscreen: false,\r\n      tags: [],\r\n      experience_order: 2,\r\n      experience_tag_id: \"\",\r\n      experience_tag_type: \"\",\r\n      pageSize: 10,\r\n      page: 0,\r\n      datas: [],\r\n      loading: false,\r\n      noMore: false,\r\n      showDetail: false,\r\n      tip: null,\r\n      isActivated: true,\r\n      courseId: 0,\r\n      dialogVisible: false,\r\n      // iIndexicon: this.iIndex_icon,\r\n      name: \"\",\r\n      that: this,\r\n      course_name: \"\",\r\n      selectedCourse: \"\",\r\n    };\r\n  },\r\n  computed: {\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    whiteFullScreenPages() {\r\n      return this.$store.getters.whiteFullScreenPages;\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n  },\r\n  watch: {\r\n    course: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"course:\", this.course);\r\n        if(this.courseId != this.course_id) {\r\n          this.experience_order = 2;\r\n          this.initCourse();\r\n          this.getExperienceSquare();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if ((newVal || newVal == 0) && this.isActivated) {\r\n          // this.courseId = this.course_id;\r\n          // 判断是否是全屏，是的话切换课程需要先缩小，特殊\r\n          // this.courseChangeFullscreenWhite(\"TipsSquare\", \"white\");\r\n          this.experience_order = 2;\r\n          this.back();\r\n        }\r\n      },\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n          if (newVal) {\r\n          // 判断是否是全屏，是的话切换课程需要先缩小，特殊\r\n          // this.courseChangeFullscreenWhite();\r\n          this.experience_order = 2;\r\n          this.back();\r\n        }\r\n      },\r\n    },\r\n    courseId: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if ((newVal || newVal == 0) && this.isActivated) {\r\n          this.courseId = newVal;\r\n          this.datas = [];\r\n          this.page = 0;\r\n          this.noMore = false;\r\n          console.log(\"getExperienceSquare\");\r\n          this.experience_order = 2;\r\n          this.getExperienceSquare();\r\n        }\r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    selectCourse(data) {\r\n      console.log(\"selectCourse:\", data);\r\n      if (data) {\r\n        this.name = data.name;\r\n        this.course_name = data.course_name;\r\n        this.courseId = data.course_id;\r\n      }\r\n      console.log(this.name, this.course_name, this.courseId)\r\n      this.selectedCourse = JSON.stringify([data]);\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false;\r\n    },\r\n    // 将选择的课程渲染到Header中\r\n    closeDialog() {\r\n      this.dialogVisible = false;\r\n      // this.name = \"同修班 | 下士道\";\r\n    },\r\n    showCourse() {\r\n      this.dialogVisible = true;\r\n    },\r\n    addUserCollectionFn(experience_iscollection) {\r\n      console.log(\"experience_iscollection:\", experience_iscollection);\r\n      this.tip.experience_iscollection = experience_iscollection;\r\n      if (experience_iscollection == 1) {\r\n        this.tip.experience_collection_num =\r\n          parseInt(this.tip.experience_collection_num) + 1;\r\n      } else {\r\n        this.tip.experience_collection_num =\r\n          parseInt(this.tip.experience_collection_num) - 1;\r\n      }\r\n    },\r\n    addUserCollection(data, operate_type) {\r\n      let params = {\r\n        operate_type,\r\n        collect_type: 4,\r\n        experience_id: data.experience_id,\r\n        course_id: this.course_id,\r\n      };\r\n      console.log(\"params:\", params);\r\n      addUserCollection(params).then((res) => {\r\n        if (res && res.code === 0) {\r\n          data.experience_iscollection = operate_type + \"\";\r\n          if (operate_type === 1) {\r\n            data.experience_collection_num =\r\n              parseInt(data.experience_collection_num) + 1;\r\n          } else {\r\n            data.experience_collection_num =\r\n              parseInt(data.experience_collection_num) - 1;\r\n          }\r\n        }\r\n      });\r\n    },\r\n    toDetail(data) {\r\n      if(this.eyeAnimationIng) {\r\n        return;\r\n      }\r\n      this.eyeAnimationIng = true;\r\n      this.prevFullscreen = this.fullscreen;\r\n      if(!this.fullscreen) {\r\n        this.$store.dispatch(\"setWhiteFullScreenPages\", \"TipsSquare\");\r\n      }\r\n      data.user_headimage = ensurePngSuffix(data.user_headimage);\r\n      this.tip = data;\r\n      this.showDetail = true;\r\n      this.fullscreen = true;\r\n\r\n      EventBus.$emit(\"FULLSCREEN\", true);\r\n      this.$store.dispatch(\"pushHistoryOperate\", {\r\n        type: \"fullscreen\",\r\n      });\r\n      let timeout = setTimeout(() => {\r\n        this.eyeAnimationIng = false;\r\n        clearTimeout(timeout);\r\n      }, 550);\r\n    },\r\n    back() {\r\n      console.log(\"backbackback\");\r\n      if(this.eyeAnimationIng) {\r\n        return;\r\n      }\r\n      this.eyeAnimationIng = true;\r\n      if (this.showDetail) {\r\n        this.fullscreen = this.prevFullscreen;\r\n      } else {\r\n        this.fullscreen = false;\r\n      }\r\n      if (\r\n        !this.fullscreen &&\r\n        this.whiteFullScreenPages.indexOf(\"TipsSquare\") > -1\r\n      ) {\r\n        this.$store.dispatch(\"setWhiteFullScreenPages\", \"TipsSquare\");\r\n      }\r\n      this.showDetail = false;\r\n      this.tip = null;\r\n\r\n      if (!this.fullscreen) {\r\n        this.isNeedOutFullscreenAni = true;\r\n        EventBus.$emit(\"FULLSCREEN\", false);\r\n        this.$store.dispatch(\"popHistoryOperate\", {\r\n          type: \"fullscreen\",\r\n        });\r\n        // 需要在500ms后将isNeedOutFullscreen去掉， 因为position为fixed导致之前的动效失效;动画完成之后，将eyeAnimationIng设置未false\r\n        let timeout = setTimeout(() => {\r\n          this.isNeedOutFullscreenAni = false;\r\n          this.eyeAnimationIng = false;\r\n          clearTimeout(timeout);\r\n        }, 500);\r\n      } else {\r\n        // EventBus.$emit(\"FULLSCREEN\", true);\r\n        // this.$store.dispatch(\"pushHistoryOperate\", {\r\n        //   type: \"fullscreen\",\r\n        // });\r\n        let timeout = setTimeout(() => {\r\n          this.eyeAnimationIng = false;\r\n          clearTimeout(timeout);\r\n        }, 500);\r\n      }\r\n    },\r\n    getData1(experience_order) {\r\n      this.showDetail = false;\r\n      // if (this.showDetail) {\r\n      //   return;\r\n      // }\r\n      this.experience_order = experience_order;\r\n      this.page = 0;\r\n      this.datas = [];\r\n      this.noMore = false;\r\n      console.log(\"getExperienceSquare\");\r\n      this.getExperienceSquare();\r\n    },\r\n    getData(data) {\r\n      this.showDetail = false;\r\n      // if (this.showDetail) {\r\n      //   return;\r\n      // }\r\n      this.experience_tag_id = data.experience_tag_id;\r\n      this.experience_tag_type = data.experience_tag_type;\r\n      console.log(\"getExperienceSquare\")\r\n      this.page = 0;\r\n      this.datas = [];\r\n      this.noMore = false;\r\n      this.getExperienceSquare();\r\n    },\r\n    getExperienceTag() {\r\n      getExperienceTag().then((res) => {\r\n        if (res && res.code === 0) {\r\n          this.tags = res.data;\r\n          this.tags.unshift({\r\n            experience_tag_title: \"全部\",\r\n            experience_tag_type: \"\",\r\n            experience_tag_id: \"\",\r\n          });\r\n          console.log(\"tags:\", this.tags);\r\n        }\r\n      });\r\n    },\r\n    load() {\r\n      console.log(\"loadloadload：\", this.noMore);\r\n      if (this.noMore || this.loading) {\r\n        return;\r\n      }\r\n      this.page += 1;\r\n      console.log(\"getExperienceSquare\")\r\n      this.getExperienceSquare();\r\n    },\r\n    async getExperienceSquare() {\r\n      if(!this.course_id) {\r\n        return\r\n      }\r\n      this.loading = true;\r\n      try {\r\n\r\n        let params = {\r\n          course_id: this.courseId,\r\n          page: this.page,\r\n          pageSize: this.pageSize,\r\n        };\r\n        console.log(\"paaara:\", params);\r\n        console.log(this.datas)\r\n        if (this.experience_tag_id) {\r\n          params.experience_tag_id = this.experience_tag_id;\r\n        }\r\n        if (this.experience_tag_type) {\r\n          params.experience_tag_type = this.experience_tag_type;\r\n        }\r\n        if (this.experience_order) {\r\n          params.experience_order = this.experience_order;\r\n        }\r\n        const res = await getExperienceSquare(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          if (this.page == 1) {\r\n            this.datas = [];\r\n          }\r\n          let data = res.data;\r\n          data.forEach((item) => {\r\n            item.createTime = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD HH:mm\");\r\n            item.user_headimage = ensurePngSuffix(item.user_headimage);\r\n          });\r\n          console.log(\"getExperienceSquare:\" ,data.length, this.pageSize, this.page);\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n          this.datas.push(...data);\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    toggle() {\r\n      console.log(\"TipsSquare toggle:\", this.showDetail)\r\n      if (this.showDetail) {\r\n        return;\r\n      }\r\n      this.$store.dispatch(\"setWhiteFullScreenPages\", \"TipsSquare\").then(() => {\r\n        console.log(\"toggle fullscreen:\", this.fullscreen);\r\n        this.fullscreen = !this.fullscreen;\r\n        console.log(\"toggle fullscreen:\", this.fullscreen);\r\n        if (!this.fullscreen) {\r\n          this.isNeedOutFullscreenAni = true;\r\n          EventBus.$emit(\"FULLSCREEN\", false);\r\n          // 退出全屏操作记录\r\n          this.$store.dispatch(\"popHistoryOperate\", {\r\n            type: \"fullscreen\",\r\n            com: \"TipsSquare\",\r\n          });\r\n          // 需要在500ms后将isNeedOutFullscreen去掉， 因为position为fixed导致之前的动效失效\r\n          let timeout = setTimeout(() => {\r\n            this.isNeedOutFullscreenAni = false;\r\n            clearTimeout(timeout);\r\n          }, 500);\r\n        } else {\r\n          EventBus.$emit(\"FULLSCREEN\", true);\r\n          // 全屏操作记录\r\n          this.$store.dispatch(\"pushHistoryOperate\", {\r\n            type: \"fullscreen\",\r\n            com: \"TipsSquare\",\r\n          });\r\n        }\r\n      });\r\n    },\r\n    setHeartPlazaGuideStatus(status) {\r\n      this.heartPlazaGuideStatus = status;\r\n    },\r\n    initGuide() {\r\n      heartPlaza_guide(this, [\r\n        {\r\n          intro:\r\n            \"点击心得广场，可查看其他人的分享。通过标签进行分类，并可查看相应的黑牌案例。\",\r\n          element: document.querySelector(\"#index_overseas_step18\"),\r\n          position: \"top\",\r\n        },\r\n        {\r\n          intro: \"点击选择相关课程\",\r\n          element: document.querySelector(\"#heartPlaza_step1\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"点击选择相关心得标签\",\r\n          element: document.querySelector(\"#heartPlaza_step2\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击查看不同推荐心得\",\r\n          element: document.querySelector(\"#heartPlaza_step3\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击心得卡片查看详情内容\",\r\n          element: document.querySelector(\"#heartPlaza_step4_1\"),\r\n          position: \"bottom\",\r\n        },\r\n      ]);\r\n    },\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.setHeartPlazaGuideStatus(0);\r\n      EventBus.$emit(\"setBehaviorGuideMode\", 0);\r\n      setTimeout(() => {\r\n        this.initGuide();\r\n      }, 600);\r\n    },\r\n    init() {\r\n      this.page = 0;\r\n      this.datas = [];\r\n      this.noMore = false;\r\n      this.getExperienceSquare();\r\n    },\r\n    initCourse() {\r\n      if (this.course && this.course.length) {\r\n        const course = JSON.parse(this.course);\r\n        const cou = course[0];\r\n        let name = cou.jdname;\r\n        if (cou.dyname) {\r\n          name += \" | \" + cou.dyname;\r\n        }\r\n        this.courseId = cou.course_id;\r\n        this.name = name;\r\n        this.course_name = cou.course_name;\r\n      } else {\r\n        this.name = \"\";\r\n        this.course_name = \"\";\r\n      }\r\n      this.selectedCourse = this.course;\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    if(!this.isActivated) {\r\n      this.init();\r\n      // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n      this.$nextTick(() => {\r\n        this.load();\r\n      });\r\n    }\r\n    this.isActivated = true;\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if (guideStatus.heartPlaza === 0 || guideStatus.heartPlaza == undefined) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    this.getExperienceTag();\r\n    this.courseId = this.course_id;\r\n    this.$nextTick(() => {\r\n      document.addEventListener(\"keydown\", (e) => {\r\n        console.log(e);\r\n        if (e.key == \"Escape\") {\r\n          e.stopPropagation();\r\n          this.back();\r\n        }\r\n      });\r\n    });\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", (whiteCom) => {\r\n      if (whiteCom === \"TipsSquare\") {\r\n        this.back(whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"heartPlaza_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n}\r\n.fullscreen {\r\n  top: 54px;\r\n}\r\n.full {\r\n  .content-box {\r\n    border-radius: 0;\r\n    margin-top: 18px;\r\n  }\r\n}\r\n.tipDetail {\r\n  flex: 1;\r\n  padding-left: 23px;\r\n  position: relative;\r\n  height: 100%;\r\n  padding-bottom: 20px;\r\n}\r\n.behavior {\r\n  .box-content-name {\r\n    display: flex;\r\n  }\r\n  .course {\r\n    display: flex;\r\n    margin-left: 40px;\r\n    border-radius: 16px;\r\n    border: 1px solid #ffb096;\r\n    align-items: center;\r\n    padding: 2px 13px;\r\n    cursor: pointer;\r\n    .tx {\r\n      display: flex;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #7e878c;\r\n      line-height: 18px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n    .theme {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #292929;\r\n      line-height: 18px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      padding-left: 9px;\r\n    }\r\n    i {\r\n      margin-left: 104px;\r\n    }\r\n  }\r\n  .course_detail {\r\n    margin-left: 82px;\r\n  }\r\n}\r\n\r\n.box {\r\n  height: 100%;\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .back {\r\n    padding-left: 109px;\r\n    position: relative;\r\n    img {\r\n      top: 12px;\r\n      position: absolute;\r\n    }\r\n  }\r\n}\r\n.content-box {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  align-items: flex-start;\r\n  flex-direction: row;\r\n  flex: 1;\r\n  min-width: 575px;\r\n}\r\n.navs {\r\n  width: 100px;\r\n  text-align: center;\r\n  background: #fff;\r\n  border-top-left-radius: 16px;\r\n  border-bottom-left-radius: 16px;\r\n  height: 100%;\r\n  min-height: 563px;\r\n  ul {\r\n    width: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n  }\r\n  .recommended {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n  img {\r\n    width: 24px;\r\n    height: 24px;\r\n  }\r\n}\r\n.navsFull {\r\n  border-top-right-radius: 16px;\r\n  border-bottom-right-radius: 16px;\r\n  margin-left: 32px;\r\n  width: 160px;\r\n  height: 570px;\r\n}\r\nul,\r\nli {\r\n  list-style: none;\r\n  cursor: pointer;\r\n}\r\nul {\r\n  text-align: center;\r\n  font-size: 12px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 18px;\r\n  padding-bottom: 30px;\r\n  &:not(:last-of-type) {\r\n    border-bottom: 1px solid @behavior;\r\n  }\r\n}\r\nli {\r\n  padding: 6px 5px;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  margin-top: 24px;\r\n  // width: 80px;\r\n  // border: 2px solid transparent;\r\n}\r\n.activeLi {\r\n  color: #ffae8b;\r\n  border-bottom: 2px solid;\r\n  border-image-source: linear-gradient(to right, #ffae8b, #fd746b);\r\n  border-image-slice: 1;\r\n  // border-top: 2px solid transparent;\r\n}\r\n.notips {\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n.tips {\r\n  padding: 48px 0 20px 0;\r\n  flex: 1;\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  flex-wrap: wrap;\r\n  // height: calc(100% - 20px);\r\n  max-height: 100%;\r\n  overflow-y: auto;\r\n  // width: 100%;\r\n  .box-card {\r\n    width: 430px;\r\n    height: 195px;\r\n    margin-bottom: 21px;\r\n    margin-left: 21px;\r\n    cursor: pointer;\r\n    border-radius: 8px;\r\n  }\r\n  .box-card1 {\r\n    width: 355px;\r\n    margin-bottom: 27px;\r\n    margin-left: 21px;\r\n  }\r\n  .header {\r\n    padding: 16px 20px 7px 20px;\r\n    .title {\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #292929;\r\n      line-height: 18px;\r\n      -webkit-line-clamp: 1;\r\n    }\r\n    .subtitleWrapper {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      padding-top: 4px;\r\n      .subtitle {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #bcc4c8;\r\n        line-height: 18px;\r\n      }\r\n      .time {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #d4d9db;\r\n        line-height: 18px;\r\n      }\r\n    }\r\n  }\r\n  .tip {\r\n    padding: 5px 0 7px 0;\r\n    border-top: 1px solid #f3f3f4;\r\n    border-bottom: 1px solid #f3f3f4;\r\n    .content {\r\n      padding: 0 20px;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 20px;\r\n      height: 38px;\r\n      overflow-y: hidden;\r\n      margin-bottom: 8px;\r\n      -webkit-line-clamp: 2;\r\n    }\r\n    .tag-wrapper {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      padding: 0 20px;\r\n    }\r\n    .tag {\r\n      width: 72px;\r\n      height: 23px;\r\n      border-radius: 4px;\r\n      border: 1px solid #FFB096;\r\n      line-height: 23px;\r\n      text-align: center;\r\n      padding-left: 15px;\r\n      position: relative;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #FFB096;\r\n      line-height: 23px;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 8px;\r\n        left: 5px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        border: 1px solid #FFB096;\r\n        background: #FFB096;\r\n      }\r\n    }\r\n  }\r\n  .footer {\r\n    padding: 5px 20px;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    .avatar {\r\n      display: flex;\r\n      align-items: center;\r\n      height: 37px;\r\n      line-height: 37px;\r\n      img {\r\n        width: 37px;\r\n        height: 37px;\r\n        border-radius: 50%;\r\n      }\r\n      .nickname {\r\n        padding-left: 5px;\r\n        -webkit-line-clamp: 1;\r\n        max-width: 200px;\r\n      }\r\n    }\r\n    .like {\r\n      display: flex;\r\n      align-items: center;\r\n      .num {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #bcc4c8;\r\n        line-height: 18px;\r\n        padding-left: 10px;\r\n        padding-right: 10px;\r\n      }\r\n      img {\r\n        width: 23px;\r\n        height: 21px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.tipsFull {\r\n  padding: 0 0 20px 0;\r\n}\r\n.loading {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 26px;\r\n  width: 100%;\r\n  padding-top: 0;\r\n  padding-bottom: 30px;\r\n}\r\n.name {\r\n  color: @behavior;\r\n}\r\n/deep/ .el-card__body {\r\n  padding: 0;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/TipsSquare.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  _vm.fullscreen ? 'big-view bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view' : ''\n],staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"main-content behavior\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{staticClass:\"box\"},[(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen01.svg\")},on:{\"click\":_vm.toggle}}):_vm._e(),_vm._v(\" \"),(_vm.fullscreen && !_vm.showDetail)?_c('img',{staticClass:\"fullscreen fullscreenHover\",class:_vm.fullscreen ? 'fullscreenExit' : '',attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_behavior_w.svg\")},on:{\"click\":_vm.toggle}}):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"name\",staticClass:\"box-content-name name\",class:[\n          !_vm.fullscreen && _vm.isNeedOutFullscreenAni\n            ? 'outof-big-view-name-ani'\n            : ''\n        ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"心得广场\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":_vm.back}},[_vm._v(\"心得广场\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showDetail),expression:\"!showDetail\"}],staticClass:\"course\",class:[_vm.fullscreen ? 'course_detail' : ''],attrs:{\"id\":\"heartPlaza_step1\"},on:{\"click\":_vm.showCourse}},[_c('div',{staticClass:\"tx\"},[(_vm.heartPlazaGuideStatus === 1)?_c('p',[_vm._v(_vm._s(_vm.name))]):_vm._e(),_vm._v(\" \"),(_vm.heartPlazaGuideStatus === 0)?_c('p',[_vm._v(\"智慧人生 | 信仰篇\")]):_vm._e()]),_vm._v(\" \"),(_vm.heartPlazaGuideStatus === 1)?_c('div',{staticClass:\"theme\"},[_vm._v(\"\\n            \"+_vm._s(_vm.course_name)+\"\\n          \")]):_vm._e(),_vm._v(\" \"),(_vm.heartPlazaGuideStatus === 0)?_c('div',{staticClass:\"theme\"},[_vm._v(\"\\n            人生五大问题\\n          \")]):_vm._e(),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-arrow-down\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\"},[_c('div',{ref:\"navs\",staticClass:\"navs\",class:_vm.fullscreen ? 'navsFull' : ''},[_c('ul',{attrs:{\"id\":\"heartPlaza_step2\"}},_vm._l((_vm.tags),function(item,index){return _c('li',{key:'li' + index,class:_vm.experience_tag_id === item.experience_tag_id ? 'activeLi' : ''},[_c('div',{on:{\"click\":function($event){return _vm.getData(item)}}},[_vm._v(\"\\n                \"+_vm._s(item.experience_tag_title)+\"\\n              \")])])}),0),_vm._v(\" \"),_c('ul',{attrs:{\"id\":\"heartPlaza_step3\"}},[_c('li',{staticClass:\"recommended\",style:({ color: _vm.experience_order === 1 ? '#FFB096' : '' }),on:{\"click\":function($event){return _vm.getData1(1)}}},[(_vm.experience_order === 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/recommended_active.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/recommended.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"推荐心得\")])]),_vm._v(\" \"),_c('li',{staticClass:\"recommended\",style:({ color: _vm.experience_order === 2 ? '#FFB096' : '' }),on:{\"click\":function($event){return _vm.getData1(2)}}},[(_vm.experience_order === 2)?_c('img',{attrs:{\"src\":require(\"@/assets/img/newest_active.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/newest.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"最新入场\")])]),_vm._v(\" \"),_c('li',{staticClass:\"recommended\",style:({ color: _vm.experience_order === 3 ? '#FFB096' : '' }),on:{\"click\":function($event){return _vm.getData1(3)}}},[(_vm.experience_order === 3)?_c('img',{attrs:{\"src\":require(\"@/assets/img/hot_active.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/hot.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"热点心得\")])])])]),_vm._v(\" \"),(_vm.datas.length == 0 && _vm.heartPlazaGuideStatus === 1)?_c('div',{staticClass:\"tips notips\"},[_c('NoData')],1):_vm._e(),_vm._v(\" \"),(!_vm.showDetail && _vm.datas.length && _vm.heartPlazaGuideStatus === 1)?_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],ref:\"tips\",staticClass:\"tips\",class:_vm.fullscreen ? 'tipsFull' : '',attrs:{\"infinite-scroll-distance\":1}},[_vm._l((_vm.datas),function(item,index){return _c('el-card',{key:'box' + index,staticClass:\"box-card\",class:_vm.fullscreen ? 'box-card1' : ''},[_c('div',[_c('div',{staticClass:\"header\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('p',{staticClass:\"title ellipsis-content\"},[_vm._v(_vm._s(item.experience_title))]),_vm._v(\" \"),_c('div',{staticClass:\"subtitleWrapper\"},[_c('p',{staticClass:\"subtitle\"},[_vm._v(_vm._s(item.course_name))]),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_vm._v(_vm._s(item.createTime))])])]),_vm._v(\" \"),_c('div',{staticClass:\"tip\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('p',{staticClass:\"content ellipsis-content\"},[_vm._v(\"\\n                    \"+_vm._s(item.experience_content)+\"\\n                  \")]),_vm._v(\" \"),_c('div',{staticClass:\"tag-wrapper\"},[_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"}},[_vm._v(_vm._s(item.experience_tag_title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"footer\"},[_c('div',{staticClass:\"avatar\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('img',{attrs:{\"src\":item.user_headimage\n                          ? require('@/assets/img/avatarList/' +\n                            item.user_headimage)\n                          : require('@/assets/img/avatarList/headimage1.png')}}),_vm._v(\" \"),_c('span',{staticClass:\"nickname ellipsis-content\"},[_vm._v(_vm._s(item.user_nickname))])]),_vm._v(\" \"),_c('div',{staticClass:\"like\"},[_c('span',{staticClass:\"num\",on:{\"click\":function($event){return _vm.toDetail(item)}}},[_vm._v(_vm._s(item.experience_collection_num))]),_vm._v(\" \"),(item.experience_iscollection == '1')?_c('img',{attrs:{\"src\":require(\"@/assets/img/collected.svg\")}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/not_collect.svg\")}})])])])])}),_vm._v(\" \"),(_vm.loading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMore)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.heartPlazaGuideStatus === 0)?_c('div',{ref:\"tips\",staticClass:\"tips\",class:_vm.fullscreen ? 'tipsFull' : ''},[_vm._l((4),function(i){return _c('el-card',{key:'box' + i,staticClass:\"box-card\",class:_vm.fullscreen ? 'box-card1' : '',attrs:{\"id\":'heartPlaza_step4_' + i}},[_c('div',[_c('div',{staticClass:\"header\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"修行端正了我的生死观\")]),_vm._v(\" \"),_c('div',{staticClass:\"subtitleWrapper\"},[_c('p',{staticClass:\"subtitle\"},[_vm._v(\"人生五大问题\")]),_vm._v(\" \"),_c('div',{staticClass:\"time\"},[_vm._v(\"2021-12-12 14:20\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[_c('p',{staticClass:\"content ellipsis-content\"},[_vm._v(\"\\n                  以为赚很多钱就能幸福，但在当初设定的目标一一实现时，除了带来一些暂时满足，预想中的幸福似乎并没有如期而至。，但在当初设定的目标一一实现时，除了带来一些暂时满足，预想中的幸福似乎并没有如期而至。\\n                \")]),_vm._v(\" \"),_c('div',{staticClass:\"tag-wrapper\"},[_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"}},[_vm._v(\"如理思维\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"footer\"},[_c('div',{staticClass:\"avatar\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/avatarList/headimage1.png\")}}),_vm._v(\" \"),_c('span',{staticClass:\"nickname ellipsis-content\"},[_vm._v(\"昵称\")])]),_vm._v(\" \"),_c('div',{staticClass:\"like\"},[_c('span',{staticClass:\"num\"},[_vm._v(\"12345\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/not_collect.svg\")},on:{\"click\":function($event){return _vm.addUserCollection(_vm.item, 2)}}})])])])])}),_vm._v(\" \"),(_vm.loading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMore)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showDetail)?_c('div',{staticClass:\"tipDetail\"},[_c('tip-detail',{attrs:{\"tip\":_vm.tip,\"course_id\":_vm.courseId},on:{\"addUserCollection\":_vm.addUserCollectionFn}})],1):_vm._e()])]),_vm._v(\" \"),_c('Course',{attrs:{\"dialogVisible\":_vm.dialogVisible,\"isGlobal\":false,\"parent\":_vm.that,\"course\":_vm.selectedCourse,\"course_id\":_vm.courseId},on:{\"closeDialog\":_vm.handleClose,\"selectCourse\":_vm.selectCourse}})],1),_vm._v(\" \"),_c('span',{staticStyle:{\"width\":\"0\",\"height\":\"0\",\"overflow\":\"hidden\",\"display\":\"inline-block\"}},[_vm._v(_vm._s(_vm.fullscreen))])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7c1ef8be\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/TipsSquare.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7c1ef8be\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TipsSquare.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsSquare.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TipsSquare.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7c1ef8be\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TipsSquare.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7c1ef8be\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/TipsSquare.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div style=\"height: 100%\" :class=\"[\r\n    fullscreen ? 'big-view bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view' : ''\r\n  ]\">\r\n    <div class=\"main-content\">\r\n      <div\r\n        class=\"box\"\r\n        ref=\"box\"\r\n        :class=\"[fullscreen ? 'boxClass' : '', fullscreen ? 'full' : '']\"\r\n      >\r\n        <span\r\n          class=\"box-content-name name\"\r\n          :class=\"[\r\n            !fullscreen && isNeedOutFullscreenAni\r\n              ? 'outof-big-view-name-ani'\r\n              : ''\r\n          ]\"\r\n        >\r\n\r\n          <span v-if=\"!fullscreen\">提交心得</span>\r\n          <span v-else class=\"cursor-pointer\" style=\"z-index: 999;\" @click=\"toggle('ConfirmTips')\">提交心得</span>\r\n          <span style=\"width:0;height:0;overflow:hidden;display:inline-block;\">{{fullscreen}}</span>\r\n        </span>\r\n        <div\r\n          class=\"content-box\"\r\n          :class=\"[fullscreen ? 'contentBoxClass' : '']\"\r\n          ref=\"contentBox\"\r\n        >\r\n          <img\r\n            v-if=\"!fullscreen\"\r\n            class=\"fullscreen fullscreenHover\"\r\n            src=\"@/assets/img/fullscreen01.svg\"\r\n            @click=\"toggle('ConfirmTips')\"\r\n          />\r\n          <!-- <img\r\n            v-else\r\n            class=\"fullscreen fullscreenHover\"\r\n            :class=\"fullscreen ? 'fullscreenExit' : ''\"\r\n            src=\"@/assets/img/exit_fullscreen_behavior_w.svg\"\r\n            @click=\"toggle('ConfirmTips')\"\r\n          /> -->\r\n          <div\r\n            v-if=\"courseIsuseradd != '3' && conformTipsGuideMode === 1\"\r\n            class=\"types\"\r\n            ref=\"types\"\r\n            :class=\"[fullscreen ? 'typesClass' : '']\"\r\n          >\r\n            <div\r\n              class=\"class-share\"\r\n              :class=\"[\r\n                fullscreen ? 'classShareClass' : 'classShareClass1',\r\n                confirmTipTypeLast == 1 ? 'share' : ''\r\n              ]\"\r\n              ref=\"classShare\"\r\n              @click=\"toCreateTips(1)\"\r\n            >\r\n              交流分享\r\n            </div>\r\n            <div\r\n              class=\"other-share\"\r\n              :class=\"[\r\n                fullscreen ? 'otherShareClass' : 'otherShareClass1',\r\n                confirmTipTypeLast != 1 ? 'share' : ''\r\n              ]\"\r\n              ref=\"otherShare\"\r\n              @click=\"toCreateTips(2)\"\r\n            >\r\n              其他分享\r\n            </div>\r\n          </div>\r\n          <div\r\n            v-if=\"conformTipsGuideMode === 0\"\r\n            class=\"types\"\r\n            ref=\"types\"\r\n            :class=\"[fullscreen ? 'typesClass' : '']\"\r\n          >\r\n            <div\r\n              class=\"class-share\"\r\n              :class=\"[\r\n                fullscreen ? 'classShareClass' : 'classShareClass1',\r\n                confirmTipTypeLast == 1 ? 'share' : ''\r\n              ]\"\r\n              ref=\"classShare\"\r\n              @click=\"toCreateTips(1)\"\r\n            >\r\n              交流分享\r\n            </div>\r\n            <div\r\n              class=\"other-share\"\r\n              :class=\"[\r\n                fullscreen ? 'otherShareClass' : 'otherShareClass1',\r\n                confirmTipTypeLast != 1 ? 'share' : ''\r\n              ]\"\r\n              ref=\"otherShare\"\r\n              @click=\"toCreateTips(2)\"\r\n            >\r\n              其他分享\r\n            </div>\r\n          </div>\r\n          <!-- :style=\"{\r\n              marginTop: courseIsuseradd == '3' ? '0' : '30px',\r\n              height: courseIsuseradd == '3' ? '100%' : 'calc(100% - 167px)'\r\n            }\" -->\r\n          <div\r\n            class=\"my-tips\"\r\n            ref=\"myTips\"\r\n            :class=\"[fullscreen ? 'myTipsClass' : '']\"\r\n          >\r\n            <p class=\"mytip-label\" :class=\"[fullscreen && courseIsuseradd == 3 ? 'labelClass' : '']\">我的心得</p>\r\n            <div\r\n              class=\"tips-content\"\r\n              ref=\"tipsContent\"\r\n              :class=\"[fullscreen && courseIsuseradd != 3 ? 'tipsContentClass' : '']\"\r\n            >\r\n              <el-tabs v-model=\"activeName\" @tab-click=\"handleClick\">\r\n                <el-tab-pane name=\"1\">\r\n                  <span slot=\"label\">交流分享</span>\r\n                  <div class=\"tips list\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n                    <el-card\r\n                      v-if=\"conformTipsGuideMode === 1\"\r\n                      class=\"box-card\"\r\n                      v-for=\"(item, index) in classDatas\"\r\n                      :key=\"'class' + index\"\r\n                      shadow=\"never\"\r\n                    >\r\n                      <div>\r\n                        <div class=\"header\" @click=\"toEditTips(item)\">\r\n                          <div class=\"header-wrapper\">\r\n                            <span class=\"title ellipsis-content\">{{\r\n                              item.experience_title\r\n                            }}</span>\r\n                            <div\r\n                              v-if=\"item.experience_status === 2 && item.course_isuseradd == 2\"\r\n                              class=\"draft button_center\"\r\n                            >\r\n                              已投稿\r\n                            </div>\r\n                          </div>\r\n                          <p class=\"subtitle\">\r\n                            {{ item.updateTime }}\r\n                          </p>\r\n                        </div>\r\n                        <div class=\"tip\">\r\n                          <span\r\n                            class=\"content prewrap-content\"\r\n                            v-if=\"item.experience_content\"\r\n                            @click=\"toEditTips(item)\"\r\n                            >{{ item.experience_content }}</span>\r\n                          <div\r\n                            class=\"player-wrapper\"\r\n                            v-if=\"\r\n                              item.experience_audio &&\r\n                                item.experience_audio.length &&\r\n                                item.experience_audio[0]\r\n                                  .experience_audio_url_show\r\n                            \"\r\n                            @click=\"toEditTips1($event, item)\"\r\n                          >\r\n                            <PlayerAnalyseData\r\n                              :ref=\"'PlayerAnalyseData' + index\"\r\n                              @changePlaying=\"changePlaying($event, index)\"\r\n                              :url=\"\r\n                                item.experience_audio.length\r\n                                  ? item.experience_audio[0]\r\n                                      .experience_audio_url_show\r\n                                  : ''\r\n                              \"\r\n                              :id=\"'classExperienceAudio' + index\"\r\n                              :experienceAudioLong=\"\r\n                                item.experience_audio.length\r\n                                  ? item.experience_audio[0]\r\n                                      .experience_audio_long\r\n                                  : 0\r\n                              \"\r\n                            />\r\n                          </div>\r\n                          <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\" @click=\"toEditTips(item)\">\r\n                            <span>{{ item.experience_tag_title }}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </el-card>\r\n                    <el-card\r\n                      v-if=\"conformTipsGuideMode === 0\"\r\n                      class=\"box-card\"\r\n                      v-for=\"(item, index) in guideClassDatas\"\r\n                      :key=\"'class' + index\"\r\n                      shadow=\"never\"\r\n                    >\r\n                      <div>\r\n                        <div class=\"header\" @click=\"toEditTips(item)\">\r\n                          <div style=\"display: flex; align-items: center\">\r\n                            <div\r\n                              v-if=\"item.experience_status === 2 && item.course_isuseradd == 2\"\r\n                              class=\"draft button_center\"\r\n                            >\r\n                              已投稿\r\n                            </div>\r\n                            <span class=\"title prewrap-content\">{{\r\n                              item.experience_title\r\n                            }}</span>\r\n                          </div>\r\n                          <p class=\"subtitle\">\r\n                            {{ item.updateTime }}\r\n                          </p>\r\n                        </div>\r\n                        <div class=\"tip\">\r\n                          <span\r\n                            class=\"content prewrap-content\"\r\n                            v-if=\"item.experience_content\"\r\n                            @click=\"toEditTips(item)\"\r\n                            >{{ item.experience_content }}\r\n                          </span>\r\n                          <div\r\n                            class=\"player-wrapper\"\r\n                            v-if=\"\r\n                              item.experience_audio &&\r\n                                item.experience_audio.length &&\r\n                                item.experience_audio[0]\r\n                                  .experience_audio_url_show\r\n                            \"\r\n                            @click=\"toEditTips1($event, item)\"\r\n                          >\r\n                            <PlayerAnalyseData\r\n                              :ref=\"'PlayerAnalyseData' + index\"\r\n                              @changePlaying=\"changePlaying($event, index)\"\r\n                              :url=\"\r\n                                item.experience_audio.length\r\n                                  ? item.experience_audio[0]\r\n                                      .experience_audio_url_show\r\n                                  : ''\r\n                              \"\r\n                              :id=\"'classExperienceAudio' + index\"\r\n                              :experienceAudioLong=\"\r\n                                item.experience_audio.length\r\n                                  ? item.experience_audio[0]\r\n                                      .experience_audio_long\r\n                                  : 0\r\n                              \"\r\n                            />\r\n                          </div>\r\n                          <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\" @click=\"toEditTips(item)\">\r\n                            <span >{{ item.experience_tag_title }}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </el-card>\r\n                    <p v-if=\"tipsClassLoading\" class=\"loading\">加载中...</p>\r\n                    <p\r\n                      v-if=\"\r\n                        !tipsClassLoading && noMoreClass && classDatas.length > 0\r\n                      \"\r\n                      class=\"loading\"\r\n                    >\r\n                      --到底啦--\r\n                    </p>\r\n                    <p\r\n                      v-if=\"!tipsClassLoading && classDatas.length === 0\"\r\n                      class=\"loading\"\r\n                    >\r\n                      <NoData />\r\n                    </p>\r\n                  </div>\r\n\r\n                </el-tab-pane>\r\n                <el-tab-pane name=\"2\">\r\n                  <span slot=\"label\">其他分享</span>\r\n                  <div class=\"tips list\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n                    <el-card\r\n                      v-if=\"conformTipsGuideMode === 1\"\r\n                      class=\"box-card\"\r\n                      v-for=\"(item, index) in otherDatas\"\r\n                      :key=\"'class' + index\"\r\n                      shadow=\"never\"\r\n                    >\r\n                      <div>\r\n                        <div class=\"header\" @click=\"toEditTips(item)\">\r\n                          <div class=\"header-wrapper\">\r\n                            <span class=\"title ellipsis-content\">{{\r\n                              item.experience_title\r\n                            }}</span>\r\n                            <div\r\n                              v-if=\"item.experience_status === 2 && item.course_isuseradd == 2\"\r\n                              class=\"draft button_center\"\r\n                            >\r\n                              已投稿\r\n                            </div>\r\n                          </div>\r\n                          <p class=\"subtitle\">\r\n                            {{ item.updateTime }}\r\n                          </p>\r\n                        </div>\r\n                        <div class=\"tip\">\r\n                          <span\r\n                            class=\"content prewrap-content\"\r\n                            v-if=\"item.experience_content\"\r\n                            @click=\"toEditTips(item)\"\r\n                            >{{ item.experience_content }}</span>\r\n                          <div\r\n                            class=\"player-wrapper\"\r\n                            v-if=\"\r\n                              item.experience_audio &&\r\n                                item.experience_audio.length &&\r\n                                item.experience_audio[0]\r\n                                  .experience_audio_url_show\r\n                            \"\r\n                            @click=\"toEditTips1($event, item)\"\r\n                          >\r\n                            <PlayerAnalyseData\r\n                              :ref=\"'PlayerAnalyseDataOther' + index\"\r\n                              @changePlaying=\"changePlaying($event, index)\"\r\n                              :url=\"\r\n                                item.experience_audio.length\r\n                                  ? item.experience_audio[0]\r\n                                      .experience_audio_url_show\r\n                                  : ''\r\n                              \"\r\n                              :id=\"'otherExperienceAudio' + index\"\r\n                              :experienceAudioLong=\"\r\n                                item.experience_audio.length\r\n                                  ? item.experience_audio[0]\r\n                                      .experience_audio_long\r\n                                  : 0\r\n                              \"\r\n                            />\r\n                          </div>\r\n                          <div class=\"tag\" style=\"min-width: 64px; min-height: 20px;\" @click=\"toEditTips(item)\">\r\n                            <span>{{ item.experience_tag_title }}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </el-card>\r\n                    <p v-if=\"tipsOtherLoading\" class=\"loading\">加载中...</p>\r\n                    <p\r\n                      v-if=\"\r\n                        !tipsOtherLoading && noMoreOther && otherDatas.length > 0\r\n                      \"\r\n                      class=\"loading\"\r\n                    >\r\n                      --到底啦--\r\n                    </p>\r\n                    <p\r\n                      v-if=\"!tipsOtherLoading && otherDatas.length === 0\"\r\n                      class=\"loading\"\r\n                    >\r\n                      <!-- 暂无数据 -->\r\n                      <NoData />\r\n                    </p>\r\n                  </div>\r\n                </el-tab-pane>\r\n              </el-tabs>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport AudioCom from \"@/components/AudioCom\";\r\nimport PlayerAnalyseData from \"@/components/PlayerAnalyseData\";\r\nimport NoData from \"@/components/NoData\";\r\n\r\nimport { getUserExperience } from \"@/api/index.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport { conformTips_guide } from \"@/utils/intro\";\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: {\r\n    AudioCom,\r\n    PlayerAnalyseData,\r\n    NoData\r\n  },\r\n  data() {\r\n    return {\r\n      conformTipsGuideMode: 1,\r\n      fullscreen: false,\r\n      activeName: \"1\",\r\n      playing: false,\r\n      pageSize: 10,\r\n      classPage: 0,\r\n      otherPage: 0,\r\n      noMoreClass: false,\r\n      noMoreOther: false,\r\n      classDatas: [],\r\n      guideClassDatas: [\r\n        {\r\n          experience_tag_title: \"智慧文化\",\r\n          experience_content:\r\n            \"以为赚很多钱就能幸福，但在当初设定的目标一一实现时，除了带来一些暂时满足，预想中的幸福似乎并没有如期而至。\",\r\n          experience_status: 1,\r\n          experience_title: \"修行端正了我的生死观\",\r\n          updateTime: \"2021-12-12\"\r\n        },\r\n        {\r\n          experience_tag_title: \"智慧文化\",\r\n          experience_content:\r\n            \"以为赚很多钱就能幸福，但在当初设定的目标一一实现时，除了带来一些暂时满足，预想中的幸福似乎并没有如期而至。\",\r\n          experience_status: 1,\r\n          experience_title: \"修行端正了我的生死观\",\r\n          updateTime: \"2021-12-12\",\r\n          experience_audio: [\r\n            {\r\n              experience_audio_url_show: \"a\"\r\n            }\r\n          ]\r\n        }\r\n      ],\r\n      otherDatas: [],\r\n      tipsClassLoading: false,\r\n      tipsOtherLoading: false,\r\n      // 其他分享初始化\r\n      inited: false,\r\n      // 组件是否初始化\r\n      isMounted: false,\r\n      // 是否是load加载\r\n      request: true,\r\n      isActivated: true,\r\n      courseId: \"\",\r\n      confirmTipTypeLast: 1,\r\n      prevPlayIndex: null,\r\n      prevPlayIndexOther: null,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    prevCom() {\r\n      // CreateTips  EditTips\r\n      return this.$store.getters.prevCom;\r\n    },\r\n    editTip() {\r\n      return this.$store.getters.editTip;\r\n    },\r\n    tip() {\r\n      return this.$store.getters.tip;\r\n    },\r\n    confirmTipType() {\r\n      return this.$store.getters.confirmTipType;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.courseId = newVal;\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('ConfirmTips', 'white');\r\n          this.init();\r\n          this.getUserExperience();\r\n        }\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal) {\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('ConfirmTips', 'white');\r\n          this.init();\r\n          this.getUserExperience();\r\n        }\r\n      }\r\n    },\r\n    confirmTipType: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        // 交流分享\r\n        if(this.activeName == 1) {\r\n          if(this.prevPlayIndex || this.prevPlayIndex == 0) {\r\n            this.$refs[\"PlayerAnalyseData\" + this.prevPlayIndex][0].pause();\r\n          }\r\n        } else {\r\n          // 其他分享\r\n          if(this.prevPlayIndexOther || this.prevPlayIndexOther == 0) {\r\n            this.$refs[\"PlayerAnalyseDataOther\" + this.prevPlayIndexOther][0].pause();\r\n          }\r\n        }\r\n\r\n      }\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        this.pause();\r\n      }\r\n    },\r\n    pageName: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        this.pause();\r\n      },\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        this.pause();\r\n        if(newVal.name == 'index' && this.whiteCom == 'ConfirmTips' && this.pageName == \"white\") {\r\n          this.init();\r\n          this.load();\r\n        }\r\n      },\r\n    }\r\n  },\r\n  methods: {\r\n    init() {\r\n      this.classDatas = [];\r\n      this.otherDatas = [];\r\n      this.classPage = 0;\r\n      this.otherPage = 0;\r\n      this.noMoreClass = false;\r\n      this.noMoreOther = false;\r\n      this.tipsClassLoading = false;\r\n      this.tipsOtherLoading = false;\r\n      this.inited = false;\r\n      this.isMounted = false;\r\n      this.pause();\r\n    },\r\n    load() {\r\n      console.log(\"load:\", this.noMoreClass, this.tipsClassLoading);\r\n      if (this.confirmTipTypeLast == 1) {\r\n        if (this.noMoreClass || this.tipsClassLoading) {\r\n          return;\r\n        }\r\n        this.classPage += 1;\r\n      }\r\n      if (this.confirmTipTypeLast == 2) {\r\n        if (this.noMoreOther || this.tipsOtherLoading) {\r\n          return;\r\n        }\r\n        this.otherPage += 1;\r\n      }\r\n      this.getUserExperience();\r\n    },\r\n    async getClassPage() {\r\n      if(!this.course_id) {\r\n        return;\r\n      }\r\n      this.tipsClassLoading = true;\r\n      if(this.classPage == 1) {\r\n        this.classDatas = [];\r\n      }\r\n      let params = {\r\n        course_id: this.course_id,\r\n        experience_type: 1,\r\n        page: this.classPage,\r\n        pageSize: this.pageSize,\r\n        course_isuseradd: this.courseIsuseradd\r\n      };\r\n      try {\r\n        const res = await getUserExperience(params);\r\n        this.tipsClassLoading = false;\r\n        if (res && res.code === 0) {\r\n          this.isMounted = true;\r\n          let data = res.data;\r\n          data.forEach(item => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          this.classDatas.push(...data);\r\n          console.log(\"getClassPage:\", data.length, this.pageSize)\r\n          console.log(data.length < this.pageSize)\r\n          console.log(this.noMoreClass)\r\n          if (data.length < this.pageSize) {\r\n            this.noMoreClass = true;\r\n          }\r\n          this.$store.dispatch(\"setEditTip\", false);\r\n        } else {\r\n          this.noMoreClass = true;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async getOtherPage() {\r\n      if(!this.course_id) {\r\n        return;\r\n      }\r\n      if(this.otherPage == 1) {\r\n        this.otherDatas = [];\r\n      }\r\n      this.tipsOtherLoading = true;\r\n      let params = {\r\n        course_id: this.course_id,\r\n        experience_type: 2,\r\n        page: this.otherPage,\r\n        pageSize: this.pageSize,\r\n        course_isuseradd: this.courseIsuseradd\r\n      };\r\n      try {\r\n        const res = await getUserExperience(params);\r\n        this.tipsOtherLoading = false;\r\n        if (res && res.code === 0) {\r\n          // 其他分享初始化\r\n          this.inited = true;\r\n          let data = res.data;\r\n          data.forEach(item => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.experience_create_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          this.otherDatas.push(...data);\r\n          console.log(\"this.otherDatas:\", this.otherDatas);\r\n          if (res.data.length < this.pageSize) {\r\n            this.noMoreOther = true;\r\n          }\r\n          this.$store.dispatch(\"setEditTip\", false);\r\n        } else {\r\n          this.noMoreOther = true;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 获取用户的心得列表\r\n    getUserExperience() {\r\n      console.log(\"this.editTip\", this.editTip, this.confirmTipTypeLast);\r\n      if (this.editTip && this.course_id) {\r\n        this.getClassPage();\r\n        this.getOtherPage();\r\n      } else if(this.course_id){\r\n        if (this.confirmTipTypeLast == 1) {\r\n          this.getClassPage();\r\n        } else {\r\n          this.getOtherPage();\r\n        }\r\n      }\r\n    },\r\n    //创建心得\r\n    toCreateTips(experience_type) {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n      this.activeName = experience_type + '';\r\n      this.confirmTipTypeLast = experience_type;\r\n      this.$store.dispatch(\"setConfirmTipType\", experience_type).then(() => {\r\n        this.$router.push({\r\n          path: \"/white/CreateTips\",\r\n          query: { experience_type }\r\n        });\r\n      });\r\n    },\r\n    // 编辑心得\r\n    toEditTips(data) {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n      this.confirmTipTypeLast = data.experience_type;\r\n      this.$store\r\n        .dispatch(\"setConfirmTipType\", data.experience_type)\r\n        .then(() => {\r\n          this.$store.dispatch(\"setEditTip\", false);\r\n          console.log(this.tip);\r\n          // 有编辑过且没有保存从缓存拿数据\r\n          if (this.tip && this.tip.experience_id) {\r\n            this.$router.push({\r\n              path: \"/white/EditTips\",\r\n              query: {\r\n                experience_id: data.experience_id,\r\n                experience_isuseradd: data.experience_isuseradd,\r\n                canOperate: true\r\n              }\r\n            });\r\n          } else {\r\n            // 没有编辑过则把数据添加到本地缓存\r\n            this.$store.dispatch(\"setTip\", data).then(() => {\r\n              this.$router.push({\r\n                path: \"/white/EditTips\",\r\n                query: {\r\n                  experience_id: data.experience_id,\r\n                  experience_isuseradd: data.experience_isuseradd,\r\n                  canOperate: true\r\n                }\r\n              });\r\n            });\r\n          }\r\n        });\r\n    },\r\n    toEditTips1(e, data) {\r\n      if (e.target._prevClass === \"player-wrapper\") {\r\n        this.toEditTips(data);\r\n      }\r\n    },\r\n    handleClick(tab, event) {\r\n      // this.activeName = tabName;\r\n      this.confirmTipTypeLast = this.activeName;\r\n      this.$store.dispatch(\"setConfirmTipType\", this.activeName);\r\n      if (this.activeName == 2 && !this.inited) {\r\n        this.getUserExperience();\r\n      } else if (this.activeName == 1 && !this.isMounted) {\r\n        this.getUserExperience();\r\n      }\r\n    },\r\n    changePlaying(playing,index) {\r\n      this.playing = playing;\r\n      // 交流分享\r\n      if(this.activeName == 1) {\r\n        console.log(\"changePlaying\", playing, index, this.prevPlayIndex);\r\n        if(playing && index !== this.prevPlayIndex) {\r\n          if(this.prevPlayIndex || this.prevPlayIndex == 0) {\r\n            this.$refs[\"PlayerAnalyseData\" + this.prevPlayIndex][0].pause();\r\n          }\r\n          this.prevPlayIndex = index;\r\n        } else if(index !== this.prevPlayIndex){\r\n          this.prevPlayIndex = null;\r\n        }\r\n      } else {\r\n        // 其他分享\r\n        console.log(\"changePlaying\", playing, index, this.prevPlayIndexOther);\r\n        if(playing && index !== this.prevPlayIndexOther) {\r\n          if(this.prevPlayIndexOther || this.prevPlayIndexOther == 0) {\r\n            this.$refs[\"PlayerAnalyseDataOther\" + this.prevPlayIndexOther][0].pause();\r\n          }\r\n          this.prevPlayIndexOther = index;\r\n        } else if(index !== this.prevPlayIndexOther){\r\n          this.prevPlayIndexOther = null;\r\n        }\r\n      }\r\n\r\n    },\r\n    // play(index) {\r\n    //   this.$refs[\"PlayerAnalyseData\" + index][0].play();\r\n    // },\r\n    pause() {\r\n      // 交流分享\r\n      if(this.activeName == 1) {\r\n        if((this.prevPlayIndex || this.prevPlayIndex == 0) && this.playing) {\r\n          this.$refs[\"PlayerAnalyseData\" + this.prevPlayIndex][0].pause();\r\n        }\r\n      } else {\r\n        // 其他分享\r\n        if((this.prevPlayIndexOther || this.prevPlayIndexOther == 0) && this.playing) {\r\n          this.$refs[\"PlayerAnalyseDataOther\" + this.prevPlayIndexOther][0].pause();\r\n        }\r\n      }\r\n\r\n    },\r\n    changeFile(e, index) {\r\n      this.file = e.target.files[0];\r\n      let reader = new FileReader();\r\n      reader.onload = e => {\r\n        this.$refs[\"PlayerAnalyseData\" + index][0].changeFile(e.target.result);\r\n      };\r\n      reader.readAsArrayBuffer(this.file);\r\n    },\r\n    setConformTipsGuideMode(status) {\r\n      this.conformTipsGuideMode = status;\r\n    },\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.setConformTipsGuideMode(0);\r\n      let timeout = setTimeout(() => {\r\n        this.conformTips_initGuide();\r\n        clearTimeout(timeout);\r\n      }, 600);\r\n    },\r\n    conformTips_initGuide() {\r\n      EventBus.$emit(\"setBehaviorGuideMode\", 0);\r\n      conformTips_guide(this, [\r\n        {\r\n          intro:\r\n            \"生活是由一个一个问题组成，人生是通过解决一个又一个问题来完成生活、成长<br/> <b>提交心得，记录你的每一个成长和变化</b>\",\r\n          element: document.querySelector(\"#index_step18\"),\r\n          position: \"top\"\r\n        },\r\n        {\r\n          intro:\r\n            \"<div><b>心得列表</b></div><br/><span>交流分享：建议每周写一篇<br/>其他分享：每周学习过程中的记录</span>\",\r\n          element: document.querySelector(\".el-tabs__header\"),\r\n          position: \"bottom\"\r\n        }\r\n      ]);\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.isActivated = true;\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    this.confirmTipTypeLast = this.activeName;\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", whiteCom => {\r\n      if (whiteCom === \"ConfirmTips\") {\r\n        this.toggle(whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"confirmTips_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if (guideStatus.confirmTips === 0) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n/deep/ .el-main {\r\n  padding-bottom: 0;\r\n}\r\n.bg-white {\r\n  background: #eaedef;\r\n}\r\n.main-content {\r\n  height: 100%;\r\n}\r\n.full {\r\n  .content-box {\r\n    background: transparent;\r\n    // border-radius: 0;\r\n  }\r\n  .fullscreen {\r\n    top: 0;\r\n  }\r\n  .name {\r\n    position: absolute;\r\n  }\r\n}\r\n.box {\r\n  height: 100%;\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.content-box {\r\n  flex: 1;\r\n  // background: transparent;\r\n  // border-radius: 16px;\r\n  // width: 100%;\r\n  // height: 100%;\r\n  // height: calc(100% - 24px);\r\n  min-height: 388px;\r\n  // position: relative;\r\n  // background-position: center center;\r\n  // border: 1px solid #f2f4f5;\r\n  padding: 21px 45px 0 39px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  overflow-y: hidden;\r\n}\r\n.types {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  width: 100%;\r\n  padding-right: 16px;\r\n  padding-bottom: 46px;\r\n  .class-share {\r\n    height: 125px;\r\n    background: #fff;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    color: @behavior;\r\n    border-radius: 10px;\r\n    cursor: pointer;\r\n    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n  }\r\n  .other-share {\r\n    height: 125px;\r\n    background: #fff;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    color: @behavior;\r\n    border-radius: 10px;\r\n    cursor: pointer;\r\n    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n  }\r\n  .share {\r\n    background-image: linear-gradient(90deg, #ffae8b 0%, #fd746b 100%);\r\n    color: #fff;\r\n  }\r\n}\r\n.my-tips {\r\n  width: 100%;\r\n  overflow-y: auto;\r\n  // height: calc(100% - 167px);\r\n\r\n  flex: 1;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .mytip-label {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    padding-left: 15px;\r\n    position: relative;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 9px;\r\n      left: 0;\r\n      width: 4px;\r\n      height: 4px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      border: 1px solid @behavior;\r\n      background: @behavior;\r\n    }\r\n  }\r\n  .labelClass {\r\n    -webkit-animation: labelClass 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n    animation: labelClass 0.5s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 48px;\r\n      left: 0;\r\n      width: 4px;\r\n      height: 4px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      border: 1px solid @behavior;\r\n      background: @behavior;\r\n    }\r\n  }\r\n  @-webkit-keyframes labelClass {\r\n    0% {\r\n      padding-top: 22px;\r\n    }\r\n    100% {\r\n      padding-top: 39px;\r\n    }\r\n  }\r\n  @keyframes labelClass {\r\n    0% {\r\n      padding-top: 22px;\r\n    }\r\n    100% {\r\n      padding-top: 39px;\r\n    }\r\n  }\r\n  .tips-content {\r\n    flex: 1;\r\n    padding-top: 10px;\r\n    height: calc(100% - 63px);\r\n    .tips {\r\n      display: flex;\r\n      justify-content: flex-start;\r\n      flex-wrap: wrap;\r\n      max-height: 100%;\r\n      // height: 100%;\r\n      overflow-y: auto;\r\n      padding-right: 16px;\r\n      .box-card {\r\n        min-width: 410px;\r\n        margin-bottom: 21px;\r\n        width: 100%;\r\n        cursor: pointer;\r\n        min-height: 164px;\r\n        border-radius: 16px;\r\n        background: #fdfdfd;\r\n        border-color: #fdfdfd;\r\n        box-shadow: -3px -3px 18px rgba(0, 0, 0, 0.05);\r\n      }\r\n      .header {\r\n        padding: 26px 0 10px 17px;\r\n        .header-wrapper {\r\n          display: flex;\r\n          align-items: flex-start;\r\n          justify-content: space-between;\r\n          align-items: center;\r\n        }\r\n        .draft {\r\n          width: 47px;\r\n          height: 18px;\r\n          line-height: 18px;\r\n          border-radius: 4px;\r\n          border: 1px solid #d4d9db;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #d4d9db;\r\n          margin-right: 10px;\r\n          text-align: center;\r\n        }\r\n        .title {\r\n          font-size: 14px;\r\n          font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n          font-weight: 500;\r\n          color: #292929;\r\n          line-height: 21px;\r\n          flex: 1;\r\n          padding-right: 10px;\r\n          -webkit-line-clamp: 1;\r\n        }\r\n        .subtitle {\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #bcc4c8;\r\n          line-height: 18px;\r\n          padding-top: 5px;\r\n        }\r\n      }\r\n      .tip {\r\n        padding: 11px 18px 14px 17px;\r\n        border-top: 1px solid #ebebed;\r\n        // border-bottom: 1px solid #ebebed;\r\n        .content {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n          color: #292929;\r\n          line-height: 26px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          overflow: hidden;\r\n          text-overflow: ellipsis;\r\n          -webkit-line-clamp: 3;\r\n          -webkit-box-orient: vertical;\r\n          display: -webkit-box;\r\n          margin-bottom: 13px;\r\n        }\r\n        .player-wrapper {\r\n          display: flex;\r\n          align-items: center;\r\n          height: 84px;\r\n          padding: 0 10px 10px 18px;\r\n          position: relative;\r\n          &::before {\r\n            content: '';\r\n            display: block;\r\n            position: absolute;\r\n            top: 36px;\r\n            left: 0;\r\n            width: 6px;\r\n            height: 6px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #D4D9DB;\r\n          }\r\n        }\r\n        .tag {\r\n          width: 75px;\r\n          height: 25px;\r\n          border-radius: 4px;\r\n          border: 1px solid #FFB096;\r\n          line-height: 25px;\r\n          text-align: center;\r\n          padding-left: 15px;\r\n          position: relative;\r\n          margin-left: 4px;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #FFB096;\r\n          display: flex;\r\n          justify-content: center;\r\n          align-items: center;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 10px;\r\n            left: 10px;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #FFB096;\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.contentBoxClass {\r\n  display: flex;\r\n  flex-direction: row;\r\n  padding: 0 33px 0 71px;\r\n}\r\n.typesClass {\r\n  flex-direction: column;\r\n  justify-content: flex-start;\r\n  width: 329px;\r\n  // height: calc(100% - 51px);\r\n  min-width: 307px;\r\n  min-height: 500px;\r\n  margin-top: 51px;\r\n  padding-right: 22px;\r\n}\r\n.types {\r\n  .classShareClass {\r\n    width: 307px;\r\n    height: 125px;\r\n  }\r\n  .classShareClass1 {\r\n    width: 63%;\r\n  }\r\n  .otherShareClass1 {\r\n    // width: 162px;\r\n    flex: 1;\r\n    margin-left: 22px;\r\n  }\r\n  .otherShareClass {\r\n    width: 307px;\r\n    height: 77px;\r\n    margin-top: 25px;\r\n  }\r\n}\r\n\r\n.myTipsClass {\r\n  margin-top: 0;\r\n  height: calc(100% - 50px);\r\n  /deep/.el-tabs{\r\n    padding: 10px 30px;\r\n  }\r\n}\r\n.tipsContentClass {\r\n  margin-top: 17px;\r\n  position: relative;\r\n  .el-tabs{\r\n    padding: 10px 30px;\r\n  }\r\n}\r\n.boxClass {\r\n  background: #eaedef;\r\n}\r\n\r\n.no-data{\r\n  margin-top: 6vh;\r\n}\r\n/deep/ .el-tabs {\r\n  height: calc(100% - 30px);\r\n  background: #f2f4f5;\r\n  border-radius: 16px;\r\n  padding: 0 5px;\r\n}\r\n/deep/ .el-tabs__content {\r\n  overflow-y: auto;\r\n  height: calc(100% - 55px);\r\n}\r\n/deep/ .el-tab-pane {\r\n  height: 100%;\r\n}\r\n/deep/ .el-tabs__header {\r\n  margin: 0 0 15px;\r\n  margin-bottom: 15px;\r\n  margin-left: 22px;\r\n}\r\n/deep/ .el-tabs__item {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 45px;\r\n  height: 40px;\r\n  padding: 0;\r\n  &:last-of-type {\r\n    margin-left: 87px;\r\n  }\r\n}\r\n/deep/ .el-card__body {\r\n  padding: 0;\r\n  // background: #f6f6f6;\r\n}\r\n/deep/ .el-tabs__nav-wrap {\r\n  &::after {\r\n    background-color: #f3f3f7;\r\n    height: 2px;\r\n  }\r\n}\r\n/deep/ .el-tabs__active-bar {\r\n  height: 2px;\r\n  display: none;\r\n}\r\n/deep/ .el-tabs__item.is-active {\r\n  color: @behavior;\r\n  font-weight: 600;\r\n  border-bottom: 2px solid @behavior;\r\n}\r\n// /deep/ .el-tabs__active-bar {\r\n//   background-color: @behavior;\r\n// }\r\n.name {\r\n  color: @behavior;\r\n  display: flex;\r\n  align-items: center;\r\n  width: 120px;\r\n}\r\n.loading {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 26px;\r\n  width: 100%;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/ConfirmTips.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  _vm.fullscreen ? 'big-view bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view' : ''\n],staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"main-content\"},[_c('div',{ref:\"box\",staticClass:\"box\",class:[_vm.fullscreen ? 'boxClass' : '', _vm.fullscreen ? 'full' : '']},[_c('span',{staticClass:\"box-content-name name\",class:[\n          !_vm.fullscreen && _vm.isNeedOutFullscreenAni\n            ? 'outof-big-view-name-ani'\n            : ''\n        ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"提交心得\")]):_c('span',{staticClass:\"cursor-pointer\",staticStyle:{\"z-index\":\"999\"},on:{\"click\":function($event){return _vm.toggle('ConfirmTips')}}},[_vm._v(\"提交心得\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"width\":\"0\",\"height\":\"0\",\"overflow\":\"hidden\",\"display\":\"inline-block\"}},[_vm._v(_vm._s(_vm.fullscreen))])]),_vm._v(\" \"),_c('div',{ref:\"contentBox\",staticClass:\"content-box\",class:[_vm.fullscreen ? 'contentBoxClass' : '']},[(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen01.svg\")},on:{\"click\":function($event){return _vm.toggle('ConfirmTips')}}}):_vm._e(),_vm._v(\" \"),(_vm.courseIsuseradd != '3' && _vm.conformTipsGuideMode === 1)?_c('div',{ref:\"types\",staticClass:\"types\",class:[_vm.fullscreen ? 'typesClass' : '']},[_c('div',{ref:\"classShare\",staticClass:\"class-share\",class:[\n              _vm.fullscreen ? 'classShareClass' : 'classShareClass1',\n              _vm.confirmTipTypeLast == 1 ? 'share' : ''\n            ],on:{\"click\":function($event){return _vm.toCreateTips(1)}}},[_vm._v(\"\\n            交流分享\\n          \")]),_vm._v(\" \"),_c('div',{ref:\"otherShare\",staticClass:\"other-share\",class:[\n              _vm.fullscreen ? 'otherShareClass' : 'otherShareClass1',\n              _vm.confirmTipTypeLast != 1 ? 'share' : ''\n            ],on:{\"click\":function($event){return _vm.toCreateTips(2)}}},[_vm._v(\"\\n            其他分享\\n          \")])]):_vm._e(),_vm._v(\" \"),(_vm.conformTipsGuideMode === 0)?_c('div',{ref:\"types\",staticClass:\"types\",class:[_vm.fullscreen ? 'typesClass' : '']},[_c('div',{ref:\"classShare\",staticClass:\"class-share\",class:[\n              _vm.fullscreen ? 'classShareClass' : 'classShareClass1',\n              _vm.confirmTipTypeLast == 1 ? 'share' : ''\n            ],on:{\"click\":function($event){return _vm.toCreateTips(1)}}},[_vm._v(\"\\n            交流分享\\n          \")]),_vm._v(\" \"),_c('div',{ref:\"otherShare\",staticClass:\"other-share\",class:[\n              _vm.fullscreen ? 'otherShareClass' : 'otherShareClass1',\n              _vm.confirmTipTypeLast != 1 ? 'share' : ''\n            ],on:{\"click\":function($event){return _vm.toCreateTips(2)}}},[_vm._v(\"\\n            其他分享\\n          \")])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"myTips\",staticClass:\"my-tips\",class:[_vm.fullscreen ? 'myTipsClass' : '']},[_c('p',{staticClass:\"mytip-label\",class:[_vm.fullscreen && _vm.courseIsuseradd == 3 ? 'labelClass' : '']},[_vm._v(\"我的心得\")]),_vm._v(\" \"),_c('div',{ref:\"tipsContent\",staticClass:\"tips-content\",class:[_vm.fullscreen && _vm.courseIsuseradd != 3 ? 'tipsContentClass' : '']},[_c('el-tabs',{on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"name\":\"1\"}},[_c('span',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"交流分享\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"tips list\",attrs:{\"infinite-scroll-distance\":1}},[_vm._l((_vm.classDatas),function(item,index){return (_vm.conformTipsGuideMode === 1)?_c('el-card',{key:'class' + index,staticClass:\"box-card\",attrs:{\"shadow\":\"never\"}},[_c('div',[_c('div',{staticClass:\"header\",on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_c('div',{staticClass:\"header-wrapper\"},[_c('span',{staticClass:\"title ellipsis-content\"},[_vm._v(_vm._s(item.experience_title))]),_vm._v(\" \"),(item.experience_status === 2 && item.course_isuseradd == 2)?_c('div',{staticClass:\"draft button_center\"},[_vm._v(\"\\n                            已投稿\\n                          \")]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"subtitle\"},[_vm._v(\"\\n                          \"+_vm._s(item.updateTime)+\"\\n                        \")])]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[(item.experience_content)?_c('span',{staticClass:\"content prewrap-content\",on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_vm._v(_vm._s(item.experience_content))]):_vm._e(),_vm._v(\" \"),(\n                            item.experience_audio &&\n                              item.experience_audio.length &&\n                              item.experience_audio[0]\n                                .experience_audio_url_show\n                          )?_c('div',{staticClass:\"player-wrapper\",on:{\"click\":function($event){return _vm.toEditTips1($event, item)}}},[_c('PlayerAnalyseData',{ref:'PlayerAnalyseData' + index,refInFor:true,attrs:{\"url\":item.experience_audio.length\n                                ? item.experience_audio[0]\n                                    .experience_audio_url_show\n                                : '',\"id\":'classExperienceAudio' + index,\"experienceAudioLong\":item.experience_audio.length\n                                ? item.experience_audio[0]\n                                    .experience_audio_long\n                                : 0},on:{\"changePlaying\":function($event){return _vm.changePlaying($event, index)}}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"},on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_c('span',[_vm._v(_vm._s(item.experience_tag_title))])])])])]):_vm._e()}),_vm._v(\" \"),_vm._l((_vm.guideClassDatas),function(item,index){return (_vm.conformTipsGuideMode === 0)?_c('el-card',{key:'class' + index,staticClass:\"box-card\",attrs:{\"shadow\":\"never\"}},[_c('div',[_c('div',{staticClass:\"header\",on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[(item.experience_status === 2 && item.course_isuseradd == 2)?_c('div',{staticClass:\"draft button_center\"},[_vm._v(\"\\n                            已投稿\\n                          \")]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"title prewrap-content\"},[_vm._v(_vm._s(item.experience_title))])]),_vm._v(\" \"),_c('p',{staticClass:\"subtitle\"},[_vm._v(\"\\n                          \"+_vm._s(item.updateTime)+\"\\n                        \")])]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[(item.experience_content)?_c('span',{staticClass:\"content prewrap-content\",on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_vm._v(_vm._s(item.experience_content)+\"\\n                        \")]):_vm._e(),_vm._v(\" \"),(\n                            item.experience_audio &&\n                              item.experience_audio.length &&\n                              item.experience_audio[0]\n                                .experience_audio_url_show\n                          )?_c('div',{staticClass:\"player-wrapper\",on:{\"click\":function($event){return _vm.toEditTips1($event, item)}}},[_c('PlayerAnalyseData',{ref:'PlayerAnalyseData' + index,refInFor:true,attrs:{\"url\":item.experience_audio.length\n                                ? item.experience_audio[0]\n                                    .experience_audio_url_show\n                                : '',\"id\":'classExperienceAudio' + index,\"experienceAudioLong\":item.experience_audio.length\n                                ? item.experience_audio[0]\n                                    .experience_audio_long\n                                : 0},on:{\"changePlaying\":function($event){return _vm.changePlaying($event, index)}}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"},on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_c('span',[_vm._v(_vm._s(item.experience_tag_title))])])])])]):_vm._e()}),_vm._v(\" \"),(_vm.tipsClassLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(\n                      !_vm.tipsClassLoading && _vm.noMoreClass && _vm.classDatas.length > 0\n                    )?_c('p',{staticClass:\"loading\"},[_vm._v(\"\\n                    --到底啦--\\n                  \")]):_vm._e(),_vm._v(\" \"),(!_vm.tipsClassLoading && _vm.classDatas.length === 0)?_c('p',{staticClass:\"loading\"},[_c('NoData')],1):_vm._e()],2)]),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"name\":\"2\"}},[_c('span',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"其他分享\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"tips list\",attrs:{\"infinite-scroll-distance\":1}},[_vm._l((_vm.otherDatas),function(item,index){return (_vm.conformTipsGuideMode === 1)?_c('el-card',{key:'class' + index,staticClass:\"box-card\",attrs:{\"shadow\":\"never\"}},[_c('div',[_c('div',{staticClass:\"header\",on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_c('div',{staticClass:\"header-wrapper\"},[_c('span',{staticClass:\"title ellipsis-content\"},[_vm._v(_vm._s(item.experience_title))]),_vm._v(\" \"),(item.experience_status === 2 && item.course_isuseradd == 2)?_c('div',{staticClass:\"draft button_center\"},[_vm._v(\"\\n                            已投稿\\n                          \")]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"subtitle\"},[_vm._v(\"\\n                          \"+_vm._s(item.updateTime)+\"\\n                        \")])]),_vm._v(\" \"),_c('div',{staticClass:\"tip\"},[(item.experience_content)?_c('span',{staticClass:\"content prewrap-content\",on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_vm._v(_vm._s(item.experience_content))]):_vm._e(),_vm._v(\" \"),(\n                            item.experience_audio &&\n                              item.experience_audio.length &&\n                              item.experience_audio[0]\n                                .experience_audio_url_show\n                          )?_c('div',{staticClass:\"player-wrapper\",on:{\"click\":function($event){return _vm.toEditTips1($event, item)}}},[_c('PlayerAnalyseData',{ref:'PlayerAnalyseDataOther' + index,refInFor:true,attrs:{\"url\":item.experience_audio.length\n                                ? item.experience_audio[0]\n                                    .experience_audio_url_show\n                                : '',\"id\":'otherExperienceAudio' + index,\"experienceAudioLong\":item.experience_audio.length\n                                ? item.experience_audio[0]\n                                    .experience_audio_long\n                                : 0},on:{\"changePlaying\":function($event){return _vm.changePlaying($event, index)}}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tag\",staticStyle:{\"min-width\":\"64px\",\"min-height\":\"20px\"},on:{\"click\":function($event){return _vm.toEditTips(item)}}},[_c('span',[_vm._v(_vm._s(item.experience_tag_title))])])])])]):_vm._e()}),_vm._v(\" \"),(_vm.tipsOtherLoading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(\n                      !_vm.tipsOtherLoading && _vm.noMoreOther && _vm.otherDatas.length > 0\n                    )?_c('p',{staticClass:\"loading\"},[_vm._v(\"\\n                    --到底啦--\\n                  \")]):_vm._e(),_vm._v(\" \"),(!_vm.tipsOtherLoading && _vm.otherDatas.length === 0)?_c('p',{staticClass:\"loading\"},[_c('NoData')],1):_vm._e()],2)])],1)],1)])])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-49f70785\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/ConfirmTips.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-49f70785\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ConfirmTips.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ConfirmTips.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ConfirmTips.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-49f70785\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ConfirmTips.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-49f70785\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/ConfirmTips.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"main-wrapper\"\r\n    :style=\"{ background: status === 1 ? '#84C4E5' : '' }\">\r\n    <div v-show=\"questionListGuideMode === 1\"\r\n      class=\"title-wrapper\"\r\n      :class=\"\r\n        isFold && !isChangeMoral\r\n          ? 'foldaimation'\r\n          : !isFold && !isChangeMoral\r\n          ? 'foldaimation1'\r\n          : ''\r\n      \">\r\n      <div class=\"status-wrapper\"\r\n        @click=\"showDetail\">\r\n        <span class=\"status\"\r\n          :style=\"{ color: status === 1 ? '#fff' : '#7E878C' }\">{{ status === 1 ? \"已解决\" : \"待解决\" }}</span>\r\n        <span class=\"fold\"\r\n          :style=\"{ color: status === 1 ? '#fff' : '#64afd5', borderColor: status === 1 ? '#fff' : '#64afd5' }\"\r\n          v-if=\"isFold\">推荐问题详情</span>\r\n        <span class=\"fold\"\r\n          :style=\"{ color: status === 1 ? '#fff' : '#64afd5', borderColor: status === 1 ? '#fff' : '#64afd5' }\"\r\n          v-else>收起</span>\r\n      </div>\r\n      <div class=\"text-wrapper\">\r\n        <div ref=\"titleRef\"\r\n          class=\"title\">\r\n          <span class=\"prewrap-content\" :class=\"[moralComprehend.course_question_isuseradd != 1 ? 'title-official' : '']\">{{ moralComprehend.index }}.&nbsp;{{\r\n              moralComprehend.course_question_title\r\n            }}</span>\r\n        </div>\r\n        <div class=\"small-questions\"\r\n          v-if=\"!isFold\">\r\n          <span class=\"smallquestion prewrap-content\"\r\n            :class=\"status === 1 ? 'settled' : ''\"\r\n            v-for=\"(item, index) in moralComprehend.course_question_small\"\r\n            :key=\"'smallquestion' + index\">{{ item.course_question_small_title }}</span>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div v-show=\"questionListGuideMode === 0\"\r\n      id=\"question_step1\"\r\n      :style=\"{\r\n        background: '#84c4e5',\r\n        borderTopLeftRadius: '0.14814815rem',\r\n        borderTopRightRadius: '0.14814815rem'\r\n      }\"\r\n      class=\"title-wrapper\">\r\n      <div class=\"status-wrapper\"\r\n        @click=\"showDetail\">\r\n        <span class=\"status\"\r\n          :style=\"{ color: 'rgba(255,255,255,0.8)' }\">已解决</span>\r\n        <span class=\"fold\"\r\n          :style=\"{ color: 'rgba(255,255,255,0.8)' }\">推荐问题详情</span>\r\n      </div>\r\n      <div ref=\"titleRef\"\r\n        class=\"title\"\r\n        :style=\"{ color: '#292929' }\">\r\n        <span class=\"prewrap-content\">3.什么是幸福？我们怎样才能得到幸福？</span>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"questions-wrapper\" id=\"cardBoxMoralQuestions\">\r\n      <div class=\"swiper\" id=\"moralQuestionMainSwiper\">\r\n        <div v-if=\"showSort\" class=\"operates\">\r\n          <div v-if=\"!isSorting\" class=\"sort-btn\" @click=\"startSort\"><img src=\"@/assets/img/question-sort.svg\" />调整顺序</div>\r\n          <div v-else class=\"sorting\">\r\n            <div class=\"sort-btn1\"><img src=\"@/assets/img/question-sort.svg\" />调整顺序</div>\r\n            <div class=\"btn finish\" @click=\"finish\">完成</div>\r\n            <div class=\"btn cancel\" @click=\"cancel\">取消</div>\r\n          </div>\r\n        </div>\r\n        <swiper v-show=\"questionListGuideMode === 1 && !isSorting\"\r\n          ref=\"mySwiperMain\"\r\n          :options=\"swiperOptions\"\r\n          id=\"mySwiper3\">\r\n          <swiper-slide class=\"swiper-slide\"\r\n            v-for=\"(item, index) in slides\"\r\n            :key=\"'slides' + index\">\r\n            <div class=\"subquestion-wrapper\"\r\n              :class=\"[\r\n                item.course_solve_isuseradd != 1 ? item.status == 0 ? 'border-undone' : 'border-done' : ''\r\n              ]\"\r\n              v-if=\"!item.isAdd\">\r\n              <div class=\"top\"\r\n                :class=\"item.status ? 'top1' : ''\">\r\n                <p class=\"title\"\r\n                  :class=\"item.status ? 'title1' : 'title0'\">\r\n                  {{\r\n                    item.course_solve_type == 1\r\n                      ? \"道理上的理解\"\r\n                      : item.course_solve_type == 2\r\n                      ? \"事实上的理解\"\r\n                      : \"摆脱错误观念\"\r\n                  }}\r\n                </p>\r\n                <div class=\"content\"\r\n                  :class=\"item.status ? 'content1' : 'content0'\">\r\n                  <span class=\"ellipsis-content course_solve_content\" :class=\"item.course_solve_isuseradd == 1 ? 'course_solve_content_custom' : ''\">{{item.course_solve_content }}\r\n                  </span>\r\n                </div>\r\n              </div>\r\n              <div class=\"bottom\">\r\n                <div class=\"done\" :class=\"[item.status == 0 ? 'undone' : '']\">\r\n                  <div class=\"row\" :class=\"[item.course_solve_isuseradd != 1 ? item.status == 0 ? 'border-undone' : 'border-done' : '']\">\r\n                    <span>事实上的理解</span>\r\n                    <img src=\"@/assets/img/think_finish.svg\"\r\n                      v-if=\"\r\n                        item.shishiFinish\r\n                      \" />\r\n                    <img class=\"add\"\r\n                      src=\"@/assets/img/think_unfinish.svg\"\r\n                      v-else />\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <span>摆脱错误观念</span>\r\n                    <img src=\"@/assets/img/think_finish.svg\"\r\n                      v-if=\"\r\n                        item.cuowuFinish\r\n                      \" />\r\n                    <img class=\"add\"\r\n                      src=\"@/assets/img/think_unfinish.svg\"\r\n                      v-else />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"subquestion-wrapper\"\r\n              v-if=\"item.isAdd && courseIsuseradd != 3\">\r\n              <div class=\"top\"\r\n                :class=\"item.status ? 'top1' : ''\">\r\n                <p class=\"title title_add\">道理上的理解</p>\r\n                <div :class=\"item.status ? 'content1' : 'content0'\"\r\n                  class=\"content content_add\">\r\n                  <i class=\"el-icon-plus\"></i>\r\n                  <span class=\"add_label\">添加道理上的理解</span>\r\n                </div>\r\n              </div>\r\n              <div class=\"bottom bottom_add\">\r\n                <div class=\"bottom_layer\"></div>\r\n                <div class=\"done\"\r\n                  v-if=\"item.status\">\r\n                  <div class=\"row\">\r\n                    <span>事实上的理解</span>\r\n                    <img src=\"@/assets/img/think_finish.svg\" />\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <span>摆脱错误观念</span>\r\n                    <img src=\"@/assets/img/think_finish.svg\" />\r\n                  </div>\r\n                </div>\r\n                <div class=\"notdone\"\r\n                  v-else>\r\n                  <div class=\"row\">\r\n                    <span>事实上的理解</span>\r\n                    <img src=\"@/assets/img/think_unfinish.svg\" />\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <span>摆脱错误观念</span>\r\n                    <img src=\"@/assets/img/think_unfinish.svg\" />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </swiper-slide>\r\n          <div v-if=\"!(courseIsuseradd == 3 && slides.length == 0)\" class=\"swiper-pagination2\"\r\n            slot=\"pagination\"></div>\r\n        </swiper>\r\n        <transition-group v-if=\"!isMobile\" tag=\"div\" class=\"container sort-container\" id=\"sortContainer\" v-show=\"questionListGuideMode === 1 && isSorting\">\r\n          <div class=\"placeholderLine\" id=\"placeholderLine\" :key=\"'placeholderLine'\"></div>\r\n          <div v-for=\"(item, index) in originSortSlides\" :key=\"'slides' + index\" class=\"sort-item\" :id=\"item.course_solve_id\"\r\n            :draggable=\"true\"\r\n            @dragstart.stop=\"handleDragStart($event, item, index)\"\r\n            @dragover.stop=\"handleDragOver($event, item)\"\r\n            @dragenter.stop=\"handleDragEnter($event, item)\"\r\n            @dragend.stop=\"handleDragEnd($event, item)\">\r\n            <div class=\"top\"\r\n              :class=\"item.status ? 'top1' : ''\">\r\n              <p class=\"title\"\r\n                :class=\"item.status ? 'title1' : 'title0'\">\r\n                {{\r\n                  item.course_solve_type == 1\r\n                    ? \"道理上的理解\"\r\n                    : item.course_solve_type == 2\r\n                    ? \"事实上的理解\"\r\n                    : \"摆脱错误观念\"\r\n                }}\r\n              </p>\r\n              <div class=\"content\"\r\n                :class=\"item.status ? 'content1' : 'content0'\">\r\n                <span class=\"ellipsis-content course_solve_content\" :class=\"item.course_solve_isuseradd == 1 ? 'course_solve_content_custom' : ''\">{{item.course_solve_content}}</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </transition-group>\r\n        <transition-group v-else tag=\"div\" class=\"container sort-container\" id=\"sortContainer\" v-show=\"questionListGuideMode === 1 && isSorting\">\r\n          <div class=\"placeholderLine\" id=\"placeholderLine\" :key=\"'placeholderLine'\"></div>\r\n          <div v-for=\"(item, index) in originSortSlides\" :key=\"'slides' + index\" class=\"sort-item\" :id=\"item.course_solve_id\"\r\n            :draggable=\"false\"\r\n            @touchstart=\"handleTouchStart($event, item, index)\"\r\n            @touchmove=\"handleTouchMove($event, item, index)\"\r\n            @touchend=\"handleTouchend($event, item)\"\r\n            @mousedown=\"handleMouseStart\"\r\n            @mouseup=\"handleMouseEnd($event, item)\"\r\n           >\r\n            <div class=\"top\"\r\n              :class=\"item.status ? 'top1' : ''\">\r\n              <p class=\"title\"\r\n                :class=\"item.status ? 'title1' : 'title0'\">\r\n                {{\r\n                  item.course_solve_type == 1\r\n                    ? \"道理上的理解\"\r\n                    : item.course_solve_type == 2\r\n                    ? \"事实上的理解\"\r\n                    : \"摆脱错误观念\"\r\n                }}\r\n              </p>\r\n              <div class=\"content\"\r\n                :class=\"item.status ? 'content1' : 'content0'\">\r\n                <span class=\"ellipsis-content course_solve_content\" :class=\"item.course_solve_isuseradd == 1 ? 'course_solve_content_custom' : ''\">{{item.course_solve_content}}</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </transition-group>\r\n\r\n        <!-- <div class=\"sort-container\" id=\"sortContainer\" v-show=\"questionListGuideMode === 1 && isSorting\">\r\n          <div  v-for=\"(item, index) in slides\" :key=\"'slides' + index\" class=\"sort-item\">\r\n            <div class=\"top\"\r\n              :class=\"item.status ? 'top1' : ''\">\r\n              <p class=\"title\"\r\n                :class=\"item.status ? 'title1' : 'title0'\">\r\n                {{\r\n                  item.course_solve_type == 1\r\n                    ? \"道理上的理解\"\r\n                    : item.course_solve_type == 2\r\n                    ? \"事实上的理解\"\r\n                    : \"摆脱错误观念\"\r\n                }}\r\n              </p>\r\n              <div class=\"content\"\r\n                :class=\"item.status ? 'content1' : 'content0'\">\r\n                <span class=\"ellipsis-content course_solve_content\" :class=\"item.course_solve_isuseradd == 1 ? 'course_solve_content_custom' : ''\">{{item.course_solve_content }}\r\n                </span>\r\n              </div>\r\n            </div>\r\n            <div class=\"bottom\">\r\n              <div class=\"done\" :class=\"[item.status == 0 ? 'undone' : '']\">\r\n                <div class=\"row\" :class=\"[item.course_solve_isuseradd != 1 ? item.status == 0 ? 'border-undone' : 'border-done' : '']\">\r\n                  <span>事实上的理解</span>\r\n                  <img src=\"@/assets/img/think_finish.svg\"\r\n                    v-if=\"\r\n                      item.shishiFinish\r\n                    \" />\r\n                  <img class=\"add\"\r\n                    src=\"@/assets/img/think_unfinish.svg\"\r\n                    v-else />\r\n                </div>\r\n                <div class=\"row\">\r\n                  <span>摆脱错误观念</span>\r\n                  <img src=\"@/assets/img/think_finish.svg\"\r\n                    v-if=\"\r\n                      item.cuowuFinish\r\n                    \" />\r\n                  <img class=\"add\"\r\n                    src=\"@/assets/img/think_unfinish.svg\"\r\n                    v-else />\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div> -->\r\n        <swiper v-show=\"questionListGuideMode === 0\"\r\n          ref=\"guide_mySwiperMain\"\r\n          :options=\"guide_swiperOptions\"\r\n          id=\"guide_mySwiper3\">\r\n          <swiper-slide class=\"swiper-slide\"\r\n            v-for=\"(item, index) in guideSlides\"\r\n            :key=\"'slides' + index\">\r\n            <div :id=\"'question_step2_' + index\"\r\n              class=\"subquestion-wrapper\">\r\n              <div class=\"top\"\r\n                :class=\"item.status ? 'top1' : ''\">\r\n                <p class=\"title\"\r\n                  :class=\"item.status ? 'title1' : 'title0'\">\r\n                  道理上的理解\r\n                </p>\r\n                <div class=\"content\"\r\n                  :class=\"item.status ? 'content1' : 'content0'\">\r\n                  <span class=\"ellipsis-content course_solve_content course_solve_content1\"\r\n                    v-html=\"item.course_solve_content\">\r\n                  </span>\r\n                </div>\r\n              </div>\r\n              <div class=\"bottom\">\r\n                <div class=\"done\">\r\n                  <div class=\"row\">\r\n                    <span>事实上的理解</span>\r\n                    <img src=\"@/assets/img/think_finish.svg\"\r\n                      v-if=\"\r\n                        item.shishiFinish\r\n                      \" />\r\n                    <img class=\"add\"\r\n                      src=\"@/assets/img/think_unfinish.svg\"\r\n                      v-else />\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <span>摆脱错误观念</span>\r\n                    <img src=\"@/assets/img/think_finish.svg\"\r\n                      v-if=\"\r\n                        item.cuowuFinish\r\n                      \" />\r\n                    <img class=\"add\"\r\n                      src=\"@/assets/img/think_unfinish.svg\"\r\n                      v-else />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </swiper-slide>\r\n          <div class=\"swiper-pagination2\"\r\n            slot=\"pagination\"></div>\r\n        </swiper>\r\n      </div>\r\n      <ProblemSolvingDialog v-if=\"dialogVisible\"\r\n      :dialogVisible=\"dialogVisible\"\r\n      :isFold=\"isFold\"\r\n      @addUserQuestionSolveSuc=\"addUserQuestionSolve\"\r\n      @handleClose=\"handleClose\" />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\n//导入swiper\r\nimport \"swiper/dist/css/swiper.css\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nimport {\r\n  getQuestionList,\r\n  getQuestionSolve,\r\n  getUserCourseProgress,\r\n  setUserSolveSort\r\n} from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport ProblemSolvingDialog from \"./ProblemSolvingDialog.vue\";\r\nimport { deepClone, getIsMobile, isChildFullyVisible } from \"@/utils/util.js\";\r\n\r\nexport default {\r\n  components: { swiper, swiperSlide, ProblemSolvingDialog },\r\n  data() {\r\n    return {\r\n      guideSlides: [\r\n        {\r\n          course_solve_content:\r\n            \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n          status: 1,\r\n          course_solve_shishi: [\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"730\",\r\n            },\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"731\",\r\n            },\r\n          ],\r\n          course_solve_cuowu: [\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"731\",\r\n            },\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"732\",\r\n            },\r\n          ],\r\n        },\r\n        {\r\n          course_solve_content:\r\n            \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n          status: 1,\r\n          course_solve_shishi: [\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"730\",\r\n            },\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"731\",\r\n            },\r\n          ],\r\n          course_solve_cuowu: [\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"731\",\r\n            },\r\n            {\r\n              course_slove_type: \"2\",\r\n              course_solve_content:\r\n                \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n              last_update_device: \"1\",\r\n              course_solve_isuseradd: \"3\",\r\n              course_solve_id: \"732\",\r\n            },\r\n          ],\r\n        },\r\n        {\r\n          course_solve_content:\r\n            \"关于幸福：<br>幸福只是一种不稳定的感觉。幸福不仅是唯物的，更是唯心的。\",\r\n          status: 0,\r\n        },\r\n      ],\r\n\r\n      swiperOptions: {\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // slidesPerView: 5,\r\n        grabCursor: true,\r\n        slidesPerView: \"auto\",\r\n        spaceBetween: 0,\r\n        centeredSlides: true,\r\n        // width: \"auto\",\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: false,\r\n        pagination: {\r\n          el: \".swiper-pagination2\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          tap: (e) => {\r\n            let swiper = this.$refs.mySwiperMain.swiper;\r\n            if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n              this.selectedData = this.slides[swiper.clickedIndex];\r\n              console.log(this.selectedData);\r\n              if (this.selectedData.isAdd) {\r\n                this.addUserQuestionSolveShow();\r\n              } else {\r\n                this.swiper.realIndex = swiper.clickedIndex;\r\n                this.swiper.activeIndex = swiper.clickedIndex;\r\n                this.swiper.slideTo(swiper.clickedIndex);\r\n                let slides = swiper.slides;\r\n                for (let i = 0; i < slides.length; i++) {\r\n                  const slide = slides[i];\r\n                  slide.style.transform = `scale(${1})`;\r\n                }\r\n                swiper.slides[\r\n                  swiper.clickedIndex\r\n                ].style.transform = `scale(${1.1})`;\r\n                console.log(\"WHITE_THINK_PROBLEM_SOLVE::\", this.selectedData);\r\n                EventBus.$emit(\"TO_WHITE_THINK_PROBLEM_SOLVE\");\r\n                let timeout = setTimeout(() => {\r\n                  clearTimeout(timeout);\r\n                  this.$store\r\n                    .dispatch(\"setProblemSolve\", this.selectedData)\r\n                    .then(() => {\r\n                      // 本课问题解决-道德上的理解\r\n                      this.$router.push({\r\n                        path: \"/white/ProblemSolving\",\r\n                      });\r\n                    });\r\n                  let timeout1 = setTimeout(() => {\r\n                    clearTimeout(timeout1);\r\n                    EventBus.$emit(\"FROM_WHITE_THINK_PROBLEM_SOLVE\");\r\n                  }, 100);\r\n                }, 400);\r\n              }\r\n            } else if (swiper.activeIndex || swiper.activeIndex === 0) {\r\n              this.swiper.realIndex = swiper.activeIndex;\r\n              this.swiper.slideTo(swiper.activeIndex);\r\n              let slides = swiper.slides;\r\n              for (let i = 0; i < slides.length; i++) {\r\n                const slide = slides[i];\r\n                slide.style.transform = `scale(${1})`;\r\n              }\r\n              swiper.slides[\r\n                swiper.activeIndex\r\n              ].style.transform = `scale(${1.1})`;\r\n            }\r\n          },\r\n          slideChange: () => {\r\n            let swiper = this.$refs.mySwiperMain.swiper;\r\n            console.log(\r\n              \"slideChange:\",\r\n              swiper.clickedIndex,\r\n              swiper.activeIndex\r\n            );\r\n            // 点击小图, 大图对应切换\r\n            this.swiper.realIndex = swiper.activeIndex;\r\n            let slides = swiper.slides;\r\n            for (let i = 0; i < slides.length; i++) {\r\n              const slide = slides[i];\r\n              slide.style.transform = `scale(${1})`;\r\n            }\r\n            if (swiper.slides[swiper.activeIndex]) {\r\n              swiper.slides[\r\n                swiper.activeIndex\r\n              ].style.transform = `scale(${1.1})`;\r\n            }\r\n            this.currentIndex = swiper.activeIndex;\r\n          },\r\n        },\r\n      },\r\n      guide_swiperOptions: {\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // slidesPerView: 5,\r\n        slidesPerView: \"auto\",\r\n        spaceBetween: 30,\r\n        centeredSlides: true,\r\n        // width: \"auto\",\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: false,\r\n        pagination: {\r\n          el: \".swiper-pagination2\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          slideChange: () => {\r\n            let swiper = this.$refs.guide_mySwiperMain.swiper;\r\n            // 点击小图, 大图对应切换\r\n            this.guideSwiper.realIndex = swiper.activeIndex;\r\n            let slides = swiper.slides;\r\n            for (let i = 0; i < slides.length; i++) {\r\n              const slide = slides[i];\r\n              slide.style.transform = `scale(${1})`;\r\n            }\r\n            if (swiper.slides[swiper.activeIndex]) {\r\n              swiper.slides[\r\n                swiper.activeIndex\r\n              ].style.transform = `scale(${1.1})`;\r\n            }\r\n            this.guideCurrentIndex = swiper.activeIndex;\r\n          },\r\n        },\r\n      },\r\n      slides: [],\r\n      sortSlides: [],\r\n      originSortSlides: [],\r\n      inited: false,\r\n      selectedData: null,\r\n      progress_solve_question_ids: \"\",\r\n      dialogVisible: false,\r\n      isEdit: false,\r\n      title: \"添加道理上的理解\",\r\n      status: \"\",\r\n      course_solve_isuseradd: \"\",\r\n      isActivated: true,\r\n      flag: true,\r\n      isFold: true,\r\n      titleRefHeight: 0,\r\n      smallquestionHeight: 0,\r\n      isChangeMoral: true,\r\n      currentIndex: 0,\r\n      guideCurrentIndex: 1,\r\n      isSorting: false,\r\n      dragElement: null, // 拖动复制的元素\r\n      dragging: null,\r\n      dragStartIndex: null,\r\n      dragEndIndex: null,\r\n      offsetX: 0,\r\n      offsetY: 0,\r\n      placeholderLine: null, // 线\r\n      canAdd: false,\r\n      isMobile: false,\r\n      showSort: true,\r\n      cardNumPerRow: 0,\r\n      isAnimationing: false\r\n    };\r\n  },\r\n  props: {\r\n    questionListGuideMode: {\r\n      type: Number,\r\n      default: 1,\r\n    },\r\n  },\r\n  computed: {\r\n    swiper() {\r\n      return this.$refs.mySwiperMain.swiper;\r\n    },\r\n    guideSwiper() {\r\n      return this.$refs.guide_mySwiperMain.swiper;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    moralComprehend() {\r\n      return this.$store.getters.moralComprehend;\r\n    },\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress;\r\n    },\r\n    problemSolveList() {\r\n      return this.$store.getters.problemSolveList;\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n  },\r\n  watch: {\r\n    moralComprehend: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        console.log(\"moralComprehend:\", newVal, oldVal);\r\n        if (newVal || newVal == 0) {\r\n          const course_question_id = this.moralComprehend.course_question_id;\r\n          if (\r\n            this.progress_solve_question_ids.indexOf(course_question_id) > -1\r\n          ) {\r\n            this.status = 1;\r\n          } else {\r\n            this.status = 0;\r\n          }\r\n          this.titleRefHeight = this.$refs.titleRef.clientHeight;\r\n          this.isChangeMoral = true;\r\n          this.isFold = true;\r\n          this.dialogVisible = false;\r\n          // 先销毁，再重新初始化\r\n          // this.slides = [];\r\n          this.getQuestionSolve().then(async () => {\r\n            if(newVal.course_question_id != oldVal.course_question_id) {\r\n              this.$nextTick(() => {\r\n                this.initSlidesAnimation();\r\n              });\r\n            }\r\n          });\r\n        }\r\n      },\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"courseProgress:\", this.courseProgress);\r\n        this.progress_solve_question_ids = v.progress_solve_question_ids || \"\";\r\n      },\r\n    },\r\n    problemSolveList: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"problemSolveList:\", this.problemSolveList);\r\n        let data = deepClone(this.problemSolveList);\r\n        // 事实上的理解跟摆脱错误观念都完成了才算完成\r\n        let shishiFinish = false;\r\n        let cuowuFinish = false;\r\n\r\n        // let canAdd = data.every(item => item.course_solve_isuseradd != 2)\r\n        // 修改成 官方课程也可以添加自定义\r\n        let canAdd = true;\r\n        data.forEach((item) => {\r\n          const shishi = item.course_solve_shishi;\r\n          const cuowu = item.course_solve_cuowu;\r\n\r\n          if(shishi) {\r\n            // shishiFinish = shishi.some(item => item.course_solve_isuseradd != 2);\r\n            shishiFinish = shishi.length > 0;\r\n            console.log(\"shishiFinish:\", shishiFinish)\r\n          }\r\n          this.$set(item, 'shishiFinish', shishiFinish);\r\n          if(cuowu) {\r\n            // cuowuFinish = cuowu.some(item => item.course_solve_isuseradd != 2);\r\n            cuowuFinish = cuowu.length > 0;\r\n            console.log(\"cuowuFinish:\", cuowuFinish)\r\n          }\r\n          this.$set(item, 'cuowuFinish', cuowuFinish);\r\n          if (shishiFinish && cuowuFinish) {\r\n            // item.status = 1;\r\n            this.$set(item, 'status', 1);\r\n          } else {\r\n            // item.status = 0;\r\n            this.$set(item, 'status', 0);\r\n          }\r\n        });\r\n        if(data.length === 0) {\r\n          canAdd = true;\r\n        }\r\n\r\n        // 示例笔记而不能添加道理上的理解\r\n        console.log(this.courseIsuseradd)\r\n        if (this.courseIsuseradd == 1 || (this.courseIsuseradd == 2 && canAdd)) {\r\n          data.push({\r\n            isAdd: true,\r\n            course_solve_id: \"\",\r\n            course_solve_type: \"1\",\r\n            course_solve_content: \"\",\r\n            course_solve_isuseradd: \"1\",\r\n            course_solve_shishi: [],\r\n            course_solve_cuowu: [],\r\n          });\r\n        }\r\n        console.log(\"maain:\", data)\r\n        this.slides = data;\r\n        let slides = [];\r\n        if (this.courseIsuseradd == 1 || (this.courseIsuseradd == 2 && canAdd)) {\r\n          slides = data.slice(0, data.length - 1);\r\n        } else {\r\n          slides = data.slice(0, data.length);\r\n        }\r\n        this.sortSlides = slides.filter((item) => item.course_solve_isuseradd == 1);\r\n        this.originSortSlides = slides.filter((item) => item.course_solve_isuseradd == 1);\r\n        // 只要有一个不是官方课程的则显示排序\r\n        this.showSort = slides.some((item) => item.course_solve_isuseradd == 1);\r\n        this.canAdd = canAdd;\r\n        this.initSwiper();\r\n        // this.initSort();\r\n        // if (!this.inited) {\r\n        //   this.initSwiper();\r\n        // } else {\r\n        //   // this.slideToActive(0);\r\n        // }\r\n      },\r\n    },\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    this.dialogVisible = false;\r\n    next();\r\n  },\r\n  methods: {\r\n    getTranslateValues(element) {\r\n      var style = window.getComputedStyle(element);\r\n      var matrix = style.transform || style.webkitTransform || style.mozTransform;\r\n      var values = matrix.split('(')[1].split(')')[0].split(',');\r\n      return {\r\n        translateX: parseFloat(values[4]),\r\n        translateY: parseFloat(values[5])\r\n      };\r\n    },\r\n    sortLayout(sortItems, currentId) {\r\n      this.$nextTick(() => {\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        // const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n        const width = sortContainer.offsetWidth;\r\n        const item = sortItems[0];\r\n        const rect = item.getBoundingClientRect();\r\n        const cardNumPerRow = Math.floor(width / (rect.width + rect.width * 0.2));\r\n        this.cardNumPerRow = cardNumPerRow;\r\n        for (let i = 0; i < sortItems.length; i++) {\r\n          const item = sortItems[i];\r\n          const rect = item.getBoundingClientRect();\r\n          const rowIndex = Math.floor(i / cardNumPerRow);\r\n          const colIndex = i % cardNumPerRow;\r\n          const translateX = colIndex * rect.width + colIndex * rect.width * 0.2;\r\n          const translateY = rowIndex * rect.height + rowIndex * rect.height * 0.2;\r\n\r\n          let duration = 0.5;\r\n          if(currentId == item.id) {\r\n            duration = 0;\r\n            const translateX1 = Number(translateX / 0.8).toFixed(3);\r\n            const translateY1 = Number(translateY / 0.8).toFixed(3);\r\n            console.log(\"sortLayout:\", translateX, translateY, translateX1, translateY1);\r\n            item.style.transform =\r\n              \"scale(0.8) translate(\" + translateX1 + \"px,\" + translateY1 + \"px)\";\r\n            setTimeout(() => {\r\n              item.style.transform =\r\n              \"scale(1) translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n              item.style.transition = `all ${0.3}s ease`;\r\n            }, 500);\r\n          } else {\r\n            item.style.transform =\r\n              \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n          }\r\n          // item.style.transform =\r\n          //     \"translate(\" + translateX + \"px,\" + translateY + \"px)\";\r\n          item.style.transition = `all ${duration}s ease-in-out`;\r\n          // if (duration || duration == 0) {\r\n          //   item.style.transition = `all ${duration}s ease-in-out`;\r\n          // } else {\r\n          //   item.style.transition = \"all 0.8s ease-in-out\";\r\n          // }\r\n        }\r\n        let timeout = setTimeout(() => {\r\n          this.isAnimationing = false;\r\n          clearTimeout(timeout);\r\n          timeout = null;\r\n        }, 1000);\r\n      });\r\n    },\r\n    updatePlaceholderLine(dragEndTarget, height) {\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      let sortContainerStyle = null;\r\n      if (window.getComputedStyle) {\r\n          sortContainerStyle = getComputedStyle(sortContainer);\r\n      } else {\r\n          sortContainerStyle = sortContainer.currentStyle;\r\n      }\r\n      const placeholderLine = document.getElementById(\"placeholderLine\");\r\n      const translates = this.getTranslateValues(dragEndTarget);\r\n      const translateX = translates.translateX;\r\n      const translateY = translates.translateY;\r\n      let sortContainerPT = sortContainerStyle.paddingTop;\r\n      if(sortContainerPT) {\r\n        sortContainerPT = parseFloat(sortContainerPT);\r\n      }\r\n      console.log(this.dragEndIndex, this.dragEndIndex == this.sortSlides.length - 1 || ((this.dragEndIndex + 1) % this.cardNumPerRow === 0));\r\n      if(this.dragEndIndex == this.sortSlides.length - 1 || ((this.dragEndIndex + 1) % this.cardNumPerRow === 0)) {\r\n        // 如果是拖动到最后一个或者每排的最后一个位置,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('updatePlaceholderLine:', dragElementX,  dragEndTargetX, dragEndTargetRect.width * 0.5, dragEndTargetRect)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3) {\r\n          placeholderLine.style.left = `${translateX + dragEndTarget.offsetWidth * 1.25 + placeholderLine.offsetWidth / 2}px`;\r\n        } else {\r\n          placeholderLine.style.left = `${translateX + dragEndTarget.offsetWidth * 0.05 + placeholderLine.offsetWidth / 2}px`;\r\n        }\r\n      } else {\r\n        placeholderLine.style.left = `${translateX + dragEndTarget.offsetWidth * 0.05 + placeholderLine.offsetWidth / 2}px`;\r\n      }\r\n      // placeholderLine.style.left = `${translateX + dragEndTarget.offsetWidth * 0.05 + placeholderLine.offsetWidth / 2}px`;\r\n      placeholderLine.style.top = `${translateY + sortContainerPT + height * 0.1}px`;\r\n\r\n      // todo: 判断拖动的位置是否在视觉范围内,不在的话需要滚动到能看见为止\r\n      // const problemBox = document.getElementById(\"sortContainer\");\r\n      const isInViewport = isChildFullyVisible(sortContainer, dragEndTarget);\r\n      // 不可见，则滚动到可见区域\r\n      if(!isInViewport) {\r\n        dragEndTarget.scrollIntoView({\r\n          behavior: \"smooth\",\r\n          block: \"start\"\r\n        });\r\n      }\r\n    },\r\n    handleDragStart(e, item, index) {\r\n      //  // 创建透明的1x1像素图像\r\n       const transparentImg = new Image();\r\n\r\n      // 1x1透明GIF的base64编码\r\n      transparentImg.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\r\n\r\n      // 设置为拖拽图像\r\n      if (e.dataTransfer.setDragImage) {\r\n        e.dataTransfer.setDragImage(transparentImg, 0, 0);\r\n        e.currentTarget.style.transition = 'none';\r\n      }\r\n      this.dragElement = e.currentTarget.cloneNode(true);\r\n      this.dragging = item;\r\n\r\n      // 计算鼠标位置与卡片左上角的偏移\r\n      const rect = e.currentTarget.getBoundingClientRect();\r\n      this.offsetX = e.clientX - rect.left;\r\n      this.offsetY = e.clientY - rect.top;\r\n\r\n      // 添加拖拽样式\r\n      this.dragElement.classList.add('dragging');\r\n      // 设置卡片位置\r\n      const width = rect.width;\r\n      const height = rect.height;\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const parentRect = sortContainer.getBoundingClientRect();\r\n      let computedStyle = null;\r\n      if (window.getComputedStyle) {\r\n          computedStyle = getComputedStyle(e.currentTarget);\r\n      } else {\r\n          computedStyle = e.currentTarget.currentStyle;//兼容IE的写法\r\n      }\r\n      e.currentTarget.style.setProperty('opacity', '0', 'important');\r\n\r\n      this.dragStartIndex = index;\r\n      this.dragEndIndex = index;\r\n\r\n      const marginLeft = parseFloat(computedStyle.marginLeft);\r\n      let newLeft = e.clientX - parentRect.left - this.offsetX - marginLeft * 0.5;\r\n      let newTop = e.clientY - parentRect.top - this.offsetY;\r\n      this.dragElement.style.position = 'absolute';\r\n      this.dragElement.style.left = `${newLeft}px`;\r\n      this.dragElement.style.top = `${newTop}px`;\r\n      this.dragElement.style.width = `${width}px`;\r\n      this.dragElement.style.height = `${height}px`;\r\n      this.dragElement.style.zIndex = '10000';\r\n      this.dragElement.style.pointerEvents = 'none';\r\n      this.dragElement.style.transform = 'scale(1)';\r\n      this.dragElement.style.transition = 'all 0.2s ease';\r\n      this.dragElement.style.boxShadow = '0 13px 30px rgba(40,86,110,0.4)';\r\n      console.log(\"handleDragStart:\", rect.left, rect.top);\r\n      sortContainer.appendChild(this.dragElement);\r\n\r\n      const placeholderLine = document.getElementById(\"placeholderLine\");\r\n      placeholderLine.style.display = 'block';\r\n      // 更新竖线位置\r\n      this.$nextTick(() => {\r\n        placeholderLine.style.height = `${height * 0.8}px`;\r\n        const dragEndTarget = document.getElementById(item.course_solve_id);\r\n        this.updatePlaceholderLine(dragEndTarget, height);\r\n        let newLeft = e.clientX - parentRect.left - this.offsetX - width * 0.1 - marginLeft * 0.5;\r\n        let newTop = e.clientY - parentRect.top - this.offsetY - height  * 0.1;\r\n        this.dragElement.style.left = `${newLeft}px`;\r\n        this.dragElement.style.top = `${newTop}px`;\r\n        this.dragElement.style.transform = 'scale(0.8)';\r\n        let timeout = setTimeout(() => {\r\n          this.dragElement.style.transition = 'none';\r\n          clearTimeout(timeout);\r\n        }, 200);\r\n        // const translate = this.getTranslateValues(e.currentTarget);\r\n        // const translateX = translate.translateX;\r\n        // const translateY = translate.translateY;\r\n        // console.log(\"translateX:\", translateX, translateY);\r\n        // e.currentTarget.style.opacity = '0 !important';\r\n\r\n      });\r\n    },\r\n    handleDragEnd(e, item){\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const newItems = [...this.sortSlides];\r\n      if(((this.dragEndIndex + 1) % this.cardNumPerRow === 0)) {\r\n        // 如果是拖动到每排最后一个元素,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_solve_id);\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('handleDragEnd:', dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex + 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex > this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else if(dragElementX <= dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else {\r\n          newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n      } else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex < this.sortSlides.length - 1) {\r\n        newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      }\r\n      else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex === this.sortSlides.length - 1) {\r\n        // 如果是拖动到最后一个,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_solve_id);\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('handleDragEnd:', dragElementX,  dragEndTargetX, dragEndTargetRect.width * 0.5, dragEndTargetRect)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else {\r\n          newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n      }\r\n      else {\r\n        newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      }\r\n\r\n      this.sortSlides = [...newItems];\r\n      e.currentTarget.style.opacity = 1;\r\n      sortContainer.removeChild(this.dragElement);\r\n      this.dragging = null;\r\n      const placeholderLine = document.getElementById(\"placeholderLine\");\r\n      placeholderLine.style.display = 'none';\r\n\r\n      const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n      const idArray = Array.from(sortItems, item => item.id);\r\n      let newSortItems = [...sortItems];\r\n      newItems.forEach((item, index) => {\r\n        const id = item.course_solve_id;\r\n        const targetIndex = idArray.findIndex(item1 => item1 == id);\r\n        newSortItems[index] = sortItems[targetIndex];\r\n      });\r\n      // newSortItems.splice(this.dragEndIndex, 0, ...newSortItems.splice(this.dragStartIndex, 1));\r\n      this.sortLayout(newSortItems, item.course_solve_id);\r\n    },\r\n    //首先把div变成可以放置的元素，即重写dragenter/dragover\r\n    handleDragOver(e, item) {\r\n      // e.dataTransfer.dropEffect = 'move'; // e.dataTransfer.dropEffect=\"move\";//在dragenter中针对放置目标来设置!\r\n      const rect = e.currentTarget.getBoundingClientRect();\r\n      if (!this.dragElement) return;\r\n      // 计算子元素新位置（相对于父元素左上角）\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const parentRect = sortContainer.getBoundingClientRect();\r\n      let newLeft = e.clientX - parentRect.left - this.offsetX;\r\n      let newTop = e.clientY - parentRect.top - this.offsetY;\r\n\r\n      // 限制在父元素内\r\n      // newLeft = Math.max(0, Math.min(newLeft, parentRect.width - draggable.offsetWidth));\r\n      // newTop = Math.max(0, Math.min(newTop, parentRect.height - draggable.offsetHeight));\r\n      // 更新卡片位置\r\n      this.dragElement.style.left = `${newLeft}px`;\r\n      this.dragElement.style.top = `${newTop}px`;\r\n\r\n      // 更新竖线位置\r\n      const dragEndTarget = document.getElementById(item.course_solve_id);\r\n      if(dragEndTarget) {\r\n        this.updatePlaceholderLine(dragEndTarget, parseFloat(this.dragElement.style.height));\r\n      }\r\n      console.log(\"handleDragOver:\", this.dragStartIndex, this.dragEndIndex);\r\n    },\r\n    handleDragEnter(e,item) {\r\n      e.dataTransfer.effectAllowed = \"move\"; //为需要移动的元素设置dragstart事件\r\n      // if(item === this.dragging){\r\n      //   return;\r\n      // }\r\n      const newItems = [...this.sortSlides];\r\n      const src = newItems.indexOf(this.dragging);\r\n      const dst = newItems.indexOf(item);\r\n      this.dragStartIndex = src;\r\n      this.dragEndIndex = dst;\r\n    },\r\n    handleTouchStart(e, item, index) {\r\n      try {\r\n        const touch = e.touches[0];\r\n        this.dragElement = e.currentTarget.cloneNode(true);\r\n        this.dragging = item;\r\n\r\n        // 计算鼠标位置与卡片左上角的偏移\r\n        const rect = e.currentTarget.getBoundingClientRect();\r\n        this.offsetX = touch.pageX - rect.left;\r\n        this.offsetY = touch.pageY - rect.top;\r\n\r\n        // 添加拖拽样式\r\n        this.dragElement.classList.add('dragging');\r\n        // 设置卡片位置\r\n        const width = rect.width;\r\n        const height = rect.height;\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        const parentRect = sortContainer.getBoundingClientRect();\r\n        let computedStyle = null;\r\n        if (window.getComputedStyle) {\r\n            computedStyle = getComputedStyle(e.currentTarget);\r\n        } else {\r\n            computedStyle = e.currentTarget.currentStyle;//兼容IE的写法\r\n        }\r\n        e.currentTarget.style.setProperty('opacity', '0', 'important');\r\n\r\n        this.dragStartIndex = index;\r\n        this.dragEndIndex = index;\r\n\r\n        const marginLeft = parseFloat(computedStyle.marginLeft);\r\n        let newLeft = touch.pageX - parentRect.left - this.offsetX - marginLeft * 0.5;\r\n        let newTop = touch.pageY - parentRect.top - this.offsetY;\r\n        this.dragElement.style.position = 'absolute';\r\n        this.dragElement.style.left = `${newLeft}px`;\r\n        this.dragElement.style.top = `${newTop}px`;\r\n        this.dragElement.style.width = `${width}px`;\r\n        this.dragElement.style.height = `${height}px`;\r\n        this.dragElement.style.zIndex = '10000';\r\n        this.dragElement.style.pointerEvents = 'none';\r\n        this.dragElement.style.transform = 'scale(1)';\r\n        this.dragElement.style.transition = 'all 0.2s ease';\r\n        this.dragElement.style.boxShadow = '0 13px 30px rgba(40,86,110,0.4)';\r\n        console.log(\"handleDragStart:\", rect.left, rect.top);\r\n        sortContainer.appendChild(this.dragElement);\r\n\r\n        const placeholderLine = document.getElementById(\"placeholderLine\");\r\n        placeholderLine.style.display = 'block';\r\n        // 更新竖线位置\r\n        this.$nextTick(() => {\r\n          placeholderLine.style.height = `${height * 0.8}px`;\r\n          const dragEndTarget = document.getElementById(item.course_solve_id);\r\n          this.updatePlaceholderLine(dragEndTarget, height);\r\n          let newLeft = touch.pageX - parentRect.left - this.offsetX - width * 0.1 - marginLeft * 0.5;\r\n          let newTop = touch.pageY - parentRect.top - this.offsetY - height  * 0.1;\r\n          this.dragElement.style.left = `${newLeft}px`;\r\n          this.dragElement.style.top = `${newTop}px`;\r\n          this.dragElement.style.transform = 'scale(0.8)';\r\n          let timeout = setTimeout(() => {\r\n            this.dragElement.style.transition = 'none';\r\n            clearTimeout(timeout);\r\n          }, 200);\r\n          // const translate = this.getTranslateValues(e.currentTarget);\r\n          // const translateX = translate.translateX;\r\n          // const translateY = translate.translateY;\r\n          // console.log(\"translateX:\", translateX, translateY);\r\n          // e.currentTarget.style.opacity = '0 !important';\r\n\r\n        });\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n    },\r\n    handleTouchMove(e,item, index) {\r\n      try {\r\n        // e.dataTransfer.dropEffect = 'move'; // e.dataTransfer.dropEffect=\"move\";//在dragenter中针对放置目标来设置!\r\n        const touch = e.touches[0];\r\n        // const rect = e.currentTarget.getBoundingClientRect();\r\n        if (!this.dragElement) return;\r\n        // 计算子元素新位置（相对于父元素左上角）\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        const parentRect = sortContainer.getBoundingClientRect();\r\n        let newLeft = touch.pageX - parentRect.left - this.offsetX;\r\n        let newTop = touch.pageY - parentRect.top - this.offsetY;\r\n\r\n        // 限制在父元素内\r\n        // newLeft = Math.max(0, Math.min(newLeft, parentRect.width - draggable.offsetWidth));\r\n        // newTop = Math.max(0, Math.min(newTop, parentRect.height - draggable.offsetHeight));\r\n        // 更新卡片位置\r\n        this.dragElement.style.left = `${newLeft}px`;\r\n        this.dragElement.style.top = `${newTop}px`;\r\n        const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n        // 找到拖动项应该插入的位置\r\n        let nextItem = null;\r\n        let flag = false;\r\n        for(let i = 0; i < sortItems.length; i++) {\r\n          const item = sortItems[i];\r\n          const rect = item.getBoundingClientRect();\r\n          if(!flag && rect.top < touch.pageY && touch.pageY < rect.top + rect.height && rect.left < touch.pageX && touch.pageX < rect.left + rect.width && i != index) {\r\n            // this.dragEndIndex = i;\r\n            flag = true;\r\n            nextItem = this.originSortSlides[i];\r\n            break;\r\n          }\r\n        }\r\n        if(nextItem) {\r\n          const newItems = [...this.sortSlides];\r\n          const src = newItems.indexOf(this.dragging);\r\n          const dst = newItems.indexOf(nextItem);\r\n          this.dragStartIndex = src;\r\n          this.dragEndIndex = dst;\r\n\r\n          // 更新竖线位置\r\n          const dragEndTarget = document.getElementById(nextItem.course_solve_id);\r\n          console.log(nextItem.course_solve_id)\r\n          if(dragEndTarget) {\r\n            this.updatePlaceholderLine(dragEndTarget, parseFloat(this.dragElement.style.height));\r\n          }\r\n        }\r\n\r\n      } catch (error) {\r\n        console.log(error)\r\n      }\r\n\r\n    },\r\n    handleTouchend(e, item) {\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const newItems = [...this.sortSlides];\r\n      if(((this.dragEndIndex + 1) % this.cardNumPerRow === 0)) {\r\n        // 如果是拖动到每排最后一个元素,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_solve_id);\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('handleDragEnd:', dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex + 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex > this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else if(dragElementX <= dragEndTargetX + dragEndTargetRect.width * 0.3 && this.dragEndIndex < this.dragStartIndex) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else {\r\n          newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n      } else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex < this.sortSlides.length - 1) {\r\n        newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      }\r\n      else if(this.dragEndIndex > this.dragStartIndex && this.dragEndIndex === this.sortSlides.length - 1) {\r\n        // 如果是拖动到最后一个,并且拖动位置大于最后一个元素宽度的0.3\r\n        const dragElementRect = this.dragElement.getBoundingClientRect();\r\n        const dragElementX = dragElementRect.x;\r\n        const dragEndTarget = document.getElementById(this.sortSlides[this.dragEndIndex].course_solve_id);\r\n        const dragEndTargetRect = dragEndTarget.getBoundingClientRect();\r\n        const dragEndTargetX = dragEndTargetRect.x;\r\n        console.log('handleDragEnd:', dragElementX,  dragEndTargetX, dragEndTargetRect.width * 0.5, dragEndTargetRect)\r\n        if(dragElementX > dragEndTargetX + dragEndTargetRect.width * 0.3) {\r\n          newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        } else {\r\n          newItems.splice(this.dragEndIndex - 1, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n        }\r\n      }\r\n      else {\r\n        newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      }\r\n      // newItems.splice(this.dragEndIndex, 0, ...newItems.splice(this.dragStartIndex, 1));\r\n      this.sortSlides = [...newItems];\r\n      e.currentTarget.style.opacity = 1;\r\n      sortContainer.removeChild(this.dragElement);\r\n      this.dragging = null;\r\n      const placeholderLine = document.getElementById(\"placeholderLine\");\r\n      placeholderLine.style.display = 'none';\r\n\r\n      const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n      const idArray = Array.from(sortItems, item => item.id);\r\n      let newSortItems = [...sortItems];\r\n      newItems.forEach((item, index) => {\r\n        const id = item.course_solve_id;\r\n        const targetIndex = idArray.findIndex(item1 => item1 == id);\r\n        newSortItems[index] = sortItems[targetIndex];\r\n      });\r\n      // newSortItems.splice(this.dragEndIndex, 0, ...newSortItems.splice(this.dragStartIndex, 1));\r\n      // originSortSlides的index进行修改\r\n      const newIdArray = Array.from(newSortItems, item => item.id);\r\n      this.originSortSlides.forEach((item, index) => {\r\n        const id = item.course_solve_id;\r\n        const targetIndex = newIdArray.findIndex(item1 => item1 == id);\r\n        this.$set(item, 'idx', targetIndex);\r\n      });\r\n      this.sortLayout(newSortItems, item.course_solve_id);\r\n    },\r\n    handleMouseStart(event, item, index) {\r\n      event.touches = [{\r\n          pageX: event.pageX,\r\n          pageY: event.pageY,\r\n        }];\r\n        this.handleTouchStart(event, item, index);\r\n    },\r\n    handleMouseEnd(event, item) {\r\n      event.touches = [{\r\n          pageX: event.pageX,\r\n          pageY: event.pageY,\r\n        }];\r\n        this.handleTouchend(event, item);\r\n    },\r\n    async finish() {\r\n      try {\r\n        if(this.isAnimationing) {\r\n          return;\r\n        }\r\n        // 调用排序方法，后重新请求接口 setUserSolveSort\r\n        let course_solve_ids = this.sortSlides.map(item => item.course_solve_id);\r\n        console.log(\"course_solve_ids:\", course_solve_ids);\r\n        const params = {\r\n          course_solve_ids\r\n        };\r\n        const res = await setUserSolveSort(params);\r\n        if(res && res.code == 0) {\r\n          this.isSorting = false;\r\n          this.getQuestionSolve();\r\n        }\r\n      } catch (error) {\r\n\r\n      }\r\n    },\r\n    cancel() {\r\n      if(this.isAnimationing) {\r\n        return;\r\n      }\r\n      if (this.courseIsuseradd == 1 || (this.courseIsuseradd == 2 && this.canAdd)) {\r\n        this.sortSlides = this.slides.slice(0, this.slides.length - 1);\r\n      } else {\r\n        this.sortSlides = this.slides.slice(0, this.slides.length);\r\n      }\r\n      this.initSortContaier();\r\n      this.isSorting = false;\r\n    },\r\n    initSortContaier() {\r\n      const sortContainer = document.getElementById(\"sortContainer\");\r\n      const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n      for (let i = 0; i < sortItems.length; i++) {\r\n        const item = sortItems[i];\r\n        item.style.transform =\r\n            \"translate(\" + 0 + \"px,\" + 0 + \"px)\";\r\n        item.style.transition = `all ${0}s ease-in-out`;\r\n      }\r\n    },\r\n    startSort() {\r\n      if(this.slides.length == 0) {\r\n        this.$message.warning(\"请添加道理上的理解\");\r\n        return;\r\n      } else if(this.slides.length == 1) {\r\n        this.$message.warning(\"请添加更多道理上的理解\");\r\n        return;\r\n      }\r\n      this.isAnimationing = true;\r\n      this.isSorting = true;\r\n      this.$nextTick(() => {\r\n        const sortContainer = document.getElementById(\"sortContainer\");\r\n        let sortContainerStyle = '';\r\n        if (window.getComputedStyle) {\r\n            sortContainerStyle = getComputedStyle(sortContainer);\r\n        } else {\r\n            sortContainerStyle = sortContainer.currentStyle;\r\n        }\r\n        const paddingTop = sortContainerStyle.paddingTop;\r\n        const sortItems = sortContainer.querySelectorAll(\".sort-item\");\r\n        const width = sortContainer.offsetWidth;\r\n        const item = sortItems[0];\r\n        const rect = item.getBoundingClientRect();\r\n\r\n        const cardNumPerRow = Math.floor(width / (rect.width + rect.width * 0.2));\r\n        const cardCol = Math.ceil(sortItems.length / cardNumPerRow);\r\n        // 给sortContainer设置高度\r\n        sortContainer.style.height = (rect.height * 1.2 * cardCol + parseFloat(paddingTop)) + 'px';\r\n        this.sortLayout(sortItems);\r\n      })\r\n    },\r\n    initSlidesAnimation(activeIndex = 0) {\r\n      console.log(\"initSlidesAnimation:\", activeIndex);\r\n      const mySwiper3 = document.getElementById(\"mySwiper3\");\r\n      const items = mySwiper3.getElementsByClassName(\"swiper-slide\");\r\n      // const swiperWrapper = mySwiper3.getElementsByClassName(\"swiper-wrapper\");\r\n      // const width = swiperWrapper[0].offsetWidth;\r\n      // swiperWrapper[0].style.transform = `translate3d(${width}px, 0px, 0px)`;\r\n      // swiperWrapper[0].style.transition = \"all 0s linear\";\r\n      console.log(\"items:\", items);\r\n      // const len = items.length;\r\n      // if (len % 2 == 0) {\r\n      //   activeIndex = Math.floor(len / 2) - 1;\r\n      // } else {\r\n      //   activeIndex = Math.floor(len / 2);\r\n      // }\r\n      // console.log(\"activeIndex\", activeIndex);\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        if (i === activeIndex) {\r\n          slide.style.transform = \"scale(1.1)\";\r\n        }\r\n      }\r\n      this.swiper.slideTo(activeIndex);\r\n      this.initSortContaier();\r\n    },\r\n    guideInitSlidesAnimation() {\r\n      const mySwiper3 = document.getElementById(\"guide_mySwiper3\");\r\n      const items = mySwiper3.getElementsByClassName(\"swiper-slide\");\r\n      const len = items.length;\r\n      let activeIndex = 0;\r\n      if (len % 2 == 0) {\r\n        activeIndex = Math.floor(len / 2) - 1;\r\n      } else {\r\n        activeIndex = Math.floor(len / 2);\r\n      }\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        if (i === activeIndex) {\r\n          slide.style.transform = \"scale(1.1)\";\r\n        }\r\n      }\r\n      this.guideSwiper.slideTo(activeIndex);\r\n    },\r\n\r\n    // 查看详情\r\n    showDetail() {\r\n      if(this.dialogVisible) {\r\n        return;\r\n      }\r\n      this.isFold = !this.isFold;\r\n      this.isChangeMoral = false;\r\n    },\r\n    addUserQuestionSolve() {\r\n      this.dialogVisible = false;\r\n      this.getUserCourseProgress();\r\n      this.getQuestionSolve();\r\n    },\r\n    addUserQuestionSolveShow() {\r\n      this.dialogVisible = true;\r\n      this.course_solve_isuseradd = 1;\r\n      this.selectData = {};\r\n      this.isEdit = false;\r\n    },\r\n    // 问题解决列表\r\n    getQuestionSolve() {\r\n      return new Promise(async (resolve) => {\r\n        const params = {\r\n          version_new: 1,\r\n          question_id: this.moralComprehend.course_question_id,\r\n          course_id: this.course_id,\r\n          course_question_isuseradd:\r\n            this.moralComprehend.course_question_isuseradd,\r\n        };\r\n        try {\r\n          const res = await getQuestionSolve(params);\r\n          if (res && res.code === 0) {\r\n            this.isSorting = false;\r\n            let data = res.data;\r\n            data.forEach((item) => {\r\n              const shishi = item.course_solve_shishi;\r\n              const cuowu = item.course_solve_cuowu;\r\n              // 找出一条是用户添加的则算已完成\r\n              let shishiFinish = false;\r\n              let cuowuFinish = false;\r\n              if(shishi) {\r\n                // shishiFinish = shishi.some(item => item.course_solve_isuseradd != 2);\r\n                shishiFinish = shishi.length > 0;\r\n                console.log(\"shishiFinish:\", shishiFinish)\r\n              }\r\n              this.$set(item, 'shishiFinish', shishiFinish);\r\n              if(cuowu) {\r\n                // cuowuFinish = cuowu.some(item => item.course_solve_isuseradd != 2);\r\n                cuowuFinish = cuowu.length > 0;\r\n                console.log(\"cuowuFinish:\", cuowuFinish)\r\n              }\r\n              this.$set(item, 'cuowuFinish', cuowuFinish);\r\n              if (shishiFinish && cuowuFinish) {\r\n                // item.status = 1;\r\n                this.$set(item, 'status', 1);\r\n              } else {\r\n                // item.status = 0;\r\n                this.$set(item, 'status', 0);\r\n              }\r\n            });\r\n            this.initSortContaier();\r\n            this.$store.dispatch(\"setProblemSolveList\", data);\r\n            resolve();\r\n          }\r\n        } catch (error) {\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error,\r\n          // });\r\n        }\r\n      });\r\n    },\r\n    // 进度\r\n    async getUserCourseProgress() {\r\n      try {\r\n        const res = await getUserCourseProgress({\r\n          course_id: this.course_id,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseProgress\", res.data[0]).then(() => {\r\n            this.getQuestionList();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 问题列表\r\n    async getQuestionList() {\r\n      try {\r\n        const res = await getQuestionList({\r\n          course_id: this.course_id,\r\n          small_list: 1,\r\n        });\r\n        if (res && res.code === 0) {\r\n          let data = res.data;\r\n          let selectData = null;\r\n          data.forEach((item, index) => {\r\n            item.index = index + 1;\r\n            const course_question_id = item.course_question_id;\r\n            if (\r\n              this.progress_solve_question_ids.indexOf(course_question_id) > -1\r\n            ) {\r\n              item.status = 1;\r\n            } else {\r\n              item.status = 0;\r\n            }\r\n            // 选中的问题列表\r\n            if (\r\n              this.moralComprehend.course_question_id === course_question_id\r\n            ) {\r\n              selectData = item;\r\n            }\r\n          });\r\n          console.log(\"data:::::::\", data);\r\n          // 问题列表\r\n          this.$store.dispatch(\"setQuestionList\", data).then(() => {\r\n            this.$store.dispatch(\"setMoralComprehend\", selectData);\r\n          });\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    slideToActive(activeIndex) {\r\n      if (this.slides.length) {\r\n        this.$nextTick(() => {\r\n          let swiper = this.$refs.mySwiperMain.swiper;\r\n          this.swiper.realIndex = activeIndex;\r\n          this.swiper.slideTo(activeIndex);\r\n          let slides = swiper.slides;\r\n          for (let i = 0; i < slides.length; i++) {\r\n            const slide = slides[i];\r\n            slide.style.transform = `scale(${1})`;\r\n          }\r\n          swiper.slides[activeIndex].style.transform = `scale(${1.1})`;\r\n        });\r\n      }\r\n    },\r\n    // 请求玩再初始化\r\n    initSwiper() {\r\n      this.inited = true;\r\n      this.$nextTick(async () => {\r\n        await this.swiper.init(); // 现在才初始化\r\n        // this.slideToActive(0);\r\n        // await this.swiper.setTranslate(`translateX(${0}%)`);\r\n        // await this.swiper.slideTo(this.activeItemIndex);\r\n      });\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false;\r\n    },\r\n    toProblemSolveDetail() {\r\n      const mySwiper = document.getElementById(\"mySwiper\");\r\n      mySwiper.style.left = this.$px2rem(-550);\r\n      mySwiper.style.transition = \"all 0.3s linear\";\r\n    },\r\n    backFromProblemSolveDetail() {\r\n      const mySwiper = document.getElementById(\"mySwiper\");\r\n      mySwiper.style.left = this.$px2rem(280);\r\n      mySwiper.style.transition = \"all 0.3s linear\";\r\n    },\r\n    resizeBoxSize() {\r\n      // 设置滚动卡片容器宽度，以解决退出又返回后，因动画滑动，使容器宽度变小，导致卡片不能再次居中\r\n      const cardBox = document.getElementById('cardBoxMoralQuestions');\r\n      if(cardBox) {\r\n        const whiteMainContainer = document.getElementById('whiteMainContainer');\r\n        cardBox.style.width = whiteMainContainer.clientWidth + 1 + 'px';\r\n        const height = cardBox.clientHeight;\r\n        const moralQuestionMainSwiper = document.getElementById('moralQuestionMainSwiper');\r\n        if(moralQuestionMainSwiper) {\r\n          moralQuestionMainSwiper.style.height = height + 'px';\r\n        }\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.isActivated = true;\r\n    this.isChangeMoral = true;\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    this.isMobile = getIsMobile();\r\n    this.guideInitSlidesAnimation();\r\n\r\n    this.titleRefHeight = this.$refs.titleRef.clientHeight + 80;\r\n    // this.smallquestionHeight = this.$px2rem(260 - 50);\r\n    this.getQuestionSolve().then(() => {\r\n      this.$nextTick(() => {\r\n        this.initSlidesAnimation();\r\n      });\r\n    });\r\n    this.progress_solve_question_ids =\r\n      this.courseProgress.progress_solve_question_ids || \"\";\r\n    if (this.moralComprehend) {\r\n      const course_question_id = this.moralComprehend.course_question_id;\r\n      if (this.progress_solve_question_ids.indexOf(course_question_id) > -1) {\r\n        this.status = 1;\r\n      } else {\r\n        this.status = 0;\r\n      }\r\n    }\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.resizeBoxSize();\r\n    });\r\n    this.resizeBoxSize();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.content-box {\r\n  padding-top: 32px;\r\n}\r\n.main-wrapper {\r\n  position: relative;\r\n  width: calc(100% - 433px);\r\n  height: 100%;\r\n  background: #fafafa;\r\n  padding: 0;\r\n  margin-left: 100%;\r\n  // margin-top: -28px;\r\n  // min-height: 100%;\r\n  margin-right: 20px;\r\n  border-radius: 16px 16px 0 0;\r\n  overflow: visible;\r\n  display: flex;\r\n  flex-direction: column;\r\n  .title-wrapper {\r\n    display: flex;\r\n    flex-direction: column;\r\n    padding: 13px 32px 0 32px;\r\n    height: 157px;\r\n    .text-wrapper{\r\n      height: calc(100% - 57px);\r\n      overflow-y: auto;\r\n    }\r\n    .status-wrapper {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 32px;\r\n      padding-bottom: 20px;\r\n      .status {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        color: #7E878C;\r\n        line-height: 28px;\r\n        text-align: left;\r\n        font-style: normal;\r\n      }\r\n      .fold {\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        width: 114px;\r\n        height: 27px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        color: #FFFFFF;\r\n        // line-height: 28px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        border-radius: 15px;\r\n        border: 1px solid #64AFD5;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n    &.foldaimation {\r\n      height: 157px;\r\n      -webkit-animation: foldaimationAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: foldaimationAni 0.5s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n    @-webkit-keyframes foldaimationAni {\r\n      0% {\r\n        height: 260px;\r\n      }\r\n      100% {\r\n        height: 157px;\r\n      }\r\n    }\r\n    @keyframes foldaimationAni {\r\n      0% {\r\n        height: 260px;\r\n      }\r\n      100% {\r\n        height: 157px;\r\n      }\r\n    }\r\n    &.foldaimation1 {\r\n      // min-height: 260px;\r\n      -webkit-animation: foldaimation1Ani 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: foldaimation1Ani 0.5s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n    @-webkit-keyframes foldaimation1Ani {\r\n      0% {\r\n        height: 157px;\r\n      }\r\n      100% {\r\n        height: 260px;\r\n      }\r\n    }\r\n    @keyframes foldaimation1Ani {\r\n      0% {\r\n        height: 157px;\r\n      }\r\n      100% {\r\n        height: 260px;\r\n      }\r\n    }\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #292929;\r\n      line-height: 28px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      padding-bottom: 10px;\r\n    }\r\n    .prewrap-content {\r\n      white-space: normal;\r\n      &.title-official {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: bold;\r\n      }\r\n    }\r\n    .smallquestion {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #292929;\r\n      line-height: 21px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      white-space: pre-wrap;\r\n      word-wrap: break-word;\r\n      word-break: break-all;\r\n      padding-left: 15px;\r\n      padding-bottom: 20px;\r\n      position: relative;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 0px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: #7e878c;\r\n      }\r\n    }\r\n    .smallquestion.settled {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 0px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: #000;\r\n      }\r\n    }\r\n  }\r\n  .questions-wrapper {\r\n    // &::after{\r\n    //   content: '';\r\n    //   width: 100%;\r\n    //   height: 200px;\r\n    //   position: absolute;\r\n    //   left: 0;\r\n    //   bottom: -180px;\r\n    //   background: #fafafa;\r\n    // }\r\n    position: relative;\r\n    width: 100%;\r\n    min-height: calc(100vh - 250px);\r\n    height: 100%;\r\n    background: #fafafa;\r\n    box-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.1);\r\n    border-radius: 16px 16px 0px 0px;\r\n    flex: 1;\r\n  }\r\n}\r\n.small-questions {\r\n  flex: 1;\r\n  display: flex;\r\n  flex-direction: column;\r\n  padding-left: 9px;\r\n}\r\n\r\n.swiper {\r\n  width: 100%;\r\n  height: 100%;\r\n  position: relative;\r\n  overflow-y: auto;\r\n  .swiper-pagination2 {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n  .operates {\r\n    position: absolute;\r\n    top: 27px;\r\n    right: 27px;\r\n    z-index: 101;\r\n    img {\r\n      width: 10px;\r\n      height: 10px;\r\n    }\r\n    .sort-btn {\r\n      width: 90px;\r\n      height: 27px;\r\n      border-radius: 13px;\r\n      border: 1px solid #64AFD5;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      color: #64AFD5;\r\n      cursor: pointer;\r\n      img  {\r\n        margin-right: 7px;\r\n      }\r\n    }\r\n    .sorting {\r\n      display: flex;\r\n      .sort-btn1 {\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        color: #64AFD5;\r\n        line-height: 28px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        opacity: 0.5;\r\n        img {\r\n          margin-right: 5px;\r\n        }\r\n      }\r\n      .btn {\r\n        margin-left: 7px;\r\n        width: 68px;\r\n        height: 27px;\r\n        border-radius: 13px;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 500;\r\n        font-size: 12px;\r\n        line-height: 28px;\r\n        text-align: center;\r\n        font-style: normal;\r\n        cursor: pointer;\r\n      }\r\n      .finish {\r\n        background: #64AFD5;\r\n        border: 1px solid #64AFD5;\r\n        color: #fff;\r\n      }\r\n      .cancel {\r\n        background: transparent;\r\n        border: 1px solid #64AFD5;\r\n        color: #64AFD5;\r\n      }\r\n    }\r\n  }\r\n  .sort-container {\r\n    width: 100%;\r\n    min-height: 100%;\r\n    display: flex;\r\n    padding-top: 78px;\r\n    padding-left: 20px;\r\n    flex-wrap: wrap;\r\n    align-content: flex-start;\r\n    position: relative;\r\n    background-color: #fff;\r\n    border-radius: 16px 16px 0px 0px;\r\n    z-index: 100;\r\n    .sort-item {\r\n      width: 118px;\r\n      height: 118px;\r\n      border-radius: 8px;\r\n      cursor: pointer;\r\n      // margin-left: 20px;\r\n      // margin-top: 19px;\r\n      position: absolute;\r\n      user-select: none;\r\n      &.border-undone {\r\n        border: 1px solid #D4D9DB;\r\n        border-radius: 8px;\r\n      }\r\n      &.border-done {\r\n        border: 1px solid #64AFD5;\r\n        border-radius: 8x;\r\n      }\r\n      .top {\r\n        padding: 4px 8px 12px 8px;\r\n        height: 118px;\r\n        background: #eaedef;\r\n        border-radius: 8px;\r\n        // border-top-left-radius: 8px;\r\n        // border-top-right-radius: 8px;\r\n        .title {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 500;\r\n          font-size: 10px;\r\n          color: #64AFD5;\r\n          line-height: 28px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          position: relative;\r\n          padding-left: 6px;\r\n        }\r\n        .title0 {\r\n          color: @thinking;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 14px;\r\n            left: 0;\r\n            width: 2px;\r\n            height: 2px;\r\n            border-radius: 50%;\r\n            background: @thinking;\r\n          }\r\n        }\r\n        .title1 {\r\n          color: #fff;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 12px;\r\n            left: 0;\r\n            width: 2px;\r\n            height: 2px;\r\n            border-radius: 50%;\r\n            background: #fff;\r\n          }\r\n        }\r\n        .content {\r\n          // height: 110px;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: bold;\r\n          font-size: 9px;\r\n          color: #292929;\r\n          line-height: 12px;\r\n          text-align: justify;\r\n          font-style: normal;\r\n          overflow-y: auto;\r\n          .course_solve_content {\r\n            -webkit-line-clamp: 6;\r\n            word-break: break-all;\r\n            white-space: pre-wrap;\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            font-weight: bold;\r\n            font-size: 9px;\r\n            color: #292929;\r\n            line-height: 12px;\r\n            text-align: justify;\r\n            font-style: normal;\r\n            padding-top: 5px;\r\n          }\r\n          .course_solve_content1 {\r\n            font-weight: 500;\r\n          }\r\n          .course_solve_content_custom {\r\n            font-family: SourceHanSansCN;\r\n            font-weight: 500;\r\n          }\r\n        }\r\n        .content0 {\r\n          color: #000;\r\n        }\r\n        .content1 {\r\n          color: #fff;\r\n        }\r\n      }\r\n      .top1 {\r\n        background: #84C4E5;\r\n      }\r\n      .bottom {\r\n        position: relative;\r\n        background: #fff;\r\n        border-bottom-left-radius: 8px;\r\n        border-bottom-right-radius: 8px;\r\n        .bottom_layer {\r\n          position: absolute;\r\n          width: 100%;\r\n          height: 100%;\r\n          background: transparent;\r\n          background-position: top left;\r\n          background-size: cover;\r\n          background-repeat: no-repeat;\r\n          border-bottom-left-radius: 8px;\r\n          border-bottom-right-radius: 8px;\r\n          z-index: 99;\r\n        }\r\n        .done {\r\n          color: @thinking;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          line-height: 28px;\r\n        }\r\n        .notdone {\r\n          color: #000;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          line-height: 28px;\r\n        }\r\n        .row {\r\n          display: flex;\r\n          justify-content: space-between;\r\n          align-items: center;\r\n          position: relative;\r\n          padding: 5px 13px 5px 13px;\r\n\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 500;\r\n          font-size: 10px;\r\n          color: #64AFD5;\r\n          line-height: 28px;\r\n          text-align: left;\r\n          font-style: normal;\r\n          span {\r\n            display: inline-block;\r\n            height: 20px;\r\n            line-height: 20px;\r\n          }\r\n          img {\r\n            width: 13px;\r\n            height: 13px;\r\n          }\r\n          &:first-of-type {\r\n            border-bottom: 1px solid #f3f3f4;\r\n            span {\r\n              &::before {\r\n                content: \"\";\r\n                display: block;\r\n                position: absolute;\r\n                top: 14px;\r\n                left: 9px;\r\n                width: 2px;\r\n                height: 2px;\r\n                border-radius: 50%;\r\n                background: @thinking;\r\n              }\r\n            }\r\n          }\r\n          &:last-of-type {\r\n            span {\r\n              &::before {\r\n                content: \"\";\r\n                display: block;\r\n                position: absolute;\r\n                top: 14px;\r\n                left: 9px;\r\n                width: 2px;\r\n                height: 2px;\r\n                border-radius: 50%;\r\n                background: @thinking;\r\n              }\r\n            }\r\n          }\r\n          &.border-undone {\r\n            &:first-of-type {\r\n              border-bottom: 1px solid rgba(212, 217, 219, 0.3);\r\n            }\r\n          }\r\n          &.border-done {\r\n            &:first-of-type {\r\n              border-bottom: 1px solid rgba(100, 175, 213, 0.3);\r\n            }\r\n          }\r\n        }\r\n        .undone {\r\n          .row {\r\n            span {\r\n              color: #7E878C;\r\n            }\r\n          }\r\n\r\n        }\r\n      }\r\n      .bottom_add {\r\n        .row {\r\n          color: #d4d9db;\r\n          &:first-of-type {\r\n            border-bottom: 1px solid #f3f3f4;\r\n            span {\r\n              &::before {\r\n                content: \"\";\r\n                display: block;\r\n                position: absolute;\r\n                top: 18px;\r\n                left: 13px;\r\n                width: 3px;\r\n                height: 3px;\r\n                border-radius: 50%;\r\n                background: #d4d9db;\r\n              }\r\n            }\r\n          }\r\n          &:last-of-type {\r\n            span {\r\n              &::before {\r\n                content: \"\";\r\n                display: block;\r\n                position: absolute;\r\n                top: 18px;\r\n                left: 13px;\r\n                width: 3px;\r\n                height: 3px;\r\n                border-radius: 50%;\r\n                background: #d4d9db;\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n/deep/ .swiper-container {\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n/deep/ .swiper-wrapper {\r\n  // align-items: center;\r\n  height: 80%;\r\n}\r\n/deep/ .swiper-pagination2 {\r\n  // align-items: center;\r\n  margin: 30px 0;\r\n}\r\n/deep/ .swiper-pagination-fraction,\r\n.swiper-pagination-custom,\r\n.swiper-container-horizontal > .swiper-pagination-bullets {\r\n  bottom: 10%;\r\n  position: relative;\r\n  z-index: 999;\r\n}\r\n/deep/ .swiper-slide {\r\n  width: 175px;\r\n  height: 279px;\r\n  margin-left: 10px;\r\n  margin-top: 84px;\r\n  background-size: cover;\r\n  background-position: center center;\r\n  background-repeat: no-repeat;\r\n\r\n  /* Center slide text vertically */\r\n  display: -webkit-box;\r\n  display: -ms-flexbox;\r\n  display: -webkit-flex;\r\n  display: flex;\r\n  -webkit-box-pack: center;\r\n  -ms-flex-pack: center;\r\n  -webkit-justify-content: center;\r\n  justify-content: center;\r\n  -webkit-box-align: center;\r\n  -ms-flex-align: center;\r\n  -webkit-align-items: center;\r\n  align-items: center;\r\n  &:hover {\r\n    transform: scale(1.1, 1.1);\r\n  }\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  background-color: @thinking;\r\n}\r\n.subquestion-wrapper {\r\n  width: 160px;\r\n  height: 246px;\r\n  cursor: pointer;\r\n  &.border-undone {\r\n    border: 1px solid #D4D9DB;\r\n    border-radius: 16px;\r\n  }\r\n  &.border-done {\r\n    border: 1px solid #64AFD5;\r\n    border-radius: 16px;\r\n  }\r\n  .top {\r\n    padding: 4px 11px 12px 11px;\r\n    width: 100%;\r\n    height: 160px;\r\n    background: #eaedef;\r\n    border-top-left-radius: 16px;\r\n    border-top-right-radius: 16px;\r\n    .title {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #64afd5;\r\n      line-height: 28px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      position: relative;\r\n      padding-left: 12px;\r\n    }\r\n    .title0 {\r\n      color: @thinking;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 14px;\r\n        left: 0;\r\n        width: 3px;\r\n        height: 3px;\r\n        border-radius: 50%;\r\n        background: @thinking;\r\n      }\r\n    }\r\n    .title1 {\r\n      color: #fff;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 12px;\r\n        left: 0;\r\n        width: 3px;\r\n        height: 3px;\r\n        border-radius: 50%;\r\n        background: #fff;\r\n      }\r\n    }\r\n    .title_add {\r\n      color: #292929;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 12px;\r\n        left: 0;\r\n        width: 3px;\r\n        height: 3px;\r\n        border-radius: 50%;\r\n        background: @thinking;\r\n      }\r\n    }\r\n    .content {\r\n      // height: 110px;\r\n      font-size: 14px;\r\n      color: #ffffff;\r\n      line-height: 19px;\r\n      text-align: justify;\r\n      font-style: normal;\r\n      overflow-y: auto;\r\n      // padding: 0 10px;\r\n      // margin-top: 8px;\r\n      .course_solve_content {\r\n        -webkit-line-clamp: 6;\r\n        word-break: break-all;\r\n        white-space: pre-wrap;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: bold;\r\n        font-size: 13px;\r\n        color: #292929;\r\n        line-height: 19px;\r\n        text-align: left;\r\n        font-style: normal;\r\n        padding-top: 5px;\r\n      }\r\n      .course_solve_content1 {\r\n        font-weight: 500;\r\n      }\r\n      .course_solve_content_custom {\r\n        font-family: SourceHanSansCN;\r\n        font-weight: 500;\r\n      }\r\n    }\r\n    .content0 {\r\n      color: #000;\r\n    }\r\n    .content1 {\r\n      color: #fff;\r\n    }\r\n    .content_add {\r\n      width: 100%;\r\n      // height: 100px;\r\n      display: flex;\r\n      align-items: center;\r\n      flex-direction: column;\r\n      padding-top: 31px;\r\n      i {\r\n        color: #64afd5;\r\n        font-size: 24px;\r\n      }\r\n    }\r\n    .add_label {\r\n      // height: 14px;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 24px;\r\n      padding-top: 19px;\r\n    }\r\n  }\r\n  .top1 {\r\n    background: #84C4E5;\r\n  }\r\n  .bottom {\r\n    position: relative;\r\n    background: #fff;\r\n    border-bottom-left-radius: 16px;\r\n    border-bottom-right-radius: 16px;\r\n    .bottom_layer {\r\n      position: absolute;\r\n      width: 100%;\r\n      height: 100%;\r\n      background: transparent;\r\n      background-position: top left;\r\n      background-size: cover;\r\n      background-repeat: no-repeat;\r\n      border-bottom-left-radius: 16px;\r\n      border-bottom-right-radius: 16px;\r\n      z-index: 99;\r\n    }\r\n    .done {\r\n      color: @thinking;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      line-height: 28px;\r\n    }\r\n    .notdone {\r\n      color: #000;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      line-height: 28px;\r\n    }\r\n    .row {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      position: relative;\r\n      padding: 5px 16px 5px 20px;\r\n\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 12px;\r\n      color: #64AFD5;\r\n      line-height: 28px;\r\n      text-align: left;\r\n      font-style: normal;\r\n      span {\r\n        display: inline-block;\r\n        height: 31px;\r\n      }\r\n      img {\r\n        width: 18px;\r\n        height: 18px;\r\n      }\r\n      &:first-of-type {\r\n        border-bottom: 1px solid #f3f3f4;\r\n        span {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 18px;\r\n            left: 13px;\r\n            width: 3px;\r\n            height: 3px;\r\n            border-radius: 50%;\r\n            background: @thinking;\r\n          }\r\n        }\r\n      }\r\n      &:last-of-type {\r\n        span {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 18px;\r\n            left: 13px;\r\n            width: 3px;\r\n            height: 3px;\r\n            border-radius: 50%;\r\n            background: @thinking;\r\n          }\r\n        }\r\n      }\r\n      &.border-undone {\r\n        &:first-of-type {\r\n          border-bottom: 1px solid rgba(212, 217, 219, 0.3);\r\n        }\r\n      }\r\n      &.border-done {\r\n        &:first-of-type {\r\n          border-bottom: 1px solid rgba(100, 175, 213, 0.3);\r\n        }\r\n      }\r\n    }\r\n    .undone {\r\n      .row {\r\n        span {\r\n          color: #7E878C;\r\n        }\r\n      }\r\n\r\n    }\r\n  }\r\n  .bottom_add {\r\n    .row {\r\n      color: #d4d9db;\r\n      &:first-of-type {\r\n        border-bottom: 1px solid #f3f3f4;\r\n        span {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 18px;\r\n            left: 13px;\r\n            width: 3px;\r\n            height: 3px;\r\n            border-radius: 50%;\r\n            background: #d4d9db;\r\n          }\r\n        }\r\n      }\r\n      &:last-of-type {\r\n        span {\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 18px;\r\n            left: 13px;\r\n            width: 3px;\r\n            height: 3px;\r\n            border-radius: 50%;\r\n            background: #d4d9db;\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n// .placeholderLine {\r\n//   position: absolute;\r\n//   height: 150px; /* 竖线高度 */\r\n//   width: 10px; /* 需要足够宽度容纳圆点 */\r\n//   margin: 0 auto;\r\n//   background:\r\n//     /* 顶部圆点 */\r\n//     radial-gradient(circle at center top, #64AFD5 2px, transparent 4px),\r\n//     /* 底部圆点 */\r\n//     radial-gradient(circle at center bottom, #64AFD5 2px, transparent 4px),\r\n//     /* 中间竖线 */\r\n//     linear-gradient(to bottom, #333 2px, #64AFD5 2px) center/2px 100%;\r\n//   background-repeat: no-repeat;\r\n// }\r\n.placeholderLine {\r\n  position: absolute;\r\n  height: 100px; /* 竖线高度 */\r\n  width: 0;\r\n  border-left: 2px solid #64AFD5; /* 竖线样式 */\r\n  margin: 0 auto; /* 水平居中 */\r\n  display: none;\r\n}\r\n\r\n.placeholderLine::before,\r\n.placeholderLine::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  left: 50%;\r\n  width: 7px; /* 圆点直径 */\r\n  height: 7px;\r\n  background: #64AFD5;\r\n  border-radius: 50%;\r\n  transform: translateX(-50%); /* 水平居中 */\r\n}\r\n\r\n.placeholderLine::before {\r\n  top: 0;\r\n  left: -1px;\r\n  transform: translate(-50%, -50%); /* 调整顶部圆点位置 */\r\n}\r\n\r\n.placeholderLine::after {\r\n  bottom: 0;\r\n  left: -1px;\r\n  transform: translate(-50%, 50%); /* 调整底部圆点位置 */\r\n}\r\n/* 拖拽样式 */\r\n// .dragging {\r\n//   transform: scale(0.8) !important;\r\n//   opacity: 1;\r\n//   // box-shadow: 0 25px 50px rgba(0,0,0,0.4);\r\n//   z-index: 1000;\r\n//   cursor: grabbing;\r\n//   transition: transform 0.2s ease;\r\n// }\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MoralQuestionsMain.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-wrapper\",style:({ background: _vm.status === 1 ? '#84C4E5' : '' })},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 1),expression:\"questionListGuideMode === 1\"}],staticClass:\"title-wrapper\",class:_vm.isFold && !_vm.isChangeMoral\n        ? 'foldaimation'\n        : !_vm.isFold && !_vm.isChangeMoral\n        ? 'foldaimation1'\n        : ''},[_c('div',{staticClass:\"status-wrapper\",on:{\"click\":_vm.showDetail}},[_c('span',{staticClass:\"status\",style:({ color: _vm.status === 1 ? '#fff' : '#7E878C' })},[_vm._v(_vm._s(_vm.status === 1 ? \"已解决\" : \"待解决\"))]),_vm._v(\" \"),(_vm.isFold)?_c('span',{staticClass:\"fold\",style:({ color: _vm.status === 1 ? '#fff' : '#64afd5', borderColor: _vm.status === 1 ? '#fff' : '#64afd5' })},[_vm._v(\"推荐问题详情\")]):_c('span',{staticClass:\"fold\",style:({ color: _vm.status === 1 ? '#fff' : '#64afd5', borderColor: _vm.status === 1 ? '#fff' : '#64afd5' })},[_vm._v(\"收起\")])]),_vm._v(\" \"),_c('div',{staticClass:\"text-wrapper\"},[_c('div',{ref:\"titleRef\",staticClass:\"title\"},[_c('span',{staticClass:\"prewrap-content\",class:[_vm.moralComprehend.course_question_isuseradd != 1 ? 'title-official' : '']},[_vm._v(_vm._s(_vm.moralComprehend.index)+\". \"+_vm._s(_vm.moralComprehend.course_question_title))])]),_vm._v(\" \"),(!_vm.isFold)?_c('div',{staticClass:\"small-questions\"},_vm._l((_vm.moralComprehend.course_question_small),function(item,index){return _c('span',{key:'smallquestion' + index,staticClass:\"smallquestion prewrap-content\",class:_vm.status === 1 ? 'settled' : ''},[_vm._v(_vm._s(item.course_question_small_title))])}),0):_vm._e()])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 0),expression:\"questionListGuideMode === 0\"}],staticClass:\"title-wrapper\",style:({\n      background: '#84c4e5',\n      borderTopLeftRadius: '0.14814815rem',\n      borderTopRightRadius: '0.14814815rem'\n    }),attrs:{\"id\":\"question_step1\"}},[_c('div',{staticClass:\"status-wrapper\",on:{\"click\":_vm.showDetail}},[_c('span',{staticClass:\"status\",style:({ color: 'rgba(255,255,255,0.8)' })},[_vm._v(\"已解决\")]),_vm._v(\" \"),_c('span',{staticClass:\"fold\",style:({ color: 'rgba(255,255,255,0.8)' })},[_vm._v(\"推荐问题详情\")])]),_vm._v(\" \"),_c('div',{ref:\"titleRef\",staticClass:\"title\",style:({ color: '#292929' })},[_c('span',{staticClass:\"prewrap-content\"},[_vm._v(\"3.什么是幸福？我们怎样才能得到幸福？\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"questions-wrapper\",attrs:{\"id\":\"cardBoxMoralQuestions\"}},[_c('div',{staticClass:\"swiper\",attrs:{\"id\":\"moralQuestionMainSwiper\"}},[(_vm.showSort)?_c('div',{staticClass:\"operates\"},[(!_vm.isSorting)?_c('div',{staticClass:\"sort-btn\",on:{\"click\":_vm.startSort}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/question-sort.svg\")}}),_vm._v(\"调整顺序\")]):_c('div',{staticClass:\"sorting\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"btn finish\",on:{\"click\":_vm.finish}},[_vm._v(\"完成\")]),_vm._v(\" \"),_c('div',{staticClass:\"btn cancel\",on:{\"click\":_vm.cancel}},[_vm._v(\"取消\")])])]):_vm._e(),_vm._v(\" \"),_c('swiper',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 1 && !_vm.isSorting),expression:\"questionListGuideMode === 1 && !isSorting\"}],ref:\"mySwiperMain\",attrs:{\"options\":_vm.swiperOptions,\"id\":\"mySwiper3\"}},[_vm._l((_vm.slides),function(item,index){return _c('swiper-slide',{key:'slides' + index,staticClass:\"swiper-slide\"},[(!item.isAdd)?_c('div',{staticClass:\"subquestion-wrapper\",class:[\n              item.course_solve_isuseradd != 1 ? item.status == 0 ? 'border-undone' : 'border-done' : ''\n            ]},[_c('div',{staticClass:\"top\",class:item.status ? 'top1' : ''},[_c('p',{staticClass:\"title\",class:item.status ? 'title1' : 'title0'},[_vm._v(\"\\n                \"+_vm._s(item.course_solve_type == 1\n                    ? \"道理上的理解\"\n                    : item.course_solve_type == 2\n                    ? \"事实上的理解\"\n                    : \"摆脱错误观念\")+\"\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:item.status ? 'content1' : 'content0'},[_c('span',{staticClass:\"ellipsis-content course_solve_content\",class:item.course_solve_isuseradd == 1 ? 'course_solve_content_custom' : ''},[_vm._v(_vm._s(item.course_solve_content)+\"\\n                \")])])]),_vm._v(\" \"),_c('div',{staticClass:\"bottom\"},[_c('div',{staticClass:\"done\",class:[item.status == 0 ? 'undone' : '']},[_c('div',{staticClass:\"row\",class:[item.course_solve_isuseradd != 1 ? item.status == 0 ? 'border-undone' : 'border-done' : '']},[_c('span',[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),(\n                      item.shishiFinish\n                    )?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_finish.svg\")}}):_c('img',{staticClass:\"add\",attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('span',[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),(\n                      item.cuowuFinish\n                    )?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_finish.svg\")}}):_c('img',{staticClass:\"add\",attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}})])])])]):_vm._e(),_vm._v(\" \"),(item.isAdd && _vm.courseIsuseradd != 3)?_c('div',{staticClass:\"subquestion-wrapper\"},[_c('div',{staticClass:\"top\",class:item.status ? 'top1' : ''},[_c('p',{staticClass:\"title title_add\"},[_vm._v(\"道理上的理解\")]),_vm._v(\" \"),_c('div',{staticClass:\"content content_add\",class:item.status ? 'content1' : 'content0'},[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\" \"),_c('span',{staticClass:\"add_label\"},[_vm._v(\"添加道理上的理解\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"bottom bottom_add\"},[_c('div',{staticClass:\"bottom_layer\"}),_vm._v(\" \"),(item.status)?_c('div',{staticClass:\"done\"},[_c('div',{staticClass:\"row\"},[_c('span',[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/think_finish.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('span',[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/think_finish.svg\")}})])]):_c('div',{staticClass:\"notdone\"},[_c('div',{staticClass:\"row\"},[_c('span',[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('span',[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}})])])])]):_vm._e()])}),_vm._v(\" \"),(!(_vm.courseIsuseradd == 3 && _vm.slides.length == 0))?_c('div',{staticClass:\"swiper-pagination2\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"}):_vm._e()],2),_vm._v(\" \"),(!_vm.isMobile)?_c('transition-group',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 1 && _vm.isSorting),expression:\"questionListGuideMode === 1 && isSorting\"}],staticClass:\"container sort-container\",attrs:{\"tag\":\"div\",\"id\":\"sortContainer\"}},[_c('div',{key:'placeholderLine',staticClass:\"placeholderLine\",attrs:{\"id\":\"placeholderLine\"}}),_vm._v(\" \"),_vm._l((_vm.originSortSlides),function(item,index){return _c('div',{key:'slides' + index,staticClass:\"sort-item\",attrs:{\"id\":item.course_solve_id,\"draggable\":true},on:{\"dragstart\":function($event){$event.stopPropagation();return _vm.handleDragStart($event, item, index)},\"dragover\":function($event){$event.stopPropagation();return _vm.handleDragOver($event, item)},\"dragenter\":function($event){$event.stopPropagation();return _vm.handleDragEnter($event, item)},\"dragend\":function($event){$event.stopPropagation();return _vm.handleDragEnd($event, item)}}},[_c('div',{staticClass:\"top\",class:item.status ? 'top1' : ''},[_c('p',{staticClass:\"title\",class:item.status ? 'title1' : 'title0'},[_vm._v(\"\\n              \"+_vm._s(item.course_solve_type == 1\n                  ? \"道理上的理解\"\n                  : item.course_solve_type == 2\n                  ? \"事实上的理解\"\n                  : \"摆脱错误观念\")+\"\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:item.status ? 'content1' : 'content0'},[_c('span',{staticClass:\"ellipsis-content course_solve_content\",class:item.course_solve_isuseradd == 1 ? 'course_solve_content_custom' : ''},[_vm._v(_vm._s(item.course_solve_content))])])])])})],2):_c('transition-group',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 1 && _vm.isSorting),expression:\"questionListGuideMode === 1 && isSorting\"}],staticClass:\"container sort-container\",attrs:{\"tag\":\"div\",\"id\":\"sortContainer\"}},[_c('div',{key:'placeholderLine',staticClass:\"placeholderLine\",attrs:{\"id\":\"placeholderLine\"}}),_vm._v(\" \"),_vm._l((_vm.originSortSlides),function(item,index){return _c('div',{key:'slides' + index,staticClass:\"sort-item\",attrs:{\"id\":item.course_solve_id,\"draggable\":false},on:{\"touchstart\":function($event){return _vm.handleTouchStart($event, item, index)},\"touchmove\":function($event){return _vm.handleTouchMove($event, item, index)},\"touchend\":function($event){return _vm.handleTouchend($event, item)},\"mousedown\":_vm.handleMouseStart,\"mouseup\":function($event){return _vm.handleMouseEnd($event, item)}}},[_c('div',{staticClass:\"top\",class:item.status ? 'top1' : ''},[_c('p',{staticClass:\"title\",class:item.status ? 'title1' : 'title0'},[_vm._v(\"\\n              \"+_vm._s(item.course_solve_type == 1\n                  ? \"道理上的理解\"\n                  : item.course_solve_type == 2\n                  ? \"事实上的理解\"\n                  : \"摆脱错误观念\")+\"\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:item.status ? 'content1' : 'content0'},[_c('span',{staticClass:\"ellipsis-content course_solve_content\",class:item.course_solve_isuseradd == 1 ? 'course_solve_content_custom' : ''},[_vm._v(_vm._s(item.course_solve_content))])])])])})],2),_vm._v(\" \"),_c('swiper',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 0),expression:\"questionListGuideMode === 0\"}],ref:\"guide_mySwiperMain\",attrs:{\"options\":_vm.guide_swiperOptions,\"id\":\"guide_mySwiper3\"}},[_vm._l((_vm.guideSlides),function(item,index){return _c('swiper-slide',{key:'slides' + index,staticClass:\"swiper-slide\"},[_c('div',{staticClass:\"subquestion-wrapper\",attrs:{\"id\":'question_step2_' + index}},[_c('div',{staticClass:\"top\",class:item.status ? 'top1' : ''},[_c('p',{staticClass:\"title\",class:item.status ? 'title1' : 'title0'},[_vm._v(\"\\n                道理上的理解\\n              \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\",class:item.status ? 'content1' : 'content0'},[_c('span',{staticClass:\"ellipsis-content course_solve_content course_solve_content1\",domProps:{\"innerHTML\":_vm._s(item.course_solve_content)}})])]),_vm._v(\" \"),_c('div',{staticClass:\"bottom\"},[_c('div',{staticClass:\"done\"},[_c('div',{staticClass:\"row\"},[_c('span',[_vm._v(\"事实上的理解\")]),_vm._v(\" \"),(\n                      item.shishiFinish\n                    )?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_finish.svg\")}}):_c('img',{staticClass:\"add\",attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}})]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('span',[_vm._v(\"摆脱错误观念\")]),_vm._v(\" \"),(\n                      item.cuowuFinish\n                    )?_c('img',{attrs:{\"src\":require(\"@/assets/img/think_finish.svg\")}}):_c('img',{staticClass:\"add\",attrs:{\"src\":require(\"@/assets/img/think_unfinish.svg\")}})])])])])])}),_vm._v(\" \"),_c('div',{staticClass:\"swiper-pagination2\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2)],1),_vm._v(\" \"),(_vm.dialogVisible)?_c('ProblemSolvingDialog',{attrs:{\"dialogVisible\":_vm.dialogVisible,\"isFold\":_vm.isFold},on:{\"addUserQuestionSolveSuc\":_vm.addUserQuestionSolve,\"handleClose\":_vm.handleClose}}):_vm._e()],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sort-btn1\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/question-sort.svg\")}}),_vm._v(\"调整顺序\")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-15b69e41\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MoralQuestionsMain.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-15b69e41\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MoralQuestionsMain.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralQuestionsMain.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralQuestionsMain.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-15b69e41\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MoralQuestionsMain.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-15b69e41\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MoralQuestionsMain.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div style=\"height: 100%\"\r\n    :class=\"[\r\n    fullscreen && !isToQuestionDetail? 'big-view-box bg-white' : '',\r\n    fullscreen && isToQuestionDetail? 'big-view bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni\r\n      ? !isToQuestionDetail\r\n        ? 'outof-big-view-box'\r\n        : 'outof-big-view'\r\n      : ''\r\n  ]\">\r\n    <div class=\"box\"\r\n      :class=\"fullscreen ? (!isToQuestionDetail ? 'fullBox' : 'full') : ''\"\r\n      :style=\"{\r\n        position: 'relative',\r\n        backgroundColor: titleBg\r\n      }\">\r\n      <div class=\"box-content-name name\"\r\n        :class=\"[\r\n          !fullscreen && isNeedOutFullscreenAni\r\n            ? isToQuestionDetail\r\n              ? 'outof-big-view-name-ani'\r\n              : 'outof-box-content-name'\r\n            : ''\r\n        ]\">\r\n        <span v-if=\"!fullscreen\">{{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}</span>\r\n        <span v-else @click=\"back\" class=\"cursor-pointer\">{{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}</span>\r\n        <span v-if=\"courseBase && courseBase.course_isuseradd == 2 && !isToQuestionDetail && questionListHistoryLen\" class=\"question-history-text\" @click=\"toHistory\">历史版本（只读）<img src=\"@/assets/img/question_history_arrow.svg\" /></span>\r\n      </div>\r\n\r\n      <div class=\"content-box\" id=\"questionListBox\">\r\n        <img v-if=\"!fullscreen\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          ref=\"fullscreen\"\r\n          :class=\"fullscreen ? 'fullscreenExit' : ''\"\r\n          src=\"@/assets/img/fullscreen.svg\"\r\n          @click=\"toggle('QuestionList')\" />\r\n        <img v-else\r\n          class=\"fullscreen fullscreenHover\"\r\n          ref=\"fullscreen\"\r\n          src=\"@/assets/img/exit_fullscreen_thinking_w.svg\"\r\n          @click=\"toggle('QuestionList')\" />\r\n        <swiper v-show=\"questionListGuideMode === 1\"\r\n          ref=\"questionListSwiper\"\r\n          id=\"questionListSwiper\"\r\n          :key=\"swiperKey\"\r\n          :options=\"swiperOption\"\r\n          class=\"show-swiper\">\r\n          <template v-if=\"questionList && questionList.length\">\r\n            <template>\r\n              <swiper-slide :key=\"index\"\r\n                class=\"swiper-slide-sub\"\r\n                v-for=\"(item, index) in slides\">\r\n                <el-card class=\"box-card\"\r\n                  :class=\"item.status ? 'box-card1' : ''\">\r\n                  <div @mouseover=\"mouseoverArrow(index, item)\"\r\n                    @mouseleave=\"mouseleaveArrow(index, item)\">\r\n                    <div class=\"header\">\r\n                      <span class=\"num\"\r\n                        :class=\"item.status ? 'num1' : 'num0'\">{{ index + 1 + \".\" }}\r\n                      </span>\r\n                      <span class=\"status\"\r\n                        :class=\"item.status ? 'status1' : 'status0'\">{{ item.status ? \"已解决\" : \"待解决\" }}</span>\r\n                    </div>\r\n                    <div class=\"text item\"\r\n                      :class=\"item.status ? 'text1' : 'text0'\">\r\n                      <span class=\"text-content prewrap-content\" :class=\"[item.course_question_isuseradd != 1 ? 'text-content-official' : '']\">{{ item.course_question_title }}\r\n                      </span>\r\n                      <img v-if=\"item.status && !item.isHover\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'questionDoneArrow' + index\"\r\n                        src=\"@/assets/img/quesion_done.svg\" />\r\n                      <img v-if=\"item.status && item.isHover\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'questionDoneArrowHover' + index\"\r\n                        src=\"@/assets/img/think_arrow_finish.svg\" />\r\n                      <img v-if=\"!item.status\"\r\n                        class=\"think-arrow\"\r\n                        :ref=\"'thinkArrow' + index\"\r\n                        src=\"@/assets/img/think_arrow1.svg\" />\r\n                    </div>\r\n                  </div>\r\n                </el-card>\r\n              </swiper-slide>\r\n            </template>\r\n          </template>\r\n          <template v-else>\r\n            <template>\r\n              <swiper-slide class=\"swiper-slide-sub\"\r\n                :key=\"index\"\r\n                v-for=\"(item, index) in slides\">\r\n                <el-card class=\"box-card tip-wrapper none-card\">\r\n                  <p class=\"tip\">请到<span>问题意识</span>填写</p>\r\n                  <div class=\"dot\"></div>\r\n                  <p class=\"subtitle\">本课问题 —— 问题推荐</p>\r\n                </el-card>\r\n              </swiper-slide>\r\n            </template>\r\n          </template>\r\n          <div class=\"swiper-pagination\"\r\n            slot=\"pagination\"></div>\r\n        </swiper>\r\n\r\n        <swiper v-show=\"questionListGuideMode === 0\"\r\n          ref=\"guideQuestionListSwiper\"\r\n          id=\"guideQuestionListSwiper\"\r\n          :key=\"guideSwiperKey\"\r\n          :options=\"guideSwiperOption\"\r\n          class=\"show-swiper\">\r\n          <template>\r\n            <swiper-slide :key=\"index\"\r\n              class=\"swiper-slide-sub\"\r\n              v-for=\"(item, index) in guideSlides\">\r\n              <el-card :id=\"'question_1_step1_' + index\"\r\n                class=\"box-card\"\r\n                :class=\"item.status ? 'box-card1' : ''\">\r\n                <div @mouseover=\"mouseoverArrow(index, item)\"\r\n                  @mouseleave=\"mouseleaveArrow(index, item)\">\r\n                  <div class=\"header\">\r\n                    <span class=\"num\"\r\n                      :class=\"item.status ? 'num1' : 'num0'\">{{ index + 1 + \".\" }}\r\n                    </span>\r\n                    <span class=\"status\"\r\n                      :class=\"item.status ? 'status1' : 'status0'\">{{ item.status ? \"已解决\" : \"待解决\" }}</span>\r\n                  </div>\r\n                  <div class=\"text item\"\r\n                    :class=\"item.status ? 'text1' : 'text0'\">\r\n                    <span class=\"text-content1 prewrap-content\">{{ item.course_question_title }}</span>\r\n                    <img v-if=\"item.status && index != 2\"\r\n                      class=\"think-arrow\"\r\n                      src=\"@/assets/img/quesion_done.svg\" />\r\n                    <img v-if=\"!item.status\"\r\n                      class=\"think-arrow\"\r\n                      src=\"@/assets/img/think_arrow1.svg\" />\r\n                  </div>\r\n                </div>\r\n              </el-card>\r\n            </swiper-slide>\r\n          </template>\r\n          <div class=\"swiper-pagination\"\r\n            slot=\"pagination\"></div>\r\n        </swiper>\r\n\r\n        <MoralQuestionsMain :questionListGuideMode=\"questionListGuideMode\"\r\n          id=\"moralQuestionsMain\"\r\n          ref=\"moralQuestionsMain\"\r\n          v-if=\"isToQuestionDetail\" />\r\n        <div class=\"progress\"\r\n          id=\"progress\"\r\n          v-if=\"questionList && questionList.length\">\r\n          <div class=\"done\">已解决问题</div>\r\n          <ul>\r\n            <li v-for=\"(item, index) in slides.length\"\r\n              :key=\"index\"\r\n              :style=\"{\r\n                backgroundColor: index < solveIdsLen ? '#64AFD5' : '#EAEDEF'\r\n              }\"></li>\r\n          </ul>\r\n          <div class=\"num\">\r\n            <span>{{ solveIdsLen }}</span>\r\n            <span>/{{ slides.length }}</span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n</template>\r\n\r\n<script>\r\nimport \"swiper/dist/css/swiper.css\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nimport { getQuestionList, getQuestionHistory } from \"@/api/index\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport MoralQuestionsMain from \"./MoralQuestionsMain.vue\";\r\nimport { deepClone } from \"@/utils/util\";\r\nimport { question_guide, question_guide_1 } from \"@/utils/intro\";\r\n\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: { swiper, swiperSlide, MoralQuestionsMain },\r\n  data() {\r\n    return {\r\n      questionListGuideMode: 1,\r\n      fullscreen: false,\r\n      list: [1, 2, 3, 4, 5, 6],\r\n      swiperKey: Math.random().toString(36).substr(2) /*随机的key*/,\r\n      guideSwiperKey: Math.random().toString(36).substr(2) /*随机的key*/,\r\n      swiperOption: {\r\n        direction: \"vertical\",\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // 设置slider容器能够同时显示的slides数量，默认为1， 'auto'则自动根据slides的宽度来设定数量\r\n        slidesPerView: \"auto\",\r\n        /*\r\n         * 开启这个参数来计算每个slide的progress(进度、进程)\r\n         * 对于slide的progress属性，活动的那个为0，其他的依次减1\r\n         */\r\n        watchSlidesProgress: true,\r\n        // 默认active slide居左，设置为true后居中\r\n        centeredSlides: true,\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: false,\r\n        // height: 700,\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          init: () => {\r\n            const items = this.getSwiperSlides();\r\n            const activeIndex = this.$refs.questionListSwiper.swiper.activeIndex;\r\n            const len = items.length;\r\n            for (let i = 0; i < len; i++) {\r\n              const slide = items[i]; // 指定匹配元素集缩减值\r\n              if (i == this.activeIndex) {\r\n                slide.style.transform = `translateY(${0}) scale(${1.1})`;\r\n              } else if (i > activeIndex) {\r\n                const diff = i - activeIndex;\r\n                const translate = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n                slide.style.transform = `translateY(${translate})`;\r\n              } else {\r\n                const diff = activeIndex - i;\r\n                const translate = this.$px2rem(-diff * 0.2 * 242); // 166是swiper-slide的高度\r\n                slide.style.transform = `translateY(${translate})`;\r\n              }\r\n              slide.style.zIndex = len - i;\r\n            }\r\n          },\r\n          tap: (e) => {\r\n            // if (this.courseBase.is_open == 2) {\r\n            //   this.$notify.warning({\r\n            //     title: \"提示\",\r\n            //     message: \"课程暂未开放\",\r\n            //   });\r\n            //   return;\r\n            // }\r\n            let swiper = this.$refs.questionListSwiper.swiper;\r\n            const activeIndex =\r\n              this.$refs.questionListSwiper.swiper.clickedIndex;\r\n            if (this.questionList && this.questionList.length === 0) {\r\n              // 跳转到问题意识页\r\n            } else {\r\n              if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n                this.selectedData = this.slides[swiper.clickedIndex];\r\n                console.log(this.selectedData);\r\n\r\n                this.$store\r\n                  .dispatch(\"setMoralComprehend\", this.selectedData)\r\n                  .then(() => {\r\n                    if (!this.isToQuestionDetail) {\r\n                      // 问题解决-道德上的理解\r\n                      this.isToQuestionDetail = true;\r\n                      // EventBus.$emit(WHITE_THINK_MORAL_COMPREHEND);\r\n                      // this.$router.push({\r\n                      //   path: \"/white/MoralComprehend\"\r\n                      // });\r\n                      // 添加动效\r\n                      // 1. 全屏动效\r\n                      if (!this.fullscreen) {\r\n                        console.log(\"tap toggle\");\r\n                        this.toggle(\"QuestionList\");\r\n                      }\r\n\r\n                      // 2. 问题列表动效\r\n                      this.selectedData = this.slides[activeIndex];\r\n                      this.$router.push({\r\n                        path: \"/\",\r\n                        hash: \"#questionDetail\",\r\n                      });\r\n                      this.toFullscreenLeft(this.slides[activeIndex]);\r\n                    } else {\r\n                      const data = this.slides[this.activeIndex];\r\n                      const items = this.getSwiperSlides();\r\n                      this.selectedData = data;\r\n                      this.$refs.questionListSwiper.swiper.activeIndex =\r\n                        activeIndex;\r\n                      for (let i = 0; i < items.length; i++) {\r\n                        if (this.activeIndex === i) {\r\n                          this.backSlideTo(data, this.activeIndex, activeIndex);\r\n                        }\r\n                      }\r\n                      this.clickSlide(0.3, this.slides[activeIndex]);\r\n                    }\r\n                  });\r\n              }\r\n            }\r\n          },\r\n          slideChange: () => {\r\n            const activeIndex =\r\n              this.$refs.questionListSwiper.swiper.activeIndex;\r\n            console.log(activeIndex);\r\n            const items = this.getSwiperSlides();\r\n            const len = items.length;\r\n            if (!this.isToQuestionDetail) {\r\n              this.$set(this.slides[activeIndex], \"isHover\", 1);\r\n              for (let i = 0; i < len; i++) {\r\n                const slide = items[i]; // 指定匹配元素集缩减值\r\n                if (i == activeIndex) {\r\n                  slide.style.transform = `translateY(${0}) scale(${1.1})`;\r\n                } else if (i > activeIndex) {\r\n                  const diff = i - activeIndex;\r\n                  const translate = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n                  slide.style.transform = `translateY(${translate})`;\r\n                } else {\r\n                  const diff = activeIndex - i;\r\n                  const translate = this.$px2rem(diff * 0.05 * 242); // 166是swiper-slide的高度\r\n                  slide.style.transform = `translateY(${translate})`;\r\n                }\r\n                slide.style.transition = \"all 0.3s linear\";\r\n                slide.style.zIndex = len - i;\r\n              }\r\n            } else {\r\n              this.$refs.questionListSwiper.swiper.clickedIndex = activeIndex;\r\n              this.$set(this.slides[activeIndex], \"isHover\", 1);\r\n              this.selectedData = this.slides[activeIndex];\r\n              console.log(\"this.activeIndex:\", this.activeIndex, activeIndex);\r\n              this.$store\r\n                .dispatch(\"setMoralComprehend\", this.selectedData)\r\n                .then(() => {\r\n                  for (let i = 0; i < len; i++) {\r\n                    if (this.activeIndex === i) {\r\n                      this.backSlideTo(\r\n                        this.slides[this.activeIndex],\r\n                        this.activeIndex,\r\n                        activeIndex\r\n                      );\r\n                    }\r\n                  }\r\n                  this.clickSlide(0.3, this.slides[activeIndex]);\r\n                });\r\n            }\r\n          },\r\n        },\r\n      },\r\n      guideSwiperOption: {\r\n        direction: \"vertical\",\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        // 设置slider容器能够同时显示的slides数量，默认为1， 'auto'则自动根据slides的宽度来设定数量\r\n        slidesPerView: \"auto\",\r\n        /*\r\n         * 开启这个参数来计算每个slide的progress(进度、进程)\r\n         * 对于slide的progress属性，活动的那个为0，其他的依次减1\r\n         */\r\n        watchSlidesProgress: true,\r\n        // 默认active slide居左，设置为true后居中\r\n        centeredSlides: true,\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: false,\r\n        // height: 700,\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true, //轮播按钮支持点击\r\n        },\r\n        on: {\r\n          init: () => {\r\n            const items = this.getGuideSwiperSlides();\r\n            const activeIndex =\r\n              this.$refs.guideQuestionListSwiper.swiper.activeIndex;\r\n            const len = items.length;\r\n            for (let i = 0; i < len; i++) {\r\n              const slide = items[i]; // 指定匹配元素集缩减值\r\n              if (i == this.guideActiveIndex) {\r\n                slide.style.transform = `translateY(${0}) scale(${1.1})`;\r\n              } else if (i > activeIndex) {\r\n                const diff = i - activeIndex;\r\n                const translate = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n                slide.style.transform = `translateY(${translate})`;\r\n              } else {\r\n                const diff = activeIndex - i;\r\n                const translate = this.$px2rem(-diff * 0.2 * 242); // 166是swiper-slide的高度\r\n                slide.style.transform = `translateY(${translate})`;\r\n              }\r\n              slide.style.zIndex = len - i;\r\n            }\r\n          },\r\n          slideChange: () => {\r\n            const activeIndex =\r\n              this.$refs.guideQuestionListSwiper.swiper.activeIndex;\r\n            console.log(activeIndex);\r\n            const items = this.getGuideSwiperSlides();\r\n            const len = items.length;\r\n            for (let i = 0; i < len; i++) {\r\n              const slide = items[i]; // 指定匹配元素集缩减值\r\n              if (i == activeIndex) {\r\n                slide.style.transform = `translateY(${0}) scale(${1.1})`;\r\n              } else if (i > activeIndex) {\r\n                const diff = i - activeIndex;\r\n                const translate = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n                slide.style.transform = `translateY(${translate})`;\r\n              } else {\r\n                const diff = activeIndex - i;\r\n                const translate = this.$px2rem(-diff * 0.2 * 242); // 166是swiper-slide的高度\r\n                slide.style.transform = `translateY(${translate})`;\r\n              }\r\n              slide.style.transition = \"all 0.3s linear\";\r\n              slide.style.zIndex = len - i;\r\n            }\r\n          },\r\n        },\r\n      },\r\n      slides: [],\r\n      guideSlides: [\r\n        {\r\n          course_question_title: \"什么是幸福？\\n我们怎样才能得到幸福？\",\r\n          status: true,\r\n        },\r\n        {\r\n          course_question_title: \"什么是幸福？\\n我们怎样才能得到幸福？\",\r\n          status: true,\r\n        },\r\n        {\r\n          course_question_title: \"什么是幸福？\\n我们怎样才能得到幸福？\",\r\n          status: false,\r\n        },\r\n        {\r\n          course_question_title: \"什么是幸福？\\n我们怎样才能得到幸福？\",\r\n          status: false,\r\n        },\r\n        {\r\n          course_question_title: \"什么是幸福？\\n我们怎样才能得到幸福？\",\r\n          status: false,\r\n        },\r\n      ],\r\n      progress_solve_question_ids: \"\",\r\n      solveIdsLen: 0,\r\n      selectedData: null,\r\n      inited: false,\r\n      isActivated: true,\r\n      courseId: \"\",\r\n      isToQuestionDetail: false,\r\n      activeIndex: 0,\r\n      guideActiveIndex: 0,\r\n      titleBg: \"#eaedef\",\r\n      app_type: 1,\r\n      lastRoute: null,\r\n      needBack: false,\r\n      questionListHistoryLen: 0\r\n    };\r\n  },\r\n  computed: {\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    swiper() {\r\n      return this.$refs.questionListSwiper.swiper;\r\n    },\r\n    guideSwiper() {\r\n      return this.$refs.guideQuestionListSwiper.swiper;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress;\r\n    },\r\n    moralComprehend() {\r\n      return this.$store.getters.moralComprehend;\r\n    },\r\n    questionList() {\r\n      return this.$store.getters.questionList;\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n  },\r\n  watch: {\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        // 刷新后点击问题解决模块，右边的问题卡片滚动鼠标，不会切换问题\r\n        if (newVal != 'QuestionList') {\r\n          this.swiper.slideTo(0);\r\n        }\r\n      },\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        if (newVal && !newVal.hash && newVal.name == \"index\") {\r\n          this.back();\r\n        }\r\n      },\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"course_id:\", newVal);\r\n        // this.inited = false;\r\n        if ((newVal || newVal == 0) && this.isActivated) {\r\n          this.courseId = newVal;\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('QuestionList', 'white');\r\n          this.getQuestionList();\r\n          this.getQuestionHistory();\r\n        }\r\n      },\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('QuestionList', 'white');\r\n          this.getQuestionList();\r\n          this.getQuestionHistory();\r\n        }\r\n      },\r\n    },\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"courseProgress:\", this.courseProgress);\r\n        this.initStatus();\r\n\r\n      },\r\n    },\r\n    moralComprehend: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"moralComprehend:\", newVal);\r\n        console.log(\"this.inited:\", this.inited);\r\n        const course_question_id = this.moralComprehend.course_question_id;\r\n        this.slides.forEach((item, index) => {\r\n          if (item.course_question_id == course_question_id) {\r\n            this.$set(this.slides[index], \"isHover\", 1);\r\n          }\r\n        });\r\n      },\r\n    },\r\n    // questionList: {\r\n    //   deep: true,\r\n    //   handler: function (newVal) {\r\n    //     this.slides = newVal;\r\n    //     this.initStatus();\r\n    //   }\r\n    // }\r\n  },\r\n  methods: {\r\n    toHistory() {\r\n      // // 1. 全屏动效\r\n      // if (!this.fullscreen) {\r\n      //   console.log(\"tap toggle\");\r\n      //   this.toggle(\"QuestionList\");\r\n      // }\r\n      this.$router.push({\r\n          path: \"/white/QuestionListHistory\"\r\n      });\r\n\r\n    },\r\n    initStatus() {\r\n      this.initSwiper();\r\n      if (this.questionList.length === 0) {\r\n        this.slides = [{}, {}, {}, {}];\r\n        this.solveIdsLen = 0;\r\n        this.seePercent = 0;\r\n        this.$nextTick(() => {\r\n          let swiper = this.$refs.questionListSwiper.swiper;\r\n          const len = swiper.slides.length;\r\n          swiper.activeIndex = 0;\r\n          for (let i = 0; i < len; i++) {\r\n            const slide = swiper.slides.eq(i); // 指定匹配元素集缩减值\r\n            if (i == swiper.activeIndex) {\r\n              slide.transform(`translateY(${0}) scale(${1.1})`);\r\n            } else if (i > swiper.activeIndex) {\r\n              const diff = i - swiper.activeIndex;\r\n              const translate = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n              slide.transform(`translateY(${translate})`);\r\n            } else {\r\n              const diff = swiper.activeIndex - i;\r\n              const translate = this.$px2rem(-diff * 0.2 * 242); // 166是swiper-slide的高度\r\n              slide.transform(`translateY(${translate})`);\r\n            }\r\n\r\n            slide.css(\"zIndex\", len - i);\r\n          }\r\n        });\r\n      }\r\n      this.progress_solve_question_ids = this.courseProgress.progress_solve_question_ids || \"\";\r\n      let len = this.progress_solve_question_ids\r\n        ? this.progress_solve_question_ids.split(\",\").length\r\n        : 0;\r\n      this.solveIdsLen = len;\r\n      this.seePercent =\r\n        parseFloat(len / this.slides.length).toFixed(2) * 100;\r\n      this.slides.forEach((item, index) => {\r\n        item.index = index + 1;\r\n        const course_question_id = item.course_question_id;\r\n        if (\r\n          this.progress_solve_question_ids.includes(course_question_id)\r\n        ) {\r\n          item.status = 1;\r\n        } else {\r\n          item.status = 0;\r\n        }\r\n        if (\r\n          this.selectedData &&\r\n          this.selectedData.course_question_id == course_question_id\r\n        ) {\r\n          this.$set(item, \"isHover\", 1);\r\n        } else {\r\n          this.$set(item, \"isHover\", 0);\r\n        }\r\n      });\r\n\r\n      if (this.slides && this.slides.length && this.inited) {\r\n        if (this.isToQuestionDetail && this.slides.length) {\r\n        } else {\r\n          this.$nextTick(() => {\r\n            let swiper = this.$refs.questionListSwiper.swiper;\r\n            const len = swiper.slides.length;\r\n            swiper.activeIndex = 0;\r\n            for (let i = 0; i < len; i++) {\r\n              const slide = swiper.slides.eq(i); // 指定匹配元素集缩减值\r\n              if (i == swiper.activeIndex) {\r\n                slide.transform(`translateY(${0}) scale(${1.1})`);\r\n              } else if (i > swiper.activeIndex) {\r\n                const diff = i - swiper.activeIndex;\r\n                const translate = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n                slide.transform(`translateY(${translate})`);\r\n              } else {\r\n                const diff = swiper.activeIndex - i;\r\n                const translate = this.$px2rem(-diff * 0.2 * 242); // 166是swiper-slide的高度\r\n                slide.transform(`translateY(${translate})`);\r\n              }\r\n\r\n              slide.css(\"zIndex\", len - i);\r\n            }\r\n          });\r\n        }\r\n      }\r\n    },\r\n    back() {\r\n      if (this.isToQuestionDetail || this.fullscreen) {\r\n        EventBus.$emit(\"CLOSE_FULL_SCREEN\", \"QuestionList\");\r\n      }\r\n    },\r\n    getSwiperSlides() {\r\n      const questionListSwiper = document.getElementById(\"questionListSwiper\");\r\n      const items =\r\n        questionListSwiper.getElementsByClassName(\"swiper-slide-sub\");\r\n      return items;\r\n    },\r\n    getGuideSwiperSlides() {\r\n      const questionListSwiper = document.getElementById(\r\n        \"guideQuestionListSwiper\"\r\n      );\r\n      const items =\r\n        questionListSwiper.getElementsByClassName(\"swiper-slide-sub\");\r\n      return items;\r\n    },\r\n    backSlideTo(data, activeIndex, activeIndex1) {\r\n      if (data.status) {\r\n        // 已完成\r\n        this.$set(data, \"isHover\", 1);\r\n        this.$nextTick(() => {\r\n          console.log(this.$refs[\"questionDoneArrowHover\" + activeIndex]);\r\n          if (this.$refs[\"questionDoneArrowHover\" + activeIndex]) {\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + activeIndex\r\n            ][0].style.transform = \"translateX(0)\";\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + activeIndex\r\n            ][0].style.transition = \"all 0.3s linear\";\r\n          }\r\n          let timeout = setTimeout(() => {\r\n            clearTimeout(timeout);\r\n            if (activeIndex != activeIndex1) {\r\n              this.$set(data, \"isHover\", 0);\r\n            }\r\n            // this.$set(data, \"isHover\", 0);\r\n          }, 400);\r\n        });\r\n      } else {\r\n        if (this.$refs[\"thinkArrow\" + activeIndex]) {\r\n          this.$refs[\"thinkArrow\" + activeIndex][0].style.transform =\r\n            \"translateX(0)\";\r\n          this.$refs[\"thinkArrow\" + activeIndex][0].style.transition =\r\n            \"all 0.3s linear\";\r\n        }\r\n      }\r\n    },\r\n    slideTo(data) {\r\n      if (data.status) {\r\n        // 已完成\r\n        this.$set(data, \"isHover\", 1);\r\n        this.$nextTick(() => {\r\n          console.log(this.$refs[\"questionDoneArrowHover\" + this.activeIndex]);\r\n          if (this.$refs[\"questionDoneArrowHover\" + this.activeIndex]) {\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n            this.$refs[\r\n              \"questionDoneArrowHover\" + this.activeIndex\r\n            ][0].style.transition = \"all 0.3s linear\";\r\n          }\r\n        });\r\n      } else {\r\n        if (this.$refs[\"thinkArrow\" + this.activeIndex]) {\r\n          this.$refs[\r\n            \"thinkArrow\" + this.activeIndex\r\n          ][0].style.transform = `translateX(${this.$px2rem(\"70px\")})`;\r\n          this.$refs[\"thinkArrow\" + this.activeIndex][0].style.transition =\r\n            \"all 0.3s linear\";\r\n        }\r\n      }\r\n    },\r\n    clickSlide(duration = 0.8, data) {\r\n      this.$router.push({\r\n        path: \"/\",\r\n        hash: \"#questionDetail\",\r\n      });\r\n      const items = this.getSwiperSlides();\r\n      const activeIndex = this.$refs.questionListSwiper.swiper.clickedIndex;\r\n      console.log(\"activeIndexactiveIndex:\", activeIndex);\r\n      this.activeIndex = activeIndex;\r\n      this.$refs.questionListSwiper.swiper.slideTo(activeIndex);\r\n      this.slideTo(data);\r\n      this.$set(this.slides[activeIndex], \"isHover\", 1);\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const diff = activeIndex - i;\r\n        const translateY = this.$px2rem(diff * 0.22 * 242); // 166是swiper-slide的高度\r\n        console.log(\"translateY:\", translateY);\r\n        const translateX = this.$px2rem(-50);\r\n        if (i === this.activeIndex) {\r\n          slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.93})`;\r\n        } else {\r\n          slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.83}`;\r\n        }\r\n        slide.style.transition = `all ${duration}s linear`;\r\n      }\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (guideStatus.problemWorkOut === 0) {\r\n        //是否进入引导模式\r\n        this.guide_1();\r\n      }\r\n    },\r\n    guideClickSlide(duration = 0.8, data) {\r\n      const items = this.getGuideSwiperSlides();\r\n      const activeIndex = 2;\r\n      this.guideActiveIndex = activeIndex;\r\n      this.$refs.guideQuestionListSwiper.swiper.slideTo(activeIndex);\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        const diff = activeIndex - i;\r\n        const translateY = this.$px2rem(diff * 0.15 * 242); // 166是swiper-slide的高度\r\n        const translateX = this.$px2rem(-50);\r\n        if (i === this.guideActiveIndex) {\r\n          slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.9})`;\r\n        } else {\r\n          slide.style.transform = `translate(${translateX}, ${translateY}) scale(${0.8}`;\r\n        }\r\n        slide.style.transition = `all ${duration}s linear`;\r\n      }\r\n    },\r\n    guideInitSwiper() {\r\n      this.$nextTick(async () => {\r\n        await this.guideSwiper.init(); // 现在才初始化\r\n        await this.guideSwiper.setTranslate(`translateX(${50}%)`);\r\n        await this.guideSwiper.slideTo(2);\r\n      });\r\n    },\r\n    //一级页面引导\r\n    guide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.guideSlides[2].status = false;\r\n      this.setQuestionListGuideMode(0);\r\n      let timeout1 = setTimeout(() => {\r\n        this.question_1_initGuide();\r\n        clearTimeout(timeout1);\r\n      }, 300);\r\n    },\r\n    //二级页面引导\r\n    guide_1() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.guideSlides[2].status = true;\r\n      this.setQuestionListGuideMode(0);\r\n      this.guideToFullscreenLeft(this.guideSlides[2]);\r\n      let timeout2 = setTimeout(() => {\r\n        this.question_initGuide();\r\n        clearTimeout(timeout2);\r\n      }, 1200);\r\n    },\r\n    guide_2() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.guideSlides[2].status = true;\r\n      this.setQuestionListGuideMode(0);\r\n      this.guideToFullscreenLeft(this.guideSlides[2]);\r\n      let timeout2 = setTimeout(() => {\r\n        this.question_initGuide();\r\n        clearTimeout(timeout2);\r\n      }, 300);\r\n    },\r\n    question_1_initGuide() {\r\n      EventBus.$emit(\"setThinkingGuideMode\", 0);\r\n      question_guide_1(this, [\r\n        {\r\n          intro:\r\n            \"<div><b>问题解决</b></div><br/><span>学会用文章中所说的认识和观念，去解决你在 “问题意识” 中发现的问题</span>\",\r\n          element: document.querySelector(\"#index_step14\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"点击卡片进入相关问题解决\",\r\n          element: document.querySelector(\"#question_1_step1_2\"),\r\n          position: \"bottom\",\r\n        },\r\n      ]);\r\n    },\r\n    question_initGuide() {\r\n      this.$refs.moralQuestionsMain.$data.dialogVisible = false;\r\n      question_guide(this, [\r\n        {\r\n          intro: \"选择问题卡片进入问题解决\",\r\n          element: document.querySelector(\"#question_1_step1_2\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击可以阅读/收起推荐问题详情\",\r\n          element: document.querySelector(\"#question_step1\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro:\r\n            \"解决问题的过程（点击卡片填写：<b>道理上的理解、事实上的理解、摆脱错误观念</b>），也代表着你用智慧文化去重新思考、认识这些问题。\",\r\n          element: document.querySelector(\"#question_step2_1\"),\r\n          position: \"left\",\r\n        },\r\n      ]);\r\n    },\r\n    toFullscreenLeft(data) {\r\n      const questionListSwiper = document.getElementById(\"questionListSwiper\");\r\n      //\r\n      questionListSwiper.style.left = this.$px2rem(230);\r\n      console.log(\"toFullscreenLeft\");\r\n      questionListSwiper.style.transition = \"all 0.8s linear\";\r\n      //\r\n      const progress = document.getElementById(\"progress\");\r\n      progress.style.opacity = \"0\";\r\n      progress.style.transition = \"all 0.8s linear\";\r\n      //\r\n      this.$refs.fullscreen.style.opacity = \"0\";\r\n      this.$refs.fullscreen.style.transition = \"all 0.8s linear\";\r\n      //\r\n      this.clickSlide(0.4, data);\r\n      this.titleBg = \"#f2f4f5\";\r\n\r\n      let timeout = setTimeout(() => {\r\n        const element = document.getElementById(\"moralQuestionsMain\");\r\n        element.style.marginLeft = this.$px2rem(400);\r\n        element.style.transition = \"all 0.4s linear\";\r\n        clearTimeout(timeout);\r\n      }, 500);\r\n    },\r\n    guideToFullscreenLeft(data) {\r\n      const questionListSwiper = document.getElementById(\r\n        \"guideQuestionListSwiper\"\r\n      );\r\n      questionListSwiper.style.left = this.$px2rem(230);\r\n      questionListSwiper.style.transition = \"all 0.8s linear\";\r\n      const progress = document.getElementById(\"progress\");\r\n      progress.style.opacity = \"0\";\r\n      progress.style.transition = \"all 0.8s linear\";\r\n      this.$refs.fullscreen.style.opacity = \"0\";\r\n      this.$refs.fullscreen.style.transition = \"all 0.8s linear\";\r\n      this.guideClickSlide(0.4, data);\r\n      this.titleBg = \"#f2f4f5\";\r\n\r\n      let timeout = setTimeout(() => {\r\n        const element = document.getElementById(\"moralQuestionsMain\");\r\n        element.style.marginLeft = this.$px2rem(400);\r\n        element.style.transition = \"all 0.4s linear\";\r\n        clearTimeout(timeout);\r\n      }, 500);\r\n    },\r\n    backToFullscreenLeft() {\r\n      const questionListSwiper = document.getElementById(\"questionListSwiper\");\r\n      //\r\n      questionListSwiper.style.left = \"50%\";\r\n      questionListSwiper.style.transition = \"all 0.8s linear\";\r\n      //\r\n      const progress = document.getElementById(\"progress\");\r\n      progress.style.opacity = \"1\";\r\n      progress.style.transition = \"all 0.8s linear\";\r\n      //\r\n      this.$refs.fullscreen.style.opacity = \"1\";\r\n      this.$refs.fullscreen.style.transition = \"all 0.8s linear\";\r\n      //\r\n      const items = this.getSwiperSlides();\r\n      const activeIndex = this.$refs.questionListSwiper.swiper.activeIndex;\r\n      this.activeIndex = activeIndex;\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        if (i == activeIndex) {\r\n          slide.style.transform = `translate(${0}, ${0}) scale(${1.1})`;\r\n        } else if (i > activeIndex) {\r\n          const diff = i - activeIndex;\r\n          const translateY = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n          slide.style.transform = `translate(${0}, ${translateY}) scale(${1})`;\r\n        } else {\r\n          const diff = activeIndex - i;\r\n          const translateY = this.$px2rem(diff * 0.05 * 242); // 166是swiper-slide的高度\r\n          slide.style.transform = `translate(${0}, ${translateY}) scale(${1})`;\r\n        }\r\n        slide.style.transition = \"all 0.8s linear\";\r\n      }\r\n      const element = document.getElementById(\"moralQuestionsMain\");\r\n      element.style.marginLeft = \"120%\";\r\n      element.style.transition = \"all 0.4s linear\";\r\n      // 箭头回来\r\n      this.backSlideTo(\r\n        this.slides[this.activeIndex],\r\n        this.activeIndex,\r\n        activeIndex\r\n      );\r\n      setTimeout(() => {\r\n        this.titleBg = \"#eaedef\";\r\n      });\r\n      let timeout = setTimeout(() => {\r\n        this.isToQuestionDetail = false;\r\n        clearTimeout(timeout);\r\n      }, 850);\r\n    },\r\n    guideBackToFullscreenLeft() {\r\n      const questionListSwiper = document.getElementById(\r\n        \"guideQuestionListSwiper\"\r\n      );\r\n      questionListSwiper.style.left = \"50%\";\r\n      questionListSwiper.style.transition = \"all 0.8s linear\";\r\n      const items = this.getGuideSwiperSlides();\r\n      const activeIndex = this.$refs.guideQuestionListSwiper.swiper.activeIndex;\r\n      this.guideActiveIndex = activeIndex;\r\n      for (let i = 0; i < items.length; i++) {\r\n        const slide = items[i]; // 指定匹配元素集缩减值\r\n        if (i == activeIndex) {\r\n          slide.style.transform = `translate(${0}, ${0}) scale(${1.1})`;\r\n        } else if (i > activeIndex) {\r\n          const diff = i - activeIndex;\r\n          const translateY = this.$px2rem(-0.8 * diff * 242); // 166是swiper-slide的高度\r\n          slide.style.transform = `translate(${0}, ${translateY})`;\r\n        } else {\r\n          const diff = activeIndex - i;\r\n          const translateY = this.$px2rem(-diff * 0.2 * 242); // 166是swiper-slide的高度\r\n          slide.style.transform = `translate(${0}, ${translateY})`;\r\n        }\r\n        slide.style.transition = \"all 0.8s linear\";\r\n      }\r\n    },\r\n    mouseoverArrow(index, data) {\r\n      if (this.activeIndex !== index || !this.isToQuestionDetail) {\r\n        if (data.status) {\r\n          // 已完成\r\n          this.$set(data, \"isHover\", 1);\r\n\r\n          this.$nextTick(() => {\r\n            if (this.$refs[\"questionDoneArrowHover\" + index]) {\r\n              this.$refs[\"questionDoneArrowHover\" + index][0].style.transform =\r\n                \"translateX(8px)\";\r\n              this.$refs[\"questionDoneArrowHover\" + index][0].style.transition =\r\n                \"all 0.3s linear\";\r\n            }\r\n          });\r\n        } else {\r\n          if (this.$refs[\"thinkArrow\" + index]) {\r\n            this.$refs[\"thinkArrow\" + index][0].style.transform =\r\n              \"translateX(8px)\";\r\n            this.$refs[\"thinkArrow\" + index][0].style.transition =\r\n              \"all 0.3s linear\";\r\n          }\r\n        }\r\n      }\r\n    },\r\n    mouseleaveArrow(index, data) {\r\n      if (this.activeIndex !== index || !this.isToQuestionDetail) {\r\n        if (data.status) {\r\n          // 已完成\r\n          this.$set(data, \"isHover\", 0);\r\n          this.$nextTick(() => {\r\n            if (this.$refs[\"questionDoneArrow\" + index]) {\r\n              this.$refs[\"questionDoneArrow\" + index][0].style.transform =\r\n                \"translateX(0)\";\r\n              this.$refs[\"questionDoneArrow\" + index][0].style.transition =\r\n                \"all 0.3s linear\";\r\n            }\r\n          });\r\n        } else {\r\n          if (this.$refs[\"thinkArrow\" + index]) {\r\n            this.$refs[\"thinkArrow\" + index][0].style.transform =\r\n              \"translateX(0)\";\r\n            this.$refs[\"thinkArrow\" + index][0].style.transition =\r\n              \"all 0.3s linear\";\r\n          }\r\n        }\r\n      }\r\n    },\r\n    async getQuestionList() {\r\n      try {\r\n        if(!this.course_id) {\r\n          return\r\n        }\r\n        const res = await getQuestionList({\r\n          course_id: this.course_id,\r\n          small_list: 1,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.slides = res.data;\r\n          this.$store.dispatch(\"setQuestionList\", res.data).then(() => {\r\n            this.initStatus();\r\n          });\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getQuestionHistory() {\r\n      try {\r\n        if(!this.course_id || this.courseIsuseradd != 2) {\r\n          return\r\n        }\r\n        const res = await getQuestionHistory({\r\n          course_id: this.course_id,\r\n          small_list: 1,\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.questionListHistoryLen = res.data.length;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    // 销毁swiper\r\n    async destroySwiper() {\r\n      await this.swiper.destroy();\r\n    },\r\n    // 请求玩再初始化\r\n    initSwiper() {\r\n      console.log(\"initSwiper\");\r\n      this.$nextTick(async () => {\r\n        await this.swiper.init(); // 现在才初始化\r\n        await this.swiper.setTranslate(`translateX(${50}%)`);\r\n        this.inited = true;\r\n      });\r\n    },\r\n    toProblemSolveDetail() {\r\n      const questionListSwiper = document.getElementById(\"questionListSwiper\");\r\n      questionListSwiper.style.left = this.$px2rem(-400);\r\n      questionListSwiper.style.transition = \"all 0.3s linear\";\r\n      const element = document.getElementById(\"moralQuestionsMain\");\r\n      element.style.opacity = \"0\";\r\n      element.style.transition = \"all 0.3s linear\";\r\n    },\r\n    backFromProblemSolveDetail() {\r\n      if(this.fullscreen) {\r\n        const questionListSwiper = document.getElementById(\"questionListSwiper\");\r\n        questionListSwiper.style.left = this.$px2rem(230);\r\n        questionListSwiper.style.transition = \"all 0.3s linear\";\r\n        const element = document.getElementById(\"moralQuestionsMain\");\r\n        element.style.opacity = \"1\";\r\n        element.style.transition = \"all 0.3s linear\";\r\n      } else {\r\n        // 刷新后返回\r\n        const course_question_id = this.moralComprehend.course_question_id;\r\n        console.log(\"this.slides:\", this.slides);\r\n        let clickedIndex = 0;\r\n        this.slides.forEach((item, index) => {\r\n          if (item.course_question_id == course_question_id) {\r\n            this.$set(this.slides[index], \"isHover\", 1);\r\n            clickedIndex = index;\r\n          }\r\n        });\r\n        console.log(\"clickedIndex:\", clickedIndex);\r\n        this.$refs.questionListSwiper.swiper.clickedIndex = clickedIndex;\r\n        this.isToQuestionDetail = true;\r\n        // 1. 全屏动效\r\n        if (!this.fullscreen) {\r\n          console.log(\"tap toggle\");\r\n          this.toggle(\"QuestionList\");\r\n        }\r\n\r\n        // 2. 问题列表动效\r\n        this.selectedData = this.slides[clickedIndex];\r\n        this.$router.push({\r\n          path: \"/\",\r\n          hash: \"#questionDetail\",\r\n        });\r\n        this.toFullscreenLeft(this.slides[clickedIndex]);\r\n\r\n      }\r\n\r\n    },\r\n    setQuestionListGuideMode(status) {\r\n      this.questionListGuideMode = status;\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log(\"questionList activated\");\r\n    this.isActivated = true;\r\n    this.courseId = this.course_id;\r\n    this.getQuestionList();\r\n    this.getQuestionHistory()\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  beforeDestroy() {\r\n  },\r\n  mounted() {\r\n    this.guideInitSwiper();\r\n    if (this.courseProgress) {\r\n      this.progress_solve_question_ids =\r\n        this.courseProgress.progress_solve_question_ids || \"\";\r\n    }\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", (whiteCom) => {\r\n      if (whiteCom === \"QuestionList\") {\r\n        console.log(\"CLOSE_FULL_SCREEN toggle\");\r\n        this.toggle(whiteCom, false);\r\n        this.$router.replace(\"/\");\r\n        if (this.isToQuestionDetail) {\r\n          this.backToFullscreenLeft();\r\n          this.guideBackToFullscreenLeft();\r\n        }\r\n      }\r\n    });\r\n    EventBus.$on(\"CultureIndex\", () => {\r\n      console.log(\"QuestionList CultureIndex:\", this.whiteCom, this.isToQuestionDetail);\r\n      if (this.whiteCom === \"QuestionList\") {\r\n        if (this.isToQuestionDetail) {\r\n          this.backToFullscreenLeft();\r\n          this.guideBackToFullscreenLeft();\r\n        }\r\n      }\r\n    });\r\n    EventBus.$on(\"TO_WHITE_THINK_PROBLEM_SOLVE\", () => {\r\n      this.toProblemSolveDetail();\r\n    });\r\n    EventBus.$on(\"BACKTO_WHITE_THINK_PROBLEM_SOLVE\", () => {\r\n      this.backFromProblemSolveDetail();\r\n    });\r\n    EventBus.$on(\"questionList_initGuide\", () => {\r\n      if (this.isToQuestionDetail) {\r\n        this.guide_2();\r\n      } else {\r\n        this.guide();\r\n      }\r\n    });\r\n    EventBus.$on(\"setThinkingGuideMode\", (questionListGuideMode) => {\r\n      this.questionListGuideMode = questionListGuideMode;\r\n    });\r\n\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    //首次弹出问题意识二级-触发问题意识引导\r\n    if (\r\n      guideStatus.problemWorkOut_1 === 0 ||\r\n      guideStatus.problemWorkOut_1 === undefined\r\n    ) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.box {\r\n  position: relative;\r\n  // height: calc(100% - 54px);\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.full {\r\n  -webkit-animation: fullActive 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fullActive 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  .progress {\r\n    bottom: 0;\r\n  }\r\n}\r\n@keyframes fullActive {\r\n  0% {\r\n    height: 100%;\r\n  }\r\n  100% {\r\n    height: calc(100% - 54px);\r\n  }\r\n}\r\n@-webkit-keyframes fullActive {\r\n  0% {\r\n    height: 100%;\r\n  }\r\n  100% {\r\n    height: calc(100% - 54px);\r\n  }\r\n}\r\n.name {\r\n  color: #64afd5;\r\n  height: 30px;\r\n  margin-top: -3px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n}\r\n.content-box {\r\n  width: 100%;\r\n  flex: 1;\r\n  // height: 100%;\r\n  position: relative;\r\n  overflow: hidden;\r\n  margin: 0 auto;\r\n  // padding-top: 32px;\r\n  .no-datas {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    top: 32px;\r\n    z-index: 1;\r\n    background: #f2f4f5;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 26px;\r\n  }\r\n}\r\n.show-swiper {\r\n  // top: 20px;\r\n  width: 420px;\r\n  height: calc(100% - 20px);\r\n  position: absolute;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n}\r\n/deep/ .swiper-container {\r\n  z-index: 100;\r\n}\r\n/deep/ .swiper-slide {\r\n  width: 355px;\r\n  height: 220px;\r\n  margin-left: 79px;\r\n  /* // 表示所有属性都有动作效果，过度时间为0.4s，以慢速开始和结束的过渡效果 */\r\n  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n  &:hover {\r\n    transform: scale(1.1, 1.1);\r\n  }\r\n}\r\n/deep/.swiper-slide-active {\r\n  margin-left: 83px;\r\n}\r\n/deep/ .swiper-pagination {\r\n  left: 5px;\r\n  z-index: 5;\r\n  width: 20px;\r\n}\r\n/deep/ .swiper-pagination-bullet {\r\n  width: 4px;\r\n  height: 4px;\r\n  // margin: 12px 0 !important;\r\n  // margin-left: 2px !important;\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  background-color: @thinking;\r\n  width: 11px;\r\n  height: 11px;\r\n  // margin-left: 0 !important;\r\n}\r\n/deep/ .swiper-pagination-bullets {\r\n  right: 10px;\r\n}\r\n/deep/\r\n  .swiper-container-vertical\r\n  > .swiper-pagination-bullets\r\n  .swiper-pagination-bullet {\r\n  margin: 24px auto;\r\n}\r\n/deep/ .el-card {\r\n  border-radius: 16px;\r\n}\r\n.box-card.tip-wrapper.none-card {\r\n  /deep/ .el-card__body {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n  }\r\n}\r\n.box-card {\r\n  height: 171px;\r\n  width: 275px;\r\n  border: none;\r\n  /deep/ .el-card__body {\r\n    padding: 14px 17px 14px 28px;\r\n    height: 100%;\r\n  }\r\n  cursor: pointer;\r\n  .header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    .num {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 21px;\r\n      color: #64AFD5;\r\n      line-height: 28px;\r\n    }\r\n    .status {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #7E878C;\r\n      line-height: 18px;\r\n      padding-right: 11px;\r\n    }\r\n    .num0 {\r\n      color: @thinking;\r\n    }\r\n    .status0 {\r\n      color: #7e878c;\r\n    }\r\n    .num1 {\r\n      color: #ffffff;\r\n    }\r\n    .status1 {\r\n      color: rgba(255, 255, 255, 0.8);\r\n    }\r\n  }\r\n  .text {\r\n    padding: 14px 0 0px 0;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    font-size: 21px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 32px;\r\n    img {\r\n      width: 40px;\r\n      height: 40px;\r\n    }\r\n    .think-arrow {\r\n      position: absolute;\r\n      right: 88px;\r\n    }\r\n    .thinkArrowActive {\r\n      -webkit-animation: thinkArrowActive 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: thinkArrowActive 0.5s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n    @keyframes thinkArrowActive {\r\n      0% {\r\n        transform: translateX(14px);\r\n      }\r\n      100% {\r\n        transform: translateX(77px);\r\n      }\r\n    }\r\n    @-webkit-keyframes thinkArrowActive {\r\n      0% {\r\n        transform: translateX(14px);\r\n      }\r\n      100% {\r\n        transform: translateX(77px);\r\n      }\r\n    }\r\n  }\r\n  .text0 {\r\n    color: @thinking;\r\n  }\r\n  .text1 {\r\n    color: #ffffff;\r\n  }\r\n  .text-content {\r\n    width: 79%;\r\n    height: 48px;\r\n    overflow-y: hidden;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 2;\r\n    -webkit-box-orient: vertical;\r\n    display: -webkit-box;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 14px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    &.text-content-official {\r\n      font-weight: bold;\r\n    }\r\n  }\r\n  .text-content1 {\r\n    width: 99%;\r\n    // overflow-y: auto;\r\n    height: 60px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-size: 14px;\r\n    color: #292929;\r\n    line-height: 24px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    font-weight: 500;\r\n  }\r\n  &.box-card1 {\r\n    background: #84C4E5;\r\n  }\r\n  &.tip-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n  .tip {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 28px;\r\n    text-align: center;\r\n    span {\r\n      font-weight: 700;\r\n    }\r\n  }\r\n  .dot {\r\n    position: relative;\r\n    height: 43px;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 50%;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      transform: translateY(-50%);\r\n      width: 5px;\r\n      height: 5px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: #64afd5;\r\n    }\r\n  }\r\n  .subtitle {\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 28px;\r\n    text-align: center;\r\n  }\r\n}\r\n.progress {\r\n  background: #f2f4f5;\r\n  position: absolute;\r\n  left: 50%;\r\n  bottom: 0;\r\n  transform: translateX(-50%);\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: space-around;\r\n  align-items: center;\r\n  width: 100%;\r\n  z-index: 98;\r\n  border-bottom-left-radius: 16px;\r\n  border-bottom-right-radius: 16px;\r\n  .done {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 44px;\r\n  }\r\n  ul {\r\n    list-style: none;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    margin-bottom: 8px;\r\n    padding: 10px 0;\r\n    li {\r\n      width: 6px;\r\n      height: 11px;\r\n      margin: 0 5px;\r\n      border-radius: 4px;\r\n    }\r\n  }\r\n  .num {\r\n    color: @culture;\r\n    padding: 0 0 14px 0;\r\n    span {\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      line-height: 26px;\r\n      &:first-child {\r\n        color: @thinking;\r\n      }\r\n      &:last-child {\r\n        color: #d4d9db;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.showMainRight {\r\n  -webkit-animation: showMainRight 0.4s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showMainRight 0.4s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes showMainRight {\r\n  0% {\r\n    margin-left: 100%;\r\n  }\r\n  100% {\r\n    margin-left: 400px;\r\n  }\r\n}\r\n@-webkit-keyframes showMainRight {\r\n  0% {\r\n    margin-left: 100%;\r\n  }\r\n  100% {\r\n    margin-left: 400px;\r\n  }\r\n}\r\n.hideMainRight {\r\n  -webkit-animation: hideMainRight 0.8s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideMainRight 0.8s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes hideMainRight {\r\n  0% {\r\n    margin-left: 546px;\r\n  }\r\n  100% {\r\n    margin-left: 100%;\r\n  }\r\n}\r\n@-webkit-keyframes hideMainRight {\r\n  0% {\r\n    margin-left: 546px;\r\n  }\r\n  100% {\r\n    margin-left: 100%;\r\n  }\r\n}\r\n.question-history-text {\r\n  display: flex;\r\n  align-items: center;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #A3B1B9;\r\n  line-height: 21px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  cursor: pointer;\r\n  img {\r\n    width: 19px;\r\n    height: 19px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/QuestionList.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  _vm.fullscreen && !_vm.isToQuestionDetail? 'big-view-box bg-white' : '',\n  _vm.fullscreen && _vm.isToQuestionDetail? 'big-view bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni\n    ? !_vm.isToQuestionDetail\n      ? 'outof-big-view-box'\n      : 'outof-big-view'\n    : ''\n],staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"box\",class:_vm.fullscreen ? (!_vm.isToQuestionDetail ? 'fullBox' : 'full') : '',style:({\n      position: 'relative',\n      backgroundColor: _vm.titleBg\n    })},[_c('div',{staticClass:\"box-content-name name\",class:[\n        !_vm.fullscreen && _vm.isNeedOutFullscreenAni\n          ? _vm.isToQuestionDetail\n            ? 'outof-big-view-name-ani'\n            : 'outof-box-content-name'\n          : ''\n      ]},[(!_vm.fullscreen)?_c('span',[_vm._v(_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\"))]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":_vm.back}},[_vm._v(_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\"))]),_vm._v(\" \"),(_vm.courseBase && _vm.courseBase.course_isuseradd == 2 && !_vm.isToQuestionDetail && _vm.questionListHistoryLen)?_c('span',{staticClass:\"question-history-text\",on:{\"click\":_vm.toHistory}},[_vm._v(\"历史版本（只读）\"),_c('img',{attrs:{\"src\":require(\"@/assets/img/question_history_arrow.svg\")}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"content-box\",attrs:{\"id\":\"questionListBox\"}},[(!_vm.fullscreen)?_c('img',{ref:\"fullscreen\",staticClass:\"fullscreen fullscreenHover\",class:_vm.fullscreen ? 'fullscreenExit' : '',attrs:{\"src\":require(\"@/assets/img/fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle('QuestionList')}}}):_c('img',{ref:\"fullscreen\",staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_thinking_w.svg\")},on:{\"click\":function($event){return _vm.toggle('QuestionList')}}}),_vm._v(\" \"),_c('swiper',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 1),expression:\"questionListGuideMode === 1\"}],key:_vm.swiperKey,ref:\"questionListSwiper\",staticClass:\"show-swiper\",attrs:{\"id\":\"questionListSwiper\",\"options\":_vm.swiperOption}},[(_vm.questionList && _vm.questionList.length)?[_vm._l((_vm.slides),function(item,index){return _c('swiper-slide',{key:index,staticClass:\"swiper-slide-sub\"},[_c('el-card',{staticClass:\"box-card\",class:item.status ? 'box-card1' : ''},[_c('div',{on:{\"mouseover\":function($event){return _vm.mouseoverArrow(index, item)},\"mouseleave\":function($event){return _vm.mouseleaveArrow(index, item)}}},[_c('div',{staticClass:\"header\"},[_c('span',{staticClass:\"num\",class:item.status ? 'num1' : 'num0'},[_vm._v(_vm._s(index + 1 + \".\")+\"\\n                    \")]),_vm._v(\" \"),_c('span',{staticClass:\"status\",class:item.status ? 'status1' : 'status0'},[_vm._v(_vm._s(item.status ? \"已解决\" : \"待解决\"))])]),_vm._v(\" \"),_c('div',{staticClass:\"text item\",class:item.status ? 'text1' : 'text0'},[_c('span',{staticClass:\"text-content prewrap-content\",class:[item.course_question_isuseradd != 1 ? 'text-content-official' : '']},[_vm._v(_vm._s(item.course_question_title)+\"\\n                    \")]),_vm._v(\" \"),(item.status && !item.isHover)?_c('img',{ref:'questionDoneArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/quesion_done.svg\")}}):_vm._e(),_vm._v(\" \"),(item.status && item.isHover)?_c('img',{ref:'questionDoneArrowHover' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/think_arrow_finish.svg\")}}):_vm._e(),_vm._v(\" \"),(!item.status)?_c('img',{ref:'thinkArrow' + index,refInFor:true,staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/think_arrow1.svg\")}}):_vm._e()])])])],1)})]:[_vm._l((_vm.slides),function(item,index){return _c('swiper-slide',{key:index,staticClass:\"swiper-slide-sub\"},[_c('el-card',{staticClass:\"box-card tip-wrapper none-card\"},[_c('p',{staticClass:\"tip\"},[_vm._v(\"请到\"),_c('span',[_vm._v(\"问题意识\")]),_vm._v(\"填写\")]),_vm._v(\" \"),_c('div',{staticClass:\"dot\"}),_vm._v(\" \"),_c('p',{staticClass:\"subtitle\"},[_vm._v(\"本课问题 —— 问题推荐\")])])],1)})],_vm._v(\" \"),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2),_vm._v(\" \"),_c('swiper',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.questionListGuideMode === 0),expression:\"questionListGuideMode === 0\"}],key:_vm.guideSwiperKey,ref:\"guideQuestionListSwiper\",staticClass:\"show-swiper\",attrs:{\"id\":\"guideQuestionListSwiper\",\"options\":_vm.guideSwiperOption}},[_vm._l((_vm.guideSlides),function(item,index){return _c('swiper-slide',{key:index,staticClass:\"swiper-slide-sub\"},[_c('el-card',{staticClass:\"box-card\",class:item.status ? 'box-card1' : '',attrs:{\"id\":'question_1_step1_' + index}},[_c('div',{on:{\"mouseover\":function($event){return _vm.mouseoverArrow(index, item)},\"mouseleave\":function($event){return _vm.mouseleaveArrow(index, item)}}},[_c('div',{staticClass:\"header\"},[_c('span',{staticClass:\"num\",class:item.status ? 'num1' : 'num0'},[_vm._v(_vm._s(index + 1 + \".\")+\"\\n                  \")]),_vm._v(\" \"),_c('span',{staticClass:\"status\",class:item.status ? 'status1' : 'status0'},[_vm._v(_vm._s(item.status ? \"已解决\" : \"待解决\"))])]),_vm._v(\" \"),_c('div',{staticClass:\"text item\",class:item.status ? 'text1' : 'text0'},[_c('span',{staticClass:\"text-content1 prewrap-content\"},[_vm._v(_vm._s(item.course_question_title))]),_vm._v(\" \"),(item.status && index != 2)?_c('img',{staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/quesion_done.svg\")}}):_vm._e(),_vm._v(\" \"),(!item.status)?_c('img',{staticClass:\"think-arrow\",attrs:{\"src\":require(\"@/assets/img/think_arrow1.svg\")}}):_vm._e()])])])],1)}),_vm._v(\" \"),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2),_vm._v(\" \"),(_vm.isToQuestionDetail)?_c('MoralQuestionsMain',{ref:\"moralQuestionsMain\",attrs:{\"questionListGuideMode\":_vm.questionListGuideMode,\"id\":\"moralQuestionsMain\"}}):_vm._e(),_vm._v(\" \"),(_vm.questionList && _vm.questionList.length)?_c('div',{staticClass:\"progress\",attrs:{\"id\":\"progress\"}},[_c('div',{staticClass:\"done\"},[_vm._v(\"已解决问题\")]),_vm._v(\" \"),_c('ul',_vm._l((_vm.slides.length),function(item,index){return _c('li',{key:index,style:({\n              backgroundColor: index < _vm.solveIdsLen ? '#64AFD5' : '#EAEDEF'\n            })})}),0),_vm._v(\" \"),_c('div',{staticClass:\"num\"},[_c('span',[_vm._v(_vm._s(_vm.solveIdsLen))]),_vm._v(\" \"),_c('span',[_vm._v(\"/\"+_vm._s(_vm.slides.length))])])]):_vm._e()],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-158c7ef8\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/QuestionList.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-158c7ef8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./QuestionList.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuestionList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuestionList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-158c7ef8\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./QuestionList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-158c7ef8\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/QuestionList.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div style=\"height: 100%\" :class=\"[\r\n    fullscreen ? 'big-view-box bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\r\n  ]\" v-loading=\"loading\">\r\n    <div class=\"box\":class=\"fullscreen ? 'fullBox' : ''\">\r\n      <div\r\n        class=\"box-content-name name\"\r\n        :class=\"[\r\n          !fullscreen && isNeedOutFullscreenAni ? 'outof-box-content-name' : '',\r\n          fullscreen && openCommitProblemCard ? 'openCommitProblemCard' : ''\r\n        ]\"\r\n      >\r\n      <span v-if=\"!fullscreen\">问题意识</span>\r\n      <span class=\"cursor-pointer\" v-else @click=\"toggle('Problem')\">问题意识</span>\r\n      </div>\r\n      <div class=\"content-box\" @scroll=\"handleScroll\"  id=\"problemBox\" v-if=\"problemConsciousnessGuideMode === 1\">\r\n        <img\r\n          v-if=\"!fullscreen\"\r\n          class=\"fullscreen fullscreenHover\"\r\n          src=\"@/assets/img/fullscreen.svg\"\r\n          @click=\"toggle('Problem')\"\r\n        />\r\n        <img\r\n          v-else\r\n          class=\"fullscreen fullscreenHover\"\r\n          :class=\"fullscreen ? 'fullscreenExit' : ''\"\r\n          src=\"@/assets/img/exit_fullscreen_thinking_w.svg\"\r\n          @click=\"toggle('Problem')\"\r\n        />\r\n        <div class=\"title\" v-if=\"app_type == 2\">本课问题</div>\r\n        <div class=\"title\" v-else>主要问题</div>\r\n        <div class=\"content question\">\r\n          <div style=\"display: flex;\">\r\n            <p class=\"qtitle\" v-if=\"app_type == 2\">本课在说明哪些问题（多选）</p>\r\n            <p class=\"qtitle\" v-else>请添加文章中要说明的问题</p>\r\n            <div class=\"qtishi\" v-if=\"questionList.length > 0\">\r\n              <span :class=\"tagsSelectted > 0 ? 'selected' : ''\" v-if=\"!showAddBtn\"\r\n                >{{ tagsSelectted }}\r\n              </span>\r\n              <span v-if=\"!showAddBtn\">/ {{ tagsTrue }}</span>\r\n              <!-- <span style=\"height: 22px\" v-else></span> -->\r\n            </div>\r\n          </div>\r\n\r\n          <div\r\n            class=\"cMain\"\r\n            :style=\"{\r\n              justifyContent:\r\n                questionList.length === 0 ? 'center' : 'flex-start'\r\n            }\"\r\n          >\r\n\r\n            <!-- <label class=\"qtishi\" v-if=\"questionList.length > 0\"\r\n            >{{ tagsSelectted }}/{{ questionList.length }}</label\r\n          > -->\r\n            <div class=\"tabArea\" v-if=\"questionList.length > 0\">\r\n              <div\r\n                v-for=\"(item, index) in questionList\"\r\n                :key=\"index\"\r\n                @click=\"selQ(item, index)\"\r\n                class=\"question\"\r\n                :class=\"\r\n                  !showAddBtn\r\n                    ? item.questiontags_isselect === 1\r\n                      ? item.questiontags_istrue === 1\r\n                        ? 'correct'\r\n                        : 'error'\r\n                      : ''\r\n                    : ''\r\n                \"\r\n              >\r\n                {{ item.questiontags_title }}\r\n              </div>\r\n              <!-- <el-tag\r\n                v-for=\"(item, index) in questionList\"\r\n                :key=\"index\"\r\n                :class=\"\r\n                  !showAddBtn\r\n                    ? item.questiontags_isselect === 1\r\n                      ? item.questiontags_istrue === 1\r\n                        ? 'correct'\r\n                        : 'error'\r\n                      : ''\r\n                    : ''\r\n                \"\r\n                @click=\"selQ(item, index)\"\r\n                >{{ item.questiontags_title }}</el-tag\r\n              >-->\r\n            </div>\r\n            <el-button\r\n              type=\"default\"\r\n              icon=\"el-icon-plus\"\r\n              @click=\"showAddQuestiontags\"\r\n              v-if=\"showAddBtn && courseIsuseradd != 3\"\r\n              >添加问题</el-button\r\n            >\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"title title1\" v-if=\"app_type == 2\">问题推荐</div>\r\n        <div class=\"title title1\" v-else>问题推荐</div>\r\n        <div class=\"content\">\r\n          <p class=\"qtitle\" v-if=\"app_type == 2\">通过提问（可参考辅助材料），进一步思考本课问题是怎么展开说明的</p>\r\n          <p class=\"qtitle\" v-else>通过提问，进一步思考主要问题是怎么展开说明的</p>\r\n          <CommitProblem ref=\"commitProblem\" @setScrollIntoView=\"setScrollIntoView\" @setFullscreen=\"setFullscreen\" :fullscreen=\"fullscreen\"/>\r\n        </div>\r\n\r\n        <!-- <div class=\"operates\">\r\n          <div  class=\"btn disabled\" v-if=\"(!tagsSelectted && questionList && questionList.length > 0) ||\r\n            questionList.length === 0\">下一步</div>\r\n          <div  class=\"btn\" v-else @click=\"next\">下一步</div>\r\n        </div> -->\r\n      </div>\r\n      <div class=\"content-box\" id=\"problemBox\" v-if=\"problemConsciousnessGuideMode === 0\">\r\n        <div class=\"title\" v-if=\"app_type == 2\">本课问题</div>\r\n        <div class=\"title\" v-else>主要问题</div>\r\n        <div class=\"content\">\r\n          <div style=\"display: flex;\">\r\n            <p class=\"qtitle\" v-if=\"app_type == 2\">本课在说明哪些问题（多选）</p>\r\n            <p class=\"qtitle\" v-else>请添加文章中要说明的问题</p>\r\n            <div class=\"qtishi\" v-if=\"questionList.length > 0\">\r\n              <span :class=\"tagsSelectted > 0 ? 'selected' : ''\"\r\n                >2\r\n              </span>\r\n              <span>/ {{ 10 }}</span>\r\n              <!-- <span style=\"height: 22px\" v-else></span> -->\r\n            </div>\r\n          </div>\r\n\r\n          <div\r\n            class=\"cMain\"\r\n            id=\"problemConsciousness_step1\"\r\n            :style=\"{\r\n              justifyContent: 'flex-start'\r\n            }\"\r\n          >\r\n            <div class=\"tabArea\" >\r\n              <div\r\n                v-for=\"(item, index) in mockQuestionList\"\r\n                :key=\"index\"\r\n                class=\"question\"\r\n                :class=\"\r\n                  index == 0 || index == 5 ? 'correct' : 'error'\r\n                \"\r\n              >\r\n                {{ item.questiontags_title }}\r\n              </div>\r\n            </div>\r\n            <el-button\r\n              type=\"default\"\r\n              icon=\"el-icon-plus\"\r\n              >添加问题</el-button\r\n            >\r\n          </div>\r\n        </div>\r\n        <div class=\"title title1\" v-if=\"app_type == 2\">问题推荐</div>\r\n        <div class=\"title title1\" v-else>问题推荐</div>\r\n        <div class=\"content\">\r\n          <p class=\"qtitle\" v-if=\"app_type == 2\">通过提问（可参考辅助材料），进一步思考本课问题是怎么展开说明的</p>\r\n          <p class=\"qtitle\" v-else>通过提问，进一步思考主要问题是怎么展开说明的</p>\r\n          <CommitProblem ref=\"commitProblem\" @setScrollIntoView=\"setScrollIntoView\" @setFullscreen=\"setFullscreen\" :fullscreen=\"fullscreen\"/>\r\n        </div>\r\n      </div>\r\n      <el-dialog\r\n        class=\"con_dialog add_dialog\"\r\n        :title=\"isEdit ? '编辑问题' : '添加问题'\"\r\n        :visible.sync=\"dialogVisible\"\r\n        :modal=\"true\"\r\n        :close-on-click-modal=\"false\"\r\n        :destroy-on-close=\"true\"\r\n        :append-to-body=\"true\"\r\n        top=\"0vh\"\r\n      >\r\n        <el-input\r\n          type=\"textarea\"\r\n          :rows=\"4\"\r\n          placeholder=\"请输入15个以内字符\"\r\n          maxlength=\"15\"\r\n          :resize=\"'none'\"\r\n          v-model=\"questiontags_title\"\r\n        >\r\n        </el-input>\r\n        <span slot=\"footer\" class=\"dialog-footer\">\r\n          <el-button v-if=\"isEdit\" v-throttle=\"[delQuestion]\">删 除</el-button>\r\n          <el-button :disabled=\"loading\" v-throttle=\"[addQuestion]\">完 成</el-button>\r\n        </span>\r\n      </el-dialog>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  addQuestiontags,\r\n  addSelectQuestiontags,\r\n  delQuestiontags,\r\n  editQuestiontags,\r\n  getQuestiontags\r\n} from \"@/api/index\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { problemConsciousness_guide } from \"@/utils/intro\";\r\nimport { isChildFullyVisible } from \"@/utils/util\";\r\nimport { Base64 } from \"js-base64\";\r\nimport CommitProblem from './CommitProblem.vue'\r\nimport { decrypt } from \"@/utils/auth\";\r\n\r\nexport default {\r\n  mixins: [fullscreenMixins, openOtherPageMixins],\r\n  components: { CommitProblem },\r\n  data() {\r\n    return {\r\n      mockQuestionList: [\r\n        {\r\n          questiontags_title: \"什么是幸福\"\r\n        },\r\n        {\r\n          questiontags_title: \"怎样得到幸福\"\r\n        },\r\n        {\r\n          questiontags_title: \"认识自己\"\r\n        },\r\n        {\r\n          questiontags_title: \"追求财富\"\r\n        },\r\n        {\r\n          questiontags_title: \"怎样得到幸福\"\r\n        },\r\n        {\r\n          questiontags_title: \"认识自己\"\r\n        }\r\n      ],\r\n      questionList: [],\r\n      tagsSelectted: 0,\r\n      // 是否编辑问题\r\n      isEdit: false,\r\n      // 显示添加/编辑问题\r\n      dialogVisible: false,\r\n      questiontags_title: \"\",\r\n      dataSelect: null,\r\n      showAddBtn: true,\r\n      fullscreen: false,\r\n      isActivated: true,\r\n      courseId: \"\",\r\n      tagsTrue: 0,\r\n      app_type: 2,\r\n      problemConsciousnessGuideMode: 1,\r\n      loading: false,\r\n      timerFullscreen: null,\r\n      timerScroll: null,\r\n      openCommitProblemCard: false\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    courseBase() {\r\n      if (this.$store.getters.courseBase) {\r\n        return this.$store.getters.courseBase;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    },\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if ((newVal || newVal == 0) && this.isActivated) {\r\n          this.courseId = newVal;\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('Problem', 'white');\r\n          this.getQuestiontags();\r\n        }\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        if (newVal) {\r\n          // 判断是否是全屏，是的话切换课程需要先缩小\r\n          this.courseChangeFullscreenWhite('Problem', 'white');\r\n          this.getQuestiontags();\r\n        }\r\n      }\r\n    },\r\n    fullscreen: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if(!v && this.$refs.commitProblem) {\r\n          this.$refs.commitProblem.$data.isSorting = false;\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n  },\r\n  methods: {\r\n    handleScroll() {\r\n      const $commitProblemBox = document.getElementById(\"commitProblemBox\");\r\n      const problemBox = document.getElementById(\"problemBox\");\r\n      const isInViewport = isChildFullyVisible(problemBox, $commitProblemBox);\r\n      if(isInViewport) {\r\n        this.$refs.commitProblem.$data.isScrollIntoView = true;\r\n      } else {\r\n        this.$refs.commitProblem.$data.isScrollIntoView = false;\r\n      }\r\n    },\r\n    setFullscreen(callback) {\r\n      this.toggle('Problem');\r\n      this.timerFullscreen = setTimeout(() => {\r\n        if(callback) {\r\n          callback();\r\n        }\r\n        clearTimeout(this.timerFullscreen);\r\n        this.timerFullscreen = null;\r\n      }, 1000);\r\n    },\r\n    setScrollIntoView(callback) {\r\n      this.$nextTick(() => {\r\n        this.$refs.commitProblem.$el.scrollIntoView({\r\n          behavior: \"smooth\",\r\n          block: \"start\"\r\n        });\r\n        this.timerScroll = setTimeout(() => {\r\n          if(callback) {\r\n            callback();\r\n          }\r\n          clearTimeout(this.timerScroll);\r\n          this.timerScroll = null;\r\n        }, 1000);\r\n        // if(!this.fullscreen) {\r\n        //   this.timer = setTimeout(() => {\r\n        //     this.toggle('Problem');\r\n        //     clearTimeout(this.timer);\r\n        //     this.timer = null;\r\n        //   }, 500);\r\n        // }\r\n      });\r\n    },\r\n    // 获取问题意识标签\r\n    async getQuestiontags() {\r\n      try {\r\n        let tagsSelectted = 0;\r\n        let tagsTrue = 0;\r\n        const res = await getQuestiontags({ course_id: this.course_id });\r\n        if (res && res.code === 0) {\r\n          this.questionList = res.data;\r\n          // 是否为用户自己添加 1是 2否\r\n          let questiontags_isuseradd = 0;\r\n          this.questionList.forEach(item => {\r\n            if (\r\n              item.questiontags_istrue === 1 &&\r\n              item.questiontags_isselect === 1\r\n            ) {\r\n              tagsSelectted += 1;\r\n            }\r\n            if (\r\n              item.questiontags_isuseradd === 2 ||\r\n              item.questiontags_isuseradd === 3\r\n            ) {\r\n              questiontags_isuseradd += 1;\r\n            }\r\n            if (item.questiontags_istrue === 1) {\r\n              tagsTrue += 1;\r\n            }\r\n          });\r\n          this.tagsSelectted = tagsSelectted;\r\n          this.tagsTrue = tagsTrue;\r\n          if (questiontags_isuseradd > 0) {\r\n            this.showAddBtn = false;\r\n          } else {\r\n            this.showAddBtn = true;\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 添加问题\r\n    showAddQuestiontags() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n      const questiontag_num = decrypt(localStorage.getItem(\"questiontag_num\"));\r\n      console.log('showAddQuestiontags:',this.questionList.length, questiontag_num)\r\n      if (this.questionList.length >= questiontag_num) {\r\n        this.$message.warning(`本课问题只允许添加${questiontag_num}个。`);\r\n      } else {\r\n        this.isEdit = false;\r\n        this.questiontags_title = \"\";\r\n        this.dialogVisible = true;\r\n      }\r\n    },\r\n\r\n    // 添加问题\r\n    addQuestion() {\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.dialogVisible = false;\r\n      if (this.isEdit) {\r\n        this.loading = true;\r\n        // 编辑\r\n        this.editQuestiontags();\r\n      } else {\r\n        const questiontag_num = decrypt(localStorage.getItem(\"questiontag_num\"));\r\n        if (this.questionList.length >= questiontag_num) {\r\n          this.$notify.warning({\r\n            title: \"提示\",\r\n            message: `本课问题最多添加${questiontag_num}个问题`\r\n          });\r\n          return;\r\n        }\r\n        this.loading = true;\r\n        // 新增\r\n        this.addQuestiontags();\r\n      }\r\n    },\r\n    // 添加问题意识标签\r\n    async addQuestiontags() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n      try {\r\n        const res = await addQuestiontags({\r\n          course_id: this.course_id,\r\n          questiontags_title: Base64.encode(this.questiontags_title)\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.getQuestiontags();\r\n          // this.questiontags_title = \"\";\r\n        }\r\n        this.loading = false;\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 编辑问题意识标签\r\n    async editQuestiontags() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n      console.log(\"editQuestiontags\");\r\n\r\n      // 内容不为空编辑\r\n      if (this.questiontags_title) {\r\n        try {\r\n          const res = await editQuestiontags({\r\n            course_id: this.course_id,\r\n            questiontags_id: this.dataSelect.questiontags_id,\r\n            questiontags_title: Base64.encode(this.questiontags_title)\r\n          });\r\n          if (res && res.code === 0) {\r\n            this.getQuestiontags();\r\n          }\r\n          this.loading = false;\r\n        } catch (error) {\r\n          this.loading = false;\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error\r\n          // });\r\n        }\r\n      } else {\r\n        // 内容为空删除\r\n        this.delQuestion();\r\n      }\r\n    },\r\n    // 删除问题意识标签\r\n    delQuestion() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n\r\n      this.$confirm(\"确认删除?\", \"\", {\r\n        confirmButtonText: \"确定\",\r\n        cancelButtonText: \"取消\",\r\n        center: true,\r\n        closeOnClickModal: false,\r\n        closeOnPressEscape: false,\r\n        // showClose: false,\r\n        customClass: \"confirmClass\"\r\n      }).then(async () => {\r\n        this.loading = true;\r\n        this.dialogVisible = false;\r\n        try {\r\n          const res = await delQuestiontags({\r\n            questiontags_id: this.dataSelect.questiontags_id\r\n          });\r\n          if (res && res.code === 0) {\r\n            this.getQuestiontags();\r\n            // this.questiontags_title = \"\";\r\n          }\r\n          this.loading = false;\r\n        } catch (error) {\r\n          this.loading = false;\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error\r\n          // });\r\n        }\r\n      }).catch(action => {\r\n          this.loading = false;\r\n          // this.dialogVisible = false;\r\n        });\r\n    },\r\n    // 点击标签\r\n    async selQ(data, index) {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n      try {\r\n        if (data.questiontags_isuseradd === 1) {\r\n          // 自己新增的标签能编辑\r\n          this.isEdit = true;\r\n          this.dialogVisible = true;\r\n          this.dataSelect = data;\r\n          this.questiontags_title = data.questiontags_title;\r\n        } else {\r\n          let tagsSelectted = 0;\r\n          // 官方的：选择问题意识标签\r\n          if (this.questionList[index].questiontags_isselect === 1) {\r\n            this.questionList[index].questiontags_isselect = 2;\r\n          } else {\r\n            this.questionList[index].questiontags_isselect = 1;\r\n          }\r\n          let questiontags_ids = \"\";\r\n          this.questionList.forEach(item => {\r\n            if (item.questiontags_isselect === 1) {\r\n              questiontags_ids += item.questiontags_id + \",\";\r\n              if (item.questiontags_istrue === 1) {\r\n                tagsSelectted += 1;\r\n              }\r\n            }\r\n          });\r\n          this.tagsSelectted = tagsSelectted;\r\n          if (questiontags_ids) {\r\n            questiontags_ids = questiontags_ids.substring(\r\n              0,\r\n              questiontags_ids.length - 1\r\n            );\r\n          }\r\n          if (questiontags_ids === \"\") {\r\n            this.tagsSelectted = 0;\r\n          }\r\n          // 示例笔记不需要操作后台添加已选\r\n          if (this.courseIsuseradd != 3) {\r\n            console.log(\"questiontags_ids:\", questiontags_ids);\r\n            const res = await addSelectQuestiontags({\r\n              course_id: this.course_id,\r\n              questiontags_id: questiontags_ids\r\n            });\r\n            if (res && res.code === 0) {\r\n              this.dialogVisible = false;\r\n              this.questiontags_title = \"\";\r\n              // this.getQuestiontags();\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    // 下一步\r\n    next() {\r\n      // if (this.courseBase.is_open == 2) {\r\n      //   this.$notify.warning({\r\n      //     title: \"提示\",\r\n      //     message: \"课程暂未开放\"\r\n      //   });\r\n      //   return;\r\n      // }\r\n      if(this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      this.$router.push(\"/white/CommitProblem\");\r\n      this.recoverOpenOtherPageIng();\r\n    },\r\n    setProblemConsciousnessGuideMode(status) {\r\n      this.problemConsciousnessGuideMode = status;\r\n    },\r\n    problemConsciousness_initGuide() {\r\n      EventBus.$emit(\"setThinkingGuideMode\", 0);\r\n      problemConsciousness_guide(this, [\r\n        {\r\n          intro:\r\n            \"<div><b>问题意识</b></div><br/><span>文章中要说明和要解决的问题</span>\",\r\n          element: document.querySelector(\"#index_step13\"),\r\n          position: \"bottom\"\r\n        },\r\n        {\r\n          intro:\r\n            \"发现文章中<b>要说明的问题</b>，这跟后面的 “问题解决” 有密切的联系\",\r\n          element: document.querySelector(\"#problemConsciousness_step1\"),\r\n          position: \"top\"\r\n        },\r\n        // {\r\n        //   intro:\r\n        //     \"<b> “问题推荐” </b>由大问题、小问题组成，帮助厘清文章在说明什么问题，又是由哪几个部分所组成\",\r\n        //   element: document.querySelector(\"#copyBig\"),\r\n        //   position: \"right\",\r\n        // },\r\n        // {\r\n        //   intro: \"大问题、小问题，可以自己填写\",\r\n        //   element: document.querySelector(\"#commitProblem_step2\"),\r\n        //   position: \"top\",\r\n        // },\r\n        // {\r\n        //   intro: \"下一步，进入 “问题推荐”\",\r\n        //   element: document.querySelector(\"#problemConsciousness_step2\"),\r\n        //   position: \"top\"\r\n        // }\r\n      ]);\r\n    },\r\n    guide() {\r\n      if (this.$store.getters.pageName === \"white\") {\r\n        EventBus.$emit(\"enableReadOnlyMode\");\r\n        this.setProblemConsciousnessGuideMode(0);\r\n        setTimeout(() => {\r\n          this.problemConsciousness_initGuide();\r\n        }, 600);\r\n      }\r\n    },\r\n    handleKeyDown(e) {\r\n      console.log(\"handleKeyDown:\", e);\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.isActivated = true;\r\n    if (this.courseId !== this.course_id) {\r\n      this.courseId = this.course_id;\r\n      this.getQuestiontags();\r\n    }\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    EventBus.$on(\"CLOSE_FULL_SCREEN\", whiteCom => {\r\n      if (whiteCom === \"Problem\") {\r\n        this.$refs.commitProblem.$data.isSorting = false;\r\n        this.toggle(whiteCom);\r\n      }\r\n    });\r\n    EventBus.$on(\"problem_initGuide\", () => {\r\n      this.guide();\r\n    });\r\n\r\n    EventBus.$on(\"openCommitProblemCard\", (isNeedOutFullscreenAni) => {\r\n      console.log(\"openCommitProblemCard\", isNeedOutFullscreenAni)\r\n      this.openCommitProblemCard = isNeedOutFullscreenAni;\r\n    });\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    //首次弹出问题意识二级-触发问题意识引导\r\n    if (\r\n      guideStatus.problemConsciousness === 0 ||\r\n      guideStatus.problemConsciousness === undefined\r\n    ) {\r\n      EventBus.$emit(\"CLOSE_PROGRESS_THEN\", this.guide);\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.box {\r\n  height: calc(100% + 32px);\r\n  display: flex;\r\n  flex-direction: column;\r\n}\r\n.content-box {\r\n  flex: 1;\r\n  padding: 36px 0 30px 37px;\r\n  background-color: #f2f4f5;\r\n  // height: calc(100% - 24px);\r\n  min-height: 388px;\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: column;\r\n  border-bottom-left-radius: 0;\r\n  border-bottom-right-radius: 0;\r\n}\r\n.name {\r\n  color: @thinking;\r\n}\r\n.content {\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #ffffff;\r\n  line-height: 24px;\r\n  // min-height: 270px;\r\n  // overflow-y: auto;\r\n  padding-top: 6px;\r\n  &.question {\r\n    padding-right: 38px;\r\n  }\r\n  //flex: 1;\r\n}\r\n.title {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  font-size: 16px;\r\n  color: #64AFD5;\r\n  line-height: 24px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  padding-left: 5px;\r\n  position: relative;\r\n  &::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 13px;\r\n    left: 0px;\r\n    width: 2px;\r\n    height: 2px;\r\n    border-radius: 2px;\r\n    background-color: #64afd5;\r\n  }\r\n}\r\n.title1 {\r\n  margin-top: 68px;\r\n}\r\n.operates {\r\n  display: flex;\r\n  justify-content: center;\r\n  .btn {\r\n    width: 154px;\r\n    height: 40px;\r\n    background: #64afd5;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #ffffff;\r\n    border-radius: 11px;\r\n    box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.05);\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    cursor: pointer;\r\n  }\r\n  .disabled  {\r\n    background: #d4d9db;\r\n    color: #fff;\r\n    border-color: #d4d9db;\r\n    box-shadow: 0px 3px 10px 0px rgb(212 217 219 / 49%);\r\n  }\r\n}\r\n.qtitle {\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 14px;\r\n  color: #7E878C;\r\n  line-height: 25px;\r\n  text-align: left;\r\n  font-style: normal;\r\n  display: flex;\r\n  flex-direction: row;\r\n  padding-left: 5px;\r\n  padding-right: 38px;\r\n}\r\n.cMain {\r\n  width: 100%;\r\n  height: 235px;\r\n  padding: 26px 0 27px 0;\r\n  background: rgba(248, 250, 250, 0.9);\r\n  border-radius: 16px;\r\n  margin: 8px auto 0;\r\n  // min-width: 346px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  box-shadow: 3px 3px 14px rgba(0,0,0,0.05);\r\n  overflow-y: auto;\r\n  /deep/ .el-button {\r\n    border-radius: 10px;\r\n    border: none;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    color: #64afd5;\r\n    line-height: 24px;\r\n    align-self: center;\r\n    width: 137px;\r\n    height: 48px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    box-shadow: 2px 2px 6px rgba(0,0,0,0.05);\r\n  }\r\n  /deep/ .el-icon-plus {\r\n    width: 15px;\r\n    height: 14px;\r\n    margin-right: 7px;\r\n    margin-left: -15px;\r\n    font-size: 16px;\r\n    font-weight: 700;\r\n  }\r\n}\r\n.qtishi {\r\n  display: flex;\r\n  flex-direction: row;\r\n  justify-content: flex-end;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-size: 14px;\r\n  color: #D4D9DB;\r\n  line-height: 25px;\r\n  text-align: right;\r\n  font-style: normal;\r\n  padding-left: 8px;\r\n  // padding-right: 25px;\r\n  // padding-bottom: 28px;\r\n  .selected {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    line-height: 25px;\r\n    padding-right: 5px;\r\n  }\r\n}\r\n.tabArea {\r\n  display: flex;\r\n  flex-direction: row;\r\n  flex-wrap: wrap;\r\n  overflow-y: auto;\r\n  flex: 1;\r\n  align-content: flex-start;\r\n  justify-content: flex-start;\r\n  padding-right: 0px;\r\n  padding-left: 40px;\r\n  &::-webkit-scrollbar {\r\n    /*滚动条整体样式*/\r\n    width: 3px;\r\n    /*高宽分别对应横竖滚动条的尺寸*/\r\n    height: 100px;\r\n  }\r\n\r\n  &::-webkit-scrollbar-thumb {\r\n    /*滚动条里面小方块*/\r\n    border-radius: 3px;\r\n    background: #64afd5;\r\n  }\r\n\r\n  &::-webkit-scrollbar-track {\r\n    /*滚动条里面轨道*/\r\n    border-radius: 3px;\r\n    background: #f8f9f9;\r\n  }\r\n  // margin-bottom: 10px;\r\n  .question {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 16px;\r\n    color: #64afd5;\r\n    line-height: 24px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    min-height: 37px;\r\n    padding: 10px 23px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    border-radius: 11px;\r\n    border: 1px solid #64afd5;\r\n    margin-bottom: 21px;\r\n    margin-right: 23px;\r\n    cursor: pointer;\r\n  }\r\n  .correct {\r\n    background: #64afd5;\r\n    box-shadow: 5px 4px 10px 0px rgba(100, 175, 213, 0.49);\r\n    border-radius: 10px;\r\n    color: #fff;\r\n  }\r\n  .error {\r\n    color: #fff;\r\n    background: #afd5e7;\r\n    border-radius: 10px;\r\n    border: 1px solid #afd5e7;\r\n  }\r\n}\r\n\r\n.add_dialog {\r\n  /deep/ .el-dialog {\r\n    border-radius: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n  }\r\n  /deep/ .el-dialog__header {\r\n    border-bottom: 1px solid #64afd5;\r\n    padding: 20px 0 10px 0;\r\n    margin: 0 20px;\r\n  }\r\n  /deep/ .el-dialog__title {\r\n    font-size: 18px;\r\n    font-family: PingFangSC-Medium, PingFang SC;\r\n    font-weight: 500;\r\n    color: #65afd5;\r\n    line-height: 22px;\r\n  }\r\n  /deep/ .el-dialog__body {\r\n    padding: 0 20px;\r\n  }\r\n  /deep/ .dialog-footer {\r\n    display: flex;\r\n    justify-content: flex-end;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    padding: 10px 20px 20px;\r\n  }\r\n  /deep/ .el-dialog__headerbtn {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #64afd5;\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    font-size: 18px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #838b90;\r\n    line-height: 27px;\r\n    letter-spacing: 1px;\r\n    padding: 5px 0px;\r\n    border: none;\r\n  }\r\n  /* 使用 ::placeholder 伪元素来设置 placeholder 的样式 */\r\n/deep/ .el-textarea ::placeholder {\r\n  font-size: 18px; /* 设置字号 */\r\n  // color: #999; /* 可以设置其他样式 */\r\n}\r\n  /deep/ .el-button {\r\n    width: 72px;\r\n    height: 30px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    border-color: #64afd5;\r\n    padding: 7px;\r\n    border-radius: 10px;\r\n  }\r\n}\r\n.openCommitProblemCard {\r\n  -webkit-animation: openCommitProblemCardAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: openCommitProblemCardAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes openCommitProblemCardAni {\r\n  0% {\r\n    padding-left:10px;\r\n    margin-left: 18px;\r\n  }\r\n  100% {\r\n    padding-left: 0;\r\n    margin-left: 0;\r\n  }\r\n}\r\n// *::-webkit-scrollbar {\r\n//   /*滚动条整体样式*/\r\n//   width: 2px;\r\n// }\r\n// *::-webkit-scrollbar-track {\r\n//   /*滚动条里面轨道*/\r\n//   background: #fff;\r\n// }\r\n// *::-webkit-scrollbar-thumb {\r\n//   /*滚动条里面小方块*/\r\n//   border-radius: 10px;\r\n//   height: 20px;\r\n//   background: #64afd5;\r\n// }\r\n\r\n.guide_tabArea {\r\n  display: flex;\r\n  flex-direction: row;\r\n  flex-wrap: wrap;\r\n  overflow-y: auto;\r\n  height: 330px;\r\n  align-content: flex-start;\r\n  padding-left: 20px;\r\n\r\n  .guide_question {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    flex: 1 0 30%; /* 每个元素占据50%的宽度 */\r\n    font-size: 14px;\r\n    color: #64afd5;\r\n    font-style: normal;\r\n    padding: 12px 24px;\r\n    border-radius: 11px;\r\n    border: 1px solid #64afd5;\r\n    margin-right: 22px;\r\n    margin-bottom: 34px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/problem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],class:[\n  _vm.fullscreen ? 'big-view-box bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view-box' : ''\n],staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"box\",class:_vm.fullscreen ? 'fullBox' : ''},[_c('div',{staticClass:\"box-content-name name\",class:[\n        !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-box-content-name' : '',\n        _vm.fullscreen && _vm.openCommitProblemCard ? 'openCommitProblemCard' : ''\n      ]},[(!_vm.fullscreen)?_c('span',[_vm._v(\"问题意识\")]):_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggle('Problem')}}},[_vm._v(\"问题意识\")])]),_vm._v(\" \"),(_vm.problemConsciousnessGuideMode === 1)?_c('div',{staticClass:\"content-box\",attrs:{\"id\":\"problemBox\"},on:{\"scroll\":_vm.handleScroll}},[(!_vm.fullscreen)?_c('img',{staticClass:\"fullscreen fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen.svg\")},on:{\"click\":function($event){return _vm.toggle('Problem')}}}):_c('img',{staticClass:\"fullscreen fullscreenHover\",class:_vm.fullscreen ? 'fullscreenExit' : '',attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_thinking_w.svg\")},on:{\"click\":function($event){return _vm.toggle('Problem')}}}),_vm._v(\" \"),(_vm.app_type == 2)?_c('div',{staticClass:\"title\"},[_vm._v(\"本课问题\")]):_c('div',{staticClass:\"title\"},[_vm._v(\"主要问题\")]),_vm._v(\" \"),_c('div',{staticClass:\"content question\"},[_c('div',{staticStyle:{\"display\":\"flex\"}},[(_vm.app_type == 2)?_c('p',{staticClass:\"qtitle\"},[_vm._v(\"本课在说明哪些问题（多选）\")]):_c('p',{staticClass:\"qtitle\"},[_vm._v(\"请添加文章中要说明的问题\")]),_vm._v(\" \"),(_vm.questionList.length > 0)?_c('div',{staticClass:\"qtishi\"},[(!_vm.showAddBtn)?_c('span',{class:_vm.tagsSelectted > 0 ? 'selected' : ''},[_vm._v(_vm._s(_vm.tagsSelectted)+\"\\n            \")]):_vm._e(),_vm._v(\" \"),(!_vm.showAddBtn)?_c('span',[_vm._v(\"/ \"+_vm._s(_vm.tagsTrue))]):_vm._e()]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"cMain\",style:({\n            justifyContent:\n              _vm.questionList.length === 0 ? 'center' : 'flex-start'\n          })},[(_vm.questionList.length > 0)?_c('div',{staticClass:\"tabArea\"},_vm._l((_vm.questionList),function(item,index){return _c('div',{key:index,staticClass:\"question\",class:!_vm.showAddBtn\n                  ? item.questiontags_isselect === 1\n                    ? item.questiontags_istrue === 1\n                      ? 'correct'\n                      : 'error'\n                    : ''\n                  : '',on:{\"click\":function($event){return _vm.selQ(item, index)}}},[_vm._v(\"\\n              \"+_vm._s(item.questiontags_title)+\"\\n            \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.showAddBtn && _vm.courseIsuseradd != 3)?_c('el-button',{attrs:{\"type\":\"default\",\"icon\":\"el-icon-plus\"},on:{\"click\":_vm.showAddQuestiontags}},[_vm._v(\"添加问题\")]):_vm._e()],1)]),_vm._v(\" \"),(_vm.app_type == 2)?_c('div',{staticClass:\"title title1\"},[_vm._v(\"问题推荐\")]):_c('div',{staticClass:\"title title1\"},[_vm._v(\"问题推荐\")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[(_vm.app_type == 2)?_c('p',{staticClass:\"qtitle\"},[_vm._v(\"通过提问（可参考辅助材料），进一步思考本课问题是怎么展开说明的\")]):_c('p',{staticClass:\"qtitle\"},[_vm._v(\"通过提问，进一步思考主要问题是怎么展开说明的\")]),_vm._v(\" \"),_c('CommitProblem',{ref:\"commitProblem\",attrs:{\"fullscreen\":_vm.fullscreen},on:{\"setScrollIntoView\":_vm.setScrollIntoView,\"setFullscreen\":_vm.setFullscreen}})],1)]):_vm._e(),_vm._v(\" \"),(_vm.problemConsciousnessGuideMode === 0)?_c('div',{staticClass:\"content-box\",attrs:{\"id\":\"problemBox\"}},[(_vm.app_type == 2)?_c('div',{staticClass:\"title\"},[_vm._v(\"本课问题\")]):_c('div',{staticClass:\"title\"},[_vm._v(\"主要问题\")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticStyle:{\"display\":\"flex\"}},[(_vm.app_type == 2)?_c('p',{staticClass:\"qtitle\"},[_vm._v(\"本课在说明哪些问题（多选）\")]):_c('p',{staticClass:\"qtitle\"},[_vm._v(\"请添加文章中要说明的问题\")]),_vm._v(\" \"),(_vm.questionList.length > 0)?_c('div',{staticClass:\"qtishi\"},[_c('span',{class:_vm.tagsSelectted > 0 ? 'selected' : ''},[_vm._v(\"2\\n            \")]),_vm._v(\" \"),_c('span',[_vm._v(\"/ \"+_vm._s(10))])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"cMain\",style:({\n            justifyContent: 'flex-start'\n          }),attrs:{\"id\":\"problemConsciousness_step1\"}},[_c('div',{staticClass:\"tabArea\"},_vm._l((_vm.mockQuestionList),function(item,index){return _c('div',{key:index,staticClass:\"question\",class:index == 0 || index == 5 ? 'correct' : 'error'},[_vm._v(\"\\n              \"+_vm._s(item.questiontags_title)+\"\\n            \")])}),0),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"default\",\"icon\":\"el-icon-plus\"}},[_vm._v(\"添加问题\")])],1)]),_vm._v(\" \"),(_vm.app_type == 2)?_c('div',{staticClass:\"title title1\"},[_vm._v(\"问题推荐\")]):_c('div',{staticClass:\"title title1\"},[_vm._v(\"问题推荐\")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[(_vm.app_type == 2)?_c('p',{staticClass:\"qtitle\"},[_vm._v(\"通过提问（可参考辅助材料），进一步思考本课问题是怎么展开说明的\")]):_c('p',{staticClass:\"qtitle\"},[_vm._v(\"通过提问，进一步思考主要问题是怎么展开说明的\")]),_vm._v(\" \"),_c('CommitProblem',{ref:\"commitProblem\",attrs:{\"fullscreen\":_vm.fullscreen},on:{\"setScrollIntoView\":_vm.setScrollIntoView,\"setFullscreen\":_vm.setFullscreen}})],1)]):_vm._e(),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog add_dialog\",attrs:{\"title\":_vm.isEdit ? '编辑问题' : '添加问题',\"visible\":_vm.dialogVisible,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":4,\"placeholder\":\"请输入15个以内字符\",\"maxlength\":\"15\",\"resize\":'none'},model:{value:(_vm.questiontags_title),callback:function ($$v) {_vm.questiontags_title=$$v},expression:\"questiontags_title\"}}),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.isEdit)?_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.delQuestion]),expression:\"[delQuestion]\"}]},[_vm._v(\"删 除\")]):_vm._e(),_vm._v(\" \"),_c('el-button',{directives:[{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.addQuestion]),expression:\"[addQuestion]\"}],attrs:{\"disabled\":_vm.loading}},[_vm._v(\"完 成\")])],1)],1)],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2be75322\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/problem.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2be75322\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./problem.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./problem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./problem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2be75322\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./problem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2be75322\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/problem.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"swiper\">\r\n    <swiper id=\"mySwiper\" ref=\"mySwiper\" :options=\"swiperOptions\">\r\n      <swiper-slide\r\n        v-for=\"(item, index) in slides\"\r\n        :key=\"'slide' + index\"\r\n        :id=\"`slide${index}`\"\r\n      >\r\n        <el-card class=\"box-card\" :class=\"item.status ? 'box-card1' : ''\">\r\n          <div class=\"header\">\r\n            <span class=\"num\" :class=\"item.status ? 'num1' : 'num0'\"\r\n              >{{ index + 1 + \".\" }}\r\n            </span>\r\n            <span class=\"status\" :class=\"item.status ? 'status1' : 'status0'\">{{\r\n              item.status ? \"已解决\" : \"待解决\"\r\n            }}</span>\r\n          </div>\r\n          <div class=\"text item\" :class=\"item.status ? 'text1' : 'text0'\">\r\n            <span class=\"text-content prewrap-content\"\r\n              >{{ item.course_question_title }}\r\n            </span>\r\n            <img v-if=\"item.status\" src=\"@/assets/img/quesion_done.svg\" />\r\n          </div>\r\n        </el-card>\r\n      </swiper-slide>\r\n      <div class=\"swiper-pagination\" slot=\"pagination\"></div>\r\n    </swiper>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\n//导入swiper\r\nimport \"swiper/dist/css/swiper.css\";\r\nimport { swiper, swiperSlide } from \"vue-awesome-swiper\";\r\nexport default {\r\n  name: \"default\",\r\n  components: {\r\n    swiper,\r\n    swiperSlide\r\n  },\r\n  computed: {\r\n    swiper() {\r\n      return this.$refs.mySwiper.swiper;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseProgress() {\r\n      return this.$store.getters.courseProgress;\r\n    },\r\n    moralComprehend() {\r\n      return this.$store.getters.moralComprehend;\r\n    },\r\n    questionList() {\r\n      return this.$store.getters.questionList;\r\n    }\r\n  },\r\n  watch: {\r\n    courseProgress: {\r\n      deep: true,\r\n      handler: function(v) {\r\n        console.log(\"courseProgress:\", this.courseProgress);\r\n        this.progress_solve_question_ids = v.progress_solve_question_ids || \"\";\r\n        let len = this.progress_solve_question_ids\r\n          ? this.progress_solve_question_ids.split(\",\").length\r\n          : 0;\r\n        this.solveIdsLen = len;\r\n        this.seePercent = parseFloat(len / this.slides.length).toFixed(2) * 100;\r\n      }\r\n    },\r\n    moralComprehend: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"moralComprehend:\", newVal);\r\n        console.log(\"this.inited:\", this.inited);\r\n        if (!this.inited) {\r\n          const course_question_id = this.moralComprehend.course_question_id;\r\n          let swiper = this.$refs.mySwiper.swiper;\r\n          this.slides.forEach((item, index) => {\r\n            if (\r\n              item.course_question_id == course_question_id &&\r\n              swiper.slides[index]\r\n            ) {\r\n              console.log(\"clickSlide\");\r\n              this.clickSlide(index);\r\n            }\r\n          });\r\n        }\r\n      }\r\n    },\r\n    questionList: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"questionList:\", newVal);\r\n        this.slides = newVal;\r\n        let unsolved = [];\r\n        if (!this.inited && this.isActivated) {\r\n          // 选中第一个未解决的\r\n          this.slides.forEach((item, i) => {\r\n            const course_question_id = item.course_question_id;\r\n            if (\r\n              this.progress_solve_question_ids.indexOf(course_question_id) > -1\r\n            ) {\r\n            } else {\r\n              unsolved.push(item);\r\n            }\r\n          });\r\n          if (unsolved.length) {\r\n            this.$store\r\n              .dispatch(\"setMoralComprehend\", unsolved[0])\r\n              .then(() => {});\r\n          } else if (this.slides.length) {\r\n            this.$store\r\n              .dispatch(\"setMoralComprehend\", this.slides[0])\r\n              .then(() => {});\r\n          }\r\n        }\r\n\r\n        let len = this.progress_solve_question_ids\r\n          ? this.progress_solve_question_ids.split(\",\").length\r\n          : 0;\r\n        this.seePercent = parseFloat(len / this.slides.length).toFixed(2) * 100;\r\n        // if (!this.inited) {\r\n        //   this.initSwiper();\r\n        // }\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      swiperOptions: {\r\n        mousewheel: true, //开启鼠标滚轮控制Swiper切换\r\n        direction: \"vertical\",\r\n        slidesPerView: 5,\r\n        spaceBetween: 20,\r\n        centeredSlides: true,\r\n        slidesPerView: \"auto\",\r\n        pagination: {\r\n          el: \".swiper-pagination\", //与slot=\"pagination\"处 class 一致\r\n          clickable: true //轮播按钮支持点击\r\n        },\r\n        // height: 300,\r\n        // 当你创建一个Swiper实例时是否立即初始化，这里我们手动初始化\r\n        init: false,\r\n        on: {\r\n          init: () => {\r\n            console.log(\"init:::::::::::;\", this.moralComprehend);\r\n            console.log(this.slides);\r\n            if (\r\n              this.moralComprehend &&\r\n              this.moralComprehend.course_question_id\r\n            ) {\r\n              const course_question_id = this.moralComprehend\r\n                .course_question_id;\r\n              this.slides.forEach((item, index) => {\r\n                if (item.course_question_id == course_question_id) {\r\n                  this.$nextTick(() => {\r\n                    console.log(\"clickSlide\");\r\n                    this.clickSlide(index);\r\n                  });\r\n                }\r\n              });\r\n            }\r\n          },\r\n          click: e => {\r\n            let swiper = this.$refs.mySwiper.swiper;\r\n            console.log(\"swiper.clickedIndex:\", swiper.clickedIndex);\r\n            if (swiper.clickedIndex || swiper.clickedIndex === 0) {\r\n              this.selectedData = this.slides[swiper.clickedIndex];\r\n              console.log(this.selectedData, swiper.clickedIndex);\r\n              this.swiper.realIndex = swiper.clickedIndex;\r\n              this.swiper.activeIndex = swiper.clickedIndex;\r\n              this.swiper.slideTo(swiper.clickedIndex);\r\n              let slides = swiper.slides;\r\n              for (let i = 0; i < slides.length; i++) {\r\n                const slide = slides[i];\r\n                slide.style.transform = `scale(${1})`;\r\n              }\r\n\r\n              swiper.slides[\r\n                swiper.clickedIndex\r\n              ].style.transform = `scale(${1.15})`;\r\n              this.$store\r\n                .dispatch(\"setMoralComprehend\", this.selectedData)\r\n                .then(() => {});\r\n            } else if (swiper.activeIndex || swiper.activeIndex === 0) {\r\n              this.swiper.realIndex = swiper.activeIndex;\r\n              this.swiper.slideTo(swiper.activeIndex);\r\n              let slides = swiper.slides;\r\n              for (let i = 0; i < slides.length; i++) {\r\n                const slide = slides[i];\r\n                slide.style.transform = `scale(${1})`;\r\n              }\r\n              swiper.slides[\r\n                swiper.activeIndex\r\n              ].style.transform = `scale(${1.2})`;\r\n              this.selectedData = this.slides[swiper.activeIndex];\r\n              this.$store\r\n                .dispatch(\"setMoralComprehend\", this.selectedData)\r\n                .then(() => {});\r\n            }\r\n          }\r\n          // slideChange: function () {\r\n          // },\r\n        }\r\n      },\r\n      slides: [],\r\n      progress_solve_question_ids: \"\",\r\n      solveIdsLen: 0,\r\n      selectedData: null,\r\n      inited: false,\r\n      isActivated: true\r\n    };\r\n  },\r\n  methods: {\r\n    // 请求玩再初始化\r\n    initSwiper() {\r\n      this.inited = true;\r\n      this.$nextTick(async () => {\r\n        await this.swiper.init(); // 现在才初始化\r\n        const course_question_id = this.moralComprehend.course_question_id;\r\n        this.slides.forEach((item, index) => {\r\n          if (item.course_question_id == course_question_id) {\r\n            console.log(\"clickSlide\");\r\n            this.clickSlide(index);\r\n          }\r\n        });\r\n        // await this.swiper.setTranslate(`translateX(${10}%)`);\r\n      });\r\n    },\r\n    clickSlide(activeIndex) {\r\n      let swiper = this.$refs.mySwiper.swiper;\r\n      console.log(\"swiper.clickedIndex:\", activeIndex);\r\n      if (activeIndex || activeIndex === 0) {\r\n        this.selectedData = this.slides[activeIndex];\r\n        console.log(this.selectedData, activeIndex);\r\n        this.swiper.realIndex = activeIndex;\r\n        this.swiper.activeIndex = activeIndex;\r\n        this.swiper.slideTo(activeIndex);\r\n        let slides = swiper.slides;\r\n        for (let i = 0; i < slides.length; i++) {\r\n          const slide = slides[i];\r\n          slide.style.transform = `scale(${1})`;\r\n        }\r\n\r\n        swiper.slides[activeIndex].style.transform = `scale(${1.15})`;\r\n      }\r\n    },\r\n    toProblemSolveDetail() {\r\n      const mySwiper = document.getElementById(\"mySwiper\");\r\n      mySwiper.style.left = this.$px2rem(-550);\r\n      mySwiper.style.transition = \"all 0.3s linear\";\r\n    },\r\n    backFromProblemSolveDetail() {\r\n      const mySwiper = document.getElementById(\"mySwiper\");\r\n      mySwiper.style.left = this.$px2rem(280);\r\n      mySwiper.style.transition = \"all 0.3s linear\";\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.inited = false;\r\n    this.isActivated = true;\r\n  },\r\n  deactivated() {\r\n    this.isActivated = false;\r\n  },\r\n  mounted() {\r\n    console.log(\"moralquestionsaside mounted\");\r\n    this.progress_solve_question_ids =\r\n      this.courseProgress.progress_solve_question_ids || \"\";\r\n    this.slides = this.questionList;\r\n    let len = this.progress_solve_question_ids\r\n      ? this.progress_solve_question_ids.split(\",\").length\r\n      : 0;\r\n    this.seePercent = parseFloat(len / this.slides.length).toFixed(2) * 100;\r\n    if (!this.inited) {\r\n      this.initSwiper();\r\n    }\r\n    // EventBus.$on(\"TO_WHITE_THINK_PROBLEM_SOLVE\", () => {\r\n    //   this.toProblemSolveDetail();\r\n    // });\r\n    // EventBus.$on(\"BACKTO_WHITE_THINK_PROBLEM_SOLVE\", () => {\r\n    //   this.backFromProblemSolveDetail();\r\n    // });\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n@import \"~@/assets/styles/variable.less\";\r\n.swiper {\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n/deep/ .swiper-container {\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n/deep/ .swiper-wrapper {\r\n  // align-items: center;\r\n  padding-left: 50px;\r\n}\r\n/deep/ .swiper-slide {\r\n  width: 80%;\r\n  // padding-bottom: 28.1%;\r\n  // height: 200px !important;\r\n  background-size: cover;\r\n  background-position: center center;\r\n  background-repeat: no-repeat;\r\n\r\n  /* Center slide text vertically */\r\n  display: -webkit-box;\r\n  display: -ms-flexbox;\r\n  display: -webkit-flex;\r\n  display: flex;\r\n  -webkit-box-pack: center;\r\n  -ms-flex-pack: center;\r\n  -webkit-justify-content: center;\r\n  justify-content: center;\r\n  -webkit-box-align: center;\r\n  -ms-flex-align: center;\r\n  -webkit-align-items: center;\r\n  align-items: center;\r\n  &:hover {\r\n    transform: scale(1.15, 1.15);\r\n  }\r\n}\r\n/* 在CSS中使用媒体查询 */\r\n/* 大屏幕样式 */\r\n@media (min-width: 1366px) {\r\n  /* 添加针对大屏幕的样式 */\r\n  /deep/ .swiper-slide {\r\n    height: 200px !important;\r\n  }\r\n}\r\n\r\n/* 小屏幕样式 */\r\n@media (max-width: 1366px) {\r\n  /* 添加针对小屏幕的样式 */\r\n  /deep/ .swiper-slide {\r\n    height: 140px !important;\r\n  }\r\n}\r\n/deep/ .swiper-pagination {\r\n  left: 0px;\r\n  z-index: 5;\r\n  width: 20px;\r\n}\r\n/deep/ .swiper-pagination-bullet-active {\r\n  background-color: @thinking;\r\n}\r\n/deep/ .el-card {\r\n  border-radius: 16px;\r\n}\r\n.box-card {\r\n  // width: 100%;\r\n  width: 18.58rem;\r\n  height: 11.58rem;\r\n  background: #fdfdfd;\r\n  box-shadow: 0rem 1.25rem 1.17rem 0rem rgba(0, 0, 0, 0.1);\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  border: none;\r\n  .header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    .num {\r\n      font-size: 1.75rem;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #ffffff;\r\n      line-height: 2.33rem;\r\n    }\r\n    .status {\r\n      font-size: 1rem;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #7e878c;\r\n      line-height: 1.5rem;\r\n    }\r\n    .num0 {\r\n      color: @thinking;\r\n    }\r\n    .status0 {\r\n      color: #7e878c;\r\n    }\r\n    .num1 {\r\n      color: #ffffff;\r\n    }\r\n    .status1 {\r\n      color: rgba(255, 255, 255, 0.8);\r\n    }\r\n  }\r\n  .text {\r\n    font-size: 1.25rem;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    color: #64afd5;\r\n    line-height: 2rem;\r\n    padding: 1rem 0 2rem 0;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    img {\r\n      width: 39px;\r\n      height: 39px;\r\n    }\r\n  }\r\n  .text0 {\r\n    color: @thinking;\r\n  }\r\n  .text1 {\r\n    color: #ffffff;\r\n  }\r\n  .text-content {\r\n    width: 80%;\r\n    height: 4.33rem;\r\n    overflow-y: auto;\r\n    img {\r\n      width: 3.5rem;\r\n      height: 3.5rem;\r\n    }\r\n  }\r\n  &.box-card1 {\r\n    background: @thinking;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MoralQuestionsAside.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"swiper\"},[_c('swiper',{ref:\"mySwiper\",attrs:{\"id\":\"mySwiper\",\"options\":_vm.swiperOptions}},[_vm._l((_vm.slides),function(item,index){return _c('swiper-slide',{key:'slide' + index,attrs:{\"id\":(\"slide\" + index)}},[_c('el-card',{staticClass:\"box-card\",class:item.status ? 'box-card1' : ''},[_c('div',{staticClass:\"header\"},[_c('span',{staticClass:\"num\",class:item.status ? 'num1' : 'num0'},[_vm._v(_vm._s(index + 1 + \".\")+\"\\n          \")]),_vm._v(\" \"),_c('span',{staticClass:\"status\",class:item.status ? 'status1' : 'status0'},[_vm._v(_vm._s(item.status ? \"已解决\" : \"待解决\"))])]),_vm._v(\" \"),_c('div',{staticClass:\"text item\",class:item.status ? 'text1' : 'text0'},[_c('span',{staticClass:\"text-content prewrap-content\"},[_vm._v(_vm._s(item.course_question_title)+\"\\n          \")]),_vm._v(\" \"),(item.status)?_c('img',{attrs:{\"src\":require(\"@/assets/img/quesion_done.svg\")}}):_vm._e()])])],1)}),_vm._v(\" \"),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1ddd8276\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MoralQuestionsAside.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1ddd8276\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MoralQuestionsAside.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralQuestionsAside.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralQuestionsAside.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1ddd8276\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MoralQuestionsAside.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1ddd8276\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MoralQuestionsAside.vue\n// module id = null\n// module chunks = ","<!-- 道德上的理解 -->\r\n<!--  -->\r\n<template>\r\n  <div class=\"content-box big-view bg-white\">\r\n    <el-container>\r\n      <el-aside>\r\n        <div class=\"title\" style=\"cursor: pointer\" @click=\"back\">\r\n          <img\r\n            src=\"@/assets/img/thinking.svg\"\r\n          />\r\n          {{ app_type == 2 ? '本课问题解决' : '问题解决' }}\r\n          \r\n        </div>\r\n        <div class=\"question_wrapper\">\r\n          <MoralQuestionsAside />\r\n        </div>\r\n      </el-aside>\r\n      <el-main>\r\n        <MoralQuestionsMain />\r\n      </el-main>\r\n    </el-container>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport MoralQuestionsAside from \"./MoralQuestionsAside.vue\";\r\nimport MoralQuestionsMain from \"./MoralQuestionsMain.vue\";\r\nexport default {\r\n  components: { MoralQuestionsAside, MoralQuestionsMain },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      app_type: 1\r\n    };\r\n  },\r\n  computed: {\r\n  },\r\n  watch: {},\r\n  methods: {\r\n    back() {\r\n      this.$router.back();\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    console.log(\"activated moralcomprehend\");\r\n    // let params = this.$route.query;\r\n    // if (params) {\r\n    //   this.moralComprehend = JSON.parse(params);\r\n    // } else {\r\n    //   this.moralComprehend = {};\r\n    // }\r\n\r\n    // console.log(params);\r\n  },\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.fullscreen = true;\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.el-aside {\r\n  width: 29.67rem !important;\r\n}\r\n.content-box {\r\n  // width: 100%;\r\n  // height: calc(100vh - 60px);\r\n  // margin-top: 60px;\r\n  // min-height: 388px;\r\n  // background: #eaedef;\r\n  .title {\r\n    display: flex;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: bold;\r\n    color: #64afd5;\r\n    line-height: 28px;\r\n    align-items: center;\r\n    img {\r\n      width: 45px;\r\n      height: 45px;\r\n      margin-right: 8px;\r\n    }\r\n  }\r\n  .question_wrapper {\r\n    position: relative;\r\n    width: 100%;\r\n    height: calc(100% - 60px);\r\n    overflow-y: auto;\r\n    z-index: 30;\r\n    padding-bottom: 10px;\r\n  }\r\n}\r\n.el-container {\r\n  height: 100%;\r\n  padding: 21px 37px;\r\n}\r\n\r\n/deep/ .el-button {\r\n  border-color: @behavior;\r\n  background: @behavior;\r\n  color: #fff;\r\n  width: 183px;\r\n  height: 56px;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/MoralComprehend.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-box big-view bg-white\"},[_c('el-container',[_c('el-aside',[_c('div',{staticClass:\"title\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":_vm.back}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/thinking.svg\")}}),_vm._v(\"\\n        \"+_vm._s(_vm.app_type == 2 ? '本课问题解决' : '问题解决')+\"\\n        \\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"question_wrapper\"},[_c('MoralQuestionsAside')],1)]),_vm._v(\" \"),_c('el-main',[_c('MoralQuestionsMain')],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-117e1800\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/MoralComprehend.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-117e1800\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MoralComprehend.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralComprehend.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoralComprehend.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-117e1800\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MoralComprehend.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-117e1800\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/MoralComprehend.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"content-box big-view bg-white bg-black contentBlack-box\"\r\n    :class=\"fadeClass\"\r\n  >\r\n    <div class=\"detail\">\r\n      <div class=\"content-wrapper\">\r\n        <img class=\"close\" src=\"@/assets/img/close.svg\" @click=\"back\" />\r\n        <div class=\"sub-title\" :class=\"'sub-title' + case_tag_type\">\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 1 && cases\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === cases.case_tag_id\r\n                  ? 'culture'\r\n                  : 'culture culture1'\r\n              \"\r\n              v-for=\"(item, index) in cultureCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 2 && cases\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === cases.case_tag_id\r\n                  ? 'thinking'\r\n                  : 'thinking thinking1'\r\n              \"\r\n              v-for=\"(item, index) in thingingCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 3 && cases\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === cases.case_tag_id\r\n                  ? 'behavior'\r\n                  : 'behavior behavior1'\r\n              \"\r\n              v-for=\"(item, index) in behaviorCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 4 && cases\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === cases.case_tag_id\r\n                  ? 'personality'\r\n                  : 'personality personality1'\r\n              \"\r\n              v-for=\"(item, index) in perCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n\r\n          <!-- <div class=\"title thinking\" v-if=\"case_tag_type == 2\">\r\n            {{ cases && cases.case_tag_title }}\r\n          </div>\r\n          <div class=\"title behavior\" v-if=\"case_tag_type == 3\">\r\n            {{ cases && cases.case_tag_title }}\r\n          </div>\r\n          <div class=\"title personality\" v-if=\"case_tag_type == 4\">\r\n            {{ cases && cases.case_tag_title }}\r\n          </div> -->\r\n        </div>\r\n        <span class=\"contentDetail prewrap-content\">\r\n          {{ cases && cases.course_case_content }}\r\n        </span>\r\n        <!-- <div class=\"operates culture\" v-if=\"case_tag_type == 1\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates thinking\" v-if=\"case_tag_type == 2\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates behavior\" v-if=\"case_tag_type == 3\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates personality\" v-if=\"case_tag_type == 4\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div> -->\r\n      </div>\r\n    </div>\r\n    <!-- <div class=\"confirm\">\r\n      <img\r\n        src=\"@/assets/img/confirm_tips.svg\"\r\n        width=\"63\"\r\n        height=\"63\"\r\n        @click=\"back\"\r\n      />\r\n    </div> -->\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  getCourseCaseDetail,\r\n  getUserCaseDetail,\r\n  getNoteCourseCaseDetail\r\n} from \"@/api/index.js\";\r\nexport default {\r\n  components: {},\r\n  props: {},\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      case_tag_type: \"\",\r\n      course_case_isuseradd: \"\",\r\n      cultureCaseTags: [],\r\n      thingingCaseTags: [],\r\n      behaviorCaseTags: [],\r\n      perCaseTags: [],\r\n      course_case_id: \"\",\r\n      case_tag_type: \"\",\r\n      cases: {},\r\n      fadeClass: \"\"\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    caseTags() {\r\n      return this.$store.getters.caseTags;\r\n    }\r\n  },\r\n  watch: {\r\n    caseTags: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"caseTags:\", newVal);\r\n        this.cultureCaseTags = [];\r\n        this.thingingCaseTags = [];\r\n        this.behaviorCaseTags = [];\r\n        this.perCaseTags = [];\r\n        if (newVal || newVal == 0) {\r\n          newVal.forEach(item => {\r\n            if (item.case_tag_type === 1) {\r\n              this.cultureCaseTags.push(item);\r\n            } else if (item.case_tag_type === 2) {\r\n              this.thingingCaseTags.push(item);\r\n            } else if (item.case_tag_type === 3) {\r\n              this.behaviorCaseTags.push(item);\r\n            } else {\r\n              this.perCaseTags.push(item);\r\n            }\r\n          });\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    async getCourseCaseDetail() {\r\n      try {\r\n        const res = await getCourseCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n          case_tag_type: this.case_tag_type\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async getUserCaseDetail() {\r\n      try {\r\n        const res = await getUserCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n          case_tag_type: this.case_tag_type\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    async getNoteCourseCaseDetail() {\r\n      try {\r\n        const res = await getNoteCourseCaseDetail({\r\n          course_case_id: this.course_case_id,\r\n          case_tag_type: this.case_tag_type\r\n        });\r\n        if (res && res.code === 0) {\r\n          this.cases = res.data[0];\r\n        }\r\n      } catch (error) {\r\n        this.$notify.error({\r\n          title: \"错误\",\r\n          message: error\r\n        });\r\n      }\r\n    },\r\n    back() {\r\n      this.fadeClass = \"fadeout\";\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        this.$router.back();\r\n      }, 500);\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.course_case_id = this.$route.query.course_case_id;\r\n    this.case_tag_type = this.$route.query.case_tag_type;\r\n    this.course_case_isuseradd = this.$route.query.course_case_isuseradd;\r\n    this.fadeClass = \"fadeIn\";\r\n    if (this.course_case_isuseradd == 1) {\r\n      this.getUserCaseDetail();\r\n    } else if (this.course_case_isuseradd == 2) {\r\n      this.getCourseCaseDetail();\r\n    } else {\r\n      this.getNoteCourseCaseDetail();\r\n    }\r\n  },\r\n  mounted() {\r\n    console.log(this.cases);\r\n    this.fullscreen = true;\r\n    if (this.cases) {\r\n      this.case_tag_type = this.cases.case_tag_type;\r\n      if (this.caseTags) {\r\n        this.caseTags.forEach(item => {\r\n          if (item.case_tag_type === 1) {\r\n            this.cultureCaseTags.push(item);\r\n          } else if (item.case_tag_type === 2) {\r\n            this.thingingCaseTags.push(item);\r\n          } else if (item.case_tag_type === 3) {\r\n            this.behaviorCaseTags.push(item);\r\n          } else {\r\n            this.perCaseTags.push(item);\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n  .content-box {\r\n    height: 100%;\r\n  }\r\n}\r\n.close {\r\n  width: 39px;\r\n  height: 39px;\r\n  cursor: pointer;\r\n  position: absolute;\r\n  top: 0;\r\n  right: -52px;\r\n}\r\n.box {\r\n  height: 100%;\r\n}\r\n.detail {\r\n  display: flex;\r\n  justify-content: center;\r\n  height: calc(100% - 63px);\r\n  background-color: #1d2223;\r\n  padding: 53px 108px 46px 108px;\r\n}\r\n.content-box {\r\n  width: 100%;\r\n  height: 100%;\r\n  min-height: 388px;\r\n  z-index: 1000;\r\n  .content-wrapper {\r\n    display: flex;\r\n    flex-direction: column;\r\n    padding: 48px 39px;\r\n    border-radius: 16px;\r\n    background-color: #121416;\r\n    position: relative;\r\n    width: 80%;\r\n    height: 100%;\r\n  }\r\n  .tag-wrapper {\r\n    display: flex;\r\n  }\r\n  .sub-title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #ffffff;\r\n    line-height: 27px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    padding-left: 26px;\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    position: relative;\r\n    &.sub-title1 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 3px;\r\n        height: 25px;\r\n        background: @culture;\r\n      }\r\n    }\r\n    &.sub-title2 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 3px;\r\n        height: 100%;\r\n        background: @thinking;\r\n      }\r\n    }\r\n    &.sub-title3 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 3px;\r\n        height: 100%;\r\n        background: @behavior;\r\n      }\r\n    }\r\n    &.sub-title4 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 3px;\r\n        height: 100%;\r\n        background: @personality;\r\n      }\r\n    }\r\n\r\n    .title {\r\n      width: 91px;\r\n      height: 27px;\r\n      background: #000;\r\n      border-radius: 8px;\r\n      display: -webkit-box;\r\n      display: -ms-flexbox;\r\n      display: flex;\r\n      -webkit-box-align: center;\r\n      -ms-flex-align: center;\r\n      align-items: center;\r\n      padding-left: 26px;\r\n      margin-right: 10px;\r\n      position: relative;\r\n      box-sizing: border-box;\r\n    }\r\n    .culture {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 14px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @culture;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 11px;\r\n      }\r\n    }\r\n    .culture1 {\r\n      opacity: 0.6;\r\n    }\r\n    .behavior {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 14px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @behavior;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 11px;\r\n      }\r\n    }\r\n    .behavior1 {\r\n      opacity: 0.6;\r\n    }\r\n    .thinking {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 14px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @thinking;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 11px;\r\n      }\r\n    }\r\n    .thinking1 {\r\n      opacity: 0.6;\r\n    }\r\n    .personality {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 14px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @personality;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 11px;\r\n      }\r\n    }\r\n    .personality1 {\r\n      opacity: 0.6;\r\n    }\r\n  }\r\n}\r\n.contentDetail {\r\n  font-size: 16px !important;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: rgba(255, 255, 255, 0.7);\r\n  line-height: 32px;\r\n  flex: 1;\r\n  padding-top: 42px;\r\n  text-align: justify;\r\n  margin-bottom: 10px;\r\n  display: inline-block;\r\n  overflow-y: auto;\r\n  p {\r\n    padding-top: 40px;\r\n  }\r\n}\r\n.operates {\r\n  width: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n.culture {\r\n  /deep/ .el-button {\r\n    border-color: @culture;\r\n    background: @culture;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n  }\r\n}\r\n.behavior {\r\n  /deep/ .el-button {\r\n    border-color: @behavior;\r\n    background: @behavior;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n  }\r\n}\r\n.thinking {\r\n  /deep/ .el-button {\r\n    border-color: @thinking;\r\n    background: @thinking;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n  }\r\n}\r\n.personality {\r\n  /deep/ .el-button {\r\n    border-color: @personality;\r\n    background: @personality;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n    border-radius: 8px;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n  }\r\n}\r\n\r\n.confirm {\r\n  position: absolute;\r\n  left: 27px;\r\n  bottom: 84px;\r\n  z-index: 99;\r\n  cursor: pointer;\r\n  img {\r\n    width: 73px;\r\n    height: 73px;\r\n  }\r\n}\r\n.fadeIn {\r\n  -webkit-animation: fadeIn 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fadeIn 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes fadeIn {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n@-webkit-keyframes fadeIn {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n.fadeout {\r\n  -webkit-animation: fadeout 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fadeout 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes fadeout {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n@-webkit-keyframes fadeout {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/Detail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-box big-view bg-white bg-black contentBlack-box\",class:_vm.fadeClass},[_c('div',{staticClass:\"detail\"},[_c('div',{staticClass:\"content-wrapper\"},[_c('img',{staticClass:\"close\",attrs:{\"src\":require(\"@/assets/img/close.svg\")},on:{\"click\":_vm.back}}),_vm._v(\" \"),_c('div',{staticClass:\"sub-title\",class:'sub-title' + _vm.case_tag_type},[(_vm.case_tag_type == 1 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.cultureCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n                ? 'culture'\n                : 'culture culture1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 2 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.thingingCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n                ? 'thinking'\n                : 'thinking thinking1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 3 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.behaviorCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n                ? 'behavior'\n                : 'behavior behavior1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 4 && _vm.cases)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.perCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.cases.case_tag_id\n                ? 'personality'\n                : 'personality personality1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"contentDetail prewrap-content\"},[_vm._v(\"\\n        \"+_vm._s(_vm.cases && _vm.cases.course_case_content)+\"\\n      \")])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e9064a52\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/Detail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e9064a52\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Detail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Detail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Detail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e9064a52\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Detail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-e9064a52\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/Detail.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <el-container class=\"container\"\r\n    :style=\"{\r\n      borderRadius:\r\n        centerStauts === 'centerStauts2' || centerStauts === 'centerStauts4'\r\n          ? '14px'\r\n          : '0'\r\n    }\">\r\n    <el-header v-show=\"\r\n        centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\r\n      \"\r\n      id=\"whiteHeader\"\r\n      :style=\"{ background: theme === 'white' ? '#eaedef' : '#1f1f1f' }\"\r\n      :class=\"[\r\n        centerStauts === 'centerStauts3' || centerStauts === 'centerStauts1'\r\n          ? 'headerRightToleft'\r\n          : ''\r\n      ]\">\r\n      <!-- 请注意：头部中的“功能说明”在学习日志中有个特殊不显示判读 -->\r\n      <Hearder\r\n      ref=\"whiteHeader\"\r\n      id=\"layoutWhiteHeader\"\r\n      :pageNamePro=\"'white'\"\r\n      :activeIndex=\"whiteActiveIndex\"\r\n        :theme=\"theme\"\r\n        :isDisabledGuide=\"isWhiteDisabledGuide || (this.isInStudyLogBookList && $route.name === 'StudyLog')\" />\r\n    </el-header>\r\n    <el-container class=\"main\">\r\n      <div v-if=\"centerStauts === 'centerStauts2' || centerStauts === 'centerStauts4'\"\r\n        class=\"centerLayer\"></div>\r\n      <el-aside style=\"position: relative\"\r\n        :class=\"[isFullscreen ? 'asideFullscreen' : 'aside']\" @click.native=\"clickAside\">\r\n\r\n        <div id=\"icons\"\r\n          class=\"icons\"\r\n          v-if=\"!showTaskProgress\">\r\n          <img id=\"index_step4\"\r\n            v-if=\"!showIcon && showPageEyeIcon && !showFullEyeIcon\"\r\n            class=\"eye\"\r\n            :class=\"[\r\n              'eye',\r\n              showWhiteEyeAni && centerStauts === 'centerStauts2'\r\n                ? 'hideWhiteEyeAni'\r\n                : '',\r\n              showWhiteEyeAni && centerStauts === 'centerStauts3'\r\n                ? 'showWhiteEyeAni'\r\n                : ''\r\n            ]\"\r\n            :src=\"styleImg\"\r\n            @click=\"whiteIconContainer\"\r\n            v-show=\"!showTaskProgress && showEye && !hideWhiteEye && showIsCenterEye\" />\r\n        </div>\r\n        <img id=\"index_step5\"\r\n          v-show=\"\r\n            centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\r\n          \"\r\n          :class=\"[\r\n            'arrow',\r\n            isFirstShowTp ? '' : showTaskProgress ? 'arrowleft' : 'arrowright'\r\n          ]\"\r\n          ref=\"arrow\"\r\n          :src=\"\r\n            whiteActiveIndex === 0\r\n              ? require('@/assets/img/progress.svg')\r\n              : whiteActiveIndex === 1\r\n              ? require('@/assets/img/progress1.svg')\r\n              : whiteActiveIndex === 2\r\n              ? require('@/assets/img/progress2.svg')\r\n              : require('@/assets/img/progress3.svg')\r\n          \"\r\n          @click=\"toTaskProgress\" />\r\n        <Menus ref=\"menu\"\r\n          :parent=\"that\"\r\n          :isFirstShowTp=\"isFirstShowTp\"\r\n          :showTaskProgress=\"showTaskProgress\"\r\n          :centerStauts=\"centerStauts\"\r\n          :showIconPage=\"showIconPage\"\r\n          :showIcon=\"showIcon\"\r\n          @toTaskProgress=\"toTaskProgress\"\r\n          />\r\n      </el-aside>\r\n      <!-- 简介页眼睛 -->\r\n      <img v-if=\"showIcon\"\r\n        :class=\"[\r\n          'eye',\r\n          'icon_eye',\r\n          showIconAniLeft ? 'icon_eyeanileft' : 'icon_eyeaniright'\r\n        ]\"\r\n        :src=\"styleImg\"\r\n        @click=\"closeIconPage\" />\r\n      <!-- 全屏眼睛动效 -->\r\n      <img v-if=\"showFullEyeIcon\"\r\n        :class=\"[\r\n          'eye',\r\n          'icon_eye',\r\n          'icon_eye1',\r\n          'icon_eye_fullscreen',\r\n          showTaskProgress ? showIconAniLeftFull ? 'icon_eyeanifull_noani' : 'icon_eyeanioutfull_noani' : showIconAniLeftFull ? 'icon_eyeanifull' : 'icon_eyeanioutfull',\r\n          disableOperateMode ? 'disableOperateMode' : '',\r\n          openCommitProblemCard ? openCommitProblemCard == 1 ? 'openCommitProblemCard' : 'closeCommitProblemCard' : ''\r\n\r\n        ]\"\r\n        :src=\"styleImg\"\r\n        @click=\"closeFullScreen\" />\r\n      <!-- 问题意识页面动效，暂时只有问题意识 -->\r\n      <img id=\"imgOtherPageEyeIcon\" v-if=\"showOtherPageEyeIcon\"\r\n        :class=\"[\r\n          'eye',\r\n          'icon_eye',\r\n          'icon_eye_fullscreen',\r\n          showTaskProgress ? showOtherPageEyeIconAni ? 'icon_eyeanifull_noani' : 'icon_eyeanioutfull_noani' : showOtherPageEyeIconAni ? 'icon_eyeanifull' : 'icon_eyeanioutfull'\r\n        ]\"\r\n        :src=\"styleImg\"\r\n        @click=\"closeOtherPage1\" />\r\n      <el-main id=\"whiteMainContainer\" :class=\"[\r\n        'white-main-container',\r\n      ]\"\r\n        :style=\"mainStyle\">\r\n        <!-- <router-view name=\"white\"></router-view> -->\r\n        <keep-alive>\r\n          <component :is=\"whiteCom == 'Mind' && isMobile ? 'PadMind' : whiteCom\"\r\n            :parent=\"that\"></component>\r\n          <!-- <router-view name=\"white\"></router-view> -->\r\n        </keep-alive>\r\n      </el-main>\r\n    </el-container>\r\n  </el-container>\r\n</template>\r\n\r\n<script>\r\nimport Hearder from \"@/components/Hearder.vue\";\r\nimport Menus from \"./Menus.vue\";\r\nimport CultrueContent from \"./CultrueContent.vue\";\r\nimport PadMind from \"@/views/pad/Mind/Mind.vue\";\r\nimport Mind from \"@/views/white/Mind.vue\";\r\nimport TipsView from \"./TipsView.vue\";\r\nimport BehaviorAudio from \"./BehaviorAudio.vue\";\r\nimport Ocean from \"./Ocean.vue\";\r\nimport TipsSquare from \"./TipsSquare.vue\";\r\nimport ConfirmTips from \"./ConfirmTips.vue\";\r\nimport EditTips from \"./EditTips.vue\";\r\nimport CreateTips from \"./CreateTips.vue\";\r\nimport Icon from \"./Icon_culture.vue\";\r\nimport QuestionList from \"./QuestionList.vue\";\r\nimport Problem from \"./problem.vue\";\r\nimport CommitProblem from \"./CommitProblem.vue\";\r\nimport MoralComprehend from \"./MoralComprehend.vue\";\r\nimport Set from \"./set.vue\";\r\nimport PersonalCenter from \"./personalCenter.vue\";\r\nimport Collected from \"./personal/collected.vue\";\r\nimport PulishExperience from \"./personal/pulishExperience.vue\";\r\nimport CollectedMess from \"./personal/collectedMess.vue\";\r\nimport CaseList from \"./CaseList.vue\";\r\nimport Detail from \"./Detail.vue\";\r\nimport rollbackMixins from \"@/utils/rollback.js\";\r\nimport { getIsAndroid }  from '@/utils/util';\r\nimport {\r\n  EventBus,\r\n  WHITE_CULTURE_CONTENT,\r\n  WHITE_CULTURE_MIND,\r\n  WHITE_THINK_MEDITATE_PAGE,\r\n  WHITE_MIND_MEDITATE_PAGE,\r\n  WHITE_THINK_OCEAN,\r\n  WHITE_TIPS_SQUARE,\r\n  WHITE_CONFIRM_TIPS,\r\n  WHITE_EDIT_TIPS,\r\n  WHITE_CREATE_TIPS,\r\n  WHITE_ICON,\r\n  WHITE_PREV_COM,\r\n  WHITE_CHILD_PREV_COM,\r\n  WHITE_THINK_QUESTIONLIST,\r\n  WHITE_THINK_PROBLEM,\r\n  PUBLISH_BLACK_CASE,\r\n} from \"@/utils/eventBus\";\r\nimport openOtherPageMixins from \"@/utils/openOtherPageMixins.js\";\r\nimport {testAlert, getIsMobile} from '@/utils/util.js';\r\n\r\nexport default {\r\n  mixins: [rollbackMixins, openOtherPageMixins],\r\n  components: {\r\n    Hearder,\r\n    Menus,\r\n    // 课程内容\r\n    CultrueContent,\r\n    // 思维导图\r\n    PadMind,\r\n    Mind,\r\n    // 观念观修文\r\n    TipsView,\r\n    // 心态观修文\r\n    BehaviorAudio,\r\n    // 生命海洋\r\n    Ocean,\r\n    //心得广场\r\n    TipsSquare,\r\n    //提交心得\r\n    ConfirmTips,\r\n    // 创建心得\r\n    CreateTips,\r\n    // 编辑心得\r\n    EditTips,\r\n    // 图标简介页\r\n    Icon,\r\n    // 问题解决\r\n    QuestionList,\r\n    // 问题意识\r\n    Problem,\r\n    // 问题意识-推荐问题\r\n    CommitProblem,\r\n    // 问题解决-道德上的理解\r\n    MoralComprehend,\r\n    // 白牌-个人设置\r\n    Set,\r\n    PersonalCenter,\r\n    Collected,\r\n    PulishExperience,\r\n    CollectedMess,\r\n    CaseList,\r\n    Detail,\r\n  },\r\n  props: {\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    isDisabledGuide: {\r\n      type: Boolean,\r\n      default: false,\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      // whiteCom: \"\",\r\n      isInStudyLogBookList: false,//修学日志中是否在书列表页\r\n      styleImg: \"/static/img/culture.svg\",\r\n      that: this,\r\n      menuType: 0,\r\n      showTaskProgress: false,\r\n      showEye: true,\r\n      // Header数据\r\n      childValue: {},\r\n      Card: \"card1\",\r\n      iIndex_icon: \"\",\r\n      // 同喜课程样式\r\n      txkcStyle: \"txCourse_click\",\r\n      // 同修同德课程样式\r\n      tx1kcStyle: \"txCourse\",\r\n      tx2kcStyle: \"txCourse\",\r\n      courseNum: 0,\r\n      value: [],\r\n      collectMess: {},\r\n      theme: \"white\",\r\n      routeName: \"\",\r\n      mainStyle: {},\r\n      // 简介页眼睛\r\n      showIcon: false,\r\n      showIconAniLeft: false,\r\n      isFirstShowTp: true,\r\n      showIconPage: false,\r\n      showWhiteEyeAni: false,\r\n      hideWhiteEye: false,\r\n      isFullscreen: false,\r\n      showFullEyeIcon: false,\r\n      showIconAniLeftFull: false,\r\n      showOtherPageEyeIcon: false,\r\n      showOtherPageEyeIconAni: false,\r\n      showPageEyeIcon: true,\r\n      toRoute: {},\r\n      fromRoute: {},\r\n      showIsCenterEye: true,\r\n      isLogoClick: false,\r\n      isMobile: getIsMobile(),\r\n      isAnimationing: false,\r\n      disableOperateMode: false,\r\n      openCommitProblemCard: null\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    prevCom() {\r\n      return this.$store.getters.prevCom;\r\n    },\r\n    prevChildCom() {\r\n      console.log(this.$store);\r\n      return this.$store.getters.prevChildCom;\r\n    },\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    blackActiveIndex() {\r\n      return this.$store.getters.blackActiveIndex;\r\n    },\r\n    subPages() {\r\n      return this.$store.getters.subPages;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    pageNameStore() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n    isWhiteDisabledGuide() {\r\n      return this.isDisabledGuide || (this.showTaskProgress && !this.isFullscreen && this.$route.name === 'index') ||  (this.isFullscreen && this.$route.path === '/' && !this.$route.hash)\r\n              || this.whiteCom == 'Icon' || this.$route.name == 'ProblemSolving' || this.$route.name == 'TipsViewAdd' || this.$route.name == 'TAudioAdd';\r\n    },\r\n    isLoading() {\r\n      return this.$store.getters.isLoading;\r\n    },\r\n  },\r\n  // beforeRouteEnter(to, from, next) {\r\n  //   console.log(\"beforeRouteEnter\");\r\n  //   const isContained = this.historyOperate.some(item => {\r\n  //     return item.type === \"fullscreen\";\r\n  //   });\r\n  //   console.log(isContained);\r\n  //   if (isContained) {\r\n  //     // this.$router.replace(\"/\");\r\n  //     this.$store.dispatch(\"clearHistoryOperate\");\r\n  //   } else {\r\n  //     // this.$router.back();\r\n  //     this.closeOtherPage();\r\n  //   }\r\n  // },\r\n  watch: {\r\n    centerStauts(newVal) {\r\n      if (newVal == \"centerStauts2\") {\r\n        let timeout = setTimeout(() => {\r\n          this.showIsCenterEye = false;\r\n          clearTimeout(timeout);\r\n        }, 550);\r\n      } else if (newVal == \"centerStauts3\") {\r\n        let timeout = setTimeout(() => {\r\n          this.showIsCenterEye = true;\r\n          clearTimeout(timeout);\r\n        }, 550);\r\n      }\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function(to, from) {\r\n        let name = this.$route.name;\r\n        const theme = this.$route.meta.theme;\r\n        console.log(\"layoutwhite theme:\", theme);\r\n        if(name == \"index\") {\r\n          this.theme = \"white\";\r\n        } else {\r\n          this.theme = theme;\r\n        }\r\n        this.routeName = name;\r\n        this.toRoute = to;\r\n        this.fromRoute = from;\r\n      },\r\n      immediate: true\r\n    },\r\n    historyOperate(newVal) {\r\n      if (\r\n        newVal &&\r\n        newVal.length &&\r\n        (newVal[0].com === \"TipsSquare\" || newVal[0].com === \"QuestionList\")\r\n      ) {\r\n        this.mainStyle = { position: \"\" };\r\n      } else {\r\n        this.mainStyle = { position: \"relative\" };\r\n      }\r\n    },\r\n    course_id(newVal, oldVal) {\r\n      if (oldVal) {\r\n      }\r\n    },\r\n    courseIsChanged(newVal) {\r\n      console.log(\"courseIsChangedcourseIsChanged\");\r\n      if (newVal) {\r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    clickAside(event) {\r\n      event.stopPropagation();\r\n      event.preventDefault();\r\n      console.log(\"clickAside:\", this.pageNameStore, this.whiteCom, this.showTaskProgress)\r\n      if(this.pageNameStore == \"white\" && this.showTaskProgress) {\r\n        this.toTaskProgress()\r\n      }\r\n    },\r\n    toIndex() {\r\n      console.log(\"clearHistoryOperate\");\r\n      this.$router.replace(\"/\");\r\n      console.log(\"CultureIndex\");\r\n      EventBus.$emit(\"CultureIndex\");\r\n      this.closeOtherPage(true);\r\n    },\r\n    // 监听icon图标跳转事件\r\n    whiteIconContainer() {\r\n      EventBus.$emit(\"showWhiteEyeAni\", false);\r\n      // 不是的话则显示进度条\r\n      this.$store.dispatch(\"setPrevCom\", this.whiteCom).then(() => {\r\n        this.$store.dispatch(\"setMenuType\", this.menuType).then(() => {\r\n          EventBus.$emit(\"WHITE_ICON\");\r\n        });\r\n      });\r\n    },\r\n    // 关闭icon\r\n    closeIconPage() {\r\n      // 如果当前是简介页，则执行关闭简介页动作\r\n      EventBus.$emit(\"CLOSE_ICON_EYE\");\r\n    },\r\n    // 关闭全屏\r\n    closeFullScreen() {\r\n      console.log(\"closeFullScreencloseFullScreen\")\r\n      this.openCommitProblemCard = null;\r\n      if (this.$route.path !== \"/\") {\r\n        this.$router.replace(\"/\");\r\n        console.log(\"clearHistoryOperate\");\r\n        this.$store.dispatch(\"clearHistoryOperate\");\r\n      } else {\r\n        EventBus.$emit(\"CLOSE_FULL_SCREEN\", this.whiteCom);\r\n      }\r\n    },\r\n    // 关闭其他页面\r\n    closeOtherPage1() {\r\n      if(this.isLoading) {\r\n        return;\r\n      }\r\n      this.openCommitProblemCard = null;\r\n      const isContained = this.historyOperate.some((item) => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      if (isContained) {\r\n        this.$router.replace(\"/\");\r\n      } else {\r\n        if (this.$route.name != \"TipsViewAdd\") {\r\n          if(this.$route.query.routeName) {\r\n            this.$router.replace({\r\n              name: this.$route.query.routeName\r\n            });\r\n          } else {\r\n            this.$router.back();\r\n          }\r\n          this.closeOtherPage();\r\n        } else {\r\n          if(this.$route.query.routeName) {\r\n            this.$router.replace({\r\n              name: this.$route.query.routeName\r\n            });\r\n          } else {\r\n            this.$router.back();\r\n          }\r\n        }\r\n      }\r\n    },\r\n    //是否显示任务进度\r\n    toTaskProgress(event) {\r\n      if(event) {\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n      }\r\n      this.$store.dispatch(\"clearHistoryOperate\");\r\n      this.showTaskProgress = !this.showTaskProgress;\r\n      this.isFirstShowTp = false;\r\n      EventBus.$emit(\"showWhiteEyeAni\", false);\r\n      if (!this.showTaskProgress) {\r\n        let timeout = null;\r\n        timeout = setTimeout(() => {\r\n          this.showEye = true;\r\n          clearTimeout(timeout);\r\n        }, 500);\r\n      } else {\r\n        this.showEye = false;\r\n      }\r\n    },\r\n    // Header传值\r\n    child(childValue) {\r\n      this.childValue = childValue;\r\n      console.log(this.childValue);\r\n\r\n      // 对卡片进行判断\r\n      if (this.childValue.iIndex === \"el-icon-arrow-down\") {\r\n        this.Card = \"card\";\r\n      }\r\n    },\r\n    // 卡片的关闭按钮\r\n    close() {\r\n      this.Card = \"card1\";\r\n      this.iIndex_icon = \"el-icon-arrow-down\";\r\n    },\r\n    openOtherPage(isOpen) {\r\n      this.isFullscreen = isOpen;\r\n      if (isOpen) {\r\n        this.showOtherPageEyeIcon = true;\r\n        this.showOtherPageEyeIconAni = true;\r\n        this.showPageEyeIcon = false;\r\n        console.log(\"showOtherPageEyeIcon:\", this.showOtherPageEyeIcon);\r\n      }\r\n    },\r\n    closeOtherPage(clearHistoryOperate) {\r\n      if (this.openOtherPageIng) {\r\n        return;\r\n      }\r\n      this.setOpenOtherPageIng();\r\n      const isContained = this.historyOperate.some(item => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      this.showOtherPageEyeIconAni = false;\r\n      if (!isContained) {\r\n        this.isFullscreen = false;\r\n        let timeout1 = setTimeout(() => {\r\n          this.showPageEyeIcon = true;\r\n          clearTimeout(timeout1);\r\n        }, 500);\r\n      }\r\n      this.recoverOpenOtherPageIng();\r\n      let timeout = setTimeout(() => {\r\n        this.showOtherPageEyeIcon = false;\r\n        if(clearHistoryOperate) {\r\n          this.$store.dispatch(\"clearHistoryOperate\");\r\n        } else if(!isContained) {\r\n          this.$store.dispatch(\"clearHistoryOperate\");\r\n        }\r\n        clearTimeout(timeout);\r\n      }, 550);\r\n    },\r\n\r\n    triggerNewUserGuide({\r\n      guideEventName,\r\n      localStorageName,\r\n    }) {\r\n      if(this.timeValueNewUserGuide) {\r\n        clearTimeout(this.timeValueNewUserGuide);\r\n        this.timeValueNewUserGuide = true;\r\n      }\r\n      this.timeValueNewUserGuide = setTimeout(() => {\r\n        let guideStatus = JSON.parse(localStorage.getItem('guideStatus'));\r\n        if (guideStatus[localStorageName] !== 1 && !this.isWhiteDisabledGuide) {\r\n          EventBus.$emit(guideEventName);\r\n        }\r\n\r\n        clearTimeout(this.timeValueNewUserGuide);\r\n        this.timeValueNewUserGuide = true;\r\n      }, 300)\r\n    },\r\n    setBodyHeight() {\r\n      const isMobile = getIsAndroid();\r\n      if(isMobile) {\r\n        const innerHeight = window.innerHeight;\r\n        const layoutWhiteHeader =  document.getElementById(\"layoutWhiteHeader\");\r\n        const rect = layoutWhiteHeader.getBoundingClientRect();\r\n        document.body.style.minHeight = (innerHeight - rect.height) + 'px';\r\n      }\r\n    }\r\n  },\r\n  // 点击任意一个二级列表会关闭卡片\r\n  mounted() {\r\n    this.setBodyHeight();;\r\n    console.log(\"layoutwhite route:\", this.$route);\r\n    // 除首页外其他白牌页面眼睛动效，暂时只有问题意识页面\r\n    if (\r\n      (this.$route.name === \"CommitProblem\" ||\r\n        this.$route.name === \"TipsViewAdd\" ||\r\n        this.$route.name === \"TAudioAdd\" ||\r\n        this.$route.name === \"Silence\" ||\r\n        this.$route.name === \"CultrueContentAudioDetail\" ||\r\n        this.$route.name === \"CultrueContentVideoDetail\" ||\r\n        this.$route.name === \"QuestionListHistory\") &&\r\n      this.pageNameStore != \"black\"\r\n    ) {\r\n      this.showOtherPageEyeIcon = true;\r\n      this.showOtherPageEyeIconAni = true;\r\n      this.showPageEyeIcon = false;\r\n    }\r\n\r\n    EventBus.$on(\"MIND_OUTLINE_SAVE_CONFIRMED\", (whiteCom) => {\r\n      // 不是切换黑白牌跟选择课程\r\n      if (whiteCom !== \"Index\" && whiteCom !== \"CourseCom\" && whiteCom !== \"Logo\") {\r\n        if(whiteCom == \"Icon\") {\r\n          this.$store.dispatch(\"setWhiteCom\", \"Icon\").then(() => {\r\n            this.showIcon = true;\r\n            this.showIconAniLeft = true;\r\n            this.showIconPage = true;\r\n          });\r\n        } else {\r\n          this.$store.dispatch(\"setWhiteCom\", whiteCom);\r\n        }\r\n      }\r\n    });\r\n    EventBus.$on(\"CultrueContentEditConfirmed\", (whiteCom) => {\r\n      // 不是切换黑白牌跟选择课程\r\n      if (whiteCom !== \"Index\" && whiteCom !== \"CourseCom\" && whiteCom !== \"Logo\") {\r\n        if(whiteCom == \"Icon\") {\r\n          this.$store.dispatch(\"setWhiteCom\", \"Icon\").then(() => {\r\n            this.showIcon = true;\r\n            this.showIconAniLeft = true;\r\n            this.showIconPage = true;\r\n          });\r\n        } else {\r\n          this.$store.dispatch(\"setWhiteCom\", whiteCom);\r\n        }\r\n      }\r\n    });\r\n    EventBus.$on(\"LOGO_CLICK\", isLogoClick => {\r\n      this.isLogoClick = isLogoClick;\r\n    });\r\n\r\n    // 课程内容\r\n    EventBus.$on(WHITE_CULTURE_CONTENT, () => {\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(\"this.whiteCom43245:\", this.whiteCom);\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"CultrueContent\");\r\n      } else {\r\n        console.log(\"setWhiteCom\")\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"CultrueContent\");\r\n      }\r\n    });\r\n    // 思维导图\r\n    EventBus.$on(WHITE_CULTURE_MIND, () => {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (guideStatus.mindMap === 0) {\r\n      }\r\n      console.log(\"WHITE_CULTURE_MIND\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(this.whiteCom);\r\n      if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"Mind\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"Mind\");\r\n      }\r\n    });\r\n    // 问题意识\r\n    EventBus.$on(WHITE_THINK_PROBLEM, () => {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (\r\n        guideStatus.problemConsciousness === 0 &&\r\n        this.pageNameStore === \"white\"\r\n      ) {\r\n      }\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Problem\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"Problem\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"Problem\");\r\n      }\r\n    });\r\n    // 问题解决\r\n    EventBus.$on(WHITE_THINK_QUESTIONLIST, () => {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (\r\n        guideStatus.problemWorkOut_1 === 0 &&\r\n        this.pageNameStore === \"white\"\r\n      ) {\r\n      }\r\n      console.log(\"WHITE_THINK_QUESTIONLIST\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"QuestionList\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"QuestionList\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"QuestionList\");\r\n      }\r\n    });\r\n    // 观念观修文\r\n    EventBus.$on(WHITE_THINK_MEDITATE_PAGE, () => {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (guideStatus.meditate_1 === 0 && this.pageNameStore === \"white\") {\r\n      }\r\n      console.log(\"WHITE_THINK_MEDITATE_PAGE\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"TipsView\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"TipsView\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"TipsView\");\r\n      }\r\n    });\r\n    // 心态观修文\r\n    EventBus.$on(WHITE_MIND_MEDITATE_PAGE, () => {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (guideStatus.meditate_2 === 0 && this.pageNameStore === \"white\") {\r\n      }\r\n      console.log(\"WHITE_MIND_MEDITATE_PAGE\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"BehaviorAudio\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"BehaviorAudio\");\r\n      } else {\r\n        this.$store.dispatch(\"setWhiteCom\", \"BehaviorAudio\");\r\n      }\r\n    });\r\n    // 生命海洋\r\n    EventBus.$on(WHITE_THINK_OCEAN, () => {\r\n      // if (this.pageNameStore === \"white\") {\r\n      //   this.triggerNewUserGuide({\r\n      //     guideEventName: 'ocean_initGuide',\r\n      //     localStorageName: 'ocean'\r\n      //   })\r\n      // }\r\n      console.log(\"WHITE_THINK_OCEAN\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Ocean\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"Ocean\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"Ocean\");\r\n      }\r\n    });\r\n    // 心得广场\r\n    EventBus.$on(WHITE_TIPS_SQUARE, () => {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (guideStatus.heartPlaza === 0 && this.pageNameStore === \"white\") {\r\n      }\r\n      console.log(\"WHITE_TIPS_SQUARE\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"TipsSquare\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"TipsSquare\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"TipsSquare\");\r\n      }\r\n    });\r\n    // 提交心得\r\n    EventBus.$on(WHITE_CONFIRM_TIPS, () => {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      if (guideStatus.confirmTips === 0 && this.pageNameStore === \"white\") {\r\n      }\r\n      console.log(\"WHITE_CONFIRM_TIPS\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"ConfirmTips\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"ConfirmTips\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"ConfirmTips\");\r\n      }\r\n    });\r\n    // 创建心得\r\n    EventBus.$on(WHITE_CREATE_TIPS, () => {\r\n      console.log(\"WHITE_CREATE_TIPS\");\r\n      this.theme = \"white\";\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      this.$store.dispatch(\"setPrevCom\", this.whiteCom).then(() => {\r\n        // this.whiteCom = \"CreateTips\";\r\n        // this.$store.dispatch(\"setWhiteCom\", \"CreateTips\");\r\n      });\r\n    });\r\n    // 编辑心得\r\n    EventBus.$on(WHITE_EDIT_TIPS, () => {\r\n      console.log(\"WHITE_EDIT_TIPS\");\r\n      this.theme = \"white\";\r\n      console.log(\"this.whiteCom:\", this.whiteCom);\r\n      this.$store.dispatch(\"setPrevCom\", this.whiteCom).then(() => {\r\n        // this.whiteCom = \"EditTips\";\r\n        // this.$store.dispatch(\"setWhiteCom\", \"EditTips\");\r\n      });\r\n    });\r\n    // 图标简介页\r\n    EventBus.$on(WHITE_ICON, () => {\r\n      console.log(\"WHITE_ICON\");\r\n\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"white\";\r\n      }\r\n      if (this.whiteCom === \"Mind\" && !this.isLogoClick) {\r\n        console.log(\"MIND_OUTLINE_SAVE\");\r\n        EventBus.$emit(\"MIND_OUTLINE_SAVE\", \"Icon\");\r\n      } else if (this.whiteCom === \"CultrueContent\" && !this.isLogoClick) {\r\n        console.log(\"CultrueContentEdit\");\r\n        EventBus.$emit(\"CultrueContentEdit\", \"Icon\");\r\n      } else {\r\n        this.isLogoClick = false;\r\n        this.$store.dispatch(\"setWhiteCom\", \"Icon\").then(() => {\r\n          this.showIcon = true;\r\n          this.showIconAniLeft = true;\r\n          this.showIconPage = true;\r\n        });\r\n      }\r\n\r\n    });\r\n    // 隐藏眼睛\r\n    EventBus.$on(\"HIDE_WHITE_ICON\", () => {\r\n      console.log(\"HIDE_WHITE_ICON\");\r\n      this.showIcon = false;\r\n    });\r\n    // 动画\r\n    EventBus.$on(\"HIDE_WHITE_ICON_ANI\", () => {\r\n      this.showIconAniLeft = false;\r\n      this.showIconPage = false;\r\n    });\r\n\r\n    // 前一个组件名称\r\n    EventBus.$on(WHITE_PREV_COM, () => {\r\n      console.log(\"WHITE_PREV_COM\", this.prevCom);\r\n      this.theme = \"white\";\r\n      if (this.prevCom) {\r\n        // this.whiteCom = this.prevCom;\r\n        console.log(\"setWhiteCom\")\r\n        this.$store.dispatch(\"setWhiteCom\", this.prevCom);\r\n      } else {\r\n        EventBus.$on(WHITE_CULTURE_CONTENT);\r\n      }\r\n    });\r\n    // 子组件前一个组件名称\r\n    EventBus.$on(WHITE_CHILD_PREV_COM, () => {\r\n      console.log(\"WHITE_CHILD_PREV_COM\", this.prevChildCom);\r\n      this.theme = \"white\";\r\n      if (this.prevChildCom) {\r\n        // this.whiteCom = this.prevChildCom;\r\n        console.log(\"setWhiteCom\")\r\n        this.$store.dispatch(\"setWhiteCom\", this.prevChildCom);\r\n      }\r\n    });\r\n    // 查看我发布的黑牌案例\r\n    EventBus.$on(PUBLISH_BLACK_CASE, () => {\r\n      console.log(\"PUBLISH_BLACK_CASE\");\r\n      this.theme = \"black\";\r\n      // this.whiteCom = \"CaseList\";\r\n      // this.$store.dispatch(\"setWhiteCom\", \"CaseList\");\r\n    });\r\n    EventBus.$on(\"backToWhite\", () => {\r\n      this.theme = \"white\";\r\n    });\r\n    EventBus.$on(\"showWhiteEyeAni\", (showWhiteEyeAni) => {\r\n      this.showWhiteEyeAni = showWhiteEyeAni;\r\n      let timeout = setTimeout(() => {\r\n        this.showWhiteEyeAni = false;\r\n        clearTimeout(timeout);\r\n      }, 550);\r\n    });\r\n    // 从黑牌到中间层需要隐藏\r\n    EventBus.$on(\"hideWhiteEye\", (hideWhiteEye) => {\r\n      console.log(\"GOBACK\");\r\n      this.hideWhiteEye = hideWhiteEye;\r\n    });\r\n    // 是否全屏\r\n    EventBus.$on(\"FULLSCREEN\", (fullscreen) => {\r\n      this.isFullscreen = fullscreen;\r\n      if (fullscreen) {\r\n        this.showFullEyeIcon = true;\r\n        this.showIconAniLeftFull = true;\r\n        this.showPageEyeIcon = false;\r\n        console.log(\"showOtherPageEyeIcon:\", this.showOtherPageEyeIcon);\r\n      } else {\r\n        this.openCommitProblemCard = null;\r\n        this.showIconAniLeftFull = false;\r\n        let timeout1 = setTimeout(() => {\r\n          this.showPageEyeIcon = true;\r\n          clearTimeout(timeout1);\r\n        }, 500);\r\n        let timeout = setTimeout(() => {\r\n          this.showFullEyeIcon = false;\r\n          clearTimeout(timeout);\r\n        }, 550);\r\n      }\r\n    });\r\n    // 去/回其他页面\r\n    EventBus.$on(\"OPEN_OTHER_PAGE\", (isOpen) => {\r\n      this.openOtherPage(true);\r\n    });\r\n    EventBus.$on(\"CLOSE_OTHER_PAGE\", (clearHistoryOperate) => {\r\n      this.closeOtherPage(clearHistoryOperate);\r\n    });\r\n\r\n    // 当新用户访问新页面时，会显示“功能说明”，此时需要隐藏“进度导航栏”\r\n    EventBus.$on(\"CLOSE_PROGRESS_THEN\", (callBack) => {\r\n      if (this.showTaskProgress && this.pageNameStore === \"white\") {\r\n        this.isCloseProgressThen = true;\r\n        this.toTaskProgress();\r\n        if(callBack && typeof callBack === 'function') {\r\n          if(this.timeValueCloseProgress) {\r\n            clearTimeout(this.timeValueCloseProgress);\r\n            this.timeValueCloseProgress = null;\r\n          }\r\n          this.timeValueCloseProgress = setTimeout(() => {\r\n            callBack();\r\n\r\n            clearTimeout(this.timeValueCloseProgress);\r\n            this.timeValueCloseProgress = null;\r\n          }, 500)\r\n        }\r\n      }\r\n      else if(callBack && typeof callBack === 'function'){\r\n        callBack();\r\n      }\r\n    });\r\n    // 当执行完CLOSE_PROGRESS_THEN事件后，得还原显示“进度导航栏”\r\n    EventBus.$on(\"CLOSE_PROGRESS_THEN_COMPLETE\", () => {\r\n      if(this.isCloseProgressThen && !this.showTaskProgress && this.pageNameStore === \"white\") {\r\n        this.toTaskProgress();\r\n      }\r\n      this.isCloseProgressThen = false;\r\n    })\r\n\r\n    // 兼听学习日志进入书名List时，禁止显示“功能说明”\r\n    EventBus.$on('STUDYLOG_IN_BOOK_LIST', (isInBookList) => {\r\n      this.isInStudyLogBookList = isInBookList;\r\n    });\r\n\r\n    //\r\n    EventBus.$on(\"toIndex\", () => {\r\n      console.log(\"this.isAnimationing:\", this.isAnimationing);\r\n      if(this.isAnimationing) {\r\n        return;\r\n      }\r\n      this.isAnimationing = true;\r\n      this.toIndex();\r\n      const isContained = this.historyOperate.some((item) => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      console.log(\"toIndex:::::::::::::::\", isContained, this.$route.name);\r\n      if(isContained && this.$route.name == 'index') {\r\n        this.closeFullScreen();\r\n        EventBus.$emit(\"FULLSCREEN\", false);\r\n      } else if(isContained && this.$route.name != 'index') {\r\n        EventBus.$emit(\"CLOSE_FULL_SCREEN\", this.whiteCom);\r\n      }\r\n      let timeout = setTimeout(() => {\r\n        this.isAnimationing = false;\r\n        clearTimeout(timeout);\r\n      }, 550);\r\n    })\r\n\r\n    EventBus.$on(\"closeFullScreen\", () => {\r\n      this.openCommitProblemCard = null;\r\n      const isContained = this.historyOperate.some((item) => {\r\n        return item.type === \"fullscreen\";\r\n      });\r\n      console.log(\"closeFullScreen:\", isContained, this.$route.name);\r\n      console.log(\"clearHistoryOperate\");\r\n      if(isContained) {\r\n        EventBus.$emit(\"FULLSCREEN\", false);\r\n      }\r\n      // this.$store.dispatch(\"clearHistoryOperate\");\r\n    })\r\n\r\n    // 全屏观看思维导图时，眼睛不能点击\r\n    EventBus.$on(\"disableOperateMode\", (disableOperateMode) => {\r\n      this.disableOperateMode = disableOperateMode;;\r\n    });\r\n\r\n    EventBus.$on(\"openCommitProblemCard\", (openCommitProblemCard) => {\r\n      if(openCommitProblemCard) {\r\n        this.openCommitProblemCard = 1;\r\n      } else {\r\n        this.openCommitProblemCard = 2;\r\n      }\r\n      // let timeout = setTimeout(() => {\r\n      //   this.openCommitProblemCard = 0;\r\n      //   clearTimeout(timeout);\r\n      // }, 550)\r\n    });\r\n\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.container {\r\n  overflow: hidden;\r\n  height: 100%;\r\n  display: block;\r\n}\r\n.white-main-container {\r\n  position: relative;\r\n  overflow-y: auto;\r\n  padding-right: 0\r\n}\r\n.big-view {\r\n  position: fixed;\r\n  z-index: 100;\r\n  -webkit-animation: fullscreenAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fullscreenAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes fullscreenAni {\r\n  0% {\r\n    width: calc(100% - 433px);\r\n    height: calc(100% - 112px);\r\n    left: 400px;\r\n    top: 80px;\r\n    border: 16px;\r\n    padding-top: 0;\r\n  }\r\n  100% {\r\n    width: 100%;\r\n    height: 100%;\r\n    left: 0;\r\n    top: 54px;\r\n    border: 0;\r\n    padding-top: 26px;\r\n  }\r\n}\r\n.outof-big-view {\r\n  z-index: 100;\r\n  position: fixed;\r\n  -webkit-animation: outfullscreenAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: outfullscreenAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes outfullscreenAni {\r\n  0% {\r\n    width: 100%;\r\n    height: 100%;\r\n    left: 0;\r\n    top: 54px;\r\n    border: 0;\r\n    padding-top: 26px;\r\n  }\r\n  100% {\r\n    width: calc(100% - 433px);\r\n    height: calc(100% - 112px);\r\n    left: 400px;\r\n    top: 80px;\r\n    border: 16px;\r\n    padding-top: 0;\r\n  }\r\n}\r\n.big-view-box {\r\n  position: fixed;\r\n  z-index: 104;\r\n  -webkit-animation: fullscreenBoxAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fullscreenBoxAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes fullscreenBoxAni {\r\n  0% {\r\n    width: calc(100% - 433px);\r\n    height: calc(100% - 112px);\r\n    left: 400px;\r\n    top: 80px;\r\n    border: 16px;\r\n  }\r\n  100% {\r\n    width: calc(100% - 64px);\r\n    height: calc(100% - 112px);\r\n    left: 32px;\r\n    top: 80px;\r\n    border: 0;\r\n  }\r\n}\r\n\r\n.outof-big-view-box {\r\n  z-index: 100;\r\n  position: fixed;\r\n  -webkit-animation: outfullscreenBoxAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: outfullscreenBoxAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes outfullscreenBoxAni {\r\n  0% {\r\n    width: calc(100% - 64px);\r\n    height: calc(100% - 112px);\r\n    left: 32px;\r\n    top: 80px;\r\n    border: 0;\r\n  }\r\n  100% {\r\n    width: calc(100% - 433px);\r\n    height: calc(100% - 112px);\r\n    left: 400px;\r\n    top: 80px;\r\n    border: 16px;\r\n  }\r\n}\r\n.bg-white {\r\n  background-color: #f2f4f5;\r\n}\r\n.main {\r\n  padding: 0 33px 0px 0;\r\n  background: #eaedef;\r\n  // margin-top: 60px;\r\n  height: 100%;\r\n  // height: calc(100vh - 60px);\r\n}\r\n// /deep/ .el-container {\r\n//   padding: 40px 20px 20px 0;\r\n//   background: #eaedef;\r\n//   margin-top: 60px;\r\n// }\r\n/deep/ .el-header {\r\n  padding: 0;\r\n  position: fixed;\r\n  top: 0;\r\n  width: 100%;\r\n  background: #eaedef;\r\n  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);\r\n  padding: 6px 37px;\r\n  height: 54px !important;\r\n  z-index: 107;\r\n}\r\n/deep/ .el-aside {\r\n  width: 400px !important;\r\n  padding-left: 32px;\r\n  overflow: hidden;\r\n}\r\n.main-content {\r\n  width: 100%;\r\n  min-width: 450px;\r\n  padding-left: 50px;\r\n}\r\n.icons {\r\n  position: relative;\r\n  width: 100%;\r\n  padding-top: 46px;\r\n  padding-bottom: 84px;\r\n}\r\n.eye {\r\n  position: absolute;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n  cursor: pointer;\r\n  width: 58px;\r\n  height: 58px;\r\n}\r\n.icon_eye {\r\n  position: absolute;\r\n  top: 46px;\r\n  left: 216px;\r\n  z-index: 105;\r\n  cursor: pointer;\r\n}\r\n// 进度条切换眼睛动画\r\n.icon_eyeanileft {\r\n  -webkit-animation: eyeanileft 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: eyeanileft 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes eyeanileft {\r\n  0% {\r\n    left: 216px;\r\n    transform: translateX(-50%);\r\n  }\r\n  100% {\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n  }\r\n}\r\n.icon_eyeaniright {\r\n  -webkit-animation: eyeaniright 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: eyeaniright 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes eyeaniright {\r\n  0% {\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n  }\r\n  100% {\r\n    left: 216px;\r\n    transform: translateX(-50%);\r\n  }\r\n}\r\n// 刷新除首页外其他页面时眼睛的位置\r\n.page_eye {\r\n  left: 46px;\r\n  top: 75px;\r\n  width: 35px;\r\n  height: 35px;\r\n}\r\n// 全屏时眼睛动画\r\n.icon_eye_fullscreen {\r\n  position: fixed;\r\n}\r\n.icon_eyeanifull_noani {\r\n  -webkit-animation: icon_eyeanifull_noaniAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: icon_eyeanifull_noaniAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  left: 46px;\r\n  width: 35px;\r\n  height: 35px;\r\n  top: 75px;\r\n}\r\n@-webkit-keyframes icon_eyeanifull_noaniAni {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n.icon_eyeanioutfull_noani {\r\n  -webkit-animation: icon_eyeanioutfull_noaniAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: icon_eyeanioutfull_noaniAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  left: 46px;\r\n  width: 35px;\r\n  height: 35px;\r\n  top: 75px;\r\n}\r\n@-webkit-keyframes icon_eyeanioutfull_noaniAni {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n.icon_eyeanifull {\r\n  -webkit-animation: icon_eyeanifullAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: icon_eyeanifullAni 0.5s ease-in-out;\r\n\r\n  left: 46px;\r\n  width: 35px;\r\n  height: 35px;\r\n  top: 76px;\r\n}\r\n@-webkit-keyframes icon_eyeanifullAni {\r\n  0% {\r\n    width: 58px;\r\n    height: 58px;\r\n    left: 216px;\r\n    top: 100px;\r\n  }\r\n  100% {\r\n    left: 46px;\r\n    width: 35px;\r\n    height: 35px;\r\n    top: 76px;\r\n  }\r\n}\r\n.icon_eyeanioutfull {\r\n  -webkit-animation: icon_eyeanioutfullAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: icon_eyeanioutfullAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes icon_eyeanioutfullAni {\r\n  0% {\r\n    left: 46px;\r\n    width: 39px;\r\n    height: 39px;\r\n    top: 76px;\r\n  }\r\n  100% {\r\n    width: 58px;\r\n    height: 58px;\r\n    left: 216px;\r\n    top: 100px;\r\n  }\r\n}\r\n.arrowleft {\r\n  -webkit-animation: arrowleftani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: arrowleftani 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes arrowleftani {\r\n  0% {\r\n    right: 56px;\r\n  }\r\n  100% {\r\n    right: 77%;\r\n  }\r\n}\r\n.arrowright {\r\n  -webkit-animation: arrowrightani 0.6s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: arrowrightani 0.6s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes arrowrightani {\r\n  0% {\r\n    right: 77%;\r\n  }\r\n  100% {\r\n    right: 56px;\r\n  }\r\n}\r\n.showWhiteEyeAni {\r\n  -webkit-animation: showWhiteEyeAniAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showWhiteEyeAniAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes showWhiteEyeAniAni {\r\n  0% {\r\n    left: 110%;\r\n    top: 80px;\r\n  }\r\n  100% {\r\n    left: 50%;\r\n    top: 54px;\r\n  }\r\n}\r\n.hideWhiteEyeAni {\r\n  -webkit-animation: hideWhiteEyeAniAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideWhiteEyeAniAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hideWhiteEyeAniAni {\r\n  0% {\r\n    left: 50%;\r\n    top: 54px;\r\n  }\r\n  100% {\r\n    left: 110%;\r\n    top: 80px;\r\n  }\r\n}\r\n\r\n.arrow {\r\n  top: 63px;\r\n  position: absolute;\r\n  width: 23px;\r\n  height: 23px;\r\n  right: 56px;\r\n  color: @culture;\r\n  font-size: 28px;\r\n  cursor: pointer;\r\n  z-index: 98;\r\n}\r\n\r\n.headerRightToleft {\r\n  -webkit-animation: headerRightToleftAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: headerRightToleftAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes headerRightToleftAni {\r\n  0% {\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n  }\r\n}\r\n\r\n@keyframes headerRightToleftAni {\r\n  0% {\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n  }\r\n}\r\n\r\n.asideFullscreen {\r\n  -webkit-animation: asideFullscreenAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: asideFullscreenAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes asideFullscreenAni {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    left: -476px;\r\n  }\r\n}\r\n.aside {\r\n  -webkit-animation: asideAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: asideAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes asideAni {\r\n  0% {\r\n    left: -476px;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n\r\n.centerLayer {\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: transparent;\r\n  z-index: 9999;\r\n  top: 0;\r\n  left: 0;\r\n}\r\n\r\n.openCommitProblemCard {\r\n  -webkit-animation: openCommitProblemCardAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: openCommitProblemCardAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes openCommitProblemCardAni {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n    display: none;\r\n  }\r\n}\r\n.closeCommitProblemCard {\r\n  -webkit-animation: closeCommitProblemCard 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: closeCommitProblemCard 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes closeCommitProblemCard {\r\n  0% {\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n    display: block;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/LayoutWhite.vue","import { EventBus } from \"@/utils/eventBus\";\r\nlet rollbackMixins = {\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      isNeedOutFullscreenAni: false\r\n    };\r\n  },\r\n  activated() {\r\n    console.log(\"fullscreen activated\");\r\n    this.isNeedOutFullscreenAni = false;\r\n  },\r\n  beforeDestroy() {\r\n    this.$store.dispatch(\"clearHistoryOperate\");\r\n  },\r\n  methods: {\r\n    rollbackAction(history) {\r\n      console.log(\"rollbackAction:\", history);\r\n      if (this.pageNameStore === \"white\" && this.whiteCom === \"Icon\") {\r\n        EventBus.$emit(\"closeIconPage\");\r\n        let timeout = setTimeout(() => {\r\n          console.log(\"CultureIndex\");\r\n          EventBus.$emit(\"CultureIndex\");\r\n          clearTimeout(timeout);\r\n        }, 500);\r\n      }\r\n    }\r\n  }\r\n};\r\n\r\nexport default rollbackMixins;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/rollback.js","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"container\",style:({\n    borderRadius:\n      _vm.centerStauts === 'centerStauts2' || _vm.centerStauts === 'centerStauts4'\n        ? '14px'\n        : '0'\n  })},[_c('el-header',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n      _vm.centerStauts !== 'centerStauts2' && _vm.centerStauts !== 'centerStauts4'\n    ),expression:\"\\n      centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\\n    \"}],class:[\n      _vm.centerStauts === 'centerStauts3' || _vm.centerStauts === 'centerStauts1'\n        ? 'headerRightToleft'\n        : ''\n    ],style:({ background: _vm.theme === 'white' ? '#eaedef' : '#1f1f1f' }),attrs:{\"id\":\"whiteHeader\"}},[_c('Hearder',{ref:\"whiteHeader\",attrs:{\"id\":\"layoutWhiteHeader\",\"pageNamePro\":'white',\"activeIndex\":_vm.whiteActiveIndex,\"theme\":_vm.theme,\"isDisabledGuide\":_vm.isWhiteDisabledGuide || (this.isInStudyLogBookList && _vm.$route.name === 'StudyLog')}})],1),_vm._v(\" \"),_c('el-container',{staticClass:\"main\"},[(_vm.centerStauts === 'centerStauts2' || _vm.centerStauts === 'centerStauts4')?_c('div',{staticClass:\"centerLayer\"}):_vm._e(),_vm._v(\" \"),_c('el-aside',{class:[_vm.isFullscreen ? 'asideFullscreen' : 'aside'],staticStyle:{\"position\":\"relative\"},nativeOn:{\"click\":function($event){return _vm.clickAside.apply(null, arguments)}}},[(!_vm.showTaskProgress)?_c('div',{staticClass:\"icons\",attrs:{\"id\":\"icons\"}},[(!_vm.showIcon && _vm.showPageEyeIcon && !_vm.showFullEyeIcon)?_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showTaskProgress && _vm.showEye && !_vm.hideWhiteEye && _vm.showIsCenterEye),expression:\"!showTaskProgress && showEye && !hideWhiteEye && showIsCenterEye\"}],staticClass:\"eye\",class:[\n            'eye',\n            _vm.showWhiteEyeAni && _vm.centerStauts === 'centerStauts2'\n              ? 'hideWhiteEyeAni'\n              : '',\n            _vm.showWhiteEyeAni && _vm.centerStauts === 'centerStauts3'\n              ? 'showWhiteEyeAni'\n              : ''\n          ],attrs:{\"id\":\"index_step4\",\"src\":_vm.styleImg},on:{\"click\":_vm.whiteIconContainer}}):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n          _vm.centerStauts !== 'centerStauts2' && _vm.centerStauts !== 'centerStauts4'\n        ),expression:\"\\n          centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\\n        \"}],ref:\"arrow\",class:[\n          'arrow',\n          _vm.isFirstShowTp ? '' : _vm.showTaskProgress ? 'arrowleft' : 'arrowright'\n        ],attrs:{\"id\":\"index_step5\",\"src\":_vm.whiteActiveIndex === 0\n            ? require('@/assets/img/progress.svg')\n            : _vm.whiteActiveIndex === 1\n            ? require('@/assets/img/progress1.svg')\n            : _vm.whiteActiveIndex === 2\n            ? require('@/assets/img/progress2.svg')\n            : require('@/assets/img/progress3.svg')},on:{\"click\":_vm.toTaskProgress}}),_vm._v(\" \"),_c('Menus',{ref:\"menu\",attrs:{\"parent\":_vm.that,\"isFirstShowTp\":_vm.isFirstShowTp,\"showTaskProgress\":_vm.showTaskProgress,\"centerStauts\":_vm.centerStauts,\"showIconPage\":_vm.showIconPage,\"showIcon\":_vm.showIcon},on:{\"toTaskProgress\":_vm.toTaskProgress}})],1),_vm._v(\" \"),(_vm.showIcon)?_c('img',{class:[\n        'eye',\n        'icon_eye',\n        _vm.showIconAniLeft ? 'icon_eyeanileft' : 'icon_eyeaniright'\n      ],attrs:{\"src\":_vm.styleImg},on:{\"click\":_vm.closeIconPage}}):_vm._e(),_vm._v(\" \"),(_vm.showFullEyeIcon)?_c('img',{class:[\n        'eye',\n        'icon_eye',\n        'icon_eye1',\n        'icon_eye_fullscreen',\n        _vm.showTaskProgress ? _vm.showIconAniLeftFull ? 'icon_eyeanifull_noani' : 'icon_eyeanioutfull_noani' : _vm.showIconAniLeftFull ? 'icon_eyeanifull' : 'icon_eyeanioutfull',\n        _vm.disableOperateMode ? 'disableOperateMode' : '',\n        _vm.openCommitProblemCard ? _vm.openCommitProblemCard == 1 ? 'openCommitProblemCard' : 'closeCommitProblemCard' : ''\n\n      ],attrs:{\"src\":_vm.styleImg},on:{\"click\":_vm.closeFullScreen}}):_vm._e(),_vm._v(\" \"),(_vm.showOtherPageEyeIcon)?_c('img',{class:[\n        'eye',\n        'icon_eye',\n        'icon_eye_fullscreen',\n        _vm.showTaskProgress ? _vm.showOtherPageEyeIconAni ? 'icon_eyeanifull_noani' : 'icon_eyeanioutfull_noani' : _vm.showOtherPageEyeIconAni ? 'icon_eyeanifull' : 'icon_eyeanioutfull'\n      ],attrs:{\"id\":\"imgOtherPageEyeIcon\",\"src\":_vm.styleImg},on:{\"click\":_vm.closeOtherPage1}}):_vm._e(),_vm._v(\" \"),_c('el-main',{class:[\n      'white-main-container' ],style:(_vm.mainStyle),attrs:{\"id\":\"whiteMainContainer\"}},[_c('keep-alive',[_c(_vm.whiteCom == 'Mind' && _vm.isMobile ? 'PadMind' : _vm.whiteCom,{tag:\"component\",attrs:{\"parent\":_vm.that}})],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-16414e04\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/LayoutWhite.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-16414e04\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./LayoutWhite.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./LayoutWhite.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./LayoutWhite.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-16414e04\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./LayoutWhite.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-16414e04\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/LayoutWhite.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"black\"\r\n    @mouseover=\"hoverBlackCulture\"\r\n    @mouseleave=\"outBlackCulture\"\r\n  >\r\n    <img v-if=\"data && data.course_case_content\" class=\"quotes\" src=\"@/assets/img/black_quotes_left.svg\" />\r\n    <img v-if=\"data && data.course_case_content\" class=\"quotes\" src=\"@/assets/img/black_quotes_right.svg\" />\r\n    <div class=\"content-wrapper\" :id=\"'blackContent' + type\" @click=\"toDetail\">\r\n      <span\r\n        class=\"content prewrap-content\"\r\n        v-if=\"data && data.course_case_content\"\r\n        >{{ data && data.course_case_content }}\r\n      </span>\r\n      <span class=\"content none\" v-else>\r\n        <img src=\"@/assets/img/black_none.svg\" />\r\n        <p>暂无内容</p>\r\n      </span>\r\n      \r\n    </div>\r\n    <div class=\"more\" :id=\"'blackMore' + type\" @click=\"toCaseList\">\r\n      更多案例\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  EventBus,\r\n  BLACK_CULTRUE_CONTENT,\r\n  BLACK_CASE_LIST\r\n} from \"@/utils/eventBus\";\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    data: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      }\r\n    },\r\n    type: {\r\n      type: Number,\r\n      default: 0\r\n    }\r\n  },\r\n  data() {\r\n    return {};\r\n  },\r\n  computed: {\r\n    caseInfo() {\r\n      return this.$store.getters.caseInfo;\r\n    },\r\n    blackActiveIndex() {\r\n      return this.$store.getters.blackActiveIndex;\r\n    }\r\n  },\r\n  watch: {\r\n  },\r\n  methods: {\r\n    toCaseList() {\r\n      //\r\n      window.toWhiteTipsList = 2;\r\n      EventBus.$emit(\"TO_BlACK_CASE_LIST\", this.blackActiveIndex);\r\n    },\r\n    toDetail() {\r\n      this.$store.dispatch(\"setCaseInfo\", this.data).then(() => {\r\n        EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n      });\r\n    },\r\n    hoverBlackCulture() {\r\n      const blackContent = document.getElementById(\"blackContent\" + this.type);\r\n      blackContent.style.transform = \"scale(1.1)\";\r\n      blackContent.style.transition = \"transform 0.3s linear\";\r\n      const blackMore = document.getElementById(\"blackMore\" + this.type);\r\n      blackMore.style.transform = \"translatex(30px)\";\r\n      blackMore.style.transition = \"transform 0.3s linear\";\r\n    },\r\n    outBlackCulture() {\r\n      const blackContent = document.getElementById(\"blackContent\" + this.type);\r\n      blackContent.style.transform = \"scale(1)\";\r\n      blackContent.style.transition = \"transform 0.3s linear\";\r\n      const blackMore = document.getElementById(\"blackMore\" + this.type);\r\n      blackMore.style.transform = \"translateX(0%)\";\r\n      blackMore.style.transition = \"transform 0.3s linear\";\r\n    }\r\n  },\r\n  created() {},\r\n  mounted() {}\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.black {\r\n  .content-wrapper {\r\n    display: flex;\r\n    flex-direction: column;\r\n    // .content {\r\n    //   align-self: center;\r\n    //   font-size: 22px;\r\n    //   font-family: SourceHanSansCN-Light, SourceHanSansCN;\r\n    //   font-weight: 300;\r\n    //   color: #ffffff;\r\n    //   line-height: 33px;\r\n    //   display: flex;\r\n    //   flex-direction: column;\r\n    //   padding: 15px 0 0 0;\r\n    //   overflow: hidden;\r\n    //   text-overflow: ellipsis;\r\n    //   -webkit-line-clamp: 5;\r\n    //   -webkit-box-orient: vertical;\r\n    //   display: -webkit-box;\r\n    //   margin-bottom: 15px;\r\n    // }\r\n    .none {\r\n      height: 190px;\r\n      margin-bottom: 0;\r\n      text-align: center;\r\n      img {\r\n        width: 115px;\r\n        height: 115px;\r\n      }\r\n      p {\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: rgba(255, 255, 255, 0.3);\r\n        line-height: 18px;\r\n      }\r\n    }\r\n  }\r\n  .quotes {\r\n      width: 14px;\r\n      height: 14px;\r\n      position: absolute;\r\n      &:first-of-type {\r\n        left: 39px;\r\n        top: 39px;\r\n      }\r\n      &:last-of-type {\r\n        right: 39px;\r\n        top: 234px;\r\n        // padding-right: 40px;\r\n      }\r\n    }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/Culture.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"black\",on:{\"mouseover\":_vm.hoverBlackCulture,\"mouseleave\":_vm.outBlackCulture}},[(_vm.data && _vm.data.course_case_content)?_c('img',{staticClass:\"quotes\",attrs:{\"src\":require(\"@/assets/img/black_quotes_left.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.data && _vm.data.course_case_content)?_c('img',{staticClass:\"quotes\",attrs:{\"src\":require(\"@/assets/img/black_quotes_right.svg\")}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"content-wrapper\",attrs:{\"id\":'blackContent' + _vm.type},on:{\"click\":_vm.toDetail}},[(_vm.data && _vm.data.course_case_content)?_c('span',{staticClass:\"content prewrap-content\"},[_vm._v(_vm._s(_vm.data && _vm.data.course_case_content)+\"\\n    \")]):_c('span',{staticClass:\"content none\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/black_none.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"暂无内容\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"more\",attrs:{\"id\":'blackMore' + _vm.type},on:{\"click\":_vm.toCaseList}},[_vm._v(\"\\n    更多案例\\n  \")])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5ddf4fb6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/Culture.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5ddf4fb6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Culture.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Culture.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Culture.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5ddf4fb6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Culture.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5ddf4fb6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/Culture.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"cantainer\">\r\n    <div class=\"contentBlack\"\r\n      :class=\"[\r\n        showCaseCard && showCaseInited ? 'showCaseCard' : 'hideCaseCard'\r\n      ]\">\r\n      <div>\r\n        <div class=\"section_maodian_black cultureSecBlack\" :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': blackActiveIndex === 0\r\n          }\">\r\n          <Culture :data=\"cultureData\"\r\n            :type=\"0\" />\r\n        </div>\r\n        <div class=\"section_maodian_black thinkingSecBlack\" :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': blackActiveIndex === 1\r\n          }\">\r\n          <Culture :data=\"thinkingData\"\r\n            :type=\"1\" />\r\n        </div>\r\n        <div class=\"section_maodian_black behaviorSecBlack\" :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': blackActiveIndex === 2\r\n          }\">\r\n          <Culture :data=\"behaviorData\"\r\n            :type=\"2\" />\r\n        </div>\r\n        <div class=\"section_maodian_black personalitySecBlack\" :class=\"{\r\n            'card-content-box': true,\r\n            'card-content-box-active': blackActiveIndex === 3\r\n          }\">\r\n          <Culture :data=\"personalityData\"\r\n            :type=\"3\" />\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"nav navBlack\">\r\n      <div :style=\"{\r\n          opacity:\r\n            centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\r\n              ? 1\r\n              : 0\r\n        }\"\r\n        ref=\"transition\"\r\n        id=\"blackTransition\"\r\n        class=\"transition active0\"></div>\r\n      <ul class=\"sideMaodianBlack\"\r\n        :style=\"{\r\n          opacity:\r\n            centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\r\n              ? 1\r\n              : 0\r\n        }\">\r\n        <li class=\"nav_maodian_black active\">文化</li>\r\n        <li class=\"nav_maodian_black\">思维 &bull; 观念</li>\r\n        <li class=\"nav_maodian_black\">行为 &bull; 习惯</li>\r\n        <li class=\"nav_maodian_black\">性格 &bull; 人格</li>\r\n      </ul>\r\n    </div>\r\n\r\n    <!-- <div\r\n      style=\"width: 32px; height: 100%\"\r\n      :style=\"{\r\n        opacity:\r\n          centerStauts === 'centerStauts2' && centerStauts === 'centerStauts4'\r\n            ? 1\r\n            : 0\r\n      }\"\r\n    ></div> -->\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport Culture from \"./Culture.vue\";\r\nimport { getCaseInfobyType, getCaseTag } from \"@/api/index\";\r\nimport { EventBus, BLACK_CULTRUE_CONTENT } from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: { Culture },\r\n  props: {\r\n    parent: {\r\n      type: Object,\r\n      default: () => new Object(),\r\n    },\r\n    showTaskProgress: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    showCaseCard: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      isMobile: this.getIsMobile(),\r\n      options: {\r\n        navClass: \".nav_maodian_black\",\r\n        secClass: \".section_maodian_black\",\r\n        navMenu: [\"秒杀专区\", \"买一赠一\", \"品牌齐聚\"],\r\n      },\r\n      activeIndex: this.blackActiveIndex ? this.blackActiveIndex : 0,\r\n      prevIndex: -1,\r\n      //是否点击模块，是的话不触发updateNav\r\n      isClick: false,\r\n      isWindows: true,\r\n      datas: [],\r\n      cultureData: null,\r\n      thinkingData: null,\r\n      behaviorData: null,\r\n      personalityData: null,\r\n      isScolling: false,\r\n      scrollTop: 0,\r\n      lastScrollTop: 0,\r\n      scrollEndTop: 0,\r\n      intervalTime: null,\r\n      tagTypeData: 1,\r\n      inited: false,\r\n      showLayer: true,\r\n      showCaseInited: false,\r\n      currentTime: null,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    blackActiveIndex() {\r\n      return this.$store.getters.blackActiveIndex;\r\n    },\r\n    tagType() {\r\n      return this.$store.getters.tagType;\r\n    },\r\n    scrollTopStore() {\r\n      return this.$store.getters.scrollTopBlack;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n  },\r\n  watch: {\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal || newVal == 0) {\r\n          this.getCaseInfobyType().then(() => {\r\n            this.toCultrueContent(this.blackActiveIndex + 1);\r\n          });\r\n        }\r\n      },\r\n    },\r\n    centerStauts(newVal) {\r\n      console.log(\"centerStatusxxxxx:\" + newVal);\r\n      let contentBlack = document.querySelector(\".contentBlack\");\r\n      if (newVal === \"centerStauts2\" || newVal === \"centerStauts4\") {\r\n        contentBlack.style.overflow = \"hidden\";\r\n      } else {\r\n        contentBlack.style.overflow = \"auto\";\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          this.getCaseInfobyType().then(() => {\r\n            this.toCultrueContent(this.blackActiveIndex + 1);\r\n          });\r\n        }\r\n      },\r\n    },\r\n    tagType(newVal, oldVal) {\r\n      console.log(\"menublack tagType:\", newVal, oldVal, this.pageName);\r\n      if (\r\n        newVal &&\r\n        newVal.menu !== \"MenusBlack\" &&\r\n        this.pageName === \"white\" &&\r\n        this.$route.name == 'index'\r\n      ) {\r\n        this.isClick = true;\r\n        this.clickNav(newVal.tagType - 1);\r\n      }\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function (to, from) {\r\n        console.log(\"$route:\", to, from);\r\n        if (to.name !== \"index\") {\r\n          this.showLayer = false;\r\n        } else {\r\n          this.showLayer = true;\r\n        }\r\n      },\r\n    },\r\n    showCaseCard() {\r\n      console.log(\"showCaseInited\");\r\n      this.showCaseInited = true;\r\n      // 修改遮罩层的高度\r\n      // if (this.showCaseCard) {\r\n      //   // 21rem是案例卡片的最大高度\r\n      //   this.$refs.blackLayer.style.top = \"746px\";\r\n      //   this.$refs.blackLayer.style.transition = \"all 0.4s ease-in-out\";\r\n      // } else {\r\n      //   this.$refs.blackLayer.style.top = \"452px\";\r\n      //   this.$refs.blackLayer.style.transition = \"all 0.4s ease-in-out\";\r\n      // }\r\n    },\r\n  },\r\n  methods: {\r\n    // 点击更多案例，\r\n    toCaseList(case_tag_type) {\r\n      console.log(\"toCaseList\");\r\n      const sideMaodianBlack = document.querySelector(\".sideMaodianBlack\");\r\n      sideMaodianBlack.style.opacity = 0;\r\n      const sideMaodianBlackRect = sideMaodianBlack.getBoundingClientRect();\r\n      // 模块导航动画\r\n      const navBlack = document.querySelector(\".navBlack\");\r\n      const items = navBlack.getElementsByClassName(\"nav_maodian_black\");\r\n      const transition = navBlack.getElementsByClassName(\"transition\");\r\n      if (items) {\r\n        const item = items[case_tag_type];\r\n        const cultureRect = items[0].getBoundingClientRect();\r\n        console.log(transition[0].getBoundingClientRect());\r\n        const rect = transition[0].getBoundingClientRect();\r\n        if (item) {\r\n          // 生成一个模块，并添加移动动效\r\n          let bgColor = \"\";\r\n          const li = document.createElement(\"li\");\r\n          li.id = \"caseListNav\";\r\n          li.innerHTML = item.innerHTML;\r\n          li.style.position = \"fixed\";\r\n          li.style.top = rect.top + \"px\";\r\n          li.style.right = this.$px2rem(32);\r\n          li.style.width = rect.width + \"px\";\r\n          li.style.height = rect.height + \"px\";\r\n          li.style.zIndex = 1000;\r\n          li.style.listStyle = \"none\";\r\n          li.style.padding = `${this.$px2rem(0)} ${this.$px2rem(7)}`;\r\n          li.style.borderRadius = this.$px2rem(20);\r\n          // li.style.textAlign = \"center\";\r\n          li.style.fontWeight = \"500\";\r\n          li.style.fontSize = this.$px2rem(12);\r\n          li.style.fontFamily = \"SourceHanSansCN-Medium, SourceHanSansCN\";\r\n          li.style.display = \"flex\";\r\n          li.style.alignItems = \"center\";\r\n          li.style.justifyContent = \"center\";\r\n          // li.style.transform = `translateY(${0})`;\r\n          // 再生成一个，用来覆盖原本的，因为原本的有动效，设置opacity为0无效，display：none会有问题，动效会执行一遍\r\n          const li1 = document.createElement(\"li\");\r\n          li1.id = \"caseListNav1\";\r\n          li1.style.position = \"fixed\";\r\n          li1.style.top = rect.top + \"px\";\r\n          li1.style.left = rect.left + \"px\";\r\n          li1.style.width = rect.width + \"px\";\r\n          li1.style.height = rect.height + \"px\";\r\n          li1.style.right = this.$px2rem(23);\r\n          li1.style.zIndex = 999;\r\n          li1.style.listStyle = \"none\";\r\n          li1.style.padding = `${this.$px2rem(0)} ${this.$px2rem(7)}`;\r\n          li1.style.borderRadius = this.$px2rem(20);\r\n          // li1.style.textAlign = \"center\";\r\n          li1.style.fontWeight = \"500\";\r\n          li1.style.fontSize = this.$px2rem(12);\r\n          li1.style.fontFamily = \"SourceHanSansCN-Medium, SourceHanSansCN\";\r\n          li1.style.backgroundColor = \"#1d2223\";\r\n          li1.style.opacity = 0;\r\n          li.style.display = \"flex\";\r\n          li.style.alignItems = \"center\";\r\n          li.style.justifyContent = \"center\";\r\n          if (case_tag_type == 0) {\r\n            bgColor = \"#71afbb\";\r\n            li1.style.backgroundColor = bgColor;\r\n            li.style.backgroundColor = bgColor;\r\n          } else if (case_tag_type == 1) {\r\n            bgColor = \"#64AFD5\";\r\n            li1.style.backgroundColor = bgColor;\r\n            li.style.backgroundColor = bgColor;\r\n          } else if (case_tag_type == 2) {\r\n            bgColor = \"linear-gradient(135deg, #ffae8b 0%, #fd746b 100%)\";\r\n            li1.style.backgroundImage = bgColor;\r\n            li.style.backgroundImage = bgColor;\r\n          } else {\r\n            bgColor = \"#2C51AF\";\r\n            li1.style.backgroundColor = bgColor;\r\n            li.style.backgroundColor = bgColor;\r\n          }\r\n\r\n          if (li) {\r\n            navBlack.appendChild(li);\r\n            navBlack.appendChild(li1);\r\n            this.$refs.transition.style.opacity = 0;\r\n            setTimeout(() => {\r\n              this.$nextTick(() => {\r\n                li.style.transform = `translateY(${\r\n                  sideMaodianBlackRect.top -\r\n                  rect.top -\r\n                  cultureRect.height +\r\n                  \"px\"\r\n                })`;\r\n                li.style.transition = \"all 0.8s ease-in-out\";\r\n              });\r\n            }, 100);\r\n          }\r\n        }\r\n      }\r\n\r\n      // 模块内容动画\r\n      let contentBlack = document.querySelector(\".contentBlack\");\r\n      contentBlack.style.opacity = 0;\r\n      contentBlack.style.transition = \"all 0.4s ease-in-out\";\r\n      let timeout = setTimeout(() => {\r\n        clearTimeout(timeout);\r\n        this.$router.push({\r\n          path: \"/black/CaseList\",\r\n          query: {\r\n            case_tag_type: parseInt(case_tag_type) + 1,\r\n          },\r\n        });\r\n      }, 500);\r\n    },\r\n    backFromCaseList(case_tag_type) {\r\n      console.log(\"backFromCaseList:\", case_tag_type);\r\n      const caseListNav = document.getElementById(\"caseListNav\");\r\n      const caseListNav1 = document.getElementById(\"caseListNav1\");\r\n      if(caseListNav && caseListNav1) {\r\n        const navBlack = document.querySelector(\".navBlack\");\r\n        // 模块内容动画\r\n        const contentBlack = document.querySelector(\".contentBlack\");\r\n        contentBlack.style.opacity = 1;\r\n        contentBlack.style.transition = \"all 0.8s ease-in-out\";\r\n\r\n        const sideMaodianBlack = document.querySelector(\".sideMaodianBlack\");\r\n        sideMaodianBlack.style.opacity = 1;\r\n        sideMaodianBlack.style.transform = `translateY(-${this.$px2rem(40)})`;\r\n        sideMaodianBlack.style.transition = \"all 0s ease-in-out\";\r\n        caseListNav1.style.transform = `translateY(-${40})`;\r\n        let top = 0;\r\n        if (case_tag_type == 1) {\r\n          top = -40;\r\n        } else if (case_tag_type == 2) {\r\n          top = 40;\r\n        } else if (case_tag_type == 3) {\r\n          top = 40;\r\n        } else {\r\n          top = 40;\r\n        }\r\n\r\n        let timeout1 = setTimeout(() => {\r\n          caseListNav1.style.opacity = 1;\r\n          sideMaodianBlack.style.transform = \"translateY(0px)\";\r\n          sideMaodianBlack.style.transition = \"all 0.8s ease-in-out\";\r\n          caseListNav1.style.transform = \"translateY(0px)\";\r\n          caseListNav1.style.transition = \"all 0.8s ease-in-out\";\r\n          clearTimeout(timeout1);\r\n        });\r\n\r\n        if (caseListNav) {\r\n          let navBlack = document.querySelector(\".navBlack\");\r\n          caseListNav.style.transform = `translateY(${0})`;\r\n          caseListNav.style.transition = \"all 0.8s ease-in-out\";\r\n\r\n          let timeout = setTimeout(() => {\r\n            clearTimeout(timeout);\r\n            caseListNav.parentNode.removeChild(caseListNav);\r\n            caseListNav1.parentNode.removeChild(caseListNav1);\r\n            this.$refs.transition.style.opacity = 1;\r\n          }, 900);\r\n        }\r\n        let timeout2 = setTimeout(() => {\r\n          clearTimeout(timeout2);\r\n          this.$refs.transition.style.opacity = 1;\r\n        }, 1000);\r\n      }\r\n\r\n    },\r\n    isScrollEnd() {\r\n      this.scrollEndTop = this.getScrollTop();\r\n      if (this.scrollTop === this.scrollEndTop) {\r\n        console.log(\"滚动条停止滚动\");\r\n        this.$store.dispatch(\"setTagType\", {\r\n          tagType: this.tagTypeData,\r\n          menu: \"MenusBlack\",\r\n        });\r\n      }\r\n    },\r\n    getCaseInfobyType() {\r\n      this.cultureData = {};\r\n      this.thinkingData = {};\r\n      this.behaviorData = {};\r\n      this.personalityData = {};\r\n      return new Promise(async (resolve) => {\r\n        try {\r\n          const res = await getCaseInfobyType({ course_id: this.course_id, is_new: 1 });\r\n          if (res && res.code === 0) {\r\n            let data = res.data;\r\n            data.forEach((item) => {\r\n              if (item.case_tag_type == 1) {\r\n                this.cultureData = item;\r\n              } else if (item.case_tag_type == 2) {\r\n                this.thinkingData = item;\r\n              } else if (item.case_tag_type == 3) {\r\n                this.behaviorData = item;\r\n              } else if (item.case_tag_type == 4) {\r\n                this.personalityData = item;\r\n              }\r\n            });\r\n          }\r\n          resolve();\r\n        } catch (error) {\r\n          // this.$notify.error({\r\n          //   title: \"错误\",\r\n          //   message: error,\r\n          // });\r\n        }\r\n      });\r\n    },\r\n    async getCaseTag() {\r\n      try {\r\n        const res = await getCaseTag();\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCaseTags\", res.data).then(() => {});\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    //当前锚点\r\n    navonBlack(index, navItems) {\r\n      if (\r\n        this.centerStauts === \"centerStauts2\" ||\r\n        this.centerStauts === \"centerStauts4\"\r\n      ) {\r\n        return;\r\n      }\r\n\r\n      if (this.activeIndex === this.prevIndex) {\r\n        return;\r\n      }\r\n      this.$store.dispatch(\"setBlackActiveIndex\", this.activeIndex);\r\n      this.$store.dispatch(\"setWhiteActiveIndex\", this.activeIndex);\r\n      this.$emit(\"setShowCaseCard\", false);\r\n      navItems.forEach((item) => {\r\n        item.classList = \"nav_maodian_black\";\r\n      });\r\n      // this.parent.$refs.header.active = index;\r\n      this.parent.menuType = index;\r\n      if (index <= navItems.length - 1) {\r\n        if (index === 0) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active0_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active0\";\r\n          }\r\n          navItems[index].classList = \"nav_maodian_black active\";\r\n          this.parent.styleImg = \"/static/img/blackCulture.svg\";\r\n        } else if (index === 1) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active1_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active1\";\r\n          }\r\n          navItems[index].classList = \"nav_maodian_black active\";\r\n          this.parent.styleImg = \"/static/img/blackThinking.svg\";\r\n        } else if (index === 2) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active2_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active2\";\r\n          }\r\n          navItems[index].classList = \"nav_maodian_black active\";\r\n          this.parent.styleImg = \"/static/img/blackBehavior.svg\";\r\n        } else if (index === 3) {\r\n          if (this.prevIndex > index) {\r\n            this.$refs.transition.className = \"transition active3_up\";\r\n          } else {\r\n            this.$refs.transition.className = \"transition active3\";\r\n          }\r\n          navItems[index].classList = \"nav_maodian_black active\";\r\n          this.parent.styleImg = \"/static/img/blackPersonality.svg\";\r\n        }\r\n        if (this.inited) {\r\n          this.toCultrueContent(index + 1);\r\n        }\r\n        // this.toCultrueContent(index + 1);\r\n      }\r\n      // console.log(\"this.prevIndex = index;\");\r\n      this.prevIndex = index;\r\n    },\r\n    toCultrueContent(case_tag_type) {\r\n      console.log(\"toCultrueContent:\", case_tag_type);\r\n      if (case_tag_type == 1) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.cultureData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      } else if (case_tag_type == 2) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.thinkingData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      } else if (case_tag_type == 3) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.behaviorData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      } else if (case_tag_type == 4) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.personalityData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      }\r\n    },\r\n    //定位\r\n    ScrollTopBlack(number = 0, time) {\r\n      let contentBlack = document.querySelector(\".contentBlack\");\r\n      if (!time) {\r\n        contentBlack.scrollTop = number;\r\n        return number;\r\n      }\r\n      // const spacingTime = 20; // 设置循环的间隔时间  值越小消耗性能越高\r\n      let isMobileDevice = this.checkMobileDevice();\r\n      let spacingTime = 0;\r\n      if (isMobileDevice) {\r\n        spacingTime = time;\r\n      } else {\r\n        spacingTime = 50;\r\n      }\r\n      let spacingInex = time / spacingTime; // 计算循环的次数\r\n      let nowTop = contentBlack.scrollTop; // 获取当前滚动条位置\r\n      let everTop = (number - nowTop) / spacingInex; // 计算每次滑动的距离\r\n      let scrollTimer = setInterval(() => {\r\n        if (spacingInex > 0) {\r\n          spacingInex--;\r\n          this.ScrollTopBlack((nowTop += everTop));\r\n        } else {\r\n          clearInterval(scrollTimer); // 清除计时器\r\n          this.isClick = false;\r\n          console.log(\"滚动完成\");\r\n          const now = new Date().getTime();\r\n          this.currentTime = now;\r\n          // console.log(\"ScrollTopBlack:\", this.isClick);\r\n        }\r\n      }, spacingTime);\r\n    },\r\n    //定位\r\n    toScroll(index, secItems) {\r\n      //计算位置\r\n      let scrollY = secItems[index].offsetTop;\r\n      let contentBlack = document.querySelector(\".contentBlack\");\r\n      contentBlack.scrollTop = scrollY;\r\n      // window.scrollTo(0, scrollY);\r\n    },\r\n    //防抖\r\n    debounce(fn, wait) {\r\n      let timeout = null;\r\n      return function () {\r\n        if (timeout !== null) clearTimeout(timeout);\r\n        timeout = setTimeout(fn, wait);\r\n      };\r\n    },\r\n    //节流\r\n    throttle(func, delay) {\r\n      // 记录当前时间(就是第一次(上一次)滚动事件触发的时间)\r\n      var prev = Date.now();\r\n      return function () {\r\n        // 普通函数的this指向window\r\n        var context = this;\r\n        // arguments是一个类数组对象，用于接受函数的参数\r\n        // 这个只要发生滚动事件就会输出\r\n        // console.log(arguments);\r\n        var args = \"hello\";\r\n        // console.log(args);\r\n        // 再次记录当前的时间（第二次(下一次)滚动事件的触发时间）\r\n        var now = Date.now();\r\n        //两次滚动事件触发的时间间隔是否大于规定的时间\r\n        if (now - prev >= delay) {\r\n          // 如果间隔大于规定的时间delay，就会调用func(也就是handle函数)\r\n          // apply:改变函数的this指向,第一个参数是this指向，第二参数是传递的参数，要用数组存放，\r\n          // call和bind是 一个一个的存放，不用数组\r\n          func.apply(context, [args]);\r\n          prev = Date.now();\r\n        }\r\n      };\r\n    },\r\n    //滚动条在Y轴上的滚动距离\r\n    getScrollTop() {\r\n      let scrollTop = 0;\r\n      let bodyScrollTop = 0;\r\n      let documentScrollTop = 0;\r\n      let contentBlack = document.querySelector(\".contentBlack\");\r\n      scrollTop = contentBlack.scrollTop;\r\n      return scrollTop;\r\n    },\r\n    //文档的总高度\r\n    getScrollHeight() {\r\n      let scrollHeight = 0;\r\n      let bodyScrollHeight = 0;\r\n      let documentScrollHeight = 0;\r\n      let contentBlack = document.querySelector(\".contentBlack\");\r\n      // if (document.body) {\r\n      //   bodyScrollHeight = document.body.scrollHeight;\r\n      // }\r\n      // if (document.documentElement) {\r\n      //   documentScrollHeight = document.documentElement.scrollHeight;\r\n      // }\r\n      scrollHeight = contentBlack.scrollHeight;\r\n      return scrollHeight;\r\n    },\r\n    //浏览器视口(窗口)的高度\r\n    getWindowHeight() {\r\n      let windowHeight = 0;\r\n      if (document.compatMode == \"CSS1Compat\") {\r\n        windowHeight = document.documentElement.clientHeight;\r\n      } else {\r\n        windowHeight = document.body.clientHeight;\r\n      }\r\n      return windowHeight;\r\n    },\r\n    bindDisibledScroll() {\r\n      this.isDisibledScroll = true;\r\n      if(this.timeValueMouseOver) {\r\n        clearTimeout(this.timeValueMouseOver);\r\n        this.timeValueMouseOver = null;\r\n      }\r\n      this.timeValueMouseOver = setTimeout(() => {\r\n        this.isDisibledScroll = false;\r\n\r\n        clearTimeout(this.timeValueMouseOver);\r\n        this.timeValueMouseOver = null;\r\n      }, 1000);\r\n    },\r\n    init(options, scrollH) {\r\n      if (window.navigator.userAgent.indexOf(\"Mac OS\") !== -1) {\r\n        this.isWindows = false;\r\n      } else {\r\n        this.isWindows = true;\r\n      }\r\n      let navItems = document.querySelectorAll(options.navClass);\r\n      let secItems = document.querySelectorAll(options.secClass);\r\n      let sideMaodianBlack = document.querySelector(\".sideMaodianBlack\");\r\n      let contentBlack = document.querySelector(\".contentBlack\");\r\n\r\n\r\n      let timeout = setTimeout(() => {\r\n        this.navonBlack(this.blackActiveIndex, navItems);\r\n        console.log(\"black init:\", this.pageName);\r\n        if (this.pageName === \"black\") {\r\n          this.isClick = true;\r\n          if (this.$route.path !== \"/\") {\r\n            this.$store\r\n              .dispatch(\"setTagType\", {\r\n                tagType: this.blackActiveIndex + 1,\r\n                menu: \"MenusBlack\",\r\n              })\r\n              .then(() => {\r\n                // this.$store.dispatch(\"setBlackCom\", this);\r\n                this.clickNav(this.blackActiveIndex);\r\n                this.toCultrueContent(this.blackActiveIndex + 1);\r\n              });\r\n          } else {\r\n            this.$store\r\n              .dispatch(\"setTagType\", {\r\n                tagType: 1,\r\n                menu: \"MenusBlack\",\r\n              })\r\n              .then(() => {\r\n                this.$store.dispatch(\"setBlackCom\", \"CultrueContent\");\r\n                // this.clickNav(0);\r\n                EventBus.$emit(\"goWhite1\");\r\n                let timeout2 = setTimeout(() => {\r\n                  console.log(\"CultureIndex\");\r\n                  EventBus.$emit(\"CultureIndex\");\r\n                  clearTimeout(timeout2);\r\n                }, 300);\r\n              });\r\n          }\r\n        }\r\n        clearTimeout(timeout)\r\n      }, 1000)\r\n\r\n\r\n\r\n      this.navItems = navItems;\r\n      this.secItems = secItems;\r\n\r\n      //利用事件冒泡机制，在点击的li元素的祖先元素ul标签上注册click事件\r\n      sideMaodianBlack.addEventListener(\r\n        \"click\",\r\n        (event) => {\r\n          let item = event.target;\r\n          let lists = Array.from(sideMaodianBlack.querySelectorAll(\"li\"));\r\n          let index = lists.indexOf(item); //li 索引\r\n          // console.log(\"index:\", index, event.target.className);\r\n          if (\r\n            event.target.tagName.toLowerCase() === \"li\" &&\r\n            event.target.className === \"nav_maodian_black\"\r\n          ) {\r\n            // console.log(\"click\");\r\n            this.isClick = true;\r\n            this.$store\r\n              .dispatch(\"setTagType\", {\r\n                tagType: index + 1,\r\n                menu: \"MenusBlack\",\r\n              })\r\n              .then(() => {\r\n                this.clickNav();\r\n              });\r\n          }\r\n        },\r\n        false\r\n      );\r\n      // console.log(\"注册scroll事件\");\r\n      // console.log(\"contentBlack:\", contentBlack);\r\n\r\n      //注册scroll事件\r\n      if(this.isMobile) {\r\n        contentBlack.addEventListener(\"scroll\", this.bindBoxScroll);\r\n      }\r\n      else {\r\n        contentBlack.addEventListener(\"wheel\", this.bindBoxScroll);\r\n      }\r\n      EventBus.$on('RESIZE_BERFORE', this.bindDisibledScroll);\r\n      EventBus.$on('DISIBLED_SCROLL_MENU', this.bindDisibledScroll);\r\n\r\n    },\r\n\r\n    bindBoxScroll(event, isScolling) {\r\n\r\n      // event.stopPropagation();\r\n      // event.preventDefault();\r\n      if(this.isDisibledScroll) {\r\n        return;\r\n      }\r\n\r\n      // 当通过代码设置scrollTop，触发了滚动，返回，不做处理\r\n      if(this.isBoxStaticScrolling) {\r\n        return;\r\n      }\r\n\r\n      if(!this.lockActiveIndex && this.lockActiveIndex !== 0) {\r\n        this.lockActiveIndex = this.activeIndex;\r\n        this.startTime = (+new Date());\r\n      }\r\n      const currActiveIndex = this.lockActiveIndex;\r\n\r\n      // 使用时间要结束滚动\r\n      if((+new Date()) - this.startTime > 200) {\r\n        return;\r\n      }\r\n\r\n\r\n      if(this.setScrollTopTimeValue) {\r\n        clearTimeout(this.setScrollTopTimeValue);\r\n        this.setScrollTopTimeValue = null;\r\n      }\r\n      this.setScrollTopTimeValue = setTimeout(() => {\r\n        if(currActiveIndex >= 0) {\r\n          this.isBoxStaticScrolling = true;\r\n          const nextActiveIndex = this.getCardStatus(currActiveIndex, 'getNextActiveIndex');\r\n\r\n          this.triggerSetTagType(nextActiveIndex, this.isMobile ? 'scroll' : 'wheel');\r\n        }\r\n      }, 60);\r\n    },\r\n\r\n    // 切换组件\r\n    triggerSetTagType(activeIndex, fromEvent) {\r\n      this.$store\r\n        .dispatch(\"setTagType\", {\r\n          tagType: activeIndex + 1,\r\n          menu: \"MenusBlack\",\r\n        })\r\n        .then(() => {\r\n          this.$nextTick(() => {\r\n            this.activeIndex = activeIndex;\r\n          });\r\n          this.clickNav(activeIndex, fromEvent);\r\n        });\r\n    },\r\n    animationScrollTop(maxScrollTop, $el, callBack, level) {\r\n      const maxTime = 100;\r\n      const time = 5;\r\n      const times = maxTime/time;\r\n      let newLevel = level || 0;\r\n      newLevel++;\r\n      let scrollTop = parseInt(maxScrollTop / times, 10);\r\n      if(newLevel > times) {\r\n        $el.style.overflowY = 'hidden';\r\n        if(callBack && typeof callBack === 'function') {\r\n          callBack();\r\n        }\r\n        return;\r\n      }\r\n      var timeer = setTimeout(() => {\r\n        $el.scrollTo(0, newLevel === times ? maxScrollTop : scrollTop * newLevel);\r\n        this.animationScrollTop(maxScrollTop, $el, callBack, newLevel)\r\n        clearTimeout(timeer)\r\n      }, time)\r\n    },\r\n    clearCardStatus(allHeight, fromEvent) {\r\n      let $box = document.querySelector(\".contentBlack\");\r\n      // 解除锁定\r\n      if(this.clickMainMenuingValue) {\r\n        clearTimeout(this.clickMainMenuingValue);\r\n        this.clickMainMenuingValue = null;\r\n      }\r\n      this.clickMainMenuingValue = setTimeout(() => {\r\n        this.isBoxStaticScrolling = false;\r\n        this.isClickMainMenuing = false;\r\n        $box.style.overflowY = 'auto';\r\n\r\n        $box.scrollTo(0, allHeight);\r\n\r\n        this.lockActiveIndex = null;\r\n        this.boxLastScrollTop = allHeight;\r\n        clearTimeout(this.clickMainMenuingValue);\r\n        this.clickMainMenuingValue = null;\r\n      }, fromEvent === 'click' ? 100 : 200)\r\n    },\r\n    getCardStatus(activeIndex, returnType, fromEvent) {\r\n      let $box = document.querySelector(\".contentBlack\");\r\n      let $cultureSec = document.querySelector(\".cultureSecBlack\");\r\n      let $thinkingSec = document.querySelector(\".thinkingSecBlack\");\r\n      let $behaviorSec = document.querySelector(\".behaviorSecBlack\");\r\n      let $personalitySec = document.querySelector(\".personalitySecBlack\");\r\n      const itemDoms = [$cultureSec, $thinkingSec, $behaviorSec, $personalitySec];\r\n\r\n      const maxTop = 30;\r\n      const lastScrollTop = this.boxLastScrollTop || 0;\r\n      const boxScrollTop = $box.scrollTop;\r\n      const boxOffset = $box.getBoundingClientRect();\r\n      const currActiveIndex = activeIndex;\r\n      let nextActiveIndex = currActiveIndex;\r\n      // const minY = itemDoms[activeIndex - 1] && itemDoms[activeIndex - 1].clientHeight;\r\n      // const macY = itemDoms[activeIndex] && itemDoms[activeIndex].clientHeight;\r\n\r\n      // 向下滚动\r\n      if(boxScrollTop > lastScrollTop && boxScrollTop - lastScrollTop > 30) {\r\n        nextActiveIndex = currActiveIndex + 1;\r\n      }\r\n      // 向上滚动\r\n      else if(boxScrollTop < lastScrollTop && lastScrollTop - boxScrollTop > 30) {\r\n        nextActiveIndex = currActiveIndex - 1;\r\n      }\r\n\r\n      if(returnType === 'getNextActiveIndex') {\r\n        return itemDoms[nextActiveIndex] ? nextActiveIndex : currActiveIndex;\r\n      }\r\n      else if(returnType === 'setBoxScrollTop') {\r\n        if(itemDoms[activeIndex]) {\r\n          this.isBoxStaticScrolling = true;\r\n\r\n          let allHeight = 0;\r\n          for(let i = 0; i < activeIndex; i++) {\r\n            allHeight = allHeight + itemDoms[i].getBoundingClientRect().height;\r\n          }\r\n          if(fromEvent === 'scroll') {\r\n            $box.scrollTo(0, allHeight);\r\n            $box.style.overflowY = 'hidden';\r\n            // const $child = $box.childNodes[0];\r\n            // $child.style.marginTop = '0px'\r\n            this.clearCardStatus(allHeight, fromEvent);\r\n          }\r\n          else if(fromEvent === 'click') {\r\n\r\n            this.animationScrollTop(allHeight, $box, () => {\r\n              this.clearCardStatus(allHeight);\r\n            })\r\n            //$box.scrollTo(0, allHeight);\r\n            // $box.style.overflowY = 'hidden';\r\n            // const $child = $box.childNodes[0];\r\n            // console.log(222222, $child);\r\n            // $child.style.marginTop = -allHeight + 'px'\r\n            this.clearCardStatus(allHeight, fromEvent);\r\n          }\r\n          else {\r\n            $box.scrollTo(0, allHeight);\r\n            $box.style.overflowY = 'hidden';\r\n            this.clearCardStatus(allHeight, fromEvent);\r\n          }\r\n\r\n          if(activeIndex === 3 || activeIndex === 2) {\r\n            $box.style.paddingBottom = boxOffset.height - itemDoms[3].clientHeight + 'px'\r\n          }\r\n          else {\r\n            $box.style.paddingBottom = 0 + 'px'\r\n          }\r\n\r\n\r\n        }\r\n      }\r\n    },\r\n    clickNav(slideIndex, fromEvent) {\r\n      EventBus.$emit(\"GOBACK\", false);\r\n      EventBus.$emit(\"SHOWWHITEICON\", false);\r\n      EventBus.$emit(\"showBlackEyeAni\", false);\r\n      let index = this.tagType.tagType - 1;\r\n      if (slideIndex !== undefined) {\r\n        index = slideIndex;\r\n      }\r\n      this.activeIndex = index;\r\n      if (index === 0) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.cultureData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      } else if (index === 1) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.thinkingData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      } else if (index === 2) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.behaviorData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      } else if (index === 3) {\r\n        this.$store.dispatch(\"setCaseInfo\", this.personalityData).then(() => {\r\n          EventBus.$emit(BLACK_CULTRUE_CONTENT);\r\n        });\r\n      }\r\n      this.navonBlack(index, this.navItems);\r\n      this.getCardStatus(index, 'setBoxScrollTop', fromEvent);\r\n\r\n    },\r\n    // 缩放页面\r\n    resizeWindow() {\r\n      let $box = document.querySelector(\".contentBlack\");\r\n      const boxOffset = $box.getBoundingClientRect();\r\n      let $cultureSec = document.querySelector(\".cultureSecBlack\");\r\n      let $thinkingSec = document.querySelector(\".thinkingSecBlack\");\r\n      let $behaviorSec = document.querySelector(\".behaviorSecBlack\");\r\n      let $personalitySec = document.querySelector(\".personalitySecBlack\");\r\n      const itemDoms = [$cultureSec, $thinkingSec, $behaviorSec, $personalitySec];\r\n\r\n      const activeIndex = this.blackActiveIndex;\r\n      if(itemDoms[activeIndex]) {\r\n        let allHeight = 0;\r\n        for(let i = 0; i < activeIndex; i++) {\r\n          allHeight = allHeight + itemDoms[i].getBoundingClientRect().height;\r\n        }\r\n\r\n        if(activeIndex === 3 || activeIndex === 2) {\r\n          $box.style.paddingBottom = boxOffset.height - itemDoms[3].clientHeight + 'px'\r\n        }\r\n        else {\r\n          $box.style.paddingBottom = 0 + 'px'\r\n        }\r\n        $box.scrollTo(0, allHeight);\r\n        this.boxLastScrollTop = allHeight;\r\n      }\r\n\r\n    }\r\n  },\r\n  mounted() {\r\n    this.activeIndex = this.blackActiveIndex;\r\n    this.init(this.options, this.scrollTopStore);\r\n    this.getCaseTag();\r\n    if (this.course_id) {\r\n      this.getCaseInfobyType().then(() => {\r\n        console.log(this.inited);\r\n        if (!this.inited) {\r\n          this.inited = true;\r\n          this.toCultrueContent(this.blackActiveIndex + 1);\r\n        }\r\n      });\r\n    }\r\n    if (this.$route.name !== \"index\") {\r\n      this.showLayer = false;\r\n    }\r\n    EventBus.$on(\"TO_BlACK_CASE_LIST\", (case_tag_type) => {\r\n      this.toCaseList(case_tag_type);\r\n    });\r\n    EventBus.$on(\"BACK_FROM_BlACK_CASE_LIST\", () => {\r\n      this.backFromCaseList();\r\n    });\r\n    EventBus.$on(\"getCaseInfobyType\", () => {\r\n      this.getCaseInfobyType().then(() => {\r\n        this.toCultrueContent(this.blackActiveIndex + 1);\r\n      });\r\n    });\r\n    EventBus.$on(\"CultureIndex\", () => {\r\n      this.isClick = true;\r\n      if(this.pageName === \"black\") {\r\n        this.clickNav(0);\r\n        this.toCultrueContent();\r\n      }\r\n    });\r\n    EventBus.$on(\"RESIZE\", () => {\r\n      this.resizeWindow();\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\nbody {\r\n  overflow: hidden;\r\n}\r\ndiv.section_maodian_black {\r\n  height: auto;\r\n  width: 100%;\r\n  cursor: pointer;\r\n  position: relative;\r\n  &:not(:last-child) {\r\n    margin-bottom: 17px;\r\n  }\r\n}\r\n.nav_maodian_black {\r\n  color: #7e878c;\r\n  &:first-of-type {\r\n    height: 58px;\r\n  }\r\n  &:nth-of-type(2) {\r\n    margin-top: 24px;\r\n  }\r\n  &:nth-of-type(3) {\r\n    margin-top: 23px;\r\n  }\r\n  &:nth-of-type(4) {\r\n    margin-top: 23px;\r\n  }\r\n  &:not(:first-of-type) {\r\n    height: 91px;\r\n  }\r\n}\r\n.cantainer {\r\n  display: flex;\r\n  height: calc(100% - 130px);\r\n  position: relative;\r\n  justify-content: flex-end;\r\n}\r\n.contentBlack {\r\n  position: relative;\r\n  height: 100%;\r\n  overflow-y: auto;\r\n  z-index: 30;\r\n  margin-right: 36px;\r\n}\r\n.nav {\r\n  position: relative;\r\n}\r\n.transition {\r\n  width: 25px;\r\n  border-radius: 20px;\r\n  position: absolute;\r\n  // left: 1px;\r\n  // z-index: 10;\r\n}\r\nul,\r\nli {\r\n  list-style: none;\r\n}\r\n.sideMaodianBlack {\r\n  width: 25px;\r\n  text-align: center;\r\n  // margin-top: -1px;\r\n  font-size: 12px;\r\n  font-weight: 500;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n}\r\nli {\r\n  padding: 20px 6px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n}\r\n.active {\r\n  -webkit-animation: activeli 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: activeli 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  color: #fff;\r\n  z-index: 1;\r\n  position: relative;\r\n}\r\n@-webkit-keyframes activeli {\r\n  0% {\r\n    // color: #000;\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    opacity: 0.5;\r\n  }\r\n  100% {\r\n    color: #fff;\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n@keyframes activeli {\r\n  0% {\r\n    color: #000;\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    opacity: 0.5;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n.active0 {\r\n  background-color: @culture;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n  -webkit-animation: transition0 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition0 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition0 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n\r\n@keyframes transition0 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n.active0_up {\r\n  background-color: @culture;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n  -webkit-animation: transition0_up 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition0_up 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition0_up {\r\n  0% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n\r\n@keyframes transition0_up {\r\n  0% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n}\r\n.active1 {\r\n  background-color: @thinking;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n  -webkit-animation: transition1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition1 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition1 {\r\n  0% {\r\n    top: 0;\r\n    height: 58px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n.active1_up {\r\n  background-color: @thinking;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n  -webkit-animation: transition1_up 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition1_up 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition1_up {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition1_up {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n}\r\n.active2 {\r\n  background-image: linear-gradient(135deg, #ffae8b 0%, #fd746b 100%);\r\n  border-radius: 20px;\r\n  color: #fff;\r\n  -webkit-animation: transition2 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition2 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition2 {\r\n  0% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition2 {\r\n  0% {\r\n    top: 74px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n.active2_up {\r\n  background-image: linear-gradient(135deg, #ffae8b 0%, #fd746b 100%);\r\n  border-radius: 20px;\r\n  color: #fff;\r\n  -webkit-animation: transition2_up 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition2_up 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition2_up {\r\n  0% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition2_up {\r\n  0% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n.active3 {\r\n  background-color: #2C51AF;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n  -webkit-animation: transition3 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: transition3 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes transition3 {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\n@keyframes transition3 {\r\n  0% {\r\n    top: 188px;\r\n    height: 107px;\r\n  }\r\n  100% {\r\n    top: 302px;\r\n    height: 107px;\r\n  }\r\n}\r\n\r\nli.active0 {\r\n  background-color: @culture;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n}\r\nli.active1 {\r\n  background-color: #6db6e7;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n}\r\nli.active2 {\r\n  background-color: #fd4c18;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n}\r\nli.active3 {\r\n  background-color: #2C51AF;\r\n  border-radius: 20px;\r\n  color: #fff;\r\n}\r\n\r\n.showCaseCard {\r\n  -webkit-animation: showCaseCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showCaseCardAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes showCaseCardAni {\r\n  0% {\r\n    margin-top: 0;\r\n  }\r\n  100% {\r\n    margin-top: 234px;\r\n  }\r\n}\r\n\r\n@keyframes showCaseCardAni {\r\n  0% {\r\n    margin-top: 0;\r\n  }\r\n  100% {\r\n    margin-top: 234px;\r\n  }\r\n}\r\n\r\n.hideCaseCard {\r\n  -webkit-animation: hideCaseCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideCaseCardAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes hideCaseCardAni {\r\n  0% {\r\n    margin-top: 234px;\r\n  }\r\n  100% {\r\n    margin-top: 0;\r\n  }\r\n}\r\n\r\n@keyframes hideCaseCardAni {\r\n  0% {\r\n    margin-top: 234px;\r\n  }\r\n  100% {\r\n    margin-top: 0;\r\n  }\r\n}\r\n\r\n.showLayer {\r\n  -webkit-animation: showLayerAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showLayerAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes showLayerAni {\r\n  0% {\r\n    height: 240px;\r\n    top: 400px;\r\n  }\r\n  100% {\r\n    height: 0;\r\n    top: 640px;\r\n  }\r\n}\r\n\r\n@keyframes showLayerAni {\r\n  0% {\r\n    height: 240px;\r\n    top: 400px;\r\n  }\r\n  100% {\r\n    height: 0;\r\n    top: 640px;\r\n  }\r\n}\r\n\r\n.hideLayer {\r\n  -webkit-animation: hideLayerAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideLayerAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes hideLayerAni {\r\n  0% {\r\n    height: 0;\r\n    top: 640px;\r\n  }\r\n  100% {\r\n    height: 240px;\r\n    top: 400px;\r\n  }\r\n}\r\n\r\n@keyframes hideLayerAni {\r\n  0% {\r\n    height: 0;\r\n    top: 640px;\r\n  }\r\n  100% {\r\n    height: 240px;\r\n    top: 400px;\r\n  }\r\n}\r\n\r\n.card-content-box{\r\n  opacity: 0.4;\r\n  pointer-events: none;\r\n}\r\n.card-content-box-active{\r\n  pointer-events: all;\r\n  opacity: 1;\r\n}\r\n\r\n.personalitySecBlack {\r\n  margin-bottom: 400px;\r\n}\r\n\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  /* box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); */\r\n  background: #1f1f1f;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  /* box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); */\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/MenusBlack.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cantainer\"},[_c('div',{staticClass:\"contentBlack\",class:[\n      _vm.showCaseCard && _vm.showCaseInited ? 'showCaseCard' : 'hideCaseCard'\n    ]},[_c('div',[_c('div',{staticClass:\"section_maodian_black cultureSecBlack\",class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.blackActiveIndex === 0\n        }},[_c('Culture',{attrs:{\"data\":_vm.cultureData,\"type\":0}})],1),_vm._v(\" \"),_c('div',{staticClass:\"section_maodian_black thinkingSecBlack\",class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.blackActiveIndex === 1\n        }},[_c('Culture',{attrs:{\"data\":_vm.thinkingData,\"type\":1}})],1),_vm._v(\" \"),_c('div',{staticClass:\"section_maodian_black behaviorSecBlack\",class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.blackActiveIndex === 2\n        }},[_c('Culture',{attrs:{\"data\":_vm.behaviorData,\"type\":2}})],1),_vm._v(\" \"),_c('div',{staticClass:\"section_maodian_black personalitySecBlack\",class:{\n          'card-content-box': true,\n          'card-content-box-active': _vm.blackActiveIndex === 3\n        }},[_c('Culture',{attrs:{\"data\":_vm.personalityData,\"type\":3}})],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"nav navBlack\"},[_c('div',{ref:\"transition\",staticClass:\"transition active0\",style:({\n        opacity:\n          _vm.centerStauts !== 'centerStauts2' && _vm.centerStauts !== 'centerStauts4'\n            ? 1\n            : 0\n      }),attrs:{\"id\":\"blackTransition\"}}),_vm._v(\" \"),_c('ul',{staticClass:\"sideMaodianBlack\",style:({\n        opacity:\n          _vm.centerStauts !== 'centerStauts2' && _vm.centerStauts !== 'centerStauts4'\n            ? 1\n            : 0\n      })},[_c('li',{staticClass:\"nav_maodian_black active\"},[_vm._v(\"文化\")]),_vm._v(\" \"),_c('li',{staticClass:\"nav_maodian_black\"},[_vm._v(\"思维 • 观念\")]),_vm._v(\" \"),_c('li',{staticClass:\"nav_maodian_black\"},[_vm._v(\"行为 • 习惯\")]),_vm._v(\" \"),_c('li',{staticClass:\"nav_maodian_black\"},[_vm._v(\"性格 • 人格\")])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-004ccab5\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/MenusBlack.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-004ccab5\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MenusBlack.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MenusBlack.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MenusBlack.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-004ccab5\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MenusBlack.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-004ccab5\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/MenusBlack.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div :class=\"[\r\n    fullscreen ? 'big-view bg-white' : '',\r\n    !fullscreen && isNeedOutFullscreenAni ? 'outof-big-view' : '',\r\n    'cultrueContent'\r\n  ]\">\r\n    <div class=\"content-box contentBlack-box\" :class=\"fullscreen ? 'full' : ''\">\r\n      <div\r\n        class=\"content-wrapper\"\r\n        v-if=\"caseInfo && caseInfo.course_case_content\"\r\n      >\r\n        <img\r\n          v-if=\"case_tag_type == 1 && !fullscreen\"\r\n          src=\"@/assets/img/fullscreen_black.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n        />\r\n        <img\r\n          v-else-if=\"case_tag_type == 1 && fullscreen\"\r\n          src=\"@/assets/img/exit_fullscreen_culture_b.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n        />\r\n\r\n        <img\r\n          v-if=\"case_tag_type == 2 && !fullscreen\"\r\n          src=\"@/assets/img/fullscreen_thinking_black.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n        />\r\n        <img\r\n          v-else-if=\"case_tag_type == 2 && fullscreen\"\r\n          src=\"@/assets/img/exit_fullscreen_thinking_b.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n        />\r\n        <img\r\n          v-if=\"case_tag_type == 3 && !fullscreen\"\r\n          src=\"@/assets/img/fullscreen_behavior_black.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n        />\r\n        <img\r\n          v-else-if=\"case_tag_type == 3 && fullscreen\"\r\n          src=\"@/assets/img/exit_fullscreen_behavior_b.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n          style=\"cursor: pointer\"\r\n        />\r\n        <img\r\n          v-if=\"case_tag_type == 4 && !fullscreen\"\r\n          src=\"@/assets/img/fullscreen_personality_black.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n        />\r\n        <img\r\n          v-else-if=\"case_tag_type == 4 && fullscreen\"\r\n          src=\"@/assets/img/exit_fullscreen_personality_b.svg\"\r\n          @click=\"toggleBlack('CultrueContent')\"\r\n          class=\"fullscreen_black fullscreenHover\"\r\n        />\r\n        <div class=\"sub-title\" :class=\"'sub-title' + case_tag_type\">\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 1 && caseInfo\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === caseInfo.case_tag_id\r\n                  ? 'culture'\r\n                  : 'culture culture1'\r\n              \"\r\n              v-for=\"(item, index) in cultureCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 2 && caseInfo\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === caseInfo.case_tag_id\r\n                  ? 'thinking'\r\n                  : 'thinking thinking1'\r\n              \"\r\n              v-for=\"(item, index) in thingingCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 3 && caseInfo\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === caseInfo.case_tag_id\r\n                  ? 'behavior'\r\n                  : 'behavior behavior1'\r\n              \"\r\n              v-for=\"(item, index) in behaviorCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n          <div class=\"tag-wrapper\" v-if=\"case_tag_type == 4 && caseInfo\">\r\n            <div\r\n              class=\"title\"\r\n              :class=\"\r\n                item.case_tag_id === caseInfo.case_tag_id\r\n                  ? 'personality'\r\n                  : 'personality personality1'\r\n              \"\r\n              v-for=\"(item, index) in perCaseTags\"\r\n              :key=\"'casetag' + index\"\r\n            >\r\n              {{ item.case_tag_title }}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <span class=\"case_content prewrap-content\">{{ caseInfo && caseInfo.course_case_content }}</span>\r\n        <div class=\"operates culture\" v-if=\"blackActiveIndex == 0\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates thinking\" v-if=\"blackActiveIndex == 1\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates behavior\" v-if=\"blackActiveIndex == 2\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates personality\" v-if=\"blackActiveIndex == 3\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n      </div>\r\n      <div class=\"content-wrapper none\" v-else>\r\n        <div>\r\n          <img src=\"@/assets/img/black_none.svg\" />\r\n          <p class=\"span\">暂无内容</p>\r\n        </div>\r\n        <div class=\"operates culture\" v-if=\"blackActiveIndex == 0\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates thinking\" v-if=\"blackActiveIndex == 1\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates behavior\" v-if=\"blackActiveIndex == 2\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n        <div class=\"operates personality\" v-if=\"blackActiveIndex == 3\">\r\n          <el-button @click=\"toWhiteTip\">查看白牌心得</el-button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"confirm\" v-if=\"pageName === 'black'\">\r\n      <div id=\"layoutBlack_step1\" class=\"layoutBlack_step1\" @click=\"toMyCases\">\r\n        <img\r\n          src=\"@/assets/img/confirm_tips.svg\"\r\n          \r\n        />\r\n        <p>填写/编辑</p>\r\n      </div>\r\n      \r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: {},\r\n  props: {},\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      case_tag_type: \"\",\r\n      cultureCaseTags: [],\r\n      thingingCaseTags: [],\r\n      behaviorCaseTags: [],\r\n      perCaseTags: []\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    blackCom() {\r\n      return this.$store.getters.blackCom;\r\n    },\r\n    caseInfo() {\r\n      return this.$store.getters.caseInfo;\r\n    },\r\n    caseTags() {\r\n      return this.$store.getters.caseTags;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    blackActiveIndex() {\r\n      return this.$store.getters.blackActiveIndex;\r\n    },\r\n    courseIsuseradd() {\r\n      return this.$store.getters.courseIsuseradd;\r\n    }\r\n  },\r\n  watch: {\r\n    caseTags: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"caseTags:\", newVal);\r\n        this.cultureCaseTags = [];\r\n        this.thingingCaseTags = [];\r\n        this.behaviorCaseTags = [];\r\n        this.perCaseTags = [];\r\n        if (newVal || newVal == 0) {\r\n          newVal.forEach(item => {\r\n            if (item.case_tag_type === 1) {\r\n              this.cultureCaseTags.push(item);\r\n            } else if (item.case_tag_type === 2) {\r\n              this.thingingCaseTags.push(item);\r\n            } else if (item.case_tag_type === 3) {\r\n              this.behaviorCaseTags.push(item);\r\n            } else {\r\n              this.perCaseTags.push(item);\r\n            }\r\n          });\r\n        }\r\n      }\r\n    },\r\n    caseInfo: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"caseInfo:\", newVal);\r\n        if(newVal) {\r\n          this.case_tag_type =\r\n            this.caseInfo.case_tag_type || this.blackActiveIndex + 1;\r\n        }\r\n        \r\n      }\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenBlack('CultrueContent', 'black');\r\n      }\r\n    },\r\n    courseIsChanged: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        // 判断是否是全屏，是的话切换课程需要先缩小\r\n        this.courseChangeFullscreenBlack('CultrueContent', 'black');\r\n      }\r\n    },\r\n  },\r\n  methods: {\r\n    toMyCases() {\r\n      this.$router.push(\"/black/MyCases\");\r\n    },\r\n    // 查看白牌心得\r\n    toWhiteTip() {\r\n      window.toWhiteTipsList = 1;\r\n      this.$router.push({\r\n        path: \"/white/TipsList\",\r\n        query: {\r\n          case_tag_type: this.case_tag_type,\r\n          course_case_isuseradd: this.courseIsuseradd,\r\n          course_id: this.course_id\r\n        }\r\n      });\r\n    }\r\n    // 获取案例标签列表\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    console.log(this.caseInfo);\r\n    if (this.caseInfo) {\r\n      this.case_tag_type =\r\n        this.caseInfo.case_tag_type || this.blackActiveIndex + 1;\r\n      if (this.caseTags) {\r\n        this.caseTags.forEach(item => {\r\n          if (item.case_tag_type === 1) {\r\n            this.cultureCaseTags.push(item);\r\n          } else if (item.case_tag_type === 2) {\r\n            this.thingingCaseTags.push(item);\r\n          } else if (item.case_tag_type === 3) {\r\n            this.behaviorCaseTags.push(item);\r\n          } else {\r\n            this.perCaseTags.push(item);\r\n          }\r\n        });\r\n      }\r\n      EventBus.$on(\"toggleBlack\", () => {\r\n        this.toggleBlack(\"CultrueContent\");\r\n      });\r\n      EventBus.$on(\"CultureIndex\", () => {\r\n        if(this.fullscreen) {\r\n          this.toggleBlack(\"CultrueContent\");\r\n        }\r\n      });\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n  .content-box {\r\n    height: 100%;\r\n  }\r\n}\r\n.cultrueContent {\r\n  height: 100%;\r\n  padding: 40px 0 0 93px;\r\n}\r\n\r\n.box {\r\n  height: 100%;\r\n}\r\n.contentBlack-box {\r\n  margin-top: 0;\r\n}\r\n.content-box {\r\n  .content-wrapper {\r\n    display: flex;\r\n    flex-direction: column;\r\n    padding: 48px 39px;\r\n    // border: 1px solid #121416;\r\n    border-radius: 16px;\r\n    background-color: rgba(0, 0, 0, 0.4);\r\n    position: relative;\r\n    height: 100%;\r\n  }\r\n  .none {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    flex-direction: column;\r\n    .span {\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: rgba(255, 255, 255, 0.3);\r\n      line-height: 18px;\r\n      text-align: center;\r\n      margin-top: 20px;\r\n    }\r\n    img {\r\n      width: 154px;\r\n      height: 154px;\r\n      margin-top: 100px;\r\n    }\r\n  }\r\n  .tag-wrapper {\r\n    display: flex;\r\n  }\r\n  .sub-title {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #ffffff;\r\n    line-height: 18px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    padding-right: 22px;\r\n    position: relative;\r\n    &.sub-title1 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 3px;\r\n        height: 25px;\r\n        background: @culture;\r\n      }\r\n    }\r\n    &.sub-title2 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 3px;\r\n        height: 25px;\r\n        background: @thinking;\r\n      }\r\n    }\r\n    &.sub-title3 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 2px;\r\n        height: 25px;\r\n        background: @behavior;\r\n      }\r\n    }\r\n    &.sub-title4 {\r\n      &::after {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 3px;\r\n        height: 25px;\r\n        background: @personality;\r\n      }\r\n    }\r\n\r\n    .title {\r\n      width: 91px;\r\n      height: 27px;\r\n      line-height: 27px;\r\n      padding-left: 26px;\r\n      background: #000;\r\n      border-radius: 8px;\r\n      display: -webkit-box;\r\n      display: -ms-flexbox;\r\n      display: flex;\r\n      -webkit-box-align: center;\r\n      -ms-flex-align: center;\r\n      align-items: center;\r\n      position: relative;\r\n      box-sizing: border-box;\r\n    }\r\n    .culture {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 12px;\r\n        left: 15px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @culture;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 14px;\r\n      }\r\n    }\r\n    .culture1 {\r\n      opacity: 0.6;\r\n    }\r\n    .behavior {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 12px;\r\n        left: 15px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @behavior;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 13px;\r\n      }\r\n    }\r\n    .behavior1 {\r\n      opacity: 0.6;\r\n    }\r\n    .thinking {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 12px;\r\n        left: 15px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @thinking;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 13px;\r\n      }\r\n    }\r\n    .thinking1 {\r\n      opacity: 0.6;\r\n    }\r\n    .personality {\r\n      opacity: 1;\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 12px;\r\n        left: 15px;\r\n        width: 6px;\r\n        height: 6px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @personality;\r\n      }\r\n      &:not(:first-of-type) {\r\n        margin-left: 11px;\r\n      }\r\n    }\r\n    .personality1 {\r\n      opacity: 0.6;\r\n    }\r\n  }\r\n}\r\n\r\n.full {\r\n  padding-top: 0;\r\n  .content-wrapper {\r\n    margin-left: 0;\r\n  }\r\n}\r\n.case_content {\r\n  flex: 1;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 400;\r\n  font-size: 16px;\r\n  color: rgba(255, 255, 255, 0.7);\r\n  line-height: 32px;\r\n  text-align: justify;\r\n  font-style: normal;\r\n  // height: calc(100% - 140px);\r\n  padding-top: 0 !important;\r\n  display: inline-block;\r\n  overflow-y: auto;\r\n  margin-top: 42px;\r\n  margin-bottom: 14px !important;\r\n  overflow-y: auto;\r\n}\r\n.operates {\r\n  width: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n  /deep/ .el-button {\r\n    color: #fff;\r\n    width: 171px;\r\n    height: 44px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #ffffff;\r\n    text-align: center;\r\n    font-style: normal;\r\n    border-radius: 8px;\r\n    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.05);\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n}\r\n.culture {\r\n  /deep/ .el-button {\r\n    border-color: @culture;\r\n    background: @culture;\r\n  }\r\n}\r\n.behavior {\r\n  /deep/ .el-button {\r\n    border-color: @behavior;\r\n    background: @behavior;\r\n  }\r\n}\r\n.thinking {\r\n  /deep/ .el-button {\r\n    border-color: @thinking;\r\n    background: @thinking;\r\n  }\r\n}\r\n.personality {\r\n  /deep/ .el-button {\r\n    border-color: @personality;\r\n    background: @personality;\r\n  }\r\n}\r\n\r\n.confirm {\r\n  position: fixed;\r\n  left: 20px;\r\n  bottom: 25px;\r\n  z-index: 98;\r\n  cursor: pointer;\r\n  .layoutBlack_step1 {\r\n    position: relative;\r\n  }\r\n  img {\r\n    width: 63px;\r\n    height: 63px;\r\n  }\r\n  p {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #FFB096;\r\n    line-height: 18px;\r\n    text-align: center;\r\n    font-style: normal;\r\n    position: absolute;\r\n    top: 48px;\r\n    left:1px;\r\n  }\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n.mobile-app {\r\n  .content-box {\r\n    // height: calc(100% - 120px);\r\n  }\r\n}\r\n\r\n// @media screen and(max-width: 1024px) {\r\n//   .content-box {\r\n//     height: calc(100% - 120px);\r\n//   }\r\n// }\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/CultrueContent.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n  _vm.fullscreen ? 'big-view bg-white' : '',\n  !_vm.fullscreen && _vm.isNeedOutFullscreenAni ? 'outof-big-view' : '',\n  'cultrueContent'\n]},[_c('div',{staticClass:\"content-box contentBlack-box\",class:_vm.fullscreen ? 'full' : ''},[(_vm.caseInfo && _vm.caseInfo.course_case_content)?_c('div',{staticClass:\"content-wrapper\"},[(_vm.case_tag_type == 1 && !_vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen_black.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):(_vm.case_tag_type == 1 && _vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_culture_b.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 2 && !_vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen_thinking_black.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):(_vm.case_tag_type == 2 && _vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_thinking_b.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 3 && !_vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen_behavior_black.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):(_vm.case_tag_type == 3 && _vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",staticStyle:{\"cursor\":\"pointer\"},attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_behavior_b.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 4 && !_vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/fullscreen_personality_black.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):(_vm.case_tag_type == 4 && _vm.fullscreen)?_c('img',{staticClass:\"fullscreen_black fullscreenHover\",attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_personality_b.svg\")},on:{\"click\":function($event){return _vm.toggleBlack('CultrueContent')}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"sub-title\",class:'sub-title' + _vm.case_tag_type},[(_vm.case_tag_type == 1 && _vm.caseInfo)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.cultureCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.caseInfo.case_tag_id\n                ? 'culture'\n                : 'culture culture1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 2 && _vm.caseInfo)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.thingingCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.caseInfo.case_tag_id\n                ? 'thinking'\n                : 'thinking thinking1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 3 && _vm.caseInfo)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.behaviorCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.caseInfo.case_tag_id\n                ? 'behavior'\n                : 'behavior behavior1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e(),_vm._v(\" \"),(_vm.case_tag_type == 4 && _vm.caseInfo)?_c('div',{staticClass:\"tag-wrapper\"},_vm._l((_vm.perCaseTags),function(item,index){return _c('div',{key:'casetag' + index,staticClass:\"title\",class:item.case_tag_id === _vm.caseInfo.case_tag_id\n                ? 'personality'\n                : 'personality personality1'},[_vm._v(\"\\n            \"+_vm._s(item.case_tag_title)+\"\\n          \")])}),0):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"case_content prewrap-content\"},[_vm._v(_vm._s(_vm.caseInfo && _vm.caseInfo.course_case_content))]),_vm._v(\" \"),(_vm.blackActiveIndex == 0)?_c('div',{staticClass:\"operates culture\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex == 1)?_c('div',{staticClass:\"operates thinking\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex == 2)?_c('div',{staticClass:\"operates behavior\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex == 3)?_c('div',{staticClass:\"operates personality\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e()]):_c('div',{staticClass:\"content-wrapper none\"},[_vm._m(0),_vm._v(\" \"),(_vm.blackActiveIndex == 0)?_c('div',{staticClass:\"operates culture\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex == 1)?_c('div',{staticClass:\"operates thinking\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex == 2)?_c('div',{staticClass:\"operates behavior\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e(),_vm._v(\" \"),(_vm.blackActiveIndex == 3)?_c('div',{staticClass:\"operates personality\"},[_c('el-button',{on:{\"click\":_vm.toWhiteTip}},[_vm._v(\"查看白牌心得\")])],1):_vm._e()])]),_vm._v(\" \"),(_vm.pageName === 'black')?_c('div',{staticClass:\"confirm\"},[_c('div',{staticClass:\"layoutBlack_step1\",attrs:{\"id\":\"layoutBlack_step1\"},on:{\"click\":_vm.toMyCases}},[_c('img',{attrs:{\"src\":require(\"@/assets/img/confirm_tips.svg\")}}),_vm._v(\" \"),_c('p',[_vm._v(\"填写/编辑\")])])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/img/black_none.svg\")}}),_vm._v(\" \"),_c('p',{staticClass:\"span\"},[_vm._v(\"暂无内容\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-971fc6ae\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/CultrueContent.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-971fc6ae\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CultrueContent.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContent.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CultrueContent.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-971fc6ae\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CultrueContent.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-971fc6ae\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/CultrueContent.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div style=\"height: calc(100%)\" :class=\"fullscreen ? 'big-view bg-white' : ''\">\r\n    <div class=\"content-box contentBlack-box\" :class=\"fullscreen ? 'full' : ''\">\r\n      <div class=\"content-wrapper\" id=\"lifeOceanVideo\" @click=\"play\">\r\n        <div class=\"fullscreen\">\r\n          <img\r\n            v-if=\"!fullscreen\"\r\n            src=\"@/assets/img/fullscreen_personality_black.svg\"\r\n            width=\"27\"\r\n            height=\"27\"\r\n            @click=\"toggle\"\r\n          />\r\n          <img\r\n            v-else\r\n            src=\"@/assets/img/exit_fullscreen_personality_b.svg\"\r\n            width=\"27\"\r\n            height=\"27\"\r\n            @click=\"toggle\"\r\n          />\r\n        </div>\r\n        <video\r\n          autoplay\r\n          loop\r\n          controlsList=\"nodownload\"\r\n          :src=\"lifeOceanUrl\"\r\n          preload=\"metadata\"\r\n        ></video>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  components: {},\r\n  props: {},\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      case_tag_type: \"\",\r\n      lifeOceanVideoHeight: 0,\r\n      lifeOceanVideoWidth: 0,\r\n      video: null,\r\n      playing: false,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    caseInfo() {\r\n      return this.$store.getters.caseInfo;\r\n    },\r\n    lifeOceanUrl() {\r\n      return this.$store.getters.lifeOceanUrl;\r\n    },\r\n  },\r\n  watch: {\r\n    caseInfo: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"caseInfo:\", newVal);\r\n        if (newVal || newVal == 0) {\r\n          this.case_tag_type = newVal.case_tag_type;\r\n          const course_case_id = newVal.course_case_id;\r\n          // this.getCaseTag(course_case_id);\r\n        }\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    // getCaseTag(course_case_id) {},\r\n    toggle() {\r\n      this.$store.dispatch(\"setBlackFullScreenPages\", \"LifeOcean\").then(() => {\r\n        this.fullscreen = !this.fullscreen;\r\n      });\r\n    },\r\n    throttle(func, delay) {\r\n      // 记录当前时间(就是第一次(上一次)滚动事件触发的时间)\r\n      var prev = Date.now();\r\n      return function () {\r\n        // 普通函数的this指向window\r\n        var context = this;\r\n        // arguments是一个类数组对象，用于接受函数的参数\r\n        // 这个只要发生滚动事件就会输出\r\n        // console.log(arguments);\r\n        var args = \"hello\";\r\n        console.log(args);\r\n        // 再次记录当前的时间（第二次(下一次)滚动事件的触发时间）\r\n        var now = Date.now();\r\n        //两次滚动事件触发的时间间隔是否大于规定的时间\r\n        if (now - prev >= delay) {\r\n          // 如果间隔大于规定的时间delay，就会调用func(也就是handle函数)\r\n          // apply:改变函数的this指向,第一个参数是this指向，第二参数是传递的参数，要用数组存放，\r\n          // call和bind是 一个一个的存放，不用数组\r\n          func.apply(context, [args]);\r\n          prev = Date.now();\r\n        }\r\n      };\r\n    },\r\n    handle() {\r\n      let lifeOceanVideo = document.querySelector(\"#lifeOceanVideo\");\r\n      this.lifeOceanVideoHeight = lifeOceanVideo.offsetHeight;\r\n      this.lifeOceanVideoWidth = lifeOceanVideo.offsetWidth;\r\n    },\r\n    ended() {\r\n      this.video.play();\r\n      this.playing = true;\r\n      // clearInterval(this.timer);\r\n      // this.$emit(\"changeCurrentTime\", this.video.currentTime);\r\n    },\r\n    play() {\r\n      if (!this.video) {\r\n        return;\r\n      }\r\n      if (!this.playing) {\r\n        this.playing = true;\r\n        this.video.play();\r\n      } else {\r\n        this.playing = false;\r\n        this.video.pause();\r\n      }\r\n    },\r\n    // 获取案例标签列表\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    console.log(this.caseInfo);\r\n    if (this.caseInfo) {\r\n      this.case_tag_type = this.caseInfo.case_tag_type;\r\n    }\r\n    let lifeOceanVideo = document.querySelector(\"#lifeOceanVideo\");\r\n    this.lifeOceanVideoHeight = lifeOceanVideo.offsetHeight;\r\n    this.lifeOceanVideoWidth = lifeOceanVideo.offsetWidth;\r\n    // window.addEventListener(\"resize\", this.throttle(this.handle, 30));\r\n    // // // 通过hook监听组件销毁钩子函数，并取消监听事件\r\n    // this.$once(\"hook:beforeDestroy\", () => {\r\n    //   console.log(\"beforeDestroy\");\r\n    //   window.removeEventListener(\"resize\", this.throttle(this.handle, 30));\r\n    // });\r\n    // this.video = document.querySelector(\"video\");\r\n    // this.video.oncanplay = () => {\r\n    //   console.log(\"oncanplay\");\r\n    //   this.video.play();\r\n    // };\r\n    // this.video.onended = () => {\r\n    //   console.log(\"ended\");\r\n    //   this.ended();\r\n    // };\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n  .content-box {\r\n    height: 100%;\r\n  }\r\n}\r\n.full {\r\n  padding: 46px 93px;\r\n  .content-wrapper {\r\n    margin-left: 0% !important;\r\n  }\r\n}\r\n.box {\r\n  height: 100%;\r\n}\r\n.content-box {\r\n  width: 100%;\r\n  height: calc(100% - 24px);\r\n  min-height: 388px;\r\n  margin-top: 0;\r\n  .fullscreen {\r\n    position: absolute;\r\n    top: 21px;\r\n    left: 19px;\r\n    cursor: pointer;\r\n  }\r\n  .content-wrapper {\r\n    padding: 0;\r\n    border-radius: 16px;\r\n    background-color: #121416;\r\n    position: relative;\r\n    height: 100%;\r\n    margin-left: 93px;\r\n  }\r\n  .sub-title {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #ffffff;\r\n    line-height: 18px;\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    padding: 1px 19px;\r\n    position: relative;\r\n    &::after {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 0;\r\n      right: 0;\r\n      width: 3px;\r\n      height: 100%;\r\n      background: @culture;\r\n    }\r\n    .title {\r\n      width: 90px;\r\n      height: 27px;\r\n      background: #000;\r\n      border-radius: 5px;\r\n      display: -webkit-box;\r\n      display: -ms-flexbox;\r\n      display: flex;\r\n      -webkit-box-align: center;\r\n      -ms-flex-align: center;\r\n      align-items: center;\r\n      padding-left: 30px;\r\n      position: relative;\r\n      box-sizing: border-box;\r\n    }\r\n    .culture {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 15px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        border: 1px solid @culture;\r\n        background: @culture;\r\n      }\r\n    }\r\n    .behavior {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 15px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        border: 1px solid @behavior;\r\n        background: @behavior;\r\n      }\r\n    }\r\n    .thinking {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 15px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        border: 1px solid @thinking;\r\n        background: @thinking;\r\n      }\r\n    }\r\n    .personality {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 11px;\r\n        left: 15px;\r\n        width: 5px;\r\n        height: 5px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        border: 1px solid @personality;\r\n        background: @personality;\r\n      }\r\n    }\r\n  }\r\n}\r\n.content {\r\n  font-size: 16px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: rgba(255, 255, 255, 0.7);\r\n  line-height: 32px;\r\n  height: calc(100% - 140px);\r\n  p {\r\n    padding-top: 40px;\r\n  }\r\n}\r\n.operates {\r\n  width: 100%;\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n.culture {\r\n  /deep/ .el-button {\r\n    border-color: @culture;\r\n    background: @culture;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n  }\r\n}\r\n.behavior {\r\n  /deep/ .el-button {\r\n    border-color: @behavior;\r\n    background: @behavior;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n  }\r\n}\r\n.thinking {\r\n  /deep/ .el-button {\r\n    border-color: @thinking;\r\n    background: @thinking;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n  }\r\n}\r\n.personality {\r\n  /deep/ .el-button {\r\n    border-color: @personality;\r\n    background: @personality;\r\n    color: #fff;\r\n    width: 183px;\r\n    height: 56px;\r\n  }\r\n}\r\nvideo {\r\n  width: 100%;\r\n  height: 100%;\r\n  object-fit: fill;\r\n  border-radius: 16px;\r\n}\r\n\r\n.confirm {\r\n  position: fixed;\r\n  left: 23px;\r\n  bottom: 0;\r\n  z-index: 99;\r\n  cursor: pointer;\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/LifeOcean.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.fullscreen ? 'big-view bg-white' : '',staticStyle:{\"height\":\"calc(100%)\"}},[_c('div',{staticClass:\"content-box contentBlack-box\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{staticClass:\"content-wrapper\",attrs:{\"id\":\"lifeOceanVideo\"},on:{\"click\":_vm.play}},[_c('div',{staticClass:\"fullscreen\"},[(!_vm.fullscreen)?_c('img',{attrs:{\"src\":require(\"@/assets/img/fullscreen_personality_black.svg\"),\"width\":\"27\",\"height\":\"27\"},on:{\"click\":_vm.toggle}}):_c('img',{attrs:{\"src\":require(\"@/assets/img/exit_fullscreen_personality_b.svg\"),\"width\":\"27\",\"height\":\"27\"},on:{\"click\":_vm.toggle}})]),_vm._v(\" \"),_c('video',{attrs:{\"autoplay\":\"\",\"loop\":\"\",\"controlsList\":\"nodownload\",\"src\":_vm.lifeOceanUrl,\"preload\":\"metadata\"}})])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7da5c242\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/LifeOcean.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7da5c242\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./LifeOcean.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./LifeOcean.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./LifeOcean.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7da5c242\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./LifeOcean.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7da5c242\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/LifeOcean.vue\n// module id = null\n// module chunks = ","<template>\r\n  <!-- :class=\"[showCaseCard && showCaseInited ? 'showCaseCard' : 'hideCaseCard']\" -->\r\n <div class=\"cards_wrapper\">\r\n     <div class=\"arrow\" :class=\"[showCaseCard && showCaseInited && datas.length > 0 ? 'showArrow' : 'hideArrow']\"></div>\r\n     <div class=\"cards\" :class=\"[showCaseCard && showCaseInited && datas.length > 0 ? 'showCaseCard' : 'hideCaseCard']\">\r\n         <div class=\"header\">\r\n             <span @click=\"change\">换一个</span>\r\n             <img @click=\"setShowCaseCard\" src=\"@/assets/img/case_card_close.svg\" />\r\n         </div>\r\n         <div class=\"card_list\" :class=\"[isShowChangeAni ? 'showChangeAni' : '']\">\r\n             <div class=\"card\" :class=\"[\r\n                     currentIndex === index  ? 'card_shadow card_select' : '',\r\n                     (currentIndex === datas.length - 1 && index === 0) || currentIndex + 1 === index ? 'card_shadow' : '',\r\n                     ((currentIndex === datas.length - 1 && index === 0) || currentIndex + 1 === index) && isShowChangeAni ? 'card_next' : '',\r\n                     currentIndex === index && isShowChangeAni ? 'card_select_change' : ''\r\n                 ]\"\r\n                 :style=\"{\r\n                     zIndex: index < currentIndex && currentIndex !== datas.length - 1 ? 0 : currentIndex === index  ? datas.length : datas.length - index,\r\n                     top: currentIndex === index ? '0' : '12px',\r\n                     transform: currentIndex !== index ? 'scaleX(0.93)' : 'none'\r\n                 }\"\r\n                 v-for=\"(item, index) in datas\" :key=\"'card' + index\">\r\n                 <div class=\"ellipsis-content case\">\r\n                     {{ item.case_remind_content }}\r\n                 </div>\r\n                 <div class=\"add_wrapper\" v-if=\"courseIsuseradd != 3\">\r\n                     <div class=\"btn\" @click=\"toCreateCase(item)\">添加案例</div>\r\n                 </div>\r\n             </div>\r\n\r\n         </div>\r\n     </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { getCaseRemindList } from \"@/api/index\";\r\nexport default {\r\ndata() {\r\n return {\r\n     datas: [],\r\n     showCaseInited: false,\r\n     currentIndex: 0,\r\n     isShowChangeAni: false,\r\n     caseRemind1: [],\r\n     caseRemind2: [],\r\n     caseRemind3: [],\r\n     caseRemind4: [],\r\n     courseObj: {}\r\n };\r\n},\r\nprops: {\r\n showCaseCard: {\r\n   type: Boolean,\r\n   default: false\r\n }\r\n},\r\ncomputed: {\r\n course_id() {\r\n   return this.$store.getters.course_id;\r\n },\r\n blackActiveIndex() {\r\n   return this.$store.getters.blackActiveIndex;\r\n },\r\n course() {\r\n   return this.$store.getters.course;\r\n },\r\n courseIsuseradd () {\r\n   return this.$store.getters.courseIsuseradd;\r\n },\r\n},\r\nwatch: {\r\n blackActiveIndex: {\r\n   deep: true,\r\n   handler: function(newVal) {\r\n     this.getRandomCaseRemindList();\r\n   }\r\n },\r\n showCaseCard() {\r\n   this.showCaseInited = true;\r\n },\r\n course: {\r\n   deep: true,\r\n   handler: function(v) {\r\n     console.log(\"course:\", this.course);\r\n     if (v && v.length) {\r\n       const course = JSON.parse(v);\r\n       this.courseObj = course[0];\r\n     } else {\r\n       this.courseObj = {};\r\n     }\r\n   },\r\n   immediate: true\r\n }\r\n},\r\nmethods: {\r\n change() {\r\n     this.isShowChangeAni = true;\r\n\r\n     let timeout = setTimeout(() => {\r\n         if(this.currentIndex === this.datas.length - 1) {\r\n             this.currentIndex = 0;\r\n         } else {\r\n             this.currentIndex += 1;\r\n         }\r\n         this.isShowChangeAni = false;\r\n         clearTimeout(timeout);\r\n         timeout = null;\r\n     }, 300);\r\n },\r\n setShowCaseCard() {\r\n     this.$emit(\"setShowCaseCard\", false);\r\n },\r\n toCreateCase(data) {\r\n   // 示例笔记不能新增案例\r\n   if(this.courseObj.course_isuseradd == 3) {\r\n     return;\r\n   }\r\n   this.$emit(\"setShowCaseCard\", false);\r\n   let timeout = setTimeout(() => {\r\n     this.$router.push({\r\n         path: \"/black/CreateCase\",\r\n         query: {\r\n           case_tag_id: data.case_tag_id,\r\n           case_tag_type: data.case_tag_type\r\n         }\r\n     });\r\n     clearTimeout(timeout);\r\n   }, 300);\r\n },\r\n shuffleArray(array) {\r\n   const shuffledArray = [...array]; // 克隆原始数组\r\n   for (let i = shuffledArray.length - 1; i > 0; i--) {\r\n     const j = Math.floor(Math.random() * (i + 1)); // 生成 0 到 i 之间的随机数\r\n\r\n     // 交换位置\r\n     [shuffledArray[i], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i]];\r\n   }\r\n   return shuffledArray;\r\n },\r\n getRandomCaseRemindList() {\r\n   this.datas = [];\r\n   if(this.blackActiveIndex === 0) {\r\n     this.datas.push(...this.caseRemind1);\r\n     const datas = [...this.caseRemind2, ...this.caseRemind3, ...this.caseRemind4];\r\n     const shuffledArray = this.shuffleArray(datas);\r\n     this.datas.push(...shuffledArray);\r\n   } else if(this.blackActiveIndex === 1) {\r\n     this.datas.push(...this.caseRemind2);\r\n     const datas = [...this.caseRemind1, ...this.caseRemind3, ...this.caseRemind4];\r\n     const shuffledArray = this.shuffleArray(datas);\r\n     this.datas.push(...shuffledArray);\r\n   } else if(this.blackActiveIndex === 2) {\r\n     this.datas.push(...this.caseRemind3);\r\n     const datas = [...this.caseRemind2, ...this.caseRemind1, ...this.caseRemind4];\r\n     const shuffledArray = this.shuffleArray(datas);\r\n     this.datas.push(...shuffledArray);\r\n   } else if(this.blackActiveIndex === 3) {\r\n     this.datas.push(...this.caseRemind4);\r\n     const datas = [...this.caseRemind2, ...this.caseRemind3, ...this.caseRemind1];\r\n     const shuffledArray = this.shuffleArray(datas);\r\n     this.datas.push(...shuffledArray);\r\n   }\r\n   this.currentIndex = 0;\r\n },\r\n async getCaseRemindList() {\r\n   try {\r\n     let params = {};\r\n     const res = await getCaseRemindList(params);\r\n     if (res && res.code === 0) {\r\n         const datas = res.data;\r\n         datas.forEach((item) => {\r\n           if(item.case_tag_type === 1) {\r\n             this.caseRemind1.push(item);\r\n           } else if(item.case_tag_type === 2) {\r\n             this.caseRemind2.push(item);\r\n           } else if(item.case_tag_type === 3) {\r\n             this.caseRemind3.push(item);\r\n           } else if(item.case_tag_type === 4) {\r\n             this.caseRemind4.push(item);\r\n           }\r\n         })\r\n         this.getRandomCaseRemindList();\r\n         this.currentIndex = 0;\r\n       }\r\n   } catch (error) {\r\n     // this.$notify.error({\r\n     //   title: \"错误\",\r\n     //   message: error\r\n     // });\r\n   }\r\n }\r\n},\r\nmounted() {\r\n if (this.course && this.course.length) {\r\n   const course = JSON.parse(this.course);\r\n   this.courseObj = course[0];\r\n } else {\r\n   this.courseObj = {};\r\n }\r\n this.getCaseRemindList();\r\n}\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.cards_wrapper {\r\n position: absolute;\r\n width: 246px;\r\n // height: 295px;\r\n top: 112px;\r\n left: 60px;\r\n padding-top: 13px;\r\n border-radius: 16px;\r\n background: transparent;\r\n .arrow {\r\n     position: absolute;\r\n     border-bottom: 14px solid #2C3538;\r\n     border-left: 14px solid transparent;\r\n     border-right: 14px solid transparent;\r\n     top: 0;\r\n     left: 50%;\r\n     transform: translateX(-50%);\r\n     z-index: 99;\r\n }\r\n}\r\n.cards {\r\n width: 246px;\r\n border-radius: 16px;\r\n background: #2C3538;\r\n box-shadow: 3px 3px 22px 0 rgba(0, 0, 0, 0.5);\r\n position: absolute;\r\n z-index: 98;\r\n padding: 20px 16px;\r\n overflow: hidden;\r\n\r\n .header {\r\n     display: flex;\r\n     justify-content: space-between;\r\n     font-size: 12px;\r\n     font-family: SourceHanSansCN, SourceHanSansCN;\r\n     font-weight: 400;\r\n     color: #A7A9AA;\r\n     line-height: 18px;\r\n     padding-bottom: 15px;\r\n     span {\r\n         cursor: pointer;\r\n     }\r\n     img {\r\n         width: 17px;\r\n         height: 16px;\r\n         cursor: pointer;\r\n     }\r\n }\r\n .card_list {\r\n     height: 193px;\r\n     position: relative;\r\n     border-radius: 16px;\r\n     background: #2C3538;\r\n     .card {\r\n         padding: 13px 12px 15px 16px;\r\n         width: 100%;\r\n         font-size: 12px;\r\n         font-family: SourceHanSansCN, SourceHanSansCN;\r\n         font-weight: 400;\r\n         color: #FFFFFF;\r\n         line-height: 21px;\r\n         position: absolute;\r\n         background: #2C3538;\r\n         height: 154px;\r\n         border-radius: 16px;\r\n         .case {\r\n             -webkit-line-clamp: 4;\r\n             height: 82px;\r\n         }\r\n         .add_wrapper {\r\n             display: flex;\r\n             justify-content: center;\r\n             margin-top: 15px;\r\n             .btn {\r\n                 width: 100px;\r\n                 height: 26px;\r\n                 border-radius: 29px;\r\n                 opacity: 0.6;\r\n                 border: 1px solid #FFFFFF;\r\n                 text-align: center;\r\n                 cursor: pointer;\r\n                 font-family: SourceHanSansCN, SourceHanSansCN;\r\n                 font-weight: 400;\r\n                 font-size: 12px;\r\n                 color: #FFFFFF;\r\n                 line-height: 22px;\r\n                 font-style: normal;\r\n             }\r\n         }\r\n     }\r\n     .card_shadow {\r\n         box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.5);\r\n     }\r\n     .card_select_change {\r\n         -webkit-animation: showSelectCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n         animation: showSelectCardAni 0.3s ease-in-out;\r\n         animation-fill-mode: forwards;\r\n     }\r\n     @-webkit-keyframes showSelectCardAni {\r\n         0% {\r\n             opacity: 1;\r\n         }\r\n         100% {\r\n             opacity: 0;\r\n         }\r\n         }\r\n\r\n     @keyframes showSelectCardAni {\r\n         0% {\r\n             opacity: 1;\r\n         }\r\n         100% {\r\n             opacity: 0;\r\n         }\r\n     }\r\n     .card_next {\r\n         -webkit-animation: cardNextAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n         animation: cardNextAni 0.3s ease-in-out;\r\n         animation-fill-mode: forwards;\r\n     }\r\n     @-webkit-keyframes cardNextAni {\r\n         0% {\r\n             top: 12px;\r\n             transform: scaleX(0.93);\r\n         }\r\n         100% {\r\n             top: 0;\r\n             transform: scaleX(1);\r\n         }\r\n     }\r\n\r\n     @keyframes cardNextAni {\r\n         0% {\r\n             top: 12px;\r\n             transform: scaleX(0.93);\r\n         }\r\n         100% {\r\n             top: 0;\r\n             transform: scaleX(1);\r\n         }\r\n     }\r\n }\r\n}\r\n\r\n.showCaseCard {\r\n-webkit-animation: showCaseCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\nanimation: showCaseCardAni 0.3s ease-in-out;\r\nanimation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes showCaseCardAni {\r\n0% {\r\n height: 0;\r\n opacity: 0;\r\n}\r\n100% {\r\n height: 234px;\r\n opacity: 1;\r\n}\r\n}\r\n\r\n@keyframes showCaseCardAni {\r\n0% {\r\n height: 0;\r\n opacity: 0;\r\n}\r\n100% {\r\n height: 234px;\r\n opacity: 1;\r\n}\r\n}\r\n\r\n.hideCaseCard {\r\n-webkit-animation: hideCaseCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\nanimation: hideCaseCardAni 0.3s ease-in-out;\r\nanimation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes hideCaseCardAni {\r\n0% {\r\n height: 234px;\r\n opacity: 1;\r\n}\r\n100% {\r\n height: 0;\r\n opacity: 0;\r\n}\r\n}\r\n\r\n@keyframes hideCaseCardAni {\r\n0% {\r\n height: 234px;\r\n opacity: 1;\r\n}\r\n100% {\r\n height: 0;\r\n display: none;\r\n opacity: 0;\r\n}\r\n}\r\n\r\n.showArrow {\r\ndisplay: block;\r\n}\r\n.hideArrow {\r\n-webkit-animation: hideArrowAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\nanimation: hideArrowAni 0.3s ease-in-out;\r\nanimation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hideArrowAni {\r\n0% {\r\n opacity: 1;\r\n}\r\n100% {\r\n opacity: 0;\r\n}\r\n}\r\n\r\n@keyframes hideArrowAni {\r\n0% {\r\n opacity: 1;\r\n}\r\n100% {\r\n opacity: 0;\r\n}\r\n}\r\n.showChangeAni {\r\n-webkit-animation: showChangeAnii 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\nanimation: showChangeAnii 0.3s ease-in-out;\r\nanimation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes showChangeAnii {\r\n0% {\r\n transform: scale(1);\r\n}\r\n50% {\r\n transform: scale(0.8);\r\n}\r\n100% {\r\n transform: scale(1);\r\n}\r\n}\r\n\r\n@keyframes showChangeAnii {\r\n0% {\r\n transform: scale(1);\r\n}\r\n50% {\r\n transform: scale(0.8);\r\n}\r\n100% {\r\n transform: scale(1);\r\n}\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/CaseCard.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cards_wrapper\"},[_c('div',{staticClass:\"arrow\",class:[_vm.showCaseCard && _vm.showCaseInited && _vm.datas.length > 0 ? 'showArrow' : 'hideArrow']}),_vm._v(\" \"),_c('div',{staticClass:\"cards\",class:[_vm.showCaseCard && _vm.showCaseInited && _vm.datas.length > 0 ? 'showCaseCard' : 'hideCaseCard']},[_c('div',{staticClass:\"header\"},[_c('span',{on:{\"click\":_vm.change}},[_vm._v(\"换一个\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/case_card_close.svg\")},on:{\"click\":_vm.setShowCaseCard}})]),_vm._v(\" \"),_c('div',{staticClass:\"card_list\",class:[_vm.isShowChangeAni ? 'showChangeAni' : '']},_vm._l((_vm.datas),function(item,index){return _c('div',{key:'card' + index,staticClass:\"card\",class:[\n                    _vm.currentIndex === index  ? 'card_shadow card_select' : '',\n                    (_vm.currentIndex === _vm.datas.length - 1 && index === 0) || _vm.currentIndex + 1 === index ? 'card_shadow' : '',\n                    ((_vm.currentIndex === _vm.datas.length - 1 && index === 0) || _vm.currentIndex + 1 === index) && _vm.isShowChangeAni ? 'card_next' : '',\n                    _vm.currentIndex === index && _vm.isShowChangeAni ? 'card_select_change' : ''\n                ],style:({\n                    zIndex: index < _vm.currentIndex && _vm.currentIndex !== _vm.datas.length - 1 ? 0 : _vm.currentIndex === index  ? _vm.datas.length : _vm.datas.length - index,\n                    top: _vm.currentIndex === index ? '0' : '12px',\n                    transform: _vm.currentIndex !== index ? 'scaleX(0.93)' : 'none'\n                })},[_c('div',{staticClass:\"ellipsis-content case\"},[_vm._v(\"\\n                    \"+_vm._s(item.case_remind_content)+\"\\n                \")]),_vm._v(\" \"),(_vm.courseIsuseradd != 3)?_c('div',{staticClass:\"add_wrapper\"},[_c('div',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.toCreateCase(item)}}},[_vm._v(\"添加案例\")])]):_vm._e()])}),0)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c47d34fc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/CaseCard.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c47d34fc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CaseCard.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CaseCard.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CaseCard.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c47d34fc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CaseCard.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-c47d34fc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/CaseCard.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cards_wrapper\"},[_c('div',{staticClass:\"arrow showArrow\"}),_vm._v(\" \"),_c('div',{staticClass:\"cards showCaseCard\",attrs:{\"id\":\"layoutBlack_step3\"}},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"card_list\"},_vm._l((_vm.datas),function(item,index){return _c('div',{key:'card' + index,staticClass:\"card card_shadow card_select\",style:({\n                      zIndex: 7,\n                      top: 0,\n                      transform: 'none'\n                  })},[_c('div',{staticClass:\"ellipsis-content case\"},[_vm._v(\"\\n          \"+_vm._s(item.case_remind_content)+\"\\n        \")]),_vm._v(\" \"),_vm._m(1,true)])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header\"},[_c('span',[_vm._v(\"换一个\")]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/case_card_close.svg\")}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add_wrapper\"},[_c('div',{staticClass:\"btn\"},[_vm._v(\"添加案例\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-55945cf0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/GuideCaseCard.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-55945cf0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./GuideCaseCard.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideCaseCard.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GuideCaseCard.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-55945cf0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GuideCaseCard.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-55945cf0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/GuideCaseCard.vue\n// module id = null\n// module chunks = ","<template>\r\n  <!-- :class=\"[showCaseCard && showCaseInited ? 'showCaseCard' : 'hideCaseCard']\" -->\r\n  <div class=\"cards_wrapper\">\r\n    <div class=\"arrow showArrow\"></div>\r\n    <div class=\"cards showCaseCard\" id=\"layoutBlack_step3\">\r\n      <div class=\"header\">\r\n        <span >换一个</span>\r\n        <img src=\"@/assets/img/case_card_close.svg\"/>\r\n      </div>\r\n      <div class=\"card_list\">\r\n        <div class=\"card card_shadow card_select\"\r\n             :style=\"{\r\n                        zIndex: 7,\r\n                        top: 0,\r\n                        transform: 'none'\r\n                    }\"\r\n             v-for=\"(item, index) in datas\" :key=\"'card' + index\">\r\n          <div class=\"ellipsis-content case\">\r\n            {{ item.case_remind_content }}\r\n          </div>\r\n          <div class=\"add_wrapper\">\r\n            <div class=\"btn\">添加案例</div>\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  data() {\r\n    return {\r\n      datas: [\r\n        {\r\n          case_remind_content: \"接收文化教育的过程中，我们会不断去思考和验证，由此形成错误的思维方式，常常运用这种错误的思维方式去思考和解决问题。\"\r\n        }\r\n      ],\r\n    };\r\n  },\r\n  computed: {},\r\n  methods: {},\r\n  mounted() {\r\n  }\r\n};\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.cards_wrapper {\r\n  position: absolute;\r\n  width: 246px;\r\n  // height: 295px;\r\n  top: 112px;\r\n  left: 60px;\r\n  padding-top: 13px;\r\n  border-radius: 16px;\r\n  background: transparent;\r\n\r\n  .arrow {\r\n    position: absolute;\r\n    border-bottom: 14px solid #2C3538;\r\n    border-left: 14px solid transparent;\r\n    border-right: 14px solid transparent;\r\n    top: 0;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    z-index: 99;\r\n  }\r\n}\r\n\r\n.cards {\r\n  width: 246px;\r\n  border-radius: 16px;\r\n  background: #2C3538;\r\n  box-shadow: 3px 3px 22px 0 #000000;\r\n  position: absolute;\r\n  z-index: 98;\r\n  padding: 20px 16px;\r\n  overflow: hidden;\r\n\r\n  .header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #A7A9AA;\r\n    line-height: 18px;\r\n    padding-bottom: 15px;\r\n\r\n    span {\r\n      cursor: pointer;\r\n    }\r\n\r\n    img {\r\n      width: 17px;\r\n      height: 16px;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n\r\n  .card_list {\r\n    height: 193px;\r\n    position: relative;\r\n    border-radius: 16px;\r\n    background: #2C3538;\r\n\r\n    .card {\r\n      padding: 13px 12px 15px 16px;\r\n      width: 100%;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #FFFFFF;\r\n      line-height: 21px;\r\n      position: absolute;\r\n      background: #2C3538;\r\n      height: 154px;\r\n      border-radius: 16px;\r\n\r\n      .case {\r\n        -webkit-line-clamp: 4;\r\n        height: 82px;\r\n      }\r\n\r\n      .add_wrapper {\r\n        display: flex;\r\n        justify-content: center;\r\n        margin-top: 15px;\r\n\r\n        .btn {\r\n          width: 100px;\r\n          height: 26px;\r\n          border-radius: 29px;\r\n          opacity: 0.6;\r\n          border: 1px solid #FFFFFF;\r\n          text-align: center;\r\n          cursor: pointer;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #FFFFFF;\r\n          line-height: 22px;\r\n          font-style: normal;\r\n        }\r\n      }\r\n    }\r\n\r\n    .card_shadow {\r\n      box-shadow: 3px 3px 10px 0 #000000;\r\n    }\r\n\r\n    .card_select_change {\r\n      -webkit-animation: showSelectCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: showSelectCardAni 0.3s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes showSelectCardAni {\r\n      0% {\r\n        opacity: 1;\r\n      }\r\n      100% {\r\n        opacity: 0;\r\n      }\r\n    }\r\n\r\n    @keyframes showSelectCardAni {\r\n      0% {\r\n        opacity: 1;\r\n      }\r\n      100% {\r\n        opacity: 0;\r\n      }\r\n    }\r\n\r\n    .card_next {\r\n      -webkit-animation: cardNextAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n      animation: cardNextAni 0.3s ease-in-out;\r\n      animation-fill-mode: forwards;\r\n    }\r\n\r\n    @-webkit-keyframes cardNextAni {\r\n      0% {\r\n        top: 12px;\r\n        transform: scaleX(0.93);\r\n      }\r\n      100% {\r\n        top: 0;\r\n        transform: scaleX(1);\r\n      }\r\n    }\r\n\r\n    @keyframes cardNextAni {\r\n      0% {\r\n        top: 12px;\r\n        transform: scaleX(0.93);\r\n      }\r\n      100% {\r\n        top: 0;\r\n        transform: scaleX(1);\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.showCaseCard {\r\n  -webkit-animation: showCaseCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showCaseCardAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes showCaseCardAni {\r\n  0% {\r\n    height: 0;\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    height: 234px;\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n@keyframes showCaseCardAni {\r\n  0% {\r\n    height: 0;\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    height: 234px;\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n.hideCaseCard {\r\n  -webkit-animation: hideCaseCardAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideCaseCardAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes hideCaseCardAni {\r\n  0% {\r\n    height: 234px;\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    height: 0;\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n@keyframes hideCaseCardAni {\r\n  0% {\r\n    height: 234px;\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    height: 0;\r\n    display: none;\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n.showArrow {\r\n  display: block;\r\n}\r\n\r\n.hideArrow {\r\n  -webkit-animation: hideArrowAni 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideArrowAni 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes hideArrowAni {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n@keyframes hideArrowAni {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n.showChangeAni {\r\n  -webkit-animation: showChangeAnii 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showChangeAnii 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n\r\n@-webkit-keyframes showChangeAnii {\r\n  0% {\r\n    transform: scale(1);\r\n  }\r\n  50% {\r\n    transform: scale(0.8);\r\n  }\r\n  100% {\r\n    transform: scale(1);\r\n  }\r\n}\r\n\r\n@keyframes showChangeAnii {\r\n  0% {\r\n    transform: scale(1);\r\n  }\r\n  50% {\r\n    transform: scale(0.8);\r\n  }\r\n  100% {\r\n    transform: scale(1);\r\n  }\r\n}\r\n</style>></style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/GuideCaseCard.vue","<!--  -->\r\n<template>\r\n  <el-container class=\"container\"\r\n    :style=\"{\r\n      borderRadius:\r\n        centerStauts === 'centerStauts2' || centerStauts === 'centerStauts4'\r\n          ? '14px'\r\n          : '0'\r\n    }\">\r\n    <el-header v-show=\"\r\n        centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\r\n      \"\r\n      :style=\"{ background: theme === 'black' ? '#1f1f1f' : '#eaedef' }\"\r\n      :class=\"[\r\n        centerStauts === 'centerStauts1' || centerStauts === 'centerStauts3'\r\n          ? 'headerLeftToRightBlack'\r\n          : ''\r\n      ]\">\r\n      <Hearder ref=\"header\"\r\n        :pageNamePro=\"'black'\"\r\n        :theme=\"theme\"\r\n        :activeIndex=\"blackActiveIndex\"\r\n        :bgColorPro=\"bgColor\" \r\n        :isDisabledGuide=\"isBlackDisabledGuide || (this.isInStudyLogBookList && $route.name === 'StudyLog')\"\r\n      />\r\n    </el-header>\r\n    <el-container class=\"main\">\r\n      <el-main id=\"blackMain\">\r\n        <!-- <i class=\"el-icon-arrow-right aroww-right\"></i>\r\n        <router-view name=\"black\"></router-view> -->\r\n        <keep-alive :exclude=\"[]\">\r\n          <component :is=\"blackCom\"></component>\r\n        </keep-alive>\r\n      </el-main>\r\n      <div v-if=\"centerStauts === 'centerStauts2' || centerStauts === 'centerStauts4'\"\r\n        class=\"centerLayer\"></div>\r\n      <el-aside :class=\"[isFullscreen ? 'asideFullscreen' : 'aside']\">\r\n        <div class=\"icons iconsBlack\">\r\n          <div class=\"updownAni\"\r\n            v-show=\"tagType && tagType.tagType == 1 && !hideBlackEye\">\r\n            <div class=\"image-container\"\r\n              v-show=\"isNeedEyeAni && tagType && tagType.tagType == 1\">\r\n              <div class=\"top-image\"\r\n                v-if=\"isNeedEyeAni\">\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'fold' : '']\">\r\n                  <img src=\"/static/img/culture.svg\"\r\n                    alt=\"Top Image\" />\r\n                </div>\r\n                <div class=\"image-half flipped\"\r\n                  :class=\"[isNeedEyeAni ? 'flippedAni' : '']\">\r\n                  <img src=\"/static/img/culture.svg\"\r\n                    alt=\"Flipped Top Image\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"bottom-image\">\r\n                <div class=\"image-half\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'bottom-image-last' : '']\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"image-container image-container1\"\r\n              v-show=\"!isNeedEyeAni || !(tagType && tagType.tagType == 1)\">\r\n              <div class=\"top-image\"\r\n                :class=\"[\r\n                  'top-image',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts4'\r\n                    ? 'hideBlackEyeAni'\r\n                    : '',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts1'\r\n                    ? 'showBlackEyeAni'\r\n                    : ''\r\n                ]\"\r\n                :style=\"{\r\n                  position: centerStauts === 'centerStauts4' ? 'fixed' : ''\r\n                }\">\r\n                <img src=\"/static/img/culture.svg\"\r\n                  class=\"222\"\r\n                  alt=\"Flipped Top Image\"\r\n                  v-if=\"showWhiteIcon\" />\r\n                <img id=\"layoutBlack1_step2\"\r\n                  :src=\"styleImg\"\r\n                  @click=\"setShowCaseCard(true)\"\r\n                  alt=\"Bottom Image\" />\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"updownAni\"\r\n            v-show=\"tagType && tagType.tagType == 2 && !hideBlackEye\">\r\n            <div class=\"image-container\"\r\n              v-show=\"isNeedEyeAni && tagType && tagType.tagType == 2\">\r\n              <div class=\"top-image\"\r\n                v-if=\"isNeedEyeAni\">\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'fold' : '']\">\r\n                  <img src=\"/static/img/thinking.svg\"\r\n                    alt=\"Top Image\" />\r\n                </div>\r\n                <div class=\"image-half flipped\"\r\n                  :class=\"[isNeedEyeAni ? 'flippedAni' : '']\">\r\n                  <img src=\"/static/img/thinking.svg\"\r\n                    alt=\"Flipped Top Image\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"bottom-image\">\r\n                <div class=\"image-half\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'bottom-image-last' : '']\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"image-container image-container1\"\r\n              v-show=\"!(isNeedEyeAni && tagType && tagType.tagType == 2)\">\r\n              <div class=\"top-image\"\r\n                :class=\"[\r\n                  'top-image',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts4'\r\n                    ? 'hideBlackEyeAni'\r\n                    : '',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts1'\r\n                    ? 'showBlackEyeAni'\r\n                    : ''\r\n                ]\"\r\n                :style=\"{\r\n                  position: centerStauts === 'centerStauts4' ? 'fixed' : ''\r\n                }\">\r\n                <img src=\"/static/img/thinking.svg\"\r\n                  class=\"222\"\r\n                  alt=\"Flipped Top Image\"\r\n                  v-if=\"showWhiteIcon\" />\r\n                <img id=\"layoutBlack2_step2\"\r\n                  :src=\"styleImg\"\r\n                  @click=\"setShowCaseCard(true)\"\r\n                  alt=\"Bottom Image\" />\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"leftright\"\r\n            v-show=\"tagType && tagType.tagType == 3 && !hideBlackEye\">\r\n            <div class=\"image-container\"\r\n              v-show=\"isNeedEyeAni && tagType && tagType.tagType == 3\">\r\n              <div class=\"top-image\"\r\n                v-if=\"isNeedEyeAni\">\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'flippedAni' : '']\">\r\n                  <img src=\"/static/img/behavior.svg\"\r\n                    alt=\"Top Image\" />\r\n                </div>\r\n                <div class=\"image-half flipped\"\r\n                  :class=\"[isNeedEyeAni ? 'fold' : '']\">\r\n                  <img src=\"/static/img/behavior.svg\"\r\n                    alt=\"Flipped Top Image\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"bottom-image\">\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'bottom-image-last' : '']\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n                <div class=\"image-half\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"image-container image-container1\"\r\n              v-show=\"!(isNeedEyeAni && tagType && tagType.tagType == 3)\">\r\n              <div class=\"top-image\"\r\n                :class=\"[\r\n                  'top-image',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts4'\r\n                    ? 'hideBlackEyeAni'\r\n                    : '',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts1'\r\n                    ? 'showBlackEyeAni'\r\n                    : ''\r\n                ]\"\r\n                :style=\"{\r\n                  position: centerStauts === 'centerStauts4' ? 'fixed' : ''\r\n                }\">\r\n                <img src=\"/static/img/behavior.svg\"\r\n                  alt=\"Flipped Top Image\"\r\n                  v-if=\"showWhiteIcon\" />\r\n                <img :src=\"styleImg\"\r\n                  id=\"layoutBlack3_step2\"\r\n                  @click=\"setShowCaseCard(true)\"\r\n                  alt=\"Bottom Image\" />\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"leftright\"\r\n            v-show=\"tagType && tagType.tagType == 4 && !hideBlackEye\">\r\n            <div class=\"image-container\"\r\n              v-show=\"isNeedEyeAni && tagType && tagType.tagType == 4\">\r\n              <div class=\"top-image\"\r\n                v-if=\"isNeedEyeAni\"\r\n                style=\"transform: rotate(30deg);\">\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'flippedAni' : '']\">\r\n                  <img src=\"/static/img/personality.svg\"\r\n                    alt=\"Top Image\" />\r\n                </div>\r\n                <div class=\"image-half flipped\"\r\n                  :class=\"[isNeedEyeAni ? 'fold' : '']\">\r\n                  <img src=\"/static/img/personality.svg\"\r\n                    alt=\"Flipped Top Image\"\r\n                    id=\"layoutBlack4_step2\" />\r\n                </div>\r\n              </div>\r\n              <div class=\"bottom-image  111\"\r\n                style=\"transform: rotate(30deg);\">\r\n                <div class=\"image-half\"\r\n                  :class=\"[isNeedEyeAni ? 'bottom-image-last' : '']\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n                <div class=\"image-half\">\r\n                  <img :src=\"styleImg\"\r\n                    alt=\"Bottom Image\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"image-container image-container1\"\r\n              v-show=\"!(isNeedEyeAni && tagType && tagType.tagType == 4)\">\r\n              <div class=\"top-image\"\r\n                :class=\"[\r\n                  'top-image',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts4'\r\n                    ? 'hideBlackEyeAni'\r\n                    : '',\r\n                  showBlackEyeAni && centerStauts === 'centerStauts1'\r\n                    ? 'showBlackEyeAni'\r\n                    : ''\r\n                ]\"\r\n                :style=\"{\r\n                  position: centerStauts === 'centerStauts4' ? 'fixed' : ''\r\n                }\">\r\n                <img src=\"/static/img/personality.svg\"\r\n                  v-if=\"showWhiteIcon\"\r\n                  id=\"layoutBlack4_step2\" />\r\n                <img :src=\"styleImg\"\r\n                  @click=\"setShowCaseCard(true)\"\r\n                  alt=\"Bottom Image\"\r\n                  id=\"layoutBlack4_step2\" />\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <!-- --------------------------------- -->\r\n        </div>\r\n\r\n        <CaseCard v-show=\"layoutBlackGuideStatus ===1 \"\r\n          :showCaseCard=\"showCaseCard\"\r\n          @setShowCaseCard=\"setShowCaseCard\" />\r\n        <GuideCaseCard v-if=\"layoutBlackGuideStatus === 0\" />\r\n        <MenusBlack ref=\"menu\"\r\n          :parent=\"that\"\r\n          :centerStauts=\"centerStauts\"\r\n          :showCaseCard=\"showCaseCard\"\r\n          @setShowCaseCard=\"setShowCaseCard\" />\r\n        <img v-if=\"tagType && tagType.tagType == 1\"\r\n          src=\"@/assets/img/cultrue_arrow_black.svg\"\r\n          class=\"culture_arrow culture_arrow_black card-back\"\r\n          :style=\"{\r\n            top: $px2rem('330px')\r\n          }\" />\r\n\r\n        <img v-if=\"tagType && tagType.tagType == 2\"\r\n          src=\"@/assets/img/think_arrow_black.svg\"\r\n          class=\"culture_arrow culture_arrow_black\"\r\n          :style=\"{\r\n            top: $px2rem('330px')\r\n          }\" />\r\n        <img v-if=\"tagType && tagType.tagType == 3\"\r\n          src=\"@/assets/img/behavior_arrow_black.svg\"\r\n          class=\"culture_arrow culture_arrow_black\"\r\n          :style=\"{\r\n            top: $px2rem('330px')\r\n          }\" />\r\n        <img v-if=\"tagType && tagType.tagType == 4\"\r\n          src=\"@/assets/img/personality_arrow_black.svg\"\r\n          class=\"culture_arrow culture_arrow_black\"\r\n          :style=\"{\r\n            top: $px2rem('330px')\r\n          }\" />\r\n      </el-aside>\r\n    </el-container>\r\n  </el-container>\r\n</template>\r\n\r\n<script>\r\nimport { getUserGuideStatus, setUserGuideStatus } from \"@/api/index\";\r\nimport Hearder from \"@/components/Hearder.vue\";\r\nimport MenusBlack from \"./MenusBlack.vue\";\r\nimport CultrueContent from \"./CultrueContent.vue\";\r\nimport CaseList from \"./CaseList.vue\";\r\nimport CreateCase from \"./CreateCase.vue\";\r\nimport MyCases from \"./MyCases.vue\";\r\nimport EditCase from \"./EditCase.vue\";\r\nimport LifeOcean from \"./LifeOcean.vue\";\r\nimport PublishBlackCase from \"./publishBlackCase.vue\";\r\nimport Detail from \"./Detail.vue\";\r\nimport TipsList from \"./TipsList.vue\";\r\nimport CaseCard from \"./CaseCard.vue\";\r\nimport GuideCaseCard from \"./GuideCaseCard.vue\";\r\nimport fullscreenMixins from \"@/utils/fullscreenMixins.js\";\r\nimport { layoutBlack_guide } from \"@/utils/intro\";\r\n\r\nimport {\r\n  EventBus,\r\n  BLACK_CULTRUE_CONTENT,\r\n  BLACK_LIFEOCEAN,\r\n} from \"@/utils/eventBus\";\r\nexport default {\r\n  mixins: [fullscreenMixins],\r\n  components: {\r\n    Hearder,\r\n    MenusBlack,\r\n    CultrueContent,\r\n    CaseList,\r\n    CreateCase,\r\n    MyCases,\r\n    EditCase,\r\n    LifeOcean,\r\n    PublishBlackCase,\r\n    Detail,\r\n    TipsList,\r\n    CaseCard,\r\n    GuideCaseCard,\r\n  },\r\n  props: {\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    isDisabledGuide: {\r\n      type: Boolean,\r\n      default: false,\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      styleImg: \"/static/img/blackCulture.svg\",\r\n      isInStudyLogBookList: false,//修学日志中是否在书列表页\r\n      that: this,\r\n      menuType: 0,\r\n      // blackCom: \"\",\r\n      case_tag_type: \"\",\r\n      bgColor: \"\",\r\n      theme: \"black\",\r\n      routeName: \"\",\r\n      isNeedEyeAni: false,\r\n      showWhiteIcon: false,\r\n      showBlackEyeAni: false,\r\n      hideBlackEye: false,\r\n      isFullscreen: false,\r\n      showCaseCard: false,\r\n      init: false,\r\n      layoutBlackGuideStatus: 1,\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    caseInfo() {\r\n      return this.$store.getters.caseInfo;\r\n    },\r\n    blackActiveIndex() {\r\n      return this.$store.getters.blackActiveIndex;\r\n    },\r\n    subPages() {\r\n      return this.$store.getters.subPages;\r\n    },\r\n    blackCom() {\r\n      return this.$store.getters.blackCom;\r\n    },\r\n    tagType() {\r\n      return this.$store.getters.tagType;\r\n    },\r\n    pageNameStore() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    isBlackDisabledGuide() {\r\n      return this.isDisabledGuide || (this.isFullscreen && this.$route.path === '/' && !this.$route.hash);\r\n    }\r\n  },\r\n  watch: {\r\n    course_id(newVal) {\r\n      this.change();\r\n    },\r\n    courseIsChanged(newVal) {\r\n      if (newVal) {\r\n        if (!this.init) {\r\n          this.init = true;\r\n        } else {\r\n          this.change();\r\n        }\r\n      }\r\n    },\r\n    caseInfo: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"course_id:\", newVal);\r\n        if (newVal || newVal == 0) {\r\n          this.case_tag_type = newVal.case_tag_type;\r\n        }\r\n      },\r\n    },\r\n    blackCom: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"blackCom:\", this.blackCom);\r\n        if (v) {\r\n          if (\r\n            this.blackCom === \"MyCases\" ||\r\n            this.blackCom === \"CreateCase\" ||\r\n            this.blackCom === \"EditCase\"\r\n          ) {\r\n            this.bgColor = \"#FFB096\";\r\n          } else {\r\n            this.bgColor = \"\";\r\n          }\r\n        }\r\n      },\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function (to, from) {\r\n        console.log(\"$route:\", to, from);\r\n        if (from && from.path === \"/\") {\r\n          this.$store.dispatch(\"setIsFromIndex\", true);\r\n        }\r\n        let name = this.$route.name;\r\n        this.routeName = name;\r\n        const theme = this.$route.meta.theme;\r\n        console.log(\"layoutblack theme:\", theme);\r\n        if(name == \"index\") {\r\n          this.theme = \"black\";\r\n        } else {\r\n          this.theme = theme;\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n    centerStauts: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        console.log(\"centerStauts:\", newVal, oldVal);\r\n        if (oldVal === \"cDefault\") {\r\n        } else if (oldVal === \"centerStauts4\" && newVal === \"centerStauts1\") {\r\n        } else if (oldVal === \"centerStauts2\" && newVal === \"centerStauts1\") {\r\n        }\r\n        if (newVal === \"centerStauts4\") {\r\n          this.isNeedEyeAni = false;\r\n        }\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    change() {\r\n      this.$store.dispatch(\"setTagType\", {\r\n        tagType: 1,\r\n        menu: \"MenusWhite\",\r\n      });\r\n      if (this.pageNameStore === \"black\") {\r\n        console.log(\"clearHistoryOperate\");\r\n        this.$store.dispatch(\"clearHistoryOperate\");\r\n        if (this.$route.name == \"index\") {\r\n          this.$router.replace(\"/\");\r\n          if(this.course_id && this.isFullscreen) {\r\n            let timeout = setTimeout(() => {\r\n              clearTimeout(timeout);\r\n              EventBus.$emit(\"goWhite1\");\r\n              console.log(\"CultureIndex\");\r\n              EventBus.$emit(\"CultureIndex\");\r\n            }, 550);\r\n          } else {\r\n            let timeout = setTimeout(() => {\r\n              clearTimeout(timeout);\r\n              EventBus.$emit(\"goWhite1\");\r\n            }, 550);\r\n            console.log(\"CultureIndex\");\r\n            EventBus.$emit(\"CultureIndex\");\r\n          }\r\n          \r\n        }\r\n      }\r\n    },\r\n    toCaseList() {\r\n      // 隐藏内容\r\n      const blackMain = document.getElementById(\"blackMain\");\r\n      if (blackMain) {\r\n        blackMain.style.opacity = 0;\r\n        blackMain.style.transition = \"all 0.1s linear\";\r\n      }\r\n      // 眼睛\r\n      const iconsBlack = document.getElementsByClassName(\"iconsBlack\");\r\n      if (iconsBlack) {\r\n        iconsBlack[0].style.opacity = 0;\r\n        iconsBlack[0].style.transition = \"all 0.4s linear\";\r\n      }\r\n      // 箭头\r\n      const cultureArrow = document.getElementsByClassName(\r\n        \"culture_arrow_black\"\r\n      );\r\n      cultureArrow[0].style.opacity = 0;\r\n      cultureArrow[0].style.transition = \"all 0.4s linear\";\r\n      // 案例卡片\r\n      if (this.showCaseCard) {\r\n        this.setShowCaseCard(false);\r\n      }\r\n    },\r\n    backFromCaseList() {\r\n      // 显示内容\r\n      const blackMain = document.getElementById(\"blackMain\");\r\n      if (blackMain) {\r\n        blackMain.style.opacity = 1;\r\n        blackMain.style.transition = \"all 0.4s linear\";\r\n      }\r\n      // 眼睛\r\n      const iconsBlack = document.getElementsByClassName(\"iconsBlack\");\r\n      if (iconsBlack) {\r\n        iconsBlack[0].style.opacity = 1;\r\n        iconsBlack[0].style.transition = \"all 0.4s linear\";\r\n      }\r\n      const cultureArrow = document.getElementsByClassName(\r\n        \"culture_arrow_black\"\r\n      );\r\n      cultureArrow[0].style.opacity = 1;\r\n      cultureArrow[0].style.transition = \"all 0.4s linear\";\r\n    },\r\n    setShowCaseCard(showCaseCard) {\r\n      this.showCaseCard = showCaseCard;\r\n    },\r\n    // 监听icon图标跳转事件\r\n    whiteIconContainer() {\r\n      // this.$router.push(\"/icon_culture\");\r\n      // this.$router.push(\"/icon_culture?type=\" + this.menuType);\r\n    },\r\n    // 黑牌引导\r\n    layoutBlack1_initGuide() {\r\n      let eyeEl;\r\n      if (this.tagType.tagType === 1) {\r\n        eyeEl = document.querySelector(\"#layoutBlack1_step2\")\r\n      } else if (this.tagType.tagType === 2) {\r\n        eyeEl = document.querySelector(\"#layoutBlack2_step2\")\r\n      } else if (this.tagType.tagType === 3) {\r\n        eyeEl = document.querySelector(\"#layoutBlack3_step2\")\r\n      } else if (this.tagType.tagType === 4) {\r\n        eyeEl = document.querySelector(\"#layoutBlack4_step2\")\r\n      }\r\n      layoutBlack_guide(this, 1, [\r\n        {\r\n          intro:\r\n            \"在成长的过程中，你接受了很多<b>文化知识</b>，包括书本上的，长辈告诉你的，在学校、职场上听来的...<br/>你习惯的<b>思维方式</b>，你的<b>三观</b>，你<b>喜欢做的事</b>，你难以改变的<b>习惯</b>，你的<b>性格</b>特征、<b>人格</b>特质...<br/>跟笔记主题相关的内容，都可以写在这里\",\r\n          element: document.querySelector(\"#layoutBlack_step1\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击查看提示小卡片\",\r\n          element: eyeEl,\r\n        },\r\n        {\r\n          intro:\r\n            \"不知道怎么写？<br/>通过提示，可以帮你写下与<b>笔记主题相关的案例</b>。<br/>可以是自己身上发生的真实事件，也可以是新闻媒体报道，小说电视剧情等\",\r\n          element: document.querySelector(\"#layoutBlack_step3\"),\r\n        },\r\n      ]);\r\n    },\r\n    layoutBlack2_initGuide() {\r\n      layoutBlack_guide(this, 2, [\r\n        {\r\n          intro:\r\n            \"在成长的过程中，你接受了很多<b>文化知识</b>，包括书本上的，长辈告诉你的，在学校、职场上听来的...<br/>你习惯的<b>思维方式</b>，你的<b>三观</b>，你<b>喜欢做的事</b>，你难以改变的<b>习惯</b>，你的<b>性格</b>特征、<b>人格</b>特质...<br/>跟笔记主题相关的内容，都可以写在这里\",\r\n          element: document.querySelector(\"#layoutBlack_step1\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击查看提示小卡片\",\r\n          element: document.querySelector(\"#layoutBlack2_step2\"),\r\n        },\r\n        {\r\n          intro:\r\n            \"不知道怎么写？<br/>通过提示，可以帮你写下与<b>笔记主题相关的案例</b>。<br/>可以是自己身上发生的真实事件，也可以是新闻媒体报道，小说电视剧情等\",\r\n          element: document.querySelector(\"#layoutBlack_step3\"),\r\n        },\r\n      ]);\r\n    },\r\n    layoutBlack3_initGuide() {\r\n      layoutBlack_guide(this, 3, [\r\n        {\r\n          intro:\r\n            \"在成长的过程中，你接受了很多<b>文化知识</b>，包括书本上的，长辈告诉你的，在学校、职场上听来的...<br/>你习惯的<b>思维方式</b>，你的<b>三观</b>，你<b>喜欢做的事</b>，你难以改变的<b>习惯</b>，你的<b>性格</b>特征、<b>人格</b>特质...<br/>跟笔记主题相关的内容，都可以写在这里\",\r\n          element: document.querySelector(\"#layoutBlack_step1\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击查看提示小卡片\",\r\n          element: document.querySelector(\"#layoutBlack3_step2\"),\r\n        },\r\n        {\r\n          intro:\r\n            \"不知道怎么写？<br/>通过提示，可以帮你写下与<b>笔记主题相关的案例</b>。<br/>可以是自己身上发生的真实事件，也可以是新闻媒体报道，小说电视剧情等\",\r\n          element: document.querySelector(\"#layoutBlack_step3\"),\r\n        },\r\n      ]);\r\n    },\r\n    layoutBlack4_initGuide() {\r\n      layoutBlack_guide(this, 4, [\r\n        {\r\n          intro:\r\n            \"在成长的过程中，你接受了很多<b>文化知识</b>，包括书本上的，长辈告诉你的，在学校、职场上听来的...<br/>你习惯的<b>思维方式</b>，你的<b>三观</b>，你<b>喜欢做的事</b>，你难以改变的<b>习惯</b>，你的<b>性格</b>特征、<b>人格</b>特质...<br/>跟笔记主题相关的内容，都可以写在这里\",\r\n          element: document.querySelector(\"#layoutBlack_step1\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击查看提示小卡片\",\r\n          element: document.querySelector(\"#layoutBlack4_step2\"),\r\n        },\r\n        {\r\n          intro:\r\n            \"不知道怎么写？<br/>通过提示，可以帮你写下与<b>笔记主题相关的案例</b>。<br/>可以是自己身上发生的真实事件，也可以是新闻媒体报道，小说电视剧情等\",\r\n          element: document.querySelector(\"#layoutBlack_step3\"),\r\n        },\r\n      ]);\r\n    },\r\n    setLayoutBlackGuideStatus(status) {\r\n      this.layoutBlackGuideStatus = status;\r\n    },\r\n    guide1() {\r\n      if (!this.isFullscreen) {\r\n        EventBus.$emit(\"enableReadOnlyMode\");\r\n        this.setShowCaseCard(true);\r\n        this.setLayoutBlackGuideStatus(0);\r\n        let timeout = setTimeout(() => {\r\n          this.layoutBlack1_initGuide();\r\n          clearTimeout(timeout);\r\n        }, 800);\r\n      }\r\n    },\r\n    guide2() {\r\n      if (!this.isFullscreen) {\r\n        EventBus.$emit(\"enableReadOnlyMode\");\r\n        this.setShowCaseCard(true);\r\n        this.setLayoutBlackGuideStatus(0);\r\n        let timeout = setTimeout(() => {\r\n          this.layoutBlack2_initGuide();\r\n          clearTimeout(timeout);\r\n        }, 800);\r\n      }\r\n    },\r\n    guide3() {\r\n      if (!this.isFullscreen) {\r\n        EventBus.$emit(\"enableReadOnlyMode\");\r\n        this.setShowCaseCard(true);\r\n        this.setLayoutBlackGuideStatus(0);\r\n        let timeout = setTimeout(() => {\r\n          this.layoutBlack3_initGuide();\r\n          clearTimeout(timeout);\r\n        }, 800);\r\n      }\r\n    },\r\n    guide4() {\r\n      if (!this.isFullscreen) {\r\n        EventBus.$emit(\"enableReadOnlyMode\");\r\n        this.setShowCaseCard(true);\r\n        this.setLayoutBlackGuideStatus(0);\r\n        let timeout = setTimeout(() => {\r\n          this.layoutBlack4_initGuide();\r\n          clearTimeout(timeout);\r\n        }, 800);\r\n      }\r\n    },\r\n    async setUserGuideStatus() {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      guideStatus.black = 1;\r\n      const jsonData = {\r\n        guide_status: JSON.stringify(guideStatus),\r\n      };\r\n      // 设置用户引导状态\r\n      const setUserRes = await setUserGuideStatus(jsonData);\r\n      if (setUserRes.code === 0) {\r\n        // 再次获取用户引导状态\r\n        const updatedRes = await getUserGuideStatus();\r\n        guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n      }\r\n      if (guideStatus) {\r\n        localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n      }\r\n    },\r\n  },\r\n  mounted() {\r\n    console.log(\"layoutBlack\");\r\n    console.log(\"this.$route:\", this.$route);\r\n    console.log(this.init);\r\n    if (this.$route && this.$route.path !== \"/\") {\r\n      this.$store.dispatch(\"setIsFromIndex\", false);\r\n    }\r\n    console.log(\"tagType black:\", this.tagType);\r\n    // console.log(this.pageNameStore);\r\n    // if(this.pageNameStore === \"black\") {\r\n    //   this.showWhiteIcon = false;\r\n    // }\r\n    // 案例\r\n    EventBus.$on(BLACK_CULTRUE_CONTENT, () => {\r\n      console.log(\"BLACK_CULTRUE_CONTENT\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"black\";\r\n      }\r\n      // this.blackCom = \"CultrueContent\";\r\n      this.$store.dispatch(\"setBlackCom\", \"CultrueContent\");\r\n    });\r\n    // 生命海洋\r\n    EventBus.$on(BLACK_LIFEOCEAN, () => {\r\n      console.log(\"BLACK_LIFEOCEAN\");\r\n      if (this.routeName === \"index\") {\r\n        this.theme = \"black\";\r\n      }\r\n      // this.blackCom = \"LifeOcean\";\r\n      this.$store.dispatch(\"setBlackCom\", \"LifeOcean\");\r\n    });\r\n\r\n    EventBus.$on(\"setBlackTheme\", (theme) => {\r\n      this.theme = theme;\r\n    });\r\n\r\n    EventBus.$on(\"SHOWWHITEICON\", (isShow) => {\r\n      console.log(\"SHOWWHITEICON\");\r\n      this.showWhiteIcon = isShow;\r\n      if (isShow) {\r\n        let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n        //首次进入黑牌-触发黑牌引导\r\n        if (guideStatus.blackIndex !== 1) {\r\n          this.guide1();\r\n        }\r\n        // 因都为同一内容，所以提示一遍即可，根据bug 1986修改的\r\n        // if (guideStatus.black1 === 0 && this.tagType.tagType === 1) {\r\n        //   this.guide1();\r\n        // }\r\n        //  else if (guideStatus.black2 === 0 && this.tagType.tagType === 2) {\r\n        //   this.guide2();\r\n        // } else if (guideStatus.black3 === 0 && this.tagType.tagType === 3) {\r\n        //   this.guide3();\r\n        // } else if (guideStatus.black4 === 0 && this.tagType.tagType === 4) {\r\n        //   this.guide4();\r\n        // }\r\n      }\r\n    });\r\n    EventBus.$on(\"black_index_initGuide\", () => {\r\n      this.guide1();\r\n      // if (this.tagType.tagType === 1) {\r\n      //   this.guide1();\r\n      // } else if (this.tagType.tagType === 2) {\r\n      //   this.guide2();\r\n      // } else if (this.tagType.tagType === 3) {\r\n      //   this.guide3();\r\n      // } else if (this.tagType.tagType === 4) {\r\n      //   this.guide4();\r\n      // }\r\n    });\r\n    // 跳转黑牌眼睛动画\r\n    EventBus.$on(\"GOBACK\", (isNeedEyeAni) => {\r\n      console.log(\"GOBACK\");\r\n      this.isNeedEyeAni = isNeedEyeAni;\r\n      if (isNeedEyeAni) {\r\n        this.setShowCaseCard(true);\r\n      } else {\r\n        this.setShowCaseCard(false);\r\n      }\r\n      let timeout = setTimeout(() => {\r\n        console.log(\"GOBACK\");\r\n        this.showWhiteIcon = false;\r\n        if (this.tagType && this.tagType.tagType != 4) {\r\n          this.isNeedEyeAni = false;\r\n          this.showBlackEyeAni = false;\r\n        }\r\n        clearTimeout(timeout);\r\n      }, 1000);\r\n      // if (isNeedEyeAni) {\r\n      //   let guideStatus = JSON.parse(localStorage.getItem('guideStatus'));\r\n      //   //首次进入黑牌-触发黑牌引导\r\n      //   console.log(\"guideStatus\",guideStatus)\r\n      //   if (guideStatus.black === 0) {\r\n      //     let timeout = setTimeout(() => {\r\n      //       this.layoutBlack_initGuide();\r\n      //       clearTimeout(timeout);\r\n      //     },600)\r\n      //   }\r\n      // }\r\n    });\r\n    // 从白牌到中间层需要隐藏\r\n    EventBus.$on(\"hideBlackEye\", (hideBlackEye) => {\r\n      console.log(\"GOBACK\");\r\n      this.hideBlackEye = hideBlackEye;\r\n    });\r\n    EventBus.$on(\"showBlackEyeAni\", (showBlackEyeAni) => {\r\n      console.log(\"showBlackEyeAni\");\r\n      this.showBlackEyeAni = showBlackEyeAni;\r\n      // todo 通过showBlackEyeAni进入黑牌，没有layoutBlack_step3定位元素\r\n      // if (showBlackEyeAni) {\r\n      //   let guideStatus = JSON.parse(localStorage.getItem('guideStatus'));\r\n      //   console.log(\"guideStatus\",guideStatus)\r\n      //   //首次进入黑牌-触发黑牌引导\r\n      //   if (guideStatus.black === 0) {\r\n      //     let timeout = setTimeout(() => {\r\n      //       this.layoutBlack_initGuide();\r\n      //       clearTimeout(timeout);\r\n      //     },500)\r\n      //   }\r\n      // }\r\n      // let timeout = null;\r\n      // timeout = setTimeout(() => {\r\n      //   clearTimeout(timeout);\r\n      //   this.showBlackEyeAni = false;\r\n      // }, 400);\r\n    });\r\n    // 是否全屏\r\n    EventBus.$on(\"FULLSCREENBLACK\", (fullscreen) => {\r\n      this.isFullscreen = fullscreen;\r\n      // this.whiteCom = \"CaseList\";\r\n      // this.$store.dispatch(\"setWhiteCom\", \"CaseList\");\r\n    });\r\n    EventBus.$on(\"TO_BlACK_CASE_LIST\", () => {\r\n      this.toCaseList();\r\n    });\r\n    EventBus.$on(\"BACK_FROM_BlACK_CASE_LIST\", () => {\r\n      this.backFromCaseList();\r\n    });\r\n\r\n    // 兼听学习日志进入书名List时，禁止显示“功能说明”\r\n    EventBus.$on('STUDYLOG_IN_BOOK_LIST', (isInBookList) => {\r\n      this.isInStudyLogBookList = isInBookList;\r\n    });\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n/deep/ .el-main {\r\n  padding: 0;\r\n  position: relative;\r\n  overflow-y: auto;\r\n}\r\n.container {\r\n  overflow: hidden;\r\n  height: 100%;\r\n}\r\n.big-view {\r\n  z-index: 99;\r\n  position: fixed;\r\n  -webkit-animation: fullscreenBlackAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: fullscreenBlackAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes fullscreenBlackAni {\r\n  0% {\r\n    width: calc(100% - 400px);\r\n    height: calc(100% - 54px);\r\n    left: 0;\r\n    top: 54px;\r\n    padding: 40px 0 0 93px;\r\n  }\r\n  100% {\r\n    width: 100%;\r\n    height: calc(100% - 54px);\r\n    left: 0;\r\n    top: 54px;\r\n    padding: 40px 93px 0 93px;\r\n  }\r\n}\r\n.outof-big-view {\r\n  z-index: 100;\r\n  position: fixed;\r\n  -webkit-animation: outfullscreenBlackAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: outfullscreenBlackAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes outfullscreenBlackAni {\r\n  0% {\r\n    width: 100%;\r\n    height: calc(100% - 54px);\r\n    left: 0;\r\n    top: 54px;\r\n    padding: 40px 93px 0 93px;\r\n  }\r\n  100% {\r\n    width: calc(100% - 400px);\r\n    height: calc(100% - 54px);\r\n    left: 0;\r\n    top: 54px;\r\n    padding: 40px 0 0 93px;\r\n  }\r\n}\r\n.bg-white {\r\n  background-color: #1d2223;\r\n}\r\n.bg-black {\r\n  z-index: 99;\r\n  height: calc(100vh - 54px);\r\n  position: fixed;\r\n  left: 0px;\r\n  top: 0px;\r\n  width: calc(100vw);\r\n  margin-top: 54px;\r\n  background-color: #1d2223;\r\n}\r\n.main {\r\n  // padding: 0 0 20px 0;\r\n  // margin-top: 60px;\r\n  height: 100%;\r\n  background: #1d2223;\r\n  min-height: 687px;\r\n  // height: calc(100vh - 60px);\r\n}\r\n/deep/ .el-header {\r\n  padding: 0;\r\n  position: fixed;\r\n  top: 0;\r\n  width: 100%;\r\n  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);\r\n  padding: 6px 37px;\r\n  height: 54px !important;\r\n  z-index: 103;\r\n  background: #1f1f1f;\r\n}\r\n/deep/ .el-aside {\r\n  width: 400px !important;\r\n  overflow: hidden;\r\n  padding-right: 32px;\r\n  position: relative;\r\n}\r\n.icons {\r\n  position: relative;\r\n  width: 246px;\r\n  padding-top: 46px;\r\n  padding-bottom: 84px;\r\n  left: 68px;\r\n}\r\n.icons .eye {\r\n  position: absolute;\r\n  left: 37%;\r\n  transform: translateX(-25%);\r\n  cursor: pointer;\r\n}\r\n.icons .arrow {\r\n  position: absolute;\r\n  right: 0;\r\n  color: @culture;\r\n  font-size: 28px;\r\n  bottom: 65px;\r\n}\r\n.aroww-right {\r\n  color: @culture;\r\n  font-size: 28px;\r\n  position: absolute;\r\n  left: 15px;\r\n  top: 45%;\r\n}\r\n.culture_arrow {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 8px;\r\n  width: 45px;\r\n  height: 45px;\r\n}\r\n\r\n.image-container {\r\n  width: 58px;\r\n  height: 58px;\r\n  position: relative;\r\n  overflow: hidden;\r\n  left: 7.5%;\r\n}\r\n.image-container1 {\r\n  width: 306px;\r\n  height: 90px;\r\n  left: 18px;\r\n  top: 0;\r\n}\r\n\r\n.updownAni {\r\n  position: absolute;\r\n  left: 28%;\r\n  width: 100%;\r\n  .top-image,\r\n  .bottom-image {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: relative;\r\n    img {\r\n      width: 58px;\r\n      height: 58px;\r\n    }\r\n  }\r\n  .image-half {\r\n    width: 100%;\r\n    height: 28px;\r\n  }\r\n\r\n  .image-half img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    object-position: center top;\r\n  }\r\n\r\n  .flipped {\r\n    transform: scaleY(-1);\r\n    position: absolute;\r\n    top: 26px;\r\n  }\r\n  .flippedAni {\r\n    animation: flipAndCover2 1s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @keyframes flipAndCover2 {\r\n    0% {\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  .fold {\r\n    animation: flipAndCover 1s ease-in-out;\r\n    transform-origin: bottom;\r\n    transform-style: preserve-3d;\r\n    animation-fill-mode: forwards;\r\n    z-index: 2;\r\n    position: relative;\r\n  }\r\n  @keyframes flipAndCover {\r\n    0% {\r\n      transform: rotateX(0deg);\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      transform: rotateX(180deg);\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  .bottom-image img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    object-position: center top;\r\n  }\r\n\r\n  .top-image {\r\n    z-index: 1;\r\n    cursor: pointer;\r\n  }\r\n  .bottom-image {\r\n    z-index: 0;\r\n    position: absolute;\r\n    top: 0;\r\n    .bottom-image-last {\r\n      height: 30px;\r\n      // left: -4px;\r\n      position: absolute;\r\n      transform: scale(-1);\r\n      animation: flipAndCover1 1.2s ease-in-out;\r\n      transform-origin: top;\r\n      transform-style: preserve-3d;\r\n      animation-fill-mode: forwards;\r\n      z-index: 3;\r\n      img {\r\n        object-fit: cover;\r\n        object-position: center bottom;\r\n      }\r\n    }\r\n  }\r\n  @keyframes flipAndCover1 {\r\n    0% {\r\n      transform: rotateX(0deg) scale(-1);\r\n    }\r\n    100% {\r\n      transform: rotateX(180deg) scale(-1);\r\n    }\r\n  }\r\n}\r\n.leftright {\r\n  position: absolute;\r\n  left: 28%;\r\n  width: 100%;\r\n  .top-image,\r\n  .bottom-image {\r\n    width: 58px;\r\n    height: 58px;\r\n    position: relative;\r\n    img {\r\n      width: 58px;\r\n      height: 58px;\r\n      cursor: pointer;\r\n    }\r\n  }\r\n  .image-half {\r\n    width: 58px;\r\n    height: 58px;\r\n    position: absolute;\r\n    &:first-child {\r\n      img {\r\n        // object-fit: cover;\r\n        // object-position: left;\r\n        clip-path: inset(0 50% 0 0);\r\n      }\r\n    }\r\n    &:last-child {\r\n      img {\r\n        // object-fit: cover;\r\n        // object-position: right;\r\n        clip-path: inset(0 0 0 50%);\r\n      }\r\n    }\r\n  }\r\n\r\n  .image-half img {\r\n    width: 58px;\r\n    height: 58px;\r\n  }\r\n\r\n  .flippedAni {\r\n    animation: flipAndCover2 1s ease-in-out;\r\n    animation-fill-mode: forwards;\r\n  }\r\n  @keyframes flipAndCover2 {\r\n    0% {\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  .fold {\r\n    animation: flipAndCover3 1s ease-in-out;\r\n    transform-origin: center;\r\n    transform-style: preserve-3d;\r\n    animation-fill-mode: forwards;\r\n    z-index: 2;\r\n    position: relative;\r\n  }\r\n  @keyframes flipAndCover3 {\r\n    0% {\r\n      transform: rotateY(0deg);\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      transform: rotateY(180deg);\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  .bottom-image img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    object-position: center top;\r\n  }\r\n\r\n  .top-image {\r\n    z-index: 1;\r\n    cursor: pointer;\r\n  }\r\n  .bottom-image {\r\n    z-index: 0;\r\n    position: absolute;\r\n    top: 0;\r\n    .bottom-image-last {\r\n      // height: 27px;\r\n      // left: -3px;\r\n      position: absolute;\r\n      // transform: scale(-1);\r\n      animation: flipAndCover4 1.2s ease-in-out;\r\n      transform-origin: center;\r\n      transform-style: preserve-3d;\r\n      animation-fill-mode: forwards;\r\n      z-index: 3;\r\n      img {\r\n        object-fit: cover;\r\n        object-position: center bottom;\r\n      }\r\n    }\r\n  }\r\n  @keyframes flipAndCover4 {\r\n    0% {\r\n      transform: rotateY(180deg);\r\n    }\r\n    100% {\r\n      transform: rotateY(0deg);\r\n    }\r\n  }\r\n}\r\n\r\n.hideBlackEyeAni {\r\n  -webkit-animation: hideBlackEyeAniAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hideBlackEyeAniAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hideBlackEyeAniAni {\r\n  0% {\r\n    left: 75%;\r\n    position: fixed;\r\n    top: 124px;\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    left: 82%;\r\n    // z-index: 999999999999;\r\n    position: fixed;\r\n    top: 124px;\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\n.showBlackEyeAni {\r\n  -webkit-animation: showBlackEyeAniAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: showBlackEyeAniAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes showBlackEyeAniAni {\r\n  0% {\r\n    position: absolute;\r\n    left: 372px;\r\n    top: 52px;\r\n  }\r\n  100% {\r\n    left: 0px;\r\n    top: 0px;\r\n    // position: absolute;\r\n  }\r\n}\r\n\r\n.headerLeftToRightBlack {\r\n  -webkit-animation: headerLeftToRightBlackAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: headerLeftToRightBlackAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes headerLeftToRightBlackAni {\r\n  0% {\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n  }\r\n}\r\n\r\n@keyframes headerLeftToRightBlackAni {\r\n  0% {\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    top: 0;\r\n  }\r\n}\r\n\r\n.asideFullscreen {\r\n  -webkit-animation: asideFullscreenAniBlack 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: asideFullscreenAniBlack 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes asideFullscreenAniBlack {\r\n  0% {\r\n    right: 0;\r\n  }\r\n  100% {\r\n    right: -476px;\r\n  }\r\n}\r\n.aside {\r\n  -webkit-animation: asideAniBlack 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: asideAniBlack 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes asideAniBlack {\r\n  0% {\r\n    right: -476px;\r\n  }\r\n  100% {\r\n    right: 0;\r\n  }\r\n}\r\n\r\n.centerLayer {\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: transparent;\r\n  z-index: 9999;\r\n  top: 0;\r\n  left: 0;\r\n}\r\n\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #1f1f1f;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/LayoutBlack.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"container\",style:({\n    borderRadius:\n      _vm.centerStauts === 'centerStauts2' || _vm.centerStauts === 'centerStauts4'\n        ? '14px'\n        : '0'\n  })},[_c('el-header',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n      _vm.centerStauts !== 'centerStauts2' && _vm.centerStauts !== 'centerStauts4'\n    ),expression:\"\\n      centerStauts !== 'centerStauts2' && centerStauts !== 'centerStauts4'\\n    \"}],class:[\n      _vm.centerStauts === 'centerStauts1' || _vm.centerStauts === 'centerStauts3'\n        ? 'headerLeftToRightBlack'\n        : ''\n    ],style:({ background: _vm.theme === 'black' ? '#1f1f1f' : '#eaedef' })},[_c('Hearder',{ref:\"header\",attrs:{\"pageNamePro\":'black',\"theme\":_vm.theme,\"activeIndex\":_vm.blackActiveIndex,\"bgColorPro\":_vm.bgColor,\"isDisabledGuide\":_vm.isBlackDisabledGuide || (this.isInStudyLogBookList && _vm.$route.name === 'StudyLog')}})],1),_vm._v(\" \"),_c('el-container',{staticClass:\"main\"},[_c('el-main',{attrs:{\"id\":\"blackMain\"}},[_c('keep-alive',{attrs:{\"exclude\":[]}},[_c(_vm.blackCom,{tag:\"component\"})],1)],1),_vm._v(\" \"),(_vm.centerStauts === 'centerStauts2' || _vm.centerStauts === 'centerStauts4')?_c('div',{staticClass:\"centerLayer\"}):_vm._e(),_vm._v(\" \"),_c('el-aside',{class:[_vm.isFullscreen ? 'asideFullscreen' : 'aside']},[_c('div',{staticClass:\"icons iconsBlack\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tagType && _vm.tagType.tagType == 1 && !_vm.hideBlackEye),expression:\"tagType && tagType.tagType == 1 && !hideBlackEye\"}],staticClass:\"updownAni\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isNeedEyeAni && _vm.tagType && _vm.tagType.tagType == 1),expression:\"isNeedEyeAni && tagType && tagType.tagType == 1\"}],staticClass:\"image-container\"},[(_vm.isNeedEyeAni)?_c('div',{staticClass:\"top-image\"},[_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'fold' : '']},[_c('img',{attrs:{\"src\":\"/static/img/culture.svg\",\"alt\":\"Top Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half flipped\",class:[_vm.isNeedEyeAni ? 'flippedAni' : '']},[_c('img',{attrs:{\"src\":\"/static/img/culture.svg\",\"alt\":\"Flipped Top Image\"}})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"bottom-image\"},[_c('div',{staticClass:\"image-half\"},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'bottom-image-last' : '']},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isNeedEyeAni || !(_vm.tagType && _vm.tagType.tagType == 1)),expression:\"!isNeedEyeAni || !(tagType && tagType.tagType == 1)\"}],staticClass:\"image-container image-container1\"},[_c('div',{staticClass:\"top-image\",class:[\n                'top-image',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts4'\n                  ? 'hideBlackEyeAni'\n                  : '',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts1'\n                  ? 'showBlackEyeAni'\n                  : ''\n              ],style:({\n                position: _vm.centerStauts === 'centerStauts4' ? 'fixed' : ''\n              })},[(_vm.showWhiteIcon)?_c('img',{staticClass:\"222\",attrs:{\"src\":\"/static/img/culture.svg\",\"alt\":\"Flipped Top Image\"}}):_vm._e(),_vm._v(\" \"),_c('img',{attrs:{\"id\":\"layoutBlack1_step2\",\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"},on:{\"click\":function($event){return _vm.setShowCaseCard(true)}}})])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tagType && _vm.tagType.tagType == 2 && !_vm.hideBlackEye),expression:\"tagType && tagType.tagType == 2 && !hideBlackEye\"}],staticClass:\"updownAni\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isNeedEyeAni && _vm.tagType && _vm.tagType.tagType == 2),expression:\"isNeedEyeAni && tagType && tagType.tagType == 2\"}],staticClass:\"image-container\"},[(_vm.isNeedEyeAni)?_c('div',{staticClass:\"top-image\"},[_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'fold' : '']},[_c('img',{attrs:{\"src\":\"/static/img/thinking.svg\",\"alt\":\"Top Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half flipped\",class:[_vm.isNeedEyeAni ? 'flippedAni' : '']},[_c('img',{attrs:{\"src\":\"/static/img/thinking.svg\",\"alt\":\"Flipped Top Image\"}})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"bottom-image\"},[_c('div',{staticClass:\"image-half\"},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'bottom-image-last' : '']},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!(_vm.isNeedEyeAni && _vm.tagType && _vm.tagType.tagType == 2)),expression:\"!(isNeedEyeAni && tagType && tagType.tagType == 2)\"}],staticClass:\"image-container image-container1\"},[_c('div',{staticClass:\"top-image\",class:[\n                'top-image',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts4'\n                  ? 'hideBlackEyeAni'\n                  : '',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts1'\n                  ? 'showBlackEyeAni'\n                  : ''\n              ],style:({\n                position: _vm.centerStauts === 'centerStauts4' ? 'fixed' : ''\n              })},[(_vm.showWhiteIcon)?_c('img',{staticClass:\"222\",attrs:{\"src\":\"/static/img/thinking.svg\",\"alt\":\"Flipped Top Image\"}}):_vm._e(),_vm._v(\" \"),_c('img',{attrs:{\"id\":\"layoutBlack2_step2\",\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"},on:{\"click\":function($event){return _vm.setShowCaseCard(true)}}})])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tagType && _vm.tagType.tagType == 3 && !_vm.hideBlackEye),expression:\"tagType && tagType.tagType == 3 && !hideBlackEye\"}],staticClass:\"leftright\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isNeedEyeAni && _vm.tagType && _vm.tagType.tagType == 3),expression:\"isNeedEyeAni && tagType && tagType.tagType == 3\"}],staticClass:\"image-container\"},[(_vm.isNeedEyeAni)?_c('div',{staticClass:\"top-image\"},[_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'flippedAni' : '']},[_c('img',{attrs:{\"src\":\"/static/img/behavior.svg\",\"alt\":\"Top Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half flipped\",class:[_vm.isNeedEyeAni ? 'fold' : '']},[_c('img',{attrs:{\"src\":\"/static/img/behavior.svg\",\"alt\":\"Flipped Top Image\"}})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"bottom-image\"},[_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'bottom-image-last' : '']},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half\"},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!(_vm.isNeedEyeAni && _vm.tagType && _vm.tagType.tagType == 3)),expression:\"!(isNeedEyeAni && tagType && tagType.tagType == 3)\"}],staticClass:\"image-container image-container1\"},[_c('div',{staticClass:\"top-image\",class:[\n                'top-image',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts4'\n                  ? 'hideBlackEyeAni'\n                  : '',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts1'\n                  ? 'showBlackEyeAni'\n                  : ''\n              ],style:({\n                position: _vm.centerStauts === 'centerStauts4' ? 'fixed' : ''\n              })},[(_vm.showWhiteIcon)?_c('img',{attrs:{\"src\":\"/static/img/behavior.svg\",\"alt\":\"Flipped Top Image\"}}):_vm._e(),_vm._v(\" \"),_c('img',{attrs:{\"src\":_vm.styleImg,\"id\":\"layoutBlack3_step2\",\"alt\":\"Bottom Image\"},on:{\"click\":function($event){return _vm.setShowCaseCard(true)}}})])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tagType && _vm.tagType.tagType == 4 && !_vm.hideBlackEye),expression:\"tagType && tagType.tagType == 4 && !hideBlackEye\"}],staticClass:\"leftright\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isNeedEyeAni && _vm.tagType && _vm.tagType.tagType == 4),expression:\"isNeedEyeAni && tagType && tagType.tagType == 4\"}],staticClass:\"image-container\"},[(_vm.isNeedEyeAni)?_c('div',{staticClass:\"top-image\",staticStyle:{\"transform\":\"rotate(30deg)\"}},[_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'flippedAni' : '']},[_c('img',{attrs:{\"src\":\"/static/img/personality.svg\",\"alt\":\"Top Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half flipped\",class:[_vm.isNeedEyeAni ? 'fold' : '']},[_c('img',{attrs:{\"src\":\"/static/img/personality.svg\",\"alt\":\"Flipped Top Image\",\"id\":\"layoutBlack4_step2\"}})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"bottom-image 111\",staticStyle:{\"transform\":\"rotate(30deg)\"}},[_c('div',{staticClass:\"image-half\",class:[_vm.isNeedEyeAni ? 'bottom-image-last' : '']},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-half\"},[_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\"}})])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!(_vm.isNeedEyeAni && _vm.tagType && _vm.tagType.tagType == 4)),expression:\"!(isNeedEyeAni && tagType && tagType.tagType == 4)\"}],staticClass:\"image-container image-container1\"},[_c('div',{staticClass:\"top-image\",class:[\n                'top-image',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts4'\n                  ? 'hideBlackEyeAni'\n                  : '',\n                _vm.showBlackEyeAni && _vm.centerStauts === 'centerStauts1'\n                  ? 'showBlackEyeAni'\n                  : ''\n              ],style:({\n                position: _vm.centerStauts === 'centerStauts4' ? 'fixed' : ''\n              })},[(_vm.showWhiteIcon)?_c('img',{attrs:{\"src\":\"/static/img/personality.svg\",\"id\":\"layoutBlack4_step2\"}}):_vm._e(),_vm._v(\" \"),_c('img',{attrs:{\"src\":_vm.styleImg,\"alt\":\"Bottom Image\",\"id\":\"layoutBlack4_step2\"},on:{\"click\":function($event){return _vm.setShowCaseCard(true)}}})])])])]),_vm._v(\" \"),_c('CaseCard',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layoutBlackGuideStatus ===1 ),expression:\"layoutBlackGuideStatus ===1 \"}],attrs:{\"showCaseCard\":_vm.showCaseCard},on:{\"setShowCaseCard\":_vm.setShowCaseCard}}),_vm._v(\" \"),(_vm.layoutBlackGuideStatus === 0)?_c('GuideCaseCard'):_vm._e(),_vm._v(\" \"),_c('MenusBlack',{ref:\"menu\",attrs:{\"parent\":_vm.that,\"centerStauts\":_vm.centerStauts,\"showCaseCard\":_vm.showCaseCard},on:{\"setShowCaseCard\":_vm.setShowCaseCard}}),_vm._v(\" \"),(_vm.tagType && _vm.tagType.tagType == 1)?_c('img',{staticClass:\"culture_arrow culture_arrow_black card-back\",style:({\n          top: _vm.$px2rem('330px')\n        }),attrs:{\"src\":require(\"@/assets/img/cultrue_arrow_black.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.tagType && _vm.tagType.tagType == 2)?_c('img',{staticClass:\"culture_arrow culture_arrow_black\",style:({\n          top: _vm.$px2rem('330px')\n        }),attrs:{\"src\":require(\"@/assets/img/think_arrow_black.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.tagType && _vm.tagType.tagType == 3)?_c('img',{staticClass:\"culture_arrow culture_arrow_black\",style:({\n          top: _vm.$px2rem('330px')\n        }),attrs:{\"src\":require(\"@/assets/img/behavior_arrow_black.svg\")}}):_vm._e(),_vm._v(\" \"),(_vm.tagType && _vm.tagType.tagType == 4)?_c('img',{staticClass:\"culture_arrow culture_arrow_black\",style:({\n          top: _vm.$px2rem('330px')\n        }),attrs:{\"src\":require(\"@/assets/img/personality_arrow_black.svg\")}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-de32394e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/LayoutBlack.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-de32394e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./LayoutBlack.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./LayoutBlack.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./LayoutBlack.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-de32394e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./LayoutBlack.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-de32394e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/LayoutBlack.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"folding\">\r\n    <div class=\"line\"></div>\r\n    <el-card class=\"box-card box1\"\r\n      :class=\"[whiteActiveIndex===0 || whiteActiveIndex===1 ? '': 'noselbox']\"\r\n      shadow=\"never\">\r\n      <div class=\"folding1 li\"\r\n        :class=\"[\r\n          centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n            ? 'foldFont'\r\n            : 'foldFont1'\r\n        ]\">\r\n         {{app_type == 2 ? '听闻正法' : '智慧文化'}}\r\n      </div>\r\n      <div>\r\n        <div class=\"folding1 folding11 li\"\r\n          :class=\"[\r\n            centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n              ? 'foldFont'\r\n              : 'foldFont1'\r\n          ]\">\r\n          如理思维\r\n        </div>\r\n        <div class=\"folding1 folding11 li\"\r\n          :class=\"[\r\n            centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n              ? 'foldFont'\r\n              : 'foldFont1'\r\n          ]\">\r\n          观念禅修\r\n        </div>\r\n      </div>\r\n    </el-card>\r\n    <el-card class=\"box-card box2\"\r\n      :class=\"[whiteActiveIndex===2 ? '': 'noselbox']\"\r\n      shadow=\"never\">\r\n      <div class=\"folding2 li\"\r\n        :class=\"[\r\n          centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n            ? 'foldFont'\r\n            : 'foldFont1'\r\n        ]\">\r\n        <span>心态禅修</span>\r\n      </div>\r\n    </el-card>\r\n    <el-card class=\"box-card box3\"\r\n      :class=\"[whiteActiveIndex===3 ? '': 'noselbox']\"\r\n      shadow=\"never\">\r\n      <div class=\"folding3 li\"\r\n        :class=\"[\r\n          centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n            ? 'foldFont'\r\n            : 'foldFont1'\r\n        ]\">\r\n        <span>品质禅修</span>\r\n      </div>\r\n    </el-card>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  props: {\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  },\r\n  components: {},\r\n  data() {\r\n    return {\r\n      app_type: 2\r\n    };\r\n  },\r\n  computed: {\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n  },\r\n  watch: {},\r\n  methods: {},\r\n  created() {},\r\n  mounted() {\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    this.app_type = app_type;\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.folding {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  position: relative;\r\n  // height: 100%;\r\n  position: absolute;\r\n  top: 136px;\r\n  right: 12%;\r\n  z-index: 99;\r\n  height: 549px;\r\n  min-height: 522px;\r\n  width: 30%;\r\n  .li {\r\n    padding-left: 25px;\r\n    position: relative;\r\n    font-size: 20px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 21px;\r\n    min-width: 90px;\r\n  }\r\n  .folding1 {\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 8px;\r\n      left: 0;\r\n      width: 7px;\r\n      height: 7px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: #71AFBB;\r\n    }\r\n  }\r\n  .folding11 {\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 8px;\r\n      left: 0;\r\n      width: 7px;\r\n      height: 7px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: #64AFD5;\r\n    }\r\n  }\r\n  .folding2 {\r\n    display: flex;\r\n    // justify-content: center;\r\n    // align-items: center;\r\n    span {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 0;\r\n        width: 7px;\r\n        height: 7px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @behavior;\r\n      }\r\n    }\r\n  }\r\n  .folding3 {\r\n    display: flex;\r\n    // justify-content: center;\r\n    // align-items: center;\r\n    span {\r\n      &::before {\r\n        content: \"\";\r\n        display: block;\r\n        position: absolute;\r\n        top: 9px;\r\n        left: 0;\r\n        width: 7px;\r\n        height: 7px;\r\n        -webkit-border-radius: 50%;\r\n        -moz-border-radius: 50%;\r\n        border-radius: 50%;\r\n        background: @personality;\r\n      }\r\n    }\r\n  }\r\n}\r\n.box1 {\r\n  height: 41%;\r\n  min-height: 214px;\r\n  /deep/ .el-card__body {\r\n    flex-direction: column;\r\n    padding: 20px;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    height: 100%;\r\n  }\r\n  .folding1 {\r\n    margin-top: 14px;\r\n    span {\r\n      &:first-of-type::before {\r\n        top: 5px;\r\n      }\r\n    }\r\n  }\r\n}\r\n.box2 {\r\n  // margin-top: 5%;\r\n  height: 27%;\r\n  min-height: 141px;\r\n  /deep/ .el-card__body {\r\n    padding: 0 20px;\r\n    // background: #f1f2f6;\r\n    display: flex;\r\n    align-items: center;\r\n    height: 100%;\r\n  }\r\n}\r\n.box3 {\r\n  // margin-top: 5%;\r\n  height: 27%;\r\n  min-height: 141px;\r\n  /deep/ .el-card__body {\r\n    padding: 0 20px;\r\n    // background: #f1f2f6;\r\n    display: flex;\r\n    align-items: center;\r\n    height: 100%;\r\n  }\r\n}\r\n/deep/ .el-card {\r\n  width: 100%;\r\n  border-radius: 12px;\r\n  background: rgba(255, 255, 255, 1);\r\n}\r\n.noselbox {\r\n  background: rgba(255, 255, 255, 0.4);\r\n  /deep/ .el-card__body {\r\n    \r\n  }\r\n}\r\n.line {\r\n  position: absolute;\r\n  width: 1px;\r\n  background: #e6e6e6;\r\n  height: 79%;\r\n  left: 24px;\r\n  top: 44px;\r\n}\r\n\r\n.foldFont {\r\n  animation: foldFontAni 0.5s ease-in-out;\r\n  transform-origin: center;\r\n  transform-style: preserve-3d;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes foldFontAni {\r\n  0% {\r\n    font-size: 14px;\r\n  }\r\n  90% {\r\n    font-size: 14px;\r\n  }\r\n  100% {\r\n    font-size: 16px;\r\n  }\r\n}\r\n\r\n.foldFont1 {\r\n  animation: foldFont1Ani 0.5s ease-in-out;\r\n  transform-origin: center;\r\n  transform-style: preserve-3d;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes foldFont1Ani {\r\n  0% {\r\n    font-size: 16px;\r\n  }\r\n  50% {\r\n    font-size: 14px;\r\n  }\r\n  100% {\r\n    font-size: 14px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/WhiteFolding.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"folding\"},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-card',{staticClass:\"box-card box1\",class:[_vm.whiteActiveIndex===0 || _vm.whiteActiveIndex===1 ? '': 'noselbox'],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"folding1 li\",class:[\n        _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n          ? 'foldFont'\n          : 'foldFont1'\n      ]},[_vm._v(\"\\n       \"+_vm._s(_vm.app_type == 2 ? '听闻正法' : '智慧文化')+\"\\n    \")]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"folding1 folding11 li\",class:[\n          _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n            ? 'foldFont'\n            : 'foldFont1'\n        ]},[_vm._v(\"\\n        如理思维\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"folding1 folding11 li\",class:[\n          _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n            ? 'foldFont'\n            : 'foldFont1'\n        ]},[_vm._v(\"\\n        观念禅修\\n      \")])])]),_vm._v(\" \"),_c('el-card',{staticClass:\"box-card box2\",class:[_vm.whiteActiveIndex===2 ? '': 'noselbox'],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"folding2 li\",class:[\n        _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n          ? 'foldFont'\n          : 'foldFont1'\n      ]},[_c('span',[_vm._v(\"心态禅修\")])])]),_vm._v(\" \"),_c('el-card',{staticClass:\"box-card box3\",class:[_vm.whiteActiveIndex===3 ? '': 'noselbox'],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"folding3 li\",class:[\n        _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n          ? 'foldFont'\n          : 'foldFont1'\n      ]},[_c('span',[_vm._v(\"品质禅修\")])])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1d6628e1\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/WhiteFolding.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1d6628e1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./WhiteFolding.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./WhiteFolding.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./WhiteFolding.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1d6628e1\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./WhiteFolding.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1d6628e1\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/WhiteFolding.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"folding\">\r\n    <div class=\"line\"></div>\r\n    <el-card class=\"box-card box1\"\r\n      :class=\"[whiteActiveIndex===0 || whiteActiveIndex===1 ? '': 'noselbox']\"\r\n      shadow=\"never\">\r\n      <div class=\"folding1 li\"\r\n        :class=\"[\r\n          centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n            ? 'foldFont'\r\n            : 'foldFont1'\r\n        ]\">\r\n        世间文化\r\n      </div>\r\n      <div>\r\n        <div class=\"folding1 li\"\r\n          :class=\"[\r\n            centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n              ? 'foldFont'\r\n              : 'foldFont1'\r\n          ]\">\r\n          非理思维\r\n        </div>\r\n        <div class=\"folding1 li\"\r\n          :class=\"[\r\n            centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n              ? 'foldFont'\r\n              : 'foldFont1'\r\n          ]\"\r\n          style=\"margin-top: 10%\">\r\n          形成观念\r\n        </div>\r\n      </div>\r\n    </el-card>\r\n    <el-card class=\"box-card box2\"\r\n      :class=\"[whiteActiveIndex===2 ? '': 'noselbox']\"\r\n      shadow=\"never\">\r\n      <div class=\"folding2 li\"\r\n        :class=\"[\r\n          centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n            ? 'foldFont'\r\n            : 'foldFont1'\r\n        ]\">\r\n        <span>贪等行为</span>\r\n        <span>轮回串习</span>\r\n      </div>\r\n    </el-card>\r\n    <el-card class=\"box-card box3\"\r\n      :class=\"[whiteActiveIndex===3 ? '': 'noselbox']\"\r\n      shadow=\"never\">\r\n      <div class=\"folding3 li\"\r\n        :class=\"[\r\n          centerStauts === 'centerStauts4' || centerStauts === 'centerStauts2'\r\n            ? 'foldFont'\r\n            : 'foldFont1'\r\n        ]\">\r\n        <span>凡夫性格</span>\r\n        <span>凡夫人格</span>\r\n      </div>\r\n    </el-card>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  props: {\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  },\r\n  components: {},\r\n  data() {\r\n    return {};\r\n  },\r\n  computed: {\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n  },\r\n  watch: {},\r\n  methods: {},\r\n  created() {},\r\n  mounted() {},\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.folding {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  position: relative;\r\n  // height: 100%;\r\n  position: absolute;\r\n  top: 136px;\r\n  left: 12%;\r\n  z-index: 99;\r\n  height: 549px;\r\n  min-height: 522px;\r\n  width: 30%;\r\n  .li {\r\n    padding-right: 25px;\r\n    position: relative;\r\n    font-size: 20px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #D4D9DB;\r\n    line-height: 21px;\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    flex-direction: column;\r\n    text-align: right;\r\n    min-width: 90px;\r\n  }\r\n  .folding1 {\r\n    margin-top: 14px;\r\n    &::before {\r\n      content: \"\";\r\n      display: block;\r\n      position: absolute;\r\n      top: 8px;\r\n      right: 0;\r\n      width: 7px;\r\n      height: 7px;\r\n      -webkit-border-radius: 50%;\r\n      -moz-border-radius: 50%;\r\n      border-radius: 50%;\r\n      background: #7e878c;\r\n    }\r\n  }\r\n  .folding2 {\r\n    display: flex;\r\n    span {\r\n      &:first-of-type {\r\n        padding-bottom: 20px;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 8px;\r\n          right: 0;\r\n          width: 7px;\r\n          height: 7px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #4e575b;\r\n        }\r\n      }\r\n      &:last-of-type {\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 49px;\r\n          right: 0;\r\n          width: 7px;\r\n          height: 7px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #4e575b;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  .folding3 {\r\n    display: flex;\r\n    span {\r\n      &:first-of-type {\r\n        padding-bottom: 20px;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 8px;\r\n          right: 0;\r\n          width: 7px;\r\n          height: 7px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #1b1e20;\r\n        }\r\n      }\r\n      &:last-of-type {\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 49px;\r\n          right: 0;\r\n          width: 7px;\r\n          height: 7px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #000306;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n.box1 {\r\n  height: 41%;\r\n  min-height: 214px;\r\n  background: #121418;\r\n  /deep/ .el-card__body {\r\n    padding: 20px;\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: space-between;\r\n  }\r\n}\r\n.box2 {\r\n  background: #121418;\r\n  height: 27%;\r\n  min-height: 141px;\r\n  /deep/ .el-card__body {\r\n    padding: 0 20px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: flex-end;\r\n    height: 100%;\r\n  }\r\n}\r\n.box3 {\r\n  height: 27%;\r\n  min-height: 141px;\r\n  background: #121418;\r\n  /deep/ .el-card__body {\r\n    padding: 0 20px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: flex-end;\r\n    height: 100%;\r\n  }\r\n}\r\n.noselbox {\r\n  background: #181f21;\r\n}\r\n/deep/ .el-card {\r\n  width: 100%;\r\n  border: 1px solid #181f21;\r\n  border-radius: 12px;\r\n  &:first-of-type {\r\n    background: #121418;\r\n  }\r\n}\r\n.line {\r\n  position: absolute;\r\n  width: 1px;\r\n  background: #4d5658;\r\n  height: 82%;\r\n  right: 24px;\r\n  top: 44px;\r\n}\r\n\r\n.foldFont {\r\n  animation: foldFontAni 0.5s ease-in-out;\r\n  transform-origin: center;\r\n  transform-style: preserve-3d;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes foldFontAni {\r\n  0% {\r\n    font-size: 14px;\r\n  }\r\n  90% {\r\n    font-size: 14px;\r\n  }\r\n  100% {\r\n    font-size: 16px;\r\n  }\r\n}\r\n.foldFont1 {\r\n  animation: foldFont1Ani 0.5s ease-in-out;\r\n  transform-origin: center;\r\n  transform-style: preserve-3d;\r\n  animation-fill-mode: forwards;\r\n}\r\n@keyframes foldFont1Ani {\r\n  0% {\r\n    font-size: 16px;\r\n  }\r\n  50% {\r\n    font-size: 14px;\r\n  }\r\n  100% {\r\n    font-size: 14px;\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/BlackFolding.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"folding\"},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-card',{staticClass:\"box-card box1\",class:[_vm.whiteActiveIndex===0 || _vm.whiteActiveIndex===1 ? '': 'noselbox'],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"folding1 li\",class:[\n        _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n          ? 'foldFont'\n          : 'foldFont1'\n      ]},[_vm._v(\"\\n      世间文化\\n    \")]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"folding1 li\",class:[\n          _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n            ? 'foldFont'\n            : 'foldFont1'\n        ]},[_vm._v(\"\\n        非理思维\\n      \")]),_vm._v(\" \"),_c('div',{staticClass:\"folding1 li\",class:[\n          _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n            ? 'foldFont'\n            : 'foldFont1'\n        ],staticStyle:{\"margin-top\":\"10%\"}},[_vm._v(\"\\n        形成观念\\n      \")])])]),_vm._v(\" \"),_c('el-card',{staticClass:\"box-card box2\",class:[_vm.whiteActiveIndex===2 ? '': 'noselbox'],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"folding2 li\",class:[\n        _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n          ? 'foldFont'\n          : 'foldFont1'\n      ]},[_c('span',[_vm._v(\"贪等行为\")]),_vm._v(\" \"),_c('span',[_vm._v(\"轮回串习\")])])]),_vm._v(\" \"),_c('el-card',{staticClass:\"box-card box3\",class:[_vm.whiteActiveIndex===3 ? '': 'noselbox'],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"folding3 li\",class:[\n        _vm.centerStauts === 'centerStauts4' || _vm.centerStauts === 'centerStauts2'\n          ? 'foldFont'\n          : 'foldFont1'\n      ]},[_c('span',[_vm._v(\"凡夫性格\")]),_vm._v(\" \"),_c('span',[_vm._v(\"凡夫人格\")])])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6b845e1d\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/BlackFolding.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6b845e1d\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./BlackFolding.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BlackFolding.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BlackFolding.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6b845e1d\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./BlackFolding.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6b845e1d\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/BlackFolding.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"header\">\r\n    <div class=\"left\"></div>\r\n    <div class=\"right\"\r\n      :class=\"[\r\n        centerStauts === 'centerStauts2'\r\n          ? 'headerAni1'\r\n          : centerStauts === 'centerStauts4'\r\n          ? 'headerAni2'\r\n          : ''\r\n      ]\"\r\n      :style=\"{\r\n        color: bgColor\r\n      }\">\r\n      <i class=\"icon iconfont bs-log\"></i>\r\n      <i class=\"line\"></i>\r\n      <i class=\"icon iconfont bs-center\"></i>\r\n      <i class=\"icon iconfont bs-setting\"\r\n        style=\"padding-right: 42px;\"></i>\r\n      <!-- <i class=\"icon iconfont bs-notice\"></i> -->\r\n      <img src=\"@/assets/img/tag.svg\" />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  components: {},\r\n  props: {\r\n    theme: {\r\n      type: String,\r\n      default: \"white\",\r\n    },\r\n    centerStauts: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      active: 1,\r\n      dialogVisible: false,\r\n      // iIndexicon: this.iIndex_icon,\r\n      name: \"\",\r\n      // 对话框关闭icon\r\n      showClo: false,\r\n      bgColor: \"#71afbb\",\r\n    };\r\n  },\r\n  computed: {\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n  },\r\n  watch: {\r\n    course: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"course:\", this.course);\r\n        if (v && v.length) {\r\n          const course = JSON.parse(v);\r\n          const cou = course[0];\r\n          this.name = cou.jdname + \" | \" + cou.dyname;\r\n        } else {\r\n          this.name = \"\";\r\n        }\r\n      },\r\n    },\r\n    whiteActiveIndex: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        if (this.whiteActiveIndex === 0) {\r\n          this.bgColor = \"#71afbb\";\r\n        } else if (this.whiteActiveIndex === 1) {\r\n          this.bgColor = \"#64AFD5\";\r\n        } else if (this.whiteActiveIndex === 2) {\r\n          this.bgColor = \"#FFB096\";\r\n        } else if (this.whiteActiveIndex === 3) {\r\n          this.bgColor = \"#2C51AF\";\r\n        }\r\n      },\r\n    },\r\n  },\r\n  methods: {\r\n    handleClose() {\r\n      this.dialogVisible = false;\r\n    },\r\n    // 将选择的课程渲染到Header中\r\n    closeDialog() {\r\n      this.dialogVisible = false;\r\n      // this.name = \"同修班 | 下士道\";\r\n    },\r\n  },\r\n  created() {},\r\n  mounted() {\r\n    console.log(\"this.course:\", this.course);\r\n    if (this.course && this.course.length) {\r\n      const course = JSON.parse(this.course);\r\n      const cou = course[0];\r\n      this.name = cou.jdname + \" | \" + cou.dyname;\r\n    } else {\r\n      this.name = \"\";\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n* {\r\n  list-style: none;\r\n}\r\n.headerAni1 {\r\n  -webkit-animation: headerAni11 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: headerAni11 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes headerAni11 {\r\n  0% {\r\n    padding-right: 14px;\r\n  }\r\n  100% {\r\n    padding-right: 38px;\r\n  }\r\n}\r\n@keyframes headerAni11 {\r\n  0% {\r\n    padding-right: 14px;\r\n  }\r\n  100% {\r\n    padding-right: 38px;\r\n  }\r\n}\r\n.headerAni2 {\r\n  -webkit-animation: headerAni22 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: headerAni22 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes headerAni22 {\r\n  0% {\r\n    padding-right: calc(38px + 80px);\r\n  }\r\n  100% {\r\n    padding-right: 38px;\r\n  }\r\n}\r\n@keyframes headerAni22 {\r\n  0% {\r\n    padding-right: calc(38px + 80px);\r\n  }\r\n  100% {\r\n    padding-right: 38px;\r\n  }\r\n}\r\n.header {\r\n  position: fixed;\r\n  top: 0;\r\n  width: 100%;\r\n  height: 54px;\r\n  z-index: 99;\r\n  background: transparent;\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  // box-shadow: 0 5px 5px #f1f1f1;\r\n  .left {\r\n    width: 50%;\r\n    display: flex;\r\n    align-items: center;\r\n    .babu {\r\n      color: @culture;\r\n      height: 46px;\r\n      writing-mode: vertical-lr;\r\n      font: normal normal normal 20px/1 \"SourceHanSansCN-Medium\";\r\n    }\r\n    .babu1 {\r\n      color: @culture;\r\n      width: 41px;\r\n      height: 46px;\r\n      margin-left: 2px;\r\n      writing-mode: vertical-lr;\r\n      border-right: 2px solid #71afbb;\r\n    }\r\n\r\n    .theme {\r\n      font-size: 16px;\r\n      font-weight: bold;\r\n    }\r\n\r\n    .tx {\r\n      display: flex;\r\n      align-items: center;\r\n      padding: 0 19px;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .tx i {\r\n      margin-right: 5px;\r\n      cursor: pointer;\r\n      color: #71afbb;\r\n      font-weight: 700;\r\n    }\r\n\r\n    .tx p {\r\n      color: #7e878c;\r\n    }\r\n  }\r\n\r\n  .right {\r\n    display: flex;\r\n    align-items: center;\r\n    width: 50%;\r\n    justify-content: flex-end;\r\n    font-size: 40px;\r\n    padding-right: 33px;\r\n    position: relative;\r\n    i {\r\n      padding: 0 17px;\r\n      font-size: 38px;\r\n    }\r\n    .line {\r\n      width: 1px;\r\n      height: 24px;\r\n      padding: 0;\r\n      background-color: #d4d9db;\r\n    }\r\n    img {\r\n      width: 51px;\r\n      height: 51px;\r\n    }\r\n  }\r\n}\r\n/deep/ .el-input {\r\n  padding-left: 30px;\r\n  width: 100%;\r\n  box-sizing: border-box;\r\n}\r\n/deep/ .el-input__inner {\r\n  border: 0px solid #dcdfe6;\r\n  padding: 0;\r\n  background-color: #eaedef;\r\n}\r\n/deep/ .el-input__suffix {\r\n  right: 173px;\r\n}\r\n// dialog对话框\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/index/Header.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"left\"}),_vm._v(\" \"),_c('div',{staticClass:\"right\",class:[\n      _vm.centerStauts === 'centerStauts2'\n        ? 'headerAni1'\n        : _vm.centerStauts === 'centerStauts4'\n        ? 'headerAni2'\n        : ''\n    ],style:({\n      color: _vm.bgColor\n    })},[_c('i',{staticClass:\"icon iconfont bs-log\"}),_vm._v(\" \"),_c('i',{staticClass:\"line\"}),_vm._v(\" \"),_c('i',{staticClass:\"icon iconfont bs-center\"}),_vm._v(\" \"),_c('i',{staticClass:\"icon iconfont bs-setting\",staticStyle:{\"padding-right\":\"42px\"}}),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/img/tag.svg\")}})])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e0648650\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/index/Header.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e0648650\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Header.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Header.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Header.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e0648650\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Header.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-e0648650\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/index/Header.vue\n// module id = null\n// module chunks = ","import introJs from 'intro.js'\r\nimport 'intro.js/introjs.css'\r\nimport {EventBus} from \"@/utils/eventBus\";\r\nimport {getUserGuideStatus, setUserGuideStatus} from \"@/api/index\";\r\n\r\n\r\nlet state = 0 // skip: 0 ,done: 1；\r\nlet context = this\r\n\r\n//首页引导模块\r\nexport function index_guide_1(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let new_cultrueContent_step2;\r\n  let cultrueContent_step2;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    tooltipPosition: 'top-middle',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'index_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      // alert(count)\r\n      if (count === 0) {\r\n\r\n      } else if (count === 1) {\r\n        // 触发鼠标侧面悬停效果\r\n        that.guideUpdateXY();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 2) {\r\n        // 等待动画加载完毕\r\n        that.tsClick();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 3) {\r\n        // 触发回到白牌\r\n        that.goWhite();\r\n        await new Promise(resolve => setTimeout(resolve, 650));\r\n      } else if (count === 10) {\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '-0.18518518rem';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '1px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 2) {\r\n      // debugger\r\n      document.querySelectorAll('#index_step3')[0].style.visibility = 'hidden';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '3rem';\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.visibility = 'visible';\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].classList.add('show-pseudo-class');\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '1px';\r\n    } else if (count === 3) {\r\n      document.querySelectorAll('#index_step3')[0].style.visibility = 'visible';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = null;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].classList.remove('show-pseudo-class');\r\n    } else if (count === 4) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${50 / 108}rem`\r\n    } else if (count === 5) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      // document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '-10px';\r\n    } else if (count === 6) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      let helperLayer = document.getElementsByClassName('introjs-helperLayer')[0];\r\n      let width = parseFloat(helperLayer.style.width) - 18;\r\n      let height = parseFloat(helperLayer.style.height) - 18;\r\n      let top = parseFloat(helperLayer.style.top) + 9;\r\n      let left = parseFloat(helperLayer.style.left) + 9;\r\n      helperLayer.style.width = `${width}px`;\r\n      helperLayer.style.height = `${height}px`;\r\n      helperLayer.style.top = `${top}px`;\r\n      helperLayer.style.left = `${left}px`;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = `${8/108}rem`\r\n    } else if (count === 7) {\r\n      let index_step9 = document.querySelectorAll('#index_step9')[0];\r\n      const rect1 = index_step9.getBoundingClientRect();\r\n      let helperLayer = document.getElementsByClassName('introjs-helperLayer')[0];\r\n      let top = `${rect1.top + window.scrollY}px`;\r\n      let left = `${rect1.left + window.scrollX}px`;\r\n      let width = `${rect1.width}`;\r\n      let height = `${rect1.height}`;\r\n      let value = height - width;\r\n      helperLayer.style.width = `${width}px`;\r\n      helperLayer.style.height = `${width}px`;\r\n      helperLayer.style.top = `${top + value}px`;\r\n      helperLayer.style.left = `${left}px`;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '0px'\r\n    } else if (count === 8) {\r\n      let index_step10 = document.querySelectorAll('#index_step10')[0];\r\n      const rect1 = index_step10.getBoundingClientRect();\r\n      let helperLayer = document.getElementsByClassName('introjs-helperLayer')[0];\r\n      let top = `${rect1.top + window.scrollY}px`;\r\n      let left = `${rect1.left + window.scrollX}px`;\r\n      let width = `${rect1.width}`;\r\n      let height = `${rect1.height}`;\r\n      let value = height - width;\r\n      helperLayer.style.width = `${width}px`;\r\n      helperLayer.style.height = `${width}px`;\r\n      helperLayer.style.top = `${top + value}px`;\r\n      helperLayer.style.left = `${left}px`;\r\n    } else if (count === 9) {\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = `-${8/108}rem`\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 10) {\r\n      let text = \"点击查看 “观念禅修” 具体内涵\";\r\n      let width = text.length * 15;\r\n      document.getElementsByClassName('index_customTooltip')[0].style.minWidth = `${(width + 10)/108}rem`;\r\n      document.getElementsByClassName('introjs-tooltipReferenceLayer')[0].style.marginTop = '0px'\r\n    }  else if (count === 11) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].style.fontFamily = 'SourceHanSansCN-Medium';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"disableReadOnlyMode\");\r\n    EventBus.$emit(\"setCultureGuideMode\", 1);\r\n    EventBus.$emit(\"RESIZE\");\r\n    userGuideStatus('index');\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n//黑牌引导模块\r\nexport function layoutBlack_guide(that, index, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'layoutBlack_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // 触发回到白牌\r\n        await new Promise(resolve => setTimeout(resolve, 300));\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n    } else if (count === 2) {\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    // 点击完成以及跳过按钮后执行的事件，不区分完成和跳过。\r\n    userGuideStatus('blackIndex');\r\n    // if (index === 1) {\r\n    //   userGuideStatus('black1')\r\n    // } else if (index === 2) {\r\n    //   userGuideStatus('black2')\r\n    // } else if (index === 3) {\r\n    //   userGuideStatus('black3')\r\n    // } else if (index === 4) {\r\n    //   userGuideStatus('black4')\r\n    // }\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n//笔记目录引导模块\r\nexport function courseClassName_guide_1(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'courseClassName_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      const targetElement2 = document.getElementsByClassName('guideSubCourseUser')[0];\r\n      const rect2 = targetElement2.getBoundingClientRect();\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `${rect2.width}px`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '1px';\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    // 引导完成，请求真实数据\r\n    that.setCourseClassNameGuideMode(1);\r\n    if (that.$route.name !== 'CourseSelect') {\r\n      userGuideStatus('courseClassName');\r\n    }\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function courseClassName_guide_2(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let step_targetElement1;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'courseClassName_customHighlight_2',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 0) {\r\n\r\n      }\r\n      if (count === 2) {\r\n        const tab1 = document.getElementsByClassName('is-active')[0];\r\n        const classes = Array.from(tab1.classList);\r\n        const classNameToRemove = 'is-active';\r\n        if (classes.includes(classNameToRemove)) {\r\n          tab1.classList.remove(classNameToRemove);\r\n        }\r\n        that.setGuideStep(3);\r\n        document.querySelector('#tab--1-guide').classList.add('is-active');\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-bottom-left-aligned')[0].style.marginLeft = '-30%';\r\n      step_targetElement1 = document.querySelector('#step1_2');\r\n      step_targetElement1.style.color = '#65afd5';\r\n      const targetElement2 = document.getElementsByClassName('guideSubCourseUser')[0];\r\n      const rect2 = targetElement2.getBoundingClientRect();\r\n      const pixelWidth = `${rect2.width + 10}px`;\r\n      const relativeWidth = `${111 / 108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `calc(${pixelWidth} + ${relativeWidth})`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.left = `calc(${rect2.left + window.scrollX - 10}px - ${50 / 108}rem)`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '1px';\r\n    }\r\n    if (count === 2) {\r\n      step_targetElement1.style.color = '';\r\n      let targetElement3 = null;\r\n      const isLeft = document.getElementsByClassName('is-left');\r\n      for (let i = 0; i < isLeft.length; i++) {\r\n        const rect = isLeft[i].getBoundingClientRect();\r\n        if (rect.width > 0) {\r\n          targetElement3 = isLeft[i];\r\n          break;\r\n        }\r\n      }\r\n      let targetElement2 = null;\r\n      const dialogBodies = document.getElementsByClassName('el-dialog__body');\r\n      for (let i = 0; i < dialogBodies.length; i++) {\r\n        const rect = dialogBodies[i].getBoundingClientRect();\r\n        if (rect.left > 0) {\r\n          targetElement2 = dialogBodies[i];\r\n          break;\r\n        }\r\n      }\r\n      const rect3 = targetElement3.getBoundingClientRect();\r\n      const rect2 = targetElement2.getBoundingClientRect();\r\n      const pixelWidth = `${rect3.width}px`;\r\n      const relativeWidth = `${61 / 108}rem`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `calc(${pixelWidth} + ${relativeWidth})`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.left = `${rect2.left + +window.scrollX}px`;\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${20 / 108}rem`\r\n    } else if (count === 4) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0rem`\r\n      // document.getElementsByClassName('introjs-helperLayer')[0].style.transition = 'box-shadow 0.5s ease; /* 过渡时间为0.5秒，使用ease缓动函数 */';\r\n      // document.getElementsByClassName('introjs-helperLayer')[0].style.boxShadow = 'rgba(0, 0, 0, 0) 0 0 0 0, rgba(255, 255, 255, 1) 0 0 20px, rgba(33, 33, 33, 0.5) 0 0 0 5000px';\r\n      let targetElement1 = null;\r\n      const tabElements = document.querySelectorAll('#tab--1-guide');\r\n      for (let el of tabElements) {\r\n        if (el.getBoundingClientRect().width > 0 && el.getBoundingClientRect().height > 0) {\r\n          targetElement1 = el;\r\n          break;\r\n        }\r\n      }\r\n      let targetElement2 = null;\r\n      const dialogBodyElements = document.getElementsByClassName('el-dialog__body');\r\n      for (let el of dialogBodyElements) {\r\n        if (el.getBoundingClientRect().width > 0 && el.getBoundingClientRect().height > 0) {\r\n          targetElement2 = el;\r\n          break;\r\n        }\r\n      }\r\n      let targetElement3 = null;\r\n      const leftElements = document.getElementsByClassName('is-left');\r\n      for (let el of leftElements) {\r\n        if (el.getBoundingClientRect().width > 0 && el.getBoundingClientRect().height > 0) {\r\n          targetElement3 = el;\r\n          break;\r\n        }\r\n      }\r\n      if (targetElement1 && targetElement2 && targetElement3) {\r\n        this.dynamicDiv = document.createElement('div');\r\n        this.dynamicDiv.style.zIndex = '9999998';\r\n        this.dynamicDiv.style.position = 'absolute';\r\n        this.dynamicDiv.style.borderRadius = '1px';\r\n        const rect1 = targetElement1.getBoundingClientRect();\r\n        const rect2 = targetElement2.getBoundingClientRect();\r\n        const rect3 = targetElement3.getBoundingClientRect();\r\n        this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n        this.dynamicDiv.style.left = `${rect2.left + +window.scrollX}px`;\r\n        const pixelWidth = `${rect3.width}px`;\r\n        const relativeWidth = `${61 / 108}rem`;\r\n        this.dynamicDiv.style.width = `calc(${pixelWidth} + ${relativeWidth})`;\r\n        this.dynamicDiv.style.height = `${rect1.height}px`;\r\n        this.dynamicDiv.style.backgroundColor = '#fff';\r\n\r\n        const contentDiv = document.createElement('div');\r\n        contentDiv.style.fontSize = (16 / 108) + 'rem';\r\n        contentDiv.style.color = '#65afd5';\r\n        contentDiv.style.borderBottom = '1px solid #65afd5';\r\n        contentDiv.style.fontFamily = 'PingFangSC-Regular, PingFang SC';\r\n        contentDiv.textContent = '其他阅读笔记';\r\n        contentDiv.style.display = 'flex';\r\n        contentDiv.style.justifyContent = 'center';\r\n        contentDiv.style.alignItems = 'center';\r\n        contentDiv.style.height = '100%';\r\n        this.dynamicDiv.appendChild(contentDiv);\r\n        document.body.appendChild(this.dynamicDiv);\r\n        dynamicDiv = this.dynamicDiv;\r\n      }\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"getCourseList\")\r\n    that.setCourseClassNameGuideMode(1);\r\n    that.setGuideStep(1);\r\n    // 销毁dynamicDiv\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    // todo 修改为只在未激活页面只引导一次\r\n    // if (that.$route.name !== 'CourseSelect') {\r\n    //   userGuideStatus('courseClassName');\r\n    // }\r\n    userGuideStatus('courseClassName');\r\n    // setTimeout(() => {\r\n    //\r\n    // },1000);\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function mindMap_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let tabElement1;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'mindMap_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        EventBus.$emit(\"dropShow\");\r\n        await new Promise(resolve => setTimeout(resolve, 350));\r\n      } else if (count === 2) {\r\n        EventBus.$emit(\"setButton\");\r\n        EventBus.$emit(\"dropHide\");\r\n      } else if (count === 3) {\r\n        EventBus.$emit(\"setShow\", true);\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n    } else if (count === 2) {\r\n      const tabElement1 = document.querySelectorAll('.el-dropdown')[2];\r\n      const rect1 = tabElement1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.classList.add(\"el-dropdown\")\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + +window.scrollX}px`;\r\n      this.dynamicDiv.style.backgroundColor = 'rgba(0, 0, 0, 0)';\r\n      const contentDiv = document.createElement('button');\r\n      contentDiv.classList.add(\"bg-transparent\")\r\n      contentDiv.innerHTML = '<span>大纲模式<i class=\"el-icon-arrow-down el-icon--right\"></i></span>';\r\n      contentDiv.style.fontSize = (16 / 108) + 'rem';\r\n      contentDiv.style.color = '#71afbb';\r\n      contentDiv.style.fontFamily = 'PingFangSC-Regular, PingFang SC';\r\n      contentDiv.style.padding = `${1 / 108}rem ${8 / 108}rem`\r\n      contentDiv.style.borderRadius = `${28 / 108}rem`;\r\n      contentDiv.style.fontWeight = '400';\r\n      contentDiv.style.lineHeight = `${24 / 108}rem`;\r\n      contentDiv.style.textAlign = 'left';\r\n      contentDiv.style.fontSize = 'normal';\r\n      contentDiv.style.border = '1px solid #71afbb';\r\n      this.dynamicDiv.appendChild(contentDiv);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      const tabElement3 = document.querySelectorAll('#guide-my-mind')[0];\r\n      tabElement3.style.visibility = 'hidden';\r\n    } else if (count === 3) {\r\n      const tabElement3 = document.querySelectorAll('#guide-my-mind')[0];\r\n      tabElement3.style.visibility = 'visible';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${12 / 108}rem`;\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n    } else if (count === 4) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${10 / 108}rem`;\r\n      tabElement1 = document.querySelectorAll('#mindMap_step4')[0];\r\n      const rect1 = tabElement1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.classList.add(\"guide-operates-wrapper-operates\")\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      const innerHTML = `<div data-v-9444acd8=\"\" class=\"operate del\">\r\n                                  删除(ctrl+d)\r\n                                </div>\r\n                                <div data-v-9444acd8=\"\" class=\"operate addsubtheme\">\r\n                                  添加子主题(tab)\r\n                                </div>\r\n                                <div data-v-9444acd8=\"\" class=\"operate\">\r\n                                  添加同级主题(Enter)\r\n                                </div>\r\n                                <div data-v-9444acd8=\"\" class=\"operate\">\r\n                                  减少缩进\r\n                                </div>`;\r\n      const divsContainer = document.createElement('div');\r\n      divsContainer.innerHTML = innerHTML;\r\n      while (divsContainer.firstChild) {\r\n        this.dynamicDiv.appendChild(divsContainer.firstChild);\r\n      }\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      tabElement1.style.visibility = 'hidden';\r\n    } else if (count === 5) {\r\n      tabElement1.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      const tabElement1_1 = document.querySelectorAll('#mind_step4')[0];\r\n      const rect1 = tabElement1_1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.backgroundColor = 'rgba(0, 0, 0, 0)';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n\r\n      const saveButton = document.createElement('button');\r\n      saveButton.className = 'el-button bg-transparent el-button--default';\r\n      saveButton.style = `  padding: 0.02777778rem 0.14814815rem 0.01851852rem;\r\n      font-size: 0.12962963rem;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      border-color: #74b0bc;\r\n      border-radius: 0.25925926rem;\r\n      line-height: 0.19444444rem;`;\r\n      saveButton.innerHTML = '<span>保存</span>';\r\n      const deleteButton = document.createElement('button');\r\n      deleteButton.className = 'el-button bg-transparent el-button--default';\r\n      deleteButton.style = `  padding: 0.02777778rem 0.14814815rem 0.01851852rem;\r\n      font-size: 0.12962963rem;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      color: #74b0bc;\r\n      border-color: #74b0bc;\r\n      border-radius: 0.25925926rem;\r\n      line-height: 0.19444444rem;`;\r\n      deleteButton.innerHTML = '<span>删除</span>';\r\n      this.dynamicDiv.appendChild(saveButton);\r\n      this.dynamicDiv.appendChild(deleteButton);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      const tabElement2 = document.querySelectorAll('.guide_mind_step4');\r\n      tabElement2.forEach(element => {\r\n        element.style.visibility = 'hidden';\r\n      });\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${28 / 108}rem`;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"setCultureGuideMode\", 1);\r\n    EventBus.$emit(\"setShow\", false);\r\n    that.setMindMapGuideMode(1);\r\n    // 销毁dynamicDiv\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    userGuideStatus('mindMap');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n\r\n//问题意识\r\nexport function problemConsciousness_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'problemConsciousness_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0.09259259rem`;\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `0.10185185rem`;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"setThinkingGuideMode\", 1);\r\n    that.setProblemConsciousnessGuideMode(1)\r\n    userGuideStatus('problemConsciousness')\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function commitProblem_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"right\", \"bottom\", \"top\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'commitProblem_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      that.setGuideButton(0);\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    that.setCommitProblemGuideStatus(1)\r\n    that.setGuideButton(1);\r\n    userGuideStatus('commitProblem');\r\n    that.init();\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function question_guide_1(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'question_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.14814815rem';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"setThinkingGuideMode\", 1);\r\n    that.setQuestionListGuideMode(1)\r\n    userGuideStatus('problemWorkOut');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function question_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'question_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopLeftRadius = '0.14814815rem'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopRightRadius = '0.14814815rem'\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    that.setQuestionListGuideMode(1)\r\n    userGuideStatus('problemWorkOut');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function tipsView_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let tipsView_step1;\r\n  let tipsView_step2;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'tipsView_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    }else if(count === 2){\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      tipsView_step1 = document.querySelectorAll('#tipsView_step1')[0];\r\n      const rect1 = tipsView_step1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.width = '1.64814815rem';\r\n      this.dynamicDiv.style.height = '0.46296296rem';\r\n      this.dynamicDiv.style.borderRadius = '0.23148148rem';\r\n      this.dynamicDiv.style.border = '0.00925926rem solid #64afd5';\r\n      this.dynamicDiv.style.color = '#64afd5';\r\n      this.dynamicDiv.style.textAlign = 'center';\r\n      this.dynamicDiv.style.lineHeight = '0.49074074rem';\r\n      this.dynamicDiv.style.fontSize = '0.14814815rem';\r\n      this.dynamicDiv.style.fontFamily = 'SourceHanSansCN-Medium, SourceHanSansCN';\r\n      this.dynamicDiv.style.fontWeight = '400';\r\n      this.dynamicDiv.style.cursor = 'pointer';\r\n      this.dynamicDiv.innerHTML = '添加观修文';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      tipsView_step1.style.visibility = 'hidden';\r\n    } else if (count === 3) {\r\n      tipsView_step1.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      tipsView_step2 = document.querySelectorAll('#tipsView_step2')[0];\r\n      const spanElement = document.createElement('span');\r\n      spanElement.innerHTML = ` 进入止静\r\n                                <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAA9tJREFUaEPt2V1oHFUUB/Bz7qabpDZNQMlDkz5UiXamvghFQR80qWs1sZmsYAp+VNTdTYkYDRSsILogWhBMUWNtJotVsH6XnQ2lNo1F8EF90AcfZgatVdQGUpRiaUzitpm/zGZ3s4jYJjP31pa9T/twmfP/3XNn54vpMhl8mTioCvm/dbLakWpHJK1A4K2VsuwBD3x3RIihEWP9YUk5z3vYQJDUxPFG/Dn3O0A1zHQOQmzLdGvvnbeqhAmBIH6epOV8BeAm/zcTeyz4EdPQ3paQ9T8PGRiyffyH5nMz+aNEuL5QiRkE3p6Ja6ZKTGCIH/axT90r/5rGBAE3lDCCecA0tGFVmFAgftgnsz81TdPMOBHdWAovSOww49rLKjChQfywjx86tno2nz9EoFvKGOZnzB79BdmYUCF+2B3jU1f8MXvqIAG3lcMLfj5j6M/KxIQO8cMOfvFr/ZmTZ3JEiJXCs+CXRg39KVkYKZDiNqudy589AKCrHJ7Fq5ke7QkZGGkQP2zaRnTymPs+gHi5M8x7TUPrZ/9vOsQhFVLAfIaaE6fddwjYutgZ2tdq6Ik0sxeWRTrED/ohEJnIufsAPFiBefcOQ9/WyzwfBkYJpNAZQJzIuSMEJBa3GX3Mrfp95kY+GxSjDOIHBcCpnDsMoL8CM9bSpt+b3sD5IBilkFLQpOUMARis2GaHWxtXxtPt6+aWi7koED9sMmu/CKKny50hPjIa1zdfchA/cMKy3yTQw4vhxcZMXPtmOZiL15Ex91aa9w6CaFUhONNUQ/Pqq3ffvHb2koH05ZyYB1gArSwiTrKgTaPdG+zlIBbWQfHos5zOeaIDBNQVAjBP1rDY9Iax/rsgUZRCUlmnxyN8QETRBQT9wtFoh9nZdjwIQmlHkmN2L3m0339RUQz9Y22UO17v0n8OilAG6cvZD8x7/BYRIgtF+ftITaRj75brJsNAKIEkss6jTGSCIIrnhL1iRf3te7rWTYWFkA5JWk4/iIYJKJyLTPRtXW009lpn229hIqRCUpYz6AFD5cDMXzfUNWzefefaU2EjpEFSlrvTg7drMTB/KVbV3mXGrjktAyEFksi5z5HnpSs68Xm08aquPe3N07IQoUMSlr2LQDsrEEdFpKnb3LJmRiYiVMg/b82Z+JOWpvp7gtyaLwUf+Mr+rw9LxLmWa7XeoA9LSiEJy32F4A2UijLTR9yq3x/G46sySOX3keK90/6YoT8U1gsFZRC/UCLrHGFGOxOPrDG0gTBf8SiF+MX8zsi8RlwIKPDJfiFFVMypQlSs8lJqVDuylNVSMbfaERWrvJQafwNYPktCGGfJbQAAAABJRU5ErkJggg==\">`\r\n      const rect1 = tipsView_step2.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.appendChild(spanElement);\r\n      this.dynamicDiv.classList.add('guide_meditate_silent');\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      tipsView_step2.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    tipsView_step2.style.visibility = 'visible';\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    EventBus.$emit(\"setThinkingGuideMode\", 1);\r\n    that.setTipsViewGuideMode(1)\r\n    that.setShowTipsViewDetail(true);\r\n    userGuideStatus('meditate_1');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function behavior_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let behavior_step1;\r\n  let behavior_step2;\r\n  let dynamicDiv;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'behavior_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${50 / 108}rem`;\r\n    }else if (count === 2) {\r\n      document.getElementsByClassName('guide_line')[0].style.transform = \"rotate(260deg)\";\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      behavior_step1 = document.querySelectorAll('#behavior_step1')[0];\r\n      const rect1 = behavior_step1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.width = '1.64814815rem';\r\n      this.dynamicDiv.style.height = '0.46296296rem';\r\n      this.dynamicDiv.style.borderRadius = '0.23148148rem';\r\n      this.dynamicDiv.style.border = '0.00925926rem solid #fd8b65';\r\n      this.dynamicDiv.style.color = '#fd8b65';\r\n      this.dynamicDiv.style.textAlign = 'center';\r\n      this.dynamicDiv.style.lineHeight = '0.49074074rem';\r\n      this.dynamicDiv.style.fontSize = '0.14814815rem';\r\n      this.dynamicDiv.style.fontFamily = 'SourceHanSansCN-Medium, SourceHanSansCN';\r\n      this.dynamicDiv.style.fontWeight = '400';\r\n      this.dynamicDiv.style.cursor = 'pointer';\r\n      this.dynamicDiv.innerHTML = '添加观修文';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      behavior_step1.style.visibility = 'hidden';\r\n    } else if (count === 4) {\r\n      behavior_step1.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      behavior_step2 = document.querySelectorAll('#behavior_step2')[0];\r\n      const spanElement = document.createElement('span');\r\n      spanElement.innerHTML = ` 进入止静\r\n                                <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAA5pJREFUaEPt2U9oFFccB/Dfd2ZNTNOooPSwBQXPXgSxBw/aaJDWUmqhW6itxdbMhgS3ZndCLYgulFbozm6ojX92DlWhWmsVahHrvyD0Ug968ODBQgWFiKIIirbxz75vmdnNZqGlmsy8Z5Wd0x6G+X0/7/dm3rxZyHNy4DlxSBPyf+tksyPNjmgagchTiwUnQ/ANWFYJ2fIxTTkfe9lIEJad6bwjNylMQPAIwGq45e8fW1XDCZEgQR7lOWdIvhL8hkAB8hFcf4+GrP95ycgQFnpeItQwyXkhBkIIeuD6vklMZEgQlkN9Mzn68CTJ+XUMkcGAP2QKEwskxAyun8HKveOkLBwLbwEuXL9oAhMbJMRsXTeN90ePUmRRHWNhI3L+F7oxsUJCTMFtJ24fIWXJeHh8bg/4m3RiYoeEmFJ/G9Xdw6R01cMDX9mu/6kujBZIbZq18sH9QyRX1MNb2Grn/E90YLRBQsyBfAsvj+ynyMrxzshOK+f3AmCcIK2QEHM6n1Dnrn4n5LsN02yXlUuuBfIqLox2SLUzB2x15dQuIT9oeADss+YsW41UqhIHxggkxDBvqeLVspBrx4IDchAdeA9p/2FUjDFIFUOoYs+QUPWOY/AzZiffQSr/IArGKGQsaMVzSkL21zGCY5iVXIk1+dHJYp4KJAhbKaa/FKU+a8CcsAb85c8cJMR4zrdCrhkLbyGxAO6Oc5PBPLWOsNS9mApHSL4YBIfgGuz2ucgO/vXMQOilu0j+ROELIQJyHVbLUmS3XZgMojoQhg8W069TqUMUmVpFYAQJeynW77gYJYpRCD3nLZI/UKSlNp2uoFU6kfH/iIIw2hEWelIUtTf4UFHrxCXIlE642y5HRRiDsJh+n1S7SbFr98TvsOxOZHeOxIEwAmEh/TGFPoVWDXEBbVOWoW/7tbgQ2iH0unspMkRWHyoAzqOltQuZb27EidAKoef0K7LUsHKfhd2+HNnBW3EjtEHoORsUuaUB8RumyWtI+7d1ILRAWHQ2K8V8HQH8irbECvRtv6sLETuk4jlbhNzQgBhGh7yJtP+nTkSskH+8mgO/YGby7Siv5hPBR17Z/3WzJHIYc15ORd0sGYVUis7XophpmE4/okNWxbF9NQZp/H8kLArZa83u+jCuDwrGIEEh5XWfEOJVQspWLpmJ8xOPUUhQLOiMzjXiSUCRb/YnKWLinCbExChPpEazIxMZLRPnNjtiYpQnUuNvrJpVQs41F9wAAAAASUVORK5CYII=\">`\r\n      const rect1 = behavior_step2.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.appendChild(spanElement);\r\n      this.dynamicDiv.classList.add('guide_meditate_silent_1');\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      behavior_step2.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    behavior_step2.style.visibility = 'visible';\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    EventBus.$emit(\"setBehaviorGuideMode\", 1);\r\n    that.setBehaviorGuideMode(1)\r\n    that.setShowTipsViewDetail(true);\r\n    userGuideStatus('meditate_2');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function conformTips_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'conformTips_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    disableInteraction: true,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      const targetElement1 = document.getElementsByClassName('main-content')[0];\r\n      const rect1 = targetElement1.getBoundingClientRect();\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = `${rect1.width}px`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.left = `${rect1.left + window.scrollX}px`;\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${0}px`;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    EventBus.$emit(\"setBehaviorGuideMode\", 1);\r\n    that.setConformTipsGuideMode(1)\r\n    userGuideStatus('confirmTips');\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n\r\nexport function silence_guide(that, meditate_type, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let silence_step1;\r\n  let silence_step2;\r\n  let dynamicDiv;\r\n  let dynamicDiv2;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'index_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '80px';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      silence_step1 = document.querySelectorAll('.el-input--suffix')[0];\r\n      const rect1 = silence_step1.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.style.width = `${153 / 108}rem`;\r\n      this.dynamicDiv.style.height = `${43 / 108}rem`;\r\n      this.dynamicDiv.style.borderRadius = `${29 / 108}rem`;\r\n      this.dynamicDiv.style.border = `${1 / 108}rem solid #fff`;\r\n      this.dynamicDiv.style.background = `transparent`;\r\n\r\n      this.dynamicDiv.style.display = 'flex';\r\n      this.dynamicDiv.style.justifyContent = 'center';\r\n      this.dynamicDiv.style.alignItems = 'center';\r\n\r\n      const spanElement = document.createElement('span');\r\n      spanElement.style.fontSize = `${16 / 108}rem`;\r\n      spanElement.style.fontFamily = 'SourceHanSansCN, SourceHanSansCN';\r\n      spanElement.style.fontWeight = '300';\r\n      spanElement.style.color = '#fff';\r\n      spanElement.style.letterSpacing = '0.01rem';\r\n      spanElement.style.lineHeight = 'normal';\r\n      spanElement.style.marginLeft = `${10 / 108}rem`;\r\n      spanElement.innerHTML = '止静5分钟<i class=\"el-icon-arrow-down el-icon--right\"></i>';\r\n      this.dynamicDiv.appendChild(spanElement);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      silence_step1.style.visibility = 'hidden';\r\n\r\n      silence_step2 = document.querySelectorAll('.el-select-dropdown')[0];\r\n      const rect2 = silence_step2.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.className = 'el-select-dropdown el-popper dropdown dropdown1'\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect2.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect2.left + window.scrollX}px`;\r\n      // 创建一个新的 div 元素作为容器\r\n      const parentDiv = document.createElement('div');\r\n      parentDiv.className = 'el-scrollbar'; // 添加类名 el-scrollbar\r\n      // 创建内部的各个子元素\r\n      const dropdownWrap = document.createElement('div');\r\n      dropdownWrap.className = 'el-select-dropdown__wrap el-scrollbar__wrap el-scrollbar__wrap--hidden-default';\r\n      const ul = document.createElement('ul');\r\n      ul.className = 'el-scrollbar__view el-select-dropdown__list';\r\n      // 创建列表项\r\n      const li1 = document.createElement('li');\r\n      li1.className = 'el-select-dropdown__item selected';\r\n      if (meditate_type === '1') {\r\n        li1.innerHTML = '<span style=\"color: #64afd5\">止静5分钟</span>';\r\n      } else if (meditate_type === '2') {\r\n        li1.innerHTML = '<span style=\"color: #fd8b65\">止静5分钟</span>';\r\n      }\r\n      const li2 = document.createElement('li');\r\n      li2.className = 'el-select-dropdown__item';\r\n      li2.innerHTML = '<span>止静10分钟</span>';\r\n      const li3 = document.createElement('li');\r\n      li3.className = 'el-select-dropdown__item';\r\n      li3.innerHTML = '<span>止静15分钟</span>';\r\n      // 将列表项添加到 ul 中\r\n      ul.appendChild(li1);\r\n      ul.appendChild(li2);\r\n      ul.appendChild(li3);\r\n      // 创建水平滚动条\r\n      const horizontalBar = document.createElement('div');\r\n      horizontalBar.className = 'el-scrollbar__bar is-horizontal';\r\n      const horizontalThumb = document.createElement('div');\r\n      horizontalThumb.className = 'el-scrollbar__thumb';\r\n      horizontalThumb.style.transform = 'translateX(0%)';\r\n      horizontalBar.appendChild(horizontalThumb);\r\n      // 创建垂直滚动条\r\n      const verticalBar = document.createElement('div');\r\n      verticalBar.className = 'el-scrollbar__bar is-vertical';\r\n      const verticalThumb = document.createElement('div');\r\n      verticalThumb.className = 'el-scrollbar__thumb';\r\n      verticalThumb.style.transform = 'translateY(0%)';\r\n      verticalBar.appendChild(verticalThumb);\r\n      // 将所有子元素添加到 dropdownWrap 中\r\n      dropdownWrap.appendChild(ul);\r\n      dropdownWrap.appendChild(horizontalBar);\r\n      dropdownWrap.appendChild(verticalBar);\r\n      // 将 dropdownWrap 添加到 parentDiv 中\r\n      parentDiv.appendChild(dropdownWrap);\r\n      // 将 parentDiv 添加到 this.dynamicDiv 中\r\n      this.dynamicDiv.appendChild(parentDiv);\r\n      // 将 this.dynamicDiv 添加到 document.body 中\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv2 = this.dynamicDiv;\r\n      silence_step2.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    // that.setConformTipsGuideMode(1)\r\n    // alert(meditate_type)\r\n    silence_step1.style.visibility = 'visible';\r\n    silence_step2.style.visibility = 'visible';\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    if (dynamicDiv2 && dynamicDiv2.parentNode) {\r\n      dynamicDiv2.parentNode.removeChild(dynamicDiv2);\r\n    }\r\n    if (meditate_type === '1') {\r\n      userGuideStatus('silence_1');\r\n    } else if (meditate_type === '2') {\r\n      userGuideStatus('silence_2');\r\n    }\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function createTips_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let dynamicDiv;\r\n  let tip_title;\r\n  let createTips_step0;\r\n  let createTips_step1;\r\n  let createTips_step3;\r\n  let createTips_step4;\r\n  let new_createTips_step0;\r\n  let new_createTips_step1;\r\n  let new_createTips_step3;\r\n  let new_createTips_step4;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'index_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n        // that.guideHideMaskNoComplete();\r\n        that.$refs[\"tag\" + 2][0].className = \"tag tagActive\";\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      tip_title = document.querySelectorAll('.tip-title')[0];\r\n      const rect1 = tip_title.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.style.width = `${rect1.width}px`;\r\n      this.dynamicDiv.style.height = `${rect1.height}px`;\r\n      this.dynamicDiv.style.borderRadius = `${4 / 108}rem`;\r\n      this.dynamicDiv.style.backgroundColor = '#fff';\r\n\r\n      const span = document.createElement('span');\r\n      span.textContent = '输入心得标题';\r\n      // span.style.color = '#d4d9db';\r\n      span.style.color = '#bbb';\r\n      span.style.display = 'flex';\r\n      span.style.alignItems = 'center';\r\n      span.style.marginLeft = `${16 / 108}rem`\r\n      span.style.height = '100%';\r\n\r\n      this.dynamicDiv.appendChild(span);\r\n      document.body.appendChild(this.dynamicDiv);\r\n      dynamicDiv = this.dynamicDiv;\r\n      tip_title.style.visibility = 'hidden';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${4 / 108}rem`;\r\n    } else if (count === 2) {\r\n      tip_title.style.visibility = 'visible';\r\n      if (dynamicDiv && dynamicDiv.parentNode) {\r\n        dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n      }\r\n      createTips_step0 = document.querySelectorAll('#createTips_step0')[0];\r\n      createTips_step1 = document.querySelectorAll('#createTips_step1')[0];\r\n      createTips_step3 = document.querySelectorAll('#createTips_step3')[0];\r\n      createTips_step4 = document.querySelectorAll('#createTips_step4')[0];\r\n      const rect0 = createTips_step0.getBoundingClientRect();\r\n      const rect1 = createTips_step1.getBoundingClientRect();\r\n      const rect3 = createTips_step3.getBoundingClientRect();\r\n      const rect4 = createTips_step4.getBoundingClientRect();\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect0.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect0.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '智慧文化';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step0 = this.dynamicDiv;\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect1.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect1.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '如理思维';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step1 = this.dynamicDiv;\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect3.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect3.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '心态禅修';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step3 = this.dynamicDiv;\r\n      this.dynamicDiv = document.createElement('div');\r\n      this.dynamicDiv.style.zIndex = '9999998';\r\n      this.dynamicDiv.style.position = 'absolute';\r\n      this.dynamicDiv.style.top = `${rect4.top + window.scrollY}px`;\r\n      this.dynamicDiv.style.left = `${rect4.left + window.scrollX}px`;\r\n      this.dynamicDiv.className = 'guide_tag';\r\n      this.dynamicDiv.innerHTML = '品质禅修';\r\n      document.body.appendChild(this.dynamicDiv);\r\n      new_createTips_step4 = this.dynamicDiv;\r\n\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${8 / 108}rem`;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = null;\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = null;\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了';\r\n      createTips_step0.style.visibility = 'hidden';\r\n      createTips_step1.style.visibility = 'hidden';\r\n      createTips_step3.style.visibility = 'hidden';\r\n      createTips_step4.style.visibility = 'hidden';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    if (dynamicDiv && dynamicDiv.parentNode) {\r\n      dynamicDiv.parentNode.removeChild(dynamicDiv);\r\n    }\r\n    if (new_createTips_step0 && new_createTips_step0.parentNode) {\r\n      new_createTips_step0.parentNode.removeChild(new_createTips_step0);\r\n    }\r\n    if (new_createTips_step1 && new_createTips_step1.parentNode) {\r\n      new_createTips_step1.parentNode.removeChild(new_createTips_step1);\r\n    }\r\n    if (new_createTips_step3 && new_createTips_step3.parentNode) {\r\n      new_createTips_step3.parentNode.removeChild(new_createTips_step3);\r\n    }\r\n    if (new_createTips_step4 && new_createTips_step4.parentNode) {\r\n      new_createTips_step4.parentNode.removeChild(new_createTips_step4);\r\n    }\r\n    createTips_step0.style.visibility = 'visible';\r\n    createTips_step1.style.visibility = 'visible';\r\n    createTips_step3.style.visibility = 'visible';\r\n    createTips_step4.style.visibility = 'visible';\r\n    that.$refs[\"tag\" + 2][0].className = \"tag\";\r\n    userGuideStatus('confirmTips_1')\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function cultrueContent_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  let new_cultrueContent_step2;\r\n  let cultrueContent_step2;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'cultrue_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    scrollToElement: false,\r\n    helperElementPadding: 0,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopLeftRadius = '20px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopRightRadius = '20px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n      document.getElementsByClassName('introjs-bottom-left-aligned')[0].style.marginLeft = '-35%';\r\n    } else if (count === 2) {\r\n\r\n    } else if (count === 3) {\r\n      cultrueContent_step2 = document.querySelectorAll('#cultrueContent_step2_1')[0];\r\n      let cultrueContent_step2_2 = document.querySelectorAll('#cultrueContent_step2')[0];\r\n      let rect1 = cultrueContent_step2.getBoundingClientRect();\r\n      let rect2 = cultrueContent_step2_2.getBoundingClientRect();\r\n      let divElement = document.createElement('div');\r\n      divElement.classList.add('guide_collect');\r\n      divElement.style.zIndex = '9999998';\r\n      divElement.style.position = 'absolute';\r\n      divElement.style.left = `${rect1.left + window.scrollX}px`;\r\n      divElement.style.top = `${rect2.top + window.scrollY}px`;\r\n      divElement.style.width = `${rect1.width}px`;\r\n      divElement.style.height = `${rect1.height}px`;\r\n      divElement.style.backgroundColor = 'transparent';\r\n      let collectDiv = document.createElement(\"div\");\r\n      collectDiv.style.width = `${rect2.width}px`;\r\n      collectDiv.style.height = `${rect2.height}px`;\r\n      let imgElement = document.createElement('img');\r\n      imgElement.src = 'data:image/png;base64,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';\r\n      let pElement2 = document.createElement('p');\r\n      pElement2.textContent = '收藏';\r\n      collectDiv.appendChild(imgElement);\r\n      collectDiv.appendChild(pElement2);\r\n      divElement.appendChild(collectDiv);\r\n      document.body.appendChild(divElement);\r\n      new_cultrueContent_step2 = divElement;\r\n      cultrueContent_step2.style.visibility = 'hidden';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.width = '0px'\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.height = '0px'\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    if (new_cultrueContent_step2 && new_cultrueContent_step2.parentNode) {\r\n      new_cultrueContent_step2.parentNode.removeChild(new_cultrueContent_step2);\r\n    }\r\n    cultrueContent_step2.style.visibility = 'visible';\r\n    userGuideStatus('courseContent')\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function heartPlaza_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'cultrue_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    helperElementPadding: 0,\r\n    scrollToElement: false,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '50px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 3) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopLeftRadius = '0.14814815rem';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderTopRightRadius = '0px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderBottomRightRadius = '0px';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderBottomLeftRadius = '0px';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.display = 'flex';\r\n      document.getElementsByClassName('introjs-tooltiptext')[0].style.justifyContent = 'center';\r\n    } else if (count === 4) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0px';\r\n    } else if (count === 5) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n      document.getElementsByClassName('introjs-nextbutton')[0].innerHTML = '知道了'\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    that.setHeartPlazaGuideStatus(1)\r\n    userGuideStatus('heartPlaza')\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport function ocean_guide(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"知道了\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'ocean_customHighlight',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'index_customTooltip',\r\n    helperElementPadding: 0,\r\n    scrollToElement: false,\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n      if (count === 1) {\r\n\r\n      }\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n  intro.onafterchange(function (targetElement) {\r\n    if (count === 1) {\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = `${50/108}rem`;\r\n    } else if (count === 2) {\r\n      document.getElementsByClassName('introjs-relativePosition')[0].style.position = 'static';\r\n      document.getElementsByClassName('introjs-helperLayer')[0].style.borderRadius = '0.07407407rem';\r\n    }\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    userGuideStatus('ocean');\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\nexport async function userGuideStatus(propertyName) {\r\n  let guideStatus = JSON.parse(localStorage.getItem('guideStatus'));\r\n  if (guideStatus) {\r\n    guideStatus[propertyName] = 1; // 设置对应属性的值为 1，可以根据实际需要进行修改\r\n    const jsonData = {\r\n      guide_status: JSON.stringify(guideStatus)\r\n    };\r\n\r\n    try {\r\n      // 设置用户引导状态\r\n      const setUserRes = await setUserGuideStatus(jsonData); // 假设这里是一个异步函数来设置用户状态\r\n      if (setUserRes.code === 0) {\r\n        // 再次获取用户引导状态\r\n        const updatedRes = await getUserGuideStatus(); // 假设这里是一个异步函数来获取更新后的用户状态\r\n        guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n        if (guideStatus) {\r\n          localStorage.setItem('guideStatus', JSON.stringify(guideStatus));\r\n        }\r\n      } else {\r\n        console.error('Failed to set user guide status:', setUserRes.message);\r\n      }\r\n    } catch (error) {\r\n      console.error('Error setting or retrieving user guide status:', error);\r\n    }\r\n  } else {\r\n    console.error('guideStatus not found in localStorage');\r\n  }\r\n}\r\n\r\n\r\nexport function guide_3(that, introSteps) {\r\n  const intro = introJs();\r\n  let count = 0;\r\n  intro.setOptions({\r\n    steps: introSteps,\r\n    /* 当位置选择自动的时候，位置排列的优先级 */\r\n    positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n    prevLabel: \"上一条\",\r\n    nextLabel: \"下一条\",\r\n    skipLabel: \"跳过\",\r\n    // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n    doneLabel: \"下一条\",\r\n    hidePrev: true,\r\n    exitOnOverlayClick: false,\r\n    /* 是否显示说明的数据步骤*/\r\n    showStepNumbers: false,\r\n    /* 是否使用点点点显示进度 */\r\n    showBullets: false,\r\n    /* 是否使用键盘Esc退出 */\r\n    exitOnEsc: false,\r\n    /* 默认提示位置 */\r\n    hintPosition: 'top-left',\r\n    /* 说明高亮区域的样式 */\r\n    highlightClass: 'customHighlight_3',\r\n    /* 引导说明文本框的样式 */\r\n    tooltipClass: 'customTooltip_3',\r\n    disableInteraction: true,\r\n    scrollToElement: false,\r\n\r\n  })\r\n  intro.onchange(function (targetElement) {\r\n    count = this.currentStep() + 1\r\n  })\r\n  intro.onbeforechange(async (targetElement) => {\r\n    try {\r\n\r\n    } catch (error) {\r\n      console.error('Error in intro.onbeforechange:', error);\r\n    }\r\n  });\r\n\r\n  intro.onafterchange(function (targetElement) {\r\n    // alert(count)\r\n\r\n  })\r\n  intro.oncomplete(function (targetElement) {\r\n    // 点击完成以及跳过按钮后执行的事件，不区分完成和跳过。\r\n    state = 1\r\n\r\n\r\n  })\r\n  intro.onexit(function (targetElement) {\r\n    // 点击完成按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.onskip(function (targetElement) {\r\n    // 点击跳过按钮后， 执行的事件\r\n    // state = 1\r\n  })\r\n  intro.start();\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/intro_domestic.js","<template>\r\n  <div class=\"foxue-container\" v-loading=\"isGlobalLoading\">\r\n    <Header :class=\"headerStatus\"\r\n      :centerStauts=\"centerStauts\" />\r\n    <span class=\"left\"\r\n      :class=\"[\r\n        leftStatus,\r\n        whiteActiveIndex == 0\r\n          ? 'left0'\r\n          : whiteActiveIndex == 1\r\n          ? 'left1'\r\n          : whiteActiveIndex == 2\r\n          ? 'left2'\r\n          : 'left3'\r\n      ]\"\r\n      @click=\"goBlack\">\r\n    </span>\r\n    <span id=\"index_step2\"\r\n      class=\"right\"\r\n      :class=\"[\r\n        rightStatus,\r\n        whiteActiveIndex == 0\r\n          ? 'right0'\r\n          : whiteActiveIndex == 1\r\n          ? 'right1'\r\n          : whiteActiveIndex == 2\r\n          ? 'right2'\r\n          : 'right3'\r\n      ]\"\r\n      @click=\"goWhite\">\r\n    </span>\r\n\r\n    <div class=\"partition\"\r\n      :class=\"tStatus\"\r\n      @click=\"tsClick\">\r\n      <div id=\"index_step1\" class=\"centerLeft\">\r\n        <div class=\"centerLeft-in\"></div>\r\n      </div>\r\n      <div class=\"centerRight\">\r\n        <div class=\"centerRight-in\"></div>\r\n      </div>\r\n    </div>\r\n\r\n    <div ref=\"white\"\r\n      class=\"white\"\r\n      :class=\"WStatus\"\r\n      @mousemove=\"updateXY\">\r\n      <LayoutWhite\r\n        :centerStauts=\"centerStauts\"\r\n        :isDisabledGuide=\"isDisabledGuide\"\r\n      />\r\n      <keep-alive :exclude=\"excludedWhitePages\">\r\n        <router-view name=\"white\" />\r\n      </keep-alive>\r\n    </div>\r\n    <div ref=\"black\"\r\n      class=\"black\"\r\n      :class=\"BStatus\"\r\n      @mousemove=\"updateXY\">\r\n      <LayoutBlack\r\n        :centerStauts=\"centerStauts\"\r\n        :isDisabledGuide=\"isDisabledGuide\"\r\n      />\r\n\r\n      <keep-alive>\r\n        <router-view name=\"black\" />\r\n      </keep-alive>\r\n    </div>\r\n    <div class=\"center\"\r\n      :class=\"centerStauts\">\r\n      <div class=\"menus\">\r\n        <ul>\r\n          <li>文化</li>\r\n          <li>思维&nbsp;&nbsp;&bull;&nbsp;&nbsp;观念</li>\r\n          <li>行为&nbsp;&nbsp;&bull;&nbsp;&nbsp;习惯</li>\r\n          <li>性格&nbsp;&nbsp;&bull;&nbsp;&nbsp;人格</li>\r\n        </ul>\r\n      </div>\r\n      <BlackFolding :centerStauts=\"centerStauts\" />\r\n      <div class=\"centerLeft\">\r\n        <div class=\"centerLeft-in\"></div>\r\n      </div>\r\n      <WhiteFolding :centerStauts=\"centerStauts\" />\r\n      <div class=\"centerRight\">\r\n        <div class=\"centerRight-in\"></div>\r\n      </div>\r\n    </div>\r\n    <span tabindex=\"1\"\r\n      :class=\"['ltishi', 'myLtishi']\"\r\n      class=\"ltishi\"\r\n      v-if=\"tsStatus && !disableOperateMode &&  pageName != 'white'\"\r\n      @click=\"goWhite1\"\r\n    >\r\n      <label\r\n        :style=\"{\r\n          backgroundColor:\r\n            whiteActiveIndex == 0\r\n              ? '#71afbb'\r\n              : whiteActiveIndex == 1\r\n              ? '#64AFD5'\r\n              : whiteActiveIndex == 2\r\n              ? '#FFB096'\r\n              : '#2C51AF'\r\n        }\"></label>\r\n      <label\r\n        :style=\"{\r\n          backgroundColor:\r\n            whiteActiveIndex == 0\r\n              ? '#71afbb'\r\n              : whiteActiveIndex == 1\r\n              ? '#64AFD5'\r\n              : whiteActiveIndex == 2\r\n              ? '#FFB096'\r\n              : '#2C51AF'\r\n        }\"></label>\r\n    </span>\r\n    <span id=\"index_step3\"\r\n      tabindex=\"2\"\r\n      :class=\"['Rtishi', 'myRtishi', disableOperateMode ? 'disableOperateMode' : '']\"\r\n      v-show=\"tsStatus1\"\r\n      @click=\"goBlack1\"\r\n    >\r\n\r\n      <label\r\n        :style=\"{\r\n          backgroundColor:\r\n            whiteActiveIndex == 0\r\n              ? '#71afbb'\r\n              : whiteActiveIndex == 1\r\n              ? '#64AFD5'\r\n              : whiteActiveIndex == 2\r\n              ? '#FFB096'\r\n              : '#2C51AF'\r\n        }\"></label>\r\n      <label\r\n        :style=\"{\r\n          backgroundColor:\r\n            whiteActiveIndex == 0\r\n              ? '#71afbb'\r\n              : whiteActiveIndex == 1\r\n              ? '#64AFD5'\r\n              : whiteActiveIndex == 2\r\n              ? '#FFB096'\r\n              : '#2C51AF'\r\n        }\"></label>\r\n    </span>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  getUserGuideStatus,\r\n  setUserGuideStatus,\r\n  getCourseBase,\r\n  getUserInfo,\r\n  getNowCourse,\r\n  getCourseList,\r\n  getTimeInterval,\r\n  getUserRemindList,\r\n  setMessageRead,\r\n  getUserMessageUnread\r\n} from \"@/api/index\";\r\nimport LayoutWhite from \"@/views/white/LayoutWhite.vue\";\r\nimport LayoutBlack from \"@/views/black/LayoutBlack.vue\";\r\nimport WhiteFolding from \"../white/WhiteFolding.vue\";\r\nimport BlackFolding from \"../black/BlackFolding.vue\";\r\nimport Header from \"./Header.vue\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport aniMixins from \"@/utils/mixins.js\";\r\nimport { index_guide_2 } from \"@/utils/intro\";\r\nimport { index_guide_1 } from \"@/utils/intro_domestic\";\r\n\r\nexport default {\r\n  mixins: [aniMixins],\r\n  components: {\r\n    LayoutWhite,\r\n    LayoutBlack,\r\n    WhiteFolding,\r\n    BlackFolding,\r\n    Header,\r\n  },\r\n  async beforeRouteLeave(to, from, next) {\r\n    console.log(\"to:\", to);\r\n    const res = await getUserInfo();\r\n    let userInfo = {};\r\n    if(res.code == 0) {\r\n      userInfo = res.data[0]\r\n    }\r\n    if(userInfo.user_status == 2) {\r\n       // 在这里可以执行一些清理操作\r\n      this.$destroy(); // 手动销毁组件\r\n    }\r\n    next();\r\n  },\r\n  data() {\r\n    return {\r\n      BStatus: \"bDefault\",\r\n      WStatus: \"default\",\r\n      tStatus: \"tDefault\",\r\n      tsStatus: false,\r\n      tsStatus1: true,\r\n      headerStatus: \"hDefault\",\r\n      pageName: \"white\",\r\n      centerStauts: \"cDefault\",\r\n      RtshiBg: \"\",\r\n      rightStatus: \"rightDefault\",\r\n      leftStatus: \"leftDefault\",\r\n      isFullcreenMode: true,\r\n      isBlackLayer: true,\r\n      mindType: null, // 1: 白板跳黑板 2：白板跳中间层\r\n      isSafari: false, // 是否是isSafari\r\n      SafariVerSion: \"\",\r\n      showRtishi: false,\r\n      showLtishi: false,\r\n      showWhiteEyeAni: false,\r\n      excludedWhitePages: \"StudyLog\",\r\n      courseObj: {},\r\n      dialogVisible: false,\r\n      disableOperateMode: false, // 为了思维导图显示时一些事件无效\r\n      isApple: false,\r\n      isPageHideFired: false,\r\n      mindMessageTimeout: null,\r\n      mindMessageDuration: 3000,\r\n      mindMessage: null\r\n    };\r\n  },\r\n  computed: {\r\n    isDisabledGuide() {\r\n      let isDisabled = false;\r\n      if(!isDisabled) {\r\n        // 个人中心、设置、收藏、我发布的心得、我有疑问\r\n        if([\r\n          'PersonalCenter', // 白版-个人中心\r\n          'Set', // 白版-设置\r\n          'MindMessage',\r\n          'Collected', // 白版-收藏\r\n          'PulishExperience',// 白版-我发布的心得\r\n          'EditTips', // 白版-我发布的心得详情\r\n          'SelfHelp',// 白版-我有疑问\r\n          'TipsList', // 白版-更多案例\r\n          'CaseList', // 黑版-更多案例\r\n          'EditCase', // 黑版-我的案例详情\r\n          'publishBlackCase', // 黑版-我发布的案例\r\n          'CultrueContentVideoDetail', // 视频详情页\r\n          'CultrueContentAudioDetail', // 音频详情页\r\n          'QuestionListHistory'\r\n        ].indexOf(this.$route.name) >= 0) {\r\n          isDisabled = true;\r\n        }\r\n      }\r\n      return isDisabled;\r\n    },\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    whiteFullScreenPages() {\r\n      return this.$store.getters.whiteFullScreenPages;\r\n    },\r\n    whiteCom() {\r\n      return this.$store.getters.whiteCom;\r\n    },\r\n    blackCom() {\r\n      return this.$store.getters.blackCom;\r\n    },\r\n    blackFullScreenPages() {\r\n      return this.$store.getters.blackFullScreenPages;\r\n    },\r\n    blackActiveIndex() {\r\n      return this.$store.getters.blackActiveIndex;\r\n    },\r\n    pageNameStore() {\r\n      return this.$store.getters.pageName;\r\n    },\r\n    historyOperate() {\r\n      return this.$store.getters.historyOperate;\r\n    },\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    xiaojue_open() {\r\n      return this.$store.getters.xiaojue_open;\r\n    },\r\n    courseList() {\r\n      return this.$store.getters.courseList;\r\n    },\r\n    canAccessYouTube() {\r\n      return this.$store.getters.canAccessYouTube;\r\n    },\r\n    initedCanAccessYouTube() {\r\n      return this.$store.getters.initedCanAccessYouTube;\r\n    },\r\n    isGlobalLoading() {\r\n      return this.$store.getters.isGlobalLoading;\r\n    },\r\n    pendingCount() {\r\n      return this.$store.getters.pendingCount;\r\n    },\r\n  },\r\n  watch: {\r\n    pendingCount: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        console.log(\"initedCanAccessYouTube:\", newVal)\r\n        if(newVal == 0) {\r\n          this.$store.commit(\"reset_pending\")\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    initedCanAccessYouTube: {\r\n      deep: true,\r\n      handler: function (newVal, oldVal) {\r\n        console.log(\"initedCanAccessYouTube:\", newVal)\r\n        if(newVal && !oldVal) {\r\n          this.init();\r\n          this.getCourseBase();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    course_id: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        if (newVal) {\r\n          this.getCourseBase();\r\n        }\r\n      },\r\n      immediate: true\r\n    },\r\n    whiteCom: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"Index whiteCom:\", newVal);\r\n        let name = this.$route.name;\r\n        if (newVal) {\r\n          this.getIsFullscreenMode();\r\n        }\r\n      },\r\n    },\r\n    blackCom: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        console.log(\"Index blackCom:\", newVal);\r\n        let name = this.$route.name;\r\n        if (newVal) {\r\n          this.getIsFullscreenMode();\r\n        }\r\n      },\r\n    },\r\n    whiteFullScreenPages: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        let name = this.$route.name;\r\n        console.log(\"Index whiteFullScreenPages:\", newVal, this.whiteCom);\r\n        if (newVal) {\r\n          this.getIsFullscreenMode();\r\n        }\r\n      },\r\n    },\r\n    blackFullScreenPages: {\r\n      deep: true,\r\n      handler: function (newVal) {\r\n        let name = this.$route.name;\r\n        console.log(\"Index whiteFullScreenPages:\", newVal, this.whiteCom);\r\n        if (newVal) {\r\n          this.getIsFullscreenMode();\r\n        }\r\n      },\r\n    },\r\n    $route: {\r\n      deep: true,\r\n      handler: function (to, from) {\r\n        this.getIsFullscreenMode();\r\n        let name = this.$route.name;\r\n        this.routeName = name;\r\n        let theme = this.$route.meta.theme;\r\n        console.log(\"Index theme:\", theme);\r\n        this.$nextTick(() => {\r\n          if(name == \"index\") {\r\n            this.$refs.white.style.zIndex = 22;\r\n            this.$refs.black.style.zIndex = 22;\r\n          } else {\r\n            if (theme === \"white\") {\r\n              this.$refs.white.style.zIndex = 23;\r\n              this.$refs.black.style.zIndex = 22;\r\n              this.tsStatus = false;\r\n            } else {\r\n              this.$refs.white.style.zIndex = 22;\r\n              this.$refs.black.style.zIndex = 23;\r\n              console.log(\"tsStatus =true;\")\r\n              this.tsStatus = false;\r\n            }\r\n          }\r\n        })\r\n\r\n      },\r\n      immediate: true,\r\n    },\r\n    course: {\r\n      deep: true,\r\n      handler: function (v) {\r\n        console.log(\"course:\", this.course);\r\n        if (v && v.length) {\r\n          const course = JSON.parse(v);\r\n          this.courseObj = course[0];\r\n        } else {\r\n          this.courseObj = {};\r\n        }\r\n      },\r\n      immediate: true,\r\n    },\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next((vm) => {\r\n      vm.getUserInfo().then((res) => {\r\n        if (res) {\r\n          // 1.获取用户首页引导状态（0；进入引导，1：不进入引导）\r\n          vm.handleUserGuideStatus();\r\n          next();\r\n        } else {\r\n          next({\r\n            path: \"/CourseSelect\",\r\n          });\r\n        }\r\n      });\r\n    });\r\n  },\r\n  created() {},\r\n  methods: {\r\n    async getCourseList() {\r\n      try {\r\n        console.log(\"getCourseList::\", this.canAccessYouTube)\r\n        const res = await getCourseList();\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setCourseList\", res.data);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    },\r\n    async getTimeInterval() {\r\n      try {\r\n        const res = await getTimeInterval();\r\n        if (res && res.code === 0) {\r\n          this.$store.dispatch(\"setXiaojueOpen\", res.data[0].xiaojue_open);\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getNowCourse() {\r\n      try {\r\n        const res = await getNowCourse();\r\n        if (res && res.code === 0) {\r\n          const courseBase = res.data[0];\r\n          this.$store\r\n            .dispatch(\"setCourse\", [\r\n              {\r\n                course_id: courseBase.course_id,\r\n                course_name: courseBase.course_name,\r\n                jdname: courseBase.course_class_title,\r\n                dyname: courseBase.course_class_name2,\r\n                course_class_study1: courseBase.course_class_study1,\r\n                course_class_study2: courseBase.course_class_study2,\r\n                course_isuseradd: courseBase.course_isuseradd,\r\n              },\r\n            ]);\r\n        } else if (res && res.code === 1028) {\r\n          // 后台将删除该课程，重新选择课程\r\n          this.$message({\r\n            type: \"warning\",\r\n            message: \"该课程已被删除，请重新选择课程\",\r\n          });\r\n          console.log(\"to CourseSelect\");\r\n          this.$router.push(\"/CourseSelect\");\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    getUserInfo() {\r\n      return new Promise(async (resolve, reject) => {\r\n        try {\r\n          const res = await getUserInfo();\r\n          if (res && res.code == 0) {\r\n            const userInfo = res.data[0];\r\n            if (userInfo) {\r\n              if (userInfo.user_status == 2) {\r\n                // 先去修改昵称\r\n                resolve(false);\r\n              } else {\r\n                resolve(true);\r\n              }\r\n            }\r\n          }\r\n        } catch (error) {}\r\n      });\r\n    },\r\n    async getCourseBase() {\r\n      try {\r\n        console.log(\"getCourseBasegetCourseBase:\", this.canAccessYouTube, this.course_id)\r\n        if (this.course_id) {\r\n          const course = await getCourseBase({ course_id: this.course_id });\r\n          if (course.code === 0) {\r\n            this.$store.dispatch(\"setCourseBase\", course.data[0]);\r\n          } else if (course.code === 1028) {\r\n            // 后台将删除该课程，重新选择课程\r\n            // this.$message({\r\n            //   type: \"warning\",\r\n            //   message: \"该课程已被删除，请重新选择课程\",\r\n            // });\r\n            console.log(\"to CourseSelect\");\r\n            this.$router.push(\"/CourseSelect\");\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    overRtishi() {\r\n      this.showRtishi = true;\r\n    },\r\n    leaveRtishi() {\r\n      this.showRtishi = false;\r\n    },\r\n    overLtishi() {\r\n      this.showLtishi = true;\r\n    },\r\n    leaveLtishi() {\r\n      this.showLtishi = false;\r\n    },\r\n    getIsFullscreenMode() {\r\n      let name = this.$route.name;\r\n\r\n      if (name !== \"index\") {\r\n        if (this.pageName === \"white\" && this.whiteFullScreenPages) {\r\n          console.log(this.whiteFullScreenPages.includes(name));\r\n          if (this.whiteFullScreenPages.includes(name)) {\r\n            this.tsStatus1 = false;\r\n            this.isFullcreenMode = false;\r\n          } else {\r\n            this.tsStatus1 = true;\r\n            this.isFullcreenMode = true;\r\n          }\r\n        }\r\n        if (this.pageName === \"black\" && this.blackFullScreenPages) {\r\n          if (this.blackFullScreenPages.includes(name)) {\r\n            this.tsStatus = false;\r\n            this.isBlackLayer = false;\r\n          } else {\r\n            this.tsStatus = true;\r\n            console.log(\"tsStatus =true;\")\r\n            this.isBlackLayer = true;\r\n          }\r\n          this.tsStatus = false;\r\n        }\r\n      } else {\r\n        if (this.pageName === \"white\" && this.whiteFullScreenPages) {\r\n          if (this.whiteFullScreenPages.includes(this.whiteCom)) {\r\n            this.tsStatus1 = false;\r\n            this.isFullcreenMode = false;\r\n          } else {\r\n            this.tsStatus1 = true;\r\n            this.isFullcreenMode = true;\r\n          }\r\n        }\r\n        if (this.pageName === \"black\" && this.blackFullScreenPages) {\r\n          if (this.blackFullScreenPages.includes(this.blackCom)) {\r\n            this.tsStatus = false;\r\n            this.isBlackLayer = false;\r\n          } else {\r\n            this.tsStatus = true;\r\n            console.log(\"tsStatus =true;\")\r\n            this.isBlackLayer = true;\r\n          }\r\n        }\r\n      }\r\n      console.log(\"tsStatus:\", this.tsStatus);\r\n    },\r\n    //从中间框左边箭头跳转黑板事件\r\n    goBlack() {\r\n      this.mindType = 2;\r\n      // 抛一个事件，课程内容和思维导图这两块需要提示\r\n      console.log(\"this.whiteCom:\", this.whiteCom)\r\n      if(this.whiteCom == 'Mind' || this.whiteCom == 'CultrueContent') {\r\n        EventBus.$emit(\"goBlack\");\r\n      } else {\r\n        this.goBlack2();\r\n      }\r\n    },\r\n    goBlack2() {\r\n      this.BStatus = \"mBlack\";\r\n      this.WStatus = \"mWhite1\";\r\n      this.tStatus = \"tDefault\";\r\n      console.log(\"tsStatus =true;\")\r\n      this.tsStatus = true;\r\n      this.tsStatus1 = false;\r\n      this.pageName = \"black\";\r\n      this.$store.dispatch(\"setPageName\", this.pageName);\r\n      this.centerStauts = \"centerStauts1\";\r\n      this.leftStatus = \"leftStatus4\";\r\n      this.rightStatus = \"rightStatus4\";\r\n      this.headerStatus = \"hDefault\";\r\n      EventBus.$emit(\"showBlackEyeAni\", true);\r\n      EventBus.$emit(\"hideBlackEye\", false);\r\n      EventBus.$emit(\"hideWhiteEye\", false);\r\n      EventBus.$emit(\"DISIBLED_SCROLL_MENU\");\r\n    },\r\n    //从白板直接到黑板事件\r\n    goBlack1() {\r\n      this.mindType = 1;\r\n      // 抛一个事件，课程内容和思维导图这两块需要提示\r\n      console.log(\"this.whiteCom:\", this.whiteCom)\r\n      if(this.whiteCom == 'Mind' || this.whiteCom == 'CultrueContent') {\r\n        EventBus.$emit(\"goBlack\");\r\n      } else {\r\n        this.goBlack11();\r\n      }\r\n    },\r\n    goBlack11() {\r\n      this.BStatus = \"mBlack2\";\r\n      this.WStatus = \"mWhite3\";\r\n      this.pageName = \"black\";\r\n      this.$store.dispatch(\"setPageName\", this.pageName);\r\n      if (this.blackFullScreenPages.includes(this.blackCom)) {\r\n        this.tsStatus = false;\r\n        this.isBlackLayer = false;\r\n      } else {\r\n        console.log(\"tsStatus =true;\")\r\n        this.tsStatus = true;\r\n        this.isBlackLayer = true;\r\n      }\r\n      this.tsStatus1 = false;\r\n      this.tStatus = \"tDefault\";\r\n      let timeout = null;\r\n      EventBus.$emit(\"DISIBLED_SCROLL_MENU\");\r\n      EventBus.$emit(\"SHOWWHITEICON\", true);\r\n      timeout = setTimeout(() => {\r\n        EventBus.$emit(\"GOBACK\", true);\r\n        clearTimeout(timeout);\r\n      }, 500);\r\n    },\r\n    //从中间框右边箭头跳转白板事件\r\n    goWhite() {\r\n      this.BStatus = \"mBlack1\";\r\n      this.WStatus = \"mWhite\";\r\n      this.tStatus = \"tDefault\";\r\n      this.tsStatus = false;\r\n      this.tsStatus1 = true;\r\n      this.pageName = \"white\";\r\n      this.$store.dispatch(\"setPageName\", this.pageName);\r\n      this.centerStauts = \"centerStauts3\";\r\n      this.leftStatus = \"leftStatus2\";\r\n      this.rightStatus = \"rightStatus2\";\r\n      this.headerStatus = \"hDefault\";\r\n      this.showWhiteEyeAni = true;\r\n      EventBus.$emit(\"showWhiteEyeAni\", true);\r\n      EventBus.$emit(\"hideBlackEye\", false);\r\n      EventBus.$emit(\"hideWhiteEye\", false);\r\n      EventBus.$emit(\"DISIBLED_SCROLL_MENU\");\r\n      setTimeout;\r\n    },\r\n    //从黑板直接到白板事件\r\n    goWhite1() {\r\n      this.BStatus = \"mBlack3\";\r\n      this.WStatus = \"mWhite2\";\r\n      this.pageName = \"white\";\r\n      this.$store.dispatch(\"setPageName\", this.pageName);\r\n      this.tsStatus = false;\r\n      if (this.whiteFullScreenPages.includes(this.whiteCom)) {\r\n        this.tsStatus1 = false;\r\n        this.isFullcreenMode = false;\r\n      } else {\r\n        this.tsStatus1 = true;\r\n        this.isFullcreenMode = true;\r\n      }\r\n      this.tStatus = \"tDefault\";\r\n      this.centerStauts = \"cDefault\";\r\n      EventBus.$emit(\"DISIBLED_SCROLL_MENU\");\r\n      EventBus.$emit(\"GOWHITE\", true);\r\n      EventBus.$emit(\"GOBACK\", false);\r\n      EventBus.$emit(\"SHOWWHITEICON\", false);\r\n      getUserGuideStatus().then((res) => {\r\n        if (res && res.code === 0) {\r\n          let guideStatus = res.data[0].guide_status\r\n            ? JSON.parse(res.data[0].guide_status)\r\n            : null;\r\n          if (guideStatus) {\r\n            if (\r\n              this.whiteCom === \"Problem\" &&\r\n              guideStatus.problemConsciousness === 0\r\n            ) {\r\n              let timeout = setTimeout(() => {\r\n                EventBus.$emit(\"problem_initGuide\");\r\n                clearTimeout(timeout);\r\n              }, 500);\r\n            }\r\n            if (\r\n              this.whiteCom === \"BehaviorAudio\" &&\r\n              guideStatus.meditate_2 === 0\r\n            ) {\r\n              let timeout = setTimeout(() => {\r\n                EventBus.$emit(\"behaviorAudio_initGuide\");\r\n                clearTimeout(timeout);\r\n              }, 500);\r\n            }\r\n            if (this.whiteCom === \"Ocean\" && guideStatus.ocean === 0) {\r\n              let timeout = setTimeout(() => {\r\n                EventBus.$emit(\"ocean_initGuide\");\r\n                clearTimeout(timeout);\r\n              }, 500);\r\n            }\r\n          }\r\n        }\r\n      });\r\n    },\r\n    //提示条点击事件\r\n    tsClick() {\r\n      if (this.pageName == \"white\") {\r\n        this.tsClick1();\r\n      } else if (this.pageName == \"black\") {\r\n        this.tsStatus = false;\r\n        this.tsStatus1 = false;\r\n        this.tStatus = \"tDefault\";\r\n        this.headerStatus = \"hStatus1\";\r\n\r\n        this.BStatus = \"mBlack5\";\r\n        this.WStatus = \"mwhite5\";\r\n        this.centerStauts = \"centerStauts4\";\r\n        this.leftStatus = \"leftStatus3\";\r\n        this.rightStatus = \"rightStatus3\";\r\n        EventBus.$emit(\"SHOWWHITEICON\", false);\r\n        EventBus.$emit(\"showBlackEyeAni\", true);\r\n        EventBus.$emit(\"hideWhiteEye\", true);\r\n        EventBus.$emit(\"GOWHITE\", true);\r\n      }\r\n      this.pageName = \"mid\";\r\n      this.$store.dispatch(\"setPageName\", this.pageName);\r\n      // this.centerStauts = \"centerStauts2\";\r\n    },\r\n    tsClick1() {\r\n      this.tsStatus = false;\r\n      this.tsStatus1 = false;\r\n      this.tStatus = \"tDefault\";\r\n      this.headerStatus = \"hStatus1\";\r\n\r\n      this.BStatus = \"mBlack4\";\r\n      this.WStatus = \"mwhite4\";\r\n      this.centerStauts = \"centerStauts2\";\r\n      this.leftStatus = \"leftStatus1\";\r\n      this.rightStatus = \"rightStatus1\";\r\n      EventBus.$emit(\"showWhiteEyeAni\", true);\r\n      EventBus.$emit(\"hideBlackEye\", true);\r\n    },\r\n    //提示条点击事件\r\n    async asyncTsClick() {\r\n      try {\r\n        if (this.pageName === \"white\") {\r\n          this.tsClick1();\r\n        } else if (this.pageName === \"black\") {\r\n          this.tsStatus = false;\r\n          this.tsStatus1 = false;\r\n          this.tStatus = \"tDefault\";\r\n          this.headerStatus = \"hStatus1\";\r\n\r\n          this.BStatus = \"mBlack5\";\r\n          this.WStatus = \"mwhite5\";\r\n          this.centerStauts = \"centerStauts4\";\r\n          this.leftStatus = \"leftStatus3\";\r\n          this.rightStatus = \"rightStatus3\";\r\n          EventBus.$emit(\"SHOWWHITEICON\", false);\r\n          EventBus.$emit(\"showBlackEyeAni\", true);\r\n          EventBus.$emit(\"hideWhiteEye\", true);\r\n        }\r\n        this.pageName = \"mid\";\r\n        this.$store.dispatch(\"setPageName\", this.pageName);\r\n        // 等待DOM更新和动画的0.6秒时间\r\n        await this.$nextTick();\r\n        await new Promise((resolve) => setTimeout(resolve, 500));\r\n        // 操作完成\r\n        return Promise.resolve();\r\n      } catch (error) {\r\n        // 处理错误\r\n        console.error(\"Error in asyncTsClick:\", error);\r\n        return Promise.reject(error);\r\n      }\r\n    },\r\n    //提示条显示隐藏事件\r\n    moveTish(num, status) {\r\n      if (num == 1 && status) {\r\n        this.tStatus = \"rtsShow\";\r\n        this.BStatus = \"mBlack6\";\r\n      } else if (num == 1 && !status) {\r\n        this.tStatus = \"rtsHidden\";\r\n        this.BStatus = \"mBlack7\";\r\n        // this.leftStatus = \"leftStatus2\";\r\n        // this.rightStatus = \"rightStatus2\";\r\n      } else if (num == 2 && status) {\r\n        this.tStatus = \"ltsShow\";\r\n        this.WStatus = \"mWhite5\";\r\n      } else if (num == 2 && !status) {\r\n        this.tStatus = \"ltsHidden\";\r\n        this.WStatus = \"mWhite6\";\r\n      }\r\n    },\r\n    updateXY(event) {\r\n      if(this.disableOperateMode) {\r\n        return;\r\n      }\r\n      // 如果是全屏则不能到原理层\r\n      if (this.pageName === \"white\" && !this.isFullcreenMode) {\r\n        return;\r\n      }\r\n      if (this.pageName === \"black\" && !this.isBlackLayer) {\r\n        return;\r\n      }\r\n      const height = document.body.clientHeight;\r\n      const width = document.body.clientWidth;\r\n      this.x = event.pageX;\r\n      this.y = event.pageY;\r\n      if (this.pageName == \"white\") {\r\n        if (\r\n          this.x >= 0 &&\r\n          this.x < 10 &&\r\n          this.y > height * 0.25 &&\r\n          this.y < height * 0.75\r\n        ) {\r\n          // alert(1)\r\n          this.moveTish(2, true);\r\n        } else {\r\n          if (this.tStatus === \"ltsShow\") {\r\n            // alert(2)\r\n            this.moveTish(2, false);\r\n          }\r\n        }\r\n      } else if (this.pageName == \"black\") {\r\n        if (\r\n          this.x > width - 10 &&\r\n          this.x < width &&\r\n          this.y > height * 0.25 &&\r\n          this.y < height * 0.75\r\n        ) {\r\n          this.moveTish(1, true);\r\n        } else {\r\n          if (this.tStatus === \"rtsShow\") {\r\n            this.moveTish(1, false);\r\n          }\r\n        }\r\n      }\r\n    },\r\n    guideUpdateXY() {\r\n      if (this.pageName == \"white\") {\r\n        this.moveTish(2, true);\r\n      }\r\n    },\r\n    isSafariFn() {\r\n      console.log(\"this.$refs.centerLeft:\", this.$refs.centerLeft);\r\n      console.log(\"navigator.userAgent:\", navigator.userAgent);\r\n      if (\r\n        navigator.userAgent.indexOf(\"Safari\") != -1 &&\r\n        navigator.userAgent.indexOf(\"Chrome\") == -1\r\n      ) {\r\n        this.isSafari = true;\r\n        // 解析Safari版本号\r\n        const versionMatch = navigator.userAgent.match(/Version\\/(\\d+)/);\r\n        if (versionMatch) {\r\n          const version = parseInt(versionMatch[1]);\r\n          this.SafariVerSion = version;\r\n          console.log(`Safari version is ${version}`);\r\n        } else {\r\n          console.log(\"Cannot determine Safari version\");\r\n        }\r\n      } else {\r\n        this.isSafari = false;\r\n      }\r\n    },\r\n    async handleUserGuideStatus() {\r\n      try {\r\n        const res = await getUserGuideStatus();\r\n        if (res && res.code === 0) {\r\n          let guideStatus = res.data[0].guide_status\r\n            ? JSON.parse(res.data[0].guide_status)\r\n            : null;\r\n          if (!guideStatus) {\r\n            // 用户菜单状态为空，修改状态为初始状态\r\n            const jsonData = {\r\n              guide_status: JSON.stringify({\r\n                index: 0, //首页\r\n                black1: 0, //黑牌\r\n                black2: 0, //黑牌\r\n                black3: 0, //黑牌\r\n                black4: 0, //黑牌\r\n                courseClassName: 0, //课程目录\r\n                mindMap: 0, //思维导图\r\n                problemConsciousness: 0, //问题意识\r\n                commitProblem: 0, //问题意识-二级页面\r\n                problemRecommended: 0, //问题推荐\r\n                problemWorkOut_1: 0, //问题解决一级页面\r\n                problemWorkOut: 0, //问题解决\r\n                meditate_1: 0, //思维观念-观修文\r\n                meditate_2: 0, //行为习惯-观修文\r\n                confirmTips: 0, //提交心得\r\n                confirmTips_1: 0, //提交心得\r\n                studyLog: 0, //修学日志，\r\n                silence_1: 0,\r\n                silence_2: 0,\r\n                courseContent: 0, //课程内容\r\n                heartPlaza: 0, //心得广场\r\n                ocean: 0, //生命海洋\r\n              }),\r\n            };\r\n            // 设置用户引导状态\r\n            const setUserRes = await setUserGuideStatus(jsonData);\r\n            if (setUserRes.code === 0) {\r\n              // 再次获取用户引导状态\r\n              const updatedRes = await getUserGuideStatus();\r\n              guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n            }\r\n          }\r\n          if (guideStatus) {\r\n            localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n            if (guideStatus.index === 0) {\r\n              // 首页引导状态为0，开始引导\r\n              this.index_initGuide();\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        console.error(\"Error fetching user guide status:\", error);\r\n      }\r\n    },\r\n    //国内首页引导\r\n    index_initGuide_1() {\r\n      EventBus.$emit(\"setCultureGuideMode\", 0);\r\n      let guide_steps = [\r\n        {\r\n          intro: \"点击这里可以进行白牌、黑牌切换\",\r\n          element: document.querySelector(\"#index_step3\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"鼠标在侧面悬停点击可以唤出人格形成的原理层，并进行左右对照\",\r\n          element: document.querySelector(\"#index_step1\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击回到白牌\",\r\n          element: document.querySelector(\"#index_step2\"),\r\n          position: \"top\",\r\n        },\r\n        {\r\n          intro:\r\n            '中轴：<b>人格形成的底层逻辑</b> <br/> <div style=\"height: 20px\"></div>上下滑动或点选文字可以进入不同步骤阶段',\r\n          element: document.querySelector(\"#index_step6\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"回到笔记目录\",\r\n          element: document.querySelector(\"#index_step7\"),\r\n          position: \"bottom\",\r\n        },\r\n\r\n        {\r\n          intro:\r\n            \"<div><b>小助手（小觉）</b></div><br/><span>包括每个页面的新手引导、我有疑问等功能</span>\",\r\n          element: document.querySelector(\"#index_step8\"),\r\n          position: \"left\",\r\n        },\r\n        {\r\n          intro:\r\n            \"<div><b>个人信息</b></div><br/><span>个人信息展示/设置，以及收藏的内容</span>\",\r\n          element: document.querySelector(\"#index_step9\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro:\r\n            \"<div><b>学习日志</b></div><br/><span>可以看到每一个阅读笔记完成的情况</span>\",\r\n          element: document.querySelector(\"#index_step10\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"点击查看<b>笔记进度条</b>\",\r\n          element: document.querySelector(\"#index_step5\"),\r\n          position: \"left\",\r\n        },\r\n        {\r\n          intro: \"点击查看 “观念禅修” 具体内涵\",\r\n          element: document.querySelector(\"#index_step4\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"点击卡片查看内容详情\",\r\n          element: document.querySelector(\"#index_step11\"),\r\n          position: \"bottom\",\r\n        },\r\n      ];\r\n      index_guide_1(this, guide_steps);\r\n    },\r\n    //国外首页引导\r\n    index_initGuide_2() {\r\n      let guide_steps = [\r\n        {\r\n          intro: \"点击这里可以进行白牌、黑牌切换\",\r\n          element: document.querySelector(\"#index_step3\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"鼠标在侧面悬停点击可以唤出人格形成的原理层，并进行左右对照\",\r\n          element: document.querySelector(\"#index_step1\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"点击回到白牌\",\r\n          element: document.querySelector(\"#index_step2\"),\r\n          position: \"top\",\r\n        },\r\n        {\r\n          intro:\r\n            '中轴：<b>人格形成的底层逻辑</b> <br/> <div style=\"height: 20px\"></div>上下滑动或点选文字可以进入不同步骤阶段',\r\n          element: document.querySelector(\"#index_step6\"),\r\n          position: \"right\",\r\n        },\r\n        {\r\n          intro: \"回到笔记目录\",\r\n          element: document.querySelector(\"#index_step7\"),\r\n          position: \"bottom\",\r\n        },\r\n\r\n        {\r\n          intro:\r\n            \"<div><b>小助手（小觉）</b></div><br/><span>包括每个页面的新手引导、我有疑问等功能</span>\",\r\n          element: document.querySelector(\"#index_step8\"),\r\n          position: \"left\",\r\n        },\r\n        {\r\n          intro:\r\n            \"<div><b>个人信息</b></div><br/><span>个人信息展示/设置，以及收藏的内容</span>\",\r\n          element: document.querySelector(\"#index_step9\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro:\r\n            \"<div><b>学习日志</b></div><br/><span>可以看到每一个阅读笔记完成的情况</span>\",\r\n          element: document.querySelector(\"#index_step10\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"点击查看<b>笔记进度条</b>\",\r\n          element: document.querySelector(\"#index_step5\"),\r\n          position: \"left\",\r\n        },\r\n        {\r\n          intro: \"点击查看 “观念禅修” 具体内涵\",\r\n          element: document.querySelector(\"#index_step4\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"点击卡片查看内容详情\",\r\n          element: document.querySelector(\"#index_step11\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"点击切换内容媒体形式及查看辅助材料\",\r\n          element: document.querySelector(\".el-tabs__header\"),\r\n          position: \"bottom\",\r\n        },\r\n        {\r\n          intro: \"切换分类查看所有内容\",\r\n          element: document.querySelector(\"#cultrueContent_step1\"),\r\n          position: \"top\",\r\n        },\r\n        {\r\n          intro:\r\n            \"可对内容进行收藏，收藏内容在个人中心查看，音频内容可选择下载到本地\",\r\n          element: document.querySelector(\"#cultrueContent_step2\"),\r\n          position: \"top\",\r\n        },\r\n      ];\r\n      index_guide_2(this, guide_steps);\r\n    },\r\n    //首页引导\r\n    index_initGuide() {\r\n      EventBus.$emit(\"enableReadOnlyMode\");\r\n      this.$store.dispatch(\"setGuideName\", \"index\");\r\n      const appType = localStorage.getItem(\"app_type\");\r\n      this.getUserInfo().then((res) => {\r\n        if (res) {\r\n          if (appType == 1) {\r\n            this.index_initGuide_1();\r\n          } else if (appType == 2) {\r\n            EventBus.$emit(\"setCultureGuideMode\", 0);\r\n            EventBus.$emit(\"setCourseContentGuideStatus\", 0);\r\n            setTimeout((item) => {\r\n              this.index_initGuide_2();\r\n            }, 800);\r\n          } else {\r\n            EventBus.$emit(\"disableReadOnlyMode\");\r\n          }\r\n        }\r\n      });\r\n    },\r\n    enableReadOnlyMode() {\r\n      const overlay = document.createElement(\"div\");\r\n      overlay.className = \"readonly-overlay\";\r\n      overlay.style.position = \"fixed\";\r\n      overlay.style.top = \"0\";\r\n      overlay.style.left = \"0\";\r\n      overlay.style.width = \"100%\";\r\n      overlay.style.height = \"100%\";\r\n      overlay.style.backgroundColor = \"rgba(0, 0, 0, 0)\"; // 完全透明背景\r\n      overlay.style.zIndex = \"9999\";\r\n      overlay.style.pointerEvents = \"auto\";\r\n      document.body.appendChild(overlay);\r\n    },\r\n    disableReadOnlyMode() {\r\n      const elements = document.querySelectorAll(\".readonly-overlay\");\r\n      elements.forEach((element) => {\r\n        element.parentNode.removeChild(element);\r\n      });\r\n    },\r\n    async setUserGuideStatus() {\r\n      let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n      guideStatus.index = 1;\r\n      const jsonData = {\r\n        guide_status: JSON.stringify(guideStatus),\r\n      };\r\n      // 设置用户引导状态\r\n      const setUserRes = await setUserGuideStatus(jsonData);\r\n      if (setUserRes.code === 0) {\r\n        // 再次获取用户引导状态\r\n        const updatedRes = await getUserGuideStatus();\r\n        guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n      }\r\n      if (guideStatus) {\r\n        localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n      }\r\n    },\r\n    setBlackTheme(theme) {\r\n      if (theme === \"white\") {\r\n        this.$refs.white.style.zIndex = 23;\r\n        this.$refs.black.style.zIndex = 22;\r\n        this.tsStatus = false;\r\n      } else {\r\n        this.$refs.white.style.zIndex = 22;\r\n        this.$refs.black.style.zIndex = 23;\r\n        console.log(\"tsStatus =true;\")\r\n        if(this.$route.name == 'index') {\r\n          this.tsStatus = true;\r\n        } else {\r\n          this.tsStatus = false;\r\n        }\r\n      }\r\n    },\r\n    async init() {\r\n      await this.getCourseList();\r\n      await this.getNowCourse();\r\n      await this.getUserRemindList();\r\n    },\r\n    async getUserRemindList() {\r\n      try {\r\n        // EventBus.$emit(\"openMindMessage\", this.mindMessage)\r\n        const res = await getUserRemindList();\r\n        if(res && res.code == 0 && res.data && res.data.length > 0) {\r\n          this.mindMessage = res.data[0];\r\n          EventBus.$emit(\"openMindMessage\", this.mindMessage)\r\n          // 首页消息提示弹窗显示后关闭时要去设置消息已读并且请求用户未读消息数接口\r\n          this.mindMessageTimeout = setTimeout(() => {\r\n            clearTimeout(this.mindMessageTimeout)\r\n            this.mindMessageTimeout = null;\r\n            // this.setMessageRead();\r\n            EventBus.$emit(\"closeMindMessage\");\r\n          }, this.mindMessageDuration);\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    async setMessageRead() {\r\n      try {\r\n        const res = await setMessageRead({\r\n          msg_id: this.mindMessage.msg_id,\r\n        });\r\n        this.mindMessage = null;\r\n        // 每次设置已读之后，去请求用户未读消息数接口\r\n        this.getUserMessageUnread();\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    // 获取用户未读消息数\r\n    async getUserMessageUnread() {\r\n      try {\r\n        const res = await getUserMessageUnread();\r\n        if(res.code == 0) {\r\n          this.$store.dispatch(\"setUserMessageUnread\", res.data[0].count);\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    },\r\n    // handleVisibilityChange() {\r\n    //   if(this.isApple && document.hidden) {\r\n    //     introJs().exit();\r\n    //     EventBus.$emit(\"disableReadOnlyMode\");\r\n    //     setTimeout(() => {\r\n    //       console.log(\"visibilitychange\")\r\n    //       if (this.isPageHideFired) {\r\n    //         console.log('按Home键或切换应用');\r\n    //       } else {\r\n    //         console.log('切换标签页');\r\n    //       }\r\n    //       isPageHideFired = false; // 重置状态\r\n    //     }, 100);\r\n    //   }\r\n    // }\r\n  },\r\n  mounted() {\r\n    console.log(\"Index init\");\r\n    // this.init();\r\n    // const isApple = isAppleDevice();\r\n    // const isMobile = getIsMobile();\r\n    // this.isApple = isApple && isMobile;\r\n    // document.addEventListener('visibilitychange', this.handleVisibilityChange);\r\n    // 监听页面隐藏事件（在iOS Safari中，按Home键会触发，切换标签页不会）\r\n    // document.addEventListener('pagehide', () => {\r\n    //   this.isPageHideFired = true;\r\n    //   alert(\"pagehide\");\r\n    //   console.log(\"pagehide\")\r\n    // });\r\n    EventBus.$on(\"getCourseList\", () => {\r\n      this.getCourseList();\r\n    });\r\n    EventBus.$on(\"getNowCourse\", () => {\r\n      this.getNowCourse();\r\n    });\r\n    EventBus.$on(\"disableReadOnlyMode\", (whiteCom) => {\r\n      this.disableReadOnlyMode();\r\n    });\r\n    EventBus.$on(\"enableReadOnlyMode\", (whiteCom) => {\r\n      this.enableReadOnlyMode();\r\n    });\r\n    EventBus.$on(\"disableOperateMode\", (disableOperateMode) => {\r\n      console.log(\"disableOperateMode:\",disableOperateMode)\r\n      this.disableOperateMode = disableOperateMode;;\r\n    });\r\n\r\n    EventBus.$on(\"goBlackConfirmed\", () => {\r\n      if(this.mindType == 1) {\r\n        this.goBlack11();\r\n      } else {\r\n        this.goBlack2();\r\n      }\r\n    });\r\n\r\n    this.$store.dispatch(\"clearHistoryOperate\");\r\n    if (this.course && this.course.length) {\r\n      const course = JSON.parse(this.course);\r\n      this.courseObj = course[0];\r\n    } else {\r\n      this.courseObj = {};\r\n    }\r\n    this.pageName = this.pageNameStore;\r\n    if (this.pageName === \"white\") {\r\n      // 白牌\r\n      this.BStatus = \"bDefault\";\r\n      this.WStatus = \"default\";\r\n      this.tsStatus = false;\r\n      this.tsStatus1 = true;\r\n      this.rightStatus = \"rightDefault\";\r\n      this.leftStatus = \"leftDefault\";\r\n    } else {\r\n      // 黑牌\r\n      this.BStatus = \"bDefault1\";\r\n      this.WStatus = \"default1\";\r\n      console.log(\"tsStatus =true;\")\r\n      this.tsStatus = true;\r\n      this.tsStatus1 = false;\r\n      this.rightStatus = \"rightDefault1\";\r\n      this.leftStatus = \"leftDefault1\";\r\n    }\r\n    this.getIsFullscreenMode();\r\n    this.isSafariFn();\r\n    // 返回白牌心得详情\r\n    EventBus.$on(\"goWhite1\", () => {\r\n      console.log(\"goWhite1\");\r\n      this.goWhite1();\r\n    });\r\n    EventBus.$on(\"index_initGuide\", () => {\r\n      this.index_initGuide();\r\n    });\r\n\r\n    EventBus.$on(\"setBlackTheme\", (theme) => {\r\n      this.setBlackTheme(theme);\r\n    });\r\n\r\n    EventBus.$on(\"CultureIndex\", () => {\r\n      if(this.pageName === \"black\") {\r\n        let timeout =  setTimeout(() => {\r\n          clearTimeout(timeout);\r\n          EventBus.$emit(\"goWhite1\");\r\n        }, 500);\r\n      }\r\n    });\r\n\r\n    EventBus.$on(\"getUserMessageUnread\", () => {\r\n      this.getUserMessageUnread();\r\n    });\r\n\r\n\r\n\r\n    //引导\r\n    this.getTimeInterval();\r\n    this.getUserMessageUnread();\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n* {\r\n  padding: 0;\r\n  margin: 0;\r\n}\r\n/deep/ .el-button:hover,\r\n/deep/ .el-button:visited,\r\n/deep/ .el-button:focus {\r\n  background: transparent;\r\n}\r\n.bg-white {\r\n  z-index: 106;\r\n  height: calc(100% - 54px);\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n  position: fixed;\r\n  top: 54px;\r\n  left: 0;\r\n  width: 100%;\r\n  border-radius: 0;\r\n}\r\n.bg-white-subpage {\r\n  z-index: 105;\r\n}\r\n.full {\r\n  margin-top: 0;\r\n}\r\n.contentBlack-box {\r\n  background-color: #1d2223;\r\n  overflow: auto;\r\n  width: 100%;\r\n}\r\n.bg-main {\r\n  z-index: 101;\r\n}\r\n.foxue-container {\r\n  position: relative;\r\n  width: 100%;\r\n  // overflow-y: hidden;\r\n  overflow-x: hidden;\r\n  height: 100%;\r\n  min-width: 1024px;\r\n\r\n}\r\n.black {\r\n  position: absolute;\r\n  z-index: 22;\r\n  width: 100%;\r\n  height: calc(100% - 54px);\r\n  min-height: 667px;\r\n  // min-height: 768px;\r\n  background: rgb(31, 31, 31);\r\n  margin: 0;\r\n  padding: 0;\r\n  top: 54px;\r\n  color: #fff;\r\n  pointer-events: inherit;\r\n}\r\n.fp {\r\n  font-size: 50px;\r\n  font-weight: bold;\r\n  margin-top: 50px;\r\n}\r\n.white {\r\n  position: absolute;\r\n  z-index: 22;\r\n  width: 100%;\r\n  height: calc(100% - 54px);\r\n  min-height: 667px;\r\n  // min-height: 768px;\r\n  top: 54px;\r\n  background: #fff;\r\n  margin: 0;\r\n  padding: 0;\r\n  right: -79%;\r\n  color: #000;\r\n  pointer-events: inherit;\r\n  overflow-y: hidden;\r\n  // height: 100%;\r\n}\r\n\r\n.default {\r\n  right: 0;\r\n}\r\n.default1 {\r\n  right: -100%;\r\n}\r\n.bDefault {\r\n  left: -100%;\r\n}\r\n.bDefault1 {\r\n  left: 0%;\r\n}\r\n\r\n.hDefault {\r\n  opacity: 0;\r\n  z-index: 0 !important;\r\n}\r\n.cDefault {\r\n  left: -100%;\r\n}\r\n.hStatus1 {\r\n  -webkit-animation: hStatus1 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: hStatus1 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes hStatus1 {\r\n  0% {\r\n    opacity: 1;\r\n    left: 0%;\r\n  }\r\n  100% {\r\n    left: 0%;\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes hStatus1 {\r\n  0% {\r\n    opacity: 1;\r\n    left: 0%;\r\n  }\r\n  100% {\r\n    left: 0%;\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n.mBlack {\r\n  -webkit-animation: left-to-right 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-to-right 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes left-to-right {\r\n  0% {\r\n    left: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    left: 0;\r\n    height: calc(100% - 54px);\r\n    top: 54px;\r\n  }\r\n}\r\n@keyframes left-to-right {\r\n  0% {\r\n    left: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    left: 0;\r\n    height: calc(100% - 54px);\r\n    top: 54px;\r\n  }\r\n}\r\n.mBlack1 {\r\n  -webkit-animation: left-to-right1 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-to-right1 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes left-to-right1 {\r\n  0% {\r\n    left: -79%;\r\n  }\r\n  100% {\r\n    left: -100%;\r\n  }\r\n}\r\n\r\n@keyframes left-to-right1 {\r\n  0% {\r\n    left: -79%;\r\n  }\r\n  100% {\r\n    left: -100%;\r\n  }\r\n}\r\n.mBlack2 {\r\n  -webkit-animation: left-to-right2 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-to-right2 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes left-to-right2 {\r\n  0% {\r\n    left: -100%;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n@keyframes left-to-right2 {\r\n  0% {\r\n    left: -100%;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n.mBlack3 {\r\n  -webkit-animation: left-to-right3 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-to-right3 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes left-to-right3 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    left: -100%;\r\n  }\r\n}\r\n@keyframes left-to-right3 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    left: -100%;\r\n  }\r\n}\r\n\r\n.mWhite {\r\n  -webkit-animation: right-to-left 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-to-left 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes right-to-left {\r\n  0% {\r\n    left: 79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n    // transform: scale(1);\r\n  }\r\n  100% {\r\n    left: 0;\r\n    height: calc(100% - 54px);\r\n    top: 54px;\r\n    // transform: scale(1);\r\n  }\r\n}\r\n\r\n@keyframes right-to-left {\r\n  0% {\r\n    left: 79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n    // transform: scale(1);\r\n  }\r\n  100% {\r\n    left: 0;\r\n    height: calc(100% - 54px);\r\n    top: 54px;\r\n    // transform: scale(1);\r\n  }\r\n}\r\n.mWhite1 {\r\n  -webkit-animation: right-to-left1 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-to-left1 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes right-to-left1 {\r\n  0% {\r\n    right: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    right: -100%;\r\n    height: calc(100% - 54px);\r\n    top: 54px;\r\n  }\r\n}\r\n@keyframes right-to-left1 {\r\n  0% {\r\n    right: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n  100% {\r\n    right: -100%;\r\n    height: calc(100% - 54px);\r\n    top: 54px;\r\n  }\r\n}\r\n.mWhite2 {\r\n  -webkit-animation: right-to-left2 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-to-left2 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes right-to-left2 {\r\n  0% {\r\n    right: -100%;\r\n  }\r\n  100% {\r\n    right: 0;\r\n  }\r\n}\r\n\r\n@keyframes right-to-left2 {\r\n  0% {\r\n    right: -100%;\r\n  }\r\n  100% {\r\n    right: 0;\r\n  }\r\n}\r\n.mWhite3 {\r\n  -webkit-animation: right-to-left3 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-to-left3 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes right-to-left3 {\r\n  0% {\r\n    right: 0;\r\n  }\r\n  100% {\r\n    right: -100%;\r\n  }\r\n}\r\n\r\n@keyframes right-to-left3 {\r\n  0% {\r\n    right: 0;\r\n  }\r\n  100% {\r\n    right: -100%;\r\n  }\r\n}\r\n\r\n.mWhite5 {\r\n  -webkit-animation: mWhite5 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: mWhite5 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes mWhite5 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    left: 80px;\r\n  }\r\n}\r\n\r\n@keyframes mWhite5 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    left: 80px;\r\n  }\r\n}\r\n\r\n.mWhite6 {\r\n  -webkit-animation: mWhite6 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: mWhite6 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes mWhite6 {\r\n  0% {\r\n    left: 80px;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n\r\n@keyframes mWhite6 {\r\n  0% {\r\n    left: 80px;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n\r\n.mBlack6 {\r\n  -webkit-animation: mBlack6 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: mBlack6 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes mBlack6 {\r\n  0% {\r\n    right: 0;\r\n  }\r\n  100% {\r\n    right: 80px;\r\n  }\r\n}\r\n\r\n@keyframes mBlack6 {\r\n  0% {\r\n    right: 0;\r\n  }\r\n  100% {\r\n    right: 80px;\r\n  }\r\n}\r\n\r\n.mBlack7 {\r\n  -webkit-animation: mBlack7 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: mBlack7 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes mBlack7 {\r\n  0% {\r\n    right: 80px;\r\n  }\r\n  100% {\r\n    right: 0;\r\n  }\r\n}\r\n\r\n@keyframes mBlack7 {\r\n  0% {\r\n    right: 80px;\r\n  }\r\n  100% {\r\n    right: 0;\r\n  }\r\n}\r\n\r\n.mid {\r\n  position: absolute;\r\n  z-index: 20;\r\n  width: calc(100% - 20px);\r\n  height: calc(100% - 20px);\r\n  border: 10px solid #000;\r\n  background-color: rgba(0, 0, 0, 0.1);\r\n  pointer-events: all;\r\n}\r\n// ---------------------\r\n.menus {\r\n  position: absolute;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n  width: 42px;\r\n  height: 543px;\r\n  min-height: 522px;\r\n  // background-color: #fff;\r\n  background-color: rgba(255, 255, 255, 0.9);\r\n  z-index: 1;\r\n  cursor: pointer;\r\n  writing-mode: vertical-rl;\r\n  line-height: 50px;\r\n  font-size: 14px;\r\n  top: 136px;\r\n  border-radius: 100px;\r\n}\r\n.menusB1 {\r\n  // transform: rotateY(0deg);\r\n  -webkit-animation: menus-1 1s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: menus-1 1s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes menus-1 {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n@keyframes menus-1 {\r\n  0% {\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 0;\r\n  }\r\n}\r\n.menuUl {\r\n  width: 80px;\r\n  height: 100%;\r\n  display: flex;\r\n  flex-direction: row;\r\n  justify-content: center;\r\n  align-items: center;\r\n  list-style: none;\r\n}\r\n.menu {\r\n  padding: 10px 0;\r\n}\r\n.mDefault {\r\n  opacity: 0;\r\n}\r\n// --------------------\r\n.partition {\r\n  position: absolute;\r\n  width: 80px;\r\n  height: 100%;\r\n  // top: 25%;\r\n  // left:calc(50% - 25px);\r\n  background-color: #4a555d;\r\n  z-index: 30;\r\n  // border: 1px solid rgb(130, 130, 130);\r\n  // border-radius: 10px;\r\n  cursor: pointer;\r\n  //writing-mode: vertical-rl;\r\n  line-height: 50px;\r\n  font-size: 30px;\r\n  .centerLeft {\r\n    // width: 66%;\r\n    height: 100%;\r\n    cursor: pointer;\r\n    /* 3D变形 */\r\n    //transform-style: preserve-3d;\r\n    //-webkit-perspective: 500;\r\n    //-moz-perspective: 500;\r\n    //-ms-perspective: 500;\r\n    //perspective: 500;\r\n    position: absolute;\r\n    left: 0;\r\n    top: 0;\r\n    border-top: 26px solid transparent;\r\n    border-bottom: 26px solid transparent;\r\n    width: 0px;\r\n    border-left: 40px solid rgb(31, 31, 31);\r\n    .centerLeft-in {\r\n      display: none;\r\n      //background: rgb(31, 31, 31);\r\n      //height: 100%;\r\n      //color: #fff;\r\n      //opacity: 1;\r\n      //transform: rotateY(36deg);\r\n      //width: 100%;\r\n    }\r\n  }\r\n  .safari-centerLeft {\r\n    width: 100%;\r\n    height: 95%;\r\n    -webkit-perspective: 250;\r\n    -moz-perspective: 250;\r\n    -ms-perspective: 250;\r\n    perspective: 250;\r\n    left: 0;\r\n    top: 2.5%;\r\n  }\r\n  .safari-centerLeft1 {\r\n    width: 52%;\r\n    height: 97%;\r\n    -webkit-perspective: 250;\r\n    -moz-perspective: 250;\r\n    -ms-perspective: 250;\r\n    perspective: 250;\r\n    left: 0;\r\n  }\r\n  .safari-centerLeft,\r\n  .safari-centerLeft1 {\r\n    .centerLeft-in {\r\n      -webkit-transform: rotateY(18deg);\r\n      transform: rotateY(18deg);\r\n    }\r\n  }\r\n  .centerRight {\r\n    //width: 40px;\r\n    height: 100%;\r\n    cursor: pointer;\r\n    /* 3D变形 */\r\n    //transform-style: preserve-3d;\r\n    //-webkit-perspective: 500;\r\n    //-moz-perspective: 500;\r\n    //-ms-perspective: 500;\r\n    //perspective: 500;\r\n    position: absolute;\r\n    right: 0;\r\n    top: 0;\r\n\r\n    border-top: 26px solid transparent;\r\n    border-bottom: 26px solid transparent;\r\n    width: 0px;\r\n    border-right: 40px solid #f3f5f6;\r\n    .centerRight-in {\r\n      //background: #f3f5f6;\r\n      //height: 100%;\r\n      //opacity: 1;\r\n      // transform: rotateY(-36deg);\r\n      // width: 100%;\r\n      display: none;\r\n    }\r\n  }\r\n  .safari-centerRight {\r\n    width: 100%;\r\n    height: 95%;\r\n    -webkit-perspective: 250;\r\n    -moz-perspective: 250;\r\n    -ms-perspective: 250;\r\n    perspective: 250;\r\n    right: 0;\r\n    top: 2.5%;\r\n  }\r\n  .safari-centerRight1 {\r\n    width: 52%;\r\n    height: 97%;\r\n    -webkit-perspective: 250;\r\n    -moz-perspective: 250;\r\n    -ms-perspective: 250;\r\n    perspective: 250;\r\n    right: 0;\r\n  }\r\n  .safari-centerRight,\r\n  .safari-centerRight1 {\r\n    .centerRight-in {\r\n      -webkit-transform: rotateY(-18deg);\r\n      transform: rotateY(-18deg);\r\n    }\r\n  }\r\n}\r\n.left {\r\n  width: 30px;\r\n  height: 42px;\r\n  // line-height: 42px;\r\n  // color: #71afbb;\r\n  // font-size: 24px;\r\n  // background: rgba(255, 255, 255, 0.1);\r\n  // border-radius: 8px 0 0 8px;\r\n  position: absolute;\r\n  top: 85%;\r\n  left: 21%;\r\n  background: url(\"~@/assets/img/center_left0.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n  margin-left: -30px;\r\n  cursor: pointer;\r\n  z-index: 30;\r\n  // text-align: center;\r\n}\r\n.left0 {\r\n  background: url(\"~@/assets/img/center_left0.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.left1 {\r\n  background: url(\"~@/assets/img/center_left1.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.left2 {\r\n  background: url(\"~@/assets/img/center_left2.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.left3 {\r\n  background: url(\"~@/assets/img/center_left3.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.right {\r\n  width: 30px;\r\n  height: 42px;\r\n  // line-height: 42px;\r\n  // color: #71afbb;\r\n  // font-size: 24px;\r\n  // background: rgba(255, 255, 255, 0.7);\r\n  // border-radius: 0 8px 8px 0;\r\n  position: absolute;\r\n  top: 85%;\r\n  right: 21%;\r\n\r\n  margin-right: -30px;\r\n  cursor: pointer;\r\n  z-index: 30;\r\n  // text-align: center;\r\n}\r\n.right0 {\r\n  background: url(\"~@/assets/img/center_right0.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.right1 {\r\n  background: url(\"~@/assets/img/center_right1.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.right2 {\r\n  background: url(\"~@/assets/img/center_right2.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.right3 {\r\n  background: url(\"~@/assets/img/center_right3.svg\") 0 0 no-repeat;\r\n  background-size: 100% 100%;\r\n}\r\n.ltStatus {\r\n  // -webkit-transition: all 1s;\r\n  // -moz-transition: all 1s;\r\n  // -ms-transition: all 1s;\r\n  // -o-transition: all 1s;\r\n  // transition: all 1s;\r\n  // opacity: 0;\r\n  -webkit-animation: ltright-to-left 1s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltright-to-left 1s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltright-to-left {\r\n  0% {\r\n    left: calc(50% - 25px);\r\n  }\r\n  100% {\r\n    left: calc(100%);\r\n  }\r\n}\r\n\r\n@keyframes ltright-to-left {\r\n  0% {\r\n    left: calc(50% - 25px);\r\n  }\r\n  100% {\r\n    left: calc(100%);\r\n  }\r\n}\r\n.ltsShow {\r\n  -webkit-animation: ltsright-to-left 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltsright-to-left 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltsright-to-left {\r\n  0% {\r\n    left: -50px;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n\r\n@keyframes ltsright-to-left {\r\n  0% {\r\n    left: -50px;\r\n  }\r\n  100% {\r\n    left: 0;\r\n  }\r\n}\r\n.ltsHidden {\r\n  -webkit-animation: ltsright-to-left1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltsright-to-left1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltsright-to-left1 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    left: -80px;\r\n  }\r\n}\r\n\r\n@keyframes ltsright-to-left1 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    left: -80px;\r\n  }\r\n}\r\n.rtStatus {\r\n  // -webkit-transition: all 1s;\r\n  // -moz-transition: all 1s;\r\n  // -ms-transition: all 1s;\r\n  // -o-transition: all 1s;\r\n  // transition: all 1s;\r\n  // opacity: 0;\r\n  -webkit-animation: rtleft-to-right 1s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtleft-to-right 1s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  left: -50px;\r\n}\r\n@-webkit-keyframes rtleft-to-right {\r\n  0% {\r\n    left: calc(50% - 25px);\r\n  }\r\n  100% {\r\n    left: -50px;\r\n  }\r\n}\r\n\r\n@keyframes rtleft-to-right {\r\n  0% {\r\n    left: calc(50% - 25px);\r\n  }\r\n  100% {\r\n    left: -50px;\r\n  }\r\n}\r\n.rtsShow {\r\n  -webkit-animation: rtsright-to-left 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtsright-to-left 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtsright-to-left {\r\n  0% {\r\n    left: calc(100%);\r\n  }\r\n  100% {\r\n    left: calc(100% - 80px);\r\n  }\r\n}\r\n\r\n@keyframes rtsright-to-left {\r\n  0% {\r\n    left: calc(100%);\r\n  }\r\n  100% {\r\n    left: calc(100% - 80px);\r\n  }\r\n}\r\n.rtsHidden {\r\n  -webkit-animation: rtsright-to-left1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtsright-to-left1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtsright-to-left1 {\r\n  0% {\r\n    left: calc(100% - 80px);\r\n  }\r\n  100% {\r\n    left: calc(100%);\r\n  }\r\n}\r\n\r\n@keyframes rtsright-to-left1 {\r\n  0% {\r\n    left: calc(100% - 80px);\r\n  }\r\n  100% {\r\n    left: calc(100%);\r\n  }\r\n}\r\n.ltishi {\r\n  position: absolute;\r\n  bottom: 50px;\r\n  right: 0;\r\n  pointer-events: all;\r\n  z-index: 30;\r\n  width: 23px;\r\n  height: 52px;\r\n  background: rgba(255, 255, 255, 0.1);\r\n  border-radius: 6px 0 0 6px;\r\n  cursor: pointer;\r\n  label {\r\n    width: 3px;\r\n    height: 15px;\r\n    display: block;\r\n    margin-left: 11px;\r\n    cursor: pointer;\r\n    &:first-child {\r\n      border-top-left-radius: 100px;\r\n      border-top-right-radius: 100px;\r\n      margin-top: 12px;\r\n    }\r\n    &:last-child {\r\n      border-bottom-left-radius: 100px;\r\n      border-bottom-right-radius: 100px;\r\n    }\r\n  }\r\n}\r\n.myLtishi{\r\n  transition: all 0.3s;\r\n\r\n  > label:first-child{\r\n    transition: all 0.3s;\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    margin-top: 12px;\r\n  }\r\n  > label:last-child{\r\n    transition: all 0.3s;\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n  }\r\n}\r\n.myLtishi:hover{\r\n  width: 30px;\r\n  > label:first-child{\r\n    transform: translate(2px, 3px) rotate(45deg) scaleX(0.9);\r\n    border-bottom-left-radius: 70px;\r\n  }\r\n  > label:last-child{\r\n    transform: translate(2px, -3px) rotate(-45deg) scaleX(0.9);\r\n    border-top-left-radius: 70px;\r\n  }\r\n}\r\n\r\n.Rtishi {\r\n  position: absolute;\r\n  bottom: 50px;\r\n  left: 0;\r\n  z-index: 30;\r\n  width: 23px;\r\n  height: 52px;\r\n  background: rgba(255, 255, 255, 0.7);\r\n  border-radius: 0 6px 6px 0;\r\n  cursor: pointer;\r\n  label {\r\n    width: 3px;\r\n    height: 15px;\r\n    display: block;\r\n    margin-left: 9px;\r\n    cursor: pointer;\r\n    &:first-child {\r\n      border-top-left-radius: 100px;\r\n      border-top-right-radius: 100px;\r\n      margin-top: 12px;\r\n    }\r\n    &:last-child {\r\n      border-bottom-left-radius: 100px;\r\n      border-bottom-right-radius: 100px;\r\n    }\r\n  }\r\n}\r\n.myRtishi{\r\n  transition: all 0.3s;\r\n\r\n  > label:first-child{\r\n    transition: all 0.3s;\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    margin-top: 12px;\r\n  }\r\n  > label:last-child{\r\n    transition: all 0.3s;\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    border-top-right-radius: 0;\r\n  }\r\n}\r\n.myRtishi:hover{\r\n  width: 30px;\r\n  > label:first-child{\r\n    transform: translate(4px, 3px) rotate(-45deg) scaleX(0.9);\r\n    border-bottom-right-radius: 70px;\r\n  }\r\n  > label:last-child{\r\n    transform: translate(4px, -3px) rotate(45deg) scaleX(0.9);\r\n    border-top-right-radius: 70px;\r\n  }\r\n}\r\n\r\n.ltishiAni {\r\n  -webkit-animation: ltishiAniTransition 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltishiAniTransition 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltishiAniTransition {\r\n  0% {\r\n    // transform: scaleX(1);\r\n    width: 23px;\r\n  }\r\n  100% {\r\n    // transform: scaleX(2);\r\n    width: 30px;\r\n  }\r\n}\r\n\r\n.ltishiAnii {\r\n  -webkit-animation: ltishiAniTransitionn 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltishiAniTransitionn 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltishiAniTransitionn {\r\n  0% {\r\n    // transform: scaleX(2);\r\n    width: 30px;\r\n  }\r\n  100% {\r\n    // transform: scaleX(1);\r\n    width: 23px;\r\n  }\r\n}\r\n\r\n.ltishiAni1 {\r\n  -webkit-animation: ltishiAniTransition1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltishiAniTransition1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltishiAniTransition1 {\r\n  0% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    margin-top: 12px;\r\n  }\r\n\r\n  100% {\r\n    transform: translate(2px, 3px) rotate(45deg) scaleX(0.9);\r\n    border-bottom-left-radius: 70px;\r\n  }\r\n}\r\n.ltishiAni2 {\r\n  -webkit-animation: ltishiAniTransition2 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltishiAniTransition2 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltishiAniTransition2 {\r\n  0% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    border-top-left-radius: 0;\r\n  }\r\n  100% {\r\n    transform: translate(2px, -3px) rotate(-45deg) scaleX(0.9);\r\n    border-top-left-radius: 70px;\r\n  }\r\n}\r\n.ltishiAni3 {\r\n  -webkit-animation: ltishiAniTransition3 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltishiAniTransition3 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltishiAniTransition3 {\r\n  0% {\r\n    transform: translate(2px, 3px) rotate(45deg) scaleX(0.9);\r\n  }\r\n  100% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    margin-top: 12px;\r\n  }\r\n}\r\n.ltishiAni4 {\r\n  -webkit-animation: ltishiAniTransition4 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: ltishiAniTransition4 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes ltishiAniTransition4 {\r\n  0% {\r\n    transform: translate(2px, -3px) rotate(-45deg) scaleX(0.9);\r\n  }\r\n  100% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n  }\r\n}\r\n\r\n.RtishiAni {\r\n  -webkit-animation: rtishiAniTransition 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtishiAniTransition 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtishiAniTransition {\r\n  0% {\r\n    width: 23px;\r\n  }\r\n  100% {\r\n    width: 30px;\r\n  }\r\n}\r\n\r\n.RtishiAnii {\r\n  -webkit-animation: rtishiAniTransitionn 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtishiAniTransitionn 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtishiAniTransitionn {\r\n  0% {\r\n    width: 30px;\r\n  }\r\n  100% {\r\n    width: 23px;\r\n  }\r\n}\r\n\r\n.RtishiAni1 {\r\n  -webkit-animation: rtishiAniTransition1 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtishiAniTransition1 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtishiAniTransition1 {\r\n  0% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    margin-top: 12px;\r\n  }\r\n  100% {\r\n    transform: translate(4px, 3px) rotate(-45deg) scaleX(0.9);\r\n    border-bottom-right-radius: 70px;\r\n  }\r\n}\r\n.RtishiAni2 {\r\n  -webkit-animation: rtishiAniTransition2 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtishiAniTransition2 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtishiAniTransition2 {\r\n  0% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    border-top-right-radius: 0;\r\n  }\r\n  100% {\r\n    transform: translate(4px, -3px) rotate(45deg) scaleX(0.9);\r\n    border-top-right-radius: 70px;\r\n  }\r\n}\r\n.RtishiAni3 {\r\n  -webkit-animation: rtishiAniTransition3 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtishiAniTransition3 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtishiAniTransition3 {\r\n  0% {\r\n    transform: translate(4px, 3px) rotate(-45deg) scaleX(0.9);\r\n    border-bottom-right-radius: 70px;\r\n  }\r\n  100% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    margin-top: 12px;\r\n  }\r\n}\r\n.RtishiAni4 {\r\n  -webkit-animation: rtishiAniTransition4 0.3s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: rtishiAniTransition4 0.3s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes rtishiAniTransition4 {\r\n  0% {\r\n    transform: translate(4px, -3px) rotate(45deg) scaleX(0.9);\r\n    border-top-right-radius: 70px;\r\n  }\r\n  100% {\r\n    transform: translate(0, 0) rotate(0deg) scaleX(1);\r\n    border-top-right-radius: 0;\r\n  }\r\n}\r\n//中间缓冲效果\r\n//从白板到中间\r\n.mwhite4 {\r\n  -webkit-animation: wleft-to-rigt 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: wleft-to-rigt 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  border-radius: 14px;\r\n}\r\n@-webkit-keyframes wleft-to-rigt {\r\n  0% {\r\n    left: 0%;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n  }\r\n  100% {\r\n    left: 79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n}\r\n\r\n@keyframes wleft-to-rigt {\r\n  0% {\r\n    left: 0%;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n    // transform: scale(1);\r\n  }\r\n  100% {\r\n    left: 79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n    // transform: scale(0.9);\r\n  }\r\n}\r\n.mBlack4 {\r\n  -webkit-animation: left-to-right4 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-to-right4 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  border-radius: 14px;\r\n}\r\n@-webkit-keyframes left-to-right4 {\r\n  0% {\r\n    left: -100%;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n  }\r\n  100% {\r\n    left: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n}\r\n@keyframes left-to-right4 {\r\n  0% {\r\n    left: -100%;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n  }\r\n  // 60% {\r\n  //   left: -80%;\r\n  // }\r\n  100% {\r\n    left: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n}\r\n\r\n//从黑板到中间\r\n.mwhite5 {\r\n  -webkit-animation: wright-to-left 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: wright-to-left 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  border-radius: 14px;\r\n  // height: calc(100% - 54px);\r\n}\r\n@-webkit-keyframes wright-to-left {\r\n  0% {\r\n    right: -100%;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n  }\r\n  // 60% {\r\n  //   right: -80%;\r\n  // }\r\n  100% {\r\n    right: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n}\r\n\r\n@keyframes wright-to-left {\r\n  0% {\r\n    right: -100%;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n  }\r\n  100% {\r\n    right: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n}\r\n.mBlack5 {\r\n  -webkit-animation: left-to-right5 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-to-right5 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  border-radius: 14px;\r\n  // height: calc(100% - 54px);\r\n}\r\n@-webkit-keyframes left-to-right5 {\r\n  0% {\r\n    left: 0;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n  }\r\n  100% {\r\n    left: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n}\r\n@keyframes left-to-right5 {\r\n  0% {\r\n    left: 0;\r\n    height: calc(100% - 54px);\r\n    top: 28px;\r\n  }\r\n\r\n  100% {\r\n    left: -79%;\r\n    height: calc(100% - 94px);\r\n    top: 73px;\r\n  }\r\n}\r\n\r\n//中间折叠区域\r\n.center {\r\n  width: 0;\r\n  height: 100%;\r\n  position: absolute;\r\n  z-index: 20;\r\n  .centerLeft {\r\n    width: 50%;\r\n    height: 82%;\r\n    min-height: 629px;\r\n    cursor: pointer;\r\n    /* 3D变形 */\r\n    // transform-style: preserve-3d;\r\n    // -webkit-perspective: 1000;\r\n    // -moz-perspective: 1000;\r\n    // -ms-perspective: 1000;\r\n    // perspective: 1000;\r\n    background: url(\"~@/assets/img/centerleft_bg.png\") 0 0 no-repeat;\r\n    background-size: 100% 100%;\r\n    position: absolute;\r\n    top: 12%;\r\n    &-in {\r\n      // background: rgb(31, 31, 31);\r\n      height: 100%;\r\n      color: #fff;\r\n      opacity: 0;\r\n      // transform: rotateY(14deg);\r\n    }\r\n  }\r\n  .centerRight {\r\n    width: 50%;\r\n    height: 82%;\r\n    min-height: 629px;\r\n    cursor: pointer;\r\n    /* 3D变形 */\r\n    // transform-style: preserve-3d;\r\n    // -webkit-perspective: 1000;\r\n    // -moz-perspective: 1000;\r\n    // -ms-perspective: 1000;\r\n    // perspective: 1000;\r\n    background: url(\"~@/assets/img/centerRight_bg.png\") 0 0 no-repeat;\r\n    background-size: 100% 100%;\r\n    position: absolute;\r\n    right: 0;\r\n    top: 12%;\r\n    &-in {\r\n      // background: #f3f5f6;\r\n      height: 100%;\r\n      // border-right:1px solid #000;\r\n      opacity: 0;\r\n      // transform: rotateY(-14deg);\r\n    }\r\n  }\r\n}\r\n.centerStauts1 {\r\n  -webkit-animation: center-1 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: center-1 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes center-1 {\r\n  0% {\r\n    width: 58%;\r\n    left: 21%;\r\n  }\r\n  100% {\r\n    width: 0;\r\n    left: 100%;\r\n    opacity: 0;\r\n  }\r\n}\r\n@keyframes center-1 {\r\n  0% {\r\n    width: 58%;\r\n    left: 21%;\r\n  }\r\n  100% {\r\n    width: 0;\r\n    left: 100%;\r\n    opacity: 0;\r\n  }\r\n}\r\n.centerStauts3 {\r\n  -webkit-animation: center-3 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: center-3 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes center-3 {\r\n  0% {\r\n    width: 58%;\r\n    left: 21%;\r\n  }\r\n  100% {\r\n    width: 0;\r\n    left: 0;\r\n    opacity: 0;\r\n  }\r\n}\r\n@keyframes center-3 {\r\n  0% {\r\n    width: 58%;\r\n    left: 21%;\r\n  }\r\n  100% {\r\n    width: 0;\r\n    left: 0;\r\n    opacity: 0;\r\n  }\r\n}\r\n.centerStauts4 {\r\n  -webkit-animation: center-4 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: center-4 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes center-4 {\r\n  0% {\r\n    right: 0;\r\n  }\r\n  100% {\r\n    width: 58%;\r\n    right: 21%;\r\n  }\r\n}\r\n@keyframes center-4 {\r\n  0% {\r\n    right: 0;\r\n  }\r\n  100% {\r\n    width: 58%;\r\n    right: 21%;\r\n  }\r\n}\r\n.centerStauts2 {\r\n  -webkit-animation: center-2 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: center-2 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes center-2 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    width: 58%;\r\n    left: 21%;\r\n  }\r\n}\r\n@keyframes center-2 {\r\n  0% {\r\n    left: 0;\r\n  }\r\n  100% {\r\n    width: 58%;\r\n    left: 21%;\r\n  }\r\n}\r\n.tDefault {\r\n  display: none;\r\n}\r\n//点击侧边条，侧边条移动位置\r\n//白版，侧边条从左边移到中间\r\n.partltoc {\r\n  -webkit-animation: left-to-center 1s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-to-center 1s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  display: block;\r\n}\r\n@-webkit-keyframes left-to-center {\r\n  0% {\r\n    left: calc(50%);\r\n    opacity: 0;\r\n  }\r\n  // 50% {\r\n  //   left: calc(20% + 10%);\r\n  // }\r\n  100% {\r\n    left: calc(50% - 5%);\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n@keyframes left-to-center {\r\n  0% {\r\n    left: calc(50%);\r\n    opacity: 0;\r\n  }\r\n  // 50% {\r\n  //   left: calc(20% + 10%);\r\n  // }\r\n  100% {\r\n    left: calc(50% - 5%);\r\n    opacity: 1;\r\n  }\r\n}\r\n//黑版，侧边条从右边移到中间\r\n.partrtoc {\r\n  -webkit-animation: right-to-center 1s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-to-center 1s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n  display: block;\r\n}\r\n@-webkit-keyframes right-to-center {\r\n  0% {\r\n    right: calc(50%);\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    right: calc(50% - 5%);\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n@keyframes right-to-center {\r\n  0% {\r\n    right: calc(50%);\r\n    opacity: 0;\r\n  }\r\n  100% {\r\n    right: calc(50% - 5%);\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n// -----------------------\r\n.leftDefault {\r\n  left: -100%;\r\n}\r\n.leftDefault1 {\r\n  left: 0%;\r\n}\r\n.rightDefault {\r\n  right: -100%;\r\n}\r\n.rightDefault1 {\r\n  right: 0%;\r\n}\r\n.leftStatus1 {\r\n  -webkit-animation: left-Status1 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-Status1 0.5s ease-in-out;\r\n}\r\n\r\n@-webkit-keyframes left-Status1 {\r\n  0% {\r\n    left: 0%;\r\n  }\r\n  100% {\r\n    left: 21%;\r\n  }\r\n}\r\n@keyframes left-Status1 {\r\n  0% {\r\n    left: 0%;\r\n  }\r\n  100% {\r\n    left: 21%;\r\n  }\r\n}\r\n\r\n.rightStatus1 {\r\n  -webkit-animation: right-Status1 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-Status1 0.5s ease-in-out;\r\n}\r\n\r\n@-webkit-keyframes right-Status1 {\r\n  0% {\r\n    right: 100%;\r\n  }\r\n  100% {\r\n    right: 21%;\r\n  }\r\n}\r\n@keyframes right-Status1 {\r\n  0% {\r\n    right: 100%;\r\n  }\r\n  100% {\r\n    right: 21%;\r\n  }\r\n}\r\n\r\n.leftStatus2 {\r\n  left: 0%;\r\n  -webkit-animation: left-Status2 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-Status2 0.5s ease-in-out;\r\n}\r\n@-webkit-keyframes left-Status2 {\r\n  0% {\r\n    left: 30%;\r\n  }\r\n  100% {\r\n    left: 0%;\r\n  }\r\n}\r\n@keyframes left-Status2 {\r\n  0% {\r\n    left: 30%;\r\n  }\r\n  100% {\r\n    left: 0%;\r\n  }\r\n}\r\n.rightStatus2 {\r\n  left: -30px;\r\n  -webkit-animation: right-Status2 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-Status2 0.5s ease-in-out;\r\n}\r\n@-webkit-keyframes right-Status2 {\r\n  0% {\r\n    left: 79%;\r\n  }\r\n  100% {\r\n    left: 0%;\r\n  }\r\n}\r\n@keyframes right-Status2 {\r\n  0% {\r\n    left: 79%;\r\n  }\r\n  100% {\r\n    left: 0%;\r\n  }\r\n}\r\n\r\n// --------\r\n.leftStatus3 {\r\n  // right: 79%;\r\n  -webkit-animation: left-Status3 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-Status3 0.5s ease-in-out;\r\n}\r\n@-webkit-keyframes left-Status3 {\r\n  0% {\r\n    left: calc(100% - 80px);\r\n  }\r\n  100% {\r\n    left: 30%;\r\n  }\r\n}\r\n@keyframes left-Status3 {\r\n  0% {\r\n    left: calc(100% - 80px);\r\n  }\r\n  100% {\r\n    left: 30%;\r\n  }\r\n}\r\n.rightStatus3 {\r\n  // right: 30%;\r\n  -webkit-animation: right-Status3 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-Status3 0.5s ease-in-out;\r\n}\r\n@-webkit-keyframes right-Status3 {\r\n  0% {\r\n    right: 0%;\r\n  }\r\n  100% {\r\n    right: 30%;\r\n  }\r\n}\r\n@keyframes right-Status3 {\r\n  0% {\r\n    right: 0%;\r\n  }\r\n  100% {\r\n    right: 30%;\r\n  }\r\n}\r\n// ----------\r\n\r\n// --------\r\n.leftStatus4 {\r\n  left: calc(100% + 30%);\r\n  -webkit-animation: left-Status4 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: left-Status4 0.5s ease-in-out;\r\n}\r\n@-webkit-keyframes left-Status4 {\r\n  0% {\r\n    left: 30%;\r\n  }\r\n  100% {\r\n    left: 100%;\r\n  }\r\n}\r\n@keyframes left-Status4 {\r\n  0% {\r\n    left: 30%;\r\n  }\r\n  100% {\r\n    left: 100%;\r\n  }\r\n}\r\n.rightStatus4 {\r\n  right: -30px;\r\n  -webkit-animation: right-Status4 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: right-Status4 0.5s ease-in-out;\r\n}\r\n@-webkit-keyframes right-Status4 {\r\n  0% {\r\n    right: 30%;\r\n  }\r\n  100% {\r\n    right: 0%;\r\n  }\r\n}\r\n@keyframes right-Status4 {\r\n  0% {\r\n    right: 30%;\r\n  }\r\n  100% {\r\n    right: 0%;\r\n  }\r\n}\r\n// ----\r\n// 切换页面动效\r\n.big-view-box-page {\r\n  position: fixed;\r\n  z-index: 104;\r\n  animation-name: fullscreenBoxAni;\r\n  animation-duration: 0.5s;\r\n  animation-timing-function: ease-in-out;\r\n  animation-iteration-count:1;\r\n\r\n  width: 100%;\r\n  height: calc(100% - 54px);\r\n  left: 0;\r\n  top: 54px;\r\n  border: 0;\r\n}\r\n@-webkit-keyframes fullscreenBoxAni {\r\n  0% {\r\n    width: calc(100% - 400px);\r\n    height: calc(100% - 112px);\r\n    left: 400px;\r\n    top: 54px;\r\n    border: 16px;\r\n  }\r\n  100% {\r\n    width: 100%;\r\n    height: calc(100% - 54px);\r\n    left: 0;\r\n    top: 54px;\r\n    border: 0;\r\n  }\r\n}\r\n\r\n.outof-big-view-box-page {\r\n  z-index: 104;\r\n  position: fixed;\r\n  -webkit-animation: outfullscreenBoxAni 0.5s ease-in-out; /* Chrome, Safari, Opera */\r\n  animation: outfullscreenBoxAni 0.5s ease-in-out;\r\n  animation-fill-mode: forwards;\r\n}\r\n@-webkit-keyframes outfullscreenBoxAni {\r\n  0% {\r\n    width: calc(100% - 0);\r\n    height: calc(100% - 54px);\r\n    left: 0;\r\n    top: 54px;\r\n    border: 0;\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    width: calc(100% - 400px);\r\n    height: calc(100% - 112px);\r\n    left: 400px;\r\n    top: 54px;\r\n    border: 16px;\r\n    opacity: 0;\r\n  }\r\n}\r\n\r\nul {\r\n  width: 100%;\r\n  display: flex;\r\n  flex-direction: row;\r\n  font-size: 16px;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  color: #7f878c;\r\n  font-weight: 500;\r\n  padding: 34px 0;\r\n}\r\nul,\r\nli {\r\n  list-style: none;\r\n}\r\nli {\r\n  cursor: pointer;\r\n}\r\n.li_point {\r\n  display: inline-block;\r\n  width: 100%;\r\n  height: 30px;\r\n  text-align: center;\r\n  margin: 0 auto;\r\n  vertical-align: middle;\r\n}\r\n</style>\r\n\r\n<!-- 新手引导提示样式 -->\r\n<style lang=\"scss\">\r\n.customHighlight {\r\n  box-shadow: rgba(255, 255, 255, 0.8) 0 0 0, rgba(255, 255, 255, 1) 0 2px 15px,\r\n    rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n  border-radius: 30px;\r\n}\r\n.layoutBlack_customHighlight {\r\n  box-shadow: rgba(33, 33, 33, 0.8) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n  border-radius: 30px;\r\n}\r\n.index_customHighlight {\r\n  box-shadow: rgba(33, 33, 33, 0.8) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n}\r\n\r\n.mindMap_customHighlight {\r\n  //box-shadow: rgba(255, 255, 255, 0.8) 0 0 0, rgba(255, 255, 255, 1) 0 2px 15px, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important; /* 设置透明边框 */\r\n  border-radius: 0.07407407rem;\r\n}\r\n.courseClassName_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important; /* 设置透明边框 */\r\n  border-radius: 30px;\r\n}\r\n.courseClassName_customHighlight_2 {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important; /* 设置透明边框 */\r\n}\r\n\r\n.behavior_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important; /* 设置透明边框 */\r\n}\r\n.commitProblem_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important; /* 设置透明边框 */\r\n}\r\n.conformTips_customHighlight {\r\n  //box-shadow: rgba(255, 255, 255, 0.8) 0 0 0, rgba(255, 255, 255, 1) 0 2px 15px, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important; /* 设置透明边框 */\r\n}\r\n.question_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important; /* 设置透明边框 */\r\n}\r\n.tipsView_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n}\r\n.cultrue_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n}\r\n.ocean_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n}\r\n.problemConsciousness_customHighlight {\r\n  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(33, 33, 33, 0.5) 0 0 0 5000px !important;\r\n}\r\n\r\n.introjs-skipbutton {\r\n  display: none;\r\n}\r\n.introjs-prevbutton {\r\n  display: none;\r\n}\r\n.introjs-tooltip-header {\r\n  display: none;\r\n}\r\n.introjs-helperLayer {\r\n  //border-radius: 30px;\r\n}\r\n.introjs-tooltip {\r\n  background-color: rgba(255, 255, 255, 1) !important;\r\n}\r\n.introjs-top-left-aligned {\r\n  margin-bottom: 5px;\r\n  left: 50% !important;\r\n  transform: translateX(-50%);\r\n}\r\n.introjs-bottom-left-aligned {\r\n  left: 50% !important;\r\n  margin-top: 5px;\r\n  transform: translateX(-50%);\r\n}\r\n.introjs-bottom-right-aligned {\r\n  left: 50% !important;\r\n  transform: translateX(-50%);\r\n}\r\n.introjs-top-right-aligned {\r\n  left: 50% !important;\r\n  transform: translateX(-50%);\r\n}\r\n.introjs-tooltipReferenceLayer.show-pseudo-class::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  top: 5%;\r\n  //left: -62px;\r\n  width: 92px;\r\n  height: 100px;\r\n  background-image: url(\"~@/assets/img/gesture.png\");\r\n  background-size: 80% auto;\r\n  background-repeat: no-repeat;\r\n  transform: translateY(-50%);\r\n}\r\n.introjs-right {\r\n  margin-left: 10px;\r\n}\r\n\r\n.introjs-left {\r\n  margin-right: 5px;\r\n}\r\n.introjs-bottom-middle-aligned {\r\n  margin-top: 5px;\r\n}\r\n.introjs-top-middle-aligned {\r\n  margin-bottom: 5px;\r\n}\r\n.index_customTooltip {\r\n  min-width: 220px;\r\n  max-width: 220px;\r\n  background-color: #ffffff !important;\r\n  border-radius: 16px;\r\n  .introjs-tooltiptext {\r\n    color: #434749;\r\n    font-size: 13px;\r\n    padding: 22px 18px 0 18px;\r\n    //padding:5px;\r\n    line-height: 1.6;\r\n    letter-spacing: 0.1em;\r\n    text-align: justify;\r\n  }\r\n  .introjs-tooltip-title {\r\n    font-size: 14px;\r\n    color: #6b6e70;\r\n    margin: 5px;\r\n    padding: 5px;\r\n  }\r\n  .introjs-arrow.top {\r\n    left: 50%;\r\n    border-width: 20px;\r\n    transform: translateX(-50%);\r\n    border-color: transparent transparent rgba(255, 255, 255, 1);\r\n    top: -30px;\r\n  }\r\n  .introjs-arrow.top-right {\r\n    left: 50%;\r\n    right: 100%;\r\n    border-width: 20px;\r\n    transform: translateX(-50%);\r\n    border-color: transparent transparent rgba(255, 255, 255, 1);\r\n    top: -30px;\r\n  }\r\n  .introjs-arrow.bottom-right {\r\n    left: 50%;\r\n    right: 100%;\r\n    border-width: 20px;\r\n    transform: translateX(-50%);\r\n    border-color: rgba(255, 255, 255, 1) transparent transparent;\r\n    bottom: -30px;\r\n  }\r\n  .introjs-arrow.top-middle {\r\n    left: 50%;\r\n    border-color: transparent transparent rgba(255, 255, 255, 1);\r\n    transform: translateX(-50%);\r\n    border-width: 20px;\r\n    top: -30px;\r\n    margin-left: 1px;\r\n  }\r\n  .introjs-arrow.left {\r\n    border-color: transparent rgba(255, 255, 255, 1) transparent transparent;\r\n    border-width: 10px;\r\n    top: 20px;\r\n    left: -18px;\r\n  }\r\n\r\n  .introjs-arrow.left-bottom {\r\n    border-color: transparent rgba(255, 255, 255, 1) transparent transparent;\r\n    border-width: 10px;\r\n    left: -8%;\r\n    bottom: 20%;\r\n  }\r\n  .introjs-arrow.bottom {\r\n    border-width: 10px;\r\n    bottom: -18px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    border-color: rgba(255, 255, 255, 1) transparent transparent;\r\n  }\r\n  .introjs-arrow.bottom-middle {\r\n    border-color: rgba(255, 255, 255, 1) transparent transparent;\r\n    border-width: 10px;\r\n    top: 99%;\r\n    left: 50%;\r\n    bottom: -30px;\r\n  }\r\n  .introjs-arrow.right {\r\n    border-color: transparent transparent transparent rgba(255, 255, 255, 1);\r\n    border-width: 10px;\r\n    right: -18px;\r\n    top: 10%;\r\n  }\r\n\r\n  .introjs-tooltipbuttons {\r\n    display: flex;\r\n    justify-content: center;\r\n    border-top: 1px solid #ffffff;\r\n    padding: 14px 10px 18px 10px;\r\n  }\r\n  .introjs-button {\r\n    font-size: 13px;\r\n    color: #64afd5;\r\n    border: 1px solid #64afd5;\r\n    align-content: center;\r\n    padding: 4px 31px 4px 31px;\r\n  }\r\n  .introjs-button:hover,\r\n  .introjs-button:focus,\r\n  .introjs-button:active {\r\n    font-size: 13px;\r\n    color: #64afd5;\r\n    border: 1px solid #64afd5;\r\n    align-content: center;\r\n  }\r\n}\r\n.index_customTooltip_textCenter{\r\n  .introjs-tooltiptext{\r\n    display: flex;\r\n    justify-content: center;\r\n  }\r\n}\r\n.tipsView_customTooltip {\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/index/Index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.isGlobalLoading),expression:\"isGlobalLoading\"}],staticClass:\"foxue-container\"},[_c('Header',{class:_vm.headerStatus,attrs:{\"centerStauts\":_vm.centerStauts}}),_vm._v(\" \"),_c('span',{staticClass:\"left\",class:[\n      _vm.leftStatus,\n      _vm.whiteActiveIndex == 0\n        ? 'left0'\n        : _vm.whiteActiveIndex == 1\n        ? 'left1'\n        : _vm.whiteActiveIndex == 2\n        ? 'left2'\n        : 'left3'\n    ],on:{\"click\":_vm.goBlack}}),_vm._v(\" \"),_c('span',{staticClass:\"right\",class:[\n      _vm.rightStatus,\n      _vm.whiteActiveIndex == 0\n        ? 'right0'\n        : _vm.whiteActiveIndex == 1\n        ? 'right1'\n        : _vm.whiteActiveIndex == 2\n        ? 'right2'\n        : 'right3'\n    ],attrs:{\"id\":\"index_step2\"},on:{\"click\":_vm.goWhite}}),_vm._v(\" \"),_c('div',{staticClass:\"partition\",class:_vm.tStatus,on:{\"click\":_vm.tsClick}},[_vm._m(0),_vm._v(\" \"),_vm._m(1)]),_vm._v(\" \"),_c('div',{ref:\"white\",staticClass:\"white\",class:_vm.WStatus,on:{\"mousemove\":_vm.updateXY}},[_c('LayoutWhite',{attrs:{\"centerStauts\":_vm.centerStauts,\"isDisabledGuide\":_vm.isDisabledGuide}}),_vm._v(\" \"),_c('keep-alive',{attrs:{\"exclude\":_vm.excludedWhitePages}},[_c('router-view',{attrs:{\"name\":\"white\"}})],1)],1),_vm._v(\" \"),_c('div',{ref:\"black\",staticClass:\"black\",class:_vm.BStatus,on:{\"mousemove\":_vm.updateXY}},[_c('LayoutBlack',{attrs:{\"centerStauts\":_vm.centerStauts,\"isDisabledGuide\":_vm.isDisabledGuide}}),_vm._v(\" \"),_c('keep-alive',[_c('router-view',{attrs:{\"name\":\"black\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"center\",class:_vm.centerStauts},[_vm._m(2),_vm._v(\" \"),_c('BlackFolding',{attrs:{\"centerStauts\":_vm.centerStauts}}),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('WhiteFolding',{attrs:{\"centerStauts\":_vm.centerStauts}}),_vm._v(\" \"),_vm._m(4)],1),_vm._v(\" \"),(_vm.tsStatus && !_vm.disableOperateMode &&  _vm.pageName != 'white')?_c('span',{staticClass:\"ltishi\",class:['ltishi', 'myLtishi'],attrs:{\"tabindex\":\"1\"},on:{\"click\":_vm.goWhite1}},[_c('label',{style:({\n        backgroundColor:\n          _vm.whiteActiveIndex == 0\n            ? '#71afbb'\n            : _vm.whiteActiveIndex == 1\n            ? '#64AFD5'\n            : _vm.whiteActiveIndex == 2\n            ? '#FFB096'\n            : '#2C51AF'\n      })}),_vm._v(\" \"),_c('label',{style:({\n        backgroundColor:\n          _vm.whiteActiveIndex == 0\n            ? '#71afbb'\n            : _vm.whiteActiveIndex == 1\n            ? '#64AFD5'\n            : _vm.whiteActiveIndex == 2\n            ? '#FFB096'\n            : '#2C51AF'\n      })})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tsStatus1),expression:\"tsStatus1\"}],class:['Rtishi', 'myRtishi', _vm.disableOperateMode ? 'disableOperateMode' : ''],attrs:{\"id\":\"index_step3\",\"tabindex\":\"2\"},on:{\"click\":_vm.goBlack1}},[_c('label',{style:({\n        backgroundColor:\n          _vm.whiteActiveIndex == 0\n            ? '#71afbb'\n            : _vm.whiteActiveIndex == 1\n            ? '#64AFD5'\n            : _vm.whiteActiveIndex == 2\n            ? '#FFB096'\n            : '#2C51AF'\n      })}),_vm._v(\" \"),_c('label',{style:({\n        backgroundColor:\n          _vm.whiteActiveIndex == 0\n            ? '#71afbb'\n            : _vm.whiteActiveIndex == 1\n            ? '#64AFD5'\n            : _vm.whiteActiveIndex == 2\n            ? '#FFB096'\n            : '#2C51AF'\n      })})])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"centerLeft\",attrs:{\"id\":\"index_step1\"}},[_c('div',{staticClass:\"centerLeft-in\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"centerRight\"},[_c('div',{staticClass:\"centerRight-in\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"menus\"},[_c('ul',[_c('li',[_vm._v(\"文化\")]),_vm._v(\" \"),_c('li',[_vm._v(\"思维  •  观念\")]),_vm._v(\" \"),_c('li',[_vm._v(\"行为  •  习惯\")]),_vm._v(\" \"),_c('li',[_vm._v(\"性格  •  人格\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"centerLeft\"},[_c('div',{staticClass:\"centerLeft-in\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"centerRight\"},[_c('div',{staticClass:\"centerRight-in\"})])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-05d77c3e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/index/Index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-05d77c3e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Index.vue\")\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-05d77c3e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!sass-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./Index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-05d77c3e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-05d77c3e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/index/Index.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/puti.4936f02.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/puti.png\n// module id = tp9f\n// module chunks = 171","var map = {\n\t\"./af\": \"3CJN\",\n\t\"./af.js\": \"3CJN\",\n\t\"./ar\": \"3MVc\",\n\t\"./ar-dz\": \"tkWw\",\n\t\"./ar-dz.js\": \"tkWw\",\n\t\"./ar-kw\": \"j8cJ\",\n\t\"./ar-kw.js\": \"j8cJ\",\n\t\"./ar-ly\": \"wPpW\",\n\t\"./ar-ly.js\": \"wPpW\",\n\t\"./ar-ma\": \"dURR\",\n\t\"./ar-ma.js\": \"dURR\",\n\t\"./ar-sa\": \"7OnE\",\n\t\"./ar-sa.js\": \"7OnE\",\n\t\"./ar-tn\": \"BEem\",\n\t\"./ar-tn.js\": \"BEem\",\n\t\"./ar.js\": \"3MVc\",\n\t\"./az\": \"eHwN\",\n\t\"./az.js\": \"eHwN\",\n\t\"./be\": \"3hfc\",\n\t\"./be.js\": \"3hfc\",\n\t\"./bg\": \"lOED\",\n\t\"./bg.js\": \"lOED\",\n\t\"./bm\": \"hng5\",\n\t\"./bm.js\": \"hng5\",\n\t\"./bn\": \"aM0x\",\n\t\"./bn-bd\": \"1C9R\",\n\t\"./bn-bd.js\": \"1C9R\",\n\t\"./bn.js\": \"aM0x\",\n\t\"./bo\": \"w2Hs\",\n\t\"./bo.js\": \"w2Hs\",\n\t\"./br\": \"OSsP\",\n\t\"./br.js\": \"OSsP\",\n\t\"./bs\": \"aqvp\",\n\t\"./bs.js\": \"aqvp\",\n\t\"./ca\": \"wIgY\",\n\t\"./ca.js\": \"wIgY\",\n\t\"./cs\": \"ssxj\",\n\t\"./cs.js\": \"ssxj\",\n\t\"./cv\": \"N3vo\",\n\t\"./cv.js\": \"N3vo\",\n\t\"./cy\": \"ZFGz\",\n\t\"./cy.js\": \"ZFGz\",\n\t\"./da\": \"YBA/\",\n\t\"./da.js\": \"YBA/\",\n\t\"./de\": \"DOkx\",\n\t\"./de-at\": \"8v14\",\n\t\"./de-at.js\": \"8v14\",\n\t\"./de-ch\": \"Frex\",\n\t\"./de-ch.js\": \"Frex\",\n\t\"./de.js\": \"DOkx\",\n\t\"./dv\": \"rIuo\",\n\t\"./dv.js\": \"rIuo\",\n\t\"./el\": \"CFqe\",\n\t\"./el.js\": \"CFqe\",\n\t\"./en-au\": \"Sjoy\",\n\t\"./en-au.js\": \"Sjoy\",\n\t\"./en-ca\": \"Tqun\",\n\t\"./en-ca.js\": \"Tqun\",\n\t\"./en-gb\": \"hPuz\",\n\t\"./en-gb.js\": \"hPuz\",\n\t\"./en-ie\": \"ALEw\",\n\t\"./en-ie.js\": \"ALEw\",\n\t\"./en-il\": \"QZk1\",\n\t\"./en-il.js\": \"QZk1\",\n\t\"./en-in\": \"yJfC\",\n\t\"./en-in.js\": \"yJfC\",\n\t\"./en-nz\": \"dyB6\",\n\t\"./en-nz.js\": \"dyB6\",\n\t\"./en-sg\": \"NYST\",\n\t\"./en-sg.js\": \"NYST\",\n\t\"./eo\": \"Nd3h\",\n\t\"./eo.js\": \"Nd3h\",\n\t\"./es\": \"LT9G\",\n\t\"./es-do\": \"7MHZ\",\n\t\"./es-do.js\": \"7MHZ\",\n\t\"./es-mx\": \"USNP\",\n\t\"./es-mx.js\": \"USNP\",\n\t\"./es-us\": \"INcR\",\n\t\"./es-us.js\": \"INcR\",\n\t\"./es.js\": \"LT9G\",\n\t\"./et\": \"XlWM\",\n\t\"./et.js\": \"XlWM\",\n\t\"./eu\": \"sqLM\",\n\t\"./eu.js\": \"sqLM\",\n\t\"./fa\": \"2pmY\",\n\t\"./fa.js\": \"2pmY\",\n\t\"./fi\": \"nS2h\",\n\t\"./fi.js\": \"nS2h\",\n\t\"./fil\": \"rMbQ\",\n\t\"./fil.js\": \"rMbQ\",\n\t\"./fo\": \"OVPi\",\n\t\"./fo.js\": \"OVPi\",\n\t\"./fr\": \"tzHd\",\n\t\"./fr-ca\": \"bXQP\",\n\t\"./fr-ca.js\": \"bXQP\",\n\t\"./fr-ch\": \"VK9h\",\n\t\"./fr-ch.js\": \"VK9h\",\n\t\"./fr.js\": \"tzHd\",\n\t\"./fy\": \"g7KF\",\n\t\"./fy.js\": \"g7KF\",\n\t\"./ga\": \"U5Iz\",\n\t\"./ga.js\": \"U5Iz\",\n\t\"./gd\": \"nLOz\",\n\t\"./gd.js\": \"nLOz\",\n\t\"./gl\": \"FuaP\",\n\t\"./gl.js\": \"FuaP\",\n\t\"./gom-deva\": \"VGQH\",\n\t\"./gom-deva.js\": \"VGQH\",\n\t\"./gom-latn\": \"+27R\",\n\t\"./gom-latn.js\": \"+27R\",\n\t\"./gu\": \"rtsW\",\n\t\"./gu.js\": \"rtsW\",\n\t\"./he\": \"Nzt2\",\n\t\"./he.js\": \"Nzt2\",\n\t\"./hi\": \"ETHv\",\n\t\"./hi.js\": \"ETHv\",\n\t\"./hr\": \"V4qH\",\n\t\"./hr.js\": \"V4qH\",\n\t\"./hu\": \"xne+\",\n\t\"./hu.js\": \"xne+\",\n\t\"./hy-am\": \"GrS7\",\n\t\"./hy-am.js\": \"GrS7\",\n\t\"./id\": \"yRTJ\",\n\t\"./id.js\": \"yRTJ\",\n\t\"./is\": \"upln\",\n\t\"./is.js\": \"upln\",\n\t\"./it\": \"FKXc\",\n\t\"./it-ch\": \"/E8D\",\n\t\"./it-ch.js\": \"/E8D\",\n\t\"./it.js\": \"FKXc\",\n\t\"./ja\": \"ORgI\",\n\t\"./ja.js\": \"ORgI\",\n\t\"./jv\": \"JwiF\",\n\t\"./jv.js\": \"JwiF\",\n\t\"./ka\": \"RnJI\",\n\t\"./ka.js\": \"RnJI\",\n\t\"./kk\": \"j+vx\",\n\t\"./kk.js\": \"j+vx\",\n\t\"./km\": \"5j66\",\n\t\"./km.js\": \"5j66\",\n\t\"./kn\": \"gEQe\",\n\t\"./kn.js\": \"gEQe\",\n\t\"./ko\": \"eBB/\",\n\t\"./ko.js\": \"eBB/\",\n\t\"./ku\": \"kI9l\",\n\t\"./ku.js\": \"kI9l\",\n\t\"./ky\": \"6cf8\",\n\t\"./ky.js\": \"6cf8\",\n\t\"./lb\": \"z3hR\",\n\t\"./lb.js\": \"z3hR\",\n\t\"./lo\": \"nE8X\",\n\t\"./lo.js\": \"nE8X\",\n\t\"./lt\": \"/6P1\",\n\t\"./lt.js\": \"/6P1\",\n\t\"./lv\": \"jxEH\",\n\t\"./lv.js\": \"jxEH\",\n\t\"./me\": \"svD2\",\n\t\"./me.js\": \"svD2\",\n\t\"./mi\": \"gEU3\",\n\t\"./mi.js\": \"gEU3\",\n\t\"./mk\": \"Ab7C\",\n\t\"./mk.js\": \"Ab7C\",\n\t\"./ml\": \"oo1B\",\n\t\"./ml.js\": \"oo1B\",\n\t\"./mn\": \"CqHt\",\n\t\"./mn.js\": \"CqHt\",\n\t\"./mr\": \"5vPg\",\n\t\"./mr.js\": \"5vPg\",\n\t\"./ms\": \"ooba\",\n\t\"./ms-my\": \"G++c\",\n\t\"./ms-my.js\": \"G++c\",\n\t\"./ms.js\": \"ooba\",\n\t\"./mt\": \"oCzW\",\n\t\"./mt.js\": \"oCzW\",\n\t\"./my\": \"F+2e\",\n\t\"./my.js\": \"F+2e\",\n\t\"./nb\": \"FlzV\",\n\t\"./nb.js\": \"FlzV\",\n\t\"./ne\": \"/mhn\",\n\t\"./ne.js\": \"/mhn\",\n\t\"./nl\": \"3K28\",\n\t\"./nl-be\": \"Bp2f\",\n\t\"./nl-be.js\": \"Bp2f\",\n\t\"./nl.js\": \"3K28\",\n\t\"./nn\": \"C7av\",\n\t\"./nn.js\": \"C7av\",\n\t\"./oc-lnc\": \"KOFO\",\n\t\"./oc-lnc.js\": \"KOFO\",\n\t\"./pa-in\": \"pfs9\",\n\t\"./pa-in.js\": \"pfs9\",\n\t\"./pl\": \"7LV+\",\n\t\"./pl.js\": \"7LV+\",\n\t\"./pt\": \"ZoSI\",\n\t\"./pt-br\": \"AoDM\",\n\t\"./pt-br.js\": \"AoDM\",\n\t\"./pt.js\": \"ZoSI\",\n\t\"./ro\": \"wT5f\",\n\t\"./ro.js\": \"wT5f\",\n\t\"./ru\": \"ulq9\",\n\t\"./ru.js\": \"ulq9\",\n\t\"./sd\": \"fW1y\",\n\t\"./sd.js\": \"fW1y\",\n\t\"./se\": \"5Omq\",\n\t\"./se.js\": \"5Omq\",\n\t\"./si\": \"Lgqo\",\n\t\"./si.js\": \"Lgqo\",\n\t\"./sk\": \"OUMt\",\n\t\"./sk.js\": \"OUMt\",\n\t\"./sl\": \"2s1U\",\n\t\"./sl.js\": \"2s1U\",\n\t\"./sq\": \"V0td\",\n\t\"./sq.js\": \"V0td\",\n\t\"./sr\": \"f4W3\",\n\t\"./sr-cyrl\": \"c1x4\",\n\t\"./sr-cyrl.js\": \"c1x4\",\n\t\"./sr.js\": \"f4W3\",\n\t\"./ss\": \"7Q8x\",\n\t\"./ss.js\": \"7Q8x\",\n\t\"./sv\": \"Fpqq\",\n\t\"./sv.js\": \"Fpqq\",\n\t\"./sw\": \"DSXN\",\n\t\"./sw.js\": \"DSXN\",\n\t\"./ta\": \"+7/x\",\n\t\"./ta.js\": \"+7/x\",\n\t\"./te\": \"Nlnz\",\n\t\"./te.js\": \"Nlnz\",\n\t\"./tet\": \"gUgh\",\n\t\"./tet.js\": \"gUgh\",\n\t\"./tg\": \"5SNd\",\n\t\"./tg.js\": \"5SNd\",\n\t\"./th\": \"XzD+\",\n\t\"./th.js\": \"XzD+\",\n\t\"./tk\": \"+WRH\",\n\t\"./tk.js\": \"+WRH\",\n\t\"./tl-ph\": \"3LKG\",\n\t\"./tl-ph.js\": \"3LKG\",\n\t\"./tlh\": \"m7yE\",\n\t\"./tlh.js\": \"m7yE\",\n\t\"./tr\": \"k+5o\",\n\t\"./tr.js\": \"k+5o\",\n\t\"./tzl\": \"iNtv\",\n\t\"./tzl.js\": \"iNtv\",\n\t\"./tzm\": \"FRPF\",\n\t\"./tzm-latn\": \"krPU\",\n\t\"./tzm-latn.js\": \"krPU\",\n\t\"./tzm.js\": \"FRPF\",\n\t\"./ug-cn\": \"To0v\",\n\t\"./ug-cn.js\": \"To0v\",\n\t\"./uk\": \"ntHu\",\n\t\"./uk.js\": \"ntHu\",\n\t\"./ur\": \"uSe8\",\n\t\"./ur.js\": \"uSe8\",\n\t\"./uz\": \"XU1s\",\n\t\"./uz-latn\": \"/bsm\",\n\t\"./uz-latn.js\": \"/bsm\",\n\t\"./uz.js\": \"XU1s\",\n\t\"./vi\": \"0X8Q\",\n\t\"./vi.js\": \"0X8Q\",\n\t\"./x-pseudo\": \"e/KL\",\n\t\"./x-pseudo.js\": \"e/KL\",\n\t\"./yo\": \"YXlc\",\n\t\"./yo.js\": \"YXlc\",\n\t\"./zh-cn\": \"Vz2w\",\n\t\"./zh-cn.js\": \"Vz2w\",\n\t\"./zh-hk\": \"ZUyn\",\n\t\"./zh-hk.js\": \"ZUyn\",\n\t\"./zh-mo\": \"+WA1\",\n\t\"./zh-mo.js\": \"+WA1\",\n\t\"./zh-tw\": \"BbgG\",\n\t\"./zh-tw.js\": \"BbgG\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"uslO\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/moment/locale ^\\.\\/.*$\n// module id = uslO\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div\r\n    class=\"content-box big-view bg-white bg-main contentBlack-box\"\r\n    :class=\"fullscreen ? 'full' : ''\"\r\n  >\r\n    <div class=\"case-box\" v-infinite-scroll=\"load\" :infinite-scroll-distance=\"1\">\r\n      <div class=\"nav\" @click=\"back\">\r\n        <i\r\n          class=\"el-icon-arrow-left\"\r\n          :style=\"{\r\n            color: bgColor\r\n          }\"\r\n        />\r\n        <span class=\"my-cases\" :class=\"'my-cases' + whiteActiveIndex\"\r\n          >我发布的案例</span\r\n        >\r\n      </div>\r\n      <NoData v-if=\"datas.length == 0 && !loading\" />\r\n      <div class=\"case-list\">\r\n        <div class=\"cases list\">\r\n          <el-card\r\n            class=\"box-card\"\r\n            v-for=\"(item, index) in datas\"\r\n            :key=\"'class' + index\"\r\n          >\r\n            <div @click=\"toDetail(item)\">\r\n              <div class=\"header\">\r\n                <div\r\n                  class=\"title ellipsis-content\"\r\n                  :class=\"'title' + whiteActiveIndex\"\r\n                >\r\n                  {{ item.course_name }}\r\n                </div>\r\n                <div v-if=\"item.course_case_status === 2\" class=\"draft\">已投稿</div>\r\n              </div>\r\n\r\n              <span class=\"case-content ellipsis-content\"\r\n                >{{ item.course_case_content }}\r\n              </span>\r\n              <div class=\"footer\">\r\n                <span class=\"tag\">{{ item.case_tag_title }}</span>\r\n                <span class=\"num\">\r\n                  <span>\r\n                    {{ item.updateTime }}\r\n                  </span>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </el-card>\r\n\r\n        </div>\r\n        <p v-if=\"loading\" class=\"loading\">加载中...</p>\r\n        <p v-if=\"noMore\" class=\"loading\">--到底啦--</p>\r\n      </div>\r\n    </div>\r\n    <Detail\r\n      v-if=\"dialogVisible && selectData\"\r\n      :dialogVisible=\"dialogVisible\"\r\n      :course_case_id=\"selectData.course_case_id\"\r\n      :case_tag_type=\"selectData.case_tag_type\"\r\n      :course_case_isuseradd=\"selectData.course_case_isuseradd\"\r\n      :showBtn=\"false\"\r\n      @closeDetail=\"closeDetail\"\r\n    />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getUserCaseList } from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport NoData from \"@/components/NoData\";\r\nimport Detail from \"@/views/black/Detail.vue\";\r\nexport default {\r\n  components: { NoData, Detail },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      datas: [],\r\n      loading: false,\r\n      noMore: false,\r\n      page: 0,\r\n      pageSize: 10,\r\n      courseId: \"\",\r\n      caseInfoData: {},\r\n      dialogVisible: false,\r\n      selectData: {},\r\n      bgColor:\r\n        this.$store.getters.whiteActiveIndex === 0\r\n          ? \"#71afbb\"\r\n          : this.$store.getters.whiteActiveIndex === 1\r\n          ? \"#64AFD5\"\r\n          : this.$store.getters.whiteActiveIndex === 2\r\n          ? \"#FFB096\"\r\n          : \"#2C51AF\"\r\n    };\r\n  },\r\n  beforeRouteLeave(to, from, next) {\r\n    if (this.pageName == \"white\") {\r\n      EventBus.$emit(\"setBlackTheme\", \"white\");\r\n    }\r\n    this.dialogVisible = false;\r\n    next();\r\n  },\r\n  beforeRouteEnter(to, from, next) {\r\n    next((vm) => {\r\n      console.log(\"publishBlackCase beforeRouteEnter:\", vm.pageName == \"white\")\r\n      if (vm.pageName == \"white\") {\r\n        EventBus.$emit(\"setBlackTheme\", \"black\");\r\n      }\r\n    });\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    courseIsChanged() {\r\n      return this.$store.getters.courseIsChanged;\r\n    },\r\n    course_name() {\r\n      return this.$store.getters.course_name;\r\n    },\r\n    caseInfo() {\r\n      return this.$store.getters.caseInfo;\r\n    },\r\n    cases() {\r\n      console.log(\"cases:\", this.$store.getters.case);\r\n      return this.$store.getters.case;\r\n    },\r\n    prevCom() {\r\n      //  CreateCase\r\n      return this.$store.getters.prevCom;\r\n    },\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    },\r\n    pageName() {\r\n      return this.$store.getters.pageName;\r\n    }\r\n  },\r\n  watch: {\r\n    // course_id: {\r\n    //   deep: true,\r\n    //   handler: function(newVal) {\r\n    //     if (newVal || newVal == 0) {\r\n    //       this.init();\r\n    //       this.getUserCaseList();\r\n    //     }\r\n    //   }\r\n    // },\r\n    // courseIsChanged: {\r\n    //   deep: true,\r\n    //   handler: function(newVal) {\r\n    //     if (newVal) {\r\n    //       this.init();\r\n    //       this.getUserCaseList();\r\n    //     }\r\n    //   }\r\n    // },\r\n    whiteActiveIndex: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"whiteActiveIndex:\", newVal);\r\n        this.bgColor =\r\n          this.whiteActiveIndex === 0\r\n            ? \"#71afbb\"\r\n            : this.whiteActiveIndex === 1\r\n            ? \"#64AFD5\"\r\n            : this.whiteActiveIndex === 2\r\n            ? \"#FFB096\"\r\n            : \"#2C51AF\";\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    back() {\r\n      EventBus.$emit(\"backToWhite\");\r\n      this.$router.back();\r\n      // if (this.experienceTagTypeObj.Com === \"WHITE_TIPS_SQUARE\") {\r\n      //   EventBus.$emit(WHITE_TIPS_SQUARE);\r\n      // }\r\n    },\r\n    init() {\r\n      this.datas = [];\r\n      this.page = 0;\r\n      this.noMore = false;\r\n      this.loading = false;\r\n    },\r\n    load() {\r\n      if (this.noMore || this.loading) {\r\n        return;\r\n      }\r\n      this.request = true;\r\n      this.page += 1;\r\n      this.getUserCaseList();\r\n    },\r\n    closeDetail() {\r\n      this.dialogVisible = false;\r\n      this.selectData = {};\r\n    },\r\n    // 案例详情\r\n    toDetail(data) {\r\n      console.log(\"data:\", data);\r\n      this.dialogVisible = true;\r\n      this.selectData = data;\r\n    },\r\n    async getUserCaseList() {\r\n      try {\r\n        this.loading = true;\r\n        if(this.page == 1) {\r\n          this.datas = [];\r\n        }\r\n        let params = {\r\n          // course_case_status: 2,\r\n          page: this.page,\r\n          pageSize: this.pageSize\r\n        };\r\n        const res = await getUserCaseList(params);\r\n        this.loading = false;\r\n        if (res && res.code === 0) {\r\n          this.isMounted = true;\r\n          let data = res.data;\r\n          data.forEach(item => {\r\n            item.updateTime = this.$moment(\r\n              new Date(parseFloat(item.last_update_at + \"000\"))\r\n            ).format(\"YYYY-MM-DD\");\r\n          });\r\n          this.datas.push(...data);\r\n          if (data.length < this.pageSize) {\r\n            this.noMore = true;\r\n          }\r\n        } else {\r\n          this.noMore = true;\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error\r\n        // });\r\n      }\r\n    }\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.init();\r\n    // 手动触发首次加载，确保 v-infinite-scroll 能正常工作\r\n    this.$nextTick(() => {\r\n      this.load();\r\n    });\r\n  },\r\n  deactivated() {},\r\n  mounted() {\r\n    this.fullscreen = true;\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.bg-main {\r\n  z-index: 101;\r\n  overflow: hidden;\r\n}\r\n.loading {\r\n  text-align: center;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n  font-weight: 400;\r\n  color: #7e878c;\r\n  line-height: 26px;\r\n  padding-bottom: 20px;\r\n}\r\n.content-box {\r\n  padding-top: 0;\r\n  z-index: 1001;\r\n}\r\n.my-cases {\r\n  position: relative;\r\n  padding-left: 24px;\r\n  &::before {\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 10px;\r\n    left: 10px;\r\n    width: 4px;\r\n    height: 4px;\r\n    -webkit-border-radius: 50%;\r\n    -moz-border-radius: 50%;\r\n    border-radius: 50%;\r\n  }\r\n  &.my-cases0::before {\r\n    background: #71afbb;\r\n  }\r\n  &.my-cases1::before {\r\n    background: #64afd5;\r\n  }\r\n  &.my-cases2::before {\r\n    background: #ffb096;\r\n  }\r\n  &.my-cases3::before {\r\n    background: #2c51af;\r\n  }\r\n}\r\n.case-box {\r\n  width: 100%;\r\n  height: 100%;\r\n  overflow: hidden;\r\n  display: flex;\r\n  flex-direction: column;\r\n  // display: flex;\r\n  // justify-content: space-between;\r\n  // padding-right: 29px;\r\n  .case-list {\r\n    // width: 75%;\r\n    // height: 100%;\r\n    padding: 25px 32px 0;\r\n    padding-right: 0;\r\n    flex: 1;\r\n    overflow-y: auto;\r\n    .cases {\r\n      display: flex;\r\n      justify-content: flex-start;\r\n      flex-wrap: wrap;\r\n      align-content: flex-start;\r\n      overflow-y: auto;\r\n    }\r\n    .box-card {\r\n      width: 307px;\r\n      height: 181px;\r\n      background: rgba(0, 0, 0, 0.4);\r\n      border-radius: 16px;\r\n      margin-bottom: 20px;\r\n      cursor: pointer;\r\n      margin-right: 20px;\r\n      .header {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        padding: 24px 20px 0 0;\r\n        margin-bottom: 10px;\r\n        .draft {\r\n          width: 47px;\r\n          height: 18px;\r\n          border-radius: 4px;\r\n          border: 1px solid #d4d9db;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #d4d9db;\r\n          margin-right: 10px;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n        }\r\n      }\r\n      .title {\r\n        // height: 30px;\r\n        position: relative;\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #bcc4c8;\r\n        line-height: 21px;\r\n        padding-left: 32px;\r\n        -webkit-line-clamp: 1;\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 8px;\r\n          left: 16px;\r\n          width: 6px;\r\n          height: 6px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #64afd5;\r\n        }\r\n        // &.title0::before {\r\n        //   background: #71afbb;\r\n        // }\r\n        // &.title1::before {\r\n        //   background: #64afd5;\r\n        // }\r\n        // &.title2::before {\r\n        //   background: #ffb096;\r\n        // }\r\n        // &.my-cases3::before {\r\n        //   background: #2c51af;\r\n        // }\r\n      }\r\n      .case-content {\r\n        height: 68px;\r\n        position: relative;\r\n        // padding: 0 20px;\r\n        padding: 0 16px;\r\n        font-size: 12px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #d4d9db;\r\n        line-height: 20px;\r\n        overflow: hidden;\r\n        text-overflow: ellipsis;\r\n        -webkit-line-clamp: 3;\r\n        -webkit-box-orient: vertical;\r\n        display: -webkit-box;\r\n        margin: 0 0 8px;\r\n        padding-top: 8px;\r\n        border-top: 1px solid rgba(212, 217, 219, 0.1);\r\n      }\r\n      .footer {\r\n        // height: 48px;\r\n        // border-top: 1px solid #1d2223;\r\n        padding: 8px 22px 8px 16px;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: flex-end;\r\n        color: #7e878c;\r\n        .tag {\r\n          position: relative;\r\n          border-radius: 4px;\r\n          border: 1px solid #7e878c;\r\n          padding: 1px 5px 2px 17px;\r\n          font-size: 12px;\r\n          font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n          font-weight: 400;\r\n          color: #7e878c;\r\n          line-height: 18px;\r\n          &::before {\r\n            content: \"\";\r\n            display: block;\r\n            position: absolute;\r\n            top: 8px;\r\n            left: 6px;\r\n            width: 5px;\r\n            height: 5px;\r\n            -webkit-border-radius: 50%;\r\n            -moz-border-radius: 50%;\r\n            border-radius: 50%;\r\n            background: #7e878c;\r\n          }\r\n        }\r\n        .num {\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n          font-weight: 400;\r\n          font-size: 12px;\r\n          color: #7e878c;\r\n          line-height: 18px;\r\n          text-align: left;\r\n          font-style: normal;\r\n        }\r\n      }\r\n    }\r\n    /deep/ .el-card {\r\n      border: none;\r\n    }\r\n    /deep/ .el-card__body {\r\n      padding: 0;\r\n    }\r\n  }\r\n  .nav {\r\n    padding-top: 25px;\r\n    padding-left: 39px;\r\n    display: flex;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    line-height: 24px;\r\n    i {\r\n      font-size: 20px;\r\n      font-weight: bold;\r\n    }\r\n    .module {\r\n      width: 25px;\r\n      font-size: 12px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #ffffff;\r\n      line-height: 17px;\r\n      padding: 12px 6px;\r\n      // background: #6f7f7f;\r\n      border-radius: 13px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      margin-top: 20px;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/publishBlackCase.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-box big-view bg-white bg-main contentBlack-box\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{directives:[{name:\"infinite-scroll\",rawName:\"v-infinite-scroll\",value:(_vm.load),expression:\"load\"}],staticClass:\"case-box\",attrs:{\"infinite-scroll-distance\":1}},[_c('div',{staticClass:\"nav\",on:{\"click\":_vm.back}},[_c('i',{staticClass:\"el-icon-arrow-left\",style:({\n          color: _vm.bgColor\n        })}),_vm._v(\" \"),_c('span',{staticClass:\"my-cases\",class:'my-cases' + _vm.whiteActiveIndex},[_vm._v(\"我发布的案例\")])]),_vm._v(\" \"),(_vm.datas.length == 0 && !_vm.loading)?_c('NoData'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"case-list\"},[_c('div',{staticClass:\"cases list\"},_vm._l((_vm.datas),function(item,index){return _c('el-card',{key:'class' + index,staticClass:\"box-card\"},[_c('div',{on:{\"click\":function($event){return _vm.toDetail(item)}}},[_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"title ellipsis-content\",class:'title' + _vm.whiteActiveIndex},[_vm._v(\"\\n                \"+_vm._s(item.course_name)+\"\\n              \")]),_vm._v(\" \"),(item.course_case_status === 2)?_c('div',{staticClass:\"draft\"},[_vm._v(\"已投稿\")]):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"case-content ellipsis-content\"},[_vm._v(_vm._s(item.course_case_content)+\"\\n            \")]),_vm._v(\" \"),_c('div',{staticClass:\"footer\"},[_c('span',{staticClass:\"tag\"},[_vm._v(_vm._s(item.case_tag_title))]),_vm._v(\" \"),_c('span',{staticClass:\"num\"},[_c('span',[_vm._v(\"\\n                  \"+_vm._s(item.updateTime)+\"\\n                \")])])])])])}),1),_vm._v(\" \"),(_vm.loading)?_c('p',{staticClass:\"loading\"},[_vm._v(\"加载中...\")]):_vm._e(),_vm._v(\" \"),(_vm.noMore)?_c('p',{staticClass:\"loading\"},[_vm._v(\"--到底啦--\")]):_vm._e()])],1),_vm._v(\" \"),(_vm.dialogVisible && _vm.selectData)?_c('Detail',{attrs:{\"dialogVisible\":_vm.dialogVisible,\"course_case_id\":_vm.selectData.course_case_id,\"case_tag_type\":_vm.selectData.case_tag_type,\"course_case_isuseradd\":_vm.selectData.course_case_isuseradd,\"showBtn\":false},on:{\"closeDetail\":_vm.closeDetail}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2af8bf78\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/publishBlackCase.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2af8bf78\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./publishBlackCase.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./publishBlackCase.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./publishBlackCase.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2af8bf78\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./publishBlackCase.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2af8bf78\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/publishBlackCase.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjM5cHgiIGhlaWdodD0iMzlweCIgdmlld0JveD0iMCAwIDM5IDM5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7nvJbnu4QgNDwvdGl0bGU+DQogICAgPGRlZnM+DQogICAgICAgIDxjaXJjbGUgaWQ9InBhdGgtMSIgY3g9IjEzIiBjeT0iMTMiIHI9IjEzIj48L2NpcmNsZT4NCiAgICAgICAgPGZpbHRlciB4PSItMzAuOCUiIHk9Ii0zMC44JSIgd2lkdGg9IjE3Ni45JSIgaGVpZ2h0PSIxNzYuOSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4NCiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMiIgZHk9IjIiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+DQogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4wNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5Li76aG16buRbWluaVYy5paH5YyWIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjM0LjAwMDAwMCwgLTM2NC4wMDAwMDApIj4NCiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjM0LjAwMDAwMCwgMzY0LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiI+PC9yZWN0Pg0KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4wMDAwMDAsIDUuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxnIGlkPSLmpK3lnIblvaIiIG9wYWNpdHk9IjAuMDEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4NCiAgICAgICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlN0cm9rZS0xIiBzdHJva2U9IiM3MUFGQkIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMi44OTY1NTIsIDEzLjAwMDAwMCkgc2NhbGUoLTEsIDEpIHJvdGF0ZSgtOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTEyLjg5NjU1MiwgLTEzLjAwMDAwMCkgIiBwb2ludHM9IjE5LjYyMDY4OTcgOS44NjIwNjg5NyAxMi44OTYyNDQ5IDE2LjEzNzkzMSA2LjE3MjQxMzc5IDkuODYyMDY4OTciPjwvcG9seWxpbmU+DQogICAgICAgICAgICAgICAgPC9nPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/cultrue_arrow_black.svg\n// module id = w/u5\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAXNJREFUOE9jZMADGhr+M30y2LuMgYHhe1+ASyI+tYz4JAs27u5n/MdQAFLDyMDY3BfoUodLPU6DCtfvzmFgYJjMwMDw8j8DAwsjI6MQAyNDYr+/y0JshmE1qGTjPu8///5uZGBimMz4j0GFgYHxPwMDwysGhv+xjEyMHn3+LvvRDcMwqGjjbsN//xgOMTIw7OW/6BL0UX/PRpBB/ALMQR8//Nn+n+G/MTMLq1Wvr+MNZMNQDEpbtZufm43hKgMDw3N+ZkH7Bl+Tb4Xrd28GGdQf6OJXvmo3/y82xqMM/xk4+QWYtRscHX/ADGMsXLczAsTpD3JfUbB+vwDT/7/dzOzMtd3eji9A4sgGgfjFa/fK/2f8X/OF9Xv+LF/fbzD9jIXr92wCGxTo4octENENQlcD0z9qECTWsIchJIwJhlHRht1x//7//z8h0G0xRQbhy4uQ5EGkiwbKoP9mDAyMpwjZjl0eoheSRRiZo8gzBKrr/99lAB8LyP9enhzuAAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/import_file.png\n// module id = w1PG\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij4NCiAgPGcgaWQ9IuWtl+WPt+a1heiJsiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE3NzMgLTQzNCkiPg0KICAgIDxjaXJjbGUgaWQ9IuakreWchl80IiBkYXRhLW5hbWU9IuakreWchiA0IiBjeD0iMjQiIGN5PSIyNCIgcj0iMjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3NzMgNDM0KSIgZmlsbD0iI2ZmZiIvPg0KICAgIDxnIGlkPSLnu4RfNDMiIGRhdGEtbmFtZT0i57uEIDQzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTYzLjgwNCAzNDguODkyKSI+DQogICAgICA8cGF0aCBpZD0i6Lev5b6EXzIxIiBkYXRhLW5hbWU9Iui3r+W+hCAyMSIgZD0iTS0xNjguMDQ3LDk5LjEwOGgyLjQ1OWw2Ljc4MywyMGgtMi4zNzhsLTEuOTczLTYuMjg1aC03LjQwNmwtMiw2LjI4NUgtMTc0LjhabTQuMzI0LDExLjkxMi0xLjAyNy0zLjI1MWMtLjc1Ny0yLjI2Ny0xLjM3OC00LjQyNy0yLjA1NC02Ljc3NWgtLjEwOGMtLjY0OSwyLjM0OC0xLjMsNC41MDgtMi4wMjcsNi43NzVsLTEuMDI3LDMuMjUxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSIgZmlsbD0iIzdlODc4YyIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+DQo=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/read-fontsize.svg\n// module id = w6kH\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMjlweCIgdmlld0JveD0iMCAwIDMyLjAgMjkuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMjMuMzc4MzQ2MywwIEMyOC4xNDA3ODM2LDAgMzIsMy44NjA0NDE5NiAzMiw4LjYyMTY1MzcxIEMzMiwxNy4wNTMzNDkyIDE1Ljk5OTM4NzIsMjguMDU2MjIxNSAxNS45OTkzODcyLDI4LjA1NjIyMTUgQzE1Ljk5OTM4NzIsMjguMDU2MjIxNSAwLDE3LjA1MzM0OTIgMCw4LjYyMTY1MzcxIEMwLDMuODYwNDQxOTYgMy44NTkyMTY0MiwwIDguNjIwNDI4MTcsMCBDMTEuNzQ5MjI0NSwwIDE0LjQ4OTUyNTUsMS42Njc5NTYwMyAxNS45OTkzODcyLDQuMTYxOTI0MDkgQzE3LjUxMDQ3NDUsMS42Njc5NTYwMyAyMC4yNDk1NSwwIDIzLjM3ODM0NjMsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9ImkyIiB4MT0iNi4xODY0MzMxOHB4IiB5MT0iLTQuNDk5MDM1MDNlLTEzcHgiIHgyPSIyMi4xOTcxMjk1cHgiIHkyPSIyMS42MDk2NjU3cHgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThCIiBvZmZzZXQ9IjAlIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0ZENzQ2QiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIwLjAgLTIxMC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAuMCAyMDkuOTk5OTk5OTk5OTk5OSkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDMyLDAgMzIsMjguMDU2MjIxNSAwLDI4LjA1NjIyMTUgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9InVybCgjaTIpIj48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tipdetail_collected.svg\n// module id = w6pO\n// module chunks = 171","<template>\r\n    <div class=\"main-content bg-white\" :class=\"[pageName == 'black' ? 'bgShadow' : '']\">\r\n        <div class=\"box\">\r\n            <span class=\"title\"\r\n                >\r\n                <img class=\"think_back\" @click=\"back\"\r\n                src=\"@/assets/img/think_back.svg\" />\r\n                <span @click=\"back\" > {{ app_type == 2 ? \"修学日志\" : \"学习日志\" }}</span>\r\n            </span>\r\n            <div\r\n            class=\"detailWrapper\">\r\n            <div :style=\"{\r\n                position: 'absolute',\r\n                width: $px2rem(235),\r\n                zIndex: 999\r\n            }\"\r\n            id=\"completeDataCurrentCourse\"\r\n            class=\"completeData\"\r\n            @click=\"toCultureContent\">\r\n            <div class=\"evp before swiping\">\r\n                <div class=\"top\">\r\n                    <div class=\"content\">\r\n                        <div class=\"course_class_name\">\r\n                        {{\r\n                            course_class_name1 ? course_class_name1 +\r\n                            \"&nbsp;&nbsp;\" +\r\n                            course_class_name2 : ''\r\n                        }}\r\n                        </div>\r\n                        <span class=\"ellipsis-content course_name\">{{ course_name || \"\" }}\r\n                        </span>\r\n                        <div v-if=\"\r\n                            !data.course_intro_short\r\n                        \"\r\n                        class=\"course_intro2 course_null \">\r\n                        <p class=\"none\">暂无数据</p>\r\n                        </div>\r\n                        <span v-else\r\n                        v-html=\"data.course_intro_short\"\r\n                        class=\"course_intro2\">\r\n                        </span>\r\n                        <div class=\"course_intro2_border2 course_intro2_border\"></div>\r\n                        <div class=\"items\">\r\n                        <div class=\"item item-name item-name1\">思维导图</div>\r\n                        <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                            completeData && completeData.mindmap_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <img v-if=\"completeData && completeData.mindmap_complete == 1\"\r\n                                src=\"@/assets/img/studylog_done.svg\" />\r\n                            <span v-else>未完成</span>\r\n\r\n                        </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                        <div class=\"item item-name item-name1\">问题意识</div>\r\n                        <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                            completeData && completeData.question_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <img v-if=\"completeData && completeData.question_complete == 1\"\r\n                            src=\"@/assets/img/studylog_done.svg\" />\r\n                            <span v-else>未完成</span>\r\n\r\n                        </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                        <div class=\"item item-name item-name1\">\r\n                            {{ app_type == 2 ? \"本课问题解决\" : \"问题解决\" }}\r\n                        </div>\r\n                        <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                            completeData && completeData.solve_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <img v-if=\"completeData && completeData.solve_complete == 1\"\r\n                            src=\"@/assets/img/studylog_done.svg\" />\r\n                            <span v-else>未完成</span>\r\n\r\n                        </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                        <div class=\"item item-name item-name1\">\r\n                            观念的禅修\r\n                        </div>\r\n                        <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                            completeData && completeData.guannian_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <img v-if=\"completeData && completeData.guannian_complete == 1\"\r\n                            src=\"@/assets/img/studylog_done.svg\" />\r\n                            <span v-else>未完成</span>\r\n\r\n                        </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                        <div class=\"item item-name item-name1\">\r\n                            心态的禅修\r\n                        </div>\r\n                        <div class=\"item item-value item-value1\"\r\n                            :class=\"\r\n                            completeData && completeData.xintai_complete == 1 ? 'complete' : ''\r\n                            \">\r\n                            <img v-if=\"completeData && completeData.xintai_complete == 1\"\r\n                            src=\"@/assets/img/studylog_done.svg\" />\r\n                            <span v-else>未完成</span>\r\n\r\n                        </div>\r\n                        </div>\r\n                        <div class=\"items\">\r\n                        <div class=\"item item-name item-name1\">发布心得</div>\r\n                        <div class=\"item item-value item-value1\" :class=\"[completeData && completeData.experience_num > 0 ? 'experience_num' : '']\">\r\n                            {{ completeData ? completeData.experience_num : 0 }}\r\n                        </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            </div>\r\n            <div class=\"detail\"\r\n            id=\"completeDetailCurrentCourse\"\r\n            >\r\n                <Detail ref=\"detail\"\r\n                    v-if=\"$route.name === 'StudyLogDetail'\"\r\n                    :studyLogGuideMode=\"studyLogGuideMode\"\r\n                    :data=\"data\" />\r\n            </div>\r\n        </div>\r\n        </div>\r\n    </div>\r\n\r\n</template>\r\n\r\n<script>\r\nimport Detail from \"./Detail.vue\";\r\nimport {\r\n  getUserGuideStatus,\r\n  getUserStudyLogDetail,\r\n  setUserGuideStatus,\r\n  getCourseCompleteData,\r\n} from \"@/api/index\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport introJs from \"intro.js\";\r\nexport default {\r\n    components: {\r\n        Detail,\r\n    },\r\n    data() {\r\n        return {\r\n            studyLogGuideMode: 1,\r\n            completeData: {},\r\n            data: {},\r\n            app_type: 2,\r\n            course_class_name1: \"\",\r\n            course_class_name2: \"\",\r\n            course_name: \"\",\r\n            course_class_id: \"\",\r\n            course_class_study1: \"\",\r\n            course_class_study2: \"\"\r\n        }\r\n    },\r\n    computed: {\r\n        course() {\r\n            return this.$store.getters.course;\r\n        },\r\n        courseBase() {\r\n            return this.$store.getters.courseBase;\r\n        },\r\n        course_id() {\r\n            return this.$store.getters.course_id;\r\n        },\r\n        courseList() {\r\n            return this.$store.getters.courseList;\r\n        },\r\n        courseIsuseradd() {\r\n            return this.$store.getters.courseIsuseradd;\r\n        },\r\n        pageName() {\r\n            return this.$store.getters.pageName;\r\n        }\r\n    },\r\n    watch: {\r\n        course: {\r\n            deep: true,\r\n            handler: function (v) {\r\n                console.log(\"course:\", this.course, v.length);\r\n                if (v) {\r\n                    const course = JSON.parse(v);\r\n                    console.log(\"course:\", course);\r\n                    const cou = course[0];\r\n                    console.log(\"cou:\", cou);\r\n                    this.course_class_name1 = cou.jdname;\r\n                    this.course_class_name2 = cou.dyname;\r\n                    this.course_name = cou.course_name;\r\n                    this.course_class_study1 = cou.course_class_study1;\r\n                    this.course_class_study2 = cou.course_class_study2;\r\n                } else {\r\n                    this.course_class_name1 = \"\";\r\n                    this.course_class_name2 = \"\";\r\n                    this.course_name = \"\";\r\n                    this.course_class_study1 = \"\";\r\n                    this.course_class_study2 = \"\";\r\n                }\r\n\r\n            },\r\n            immediate: true\r\n        },\r\n        courseBase: {\r\n            deep: true,\r\n            handler: function (v) {\r\n                if (v) {\r\n                    this.toDetail();\r\n                }\r\n            },\r\n            immediate: true\r\n        },\r\n    },\r\n    methods: {\r\n        back() {\r\n            this.$router.replace({\r\n                path: \"/white/StudyLog\",\r\n                query: {\r\n                    course_class_study1: this.courseBase.course_class_study1, // 一级分类id\r\n                    course_class_study2: this.courseBase.course_class_study2 // 二级分类名称\r\n                }\r\n            });\r\n        },\r\n        async toDetail() {\r\n            // 初始时，会进来两次，阻止马上触发的第二次，500豪秒恢复正常\r\n            if(this.isHadToDetail) {\r\n                return;\r\n            }\r\n            this.isHadToDetail = true;\r\n            if(this.hadToDetailTimeValue) {\r\n                clearTimeout(this.hadToDetailTimeValue);\r\n                this.hadToDetailTimeValue = null;\r\n            }\r\n            this.hadToDetailTimeValue = setTimeout(() => {\r\n                this.isHadToDetail = false;\r\n                clearTimeout(this.hadToDetailTimeValue);\r\n                this.hadToDetailTimeValue = null;\r\n            }, 500)\r\n\r\n            try {\r\n                console.log(\"toDetail:\",this.course_id, this.courseIsuseradd, this.courseBase);\r\n                let course_class_id = this.courseBase.course_class_study2;\r\n                // this.courseList.forEach((item) => {\r\n                //     const course_list = item.course_list;\r\n                //     course_list.forEach((course) => {\r\n                //         if(course.course_id == this.course_id) {\r\n                //             course_class_id = item.course_class_id;\r\n                //         }\r\n                //     })\r\n                // })\r\n                console.log(\"course_class_id:\", course_class_id)\r\n                if(!course_class_id) {\r\n                    return;\r\n                }\r\n                this.course_class_id = course_class_id;\r\n                const res1 = await getCourseCompleteData({ course_class_id: course_class_id });\r\n                if (res1 && res1.code === 0) {\r\n                    const data = res1.data;\r\n                    data.forEach((item) => {\r\n                        if(item.course_id == this.course_id && this.courseIsuseradd == item.course_isuseradd) {\r\n                            this.completeData = item;\r\n                        }\r\n                    })\r\n                }\r\n                console.log(\"completeData:\", this.completeData);\r\n                const res = await getUserStudyLogDetail({ course_id: this.course_id, course_isuseradd: this.courseIsuseradd, is_new: 1 });\r\n                if (res && res.code === 0) {\r\n                    if (res.data.length) {\r\n                        this.data = res.data[0];\r\n                        console.log(\"getUserStudyLogDetail:\", this.data);\r\n                        let experience = this.data.experience;\r\n                        experience.forEach((item) => {\r\n                            item.updateTime = this.$moment(\r\n                            new Date(parseFloat(item.experience_create_time + \"000\"))\r\n                            ).format(\"YYYY-MM-DD\");\r\n                        });\r\n                        let question = this.data.question;\r\n                        question.forEach((item) => {\r\n                            item.percentage = 0;\r\n                            if(item.course_see_question_num && item.course_question_num) {\r\n                                item.percentage =\r\n                                (item.course_see_question_num / item.course_question_num) *\r\n                                100;\r\n                            }\r\n\r\n                        });\r\n                        let question_solve = this.data.question_solve;\r\n                        question_solve.forEach((item) => {\r\n                            item.percentage = 0;\r\n                            if(item.course_question_num && item.course_solve_question_num) {\r\n                                item.percentage =\r\n                                (item.course_question_num / item.course_solve_question_num) *\r\n                                100;\r\n                            }\r\n\r\n                        });\r\n                    }\r\n\r\n                    this.$nextTick(() => {\r\n                        const completeData = document.getElementById(\"completeDataCurrentCourse\");\r\n                        const courseIntro =\r\n                            completeData.getElementsByClassName(\"course_intro2\");\r\n                        completeData.style.paddingBottom = this.$px2rem(45);\r\n                        courseIntro[0].classList.add(\"course_intro\");\r\n                        let timeout = setTimeout(() => {\r\n                            // completeData.style.transform = `translate(${this.$px2rem(\r\n                            // 32\r\n                            // )}, ${this.$px2rem(32)}) scale(1.1,1.1)`;\r\n                            // completeData.style.transition = \"all 0.8s ease-in-out\";\r\n                            clearTimeout(timeout);\r\n                        }, 0);\r\n                    });\r\n                }\r\n\r\n                let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n                if (guideStatus.studyLog === 0) {\r\n\r\n                    this.guide();\r\n                }\r\n                } catch (error) {\r\n\r\n                }\r\n\r\n        },\r\n        toCultureContent() {\r\n            this.$refs.detail.toCultureContent();\r\n        },\r\n        guide() {\r\n            // 关闭guide\r\n            if(this.studyLogGuideMode === 0) {\r\n                this.studyLogGuideMode = 1;\r\n            }\r\n            else {\r\n                EventBus.$emit(\"enableReadOnlyMode\");\r\n                this.studyLogGuideMode = 0;\r\n                if(this.timeValueToDetail) {\r\n                    clearTimeout(this.timeValueToDetail);\r\n                    this.timeValueToDetail = null;\r\n                }\r\n                this.timeValueToDetail = setTimeout(() => {\r\n                this.initGuide();\r\n\r\n                clearTimeout(this.timeValueToDetail);\r\n                this.timeValueToDetail = null;\r\n                }, 1000)\r\n            }\r\n        },\r\n        initGuide() {\r\n            this.studyLog_guide([\r\n                {\r\n                intro: \"点击查看文章内容\",\r\n                element: document.querySelector(\"#completeDataCurrentCourse\"),\r\n                position: \"right\",\r\n                },\r\n                {\r\n                intro: \"点击可以查看导图，并保存为图片\",\r\n                element: document.querySelector(\"#studyLog_step2\"),\r\n                position: \"bottom\",\r\n                },\r\n            ]);\r\n        },\r\n        studyLog_guide(introSteps) {\r\n            let count = 0;\r\n            const intro = introJs();\r\n            let that = this;\r\n            let initialStates1 = {};\r\n            let initialStates2 = {};\r\n            let initialStates3 = {};\r\n            let itemValue = [];\r\n\r\n            intro.setOptions({\r\n                steps: introSteps,\r\n                /* 当位置选择自动的时候，位置排列的优先级 */\r\n                positionPrecedence: [\"top\", \"bottom\", \"right\", \"left\"],\r\n                prevLabel: \"上一条\",\r\n                nextLabel: \"下一条\",\r\n                skipLabel: \"跳过\",\r\n                // 这里因为每个页面的最后一步其实就会显示doneLabel了，而实际上我们的新手引导操作并没有完成，需要跳转路由继续，所以显示的是下一步而非完成。\r\n                doneLabel: \"下一条\",\r\n                hidePrev: true,\r\n                exitOnOverlayClick: false,\r\n                /* 是否显示说明的数据步骤*/\r\n                showStepNumbers: false,\r\n                /* 是否使用点点点显示进度 */\r\n                showBullets: false,\r\n                /* 是否使用键盘Esc退出 */\r\n                exitOnEsc: false,\r\n                /* 默认提示位置 */\r\n                hintPosition: \"top-left\",\r\n                /* 说明高亮区域的样式 */\r\n                highlightClass: \"index_customHighlight\",\r\n                /* 引导说明文本框的样式 */\r\n                tooltipClass: \"index_customTooltip\",\r\n                disableInteraction: true,\r\n                scrollToElement: false,\r\n                helperElementPadding: 0,\r\n            });\r\n            intro.onchange(function (targetElement) {\r\n                count = this.currentStep() + 1;\r\n            });\r\n            intro.onbeforechange(async (targetElement) => {\r\n                try {\r\n                } catch (error) {\r\n                console.error(\"Error in intro.onbeforechange:\", error);\r\n                }\r\n            });\r\n\r\n            intro.onafterchange(function (targetElement) {\r\n                if (count === 1) {\r\n                EventBus.$emit(\"disableReadOnlyMode\");\r\n                document.getElementsByClassName(\r\n                    \"introjs-helperLayer\"\r\n                )[0].style.borderRadius = `${20 / 108}rem`;\r\n                let helperLayer = document.getElementsByClassName(\r\n                    \"introjs-helperLayer\"\r\n                )[0];\r\n                let width = parseFloat(helperLayer.style.width) - 7;\r\n                let height = parseFloat(helperLayer.style.height) - 19;\r\n                helperLayer.style.width = `${width}px`;\r\n                helperLayer.style.height = `${height}px`;\r\n                document.getElementsByClassName(\r\n                    \"introjs-tooltiptext\"\r\n                )[0].style.display = \"flex\";\r\n                document.getElementsByClassName(\r\n                    \"introjs-tooltiptext\"\r\n                )[0].style.justifyContent = \"center\";\r\n                let detailWrapper =\r\n                    document.getElementsByClassName(\"detailWrapper\")[0];\r\n                let elements1 = detailWrapper.querySelectorAll(\".course_class_name\");\r\n                elements1.forEach((element) => {\r\n                    let computedStyle = getComputedStyle(element);\r\n                    if (computedStyle.display !== \"none\") {\r\n                    initialStates1 = {\r\n                        innerHTML: element.innerHTML,\r\n                    };\r\n\r\n                    element.innerHTML = \"智慧人生&nbsp;&nbsp;信仰篇\";\r\n                    }\r\n                });\r\n                let elements2 = detailWrapper.querySelectorAll(\r\n                    \".ellipsis-content.course_name\"\r\n                );\r\n                elements2.forEach((element) => {\r\n                    let computedStyle = getComputedStyle(element);\r\n                    if (computedStyle.display !== \"none\") {\r\n                    initialStates2 = {\r\n                        innerHTML: element.innerHTML,\r\n                    };\r\n\r\n                    element.innerHTML = \"人生五大问题\";\r\n                    }\r\n                });\r\n                let element3 = detailWrapper.querySelectorAll(\r\n                    \".course_intro2.course_intro\"\r\n                );\r\n                element3.forEach((element) => {\r\n                    let computedStyle = getComputedStyle(element);\r\n                    if (computedStyle.display !== \"none\") {\r\n                    initialStates3 = {\r\n                        innerHTML: element.innerHTML,\r\n                        fontSize: element.style.fontSize,\r\n                    };\r\n                    element.style.fontSize = `${12 / 108}rem`;\r\n                    element.innerHTML =\r\n                        \"人生在世，除了家庭、感情、工作等现实问题有待解决，还充满对生命、生死等问题的永恒困惑。\";\r\n                    }\r\n                });\r\n\r\n                let item_elements = detailWrapper.querySelectorAll(\r\n                    \".item.item-value.item-value1\"\r\n                );\r\n\r\n                let imgSrc =\r\n                    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAABQZJREFUWEfVmdtPHHUUx79nFpBSLi1QWG5tWgrEVguNbVN6SYyXCkRMk5o2Nho0Ro3GxIdd6t/Qwj4ZWzUaqw8aaxOjJOxW+9ZWaMHYGGO6CzQ2gEBpKffLwswxv1kWdpbdncsuTXaSfZk5l8+eOb9zzvx+hDguZibnVd9hSaZGhZUdBCoikJ3BdiZiiTHC4GEGD0kk3VVs3Nb6QuUNImKrbsmKoqPdWw/CSSI0MKPAjA0i3GdGOxiXXA1VbjO6QtYUsOM37xGSpXPMSq1ZR5HkiaQOtilnXC9WXTdqzxBw8699FSzLLgY3GjVsRo5AbWSzOVqOlffo6ekCi9dPEn3HzJv0jMXznIjGWeHTemkSE9jh6XWAlbMA2+KBMa5LMkj62FW30xVNJyqw0+M7z8zvG3eWOEkiutBaV/lBxLyPdDMQWbk1cQgWLJHNGSnSayIcKFnU9vjSIOrLl8HcGJ7TGmC1GijyrfVeYEbjLRYiSbYDodVDA+x0+35Zr9JlFDJcTpS81vrKV4L3V4BFU8ASrlk1vK56KTgabC6rwG5fB8AH19WxZePU6aqvVLurCrw8G7RbtmdR0UbAid2FqLZn4d74HL69PYT5JSWyNUaDWIAqsNPtvchAk0W/ltQkAppqirG7MHNF39PzAFf7xqLZu+iqr3qLxIjYfMU3bHbqskS5rCRgX68uwh57lsZMLGAx5bW8VGmnx73YxCs9XW3H3qJsDezI9AI+6eyPnhJCOgVHqdnjO6swn9GLmIjKlo1pGJtdxKJibf4WsKeetmNfiRZ2dMaP8zf7MeWXY2JIROfI4b7zI0CvxpJMlQgfHixDSXY6JheW8M2f/+He+Lzef1zz/ORThThQmqO5/3DWj09vDqh29S++TE639zoDh2MJV9sz8UZN8YqIX1ZUaO+DWX0fyxIndhWgdqt2Qh2bW1QjOz5vBFYtaTeo2e3rVcDlsTyX5aTjo9qtGhFZYXz/1zBuD0/pQh9/cguObNuskRsXsLf6MTZnDFYoS6A+EeFpBjbqeX1uRy4aKvM1YgozfvrnPjr6J6Kqv1yVj2e352qeT8wvqbAPZxf13GqeEzBDDo9vCsyrxTCGiUNlOTi+qwASaYe8aOWoviIPz5fnaSxOLQRgR2fMwapGiKYNpUSoxxp7Fl7bY4dNlI2Q69q/j/DzndGVO8d25kH8Qq8Zv6zCjkz7TUU2KBxMCd1FF269Kj8DTXuLkWaTNI+6Bydx6e9hNQXC02fWL+NC1wCGphYswaoBFovOSFmL5GHbpnS8/UwJMlK1n3vDUwuwZz2hUZlblPFZ1wAGJ63DBgzyZcONIxK0PTMN7+4rRXZ6StSozS/J+LxrEP0T5ut2uNFA44hzDs7dkIr39pcgLyNtDfTCkoIvugcsNZmIERCtORHDT1aaDe/sL0VxSCqI5vJl9yDuPpqznLOhiivDj7jpcHu/BvBmPJbTUyQ1p7dv3oBFWcFXfwyidywxsMtcgfFSBQ5s7sU9wIuZQ0xiopH4TLRtQ4EKHeCFgtPT83uiNvkMAZgQEpuGrXUVh5ZLW0Az3sVnwr950UgfoWqUk+kzXwAn3UbK6gJMkq2qYHIl1WZgEDqptlu1kU6SDe0V6GQ6MghCJ9WhTGiVDzQXakncpiF1IoWbE37sFd6a1JMlwikQ6s1ucYmpCww3M37QOzGK1BJ1j71i9dFYR7eBvk/i2DahR7f/A/8+VIuSHMGCAAAAAElFTkSuQmCC\";\r\n                let styles = {\r\n                    fontSize: \"0.12962963rem\",\r\n                    fontFamily: \"PingFangSC-Medium, PingFang SC\",\r\n                    fontWeight: \"500\",\r\n                    color: \"#7e878c\",\r\n                    lineHeight: \"0.18518519rem\",\r\n                    textAlign: \"center\",\r\n                };\r\n                for (let i = 0; i <= 5; i++) {\r\n                    let element = item_elements[i];\r\n                    itemValue[i] = {\r\n                    innerHTML: element.innerHTML,\r\n                    style: {},\r\n                    };\r\n                    let computedStyle = getComputedStyle(element);\r\n                    for (let property in computedStyle) {\r\n                    itemValue[i].style[property] = computedStyle[property];\r\n                    }\r\n                    if (computedStyle.display !== \"none\") {\r\n                    if (i === 0 || i === 2 || i === 3) {\r\n                        if (!element.querySelector(\"img\")) {\r\n                        let spans = element.querySelectorAll(\"span\");\r\n                        spans.forEach((span) => span.remove());\r\n                        that.addImage(element, imgSrc);\r\n                        }\r\n                    } else if (i === 1 || i === 4) {\r\n                        if (!element.querySelector(\"span\")) {\r\n                        let imgs = element.querySelectorAll(\"img\");\r\n                        imgs.forEach((img) => img.remove());\r\n                        that.addSpan(element, \"未完成\", styles);\r\n                        }\r\n                    } else if (i === 5) {\r\n                        element.innerHTML = \"2\";\r\n                        element.style.color = \"#73b7d9\";\r\n                    }\r\n                    }\r\n                }\r\n                } else if (count === 2) {\r\n                let text = \"点击可以查看导图，并保存为图片\";\r\n                let width = text.length * 15;\r\n                document.getElementsByClassName(\r\n                    \"index_customTooltip\"\r\n                )[0].style.minWidth = `${(width + 26) / 108}rem`;\r\n                document.getElementsByClassName(\r\n                    \"introjs-tooltipReferenceLayer\"\r\n                )[0].style.marginLeft = `-${15 / 108}rem`;\r\n                document.getElementsByClassName(\r\n                    \"introjs-arrow\"\r\n                )[0].style.marginLeft = `${25 / 108}rem`;\r\n                document.getElementsByClassName(\r\n                    \"introjs-helperLayer\"\r\n                )[0].style.borderRadius = \"0.0462963rem\";\r\n                document.getElementsByClassName(\"introjs-nextbutton\")[0].innerHTML =\r\n                    \"知道了\";\r\n                }\r\n            });\r\n\r\n            intro.oncomplete(function (targetElement) {\r\n                let detailWrapper = document.getElementsByClassName(\"detailWrapper\")[0];\r\n                let elements1 = detailWrapper.querySelectorAll(\".course_class_name\");\r\n                elements1.forEach((element) => {\r\n                element.innerHTML = initialStates1.innerHTML;\r\n                });\r\n                let elements2 = detailWrapper.querySelectorAll(\r\n                \".ellipsis-content.course_name\"\r\n                );\r\n                elements2.forEach((element) => {\r\n                element.innerHTML = initialStates2.innerHTML;\r\n                });\r\n                let element3 = detailWrapper.querySelectorAll(\r\n                \".course_intro2.course_intro\"\r\n                );\r\n                element3.forEach((element) => {\r\n                element.innerHTML = initialStates3.innerHTML;\r\n                element.style.fontSize = initialStates3.fontSize;\r\n                });\r\n                let element4 = detailWrapper.querySelectorAll(\r\n                \".item.item-value.item-value1\"\r\n                );\r\n                for (let i = 0; i <= 5; i++) {\r\n                let element = element4[i];\r\n                element.innerHTML = itemValue[i].innerHTML;\r\n                if (i === 5) {\r\n                    element.style.color = itemValue[i].style.color;\r\n                }\r\n                }\r\n                // 引导完成，请求真实数据\r\n                that.guide();\r\n                that.setUserGuideStatus();\r\n            });\r\n            intro.onexit(function (targetElement) {\r\n                // 点击完成按钮后， 执行的事件\r\n            });\r\n            intro.onskip(function (targetElement) {\r\n                // 点击跳过按钮后， 执行的事件\r\n            });\r\n            intro.start();\r\n        },\r\n        addImage(parentElement, src) {\r\n            let img = document.createElement(\"img\");\r\n            img.src = src;\r\n            img.style.width = \"0.2037037rem\";\r\n            img.style.height = \"0.2037037rem\";\r\n            parentElement.appendChild(img);\r\n        },\r\n        addSpan(parentElement, text, styles) {\r\n            let span = document.createElement(\"span\");\r\n            span.innerHTML = text;\r\n            for (let prop in styles) {\r\n                span.style[prop] = styles[prop];\r\n            }\r\n            parentElement.appendChild(span);\r\n        },\r\n\r\n        async setUserGuideStatus() {\r\n            let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n            guideStatus.studyLog = 1;\r\n            const jsonData = {\r\n                guide_status: JSON.stringify(guideStatus),\r\n            };\r\n            // 设置用户引导状态\r\n            const setUserRes = await setUserGuideStatus(jsonData);\r\n            if (setUserRes.code === 0) {\r\n                // 再次获取用户引导状态\r\n                const updatedRes = await getUserGuideStatus();\r\n                guideStatus = JSON.parse(updatedRes.data[0].guide_status);\r\n            }\r\n            if (guideStatus) {\r\n                localStorage.setItem(\"guideStatus\", JSON.stringify(guideStatus));\r\n            }\r\n        },\r\n    },\r\n    activated() {\r\n        if(this.courseBase) {\r\n            this.toDetail();\r\n        }\r\n    },\r\n    mounted() {\r\n        const app_type = localStorage.getItem(\"app_type\");\r\n        if (app_type) {\r\n        this.app_type = app_type;\r\n        }\r\n        EventBus.$on(\"studyLog_detail_initGuide\", () => {\r\n            this.guide();\r\n        });\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.main-content {\r\n  height: 100%;\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n  z-index: 105;\r\n}\r\n.box {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n  width: 100%;\r\n  background: #eaedef;\r\n}\r\n.detailWrapper {\r\n  position: absolute;\r\n  height: calc(100% - 120px);\r\n  width: 100%;\r\n  top: 67px;\r\n}\r\n.detail {\r\n  width: calc(100% - 346px);\r\n  margin-top: 12px;\r\n  margin-left: 314px;\r\n  z-index: 999;\r\n  position: relative;\r\n  overflow-y: auto;\r\n  height: 100%;\r\n  padding-bottom: 30px;\r\n  border-radius: 16px;\r\n}\r\n.title {\r\n    display: flex;\r\n    margin: 35px 32px 0;\r\n    align-items: center;\r\n    color: #64afd5;\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    cursor: pointer;\r\n    font-size: 20px;\r\n    font-weight: 400;\r\n    color: #64afd5;\r\n    line-height: 30px;\r\n    position: relative;\r\n\r\n    .think_back {\r\n      margin-right: 10px;\r\n      margin-top: 2px;\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n}\r\n.completeData {\r\n  background-image: url(/static/img/cardBg3.963cba3.png);\r\n  background-size: 100% 100%;\r\n  padding: 22px 0 0 0;\r\n  min-height: 305px;\r\n  transform: scale(1.1, 1.1);\r\n  margin-left: 32px;\r\n  margin-top: 32px;\r\n  cursor: pointer;\r\n\r\n  .course_class_name {\r\n    padding-bottom: 9px;\r\n  }\r\n\r\n  .item-value {\r\n    padding-left: 9px;\r\n  }\r\n  .course_class_name {\r\n    font-size: 12px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #d4d9db;\r\n    line-height: 12px;\r\n    padding-bottom: 8px;\r\n    // padding-left: 23px;\r\n  }\r\n\r\n  .course_name {\r\n    -webkit-line-clamp: 2;\r\n    height: 50px;\r\n    font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 18px;\r\n    color: #64AFD5;\r\n    line-height: 25px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    // padding-left: 26px;\r\n    // padding-right: 23px;\r\n  }\r\n  .course_intro2_border {\r\n    margin: 0 26px 0 26px;\r\n    padding-bottom: 20px;\r\n    border-top: 1px solid #F3F3F4;\r\n    }\r\n  .course_intro2 {\r\n    position: relative;\r\n    overflow: hidden;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7E878C;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    word-break: break-all;\r\n    word-wrap: break-word;\r\n    white-space: pre-wrap;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 3;\r\n    -webkit-box-orient: vertical;\r\n    display: -webkit-box;\r\n    height: 0;\r\n    // padding: 0 26px;\r\n    }\r\n    .course_intro {\r\n        height: 54px;\r\n        margin: 0 0 20px;\r\n    }\r\n    .items {\r\n      display: flex;\r\n      padding-bottom: 6px;\r\n\r\n      .item {\r\n        width: 50%;\r\n      }\r\n\r\n      .item-name {\r\n        font-size: 14px;\r\n        font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n        font-weight: 400;\r\n        color: #7e878c;\r\n        line-height: 21px;\r\n        text-align: right;\r\n        height: 24px;\r\n        line-height: 24px;\r\n      }\r\n\r\n      .item-name1 {\r\n        // padding-right: 5px;\r\n        // padding-left: 26px;\r\n      }\r\n\r\n      .item-value {\r\n        font-size: 14px;\r\n        font-family: PingFangSC-Medium, PingFang SC;\r\n        font-weight: 500;\r\n        color: #7e878c;\r\n        line-height: 24px;\r\n        text-align: center;\r\n        padding-left: 9px;\r\n        height: 24px;\r\n      }\r\n\r\n      .item-value1 {\r\n        padding-left: 10px;\r\n      }\r\n      .experience_num {\r\n        color: #64AFD5;\r\n      }\r\n\r\n      .complete {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n      }\r\n\r\n      .complete1 {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n\r\n        img {\r\n          margin-left: -1px;\r\n        }\r\n      }\r\n\r\n      img {\r\n        width: 20px;\r\n        height: 20px;\r\n      }\r\n    }\r\n    .none {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        width: 100%;\r\n        height: 100%;\r\n    }\r\n}\r\n.before {\r\n    z-index: 2;\r\n}\r\n.swiping {\r\n  pointer-events: all;\r\n}\r\n.evp {\r\n    .content {\r\n        padding: 0 32px 0 26px;\r\n    }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/studyLog/DetailIndex.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content bg-white\",class:[_vm.pageName == 'black' ? 'bgShadow' : '']},[_c('div',{staticClass:\"box\"},[_c('span',{staticClass:\"title\"},[_c('img',{staticClass:\"think_back\",attrs:{\"src\":require(\"@/assets/img/think_back.svg\")},on:{\"click\":_vm.back}}),_vm._v(\" \"),_c('span',{on:{\"click\":_vm.back}},[_vm._v(\" \"+_vm._s(_vm.app_type == 2 ? \"修学日志\" : \"学习日志\"))])]),_vm._v(\" \"),_c('div',{staticClass:\"detailWrapper\"},[_c('div',{staticClass:\"completeData\",style:({\n            position: 'absolute',\n            width: _vm.$px2rem(235),\n            zIndex: 999\n        }),attrs:{\"id\":\"completeDataCurrentCourse\"},on:{\"click\":_vm.toCultureContent}},[_c('div',{staticClass:\"evp before swiping\"},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"course_class_name\"},[_vm._v(\"\\n                    \"+_vm._s(_vm.course_class_name1 ? _vm.course_class_name1 +\n                        \"  \" +\n                        _vm.course_class_name2 : '')+\"\\n                    \")]),_vm._v(\" \"),_c('span',{staticClass:\"ellipsis-content course_name\"},[_vm._v(_vm._s(_vm.course_name || \"\")+\"\\n                    \")]),_vm._v(\" \"),(\n                        !_vm.data.course_intro_short\n                    )?_c('div',{staticClass:\"course_intro2 course_null\"},[_c('p',{staticClass:\"none\"},[_vm._v(\"暂无数据\")])]):_c('span',{staticClass:\"course_intro2\",domProps:{\"innerHTML\":_vm._s(_vm.data.course_intro_short)}}),_vm._v(\" \"),_c('div',{staticClass:\"course_intro2_border2 course_intro2_border\"}),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"思维导图\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData && _vm.completeData.mindmap_complete == 1 ? 'complete' : ''},[(_vm.completeData && _vm.completeData.mindmap_complete == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}}):_c('span',[_vm._v(\"未完成\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"问题意识\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData && _vm.completeData.question_complete == 1 ? 'complete' : ''},[(_vm.completeData && _vm.completeData.question_complete == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}}):_c('span',[_vm._v(\"未完成\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                        \"+_vm._s(_vm.app_type == 2 ? \"本课问题解决\" : \"问题解决\")+\"\\n                    \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData && _vm.completeData.solve_complete == 1 ? 'complete' : ''},[(_vm.completeData && _vm.completeData.solve_complete == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}}):_c('span',[_vm._v(\"未完成\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                        观念的禅修\\n                    \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData && _vm.completeData.guannian_complete == 1 ? 'complete' : ''},[(_vm.completeData && _vm.completeData.guannian_complete == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}}):_c('span',[_vm._v(\"未完成\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"\\n                        心态的禅修\\n                    \")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:_vm.completeData && _vm.completeData.xintai_complete == 1 ? 'complete' : ''},[(_vm.completeData && _vm.completeData.xintai_complete == 1)?_c('img',{attrs:{\"src\":require(\"@/assets/img/studylog_done.svg\")}}):_c('span',[_vm._v(\"未完成\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"items\"},[_c('div',{staticClass:\"item item-name item-name1\"},[_vm._v(\"发布心得\")]),_vm._v(\" \"),_c('div',{staticClass:\"item item-value item-value1\",class:[_vm.completeData && _vm.completeData.experience_num > 0 ? 'experience_num' : '']},[_vm._v(\"\\n                        \"+_vm._s(_vm.completeData ? _vm.completeData.experience_num : 0)+\"\\n                    \")])])])])])]),_vm._v(\" \"),_c('div',{staticClass:\"detail\",attrs:{\"id\":\"completeDetailCurrentCourse\"}},[(_vm.$route.name === 'StudyLogDetail')?_c('Detail',{ref:\"detail\",attrs:{\"studyLogGuideMode\":_vm.studyLogGuideMode,\"data\":_vm.data}}):_vm._e()],1)])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7e2cd009\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/studyLog/DetailIndex.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7e2cd009\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./DetailIndex.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./DetailIndex.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./DetailIndex.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7e2cd009\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./DetailIndex.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7e2cd009\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/studyLog/DetailIndex.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"main-content big-view bg-white\">\r\n    <div class=\"cllectedContent\">\r\n      <div class=\"top\" @click=\"back\">\r\n        <!-- <img src=\"@/assets/img/back.svg\" /> -->\r\n        <i\r\n          class=\"el-icon-arrow-left\"\r\n          :style=\"{\r\n            color: bgColor\r\n          }\"\r\n        />\r\n        <!-- <label class=\"ctitle\">被收藏</label> -->\r\n      </div>\r\n      <div class=\"contentMess\">\r\n        <div class=\"titleArea\">\r\n          <div class=\"tleft\">\r\n            <label class=\"first\">{{ collectMess.experience_title }}</label>\r\n            <div class=\"second\">\r\n              <label class=\"type\">{{ collectMess.experience_tag_title }}</label>\r\n              <label class=\"timer\">{{\r\n                collectMess.experience_create_at\r\n              }}</label>\r\n              <label class=\"clnum\"\r\n                >{{\r\n                  collectMess.experience_collection_num\r\n                    ? collectMess.experience_collection_num + \"收藏\"\r\n                    : \"\"\r\n                }}\r\n              </label>\r\n            </div>\r\n          </div>\r\n          <div class=\"tright\">\r\n            <img\r\n              :src=\"\r\n                collectMess.user_headimage\r\n                  ? require(`@/assets/img/avatarList/${collectMess.user_headimage}`)\r\n                  : require('@/assets/img/avatarList/headimage1.png')\r\n              \"\r\n            />\r\n            <label>{{ collectMess.user_nickname }}</label>\r\n          </div>\r\n        </div>\r\n        <span class=\"content ellipsis-content\"\r\n          >{{ collectMess.experience_content }}\r\n        </span>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport {\r\n  EventBus,\r\n  WHITE_PERSONAL_COLLECTED,\r\n  WHITE_CHILD_PREV_COM\r\n} from \"@/utils/eventBus\";\r\nimport { getExperienceSquareDetail } from \"@/api/index\";\r\nimport { ensurePngSuffix } from \"@/utils/util.js\";\r\nexport default {\r\n  components: {},\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      bgColor:\r\n        this.$store.getters.whiteActiveIndex === 0\r\n          ? \"#71afbb\"\r\n          : this.$store.getters.whiteActiveIndex === 1\r\n          ? \"#64AFD5\"\r\n          : this.$store.getters.whiteActiveIndex === 2\r\n          ? \"#FFB096\"\r\n          : \"#2C51AF\",\r\n      collectMess: {},\r\n      experience_id: null,\r\n      experience_isuseradd: \"1\"\r\n    };\r\n  },\r\n  computed: {\r\n    whiteActiveIndex() {\r\n      return this.$store.getters.whiteActiveIndex;\r\n    }\r\n  },\r\n  watch: {\r\n    whiteActiveIndex: {\r\n      deep: true,\r\n      handler: function(newVal) {\r\n        console.log(\"whiteActiveIndex:\", newVal);\r\n        this.bgColor =\r\n          this.whiteActiveIndex === 0\r\n            ? \"#71afbb\"\r\n            : this.whiteActiveIndex === 1\r\n            ? \"#64AFD5\"\r\n            : this.whiteActiveIndex === 2\r\n            ? \"#FFB096\"\r\n            : \"#2C51AF\";\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    toggle() {\r\n      this.fullscreen = !this.fullscreen;\r\n    },\r\n    back() {\r\n      this.collectMess = {};\r\n      this.$router.back();\r\n    },\r\n    async getExperienceMess() {\r\n      const params = {\r\n        experience_id: this.experience_id,\r\n        experience_isuseradd: this.experience_isuseradd\r\n      };\r\n      let res = null;\r\n      if(this.experience_isuseradd == 2) {\r\n        res = await getExperienceSquareDetail(params);\r\n      } else {\r\n        res = await getUserExperienceDetail(params);\r\n      }\r\n      if (res && res.code === 0) {\r\n        this.collectMess = res.data[0];\r\n        this.collectMess.user_headimage = ensurePngSuffix(this.collectMess.user_headimage);\r\n        this.collectMess.experience_create_at = this.$moment(\r\n          new Date(parseFloat(this.collectMess.experience_create_at + \"000\"))\r\n        ).format(\"YYYY-MM-DD\");\r\n      }\r\n    }\r\n  },\r\n  deactivated() {\r\n    this.collectMess = {};\r\n  },\r\n  activated() {\r\n    console.log(this.$route.query.id);\r\n    const experience_id = this.$route.query.id;\r\n    const experience_isuseradd = this.$route.query.experience_isuseradd;\r\n    this.experience_id = experience_id;\r\n    this.experience_isuseradd = experience_isuseradd;\r\n    this.getExperienceMess();\r\n  },\r\n  created() {\r\n    console.log(this.$route.query.id);\r\n  },\r\n  mounted() {\r\n    this.toggle();\r\n  }\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  background-color: #eaedef;\r\n  overflow: auto;\r\n  display: flex;\r\n}\r\n.cllectedContent {\r\n  display: flex;\r\n  flex-direction: column;\r\n  flex: 1;\r\n  margin: 50px 30px;\r\n  .top {\r\n    display: flex;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    i {\r\n      font-size: 20px;\r\n      font-weight: bold;\r\n    }\r\n    img {\r\n      width: 10px;\r\n      height: 16px;\r\n    }\r\n    label {\r\n      font-size: 16px;\r\n      color: #292929;\r\n      margin-left: 12px;\r\n      display: flex;\r\n      align-items: center;\r\n      &::before {\r\n        content: \"\";\r\n        width: 4px;\r\n        height: 4px;\r\n        background: #64afd5;\r\n        border-radius: 50%;\r\n        display: block;\r\n        margin-right: 5px;\r\n      }\r\n    }\r\n  }\r\n  .contentMess {\r\n    display: flex;\r\n    flex-direction: column;\r\n    width: 100%;\r\n    flex: 1;\r\n    padding: 40px 40px 5px 40px;\r\n    margin-top: 20px;\r\n    background: #fdfdfd;\r\n    box-shadow: -3px -3px 18px 0px rgba(255, 255, 255, 0.9),\r\n      3px 3px 14px 0px rgba(0, 0, 0, 0.05);\r\n    border-radius: 8px;\r\n    border: 1px solid #ffffff;\r\n    .titleArea {\r\n      display: flex;\r\n      width: 100%;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      .tleft {\r\n        display: flex;\r\n        flex-direction: column;\r\n        .first {\r\n          color: #292929;\r\n          font-size: 20px;\r\n          font-family: SourceHanSansCN, SourceHanSansCN;\r\n        }\r\n        .second {\r\n          display: flex;\r\n          margin-top: 12px;\r\n          align-items: center;\r\n          .type {\r\n            border: 1px solid #FFB096;\r\n            border-radius: 4px;\r\n            height: 23px;\r\n            line-height: 23px;\r\n            font-size: 12px;\r\n            color: #FFB096;\r\n            padding: 0 10px 0 5px;\r\n            display: flex;\r\n            align-items: center;\r\n            &::before {\r\n              content: \"\";\r\n              width: 5px;\r\n              height: 5px;\r\n              border-radius: 50%;\r\n              background-color: #FFB096;\r\n              display: block;\r\n              margin-right: 5px;\r\n            }\r\n          }\r\n          .timer {\r\n            color: #7e878c;\r\n            font-size: 12px;\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n            margin: 0 30px;\r\n          }\r\n          .clnum {\r\n            font-size: 12px;\r\n            color: #bcc4c8;\r\n            font-family: SourceHanSansCN, SourceHanSansCN;\r\n          }\r\n        }\r\n      }\r\n      .tright {\r\n        display: flex;\r\n        align-items: center;\r\n        img {\r\n          width: 33px;\r\n          height: 33px;\r\n          border-radius: 100%;\r\n        }\r\n        label {\r\n          font-size: 12px;\r\n          color: #292929;\r\n          margin-left: 10px;\r\n        }\r\n      }\r\n    }\r\n    .content {\r\n      width: 100%;\r\n      flex: 1;\r\n      overflow: hidden;\r\n      overflow-y: auto;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-size: 16px;\r\n      color: #838b96;\r\n      line-height: 32px;\r\n      margin-top: 14px;\r\n      letter-spacing: 0.5px;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/white/personal/collectedMess.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white\"},[_c('div',{staticClass:\"cllectedContent\"},[_c('div',{staticClass:\"top\",on:{\"click\":_vm.back}},[_c('i',{staticClass:\"el-icon-arrow-left\",style:({\n          color: _vm.bgColor\n        })})]),_vm._v(\" \"),_c('div',{staticClass:\"contentMess\"},[_c('div',{staticClass:\"titleArea\"},[_c('div',{staticClass:\"tleft\"},[_c('label',{staticClass:\"first\"},[_vm._v(_vm._s(_vm.collectMess.experience_title))]),_vm._v(\" \"),_c('div',{staticClass:\"second\"},[_c('label',{staticClass:\"type\"},[_vm._v(_vm._s(_vm.collectMess.experience_tag_title))]),_vm._v(\" \"),_c('label',{staticClass:\"timer\"},[_vm._v(_vm._s(_vm.collectMess.experience_create_at))]),_vm._v(\" \"),_c('label',{staticClass:\"clnum\"},[_vm._v(_vm._s(_vm.collectMess.experience_collection_num\n                  ? _vm.collectMess.experience_collection_num + \"收藏\"\n                  : \"\")+\"\\n            \")])])]),_vm._v(\" \"),_c('div',{staticClass:\"tright\"},[_c('img',{attrs:{\"src\":_vm.collectMess.user_headimage\n                ? require((\"@/assets/img/avatarList/\" + (_vm.collectMess.user_headimage)))\n                : require('@/assets/img/avatarList/headimage1.png')}}),_vm._v(\" \"),_c('label',[_vm._v(_vm._s(_vm.collectMess.user_nickname))])])]),_vm._v(\" \"),_c('span',{staticClass:\"content ellipsis-content\"},[_vm._v(_vm._s(_vm.collectMess.experience_content)+\"\\n      \")])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-495bc8db\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/white/personal/collectedMess.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-495bc8db\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./collectedMess.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./collectedMess.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./collectedMess.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-495bc8db\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./collectedMess.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-495bc8db\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/white/personal/collectedMess.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI1cHgiIGhlaWdodD0iMjVweCIgdmlld0JveD0iMCAwIDI1IDI1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDx0aXRsZT7mmoLlgZw8L3RpdGxlPg0KICAgIDxkZWZzPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjQ5Ljc1MjE5MDMlIiB5MT0iMTEuMjA1NDQwOCUiIHgyPSI1MC4yMjQ5MjA5JSIgeTI9IjkyLjY1OTUwMjglIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZBRThCIiBvZmZzZXQ9IjAlIj48L3N0b3A+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NDZCIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4NCiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICA8L2RlZnM+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhteeZvW1pbmlWMuW/g+aAgeaPkOS6pOW/g+W+lyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxMi4wMDAwMDAsIC0yOTEuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0i55m954mMIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5My4wMDAwMDAsIC02MTcuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9IuihjOS4uueZveWNoSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAuMDAwMDAwLCA4MjQuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJwbGF5ZXIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY2LjU1OTMyMiwgNjYuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i5pqC5YGcIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMy4wMDAwMDAsIDE5LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMywxMS41IEMyMywxNy44NTE0NTY0IDE3Ljg1MTQ1NjQsMjMgMTEuNSwyMyBDNS4xNDg1NDM2NCwyMyAwLDE3Ljg1MTQ1NjQgMCwxMS41IEMwLDUuMTQ4NTQzNjQgNS4xNDg1NDM2NCwwIDExLjUsMCBDMTcuODUxNDU2NCwwIDIzLDUuMTQ4NTQzNjQgMjMsMTEuNSBaIiBpZD0iU3Ryb2tlLTEiIHN0cm9rZT0iI0ZGQjA5NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgeD0iOC4xODA2Nzc5NyIgeT0iNS43NSIgd2lkdGg9IjEuMDQwNjY3NjYiIGhlaWdodD0iMTEuNSIgcng9IjAuNTIwMzMzODMiPjwvcmVjdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHg9IjE0LjQ0ODYxODQiIHk9IjUuNzUiIHdpZHRoPSIxLjA0MDY2NzY2IiBoZWlnaHQ9IjExLjUiIHJ4PSIwLjUyMDMzMzgzIj48L3JlY3Q+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mindmed_pause.svg\n// module id = wY88\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0LjAgMzQuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTYsMCBDMjQuODM2OTIzMSwwIDMyLDcuMTYzODcwOTcgMzIsMTYgQzMyLDI0LjgzNjkyMzEgMjQuODM2OTIzMSwzMiAxNiwzMiBDNy4xNjMwNzY5MiwzMiAwLDI0LjgzNjkyMzEgMCwxNiBDMCw3LjE2Mzg3MDk3IDcuMTYzMDc2OTIsMCAxNiwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzAzLjAgLTcyMS4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDY5Ni4wKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjg2Ljk4MDcyODEwNjg2NDMgMjYuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQxNy4wMzY0MDI0NjQ4MTUyIDAuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMSkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDMyLDAgMzIsMzIgMCwzMiAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0icmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIj48L3BvbHlnb24+PC9nPjxwYXRoIGQ9Ik0xNiwwIEM3LjE2MzA3NjkyLDAgMCw3LjE2Mzg3MDk3IDAsMTYgQzAsMjQuODM2OTIzMSA3LjE2MzA3NjkyLDMyIDE2LDMyIEMyNC44MzY5MjMxLDMyIDMyLDI0LjgzNjkyMzEgMzIsMTYgQzMyLDcuMTYzODcwOTcgMjQuODM2OTIzMSwwIDE2LDAiIHN0cm9rZT0iIzYzQUZENSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wIDEwLjApIj48cGF0aCBkPSJNMC41LDAuNDMzMzMzMzMzIEwwLjUsMTIuNTY2NjY2NyIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC4wIDEwLjApIj48cGF0aCBkPSJNMC41LDAuNDMzMzMzMzMzIEwwLjUsMTIuNTY2NjY2NyIgc3Ryb2tlPSIjNjNBRkQ1IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/culture_pause.svg\n// module id = wuEe\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjMzcHgiIGhlaWdodD0iMzNweCIgdmlld0JveD0iMCAwIDMzLjAgMzMuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48ZmlsdGVyIGlkPSJpMSIgeD0iLTQwJSIgeT0iLTQwJSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB3aWR0aD0iMTYyLjIyMjIyMiUiIGhlaWdodD0iMTYyLjIyMjIyMiUiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJpMiI+PC9mZUdhdXNzaWFuQmx1cj48ZmVPZmZzZXQgZHg9IjIiIGR5PSIyIiBpbj0iaTIiIHJlc3VsdD0iaTMiPjwvZmVPZmZzZXQ+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjAgMCAwIDAgMCAwLjA1IDAiIHR5cGU9Im1hdHJpeCIgaW49ImkzIj48L2ZlQ29sb3JNYXRyaXg+PC9maWx0ZXI+PGNsaXBQYXRoIGlkPSJpNCI+PHBhdGggZD0iTTE2LjUsMCBDMjUuNjEyNjk4NCwwIDMzLDcuMzg3MzAxNjMgMzMsMTYuNSBDMzMsMjUuNjEyNjk4NCAyNS42MTI2OTg0LDMzIDE2LjUsMzMgQzcuMzg3MzAxNjMsMzMgMCwyNS42MTI2OTg0IDAsMTYuNSBDMCw3LjM4NzMwMTYzIDcuMzg3MzAxNjMsMCAxNi41LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDUuMCAtMjYxLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzguMCAyNjEuMCkgc2NhbGUoLTEuMCAxLjApIj48ZyBvcGFjaXR5PSIxJSI+PHBhdGggZD0iTTE2LjUsMzMgQzI1LjYxMjY5ODQsMzMgMzMsMjUuNjEyNjk4NCAzMywxNi41IEMzMyw3LjM4NzMwMTYzIDI1LjYxMjY5ODQsMCAxNi41LDAgQzcuMzg3MzAxNjMsMCAwLDcuMzg3MzAxNjMgMCwxNi41IEMwLDI1LjYxMjY5ODQgNy4zODczMDE2MywzMyAxNi41LDMzIFoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCIgZmlsdGVyPSJ1cmwoI2kxKSI+PC9wYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNpNCkiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDMzLDAgMzMsMzMgMCwzMyAwLDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+PC9wb2x5Z29uPjwvZz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAuMzUxNDU4ODg1OTQxNzY0IDI1LjAzNDQ4Mjc1ODYyMDY4KSByb3RhdGUoOTAuMCkgc2NhbGUoLTEuMCAxLjApIj48cGF0aCBkPSJNMTcuMDY4OTY1NSwwIEw4LjUzNDA5MzMyLDcuOTY1NTE3MjQgTDAsMCIgc3Ryb2tlPSIjMkM1MUFFIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/go_button_personality.svg\n// module id = wuyD\n// module chunks = 171","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAWFJREFUOE/tlD8sQ1EUxr9z33tt2fpUEDaxMBgklsZAlEVIIzF37oDWLh0N/tRkwNDFYHmRt3ltJDaTSmMoCaOkCYLQ1PPukYd2oJUn6ehsN/ecX+53zvkuAcDCQbaDJM8B0N2zp2B6UlXHWJ2evKalPTPELYEzBkIAlQDuAeERjPJ3GAM+AoIAbsAIgsh2VDlESSMXY3Z2paL2B0+PLx8Gww4B8fVoZKsKSZi5bpRv7+DTw2C2IKm34lRe/JpWBIk1ShrWogSW09GInkqlRF2IYV0QI8OCTqqQjdnxq6RhFZhgeYRk8yDOAFT4CyQhWuV2VY5q2743TXuVz8ooE5uunIYvcYsShlUC0P7LhCp+LdC1MjVyX1eOWzhvHvYJWwwrSn2MI+V5OjqRd28bQjztyFfSP+Rnt5rdk1yMIXekUAY2Z8aKXqcT3z/q9Gv2p3dqLuaPBXMXzWu01VzcjP/kHTxyAmXWmnY6AAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mind_save.png\n// module id = xNfE\n// module chunks = 171","import { OSSconfig, OverseasOSSconfig } from \"@/utils/oss\";\r\nimport MP4Box from 'mp4box';\r\n\r\nexport function openDatabase(databaseName='myDatabase') {\r\n  return new Promise((resolve, reject) => {\r\n    const request = indexedDB.open(databaseName, 3); // 升级版本号以添加新的 store\r\n\r\n    request.onupgradeneeded = event => {\r\n      const db = event.target.result;\r\n      // 创建 files 对象存储\r\n      if (!db.objectStoreNames.contains(\"files\")) {\r\n        const objectStore = db.createObjectStore(\"files\", { keyPath: \"id\", autoIncrement: true });\r\n        objectStore.createIndex(\"sortOrder\", \"sortOrder\", { unique: false });\r\n      }\r\n      // 创建 mindmap_history 对象存储（保留兼容）\r\n      if (!db.objectStoreNames.contains(\"mindmap_history\")) {\r\n        const historyStore = db.createObjectStore(\"mindmap_history\", { keyPath: \"id\", autoIncrement: true });\r\n        historyStore.createIndex(\"courseId\", \"courseId\", { unique: false });\r\n        historyStore.createIndex(\"versionId\", \"versionId\", { unique: false });\r\n        historyStore.createIndex(\"courseId_versionId\", [\"courseId\", \"versionId\"], { unique: false });\r\n        historyStore.createIndex(\"timestamp\", \"timestamp\", { unique: false });\r\n      }\r\n      // 创建 Undo/Redo 双栈存储\r\n      if (!db.objectStoreNames.contains(\"history_stack\")) {\r\n        const stackStore = db.createObjectStore(\"history_stack\", { keyPath: \"id\", autoIncrement: true });\r\n        stackStore.createIndex(\"courseId\", \"courseId\", { unique: false });\r\n        stackStore.createIndex(\"courseId_type\", [\"courseId\", \"type\"], { unique: false }); // 复合索引：课程ID + 栈类型\r\n        stackStore.createIndex(\"timestamp\", \"timestamp\", { unique: false });\r\n      }\r\n    };\r\n\r\n    request.onsuccess = event => {\r\n      resolve(event.target.result);\r\n    };\r\n\r\n    request.onerror = event => {\r\n      reject(event.target.error);\r\n    };\r\n  });\r\n}\r\n\r\nfunction formatBytes(bytes, decimals = 2) {\r\n  if (bytes === 0) return '0 Bytes';\r\n  const k = 1024;\r\n  const dm = decimals < 0 ? 0 : decimals;\r\n  const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n  const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n  console.log(\"formatBytes:\", i)\r\n  return parseFloat((bytes / Math.pow(k, i)).toFixed(dm) + ' ' + sizes[i]);\r\n}\r\n\r\nasync function checkQuota() {\r\n  try {\r\n    if (navigator.storage && navigator.storage.estimate) {\r\n      const estimation = await navigator.storage.estimate();\r\n      const quotaInfo = {\r\n        quota: estimation.quota,\r\n        usage: estimation.usage,\r\n        remaining: estimation.quota - estimation.usage\r\n      };\r\n      console.log(\"checkQuota:\", quotaInfo.quota, quotaInfo.usage, quotaInfo.remaining);\r\n      return quotaInfo;\r\n    } else {\r\n      // this.$message.warning('您的浏览器不支持存储配额查询');\r\n    }\r\n  } catch (error) {\r\n    console.error(error);\r\n    // this.$message.error('查询存储配额失败');\r\n  }\r\n}\r\n\r\nfunction removeFile(db) {\r\n  console.log(\"removeFile\")\r\n  return new Promise(async (resolve, reject) => {\r\n    const transaction = db.transaction([\"files\"], 'readwrite');\r\n    const objectStore = transaction.objectStore(\"files\");\r\n    const allItems = await new Promise((resolve) => {\r\n      const req = objectStore.getAll();\r\n      req.onsuccess = () => resolve(req.result);\r\n    });\r\n    if(allItems.length > 0) {\r\n      const minOrder = allItems.reduce((min, item) =>\r\n        Math.min(min, item.sortOrder), allItems[0].sortOrder);\r\n      const targetItem = allItems.find(item => item.sortOrder === minOrder);\r\n      console.log(\"targetItem:\", targetItem);\r\n      if(targetItem) {\r\n        const request = objectStore.delete(targetItem.id);\r\n        request.onsuccess = () => {\r\n          console.log(`成功删除键为 ${targetItem.fileName} 的记录`);\r\n          resolve();\r\n        };\r\n        request.onerror = (event) => {\r\n          console.error('删除失败:', event.target.error);\r\n          reject(event.target.error);\r\n        };\r\n      } else {\r\n        resolve();\r\n      }\r\n    } else {\r\n      resolve();\r\n    }\r\n  });\r\n}\r\n\r\n// 检查当前存储使用情况\r\nasync function checkStorage(fileData) {\r\n  const size = fileData.size;\r\n  const estimate = await navigator.storage.estimate();\r\n  const usagePercent = ((estimate.usage + size )/ estimate.quota * 100).toFixed(2);\r\n  console.log(estimate.quota, estimate.usage);\r\n  console.log(`已使用: ${usagePercent}%`);\r\n  return usagePercent;\r\n}\r\n\r\n// 私有方法：实际插入数据\r\nasync function _insertData(id, fileName, fileData, databaseName='myDatabase', retryCount) {\r\n  return openDatabase(databaseName).then(db => {\r\n    return new Promise(async (resolve, reject) => {\r\n      let retryCount1 = retryCount;\r\n      const transaction = db.transaction([\"files\"], \"readwrite\");\r\n      const objectStore = transaction.objectStore(\"files\");\r\n      // 获取当前最大排序值\r\n      const allItems = await new Promise((resolve) => {\r\n        const req = objectStore.getAll();\r\n        req.onsuccess = () => resolve(req.result);\r\n      });\r\n      try {\r\n        const maxOrder = allItems.reduce((max, item) =>\r\n          Math.max(max, item.sortOrder), 0);\r\n        // 得到文件大小\r\n        const request = objectStore.add({ id, sortOrder: maxOrder + 1, fileData, fileName });\r\n\r\n        request.onsuccess = async () => {\r\n          resolve();\r\n          const usagePercent = await checkStorage(fileData);\r\n          console.log(\"usagePercent:\", usagePercent);\r\n          if(parseFloat(usagePercent) > 90) {\r\n            await removeFile(db);\r\n            await removeFile(db);\r\n          }\r\n        };\r\n        request.onerror = () => reject(request.error);\r\n\r\n        // // 如果来源超出了配额，则尝试写入 IndexedDB 将会失败。系统会调用事务的 onabort() 处理脚本，并传递事件\r\n        transaction.onabort = async function(event) {\r\n          const error = event.target.error; // DOMException\r\n          // 22 是 QUOTA_EXCEEDED_ERR 的代码\r\n          if (error.name == 'QuotaExceededError' ||\r\n            error.message.includes('quota') ||\r\n            error.code === 22 ) {\r\n            // // 存储空间不足，重试\r\n            // await removeFile(db);\r\n            // retryCount1++;\r\n            // saveFile(id, fileName, fileData, databaseName, retryCount1);\r\n          }\r\n        };\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n// 检查是否是存储空间不足错误\r\nfunction _isQuotaExceeded(error) {\r\n  return error.name === 'QuotaExceededError' ||\r\n         error.message.includes('quota') ||\r\n         error.code === 22; // 22 是 QUOTA_EXCEEDED_ERR 的代码\r\n}\r\n\r\nexport async function saveFile(id, fileName, fileData, databaseName='myDatabase', retryCount = 0) {\r\n  const maxRetries = 5; // 最大重试次数\r\n  if(retryCount < maxRetries) {\r\n    try {\r\n      return await _insertData(id, fileName, fileData, databaseName);\r\n    } catch (error) {\r\n      console.log(\"saveFile error:\", error);\r\n      if (_isQuotaExceeded(error)) {\r\n        console.log('存储空间不足，尝试删除 sortOrder 最小的数据...');\r\n        await removeFile(db);\r\n        // retryCount++;\r\n      } else {\r\n        throw error; // 其他错误直接抛出\r\n      }\r\n    }\r\n  } else {\r\n    throw new Error(`插入失败，已尝试删除 ${maxRetries} 次仍无法释放足够空间`);\r\n  }\r\n}\r\n\r\nasync function prioritizeItemById(databaseName, storeName, idToPrioritize) {\r\n  openDatabase(databaseName).then(async db => {\r\n    // 开始事务\r\n    const transaction = db.transaction([storeName], 'readwrite');\r\n    const store = transaction.objectStore(storeName);\r\n\r\n    try {\r\n      // 1. 获取所有数据以找到当前最大值\r\n      const allItems = await new Promise((resolve, reject) => {\r\n        const request = store.getAll();\r\n        request.onsuccess = () => resolve(request.result);\r\n        request.onerror = () => reject(request.error);\r\n      });\r\n\r\n      // 2. 找到要更新的目标数据\r\n      const targetItem = allItems.find(item => item.id === idToPrioritize);\r\n      if (!targetItem) {\r\n        return\r\n        // throw new Error(`未找到ID为 ${idToPrioritize} 的数据`);\r\n      }\r\n\r\n      // 3. 计算当前最大sortOrder值\r\n      const currentMax = allItems.reduce((max, item) =>\r\n        Math.max(max, item.sortOrder || 0), 0);\r\n\r\n      // 4. 更新目标数据的sortOrder\r\n      if(currentMax == targetItem.sortOrder) {\r\n        return true;\r\n      }\r\n\r\n      targetItem.sortOrder = currentMax + 1;\r\n      // 5. 保存更新\r\n      await new Promise((resolve, reject) => {\r\n        const updateRequest = store.put(targetItem);\r\n        updateRequest.onsuccess = () => resolve();\r\n        updateRequest.onerror = () => reject(updateRequest.error);\r\n      });\r\n\r\n      console.log(`已更新ID ${idToPrioritize} 的sortOrder为 ${currentMax + 1}`);\r\n      return true;\r\n    } catch (error) {\r\n      console.error('更新失败:', error);\r\n      return false;\r\n    } finally {\r\n      db.close();\r\n    }\r\n  })\r\n\r\n}\r\n\r\nexport function getFile(id, databaseName='myDatabase') {\r\n  return openDatabase(databaseName).then(db => {\r\n    return new Promise((resolve, reject) => {\r\n      const transaction = db.transaction([\"files\"], \"readonly\");\r\n      const objectStore = transaction.objectStore(\"files\");\r\n      const request = objectStore.get(id);\r\n\r\n      request.onsuccess = event => {\r\n        resolve(event.target.result);\r\n        db.close();\r\n        // 将当前访问的数据的sortOrder设置为最大\r\n        // prioritizeItemById(databaseName, \"files\", id);\r\n      };\r\n      request.onerror = () => reject(request.error);\r\n    });\r\n  });\r\n}\r\n\r\n\r\n\r\n//  根据文件获取base64\r\nexport function getBase64ByFile(file) {\r\n  return new Promise((resolve, reject) => {\r\n    const reader = new FileReader();\r\n    reader.readAsDataURL(file);\r\n    reader.onload = () => resolve(reader.result);\r\n    reader.onerror = error => reject(error);\r\n  });\r\n}\r\n\r\n// 根据url获取base64\r\nexport function getBase64ByUrl(url) {\r\n  return new Promise((resolve, reject) => {\r\n    try {\r\n      console.log(\"getBase64ByUrl:\", url);\r\n      const xhr = new XMLHttpRequest();\r\n      xhr.open(\"GET\", url, true);\r\n      xhr.responseType = \"blob\";\r\n      xhr.onload = () => {\r\n        console.log(\"xhr\", xhr);\r\n        if (xhr.status === 200) {\r\n          const reader = new FileReader();\r\n\r\n          reader.onloadend = () => {\r\n            const base64 = reader.result; // 提取 Base64 字符串部分\r\n            resolve(base64);\r\n          };\r\n\r\n          reader.onerror = () => {\r\n            reject(reader.error);\r\n          };\r\n\r\n          reader.readAsDataURL(xhr.response);\r\n          //   const url = window.URL.createObjectURL(x.response);\r\n          //   const file = new File([xhr.response], 'file.jpg', { type: 'image/jpeg' });\r\n        }\r\n      };\r\n      xhr.send();\r\n    } catch (error) {\r\n      console.log(error);\r\n    }\r\n  });\r\n}\r\n\r\n// 根据url获取file\r\nexport function getFileByUrl(url, fileName) {\r\n  return new Promise((resolve, reject) => {\r\n    try {\r\n      const xhr = new XMLHttpRequest();\r\n      xhr.open(\"GET\", url, true);\r\n      xhr.responseType = \"blob\";\r\n      xhr.onload = () => {\r\n        console.log(\"xhr\", xhr);\r\n        if (xhr.status === 200) {\r\n          const reader = new FileReader();\r\n\r\n          reader.onloadend = () => {\r\n            const base64 = reader.result; // 提取 Base64 字符串部分\r\n            // base64ToFile(base64, fileName);\r\n            resolve(base64);\r\n          };\r\n\r\n          reader.onerror = () => {\r\n            reject(reader.error);\r\n          };\r\n\r\n          reader.readAsDataURL(xhr.response);\r\n          //   const url = window.URL.createObjectURL(x.response);\r\n          //   const file = new File([xhr.response], 'file.jpg', { type: 'image/jpeg' });\r\n        }\r\n      };\r\n      xhr.send();\r\n    } catch (error) {\r\n      console.log(error);\r\n    }\r\n  });\r\n}\r\n\r\n// 根据url获取数据\r\nexport function getBlobByUrl(url) {\r\n  return new Promise((resolve, reject) => {\r\n    try {\r\n      console.log(\"getBlobByUrl:\", url);\r\n      const xhr = new XMLHttpRequest();\r\n      xhr.open(\"GET\", url, true);\r\n      xhr.responseType = \"blob\";\r\n      // 进度事件处理\r\n      // xhr.onprogress = function(event) {\r\n      //   if (event.lengthComputable) {\r\n      //       var percentComplete = (event.loaded / event.total) * 100;\r\n      //   }\r\n      // };\r\n      xhr.onload = () => {\r\n        if (xhr.status === 200) {\r\n          resolve(xhr.response);\r\n        } else {\r\n          reject(new Error(`Request failed with status ${xhr.status}`));\r\n        }\r\n      };\r\n      xhr.onerror = function() {\r\n        reject(new Error('Network error'));\r\n      };\r\n      xhr.send();\r\n    } catch (error) {\r\n      console.log(error);\r\n    }\r\n  });\r\n}\r\n\r\nexport function base64ToFile(base64String, filename) {\r\n    // 分离 Base64 数据和 MIME 类型\r\n    const [metadata, base64Data] = base64String.split(',');\r\n    const mimeString = metadata.match(/:(.*?);/)[1];\r\n\r\n    // 解码 Base64 字符串\r\n    const binaryString = atob(base64Data);\r\n    const len = binaryString.length;\r\n    const bytes = new Uint8Array(len);\r\n\r\n    // 将解码后的数据转为字节数组\r\n    for (let i = 0; i < len; i++) {\r\n      bytes[i] = binaryString.charCodeAt(i);\r\n    }\r\n\r\n    // 创建 Blob 对象\r\n    const blob = new Blob([bytes], { type: mimeString });\r\n\r\n    // 创建 File 对象\r\n    return new File([blob], filename, { type: mimeString });\r\n  }\r\n\r\nexport function base64ToBlob(base64String, filename) {\r\n  // 分离 Base64 数据和 MIME 类型\r\n  const [metadata, base64Data] = base64String.split(',');\r\n  const mimeString = metadata.match(/:(.*?);/)[1];\r\n\r\n  // 解码 Base64 字符串\r\n  const binaryString = atob(base64Data);\r\n  const len = binaryString.length;\r\n  const bytes = new Uint8Array(len);\r\n\r\n  // 将解码后的数据转为字节数组\r\n  for (let i = 0; i < len; i++) {\r\n    bytes[i] = binaryString.charCodeAt(i);\r\n  }\r\n\r\n  // 创建 Blob 对象\r\n  const blob = new Blob([bytes], { type: mimeString });\r\n\r\n  // 创建 File 对象\r\n  return blob;\r\n}\r\n\r\nexport function blobToFile(blob, fileName, fileOptions = {}) {\r\n  // 默认选项\r\n  const options = {\r\n    type: blob.type,\r\n    lastModified: Date.now(),\r\n    ...fileOptions\r\n  };\r\n\r\n  return new File([blob], fileName, options);\r\n}\r\n// 检验浏览器是否支持该编码\r\nexport async function checkVideoCodecSupport(blobData, fileName) {\r\n  const file = blobToFile(blobData, fileName);\r\n  // 1. 获取视频的编码格式\r\n  const analyzis = await analyzeVideo(file);\r\n  const codec = analyzis.codec;\r\n  console.log(\"analyzis:\", analyzis)\r\n\r\n  // 2. 检测浏览器是否支持该编码\r\n  const video = document.createElement('video');\r\n  const mimeType = `video/mp4; codecs=\"${codec}\"`;\r\n  const canPlay = video.canPlayType(mimeType);\r\n\r\n  return {\r\n    codecType: codec,\r\n    isHVC1: analyzis.isHVC1,\r\n    isHEV1: analyzis.isHEV1,\r\n    isSupported: canPlay === 'probably' || canPlay === 'maybe',\r\n    supportLevel: canPlay\r\n  };\r\n}\r\n// 视频编码信息\r\nasync function analyzeVideo(file) {\r\n  const mp4boxfile = MP4Box.createFile();\r\n\r\n  return new Promise((resolve) => {\r\n    mp4boxfile.onReady = (info) => {\r\n      const videoTrack = info.videoTracks[0];\r\n      resolve({\r\n        codec: videoTrack.codec,\r\n        isHVC1: videoTrack.codec.includes('hvc1'),\r\n        isHEV1: videoTrack.codec.includes('hev1')\r\n      });\r\n    };\r\n\r\n    const reader = new FileReader();\r\n    reader.onload = (e) => {\r\n      const buffer = e.target.result;\r\n      buffer.fileStart = 0;\r\n      mp4boxfile.appendBuffer(buffer);\r\n    };\r\n    reader.readAsArrayBuffer(file);\r\n  });\r\n}\r\n\r\nexport function getOssConfig() {\r\n  const app_type = localStorage.getItem(\"app_type\");\r\n  console.log(\"oss app_type:\", app_type);\r\n  let config = {};\r\n  config = OSSconfig;\r\n  // if (app_type == 1) {\r\n  //   // 国内\r\n  //   config = OSSconfig;\r\n  // } else {\r\n  //   config = OverseasOSSconfig;\r\n  // }\r\n  return config;\r\n}\r\n\r\nexport function compressImage(file) {\r\n  console.log(\"compressImage\")\r\n  return new Promise((resolve, reject) => {\r\n      const reader = new FileReader();\r\n      reader.onload = function(event) {\r\n          const img = new Image();\r\n          img.onload = function() {\r\n              const canvas = document.createElement('canvas');\r\n              const ctx = canvas.getContext('2d');\r\n\r\n              // Set canvas dimensions to the image dimensions\r\n              canvas.width = img.width;\r\n              canvas.height = img.height;\r\n\r\n              // Draw image to canvas\r\n              ctx.drawImage(img, 0, 0);\r\n\r\n              // Convert canvas to Blob with reduced quality\r\n              // canvas.toBlob(function(blob) {\r\n              //     resolve(blob);\r\n              // }, 'image/jpeg', 0.7); // Adjust quality (0.7) as needed\r\n              const dataURL = canvas.toDataURL(file.type, 0.7); // Adjust quality (0.7) as needed\r\n              resolve(dataURL);\r\n          };\r\n          img.src = event.target.result;\r\n      };\r\n      reader.readAsDataURL(file);\r\n  });\r\n}\r\n\r\n// ==================== 思维导图历史快照存储 ====================\r\n\r\n/**\r\n * 保存思维导图快照\r\n * @param {Number} courseId - 课程ID\r\n * @param {Object} fullData - 完整大纲树数据\r\n * @param {String} deviceId - 设备标识\r\n * @param {String} source - 来源 'local' | 'remote'\r\n * @returns {Promise<Object>} 返回保存的快照信息 { versionId, timestamp }\r\n */\r\nexport async function saveSnapshot(courseId, fullData, deviceId, source = 'local') {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"mindmap_history\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"mindmap_history\");\r\n\r\n    // 先获取该课程的最大版本号\r\n    const index = store.index(\"courseId\");\r\n    const request = index.getAll(IDBKeyRange.only(courseId));\r\n\r\n    request.onsuccess = () => {\r\n      const snapshots = request.result || [];\r\n      const maxVersionId = snapshots.reduce((max, s) => Math.max(max, s.versionId || 0), 0);\r\n      const newVersionId = maxVersionId + 1;\r\n\r\n      const snapshot = {\r\n        courseId,\r\n        versionId: newVersionId,\r\n        timestamp: Date.now(),\r\n        fullData: JSON.parse(JSON.stringify(fullData)), // 深拷贝\r\n        source,\r\n        deviceId: deviceId || generateDeviceId()\r\n      };\r\n\r\n      const addRequest = store.add(snapshot);\r\n      addRequest.onsuccess = () => {\r\n        console.log(`[History] 快照已保存: courseId=${courseId}, versionId=${newVersionId}`);\r\n        resolve({ versionId: newVersionId, timestamp: snapshot.timestamp });\r\n        db.close();\r\n      };\r\n      addRequest.onerror = () => {\r\n        reject(addRequest.error);\r\n        db.close();\r\n      };\r\n    };\r\n\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 按版本号获取快照\r\n * @param {Number} courseId - 课程ID\r\n * @param {Number} versionId - 版本号\r\n * @returns {Promise<Object|null>} 快照数据\r\n */\r\nexport async function getSnapshotByVersion(courseId, versionId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"mindmap_history\"], \"readonly\");\r\n    const store = transaction.objectStore(\"mindmap_history\");\r\n    const index = store.index(\"courseId_versionId\");\r\n    const request = index.get(IDBKeyRange.only([courseId, versionId]));\r\n\r\n    request.onsuccess = () => {\r\n      resolve(request.result || null);\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 获取最近N条快照\r\n * @param {Number} courseId - 课程ID\r\n * @param {Number} limit - 数量限制\r\n * @returns {Promise<Array>} 快照列表\r\n */\r\nexport async function getLatestSnapshots(courseId, limit = 50) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"mindmap_history\"], \"readonly\");\r\n    const store = transaction.objectStore(\"mindmap_history\");\r\n    const index = store.index(\"courseId\");\r\n    const request = index.getAll(IDBKeyRange.only(courseId));\r\n\r\n    request.onsuccess = () => {\r\n      const snapshots = request.result || [];\r\n      // 按版本号排序，取最近N条\r\n      const sorted = snapshots.sort((a, b) => b.versionId - a.versionId).slice(0, limit);\r\n      resolve(sorted);\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 删除指定版本后的所有快照（时间线截断）\r\n * @param {Number} courseId - 课程ID\r\n * @param {Number} versionId - 版本号，删除该版本之后的所有快照\r\n * @returns {Promise<Number>} 删除的数量\r\n */\r\nexport async function deleteSnapshotsAfterVersion(courseId, versionId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"mindmap_history\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"mindmap_history\");\r\n    const index = store.index(\"courseId\");\r\n    const request = index.getAll(IDBKeyRange.only(courseId));\r\n\r\n    request.onsuccess = () => {\r\n      const snapshots = request.result || [];\r\n      let deleteCount = 0;\r\n\r\n      snapshots.forEach(snapshot => {\r\n        if (snapshot.versionId > versionId) {\r\n          store.delete(snapshot.id);\r\n          deleteCount++;\r\n        }\r\n      });\r\n\r\n      console.log(`[History] 时间线截断: courseId=${courseId}, 删除版本>${versionId}的${deleteCount}个快照`);\r\n      resolve(deleteCount);\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 清理过期快照，保留最近N条\r\n * @param {Number} courseId - 课程ID\r\n * @param {Number} maxCount - 最大保留数量\r\n * @returns {Promise<Number>} 删除的数量\r\n */\r\nexport async function cleanupOldSnapshots(courseId, maxCount = 50) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"mindmap_history\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"mindmap_history\");\r\n    const index = store.index(\"courseId\");\r\n    const request = index.getAll(IDBKeyRange.only(courseId));\r\n\r\n    request.onsuccess = () => {\r\n      const snapshots = request.result || [];\r\n      // 按版本号排序\r\n      const sorted = snapshots.sort((a, b) => b.versionId - a.versionId);\r\n\r\n      if (sorted.length <= maxCount) {\r\n        resolve(0);\r\n        db.close();\r\n        return;\r\n      }\r\n\r\n      // 删除超出限制的旧快照\r\n      const toDelete = sorted.slice(maxCount);\r\n      let deleteCount = 0;\r\n\r\n      toDelete.forEach(snapshot => {\r\n        store.delete(snapshot.id);\r\n        deleteCount++;\r\n      });\r\n\r\n      console.log(`[History] 清理过期快照: courseId=${courseId}, 删除${deleteCount}个`);\r\n      resolve(deleteCount);\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 获取课程的版本范围信息\r\n * @param {Number} courseId - 课程ID\r\n * @returns {Promise<Object>} { minVersionId, maxVersionId, count }\r\n */\r\nexport async function getSnapshotVersionRange(courseId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"mindmap_history\"], \"readonly\");\r\n    const store = transaction.objectStore(\"mindmap_history\");\r\n    const index = store.index(\"courseId\");\r\n    const request = index.getAll(IDBKeyRange.only(courseId));\r\n\r\n    request.onsuccess = () => {\r\n      const snapshots = request.result || [];\r\n      if (snapshots.length === 0) {\r\n        resolve({ minVersionId: 0, maxVersionId: 0, count: 0 });\r\n      } else {\r\n        const versionIds = snapshots.map(s => s.versionId);\r\n        resolve({\r\n          minVersionId: Math.min(...versionIds),\r\n          maxVersionId: Math.max(...versionIds),\r\n          count: snapshots.length\r\n        });\r\n      }\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 生成或获取设备ID\r\n * @returns {String} 设备ID\r\n */\r\nfunction generateDeviceId() {\r\n  let deviceId = localStorage.getItem('mindmap_device_id');\r\n  if (!deviceId) {\r\n    deviceId = 'device_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\r\n    localStorage.setItem('mindmap_device_id', deviceId);\r\n  }\r\n  return deviceId;\r\n}\r\n\r\n/**\r\n * 获取当前设备ID\r\n * @returns {String} 设备ID\r\n */\r\nexport function getDeviceId() {\r\n  return generateDeviceId();\r\n}\r\n\r\n/**\r\n * 清除指定课程的所有历史快照\r\n * @param {Number} courseId - 课程ID\r\n * @returns {Promise<Number>} 删除的数量\r\n */\r\nexport async function clearMindmapHistory(courseId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"mindmap_history\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"mindmap_history\");\r\n    const index = store.index(\"courseId\");\r\n    const request = index.getAll(IDBKeyRange.only(courseId));\r\n\r\n    request.onsuccess = () => {\r\n      const snapshots = request.result || [];\r\n      let deleteCount = 0;\r\n\r\n      snapshots.forEach(snapshot => {\r\n        store.delete(snapshot.id);\r\n        deleteCount++;\r\n      });\r\n\r\n      console.log(`[History] 清除历史快照: courseId=${courseId}, 删除${deleteCount}个`);\r\n      resolve(deleteCount);\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n// ==================== Undo/Redo 双栈存储 ====================\r\n\r\nconst MAX_STACK_SIZE = 50; // 最大栈深度\r\n\r\n/**\r\n * 压入 Undo 栈（新编辑操作时调用，会自动清空 Redo 栈）\r\n * @param {Number} courseId - 课程ID\r\n * @param {Object} snapshot - 状态快照数据\r\n * @param {String} deviceId - 设备标识\r\n * @returns {Promise<Object>} 返回操作结果\r\n */\r\nexport async function pushUndo(courseId, snapshot, deviceId = null) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n\r\n    // 1. 先清空 Redo 栈\r\n    const redoIndex = store.index(\"courseId_type\");\r\n    const redoRequest = redoIndex.getAll(IDBKeyRange.only([courseId, 'redo']));\r\n\r\n    redoRequest.onsuccess = () => {\r\n      const redoItems = redoRequest.result || [];\r\n      redoItems.forEach(item => store.delete(item.id));\r\n      console.log(`[UndoStack] 清空 Redo 栈: courseId=${courseId}, 删除${redoItems.length}个`);\r\n\r\n      // 2. 获取当前 Undo 栈大小\r\n      const undoIndex = store.index(\"courseId_type\");\r\n      const undoRequest = undoIndex.getAll(IDBKeyRange.only([courseId, 'undo']));\r\n\r\n      undoRequest.onsuccess = () => {\r\n        const undoItems = undoRequest.result || [];\r\n\r\n        // 3. 如果超过最大限制，删除最旧的记录\r\n        if (undoItems.length >= MAX_STACK_SIZE) {\r\n          // 按时间戳排序，删除最旧的\r\n          const sorted = undoItems.sort((a, b) => a.timestamp - b.timestamp);\r\n          const toDelete = sorted.slice(0, undoItems.length - MAX_STACK_SIZE + 1);\r\n          toDelete.forEach(item => store.delete(item.id));\r\n          console.log(`[UndoStack] 清理旧记录: 删除${toDelete.length}个`);\r\n        }\r\n\r\n        // 4. 压入新的 Undo 记录\r\n        const record = {\r\n          courseId,\r\n          type: 'undo',\r\n          timestamp: Date.now(),\r\n          snapshot: JSON.parse(JSON.stringify(snapshot)), // 深拷贝\r\n          deviceId: deviceId || getDeviceId()\r\n        };\r\n\r\n        const addRequest = store.add(record);\r\n        addRequest.onsuccess = () => {\r\n          console.log(`[UndoStack] 压入 Undo 栈: courseId=${courseId}`);\r\n          resolve({ success: true, type: 'undo' });\r\n          db.close();\r\n        };\r\n        addRequest.onerror = () => {\r\n          reject(addRequest.error);\r\n          db.close();\r\n        };\r\n      };\r\n\r\n      undoRequest.onerror = () => {\r\n        reject(undoRequest.error);\r\n        db.close();\r\n      };\r\n    };\r\n\r\n    redoRequest.onerror = () => {\r\n      reject(redoRequest.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 弹出 Undo 栈顶元素（撤销操作时调用，会自动压入 Redo 栈）\r\n * @param {Number} courseId - 课程ID\r\n * @param {Object} currentSnapshot - 当前状态快照（用于压入 Redo 栈）\r\n * @returns {Promise<Object|null>} 返回弹出的快照数据，如果栈空则返回 null\r\n */\r\nexport async function popUndo(courseId, currentSnapshot) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n\r\n    // 获取 Undo 栈所有记录\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, 'undo']));\r\n\r\n    request.onsuccess = () => {\r\n      const undoItems = request.result || [];\r\n\r\n      if (undoItems.length === 0) {\r\n        console.log(`[UndoStack] Undo 栈为空: courseId=${courseId}`);\r\n        resolve(null);\r\n        db.close();\r\n        return;\r\n      }\r\n\r\n      // 按时间戳排序，获取最新的（栈顶）\r\n      const sorted = undoItems.sort((a, b) => b.timestamp - a.timestamp);\r\n      const topItem = sorted[0];\r\n\r\n      // 从 Undo 栈删除\r\n      store.delete(topItem.id);\r\n      console.log(`[UndoStack] 弹出 Undo 栈顶: courseId=${courseId}, id=${topItem.id}`);\r\n\r\n      // 将当前状态压入 Redo 栈\r\n      if (currentSnapshot) {\r\n        const redoRecord = {\r\n          courseId,\r\n          type: 'redo',\r\n          timestamp: Date.now(),\r\n          snapshot: JSON.parse(JSON.stringify(currentSnapshot)),\r\n          deviceId: getDeviceId()\r\n        };\r\n        store.add(redoRecord);\r\n        console.log(`[UndoStack] 当前状态压入 Redo 栈: courseId=${courseId}`);\r\n      }\r\n\r\n      resolve(topItem.snapshot);\r\n      db.close();\r\n    };\r\n\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 弹出 Redo 栈顶元素（重做操作时调用，会自动压入 Undo 栈）\r\n * @param {Number} courseId - 课程ID\r\n * @param {Object} currentSnapshot - 当前状态快照（用于压入 Undo 栈）\r\n * @returns {Promise<Object|null>} 返回弹出的快照数据，如果栈空则返回 null\r\n */\r\nexport async function popRedo(courseId, currentSnapshot) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n\r\n    // 获取 Redo 栈所有记录\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, 'redo']));\r\n\r\n    request.onsuccess = () => {\r\n      const redoItems = request.result || [];\r\n\r\n      if (redoItems.length === 0) {\r\n        console.log(`[UndoStack] Redo 栈为空: courseId=${courseId}`);\r\n        resolve(null);\r\n        db.close();\r\n        return;\r\n      }\r\n\r\n      // 按时间戳排序，获取最新的（栈顶）\r\n      const sorted = redoItems.sort((a, b) => b.timestamp - a.timestamp);\r\n      const topItem = sorted[0];\r\n\r\n      // 从 Redo 栈删除\r\n      store.delete(topItem.id);\r\n      console.log(`[UndoStack] 弹出 Redo 栈顶: courseId=${courseId}, id=${topItem.id}`);\r\n\r\n      // 将当前状态压入 Undo 栈\r\n      if (currentSnapshot) {\r\n        const undoRecord = {\r\n          courseId,\r\n          type: 'undo',\r\n          timestamp: Date.now(),\r\n          snapshot: JSON.parse(JSON.stringify(currentSnapshot)),\r\n          deviceId: getDeviceId()\r\n        };\r\n        store.add(undoRecord);\r\n        console.log(`[UndoStack] 当前状态压入 Undo 栈: courseId=${courseId}`);\r\n      }\r\n\r\n      resolve(topItem.snapshot);\r\n      db.close();\r\n    };\r\n\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 显式清空 Redo 栈\r\n * @param {Number} courseId - 课程ID\r\n * @returns {Promise<Number>} 删除的数量\r\n */\r\nexport async function clearRedoStack(courseId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, 'redo']));\r\n\r\n    request.onsuccess = () => {\r\n      const items = request.result || [];\r\n      items.forEach(item => store.delete(item.id));\r\n      console.log(`[UndoStack] 清空 Redo 栈: courseId=${courseId}, 删除${items.length}个`);\r\n      resolve(items.length);\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 获取双栈状态（用于控制按钮禁用状态）\r\n * @param {Number} courseId - 课程ID\r\n * @returns {Promise<Object>} { canUndo: Boolean, canRedo: Boolean, undoCount: Number, redoCount: Number }\r\n */\r\nexport async function getStackStatus(courseId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readonly\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n    const index = store.index(\"courseId_type\");\r\n\r\n    // 获取 Undo 栈数量\r\n    const undoRequest = index.getAll(IDBKeyRange.only([courseId, 'undo']));\r\n\r\n    undoRequest.onsuccess = () => {\r\n      const undoItems = undoRequest.result || [];\r\n\r\n      // 获取 Redo 栈数量\r\n      const redoRequest = index.getAll(IDBKeyRange.only([courseId, 'redo']));\r\n\r\n      redoRequest.onsuccess = () => {\r\n        const redoItems = redoRequest.result || [];\r\n\r\n        resolve({\r\n          canUndo: undoItems.length > 0,\r\n          canRedo: redoItems.length > 0,\r\n          undoCount: undoItems.length,\r\n          redoCount: redoItems.length\r\n        });\r\n        db.close();\r\n      };\r\n\r\n      redoRequest.onerror = () => {\r\n        reject(redoRequest.error);\r\n        db.close();\r\n      };\r\n    };\r\n\r\n    undoRequest.onerror = () => {\r\n      reject(undoRequest.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 清除指定课程的所有 Undo/Redo 栈数据\r\n * @param {Number} courseId - 课程ID\r\n * @returns {Promise<Number>} 删除的总数量\r\n */\r\nexport async function clearAllStacks(courseId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n    const index = store.index(\"courseId\");\r\n    const request = index.getAll(IDBKeyRange.only(courseId));\r\n\r\n    request.onsuccess = () => {\r\n      const items = request.result || [];\r\n      items.forEach(item => store.delete(item.id));\r\n      console.log(`[UndoStack] 清空所有栈: courseId=${courseId}, 删除${items.length}个`);\r\n      resolve(items.length);\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 获取栈顶快照预览（不弹出）\r\n * @param {Number} courseId - 课程ID\r\n * @param {String} stackType - 'undo' 或 'redo'\r\n * @returns {Promise<Object|null>} 快照数据\r\n */\r\nexport async function peekStackTop(courseId, stackType = 'undo') {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readonly\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, stackType]));\r\n\r\n    request.onsuccess = () => {\r\n      const items = request.result || [];\r\n      if (items.length === 0) {\r\n        resolve(null);\r\n      } else {\r\n        // 按时间戳排序，返回最新的（栈顶）\r\n        const sorted = items.sort((a, b) => b.timestamp - a.timestamp);\r\n        resolve(sorted[0].snapshot);\r\n      }\r\n      db.close();\r\n    };\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 直接压入 Redo 栈（远程撤销时保存当前状态）\r\n * 与 pushUndo 不同，此方法不会清空任何栈，仅将快照存入 Redo 栈\r\n * @param {Number} courseId - 课程ID\r\n * @param {Object} snapshot - 状态快照数据\r\n * @param {String} deviceId - 设备标识\r\n * @returns {Promise<Object>} 返回操作结果\r\n */\r\nexport async function pushRedo(courseId, snapshot, deviceId = null) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n\r\n    // 获取当前 Redo 栈大小\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, 'redo']));\r\n\r\n    request.onsuccess = () => {\r\n      const redoItems = request.result || [];\r\n\r\n      // 如果超过最大限制，删除最旧的记录\r\n      if (redoItems.length >= MAX_STACK_SIZE) {\r\n        const sorted = redoItems.sort((a, b) => a.timestamp - b.timestamp);\r\n        const toDelete = sorted.slice(0, redoItems.length - MAX_STACK_SIZE + 1);\r\n        toDelete.forEach(item => store.delete(item.id));\r\n        console.log(`[UndoStack] Redo 栈清理旧记录: 删除${toDelete.length}个`);\r\n      }\r\n\r\n      // 压入新的 Redo 记录\r\n      const record = {\r\n        courseId,\r\n        type: 'redo',\r\n        timestamp: Date.now(),\r\n        snapshot: JSON.parse(JSON.stringify(snapshot)), // 深拷贝\r\n        deviceId: deviceId || getDeviceId()\r\n      };\r\n\r\n      const addRequest = store.add(record);\r\n      addRequest.onsuccess = () => {\r\n        console.log(`[UndoStack] 压入 Redo 栈: courseId=${courseId}`);\r\n        resolve({ success: true, type: 'redo' });\r\n        db.close();\r\n      };\r\n      addRequest.onerror = () => {\r\n        reject(addRequest.error);\r\n        db.close();\r\n      };\r\n    };\r\n\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 直接压入 Undo 栈（远程重做时保存当前状态）\r\n * 与 pushUndo 不同，此方法不会清空 Redo 栈，仅将快照存入 Undo 栈\r\n * @param {Number} courseId - 课程ID\r\n * @param {Object} snapshot - 状态快照数据\r\n * @param {String} deviceId - 设备标识\r\n * @returns {Promise<Object>} 返回操作结果\r\n */\r\nexport async function pushUndoWithoutClear(courseId, snapshot, deviceId = null) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n\r\n    // 获取当前 Undo 栈大小（不清空 Redo）\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, 'undo']));\r\n\r\n    request.onsuccess = () => {\r\n      const undoItems = request.result || [];\r\n\r\n      // 如果超过最大限制，删除最旧的记录\r\n      if (undoItems.length >= MAX_STACK_SIZE) {\r\n        const sorted = undoItems.sort((a, b) => a.timestamp - b.timestamp);\r\n        const toDelete = sorted.slice(0, undoItems.length - MAX_STACK_SIZE + 1);\r\n        toDelete.forEach(item => store.delete(item.id));\r\n        console.log(`[UndoStack] Undo 栈清理旧记录: 删除${toDelete.length}个`);\r\n      }\r\n\r\n      // 压入新的 Undo 记录\r\n      const record = {\r\n        courseId,\r\n        type: 'undo',\r\n        timestamp: Date.now(),\r\n        snapshot: JSON.parse(JSON.stringify(snapshot)), // 深拷贝\r\n        deviceId: deviceId || getDeviceId()\r\n      };\r\n\r\n      const addRequest = store.add(record);\r\n      addRequest.onsuccess = () => {\r\n        console.log(`[UndoStack] 压入 Undo 栈(不清空Redo): courseId=${courseId}`);\r\n        resolve({ success: true, type: 'undo' });\r\n        db.close();\r\n      };\r\n      addRequest.onerror = () => {\r\n        reject(addRequest.error);\r\n        db.close();\r\n      };\r\n    };\r\n\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 仅移除 Undo 栈顶记录（远程撤销同步用）\r\n * 与 popUndo 不同，此方法：\r\n * - 不会返回任何数据\r\n * - 不会将当前状态压入 Redo 栈\r\n * - 仅物理删除 Undo 栈顶的那条记录\r\n * @param {Number} courseId - 课程ID\r\n * @returns {Promise<Boolean>} 是否成功移除\r\n */\r\nexport async function popUndoRecord(courseId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n\r\n    // 获取 Undo 栈所有记录\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, 'undo']));\r\n\r\n    request.onsuccess = () => {\r\n      const undoItems = request.result || [];\r\n\r\n      if (undoItems.length === 0) {\r\n        console.log(`[UndoStack] Undo 栈为空，无记录可移除: courseId=${courseId}`);\r\n        resolve(false);\r\n        db.close();\r\n        return;\r\n      }\r\n\r\n      // 按时间戳排序，获取最新的（栈顶）\r\n      const sorted = undoItems.sort((a, b) => b.timestamp - a.timestamp);\r\n      const topItem = sorted[0];\r\n\r\n      // 从 Undo 栈删除（仅删除，不返回数据）\r\n      store.delete(topItem.id);\r\n      console.log(`[UndoStack] 移除 Undo 栈顶记录: courseId=${courseId}, id=${topItem.id}`);\r\n\r\n      resolve(true);\r\n      db.close();\r\n    };\r\n\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\r\n/**\r\n * 仅移除 Redo 栈顶记录（远程重做同步用）\r\n * 此方法仅物理删除 Redo 栈顶的那条记录\r\n * @param {Number} courseId - 课程ID\r\n * @returns {Promise<Boolean>} 是否成功移除\r\n */\r\nexport async function popRedoRecord(courseId) {\r\n  const db = await openDatabase();\r\n  return new Promise((resolve, reject) => {\r\n    const transaction = db.transaction([\"history_stack\"], \"readwrite\");\r\n    const store = transaction.objectStore(\"history_stack\");\r\n\r\n    // 获取 Redo 栈所有记录\r\n    const index = store.index(\"courseId_type\");\r\n    const request = index.getAll(IDBKeyRange.only([courseId, 'redo']));\r\n\r\n    request.onsuccess = () => {\r\n      const redoItems = request.result || [];\r\n\r\n      if (redoItems.length === 0) {\r\n        console.log(`[UndoStack] Redo 栈为空，无记录可移除: courseId=${courseId}`);\r\n        resolve(false);\r\n        db.close();\r\n        return;\r\n      }\r\n\r\n      // 按时间戳排序，获取最新的（栈顶）\r\n      const sorted = redoItems.sort((a, b) => b.timestamp - a.timestamp);\r\n      const topItem = sorted[0];\r\n\r\n      // 从 Redo 栈删除（仅删除，不返回数据）\r\n      store.delete(topItem.id);\r\n      console.log(`[UndoStack] 移除 Redo 栈顶记录: courseId=${courseId}, id=${topItem.id}`);\r\n\r\n      resolve(true);\r\n      db.close();\r\n    };\r\n\r\n    request.onerror = () => {\r\n      reject(request.error);\r\n      db.close();\r\n    };\r\n  });\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/indexDb.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAmCAYAAADTGStiAAAAAXNSR0IArs4c6QAAAlBJREFUWEftlz1oFFEUhc95u2KMJiioi1u5ZGYkmYCNCKKgVoraKWgnWojYiRbBIj+K2KiIoGIlWCkKNlooKFoYtFGbNdnsbIQUYRMFY4qYv3lHVkxIdLPMml0CulPN8O4935szd957l1iii+Vw09n+Q1J4tFgOhXf+Jrcjql6Z4FybrL1UVJx41uq5e6oCzmYHmqY11VxM3MJ89r3U26qAo4pGiSvL6iiCUWM4ODhYPzo5mYiaUIk4xeOj7OnLHQxlH1ZCMKqGgbnBdBDsVaibs0nkakhrIH4FNRJVrGicWAdqA8nvkvIzMQTu/vGN05lsl4B2GtPhu03nFwPuyX7aGdrplyRe+Z67a65WDYxSVmezWt7QMBRPJBLjJMMZ6/L5/EprrZLJ5NhcOytmdToT3BN02MR4pMVx7hcgQRCsHw81BHK41XPm/ZY18F9X9T9rdaeADhrT6btNXXPtqfYb18CzbtesrvTKVSuuWnFVbVv874orOCPoMg2v+K5zdjGbxMe+3H4r+5jkE99zDpTcj3uDYPd0qBck3vieu20x4HQ2uCirc4a80OI57aUPAsPDqzDyrV/COpInfc+5PZNQzlqdyfRvnqLtJrDCGOxodpzukuDC4M8G3IYPCvckHwF4asAvoXQa0PaYMVchvC6Mx6DGSekOaEaMdFyG9ZC2AjghqY7ELd9zT/3eGCzYLab7cscAe01C4990EyQF4Hr9slhbKpUajwwuBPYODCTtxMQ+iVsErZ2fzHmTJvDrWWMAP4Dx57678f1Ck16y/vgHa40iLxMiEdQAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/small_question_del.png\n// module id = y28M\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIycHgiIGhlaWdodD0iMjZweCIgdmlld0JveD0iMCAwIDIyLjAgMjYuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMTMuNTI0Mzc0NSwyLjE4NzA3NDMyIEMxMy44MDk0NTQ3LDIuMzU3MDgxMTkgMTQuMDQ3NzQwNywyLjU5NTM2NzIzIDE0LjIxNzc0NzYsMi44ODA0NDc0NSBMMjMuMTk2NDIxOCwxNy45MzY1NTg2IEMyMy43NjIxNjgzLDE4Ljg4NTI0NDUgMjMuNDUxNzM0NSwyMC4xMTI5MzQ0IDIyLjUwMzA0ODcsMjAuNjc4NjgwOCBDMjIuMTkzMjg1OSwyMC44NjM0MDcgMjEuODM5MzM1OCwyMC45NjA5MzMxIDIxLjQ3ODY3NDIsMjAuOTYwOTMzMSBMMy41MjEzMjU3OCwyMC45NjA5MzMxIEMyLjQxNjc1NjI4LDIwLjk2MDkzMzEgMS41MjEzMjU3OCwyMC4wNjU1MDI2IDEuNTIxMzI1NzgsMTguOTYwOTMzMSBDMS41MjEzMjU3OCwxOC42MDAyNzE1IDEuNjE4ODUxODksMTguMjQ2MzIxNCAxLjgwMzU3ODE2LDE3LjkzNjU1ODYgTDEwLjc4MjI1MjQsMi44ODA0NDc0NSBDMTEuMzQ3OTk4OCwxLjkzMTc2MTYzIDEyLjU3NTY4ODcsMS42MjEzMjc5MSAxMy41MjQzNzQ1LDIuMTg3MDc0MzIgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJpMiIgeDE9IjQuOTM0NjM1NjNweCIgeTE9IjIuMzQ4NzY0OTZweCIgeDI9IjE5LjM2NjU5MzhweCIgeTI9IjE5LjQyMjI5NjRweCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGRkFFOEEiIG9mZnNldD0iMCUiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSIjRkQ3NDZBIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTAyLjAgLTQ4OC4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTIuNzgxOTU5MDI5MDYwMDkgMTQyLjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNzIuNzE4MDQwOTcwOTM5OSAzMTcuNDUyMDU3NDEzNTkyMjMpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzcuMDM5MDY2ODYxMzM3NyAyOS4zOTMxNDA0MzEwMzgzMjYpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC45NjA5MzMxMzg2NjU5NTggLTQuNDc2NDE5MjM1Mjg4NjMxZS0xMykgcm90YXRlKDkwLjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMTQuMjE3NzQ3NiwyLjg4MDQ0NzQ1IEwyMy4xOTY0MjE4LDE3LjkzNjU1ODYgQzIzLjc2MjE2ODMsMTguODg1MjQ0NSAyMy40NTE3MzQ1LDIwLjExMjkzNDQgMjIuNTAzMDQ4NywyMC42Nzg2ODA4IEMyMi4xOTMyODU5LDIwLjg2MzQwNyAyMS44MzkzMzU4LDIwLjk2MDkzMzEgMjEuNDc4Njc0MiwyMC45NjA5MzMxIEwzLjUyMTMyNTc4LDIwLjk2MDkzMzEgQzIuNDE2NzU2MjgsMjAuOTYwOTMzMSAxLjUyMTMyNTc4LDIwLjA2NTUwMjYgMS41MjEzMjU3OCwxOC45NjA5MzMxIEMxLjUyMTMyNTc4LDE4LjYwMDI3MTUgMS42MTg4NTE4OSwxOC4yNDYzMjE0IDEuODAzNTc4MTYsMTcuOTM2NTU4NiBMMTAuNzgyMjUyNCwyLjg4MDQ0NzQ1IEMxMS4zNDc5OTg4LDEuOTMxNzYxNjMgMTIuNTc1Njg4NywxLjYyMTMyNzkxIDEzLjUyNDM3NDUsMi4xODcwNzQzMiBDMTMuODA5NDU0NywyLjM1NzA4MTE5IDE0LjA0Nzc0MDcsMi41OTUzNjcyMyAxNC4yMTc3NDc2LDIuODgwNDQ3NDUgWiIgc3Ryb2tlPSJ1cmwoI2kyKSIgc3Ryb2tlLXdpZHRoPSI0IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iNSI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/tip_detail_play.svg\n// module id = y38+\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjQycHgiIGhlaWdodD0iNDJweCIgdmlld0JveD0iMCAwIDQyLjAgNDIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NjggTDAsNzY4IEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImkxIj48cGF0aCBkPSJNMjEsMCBDMzIuNTk3OTc5NywwIDQyLDkuNDAyMDIwMjUgNDIsMjEgQzQyLDMyLjU5Nzk3OTcgMzIuNTk3OTc5Nyw0MiAyMSw0MiBDOS40MDIwMjAyNSw0MiAwLDMyLjU5Nzk3OTcgMCwyMSBDMCw5LjQwMjAyMDI1IDkuNDAyMDIwMjUsMCAyMSwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDkxLjAgLTU1Ny4wKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2kwKSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDkxLjAgNTU3LjApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC44ODg4ODg4ODg4ODg4OSAxMC44ODg4ODg4ODg4ODg4OSkiPjxwYXRoIGQ9Ik0wLjM4ODg4ODg4OSwwLjM4ODg4ODg4OSBMMTkuODMzMzMzMywxOS44MzMzMzMzIiBzdHJva2U9IiM5Njk2OTYiIHN0cm9rZS13aWR0aD0iMS4yIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjwvcGF0aD48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzEuMTExMTExMTExMTExMTEgMTAuODg4ODg4ODg4ODg4ODkpIHNjYWxlKC0xLjAgMS4wKSI+PHBhdGggZD0iTTAuMzg4ODg4ODg5LDAuMzg4ODg4ODg5IEwxOS44MzMzMzMzLDE5LjgzMzMzMzMiIHN0cm9rZT0iIzk2OTY5NiIgc3Ryb2tlLXdpZHRoPSIxLjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCI+PC9wYXRoPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cGF0aCBkPSJNMjEsNDIgQzMyLjU5Nzk3OTcsNDIgNDIsMzIuNTk3OTc5NyA0MiwyMSBDNDIsOS40MDIwMjAyNSAzMi41OTc5Nzk3LDAgMjEsMCBDOS40MDIwMjAyNSwwIDAsOS40MDIwMjAyNSAwLDIxIEMwLDMyLjU5Nzk3OTcgOS40MDIwMjAyNSw0MiAyMSw0MiBaIiBzdHJva2U9IiM3RTg3OEMiIHN0cm9rZS13aWR0aD0iMi40IiBmaWxsPSJub25lIiBzdHJva2UtbWl0ZXJsaW1pdD0iNSI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/icon_close.svg\n// module id = y3fK\n// module chunks = 171","<!--  -->\r\n<template>\r\n  <div class=\"message\">{{ message }}</div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  props: {\r\n    message: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    duration: {\r\n      type: Number,\r\n      default: 2000,\r\n    },\r\n  },\r\n  components: {},\r\n  data() {\r\n    return {};\r\n  },\r\n  computed: {},\r\n  watch: {},\r\n  methods: {},\r\n  created() {},\r\n  mounted() {\r\n    setTimeout(() => {\r\n      this.$emit(\"closeMessage\");\r\n    }, this.duration);\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n.message {\r\n  position: absolute;\r\n  top: 50%;\r\n  left: 50%;\r\n  transform: translate(-50%, -50%);\r\n  padding: 10px 29px;\r\n  background-image: url(\"~@/assets/img/message_bg.png\");\r\n  background-size: 100% 100%;\r\n  background-repeat: no-repeat;\r\n  font-size: 14px;\r\n  font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n  font-weight: 500;\r\n  color: #ffffff;\r\n  line-height: 20px;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/Message.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"message\"},[_vm._v(_vm._s(_vm.message))])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3fb1fb96\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Message.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3fb1fb96\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Message.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Message.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Message.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3fb1fb96\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Message.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3fb1fb96\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Message.vue\n// module id = null\n// module chunks = ","<!--  -->\r\n<template>\r\n  <div class=\"main-content big-view bg-white full\"\r\n    :class=\"fullscreen ? 'full' : ''\">\r\n    <div class=\"content-box contentBlack-box\"\r\n      ref=\"contentBox\">\r\n      <div class=\"types\"\r\n        ref=\"types\">\r\n        <div class=\"name\"\r\n          @click=\"back\">\r\n          <img class=\"back\" v-if=\"fullscreen\" src=\"@/assets/img/case_back.svg\" />\r\n          <img class=\"write\" src=\"@/assets/img/write.svg\" />\r\n          <span>{{cases && cases.case_tag_id ? '编辑案例' : '填写案例'}}</span>\r\n        </div>\r\n        <div class=\"add-wrapper\" >\r\n          <img src=\"@/assets/img/publish_case.png\" />\r\n          <span>案例分享</span>\r\n        </div>\r\n      </div>\r\n      <div class=\"my-tips\"\r\n        ref=\"myTips\">\r\n        <div class=\"tips-content\" id=\"createCaseContent\">\r\n          <div class=\"head\">\r\n            <div>\r\n              <p class=\"project\"\r\n                v-if=\"app_type == 2\">课程 /</p>\r\n              <p class=\"project\"\r\n                v-else>笔记 /</p>\r\n              <p class=\"project-name\">{{ course_name }}</p>\r\n              <p class=\"edit-time\">编辑时间 {{ time }}</p>\r\n            </div>\r\n            <!-- <div class=\"draft\"\r\n              v-loading=\"loading\"\r\n              v-throttle=\"[saveDraft]\"\r\n              :class=\"{ disabled: isClicked }\"\r\n              v-if=\"course_case_status == 1 && courseIsuseradd != 3\">\r\n              存草稿\r\n            </div> -->\r\n          </div>\r\n          <div class=\"textarea case-content\"\r\n            :class=\"[course_case_content !== '' ? 'case-content1' : '']\">\r\n            <el-input type=\"textarea\"\r\n              placeholder=\"输入案例\"\r\n              iid=\"createCaseInput\"\r\n              v-model=\"course_case_content\"\r\n              @input=\"throttleChange\"\r\n              @blur=\"blurTips\"\r\n              @focus=\"focusTips\"\r\n              :resize=\"'none'\"\r\n              maxlength=\"3000\"\r\n              show-word-limit>\r\n            </el-input>\r\n            <p v-if=\"!course_case_content\"\r\n              class=\"course_case_content\">\r\n              {{ case_tag_content }}\r\n            </p>\r\n          </div>\r\n          <div class=\"tags-wrapper\">\r\n            <p class=\"add\">添加标签</p>\r\n            <div class=\"tags\">\r\n              <div v-for=\"(item, index) in tags\"\r\n                :key=\"'tag' + index\"\r\n                class=\"tag\"\r\n                :class=\"'tag' + item.case_tag_type\"\r\n                :ref=\"'tag' + index\"\r\n                @click=\"throttleChangeTag(index, $event)\">\r\n                {{ item.case_tag_title }}\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"btn-wrapper\" v-if=\"courseIsuseradd != 3\">\r\n            <div class=\"btn\" :class=\"{ disabled: isClicked }\" v-loading=\"loading\" v-throttle=\"[upload]\">保 存</div>\r\n            <div class=\"tip\" v-if=\" courseIsuseradd == 2\">\r\n                <el-radio-group  v-model=\"course_case_status\">\r\n                  <el-radio\r\n                    v-for=\"item in options\"\r\n                    :key=\"item.value\"\r\n                    :label=\"item.value\"\r\n                    @click.native=\"handleClick(item.value)\"\r\n                  >\r\n                    {{ item.label }}\r\n                  </el-radio>\r\n                </el-radio-group>\r\n                <el-tooltip :disabled=\"false\" :popper-class=\"'submissiontip'\" class=\"item\" effect=\"light\" placement=\"top\">\r\n                  <div class=\"content\" slot=\"content\">投稿的稿件将通过后台审核后发布至<span class=\"xinde\">黑牌案例</span>。</div>\r\n                  <a href=\"javascript:;\" class=\"tooltip\">什么是投稿？</a>\r\n                </el-tooltip>\r\n              </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <el-dialog class=\"con_dialog\"\r\n      :visible.sync=\"dialogVisibleCon\"\r\n      :modal=\"true\"\r\n      :close-on-click-modal=\"false\"\r\n      :destroy-on-close=\"true\"\r\n      :append-to-body=\"true\"\r\n      center\r\n      top=\"0vh\">\r\n      <div class=\"del_confirm\">当前内容与服务器不一致，确定保存当前内容？</div>\r\n      <span slot=\"footer\"\r\n        class=\"dialog-footer\">\r\n        <el-button @click=\"dialogVisibleCon = false\">取 消</el-button>\r\n        <el-button class=\"comfirm-btn\"\r\n          @click=\"submitCon\">确 定</el-button>\r\n      </span>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport AudioCom from \"@/components/AudioCom\";\r\nimport {\r\n  getCaseTag,\r\n  addCourseCase,\r\n  editCourseCase,\r\n  getUserCaseDetail,\r\n} from \"@/api/index\";\r\nimport { Base64 } from \"js-base64\";\r\nimport { getCase, getAddCaseData, removeCase } from \"@/utils/auth\";\r\nimport { throttle, getIsAndroid } from \"@/utils/util\";\r\nimport { EventBus } from \"@/utils/eventBus\";\r\nimport { blackCreateCase } from \"@/utils/intro\";\r\nimport padInputMiddle from \"@/utils/padInputMiddle.js\";\r\n\r\nexport default {\r\n  mixins: [padInputMiddle],\r\n  components: {\r\n    AudioCom,\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreen: false,\r\n      activeTagIndex: \"\",\r\n      tags: [],\r\n      experience_type: 1,\r\n      course_case_content: \"\",\r\n      case_tag_id: \"\",\r\n      course_case_status: \"\",\r\n      case_tag_type: \"\",\r\n      case_tag_title: \"\",\r\n      time: \"\",\r\n      dialogVisibleCon: false,\r\n      course_case_statusCon: \"\",\r\n      confirmData: {},\r\n      case_tag_content: \"\",\r\n      cases: {},\r\n      app_type: 2,\r\n      loading: false,\r\n      isClicked: false,\r\n      isMobile: false,\r\n      isSubmission: 1,\r\n      options: [\r\n        { value: '2', label: '同时上传为投稿' },\r\n      ]\r\n    };\r\n  },\r\n  computed: {\r\n    course_id() {\r\n      return this.$store.getters.course_id;\r\n    },\r\n    course_name() {\r\n      return this.$store.getters.course_name;\r\n    },\r\n    course() {\r\n      return this.$store.getters.course;\r\n    },\r\n    courseProgress() {\r\n      if (this.$store.getters.courseProgress) {\r\n        return this.$store.getters.courseProgress;\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    courseIsuseradd () {\r\n      return this.$store.getters.courseIsuseradd;\r\n    }\r\n  },\r\n  watch: {},\r\n  methods: {\r\n    handleClick(value) {\r\n      console.log(\"handleClick:\", value)\r\n      // 核心逻辑：点击已选中的项时取消选中\r\n      if (this.course_case_status == value) {\r\n        // 延迟清空避免与radio的默认行为冲突\r\n        setTimeout(() => {\r\n          this.course_case_status = '1'\r\n        }, 0)\r\n      }\r\n    },\r\n    focusTips() {\r\n      if(this.isMobile) {\r\n        const createCaseContent = document.getElementById(\"createCaseContent\");\r\n        const $createCaseInput = document.getElementById('createCaseInput');\r\n        this.setInputMiddle($createCaseInput, createCaseContent);\r\n      }\r\n    },\r\n    blurTips() {\r\n      if(this.isMobile) {\r\n        const $createCaseContent = document.getElementById('createCaseContent');\r\n        $createCaseContent.style.paddingBottom = 0+'px';\r\n      }\r\n    },\r\n    guide(isShow) {\r\n      const el = this.$refs.tag3 && this.$refs.tag3[0] || this.$refs.tag0[0];\r\n\r\n      if(isShow === false) {\r\n        if(this.beforeTagActive >= 0 && this.$refs['tag'+this.beforeTagActive] && this.$refs['tag'+this.beforeTagActive][0]) {\r\n          this.$refs['tag'+this.beforeTagActive][0].click();\r\n        }\r\n        return;\r\n      }\r\n      else {\r\n        this.beforeTagActive = this.currTagActive;\r\n        el.click();\r\n      }\r\n\r\n      blackCreateCase(this, [\r\n        {\r\n          intro: \"点击标签，输入框可以看到进一步提示\",\r\n          element: el,\r\n          position: \"bottom\"\r\n        }\r\n      ]);\r\n    },\r\n    setCacheData() {\r\n      // 缓存当前数据\r\n      this.cacheData = {\r\n        case_tag_id: this.case_tag_id,\r\n        course_case_content: this.course_case_content,\r\n        case_tag_type: this.case_tag_type,\r\n        course_case_status: this.course_case_status,\r\n        case_tag_title: this.case_tag_title,\r\n      };\r\n      if (this.cases && this.cases.course_case_id) {\r\n        // 编辑\r\n        this.cacheData.course_case_id = this.cases.course_case_id;\r\n        this.$store.dispatch(\"setCase\", {\r\n          ...this.cases,\r\n          ...this.cacheData,\r\n        });\r\n      } else {\r\n        console.log(\"setAddCaseData:\", this.cacheData);\r\n        // 新增\r\n        this.$store.dispatch(\"setAddCaseData\", this.cacheData);\r\n      }\r\n    },\r\n    changeTitle: throttle(function () {\r\n      this.setCacheData();\r\n    }, 200),\r\n    throttleChange() {\r\n      this.changeTitle();\r\n    },\r\n    setCaseTag(case_tag_id) {\r\n      if (case_tag_id) {\r\n        this.case_tag_id = case_tag_id;\r\n        this.tags.forEach((item, index) => {\r\n          if (item.case_tag_id == case_tag_id) {\r\n            this.case_tag_title = item.case_tag_title;\r\n            this.case_tag_type = item.case_tag_type;\r\n            this.$nextTick(() => {\r\n              this.chooseTags(index);\r\n            });\r\n          }\r\n        });\r\n      } else {\r\n        this.case_tag_id = \"\";\r\n        this.case_tag_type = \"\";\r\n        this.case_tag_title = \"\";\r\n        this.chooseTags(-1);\r\n      }\r\n    },\r\n    async init() {\r\n      // 编辑\r\n      try {\r\n        if (this.$route.query.course_case_id) {\r\n          const cases = getCase(this.$route.query.course_case_id);\r\n          if (cases !== \"undefined\" && cases !== \"null\" && cases) {\r\n            this.cases = JSON.parse(cases);\r\n            this.course_case_content = this.cases.course_case_content;\r\n            this.course_case_status = this.cases.course_case_status + '';\r\n            this.initTime(this.cases.last_update_at);\r\n            this.setCaseTag(this.cases.case_tag_id);\r\n          } else {\r\n            const res = await getUserCaseDetail({\r\n              course_case_id: this.$route.query.course_case_id,\r\n            })\r\n            if (res && res.code === 0) {\r\n              this.cases = res.data[0];\r\n              this.course_case_content = this.cases.course_case_content;\r\n              this.course_case_status = this.cases.course_case_status + '';\r\n\r\n              this.initTime(this.cases.last_update_at);\r\n              this.setCaseTag(this.cases.case_tag_id);\r\n            }\r\n          }\r\n        } else {\r\n          // 新增\r\n          this.initTime();\r\n          const cases = getAddCaseData();\r\n          if (cases !== \"undefined\" && cases !== \"null\" && cases) {\r\n            // 新增有缓存\r\n            this.cases = JSON.parse(cases);\r\n            this.course_case_content = this.cases.course_case_content;\r\n            this.course_case_status = this.cases.course_case_status + '';\r\n            // 点击卡片上的添加案例按钮时，进入添加案例页面，同时要将所点卡片的标签选中\r\n            if (this.$route.query && this.$route.query.case_tag_id) {\r\n              this.setCaseTag(this.$route.query.case_tag_id);\r\n              this.setCacheData();\r\n            } else {\r\n              this.setCaseTag(this.cases.case_tag_id);\r\n            }\r\n          } else {\r\n            // 新增无缓存\r\n            this.cases = null;\r\n            this.course_case_content = \"\";\r\n            this.course_case_status = '1';\r\n            this.setCaseTag();\r\n          }\r\n        }\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n\r\n    },\r\n    // // 存草稿\r\n    // saveDraft() {\r\n    //   if (this.isClicked) return;\r\n    //   this.isClicked = true; // 标记为已点击\r\n    //   // 示例笔记不能新增编辑案例\r\n    //   if (this.courseIsuseradd == 3) {\r\n    //     return;\r\n    //   }\r\n    //   if (this.cases && this.cases.course_case_id) {\r\n    //     this.editCourseCase(1);\r\n    //   } else {\r\n    //     this.addCourseCase(1);\r\n    //   }\r\n    //   // 可以设置延时来确保用户不会在短时间内连续点击\r\n    //   setTimeout(() => {\r\n    //     this.isClicked = false; // 重置点击状态\r\n    //   }, 3000); // 延时时间可以根据需要调整\r\n    // },\r\n    // 上传\r\n    upload() {\r\n      console.log(\"上传\", this.course_case_status);\r\n      if (this.isClicked) return;\r\n      this.isClicked = true; // 标记为已点击\r\n      // 示例笔记不能新增编辑案例\r\n      if (this.courseIsuseradd == 3 || this.loading) {\r\n        return;\r\n      }\r\n      if (this.cases && this.cases.course_case_id) {\r\n        this.editCourseCase(this.course_case_status);\r\n      } else {\r\n        this.addCourseCase(this.course_case_status);\r\n      }\r\n      // 可以设置延时来确保用户不会在短时间内连续点击\r\n      setTimeout(() => {\r\n        this.isClicked = false; // 重置点击状态\r\n      }, 3000); // 延时时间可以根据需要调整\r\n    },\r\n    async addCourseCase(course_case_status) {\r\n      if (!this.validate()) {\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      try {\r\n        let params = {\r\n          course_case_status,\r\n          course_id: this.course_id,\r\n          course_isuseradd: this.courseIsuseradd,\r\n          course_case_content: Base64.encode(this.course_case_content),\r\n          case_tag_id: this.case_tag_id,\r\n          case_tag_type: this.case_tag_type,\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          experience_type: this.experience_type,\r\n        };\r\n        // 新增不用添加缓存\r\n        const res = await addCourseCase(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            message: \"提交成功\",\r\n            type: \"success\",\r\n          });\r\n          removeCase();\r\n          this.loading = false;\r\n          this.course_case_content = \"\";\r\n          this.course_case_status = '1';\r\n          this.chooseTags(-1);\r\n          this.$store.dispatch(\"setAddCaseData\", null);\r\n          EventBus.$emit(\"getCaseInfobyType\");\r\n          this.toMyCases(true);\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async editCourseCase(\r\n      course_case_status,\r\n      is_confirm,\r\n      last_update_device,\r\n      last_update_at\r\n    ) {\r\n      if (!this.validate()) {\r\n        return;\r\n      }\r\n      if(this.loading) {\r\n        return;\r\n      }\r\n      this.loading = true;\r\n      try {\r\n        let course_case_statusPre = this.cases.course_case_status + '';\r\n        let params = {\r\n          is_confirm: is_confirm ? is_confirm : 2, // 是否确认覆盖1是 2否\r\n          course_case_id: this.cases.course_case_id,\r\n          course_case_status,\r\n          course_id: this.course_id,\r\n          course_case_content: Base64.encode(this.course_case_content),\r\n          case_tag_id: this.case_tag_id,\r\n          case_tag_type: this.case_tag_type,\r\n          case_tag_title: this.case_tag_title,\r\n          update_device: localStorage.getItem(\"DeviceId\"),\r\n          // last_update_device: this.cases.last_update_device,\r\n          // last_update_at: this.cases.last_update_at\r\n          last_update_device: last_update_device\r\n            ? last_update_device\r\n            : this.cases.last_update_device,\r\n          last_update_at: last_update_at\r\n            ? last_update_at\r\n            : this.cases.last_update_at,\r\n        };\r\n        const res = await editCourseCase(params);\r\n        if (res && res.code === 0) {\r\n          this.$message({\r\n            type: \"success\",\r\n            message: \"编辑成功\",\r\n          });\r\n          removeCase();\r\n          this.loading = false;\r\n          this.dialogVisibleCon = false;\r\n          this.course_case_status = \"1\";\r\n          delete params.is_confirm;\r\n          // params.last_update_device = res.data[0].last_update_device;\r\n          // params.last_update_at = res.data[0].last_update_at;\r\n          EventBus.$emit(\"getCaseInfobyType\");\r\n          this.getUserCaseDetail(course_case_statusPre, course_case_status);\r\n        } else if (res && res.code === 1023 && res.data[0].need_confirm === 1) {\r\n          this.confirmData = res.data[0];\r\n          this.course_case_statusCon = course_case_status;\r\n          this.dialogVisibleCon = true;\r\n        }\r\n      } catch (error) {\r\n        this.loading = false;\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    async getUserCaseDetail(course_case_statusPre, course_case_status) {\r\n      const res = await getUserCaseDetail({\r\n        course_case_id: this.cases.course_case_id,\r\n      });\r\n      if (res && res.code === 0) {\r\n        if (course_case_statusPre == 1 && course_case_status == 2) {\r\n          let courseProgress = {\r\n            ...this.courseProgress,\r\n            progress_experience_num:\r\n              this.courseProgress.progress_experience_num + 1,\r\n          };\r\n          this.$store.dispatch(\"setCourseProgress\", courseProgress);\r\n        }\r\n        this.toMyCases(true);\r\n      }\r\n    },\r\n    submitCon() {\r\n      this.editCourseCase(\r\n        this.course_case_statusCon,\r\n        1,\r\n        this.confirmData.last_update_device,\r\n        this.confirmData.last_update_at\r\n      );\r\n    },\r\n    async getCaseTag() {\r\n      try {\r\n        const res = await getCaseTag();\r\n        if (res && res.code === 0) {\r\n          this.tags = res.data;\r\n          if (this.$route.query.course_case_id) {\r\n            // 编辑\r\n            if (this.cases) {\r\n              this.setCaseTag(this.cases.case_tag_id);\r\n            }\r\n          } else {\r\n            // 点击卡片上的添加案例按钮时，进入添加案例页面，同时要将所点卡片的标签选中\r\n            if (this.$route.query && this.$route.query.case_tag_id) {\r\n              this.setCaseTag(this.$route.query.case_tag_id);\r\n              this.setCacheData();\r\n            } else {\r\n              const cases = getAddCaseData();\r\n              if (cases !== \"undefined\" && cases !== \"null\" && cases) {\r\n                this.cases = JSON.parse(cases);\r\n                this.course_case_content = this.cases.course_case_content;\r\n                this.course_case_status = this.cases.course_case_status + '';\r\n                this.case_tag_id = this.cases.case_tag_id;\r\n                this.setCaseTag(this.cases.case_tag_id);\r\n                this.setCacheData();\r\n              }\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        // this.$notify.error({\r\n        //   title: \"错误\",\r\n        //   message: error,\r\n        // });\r\n      }\r\n    },\r\n    validate() {\r\n      if (!this.course_case_content) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请输入案例内容\",\r\n        });\r\n        return false;\r\n      }\r\n      if (!this.case_tag_id) {\r\n        this.$message({\r\n          type: \"warning\",\r\n          message: \"请选择标签\",\r\n        });\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    back() {\r\n      this.toMyCases(false);\r\n    },\r\n    // 提交案例\r\n    toMyCases(editCase) {\r\n      this.$store.dispatch(\"setEditCase\", editCase).then(() => {\r\n        EventBus.$emit(\"getUserCaseList\");\r\n        this.$router.back();\r\n      });\r\n    },\r\n    initTime(time) {\r\n      if(time) {\r\n        this.time = this.$moment.unix(time).format('YYYY-MM-DD HH:mm');\r\n      } else {\r\n        this.time = this.$moment(new Date()).format(\"YYYY-MM-DD HH:mm\");\r\n      }\r\n    },\r\n    throttleChangeTag(index) {\r\n      this.chooseTags(index);\r\n    },\r\n    chooseTags(index) {\r\n      this.currTagActive = index;\r\n      for (let i = 0; i < this.tags.length; i++) {\r\n        if(this.$refs[\"tag\" + i]) {\r\n          this.$refs[\"tag\" + i][0].className =\r\n            \"tag\" + \" tag\" + this.tags[i].case_tag_type;\r\n        }\r\n\r\n      }\r\n      if (index < 0) {\r\n        this.case_tag_id = \"\";\r\n        this.case_tag_type = \"\";\r\n        this.case_tag_content = \"\";\r\n        this.case_tag_title = \"\";\r\n        return;\r\n      }\r\n      this.case_tag_id = this.tags[index].case_tag_id;\r\n      this.case_tag_type = this.tags[index].case_tag_type;\r\n      this.case_tag_content = this.tags[index].case_tag_content;\r\n      this.case_tag_title = this.tags[index].case_tag_title;\r\n      if(this.$refs[\"tag\" + index]) {\r\n        this.$refs[\"tag\" + index][0].className =\r\n          \"tag tagActive tagActive\" +\r\n          this.case_tag_type +\r\n          \" tag\" +\r\n          this.case_tag_type;\r\n      }\r\n      this.changeTitle();\r\n    },\r\n  },\r\n  created() {},\r\n  activated() {\r\n    this.init();\r\n  },\r\n  deactivated() {\r\n    this.cases = null;\r\n    this.course_case_content = \"\";\r\n    this.course_case_status = '1';\r\n  },\r\n  mounted() {\r\n    // this.isMobile = getIsAndroid();\r\n    const app_type = localStorage.getItem(\"app_type\");\r\n    if (app_type) {\r\n      this.app_type = app_type;\r\n    }\r\n    this.fullscreen = true;\r\n    this.getCaseTag();\r\n\r\n    EventBus.$on(\"blackCreateCaseGuide\", (isShow) => {\r\n      this.guide(isShow);\r\n    });\r\n\r\n    let guideStatus = JSON.parse(localStorage.getItem(\"guideStatus\"));\r\n    if( guideStatus.blackCreateCase !== 1) {\r\n      setTimeout(() => {\r\n        this.guide(true);\r\n      }, 500)\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style scoped lang=\"less\">\r\n@import \"~@/assets/styles/variable.less\";\r\n.main-content {\r\n  height: 100%;\r\n}\r\n.full {\r\n  padding: 0;\r\n}\r\n.content-box {\r\n  padding: 19px 33px 16px 23px;\r\n  display: flex;\r\n  .textarea {\r\n    width: 100%;\r\n    height: 220px;\r\n    border-radius: 16px;\r\n    background: #232829;\r\n    padding: 21px 23px;\r\n    &:first-of-type {\r\n      margin-bottom: 14px;\r\n    }\r\n  }\r\n  .course_case_content {\r\n    font-size: 16px;\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: rgba(212, 217, 219, 0.3);\r\n    position: absolute;\r\n    top: 60px;\r\n    line-height: 28px;\r\n  }\r\n  .case-content {\r\n    position: relative;\r\n    /deep/ .el-textarea {\r\n      height: 100%;\r\n      position: relative;\r\n    }\r\n    /deep/ .el-textarea__inner {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 16px;\r\n      color: #d4d9db;\r\n      line-height: 24px;\r\n      text-align: justify;\r\n      font-style: normal;\r\n      min-height: 100% !important;\r\n      padding: 0;\r\n      &::placeholder {\r\n        font-size: 16px;\r\n      }\r\n    }\r\n    /deep/ .el-input__count {\r\n      background: #232829;\r\n      bottom: -20px;\r\n    }\r\n  }\r\n  .case-content1 {\r\n    /deep/ .el-textarea {\r\n      height: 100%;\r\n    }\r\n    /deep/ .el-textarea__inner {\r\n      height: 100%;\r\n    }\r\n  }\r\n  /deep/ .el-textarea__inner {\r\n    border: none;\r\n    background: #232829;\r\n    &::placeholder {\r\n      color: rgba(212, 217, 219, 0.3);\r\n    }\r\n  }\r\n  .tip-title {\r\n    margin-bottom: 20px;\r\n    /deep/ .el-textarea__inner {\r\n      height: 43px;\r\n      padding: 10px 15px;\r\n      font-size: 14px;\r\n      font-family: SourceHanSansCN-Medium, SourceHanSansCN;\r\n      font-weight: 500;\r\n      color: #7e878c;\r\n      line-height: 21px;\r\n    }\r\n  }\r\n  .tags-wrapper {\r\n    margin-top: 34px;\r\n    padding-left: 22px;\r\n    .add {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 12px;\r\n      color: #d4d9db;\r\n      line-height: 18px;\r\n      text-align: left;\r\n      font-style: normal;\r\n    }\r\n    .tags {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      width: 100%;\r\n      margin-top: 1px;\r\n      .tag {\r\n        margin-right: 24px;\r\n        width: 100px;\r\n        height: 32px;\r\n        line-height: 32px;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        background: #000000;\r\n        border-radius: 8px;\r\n        font-family: SourceHanSansCN, SourceHanSansCN;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n        color: #ffffff;\r\n        text-align: center;\r\n        font-style: normal;\r\n        margin-top: 14px;\r\n        cursor: pointer;\r\n        position: relative;\r\n        opacity: 0.3;\r\n      }\r\n      .tag1 {\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 14px;\r\n          left: 8px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #71afbb;\r\n        }\r\n      }\r\n      .tag2 {\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 14px;\r\n          left: 8px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #64afd5;\r\n        }\r\n      }\r\n      .tag3 {\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 14px;\r\n          left: 8px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #ffb096;\r\n        }\r\n      }\r\n      .tag4 {\r\n        &::before {\r\n          content: \"\";\r\n          display: block;\r\n          position: absolute;\r\n          top: 14px;\r\n          left: 8px;\r\n          width: 5px;\r\n          height: 5px;\r\n          -webkit-border-radius: 50%;\r\n          -moz-border-radius: 50%;\r\n          border-radius: 50%;\r\n          background: #2c51af;\r\n        }\r\n      }\r\n      .tagActive {\r\n        // background: #000;\r\n        // color: #fff;\r\n        opacity: 1;\r\n      }\r\n    }\r\n  }\r\n  .btn-wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    flex-direction: column;\r\n    .btn {\r\n      width: 202px;\r\n      height: 43px;\r\n      background: linear-gradient(145deg, #ffae8b 0%, #fd746b 100%);\r\n      box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.05);\r\n      border-radius: 8px;\r\n      text-align: center;\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #ffffff;\r\n      line-height: 43px;\r\n      margin-top: 47px;\r\n      cursor: pointer;\r\n      margin-bottom: 22px;\r\n    }\r\n    /deep/ .el-radio {\r\n      display: flex;\r\n      align-items: center;\r\n    }\r\n    /deep/ .el-radio__input {\r\n      // line-height: 1.4;\r\n      width: 20px;\r\n      height: 20px;\r\n    }\r\n    /deep/ .el-radio__inner {\r\n      width: 20px;\r\n      height: 20px;\r\n      background: #1f2425;\r\n      border: 2px solid #FD8B65;\r\n    }\r\n    /deep/ .el-radio__inner::after {\r\n      width: 12px;\r\n      height: 12px;\r\n      background: #1f2425;\r\n    }\r\n    /deep/ .el-radio.is-checked {\r\n      .el-radio__inner::after {\r\n        width: 12px;\r\n        height: 12px;\r\n        background: #FD8B65;\r\n      }\r\n    }\r\n    /deep/ .el-radio__label {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 16px;\r\n      color: #7E878C;\r\n      line-height: 24px;\r\n      text-align: center;\r\n      font-style: normal;\r\n    }\r\n    .tip {\r\n      display: flex;\r\n      align-items: center;\r\n    }\r\n    .tooltip {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 400;\r\n      font-size: 14px;\r\n      color: #7E878C;\r\n      line-height: 27px;\r\n      text-align: center;\r\n      font-style: normal;\r\n      text-decoration: underline;\r\n      padding-left: 10px;\r\n    }\r\n  }\r\n}\r\n.types {\r\n  display: flex;\r\n  justify-content: flex-start;\r\n  flex-direction: column;\r\n  width: 193px;\r\n  .add-wrapper {\r\n    width: 145px;\r\n    height: 77px;\r\n    background: rgba(0, 0, 0, 0.4);\r\n    border-radius: 16px;\r\n    margin-left: 9px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    margin-top: 14px;\r\n    img {\r\n      width: 18px;\r\n      height: 19px;\r\n      margin-right: 14px;\r\n    }\r\n    span {\r\n      font-family: SourceHanSansCN, SourceHanSansCN;\r\n      font-weight: 500;\r\n      font-size: 14px;\r\n      color: #ffb096;\r\n      line-height: 21px;\r\n      text-align: right;\r\n      font-style: normal;\r\n    }\r\n  }\r\n}\r\n.my-tips {\r\n  flex: 1;\r\n  height: 100%;\r\n\r\n  padding-bottom: 16px;\r\n  // margin-top: 0;\r\n  .head {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    padding-bottom: 34px;\r\n    padding-left: 22px;\r\n  }\r\n  .project {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  .project-name {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 500;\r\n    font-size: 18px;\r\n    color: #d4d9db;\r\n    line-height: 27px;\r\n    text-align: left;\r\n    font-style: normal;\r\n    padding: 13px 0 6px 0;\r\n  }\r\n  .edit-time {\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 12px;\r\n    color: #7e878c;\r\n    line-height: 18px;\r\n    text-align: left;\r\n    font-style: normal;\r\n  }\r\n  .draft {\r\n    width: 57px;\r\n    height: 24px;\r\n    border-radius: 4px;\r\n    border: 1px solid rgba(212, 217, 219, 0.2);\r\n    font-family: SourceHanSansCN, SourceHanSansCN;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n    color: #7e878c;\r\n    line-height: 21px;\r\n    text-align: right;\r\n    font-style: normal;\r\n    text-align: center;\r\n    cursor: pointer;\r\n    align-self: flex-end;\r\n  }\r\n  .tips-content {\r\n    height: 100%;\r\n    background: #1f2425;\r\n    border-radius: 16px;\r\n    padding: 19px 36px 0 39px;\r\n    position: relative;\r\n  }\r\n}\r\n.con_dialog {\r\n  /deep/ .el-dialog__headerbtn .el-dialog__close {\r\n    color: #ffb096;\r\n    font-size: 22px;\r\n  }\r\n  /deep/ .el-dialog__footer {\r\n    display: flex;\r\n    justify-content: space-evenly;\r\n  }\r\n  .del-footer {\r\n    display: flex;\r\n    justify-content: space-between;\r\n  }\r\n  /deep/ .el-button {\r\n    border-radius: 8px;\r\n    width: 111px;\r\n    height: 33px;\r\n    font-size: 14px;\r\n    font-family: SourceHanSansCN-Regular, SourceHanSansCN;\r\n    font-weight: 400;\r\n    color: #7e878c;\r\n    border-color: #eaedef;\r\n    background: #eaedef;\r\n    padding: 7px;\r\n  }\r\n}\r\n/deep/ el-textarea {\r\n  border: 1px dashed #a9aeae;\r\n}\r\n/deep/ .el-row {\r\n  width: 100%;\r\n}\r\n.fullscreen {\r\n  position: absolute;\r\n  right: 10px;\r\n  top: -12px;\r\n  cursor: pointer;\r\n}\r\n.name {\r\n  display: flex;\r\n  cursor: pointer;\r\n  font-family: SourceHanSansCN, SourceHanSansCN;\r\n  font-weight: 500;\r\n  font-size: 18px;\r\n  color: #ffb096;\r\n  line-height: 27px;\r\n  text-align: right;\r\n  font-style: normal;\r\n  .back {\r\n    width: 45px;\r\n    height: 45px;\r\n  }\r\n  .write {\r\n    width: 17px;\r\n    height: 23px;\r\n    margin-left: 6px;\r\n    margin-right: 7px;\r\n    margin-top: 8px;\r\n  }\r\n  span {\r\n    padding-top: 6px;\r\n  }\r\n}\r\n*::-webkit-scrollbar-thumb {\r\n  /*滚动条里面小方块*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n\r\n*::-webkit-scrollbar-track {\r\n  /*滚动条里面轨道*/\r\n  border-radius: 10px;\r\n  background: #f3f3f7;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/black/CreateCase.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-content big-view bg-white full\",class:_vm.fullscreen ? 'full' : ''},[_c('div',{ref:\"contentBox\",staticClass:\"content-box contentBlack-box\"},[_c('div',{ref:\"types\",staticClass:\"types\"},[_c('div',{staticClass:\"name\",on:{\"click\":_vm.back}},[(_vm.fullscreen)?_c('img',{staticClass:\"back\",attrs:{\"src\":require(\"@/assets/img/case_back.svg\")}}):_vm._e(),_vm._v(\" \"),_c('img',{staticClass:\"write\",attrs:{\"src\":require(\"@/assets/img/write.svg\")}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.cases && _vm.cases.case_tag_id ? '编辑案例' : '填写案例'))])]),_vm._v(\" \"),_vm._m(0)]),_vm._v(\" \"),_c('div',{ref:\"myTips\",staticClass:\"my-tips\"},[_c('div',{staticClass:\"tips-content\",attrs:{\"id\":\"createCaseContent\"}},[_c('div',{staticClass:\"head\"},[_c('div',[(_vm.app_type == 2)?_c('p',{staticClass:\"project\"},[_vm._v(\"课程 /\")]):_c('p',{staticClass:\"project\"},[_vm._v(\"笔记 /\")]),_vm._v(\" \"),_c('p',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.course_name))]),_vm._v(\" \"),_c('p',{staticClass:\"edit-time\"},[_vm._v(\"编辑时间 \"+_vm._s(_vm.time))])])]),_vm._v(\" \"),_c('div',{staticClass:\"textarea case-content\",class:[_vm.course_case_content !== '' ? 'case-content1' : '']},[_c('el-input',{attrs:{\"type\":\"textarea\",\"placeholder\":\"输入案例\",\"iid\":\"createCaseInput\",\"resize\":'none',\"maxlength\":\"3000\",\"show-word-limit\":\"\"},on:{\"input\":_vm.throttleChange,\"blur\":_vm.blurTips,\"focus\":_vm.focusTips},model:{value:(_vm.course_case_content),callback:function ($$v) {_vm.course_case_content=$$v},expression:\"course_case_content\"}}),_vm._v(\" \"),(!_vm.course_case_content)?_c('p',{staticClass:\"course_case_content\"},[_vm._v(\"\\n            \"+_vm._s(_vm.case_tag_content)+\"\\n          \")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"tags-wrapper\"},[_c('p',{staticClass:\"add\"},[_vm._v(\"添加标签\")]),_vm._v(\" \"),_c('div',{staticClass:\"tags\"},_vm._l((_vm.tags),function(item,index){return _c('div',{key:'tag' + index,ref:'tag' + index,refInFor:true,staticClass:\"tag\",class:'tag' + item.case_tag_type,on:{\"click\":function($event){return _vm.throttleChangeTag(index, $event)}}},[_vm._v(\"\\n              \"+_vm._s(item.case_tag_title)+\"\\n            \")])}),0)]),_vm._v(\" \"),(_vm.courseIsuseradd != 3)?_c('div',{staticClass:\"btn-wrapper\"},[_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"throttle\",rawName:\"v-throttle\",value:([_vm.upload]),expression:\"[upload]\"}],staticClass:\"btn\",class:{ disabled: _vm.isClicked }},[_vm._v(\"保 存\")]),_vm._v(\" \"),( _vm.courseIsuseradd == 2)?_c('div',{staticClass:\"tip\"},[_c('el-radio-group',{model:{value:(_vm.course_case_status),callback:function ($$v) {_vm.course_case_status=$$v},expression:\"course_case_status\"}},_vm._l((_vm.options),function(item){return _c('el-radio',{key:item.value,attrs:{\"label\":item.value},nativeOn:{\"click\":function($event){return _vm.handleClick(item.value)}}},[_vm._v(\"\\n                  \"+_vm._s(item.label)+\"\\n                \")])}),1),_vm._v(\" \"),_c('el-tooltip',{staticClass:\"item\",attrs:{\"disabled\":false,\"popper-class\":'submissiontip',\"effect\":\"light\",\"placement\":\"top\"}},[_c('div',{staticClass:\"content\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"投稿的稿件将通过后台审核后发布至\"),_c('span',{staticClass:\"xinde\"},[_vm._v(\"黑牌案例\")]),_vm._v(\"。\")]),_vm._v(\" \"),_c('a',{staticClass:\"tooltip\",attrs:{\"href\":\"javascript:;\"}},[_vm._v(\"什么是投稿？\")])])],1):_vm._e()]):_vm._e()])])]),_vm._v(\" \"),_c('el-dialog',{staticClass:\"con_dialog\",attrs:{\"visible\":_vm.dialogVisibleCon,\"modal\":true,\"close-on-click-modal\":false,\"destroy-on-close\":true,\"append-to-body\":true,\"center\":\"\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisibleCon=$event}}},[_c('div',{staticClass:\"del_confirm\"},[_vm._v(\"当前内容与服务器不一致，确定保存当前内容？\")]),_vm._v(\" \"),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisibleCon = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{staticClass:\"comfirm-btn\",on:{\"click\":_vm.submitCon}},[_vm._v(\"确 定\")])],1)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add-wrapper\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/publish_case.png\")}}),_vm._v(\" \"),_c('span',[_vm._v(\"案例分享\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7f0a0dfc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/black/CreateCase.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f0a0dfc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!less-loader?{\\\"sourceMap\\\":true,\\\"javascriptEnabled\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CreateCase.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CreateCase.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CreateCase.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7f0a0dfc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CreateCase.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7f0a0dfc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/black/CreateCase.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/headimage11.710f5ec.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/avatarList/headimage11.png\n// module id = zDu4\n// module chunks = 171","module.exports = __webpack_public_path__ + \"static/img/logo_thinking_overseas.b9ec226.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo_thinking_overseas.svg\n// module id = zUBi\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjM3cHgiIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDM3LjAgMzIuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTEwMjQsMCBMMTAyNCw3NzAgTDAsNzcwIEwwLDAgTDEwMjQsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY3Ny4wIC02NDkuMCkiPjxnIGNsaXAtcGF0aD0idXJsKCNpMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3OC41IDY1MC4wMDAwMDAwMDAwMDAxKSI+PHBhdGggZD0iTTM0LDkuMTYwNTA3MDcgQzM0LDQuMTAxNzE5NTggMjkuODk5NTgyNiwwIDI0LjgzOTQ5MjksMCBDMjEuNTE1MTQ2OSwwIDE4LjYwNDg3OTIsMS43NzIyMDMyOSAxNi45OTkzNDg5LDQuNDIyMDQ0MzUgQzE1LjM5NTEyMDgsMS43NzIyMDMyOSAxMi40ODM1NTEsMCA5LjE1OTIwNDkzLDAgQzQuMTAwNDE3NDUsMCAwLDQuMTAxNzE5NTggMCw5LjE2MDUwNzA3IEMwLDE4LjExOTE4MzUgMTYuOTk5MzQ4OSwyOS44MDk3MzU0IDE2Ljk5OTM0ODksMjkuODA5NzM1NCBDMTYuOTk5MzQ4OSwyOS44MDk3MzU0IDM0LDE4LjExOTE4MzUgMzQsOS4xNjA1MDcwNyBaIiBzdHJva2U9IiM3MEFFQkEiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/mind_collect.svg\n// module id = zdBV\n// module chunks = 171","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjEzN3B4IiBoZWlnaHQ9IjEzN3B4IiB2aWV3Qm94PSIwIDAgMTM3LjAgMTM3LjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxjbGlwUGF0aCBpZD0iaTAiPjxwYXRoIGQ9Ik0xMDI0LDAgTDEwMjQsNzcwIEwwLDc3MCBMMCwwIEwxMDI0LDAgWiI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MjguMCAtMzM4LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MzIuNSAyNjIuNSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDk3LjAgNzcuMCkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUxLjAgNDguOTk5OTk5OTk5OTk5OTkpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAgMTIuNDI0MzA3NTc3NDU0NjcpIj48cGF0aCBkPSJNMzIsMCBMMzIsMjAgTDAsMjAgTDAsMCIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC45NDg2MjI2MjAzODA3NzUgMTAuNDUxNjYxMDY3NTYyNTMpIHJvdGF0ZSgxODAuMCkiPjxwYXRoIGQ9Ik0wLDAgTDguOTk5NDA2MTQsMTAuNDUxNjYxMSBMMTgsMCIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNS4wOTQ4NjIyNjIwMzQ0NCAwLjApIj48cGF0aCBkPSJNMC45LDAuNDg3ODM4NzQ2IEwwLjksMjIuNDg3ODM4NyIgc3Ryb2tlPSIjNzBBRUJBIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIj48L3BhdGg+PC9nPjwvZz48cGF0aCBkPSJNNjcsMTM0IEMxMDQuMDAzMDc4LDEzNCAxMzQsMTA0LjAwMzA3OCAxMzQsNjcgQzEzNCwyOS45OTY5MjE4IDEwNC4wMDMwNzgsMCA2NywwIEMyOS45OTY5MjE4LDAgMCwyOS45OTY5MjE4IDAsNjcgQzAsMTA0LjAwMzA3OCAyOS45OTY5MjE4LDEzNCA2NywxMzQgWiIgc3Ryb2tlPSIjRTlFREVFIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9zdmc+\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/upload_image.svg\n// module id = zkH3\n// module chunks = 171"],"sourceRoot":""}