Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout
| | |
| | | |
| | | ### Customize configuration |
| | | See [Configuration Reference](https://cli.vuejs.org/config/). |
| | | |
| | |
| | | import axios from "axios"; |
| | | export const resourceCtx = "http://182.92.203.7:3007/books/resource/"; // 资源请求地址 |
| | | // export const resourceCtx = "https://www.tepcb.com/books/resource/"; // 资源请求地址 |
| | | // export const resourceCtx = "https://jsek.bnuic.com/books/resource/"; // 资源请求地址 |
| | | // export const tinymceBaseUrl = "https://jsek.bnuic.com/home/"; |
| | | export const tinymceBaseUrl = "https://www.tepcb.com/home/"; |
| | | export let activeBook = {}; // 资源请求地址 |
| | | |
| | | // export let activeBook = { |
| | |
| | | const response = await axios.get(ctx + "/bookConfig.json"); |
| | | return response.data; |
| | | }; |
| | | export const appId = 1; |
| | | export const requestTimeOut = 300000; // 请求超时时间 |
| | | //export const tokenKey = "jsek-token"; |
| | | export const tokenKey = "website-front-token"; |
| | | // export const tokenKey = "token"; |
| | | export const tokenKey = "website-front-token" |
| | | |
| | | const config = { |
| | | resourceCtx, |
| | | tinymceBaseUrl, |
| | | activeBook, |
| | | requestTimeOut, |
| | | tokenKey, |
| | | goodsStore, |
| | | appId, |
| | | getBookConfig, |
| | | getBookConfig |
| | | }; |
| | | export default config; |
| | |
| | | import fileApi from "@/assets/js/middleGround/api/file"; |
| | | import identityApi from "../js/middleGround/api/identity"; |
| | | import { tokenKey } from "../js/config"; |
| | | export const getResourcePath = async (md5, appRefCode = "tourismWebsite") => { |
| | | export const getResourcePath = async (md5, appRefCode = "jingshieke") => { |
| | | const res = fileApi.getAliVod({ |
| | | md5, |
| | | appRefCode, |
| | |
| | | <span>{{ item.name }}</span> |
| | | <img |
| | | :src=" |
| | | collectResourceList.includes(item.md5) |
| | | collectResourceList.findIndex(citem => citem.md5 == item.md5) > -1 |
| | | ? collectCheck |
| | | : collectImg |
| | | " |
| | |
| | | <span>{{ item.name }}</span> |
| | | <img |
| | | :src=" |
| | | collectResourceList.includes(item.md5) |
| | | collectResourceList.findIndex(citem => citem.md5 == item.md5) > -1 |
| | | ? collectCheck |
| | | : collectImg |
| | | " |
| | |
| | | <span>{{ videoThree[0].name }}</span> |
| | | <img |
| | | :src=" |
| | | collectResourceList.includes(videoThree[0].md5) |
| | | collectResourceList.findIndex(citem => citem.md5 == videoThree[0].md5) > -1 |
| | | ? collectCheck |
| | | : collectImg |
| | | " |
| | |
| | | <span>{{ videoThree[1].name }}</span> |
| | | <img |
| | | :src=" |
| | | collectResourceList.includes(videoThree[1].md5) |
| | | collectResourceList.findIndex(citem => citem.md5 == videoThree[1].md5) > -1 |
| | | ? collectCheck |
| | | : collectImg |
| | | " |
| | |
| | | <span>{{ videoThree[2].name }}</span> |
| | | <img |
| | | :src=" |
| | | collectResourceList.includes(videoThree[2].md5) |
| | | collectResourceList.findIndex(citem => citem.md5 == videoThree[2].md5) > -1 |
| | | ? collectCheck |
| | | : collectImg |
| | | " |
| | |
| | | this.collectResourceList = await getCollectResource( |
| | | this.config.activeBook.bookId |
| | | ); |
| | | console.log('后篡改',this.collectResourceList) |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | <div class="page-box" page="133"> |
| | | <div v-if="showPageList.indexOf(133) > -1"> |
| | | <div class="first-page"> |
| | | <img class="img-0" alt="" src="../../assets/images/xm4.jpg" /> |
| | | <div class="first-txt" style="border-color:#9fab61" > |
| | | <img class="img-0" alt="" src="../../assets/images/xm4.jpg" /> |
| | | <div class="first-txt" style="border-color: #9fab61"> |
| | | <p> |
| | | 在民航岗位上,通过广播让旅客了解各种相关问题和普及空中飞行安全知识是民航播音员的必要工作之一。而怎样有技巧性地播音则是业务水平的体现,它关系到航空公司给旅客留下的整体印象。同时,具备良好的口语交际与播音能力能更好地向旅客传递有效信息。所以,提升航空服务口语交际与播音能力具有非常重要的现实意义。 |
| | | </p> |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="vertical-video"> |
| | | <li v-for="(item, index) in videoOne.slice(0,1)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoOne.slice(0, 1)" :key="item.md5"> |
| | | <video |
| | | :src="item.url" |
| | | webkit-playsinline="true" |
| | |
| | | <span>{{ item.name }}</span> |
| | | <img |
| | | :src=" |
| | | collectResourceList.includes(item.md5) |
| | | collectResourceList.findIndex( |
| | | (citem) => citem.md5 == item.md5 |
| | | ) > -1 |
| | | ? collectCheck |
| | | : collectImg |
| | | " |
| | | alt="" |
| | | class="collect-btn" |
| | | @click="handleCollect('videoOne',index)" |
| | | @click="handleCollect('videoOne', index)" |
| | | /> |
| | | </p> |
| | | </li> |
| | |
| | | 色彩丰富,变化自如。声音色彩是播音员随内容的发展而运动变化着的感情的外衣。人的感情是不断运动变化的,声音色彩也是在对比变化中体现出来的。声音色彩有如画家的调色板,越丰富细致就越能传情,也就越有表现力。感情色彩的变化是无穷的,声音色彩的变化也是无穷的。掌握发音吐字的基本方法,是为了利于声音的变化,而不是为了追求固定不变的音色。 |
| | | </p> |
| | | <h3 id="c042"> |
| | | <span class="h3-zt">二、</span><span class="h3-zt1">播音的技巧</span> |
| | | <span class="h3-zt">二、</span |
| | | ><span class="h3-zt1">播音的技巧</span> |
| | | </h3> |
| | | <h4 id="d109">(一)停顿</h4> |
| | | <p> |
| | |
| | | 合适的语速和清晰的发音可以保证交流的有效进行,对一些特殊的旅客还要特殊对待。例如,面对老年旅客或听障旅客,必要时可提高音量,凑近一些,重复两遍,或用肢体语言辅助表达,以便旅客能清楚地理解服务人员要表达的内容。 |
| | | </p> |
| | | <h3 id="c047"> |
| | | <span class="h3-zt">五、</span><span class="h3-zt1">体态语表达</span> |
| | | <span class="h3-zt">五、</span |
| | | ><span class="h3-zt1">体态语表达</span> |
| | | </h3> |
| | | <p> |
| | | <img |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoOne.slice(1,2)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoOne.slice(1, 2)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </p> |
| | | <p>谢谢!</p> |
| | | <p><br /></p> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoOne.slice(2,3)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoOne.slice(2, 3)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoOne.slice(3,4)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoOne.slice(3, 4)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoOne.slice(4,5)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoOne.slice(4, 5)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoOne.slice(5,6)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoOne.slice(5, 6)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(0,1)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(0, 1)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(1,2)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(1, 2)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(2,3)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(2, 3)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(3,4)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(3, 4)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(4,5)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(4, 5)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(5,6)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(5, 6)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(6,7)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(6, 7)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(7,8)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(7, 8)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(8,9)" :key="item.md5"> |
| | | <li v-for="(item, index) in videoTwo.slice(8, 9)" :key="item.md5"> |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(9,10)" :key="item.md5"> |
| | | <li |
| | | v-for="(item, index) in videoTwo.slice(9, 10)" |
| | | :key="item.md5" |
| | | > |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(9,10)" :key="item.md5"> |
| | | <li |
| | | v-for="(item, index) in videoTwo.slice(9, 10)" |
| | | :key="item.md5" |
| | | > |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | </div> |
| | | <!-- 视频 --> |
| | | <ul class="videos-box"> |
| | | <li v-for="(item, index) in videoTwo.slice(9,10)" :key="item.md5"> |
| | | <li |
| | | v-for="(item, index) in videoTwo.slice(9, 10)" |
| | | :key="item.md5" |
| | | > |
| | | <audio |
| | | :src="item.url" |
| | | controls |
| | |
| | | collectImg: require("../../assets/images/icon/heart.png"), |
| | | collectCheck: require("../../assets/images/icon/heart-check.png"), |
| | | collectResourceList: [], |
| | | videoOne:[ |
| | | videoOne: [ |
| | | { |
| | | name:'常规广播词分类', |
| | | md5:'58713a0a123849d4ae5d48ea567decf5', |
| | | type:'视频' |
| | | name: "常规广播词分类", |
| | | md5: "58713a0a123849d4ae5d48ea567decf5", |
| | | type: "视频", |
| | | }, |
| | | { |
| | | name:'4.3.1', |
| | | md5:'7d431083643a2b3fbb95c7933d19de83' |
| | | name: "4.3.1", |
| | | md5: "7d431083643a2b3fbb95c7933d19de83", |
| | | }, |
| | | { |
| | | name:'4.3.2', |
| | | md5:'a0fe09310d765720a5abc30d4b4dc44e' |
| | | name: "4.3.2", |
| | | md5: "a0fe09310d765720a5abc30d4b4dc44e", |
| | | }, |
| | | { |
| | | name:'4.3.3', |
| | | md5:'ac4981d570ef546f9f9e0803dc15b326' |
| | | name: "4.3.3", |
| | | md5: "ac4981d570ef546f9f9e0803dc15b326", |
| | | }, |
| | | { |
| | | name:'4.3.4', |
| | | md5:'a3d6d7d585cd5f50c433b97000696022' |
| | | name: "4.3.4", |
| | | md5: "a3d6d7d585cd5f50c433b97000696022", |
| | | }, |
| | | { |
| | | name:'4.3.5', |
| | | md5:'1b0cd532b18f0bff01a7e0c1513f7896' |
| | | } |
| | | ], |
| | | videoTwo:[ |
| | | { |
| | | name:'4.4.1', |
| | | md5:'9b6b4a865b3290961db364d84e3c034c' |
| | | }, |
| | | { |
| | | name:'4.4.2', |
| | | md5:'e766f0c27d5901247a4234db25af2f3e' |
| | | }, |
| | | { |
| | | name:'4.4.3', |
| | | md5:'92364b5f3dbfee0c963f9dc16f8b25a9' |
| | | }, |
| | | { |
| | | name:'4.4.4', |
| | | md5:'345f098717af4c35a5fb958dfc123039' |
| | | }, |
| | | { |
| | | name:'4.4.5', |
| | | md5:'a1f580e0a28bc9a25e00f0b039c989c8' |
| | | }, |
| | | { |
| | | name:'4.4.6', |
| | | md5:'1ca94b85d0065dffab86921e06b00fec' |
| | | }, |
| | | { |
| | | name:'4.5.1', |
| | | md5:'906ad2ef7360132bd117ca5443354c7f' |
| | | }, |
| | | { |
| | | name:'4.5.2', |
| | | md5:'a466c84932e87aaa1e6410d2b6d0c9e9' |
| | | }, |
| | | { |
| | | name:'4.5.3', |
| | | md5:'a3cdd0b041424dbedf76a1be83d4a6cd' |
| | | }, |
| | | { |
| | | name:'4.5.4', |
| | | md5:'5dc181761ead77bf721c74e8535bfd7c' |
| | | }, |
| | | { |
| | | name:'4.5.5', |
| | | md5:'0477b8fb9c343a0bb74a559a840b51c6' |
| | | }, |
| | | { |
| | | name:'4.5.6', |
| | | md5:'26387da419640ca40bdd93a052a686aa' |
| | | name: "4.3.5", |
| | | md5: "1b0cd532b18f0bff01a7e0c1513f7896", |
| | | }, |
| | | ], |
| | | videoThree:[ |
| | | videoTwo: [ |
| | | { |
| | | name:'4.7.1', |
| | | md5:'99ccbec7d990839daff312d3c1cb6a88' |
| | | name: "4.4.1", |
| | | md5: "9b6b4a865b3290961db364d84e3c034c", |
| | | }, |
| | | { |
| | | name:'4.7.2', |
| | | md5:'c5de5e43cf1061f4cf872b11bdf12c75' |
| | | name: "4.4.2", |
| | | md5: "e766f0c27d5901247a4234db25af2f3e", |
| | | }, |
| | | ] |
| | | { |
| | | name: "4.4.3", |
| | | md5: "92364b5f3dbfee0c963f9dc16f8b25a9", |
| | | }, |
| | | { |
| | | name: "4.4.4", |
| | | md5: "345f098717af4c35a5fb958dfc123039", |
| | | }, |
| | | { |
| | | name: "4.4.5", |
| | | md5: "a1f580e0a28bc9a25e00f0b039c989c8", |
| | | }, |
| | | { |
| | | name: "4.4.6", |
| | | md5: "1ca94b85d0065dffab86921e06b00fec", |
| | | }, |
| | | { |
| | | name: "4.5.1", |
| | | md5: "906ad2ef7360132bd117ca5443354c7f", |
| | | }, |
| | | { |
| | | name: "4.5.2", |
| | | md5: "a466c84932e87aaa1e6410d2b6d0c9e9", |
| | | }, |
| | | { |
| | | name: "4.5.3", |
| | | md5: "a3cdd0b041424dbedf76a1be83d4a6cd", |
| | | }, |
| | | { |
| | | name: "4.5.4", |
| | | md5: "5dc181761ead77bf721c74e8535bfd7c", |
| | | }, |
| | | { |
| | | name: "4.5.5", |
| | | md5: "0477b8fb9c343a0bb74a559a840b51c6", |
| | | }, |
| | | { |
| | | name: "4.5.6", |
| | | md5: "26387da419640ca40bdd93a052a686aa", |
| | | }, |
| | | ], |
| | | videoThree: [ |
| | | { |
| | | name: "4.7.1", |
| | | md5: "99ccbec7d990839daff312d3c1cb6a88", |
| | | }, |
| | | { |
| | | name: "4.7.2", |
| | | md5: "c5de5e43cf1061f4cf872b11bdf12c75", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | watch:{ |
| | | showPageList:function(newValue) { |
| | | if(newValue.includes(133) && !this.videoOne.find(item =>item.url)) { |
| | | watch: { |
| | | showPageList: function (newValue) { |
| | | if (newValue.includes(133) && !this.videoOne.find((item) => item.url)) { |
| | | this.getVideoPath("videoOne"); |
| | | } |
| | | if(newValue.includes(144) && !this.videoTwo.find(item =>item.url)) { |
| | | this.getVideoPath("videoTwo"); |
| | | if (newValue.includes(144) && !this.videoTwo.find((item) => item.url)) { |
| | | this.getVideoPath("videoTwo"); |
| | | } |
| | | if(newValue.includes(158) && !this.videoThree.find(item =>item.url)) { |
| | | this.getVideoPath("videoThree"); |
| | | if (newValue.includes(158) && !this.videoThree.find((item) => item.url)) { |
| | | this.getVideoPath("videoThree"); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | async mounted() { |
| | | this.collectResourceList = await getCollectResource( |
| | |
| | | item["url"] = await getResourcePath(item.md5); |
| | | } |
| | | }, |
| | | handleCollect(dataName,num) { |
| | | handleCollect(dataName, num) { |
| | | const data = this[dataName][num]; |
| | | this.handleCollectResource( |
| | | data.md5, |
| | |
| | | </p> |
| | | </div> |
| | | <div class="right" style="width: 60%"> |
| | | <!-- config.resourceCtx + '/video/chapterOne/专题一:学前儿童眼睛的生理特点与保健.mp4' --> |
| | | <video |
| | | :src="pathTwo" |
| | | poster="../../../assets/images/chapterOne/people-video-img.jpg" |
| | |
| | | import preView from '@/components/pdfview/index.vue' |
| | | import mindMapView from '@/components/mindMapView/index.vue' |
| | | import tool from '@/assets/js/toolClass.js' |
| | | import { ElMessage } from 'element-plus' |
| | | export default { |
| | | name: "chapterOne", |
| | | props: { |
| | |
| | | |
| | | // 测试页面跳转 |
| | | // setTimeout(() => { |
| | | // this.gotoPage(4,79); |
| | | // // setTimeout(() => { |
| | | // // this.renderSign("Highlight", { |
| | | // // id: "2ACA9359", |
| | | // // txt: "题一学习主题一 运动", |
| | | // // page: "10", |
| | | // // type: "Highlight", |
| | | // // color: "#F5E12A" |
| | | // // }); |
| | | // // setTimeout(() => { |
| | | // // this.delSign({ |
| | | // // ids: ["2ACA9359"] |
| | | // // }); |
| | | // // }, 2000); |
| | | // // }, 5000); |
| | | |
| | | // // const pageDom = (this.container ? this.container : document) |
| | | // // .querySelector("#app") |
| | | // // .querySelectorAll(".page-box"); |
| | | // // 检索 |
| | | // // console.log(this.searchTextByPage("保护内脏器官"), "searchTextByPage"); |
| | | // // 检索跳转 |
| | | // // this.searchItemLocation({ |
| | | // // catalog: 2, |
| | | // // page: 10, |
| | | // // txt: " 运动系统是由骨、骨连结和骨骼肌三部分组成的。全身的骨通过骨连结组成人体骨骼(见图1-1)。骨骼是人体的支架,具有保护内脏器官、供肌肉附着和作为肌肉运动的杠杆等作用。在神经系统的支配下,肌肉收缩牵动所附着的骨绕着关节转动,使身体产生各种动作。所以,运动系统具有运动、支持和保护等功能,幼年时期的骨骼还具有造血功能。 ", |
| | | // // txtIndex: 57 |
| | | // // }); |
| | | // this.gotoPage(3,51) |
| | | // }, 500); |
| | | |
| | | // 获取题目id列表 |
| | |
| | | max-width: 80%; |
| | | min-width: 220px; |
| | | } |
| | | .examination ul li sup{ |
| | | margin-bottom:8px ; |
| | | } |
| | | </style> |
| | | |
| | | <style lang="less" scoped> |
| | | .catalogName { |
| | | .catalogName { |
| | | display: flex; |
| | | text-indent: 1em !important; |
| | | font-size: 16px; |
| | |
| | | flex-wrap: wrap; |
| | | } |
| | | </style> |
| | | |
| | |
| | | imgData.setAttribute("crossOrigin", ""); |
| | | } |
| | | imgData.onload = () => { |
| | | this.context.drawImage(imgData, 0, 0, this.imgWidth, this.imgHeight); |
| | | this.context.drawImage(imgData, 0, 0, Math.min(window.innerWidth,this.imgWidth),this.imgHeight); |
| | | }; |
| | | }; |
| | | resetCanvas(); |
| | |
| | | display: flex; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | height: 88px; |
| | | } |
| | | |
| | |
| | | service.interceptors.request.use( |
| | | (config) => { |
| | | let token = localStorage.getItem(myConfig.tokenKey) |
| | | config.headers['Cache-Control'] = 'no-cache, no-store, must-revalidate' |
| | | if (token) config.headers['Authorization'] = `bearer ${token}` |
| | | return config |
| | | }, |