index.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553
  1. <template>
  2. <div class="client-course-page">
  3. <!-- 课程开发页 banner栏 -->
  4. <div class="client-course-banner">
  5. <div class="client-container">
  6. <!-- banner文字区域 -->
  7. <div class="course-course-container">
  8. <h4>10年多媒体设计经验</h4>
  9. <p>让创意与视觉效果完美结合</p>
  10. <a @click="applyFun">申请方案</a>
  11. </div>
  12. </div>
  13. </div>
  14. <!-- 课程定制开发 -->
  15. <div class="course-made-box">
  16. <h4 class="client-title">课程定制开发</h4>
  17. <div class="client-container">
  18. <div class="course-made-content">
  19. <p>企业需要定制适合自己的个性化课程,将隐性、零散的企业知识显性化和系统化,使企业多年积累的经验得以有效沉淀和传承。栋科创建12年,凭借创新的技术、高效的服务响应和强大的战略执行,为客户打造专业优质的课程定制服务</p>
  20. <a @click="applyFun">申请方案</a>
  21. </div>
  22. <img :src="courseMadeImg" alt="课程定制开发">
  23. </div>
  24. </div>
  25. <!-- E-learning课程 -->
  26. <div class="course-learn-box">
  27. <h4 class="client-title">E-learning课程</h4>
  28. <h5 class="client-subtitle-title">公司于2007年成立,我们凭借创新的技术、高效的服务响应和强大的战略执行,为用户打造可靠、优质、安全易用的教育软件产品及优质专业的内容制作服务</h5>
  29. <div class="client-container tc">
  30. <ul class="learn-box-list">
  31. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cce7bfa5285890792886060567/v.f30.mp4"></a><div><span><img :src="courseVideoImg1" alt="两分屏类E-Learning课程"><i @click="playVideo(0)"></i></span><p>两分屏类E-Learning课程</p></div></li>
  32. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ccefbfc5285890792886061298/v.f30.mp4"></a><div><span><img :src="courseVideoImg2" alt="三分屏类E-Learning课程"><i @click="playVideo(1)"></i></span><p>三分屏类E-Learning课程</p></div></li>
  33. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9eeef6ee5285890792886133302/v.f30.mp4"></a><div><span><img :src="courseVideoImg3" alt="电子杂志类E-Learning课程"><i @click="playVideo(2)"></i></span><p>电子杂志类E-Learning课程</p></div></li>
  34. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/64f88fc65285890792885983863/v.f30.mp4"></a><div><span><img :src="courseVideoImg4" alt="FLASH图文类E-Learning课程"><i @click="playVideo(3)"></i></span><p>FLASH图文类E-Learning课程</p></div></li>
  35. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cc1569e5285890792886059626/v.f30.mp4"></a><div><span><img :src="courseVideoImg5" alt="FLASH交互类E-Learning课程"><i @click="playVideo(4)"></i></span><p>FLASH交互类E-Learning课程</p></div></li>
  36. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ce0a1a35285890792886070899/v.f30.mp4"></a><div><span><img :src="courseVideoImg6" alt="视频类E-Learning课程"><i @click="playVideo(5)"></i></span><p>视频类E-Learning课程</p></div></li>
  37. </ul>
  38. <a class="course-apply-btn" @click="applyFun" >申请方案</a>
  39. </div>
  40. </div>
  41. <!-- 微课程 -->
  42. <div class="course-learn-box course-micro-box">
  43. <h4 class="client-title">微课程</h4>
  44. <h5 class="client-subtitle-title">该类课程主要有:长图文、视频、H5交互等多种形式。内容短小精悍,利用碎片化时间,随时随地轻松学习</h5>
  45. <div class="client-container tc">
  46. <ul class="learn-box-list">
  47. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9f25da7a5285890792886164670/v.f30.mp4"></a><div><span><img :src="courseVideoImg7" alt="长图文类微课"><i @click="playVideo(6)"></i></span><p>长图文类微课</p></div></li>
  48. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cf441145285890792886083160/v.f30.mp4"></a><div><span><img :src="courseVideoImg8" alt="视频类微课"><i @click="playVideo(7)"></i></span><p>视频类微课</p></div></li>
  49. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/650aa7e15285890792885993830/v.f30.mp4"></a><div><span><img :src="courseVideoImg9" alt="H5交互微课"><i @click="playVideo(8)"></i></span><p>H5交互微课</p></div></li>
  50. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9c2e210d5285890793118303376/v.f30.mp4"></a><div><span><img :src="courseVideoImg10" alt="情景动画类微课"><i @click="playVideo(9)"></i></span><p>情景动画类微课</p></div></li>
  51. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ee031e15285890792886129559/v.f30.mp4"></a><div><span><img :src="courseVideoImg11" alt="图文类微课"><i @click="playVideo(10)"></i></span><p>图文类微课</p></div></li>
  52. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9a582fcf5285890793118274335/v.f30.mp4"></a><div><span><img :src="courseVideoImg12" alt="PPT微课"><i @click="playVideo(11)"></i></span><p>PPT微课</p></div></li>
  53. </ul>
  54. <a class="course-apply-btn" @click="applyFun">申请方案</a>
  55. </div>
  56. </div>
  57. <!-- 宣传片 -->
  58. <div class="course-learn-box">
  59. <h4 class="client-title">宣传片</h4>
  60. <h5 class="client-subtitle-title">宣传片主要有:手绘动画、MG动画、视频实拍等多种形式。用于企业形象宣传、广告推广等</h5>
  61. <div class="client-container tc">
  62. <ul class="learn-box-list">
  63. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ce2c5775285890792886074523/v.f30.mp4"></a><div><span><img :src="courseVideoImg13" alt="手绘动画类宣传片"><i @click="playVideo(12)"></i></span><p>手绘动画类宣传片</p></div></li>
  64. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cbfaddf5285890792886056576/v.f30.mp4"></a><div><span><img :src="courseVideoImg14" alt="MG动画类宣传片"><i @click="playVideo(13)"></i></span><p>MG动画类宣传片</p></div></li>
  65. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9eed5aaf5285890792886130531/v.f30.mp4"></a><div><span><img :src="courseVideoImg15" alt="视频类宣传片"><i @click="playVideo(14)"></i></span><p>视频类宣传片</p></div></li>
  66. </ul>
  67. <a class="course-apply-btn" @click="applyFun">申请方案</a>
  68. </div>
  69. </div>
  70. <!-- 情景动画 -->
  71. <div class="course-learn-box course-micro-box">
  72. <h4 class="client-title">情景动画</h4>
  73. <h5 class="client-subtitle-title">情景动画形式丰富多样,游戏化教学和精美动画相结合,激发学习者兴趣</h5>
  74. <div class="client-container tc">
  75. <ul class="learn-box-list">
  76. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cc031355285890792886057331/v.f30.mp4"></a><div><span><img :src="courseVideoImg16" alt="儿歌动画"><i @click="playVideo(15)"></i></span><p>儿歌动画</p></div></li>
  77. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9f121cdd5285890792886151677/v.f30.mp4"></a><div><span><img :src="courseVideoImg17" alt="故事教学"><i @click="playVideo(16)"></i></span><p>故事教学</p></div></li>
  78. <li><a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ce35f5f5285890792886075881/v.f30.mp4"></a><div><span><img :src="courseVideoImg18" alt="过场动画"><i @click="playVideo(17)"></i></span><p>过场动画</p></div></li>
  79. </ul>
  80. <a class="course-apply-btn" @click="applyFun">申请方案</a>
  81. </div>
  82. </div>
  83. <!-- 新闻资讯 -->
  84. <div class="client-industry-information">
  85. <h4 class="client-title">最新动态</h4>
  86. <div class="information-carousel-box">
  87. <el-carousel :interval="4000" arrow="always">
  88. <el-carousel-item v-for="(item, index) in topCarousels" :key="index">
  89. <div
  90. class="industry-img-box"
  91. :style="{ backgroundImage: 'url(' + item.pic + ')' }"
  92. ></div>
  93. <div class="industry-content-box">
  94. <h5>{{ item.title }}</h5>
  95. <p>{{ item.intro }}</p>
  96. <a class="client-default-Btn" @click="checkInfo(item)">了解详情</a>
  97. </div>
  98. </el-carousel-item>
  99. </el-carousel>
  100. </div>
  101. </div>
  102. <el-dialog
  103. :title="title"
  104. :visible.sync="videoDialogFlag"
  105. @close="closeVideoDialog"
  106. class="course-video-dialog"
  107. center>
  108. <video controls :src="source" class="course-video-box"></video>
  109. <p>{{footerText}}</p>
  110. </el-dialog>
  111. <el-dialog
  112. :close-on-click-modal="false"
  113. :visible.sync="telDl"
  114. @close="delDlClose"
  115. class="application-scheme-dialog"
  116. center>
  117. <i></i>
  118. <p>免费获得课程开发解决方案</p>
  119. <el-form :model="telChangeDate" status-icon :rules="telRules" ref="ruleTelForm" class="application-scheme-form">
  120. <el-form-item prop="tel">
  121. <el-input v-model="telChangeDate.tel" placeholder="请输入手机号" class="dialog-input-tel"></el-input>
  122. </el-form-item>
  123. <div id="your-dom-id" class="nc-container"></div>
  124. <el-form-item prop="verification">
  125. <div class="verification">
  126. <el-input v-model="telChangeDate.verification" placeholder="请输入验证码" class="dialog-input-code"></el-input>
  127. <el-button @click="checkVerification" :disabled="btnTextDisabled" class="dialog-code-btn">{{btnText}}</el-button>
  128. </div>
  129. </el-form-item>
  130. </el-form>
  131. <div class="application-scheme-btn" @click="dialogSave">申请方案</div>
  132. <span>免费热线:400-052-2130</span><a>在线客服</a>
  133. </el-dialog>
  134. </div>
  135. </template>
  136. <script>
  137. export default {
  138. name: 'courseware',
  139. layout:'templateB',
  140. async asyncData({ $axios, store }) {
  141. // 设置选中菜单
  142. store.commit('setActiveNav', '/courseware');
  143. let [res1,res2] = await Promise.all([
  144. await $axios.$post(`/home/news/carousel`,{'newsClassifyId':2}).then(res=>{
  145. return res
  146. }),
  147. ])
  148. return {topCarousels : res1.data.data ||[],
  149. }
  150. },
  151. components: {
  152. },
  153. props: {
  154. },
  155. data() {
  156. return {
  157. courseMadeImg: require(`~/static/images/client/course/course-made-img.png`),
  158. courseVideoImg1: require(`~/static/images/client/course/course-video-img1.png`),
  159. courseVideoImg2: require(`~/static/images/client/course/course-video-img2.png`),
  160. courseVideoImg3: require(`~/static/images/client/course/course-video-img3.png`),
  161. courseVideoImg4: require(`~/static/images/client/course/course-video-img4.png`),
  162. courseVideoImg5: require(`~/static/images/client/course/course-video-img5.png`),
  163. courseVideoImg6: require(`~/static/images/client/course/course-video-img6.png`),
  164. courseVideoImg7: require(`~/static/images/client/course/course-video-img7.png`),
  165. courseVideoImg8: require(`~/static/images/client/course/course-video-img8.png`),
  166. courseVideoImg9: require(`~/static/images/client/course/course-video-img9.png`),
  167. courseVideoImg10: require(`~/static/images/client/course/course-video-img10.png`),
  168. courseVideoImg11: require(`~/static/images/client/course/course-video-img11.png`),
  169. courseVideoImg12: require(`~/static/images/client/course/course-video-img12.png`),
  170. courseVideoImg13: require(`~/static/images/client/course/course-video-img13.png`),
  171. courseVideoImg14: require(`~/static/images/client/course/course-video-img14.png`),
  172. courseVideoImg15: require(`~/static/images/client/course/course-video-img15.png`),
  173. courseVideoImg16: require(`~/static/images/client/course/course-video-img16.png`),
  174. courseVideoImg17: require(`~/static/images/client/course/course-video-img17.png`),
  175. courseVideoImg18: require(`~/static/images/client/course/course-video-img18.png`),
  176. videoDialogFlag:false,
  177. source:'',
  178. footerText:'',
  179. title:'',
  180. videoArray:[
  181. {
  182. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cce7bfa5285890792886060567/v.f30.mp4',
  183. fotterText:'教师视频与讲课PowerPoint课件一并摄制下来生成的课件,因此被称为‘二分屏’课件。',
  184. title:'两分屏类E-Learning课程',
  185. },
  186. {
  187. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ccefbfc5285890792886061298/v.f30.mp4',
  188. fotterText:'是把教师视频与PowerPoint课件一并摄制下来,生成电脑格式的文件,通过Windows系统里的IE浏览器进行播放',
  189. title:'三分屏类E-Learning课程',
  190. },
  191. {
  192. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9eeef6ee5285890792886133302/v.f30.mp4',
  193. fotterText:'兼具了平面与互联网两者的特点,且融入了图像、文字、声音、视频、游戏等相互动态结合来呈现给读者',
  194. title:'电子杂志类E-Learning课程',
  195. },
  196. {
  197. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/64f88fc65285890792885983863/v.f30.mp4',
  198. fotterText:'主要以图片的形式表现教学者的作用和教与学之间的关系,从而改变教育的本质',
  199. title:'FLASH图文类E-Learning课程',
  200. },
  201. {
  202. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cc1569e5285890792886059626/v.f30.mp4',
  203. fotterText:'是可以操作互动的教学,简单的比较,交互式是游戏',
  204. title:'FLASH交互类E-Learning课程',
  205. },
  206. {
  207. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ce0a1a35285890792886070899/v.f30.mp4',
  208. fotterText:'以视频的形式表现出要授予的课程内容',
  209. title:'视频类E-Learning课程',
  210. },
  211. //微课程
  212. {
  213. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9f25da7a5285890792886164670/v.f30.mp4',
  214. fotterText:'是通过图片发布文字信息的一种形式',
  215. title:'长图文类微课',
  216. },
  217. {
  218. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cf441145285890792886083160/v.f30.mp4',
  219. fotterText:'以简短视频的形式讲授一两个知识点,没有复杂的课程体',
  220. title:'视频类微课',
  221. },
  222. {
  223. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/650aa7e15285890792885993830/v.f30.mp4',
  224. fotterText:'指页面内可以包含图片、链接,甚至音乐、程序等非文字元素互动教学',
  225. title:'H5交互微课',
  226. },
  227. {
  228. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9c2e210d5285890793118303376/v.f30.mp4',
  229. fotterText:'以故事情景引出产品内容的介绍',
  230. title:'情景动画类微课',
  231. },
  232. {
  233. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ee031e15285890792886129559/v.f30.mp4',
  234. fotterText:'主要以图片的形式表现,图片有手绘原素相结合,更加明确的展示了课程的内容',
  235. title:'图文类微课',
  236. },
  237. {
  238. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9a582fcf5285890793118274335/v.f30.mp4',
  239. fotterText:'主要是以教师根据教学内容PPT进行假想授课',
  240. title:'PPT微课',
  241. },
  242. //宣传片
  243. {
  244. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ce2c5775285890792886074523/v.f30.mp4',
  245. fotterText:'一张张手绘画出来制作合成动画形式',
  246. title:'手绘动画类宣传片',
  247. },
  248. {
  249. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cbfaddf5285890792886056576/v.f30.mp4',
  250. fotterText:'是平面设计与动画片之间的一种产物,MG的重点是非叙述性非具象化的视觉表现形式,节奏感更强,动画的流畅与每屏之前的衔接性更好',
  251. title:'MG动画类宣传片',
  252. },
  253. {
  254. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9eed5aaf5285890792886130531/v.f30.mp4',
  255. fotterText:'以拍摄视频的形式呈现出企业的介绍和产品宣传',
  256. title:'视频类宣传片',
  257. },
  258. // 情景动画
  259. {
  260. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9cc031355285890792886057331/v.f30.mp4',
  261. fotterText:'以经典儿歌结合动画表达出课程要讲授的内容',
  262. title:'儿歌动画',
  263. },
  264. {
  265. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9f121cdd5285890792886151677/v.f30.mp4',
  266. fotterText:'是教师在课堂上根据所讲授的内容穿插些相关的简明、短小故事、以说明注解强调所讲内容',
  267. title:'故事教学',
  268. },
  269. {
  270. url:'https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ce35f5f5285890792886075881/v.f30.mp4',
  271. fotterText:'以情景动画形式丰富多样,游戏化教学和精美动画相结合',
  272. title:'过场动画',
  273. },
  274. ],
  275. btnTextDisabled: false,
  276. telDl: false,
  277. btnText: '获取验证码',
  278. countdown: 60, // 60秒倒计时
  279. sliderData: {},
  280. appKey: 'FFFF0N00000000007EC0',
  281. telChangeDate: {},
  282. telRules: {
  283. tel: [
  284. { trigger: 'blur', required: true, message: '请输入手机号' },
  285. ],
  286. verification: [
  287. { trigger: 'blur', required: true, message: '请输入验证码' },
  288. ],
  289. },
  290. };
  291. },
  292. head(){
  293. return {
  294. title: '多媒体课件制作_视频课件制作_flash课件制作_【栋科课程开发团队】',
  295. meta: [
  296. {
  297. name: 'keywords',
  298. content: '课件制作,课件制作公司,课件设计,ppt课件制作'
  299. },
  300. {
  301. name:'description',
  302. content:'栋科软件拥有国内专业、成熟的设计团队,丰富的电子课程制作经验,业务方向包括教学设计体验、图文内容演示、情景动漫、AR/VR演示等,在院校教育、零售连锁行业、汽车行业、金融等12大行业课程开发经验超过10年,规范可靠的研发流程、完善的质量评估和卓越的项目管理体系,能高效稳定地保障支付。'
  303. }
  304. ],
  305. }
  306. },
  307. computed: {},
  308. methods: {
  309. applyFun() {
  310. this.telDl = true;
  311. this.sliderFun();
  312. },
  313. dialogSave(){
  314. this.$refs.ruleTelForm.validate((valid) => {
  315. if (valid) {
  316. // 请求后台
  317. const options = {
  318. phone: this.telChangeDate.tel,
  319. code: this.telChangeDate.verification,
  320. };
  321. this.$axios.$post('/develop/add',options).then(res=>{
  322. if (res.code === 0 && res.data) {
  323. this.telDl = false;
  324. this.$message.success('申请成功');
  325. } else {
  326. this.$message.error('申请失败');
  327. }
  328. });
  329. }
  330. });
  331. },
  332. delDlClose(){
  333. this.telDl =false
  334. this.$refs.ruleTelForm.resetFields();
  335. __nc.reset();
  336. },
  337. /**
  338. * 串联加载指定的脚本
  339. * 串联加载[异步]逐个加载,每个加载完成后加载下一个
  340. * 全部加载完成后执行回调
  341. * @param array|string 指定的脚本们
  342. * @param function 成功后回调的函数
  343. * @return array 所有生成的脚本元素对象数组
  344. * 异步加载js后运行回调函数callback / scripts 为数组或字符串
  345. */
  346. seriesLoadScripts(scripts, callback) {
  347. if (typeof (scripts) != 'object') {
  348. var scripts = [scripts];
  349. }
  350. var HEAD = document.getElementsByTagName('head').item(0) || document.documentElement;
  351. var s = new Array(), last = scripts.length - 1, recursiveLoad = function (i) { //递归
  352. s[i] = document.createElement('script');
  353. s[i].setAttribute('type', 'text/javascript');
  354. s[i].onload = s[i].onreadystatechange = function () { //Attach handlers for all browsers
  355. if (!/*@cc_on!@*/0 || this.readyState == 'loaded' || this.readyState == 'complete') {
  356. this.onload = this.onreadystatechange = null;
  357. this.parentNode.removeChild(this);
  358. if (i != last) {
  359. recursiveLoad(i + 1);
  360. } else if (typeof (callback) == 'function') {
  361. callback();
  362. }
  363. }
  364. };
  365. s[i].setAttribute('src', scripts[i]);
  366. HEAD.appendChild(s[i]);
  367. };
  368. recursiveLoad(0);
  369. },
  370. // 滑块
  371. sliderFun() {
  372. const nc_token = [this.appKey, (new Date()).getTime(), Math.random()].join(':');
  373. console.log(nc_token);
  374. const NC_Opt = {
  375. //声明滑动验证需要渲染的目标元素ID。
  376. renderTo: '#your-dom-id',
  377. //应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。
  378. appkey: this.appKey,
  379. //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的scene值,请务必正确填写。
  380. scene: 'nc_message',
  381. //滑动验证码的主键,请勿将该字段定义为固定值。确保每个用户每次打开页面时,其token值都是不同的。系统默认的格式为:”您的appkey”+”时间戳”+”随机数”。
  382. token: nc_token,
  383. //滑动条的宽度。
  384. customWidth: 300,
  385. //业务键字段,可为空。为便于线上问题的排查,建议您按照线上问题定位文档中推荐的方法配置该字段值。
  386. trans: { 'key1': 'code0' },
  387. //通过Dom的ID属性自动填写trans业务键,可为空。建议您按照线上问题定位文档中推荐的方法配置该字段值。
  388. elementID: ['usernameID'],
  389. //是否自定义配置底层采集组件。如无特殊场景,请使用默认值(0),即不自定义配置底层采集组件。
  390. is_Opt: 0,
  391. //语言。PC端Web页面场景默认支持18国语言,详细配置方法请参见自定义文案与多语言文档。
  392. language: 'cn',
  393. //是否启用。一般情况,保持默认值(true)即可。
  394. isEnabled: true,
  395. //内部网络请求的超时时间。一般情况建议保持默认值(3000ms)。
  396. timeout: 3000,
  397. //允许服务器超时重复次数,默认5次。超过重复次数后将触发报错。
  398. times: 5,
  399. //用于自定义滑动验证各项请求的接口地址。一般情况,请勿配置该参数。
  400. apimap: {
  401. // 'analyze': '//a.com/nocaptcha/analyze.jsonp',
  402. // 'get_captcha': '//b.com/get_captcha/ver3',
  403. // 'get_captcha': '//pin3.aliyun.com/get_captcha/ver3'
  404. // 'get_img': '//c.com/get_img',
  405. // 'checkcode': '//d.com/captcha/checkcode.jsonp',
  406. // 'umid_Url': '//e.com/security/umscript/3.2.1/um.js',
  407. // 'uab_Url': '//aeu.alicdn.com/js/uac/909.js',
  408. // 'umid_serUrl': 'https://g.com/service/um.json'
  409. },
  410. //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将请求标识(token)、会话ID(sessionid)、签名串(sig)字段记录下来,随业务请求一同发送至您的服务端调用验签。
  411. callback: (data) => {
  412. this.sliderData = Object.assign({}, data, {
  413. appkey: NC_Opt.appkey,
  414. scene: NC_Opt.scene,
  415. });
  416. console.log( this.sliderData);
  417. },
  418. };
  419. let date11 = () => {
  420. let _date = new Date();
  421. let year = _date.getFullYear().toString();
  422. let month = _date.getMonth().toString();
  423. let day = _date.getDate().toString();
  424. let a = _date.getHours().toString();
  425. let b = _date.getMinutes().toString();
  426. let c = _date.getSeconds().toString();
  427. return year + month + day + a + b + c;
  428. };
  429. let c = date11();
  430. const scripts = [
  431. `https://g.alicdn.com/sd/ncpc/nc.js?t=${c}`,
  432. ];
  433. this.seriesLoadScripts(scripts, function () {
  434. var nc = new noCaptcha(NC_Opt);
  435. nc.upLang('cn', {
  436. _startTEXT: '请按住滑块,拖动到最右边',
  437. _yesTEXT: '验证通过',
  438. _error300: '哎呀,出错了,点击<a href="javascript:__nc.reset()">刷新</a>再来一次',
  439. _errorNetwork: '网络不给力,请<a href="javascript:__nc.reset()">点击刷新</a>',
  440. });
  441. });
  442. },
  443. // 倒计时60秒
  444. setTime() {
  445. if (this.countdown === 0) {
  446. this.btnTextDisabled = false;
  447. this.btnText = '免费获取验证码';
  448. this.countdown = 60;
  449. } else {
  450. this.btnTextDisabled = true;
  451. this.btnText = '重新发送(' + this.countdown + 's)';
  452. this.countdown--;
  453. setTimeout(() => {
  454. this.setTime();
  455. }, 1000);
  456. }
  457. },
  458. // 验证码
  459. checkVerification() {
  460. if (this.sliderData.appkey === undefined) {
  461. return;
  462. }
  463. this.$axios.$post(`/develop/exists`,{ phone: this.telChangeDate.tel}).then(res=>{
  464. if (res.code === 0 && res.data) {
  465. let req = {
  466. 'appkey': this.sliderData.appkey,
  467. 'phone': this.telChangeDate.tel,
  468. 'scene': this.sliderData.scene,
  469. 'sessionid': this.sliderData.csessionid,
  470. 'sig': this.sliderData.sig,
  471. 'token': this.sliderData.token,
  472. 'type': 0,
  473. }
  474. this.$axios.$post('/sendCode',req).then(res=>{
  475. if (res.code === 0 && res.data) {
  476. this.setTime();
  477. }
  478. })
  479. } else {
  480. this.$message.error('手机号已存在');
  481. return false;
  482. }
  483. })
  484. },
  485. playVideo(index){
  486. this.videoDialogFlag = true
  487. this.source = this.videoArray[index].url
  488. this.footerText = this.videoArray[index].fotterText
  489. this.title = this.videoArray[index].title
  490. },
  491. closeVideoDialog(){
  492. this.videoDialogFlag = false;
  493. this.source = '';
  494. this.footerText = '';
  495. this.title = '';
  496. }
  497. },
  498. created() {
  499. },
  500. mounted() {
  501. },
  502. beforeDestroy() {
  503. },
  504. };
  505. </script>
  506. <style>
  507. </style>