index.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615
  1. <template>
  2. <div class="client-course-page">
  3. <!-- 课程开发页 banner栏 -->
  4. <div v-if="bannerList.length>0" class="client-course-banner">
  5. <div @click="clickBanner(bannerList[0].url)" :style="{backgroundImage: `url(${bannerList[0].pic||require(`~/static/images/client/course/course-banner-background.png`)})`}" ></div>
  6. <a rel="nofollow" class="free-trial-default-btn" @click="onlineFun">在线咨询</a>
  7. </div>
  8. <!-- 微课程 -->
  9. <div class="course-learn-box" id="microBox">
  10. <h4 class="client-title">微课定制服务</h4>
  11. <h5 class="client-subtitle-title">微课内容短小精悍,利用碎片化时间,随时随地轻松学习。主要的展现形式有:长图文、视频、H5交互等</h5>
  12. <div class="client-container tc">
  13. <ul class="learn-box-list">
  14. <li><a href="https://spdb.mtavip.com/sv/29a20b10-17cda4c5984/29a20b10-17cda4c5984.mp4"></a><div><span><img :src="courseVideoImg7" alt="长图文类微课"><i @click="playVideo(6)"></i></span><p>长图文类微课</p></div></li>
  15. <li><a href="https://spdb.mtavip.com/sv/cdca1c2-17cda4c9aa8/cdca1c2-17cda4c9aa8.mp4"></a><div><span><img :src="courseVideoImg8" alt="视频类微课"><i @click="playVideo(7)"></i></span><p>视频类微课</p></div></li>
  16. <li><a href="https://spdb.mtavip.com/sv/5df7512b-17cda4da5c6/5df7512b-17cda4da5c6.mp4"></a><div><span><img :src="courseVideoImg9" alt="H5交互微课"><i @click="playVideo(8)"></i></span><p>H5交互微课</p></div></li>
  17. <li class="mta-hidden-xs"><a href="https://spdb.mtavip.com/sv/3c2859ea-17cda4e2bfb/3c2859ea-17cda4e2bfb.mp4"></a><div><span><img :src="courseVideoImg10" alt="情景动画类微课"><i @click="playVideo(9)"></i></span><p>情景动画类微课</p></div></li>
  18. <li class="mta-hidden-xs"><a href="https://spdb.mtavip.com/sv/554afe4-17cda4eeb76/554afe4-17cda4eeb76.mp4"></a><div><span><img :src="courseVideoImg11" alt="图文类微课"><i @click="playVideo(10)"></i></span><p>图文类微课</p></div></li>
  19. <li class="mta-hidden-xs"><a href="https://spdb.mtavip.com/sv/205ab448-17cda4f2cfb/205ab448-17cda4f2cfb.mp4"></a><div><span><img :src="courseVideoImg12" alt="PPT微课"><i @click="playVideo(11)"></i></span><p>PPT微课</p></div></li>
  20. </ul>
  21. <a class="free-trial-default-btn" @click="onlineFun">在线咨询</a>
  22. </div>
  23. </div>
  24. <!-- E-learning课程 -->
  25. <div class="course-learn-box" id="learnBox">
  26. <h4 class="client-title">E-learning课程</h4>
  27. <h5 class="client-subtitle-title">E-learning课程,顾名思义就是应用于E-learning平台学习的课程内容。主要的展现形式有:两分屏、三分屏、电子杂志、动画课程、视频实拍等</h5>
  28. <div class="client-container tc">
  29. <ul class="learn-box-list">
  30. <li><a href="https://spdb.mtavip.com/sv/4162daec-17cda52baba/4162daec-17cda52baba.mp4"></a><div><span><img :src="courseVideoImg1" alt="两分屏类E-Learning课程"><i @click="playVideo(0)"></i></span><p>两分屏类E-Learning课程</p></div></li>
  31. <li><a href="https://spdb.mtavip.com/sv/5b460c4c-17cda533388/5b460c4c-17cda533388.mp4"></a><div><span><img :src="courseVideoImg2" alt="三分屏类E-Learning课程"><i @click="playVideo(1)"></i></span><p>三分屏类E-Learning课程</p></div></li>
  32. <li><a href="https://spdb.mtavip.com/sv/3c148760-17cda537210/3c148760-17cda537210.mp4"></a><div><span><img :src="courseVideoImg3" alt="电子杂志类E-Learning课程"><i @click="playVideo(2)"></i></span><p>电子杂志类E-Learning课程</p></div></li>
  33. <li class="mta-hidden-xs"><a href="https://spdb.mtavip.com/sv/3c2068a6-17cda53f17b/3c2068a6-17cda53f17b.mp4"></a><div><span><img :src="courseVideoImg4" alt="图文类E-Learning课程"><i @click="playVideo(3)"></i></span><p>图文类E-Learning课程</p></div></li>
  34. <li class="mta-hidden-xs"><a href="https://spdb.mtavip.com/sv/498cdb2d-17cda54d484/498cdb2d-17cda54d484.mp4"></a><div><span><img :src="courseVideoImg5" alt="交互类E-Learning课程"><i @click="playVideo(4)"></i></span><p>交互类E-Learning课程</p></div></li>
  35. <li class="mta-hidden-xs"><a href="https://spdb.mtavip.com/sv/34b08c82-17cda553df7/34b08c82-17cda553df7.mp4"></a><div><span><img :src="courseVideoImg6" alt="视频类E-Learning课程"><i @click="playVideo(5)"></i></span><p>视频类E-Learning课程</p></div></li>
  36. </ul>
  37. <a class="free-trial-default-btn" @click="onlineFun">在线咨询</a>
  38. </div>
  39. </div>
  40. <!-- 宣传片 -->
  41. <div class="course-learn-box" id="propagateBox">
  42. <h4 class="client-title">宣传片定制服务</h4>
  43. <h5 class="client-subtitle-title">宣传片是宣传企业形象的最好手段之一。宣传片从内容上分主要有两种,企业形象片、产品直销片。主要的展现形式有:手绘动画、MG动画、视频实拍等</h5>
  44. <div class="client-container tc">
  45. <ul class="learn-box-list">
  46. <li><a href="https://spdb.mtavip.com/sv/349687e2-17cda57ca5a/349687e2-17cda57ca5a.mp4"></a><div><span><img :src="courseVideoImg13" alt="手绘动画类宣传片"><i @click="playVideo(12)"></i></span><p>手绘动画类宣传片</p></div></li>
  47. <li><a href="https://spdb.mtavip.com/sv/4cde2a32-17cda58370d/4cde2a32-17cda58370d.mp4"></a><div><span><img :src="courseVideoImg14" alt="MG动画类宣传片"><i @click="playVideo(13)"></i></span><p>MG动画类宣传片</p></div></li>
  48. <li><a href="https://spdb.mtavip.com/sv/8fd9bd-17cda58745c/8fd9bd-17cda58745c.mp4"></a><div><span><img :src="courseVideoImg15" alt="视频类宣传片"><i @click="playVideo(14)"></i></span><p>视频类宣传片</p></div></li>
  49. </ul>
  50. <a class="free-trial-default-btn" @click="onlineFun">在线咨询</a>
  51. </div>
  52. </div>
  53. <!-- 情景动画 -->
  54. <div class="course-learn-box" id="animationBox">
  55. <h4 class="client-title">情景动画定制服务</h4>
  56. <h5 class="client-subtitle-title">利用动画模拟故事场景展现主题,让故事更加形象、生动,充满趣味化,让观众轻松理解、深刻记忆。</h5>
  57. <div class="client-container tc">
  58. <ul class="learn-box-list">
  59. <li><a href="https://spdb.mtavip.com/sv/4f8ffed2-17cda5c13ae/4f8ffed2-17cda5c13ae.mp4"></a><div><span><img :src="courseVideoImg16" alt="儿歌动画"><i @click="playVideo(15)"></i></span><p>儿歌动画</p></div></li>
  60. <li><a href="https://spdb.mtavip.com/sv/3f801e53-17cda5c6820/3f801e53-17cda5c6820.mp4"></a><div><span><img :src="courseVideoImg17" alt="故事教学"><i @click="playVideo(16)"></i></span><p>故事教学</p></div></li>
  61. <li><a href="https://spdb.mtavip.com/sv/1abd37cf-17cda5cbed8/1abd37cf-17cda5cbed8.mp4"></a><div><span><img :src="courseVideoImg18" alt="过场动画"><i @click="playVideo(17)"></i></span><p>过场动画</p></div></li>
  62. </ul>
  63. <a class="free-trial-default-btn" @click="onlineFun">在线咨询</a>
  64. </div>
  65. </div>
  66. <!-- 课程定制开发流程 -->
  67. <div>
  68. <h4 class="client-title">课程定制开发流程</h4>
  69. <div class="client-container tc">
  70. <ul class="course-dzkf-box">
  71. <li><div><i></i><span>项目立项</span><p>召集相关人员组建项目开发小组,召开项目启动会议</p></div><em></em></li>
  72. <li><div><i></i><span>需求分析</span><p>与需求方对接沟通,分析需求,确定课程的开发形式</p></div><em></em></li>
  73. <li><div><i></i><span>教学设计</span><p>教学设计梳理内容,设计课程脚本</p></div><em></em></li>
  74. <li><div><i></i><span>课程设计</span><p>动画课程设计师根据课程脚本内容进行呈现设计</p></div><em></em></li>
  75. <li><div><i></i><span>课程打包</span><p>技术人员根据需求对课件进行打包整合</p></div><em></em></li>
  76. <li><div><i></i><span>课程测试</span><p>项目经理测试课件,确保课件内容无误</p></div><em></em></li>
  77. <li><div><i></i><span>交付上线</span><p>与客户对接,完成课件交付,按时上线</p></div></li>
  78. </ul>
  79. </div>
  80. </div>
  81. <!-- 新闻资讯 -->
  82. <!--<div class="platform-news-information mta-hidden-xs">
  83. <div class="client-container">
  84. <h4 class="client-title">新闻资讯</h4>
  85. <ul>
  86. <li style="font-size: 16px" v-for="(item, index) in topCarousels">
  87. <div>
  88. <img :src="item.pic" alt="新闻资讯" />
  89. <h4 @click="checkInfo(item)">{{ item.title }}</h4>
  90. <span>发布时间:{{item.yyyy }}-{{ item.mmdd }}</span>
  91. <p>{{ item.intro }}</p>
  92. </div>
  93. </li>
  94. </ul>
  95. </div>
  96. </div>-->
  97. <!-- 视频播放弹窗 -->
  98. <el-dialog
  99. :title="title"
  100. :visible.sync="videoDialogFlag"
  101. @close="closeVideoDialog"
  102. class="course-video-dialog"
  103. center>
  104. <video controls :src="source" class="course-video-box"></video>
  105. <p>{{footerText}}</p>
  106. </el-dialog>
  107. <!-- 申请方案弹窗 -->
  108. <el-dialog
  109. :close-on-click-modal="false"
  110. :visible.sync="telDl"
  111. @close="delDlClose"
  112. class="application-scheme-dialog"
  113. center>
  114. <i></i>
  115. <p>免费获得课程开发解决方案</p>
  116. <el-form :model="telChangeDate" status-icon :rules="telRules" ref="ruleTelForm" class="application-scheme-form">
  117. <el-form-item prop="tel">
  118. <el-input v-model="telChangeDate.tel" placeholder="请输入手机号" class="dialog-input-tel"></el-input>
  119. </el-form-item>
  120. <div id="your-dom-id" class="nc-container"></div>
  121. <el-form-item prop="verification">
  122. <div class="verification">
  123. <el-input v-model="telChangeDate.verification" placeholder="请输入验证码" class="dialog-input-code"></el-input>
  124. <el-button @click="checkVerification" :disabled="btnTextDisabled" class="dialog-code-btn">{{btnText}}</el-button>
  125. </div>
  126. </el-form-item>
  127. </el-form>
  128. <div class="application-scheme-btn" @click="dialogSave">申请方案</div>
  129. <span>免费热线:18642628327</span><a href="http://p.qiao.baidu.com/cps/chat?siteId=11735491&amp;userId=10530011" target="_blank">在线客服</a>
  130. </el-dialog>
  131. </div>
  132. </template>
  133. <script>
  134. export default {
  135. name: 'courseware',
  136. layout:'templateB',
  137. async asyncData({ $axios, store }) {
  138. // 设置选中菜单
  139. store.commit('setActiveNav', '/courseware');
  140. let [res1,res2] = await Promise.all([
  141. await $axios.$post(`/home/news/carousel`,{'newsClassifyId':0,'keyword':'课程'}).then(res=>{
  142. return res
  143. }),
  144. await $axios.$post(`/home/banner/list`, { 'code': 4 }).then(res => {
  145. return res;
  146. }),
  147. ])
  148. return {
  149. topCarousels : res1.data.data ||[],
  150. bannerList: res2.data.data||[],
  151. }
  152. },
  153. components: {
  154. },
  155. props: {
  156. },
  157. data() {
  158. return {
  159. // 菜单栏上方
  160. courseNavImg: require(`~/static/images/client/course/course-nav-img.png`),
  161. // 视频封面
  162. courseVideoImg1: require(`~/static/images/client/course/course-video-img1.png`),
  163. courseVideoImg2: require(`~/static/images/client/course/course-video-img2.png`),
  164. courseVideoImg3: require(`~/static/images/client/course/course-video-img3.png`),
  165. courseVideoImg4: require(`~/static/images/client/course/course-video-img4.png`),
  166. courseVideoImg5: require(`~/static/images/client/course/course-video-img5.png`),
  167. courseVideoImg6: require(`~/static/images/client/course/course-video-img6.png`),
  168. courseVideoImg7: require(`~/static/images/client/course/course-video-img7.png`),
  169. courseVideoImg8: require(`~/static/images/client/course/course-video-img8.png`),
  170. courseVideoImg9: require(`~/static/images/client/course/course-video-img9.png`),
  171. courseVideoImg10: require(`~/static/images/client/course/course-video-img10.png`),
  172. courseVideoImg11: require(`~/static/images/client/course/course-video-img11.png`),
  173. courseVideoImg12: require(`~/static/images/client/course/course-video-img12.png`),
  174. courseVideoImg13: require(`~/static/images/client/course/course-video-img13.png`),
  175. courseVideoImg14: require(`~/static/images/client/course/course-video-img14.png`),
  176. courseVideoImg15: require(`~/static/images/client/course/course-video-img15.png`),
  177. courseVideoImg16: require(`~/static/images/client/course/course-video-img16.png`),
  178. courseVideoImg17: require(`~/static/images/client/course/course-video-img17.png`),
  179. courseVideoImg18: require(`~/static/images/client/course/course-video-img18.png`),
  180. // ppt图片
  181. coursePPtImg1: require(`~/static/images/client/course/course-ppt-img1.png`),
  182. coursePPtImg2: require(`~/static/images/client/course/course-ppt-img2.png`),
  183. coursePPtImg3: require(`~/static/images/client/course/course-ppt-img3.png`),
  184. // H5图片
  185. courseH5Img1: require(`~/static/images/client/course/course-h5-img1.png`),
  186. courseH5Img2: require(`~/static/images/client/course/course-h5-img2.png`),
  187. courseH5Img3: require(`~/static/images/client/course/course-h5-img3.png`),
  188. // 视频后期处理
  189. videoPosImg1: require(`~/static/images/client/course/video-pos-img1.png`),
  190. videoPosImg2: require(`~/static/images/client/course/video-pos-img2.png`),
  191. videoDialogFlag:false,
  192. source:'',
  193. footerText:'',
  194. title:'',
  195. videoArray:[
  196. {
  197. url:'https://spdb.mtavip.com/sv/4162daec-17cda52baba/4162daec-17cda52baba.mp4',
  198. fotterText:'教师视频与讲课PowerPoint课件一并摄制下来生成的课件,因此被称为‘二分屏’课件。',
  199. title:'两分屏类E-Learning课程',
  200. },
  201. {
  202. url:'https://spdb.mtavip.com/sv/5b460c4c-17cda533388/5b460c4c-17cda533388.mp4',
  203. fotterText:'是把教师视频与PowerPoint课件一并摄制下来,生成电脑格式的文件,通过Windows系统里的IE浏览器进行播放',
  204. title:'三分屏类E-Learning课程',
  205. },
  206. {
  207. url:'https://spdb.mtavip.com/sv/3c148760-17cda537210/3c148760-17cda537210.mp4',
  208. fotterText:'兼具了平面与互联网两者的特点,且融入了图像、文字、声音、视频、游戏等相互动态结合来呈现给读者',
  209. title:'电子杂志类E-Learning课程',
  210. },
  211. {
  212. url:'https://spdb.mtavip.com/sv/3c2068a6-17cda53f17b/3c2068a6-17cda53f17b.mp4',
  213. fotterText:'主要以图片的形式表现教学者的作用和教与学之间的关系,从而改变教育的本质',
  214. title:'图文类E-Learning课程',
  215. },
  216. {
  217. url:'https://spdb.mtavip.com/sv/498cdb2d-17cda54d484/498cdb2d-17cda54d484.mp4',
  218. fotterText:'是可以操作互动的教学,简单的比较,交互式是游戏',
  219. title:'交互类E-Learning课程',
  220. },
  221. {
  222. url:'https://spdb.mtavip.com/sv/34b08c82-17cda553df7/34b08c82-17cda553df7.mp4',
  223. fotterText:'以视频的形式表现出要授予的课程内容',
  224. title:'视频类E-Learning课程',
  225. },
  226. //微课程
  227. {
  228. url:'https://spdb.mtavip.com/sv/29a20b10-17cda4c5984/29a20b10-17cda4c5984.mp4',
  229. fotterText:'是通过图片发布文字信息的一种形式',
  230. title:'长图文类微课',
  231. },
  232. {
  233. url:'https://spdb.mtavip.com/sv/cdca1c2-17cda4c9aa8/cdca1c2-17cda4c9aa8.mp4',
  234. fotterText:'以简短视频的形式讲授一两个知识点,没有复杂的课程体',
  235. title:'视频类微课',
  236. },
  237. {
  238. url:'https://spdb.mtavip.com/sv/5df7512b-17cda4da5c6/5df7512b-17cda4da5c6.mp4',
  239. fotterText:'指页面内可以包含图片、链接,甚至音乐、程序等非文字元素互动教学',
  240. title:'H5交互微课',
  241. },
  242. {
  243. url:'https://spdb.mtavip.com/sv/3c2859ea-17cda4e2bfb/3c2859ea-17cda4e2bfb.mp4',
  244. fotterText:'以故事情景引出产品内容的介绍',
  245. title:'情景动画类微课',
  246. },
  247. {
  248. url:'https://spdb.mtavip.com/sv/554afe4-17cda4eeb76/554afe4-17cda4eeb76.mp4',
  249. fotterText:'主要以图片的形式表现,图片有手绘原素相结合,更加明确的展示了课程的内容',
  250. title:'图文类微课',
  251. },
  252. {
  253. url:'https://spdb.mtavip.com/sv/205ab448-17cda4f2cfb/205ab448-17cda4f2cfb.mp4',
  254. fotterText:'主要是以教师根据教学内容PPT进行假想授课',
  255. title:'PPT微课',
  256. },
  257. //宣传片
  258. {
  259. url:'https://spdb.mtavip.com/sv/349687e2-17cda57ca5a/349687e2-17cda57ca5a.mp4',
  260. fotterText:'一张张手绘画出来制作合成动画形式',
  261. title:'手绘动画类宣传片',
  262. },
  263. {
  264. url:'https://spdb.mtavip.com/sv/4cde2a32-17cda58370d/4cde2a32-17cda58370d.mp4',
  265. fotterText:'是平面设计与动画片之间的一种产物,MG的重点是非叙述性非具象化的视觉表现形式,节奏感更强,动画的流畅与每屏之前的衔接性更好',
  266. title:'MG动画类宣传片',
  267. },
  268. {
  269. url:'https://spdb.mtavip.com/sv/8fd9bd-17cda58745c/8fd9bd-17cda58745c.mp4',
  270. fotterText:'以拍摄视频的形式呈现出企业的介绍和产品宣传',
  271. title:'视频类宣传片',
  272. },
  273. // 情景动画
  274. {
  275. url:'https://spdb.mtavip.com/sv/4f8ffed2-17cda5c13ae/4f8ffed2-17cda5c13ae.mp4',
  276. fotterText:'以经典儿歌结合动画表达出课程要讲授的内容',
  277. title:'儿歌动画',
  278. },
  279. {
  280. url:'https://spdb.mtavip.com/sv/3f801e53-17cda5c6820/3f801e53-17cda5c6820.mp4',
  281. fotterText:'是教师在课堂上根据所讲授的内容穿插些相关的简明、短小故事、以说明注解强调所讲内容',
  282. title:'故事教学',
  283. },
  284. {
  285. url:'https://spdb.mtavip.com/sv/1abd37cf-17cda5cbed8/1abd37cf-17cda5cbed8.mp4',
  286. fotterText:'以情景动画形式丰富多样,游戏化教学和精美动画相结合',
  287. title:'过场动画',
  288. },
  289. // describe: 课程开发 author: Wgy date:6/8/21
  290. {
  291. url:'https://spdb.mtavip.com/sv/4f2e3958-17880e826df/4f2e3958-17880e826df.mp4',
  292. fotterText:'主要以图文动画的形式表现教学者的作用和教与学之间的关系,从而改变学习的本质',
  293. title:'FLASH动画课程',
  294. },
  295. {
  296. url:'https://spdb.mtavip.com/65615d29a5da4478b8d4ebfd6810d2da/65ab43fa5fb942aab2af981c2f7ea5c7-da005714eae365940692db31fbf6e9b8-fd.mp4',
  297. fotterText:'把教师视频与PowerPoint课件一并摄制下来,生成为视频课件',
  298. title:'视频课程',
  299. },
  300. {
  301. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/359ee794-17470899bcf-0006-732a-c93-687b7.mp4',
  302. fotterText:'各行各业讲师汇聚一堂,为不同专属领域打造明星级课堂',
  303. title:'名师讲堂',
  304. },
  305. ],
  306. btnTextDisabled: false,
  307. telDl: false,
  308. btnText: '获取验证码',
  309. countdown: 60, // 60秒倒计时
  310. sliderData: {},
  311. appKey: 'FFFF0N00000000007EC0',
  312. telChangeDate: {},
  313. telRules: {
  314. tel: [
  315. { trigger: 'blur', required: true, message: '请输入手机号' },
  316. ],
  317. verification: [
  318. { trigger: 'blur', required: true, message: '请输入验证码' },
  319. ],
  320. },
  321. divType:'kckf',
  322. };
  323. },
  324. head(){
  325. return {
  326. SystemWidthFlag:false,// 判断是否是手机端,默认为false,默认为PC端
  327. title: '课件制作_课程开发_E-learning课程_微课制作公司',
  328. meta: [
  329. {
  330. name: 'keywords',
  331. content: '课程开发公司,课件制作公司'
  332. },
  333. {
  334. name:'description',
  335. content:'沈阳久创锐康科技有限公司汇集全国优秀的课件开发制作人才团队,提供开发定制企业宣传片、微课制作、产品创意动画、培训课件、教育教学微课、E-learning课程等各种创意课件服务,企业要提升品牌价值,业务宣传能力,提升软实力,就到久创锐康。'
  336. }
  337. ],
  338. }
  339. },
  340. computed: {},
  341. methods: {
  342. // 在线咨询
  343. onlineFun(){
  344. window.open('https://p.qiao.baidu.com/cps/chat?siteId=17930048&userId=40179606&siteToken=e767a987c8404575246ab0084fb2c9bd')
  345. },
  346. // tab点击
  347. checkInfo(data) {
  348. const opt = {
  349. id: data.code,
  350. };
  351. this.$router.push({ name: 'news-id', params: opt });
  352. },
  353. clickBanner(data){
  354. if(data){
  355. window.open(data)
  356. }
  357. },
  358. applyFun() {
  359. if(this.SystemWidthFlag){
  360. this.$router.push({ name: 'CourseDevelopPhone', query: {pageName: 'course',} });
  361. }else {
  362. this.telDl = true;
  363. this.sliderFun();
  364. }
  365. },
  366. dialogSave(){
  367. this.$refs.ruleTelForm.validate((valid) => {
  368. if (valid) {
  369. // 请求后台
  370. const options = {
  371. phone: this.telChangeDate.tel,
  372. code: this.telChangeDate.verification,
  373. };
  374. this.$axios.$post('/develop/add',options).then(res=>{
  375. if (res.code === 0 && res.data) {
  376. this.telDl = false;
  377. this.$message.success('申请成功');
  378. } else {
  379. this.$message.error(res.msg);
  380. }
  381. });
  382. }
  383. });
  384. },
  385. delDlClose(){
  386. this.telDl =false
  387. this.$refs.ruleTelForm.resetFields();
  388. __nc.reset();
  389. },
  390. /**
  391. * 串联加载指定的脚本
  392. * 串联加载[异步]逐个加载,每个加载完成后加载下一个
  393. * 全部加载完成后执行回调
  394. * @param array|string 指定的脚本们
  395. * @param function 成功后回调的函数
  396. * @return array 所有生成的脚本元素对象数组
  397. * 异步加载js后运行回调函数callback / scripts 为数组或字符串
  398. */
  399. seriesLoadScripts(scripts, callback) {
  400. if (typeof (scripts) != 'object') {
  401. var scripts = [scripts];
  402. }
  403. var HEAD = document.getElementsByTagName('head').item(0) || document.documentElement;
  404. var s = new Array(), last = scripts.length - 1, recursiveLoad = function (i) { //递归
  405. s[i] = document.createElement('script');
  406. s[i].setAttribute('type', 'text/javascript');
  407. s[i].onload = s[i].onreadystatechange = function () { //Attach handlers for all browsers
  408. if (!/*@cc_on!@*/0 || this.readyState == 'loaded' || this.readyState == 'complete') {
  409. this.onload = this.onreadystatechange = null;
  410. this.parentNode.removeChild(this);
  411. if (i != last) {
  412. recursiveLoad(i + 1);
  413. } else if (typeof (callback) == 'function') {
  414. callback();
  415. }
  416. }
  417. };
  418. s[i].setAttribute('src', scripts[i]);
  419. HEAD.appendChild(s[i]);
  420. };
  421. recursiveLoad(0);
  422. },
  423. // 滑块
  424. sliderFun() {
  425. const nc_token = [this.appKey, (new Date()).getTime(), Math.random()].join(':');
  426. console.log(nc_token);
  427. const NC_Opt = {
  428. //声明滑动验证需要渲染的目标元素ID。
  429. renderTo: '#your-dom-id',
  430. //应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。
  431. appkey: this.appKey,
  432. //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的scene值,请务必正确填写。
  433. scene: 'nc_message',
  434. //滑动验证码的主键,请勿将该字段定义为固定值。确保每个用户每次打开页面时,其token值都是不同的。系统默认的格式为:”您的appkey”+”时间戳”+”随机数”。
  435. token: nc_token,
  436. //滑动条的宽度。
  437. customWidth: 300,
  438. //业务键字段,可为空。为便于线上问题的排查,建议您按照线上问题定位文档中推荐的方法配置该字段值。
  439. trans: { 'key1': 'code0' },
  440. //通过Dom的ID属性自动填写trans业务键,可为空。建议您按照线上问题定位文档中推荐的方法配置该字段值。
  441. elementID: ['usernameID'],
  442. //是否自定义配置底层采集组件。如无特殊场景,请使用默认值(0),即不自定义配置底层采集组件。
  443. is_Opt: 0,
  444. //语言。PC端Web页面场景默认支持18国语言,详细配置方法请参见自定义文案与多语言文档。
  445. language: 'cn',
  446. //是否启用。一般情况,保持默认值(true)即可。
  447. isEnabled: true,
  448. //内部网络请求的超时时间。一般情况建议保持默认值(3000ms)。
  449. timeout: 3000,
  450. //允许服务器超时重复次数,默认5次。超过重复次数后将触发报错。
  451. times: 5,
  452. //用于自定义滑动验证各项请求的接口地址。一般情况,请勿配置该参数。
  453. apimap: {
  454. // 'analyze': '//a.com/nocaptcha/analyze.jsonp',
  455. // 'get_captcha': '//b.com/get_captcha/ver3',
  456. // 'get_captcha': '//pin3.aliyun.com/get_captcha/ver3'
  457. // 'get_img': '//c.com/get_img',
  458. // 'checkcode': '//d.com/captcha/checkcode.jsonp',
  459. // 'umid_Url': '//e.com/security/umscript/3.2.1/um.js',
  460. // 'uab_Url': '//aeu.alicdn.com/js/uac/909.js',
  461. // 'umid_serUrl': 'https://g.com/service/um.json'
  462. },
  463. //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将请求标识(token)、会话ID(sessionid)、签名串(sig)字段记录下来,随业务请求一同发送至您的服务端调用验签。
  464. callback: (data) => {
  465. this.sliderData = Object.assign({}, data, {
  466. appkey: NC_Opt.appkey,
  467. scene: NC_Opt.scene,
  468. });
  469. console.log( this.sliderData);
  470. },
  471. };
  472. let date11 = () => {
  473. let _date = new Date();
  474. let year = _date.getFullYear().toString();
  475. let month = _date.getMonth().toString();
  476. let day = _date.getDate().toString();
  477. let a = _date.getHours().toString();
  478. let b = _date.getMinutes().toString();
  479. let c = _date.getSeconds().toString();
  480. return year + month + day + a + b + c;
  481. };
  482. let c = date11();
  483. const scripts = [
  484. `https://g.alicdn.com/sd/ncpc/nc.js?t=${c}`,
  485. ];
  486. this.seriesLoadScripts(scripts, function () {
  487. var nc = new noCaptcha(NC_Opt);
  488. nc.upLang('cn', {
  489. _startTEXT: '请按住滑块,拖动到最右边',
  490. _yesTEXT: '验证通过',
  491. _error300: '哎呀,出错了,点击<a href="javascript:__nc.reset()">刷新</a>再来一次',
  492. _errorNetwork: '网络不给力,请<a href="javascript:__nc.reset()">点击刷新</a>',
  493. });
  494. });
  495. },
  496. // 倒计时60秒
  497. setTime() {
  498. if (this.countdown === 0) {
  499. this.btnTextDisabled = false;
  500. this.btnText = '免费获取验证码';
  501. this.countdown = 60;
  502. } else {
  503. this.btnTextDisabled = true;
  504. this.btnText = '重新发送(' + this.countdown + 's)';
  505. this.countdown--;
  506. setTimeout(() => {
  507. this.setTime();
  508. }, 1000);
  509. }
  510. },
  511. // 验证码
  512. checkVerification() {
  513. if (this.sliderData.appkey === undefined) {
  514. this.$message.error('人机交互未通过');
  515. return;
  516. }
  517. this.$axios.$post(`/develop/exists`,{ phone: this.telChangeDate.tel}).then(res=>{
  518. if (res.code === 0 && res.data) {
  519. let req = {
  520. 'appkey': this.sliderData.appkey,
  521. 'phone': this.telChangeDate.tel,
  522. 'scene': this.sliderData.scene,
  523. 'sessionid': this.sliderData.csessionid,
  524. 'sig': this.sliderData.sig,
  525. 'token': this.sliderData.token,
  526. 'type': 0,
  527. }
  528. this.$axios.$post('/sendCode',req).then(res=>{
  529. if (res.code === 0 && res.data) {
  530. this.setTime();
  531. }else {
  532. this.$message.error(res.msg||'手机号已存在');
  533. }
  534. })
  535. } else {
  536. this.$message.error(res.msg||'手机号已存在');
  537. return false;
  538. }
  539. })
  540. },
  541. playVideo(index){
  542. this.videoDialogFlag = true
  543. this.source = this.videoArray[index].url
  544. this.footerText = this.videoArray[index].fotterText
  545. this.title = this.videoArray[index].title
  546. },
  547. closeVideoDialog(){
  548. this.videoDialogFlag = false;
  549. this.source = '';
  550. this.footerText = '';
  551. this.title = '';
  552. }
  553. },
  554. created() {
  555. },
  556. mounted() {
  557. },
  558. beforeDestroy() {
  559. },
  560. };
  561. </script>
  562. <style>
  563. </style>