index.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  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. <div class="client-resources-page">
  9. <!-- 题库资源页 banner栏 -->
  10. <div class="client-platform-banner">
  11. <div :style="{backgroundImage: `url(${require(`~/static/images/client/resources/resources-banner-background.jpg`)})`}" class="client-platform-banner"></div>
  12. </div>
  13. <!-- 企业通用岗位培训方案 -->
  14. <div class="client-container">
  15. <h4 class="client-title">企业通用岗位培训方案</h4>
  16. <img :src="trainSchemeImg" alt="企业通用岗位培训方案" style="margin: 24px auto 52px;">
  17. <div class="client-btn-box tc"><div rel="nofollow" class="client-default-Btn" @click="applyFun">申请方案</div><span class="client-default-white-Btn" @click="onlineFun">在线咨询</span></div>
  18. </div>
  19. <!-- 为企业培训打造学习矩阵 -->
  20. <div class="platform-products-services">
  21. <div class="client-container">
  22. <h4 class="client-title">为企业培训打造学习矩阵</h4>
  23. <div class="products-services-box products-contrary-box">
  24. <img :src="trainAdvantagesImg1" alt="为企业培训打造学习矩阵" />
  25. <div class="products-services-content">
  26. <p>课程总数近5000门</p>
  27. <p>涵盖2000个知识要点</p>
  28. <p>提供9大通用岗位培训方案</p>
  29. <p>课程资源每月持续更新</p>
  30. <div class="default-Btn-box">
  31. <a class="client-default-Btn" @click="applyFun" >申请方案</a>
  32. <span rel="nofollow" class="client-default-white-Btn" @click="onlineFun">在线咨询</span>
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. </div>
  38. <!-- 情景动画 -->
  39. <div class="course-learn-box">
  40. <h4 class="client-title">课程内容形式多样</h4>
  41. <div class="client-container tc">
  42. <ul class="learn-box-list">
  43. <li>
  44. <a href="https://spdb.mtavip.com/sv/46d66241-17cda5e3c68/46d66241-17cda5e3c68.mp4"></a>
  45. <div>
  46. <span><img :src="courseVideoImg19" alt="FLASH动画课程"><i @click="playVideo(18)"></i></span>
  47. <p>FLASH动画课程</p>
  48. <p class="course-explain-black">主要以图文动画的形式表现教学者的作用和教与学之间的关系,从而改变学习的本质</p>
  49. </div>
  50. </li>
  51. <li>
  52. <a href="https://spdb.mtavip.com/sv/29abdaa6-17cda5e7fa9/29abdaa6-17cda5e7fa9.mp4"></a>
  53. <div>
  54. <span><img :src="courseVideoImg20" alt="视频课程"><i @click="playVideo(19)"></i></span>
  55. <p>视频课程</p>
  56. <p class="course-explain-black">把教师视频与PowerPoint课件一并摄制下来,生成为视频课件</p>
  57. </div>
  58. </li>
  59. <li>
  60. <a href="https://spdb.mtavip.com/sv/472f9f71-17cda5f7f5c/472f9f71-17cda5f7f5c.mp4"></a>
  61. <div><span><img :src="courseVideoImg21" alt="名师讲堂"><i @click="playVideo(20)"></i></span>
  62. <p>名师讲堂</p>
  63. <p class="course-explain-black">各行各业讲师汇聚一堂,为不同专属领域打造明星级课堂</p>
  64. </div>
  65. </li>
  66. </ul>
  67. <div class="platform-products-services">
  68. <a class="client-default-Btn" @click="applyFun" >申请方案</a>
  69. <span rel="nofollow" class="client-default-white-Btn" @click="onlineFun">在线咨询</span>
  70. </div>
  71. </div>
  72. </div>
  73. <!-- 新闻资讯 -->
  74. <div class="platform-news-information mta-hidden-xs">
  75. <div class="client-container">
  76. <h4 class="client-title">新闻资讯</h4>
  77. <ul>
  78. <li style="font-size: 16px" v-for="(item, index) in topCarousels">
  79. <div>
  80. <img :src="item.pic" alt="新闻资讯" />
  81. <h4 @click="checkInfo(item)">{{ item.title }}</h4>
  82. <span>发布时间:{{item.yyyy }}-{{ item.mmdd }}</span>
  83. <p>{{ item.intro }}</p>
  84. </div>
  85. </li>
  86. </ul>
  87. </div>
  88. </div>
  89. </div>
  90. <!-- 视频播放弹窗 -->
  91. <el-dialog
  92. :title="title"
  93. :visible.sync="videoDialogFlag"
  94. @close="closeVideoDialog"
  95. class="course-video-dialog"
  96. center>
  97. <video controls :src="source" class="course-video-box"></video>
  98. <p>{{footerText}}</p>
  99. </el-dialog>
  100. <!-- 申请方案弹窗-->
  101. <el-dialog
  102. :close-on-click-modal="false"
  103. :visible.sync="sqfaDl"
  104. @close="sqfaDlClose"
  105. class="application-scheme-dialog"
  106. center>
  107. <i></i>
  108. <p>免费获得课程开发解决方案</p>
  109. <el-form :model="sqfaDialogDate" status-icon :rules="sqfaTelRules" ref="ruleTelForm" class="application-scheme-form">
  110. <el-form-item prop="tel">
  111. <el-input v-model="sqfaDialogDate.tel" placeholder="请输入手机号" class="dialog-input-tel"></el-input>
  112. </el-form-item>
  113. <div id="your-dom-id" class="nc-container"></div>
  114. <el-form-item prop="verification">
  115. <div class="verification">
  116. <el-input v-model="sqfaDialogDate.verification" placeholder="请输入验证码" class="dialog-input-code"></el-input>
  117. <el-button @click="checkVerification" :disabled="sqfaBtnDisabled" class="dialog-code-btn">{{sqfaBtnText}}</el-button>
  118. </div>
  119. </el-form-item>
  120. </el-form>
  121. <div class="application-scheme-btn" @click="dialogSave">申请方案</div>
  122. <span>免费热线:18642628327</span><a href="https://p.qiao.baidu.com/cps/chat?siteId=17930048&userId=40179606&siteToken=e767a987c8404575246ab0084fb2c9bd" target="_blank">在线客服</a>
  123. </el-dialog>
  124. </div>
  125. </template>
  126. <script>
  127. export default {
  128. name: 'courseResource',
  129. layout:'templateB',
  130. async asyncData({ $axios, store }) {
  131. // 设置选中菜单
  132. store.commit('setActiveNav', '/courseResource');
  133. let [res1,res2] = await Promise.all([
  134. await $axios.$post(`/home/news/carousel`,{'newsClassifyId':0,'keyword':'课程'}).then(res=>{
  135. return res
  136. }),
  137. await $axios.$post(`/home/banner/list`, { 'code': 6 }).then(res => {
  138. return res;
  139. }),
  140. ])
  141. return {
  142. topCarousels : res1.data.data ||[],
  143. bannerList: res2.data.data||[],
  144. }
  145. },
  146. components: {
  147. },
  148. props: {
  149. },
  150. data() {
  151. return {
  152. // 企业通用岗位培训方案
  153. trainSchemeImg: require(`~/static/images/client/resources/train-scheme-img.png`),
  154. // describe: 课程开发相关 author: Wgy date:6/8/21
  155. trainAdvantagesImg1: require(`~/static/images/client/resources/train-advantages-img.png`),
  156. courseVideoImg19: require(`~/static/images/client/course/course-video-img19.png`),
  157. courseVideoImg20: require(`~/static/images/client/course/course-video-img20.png`),
  158. courseVideoImg21: require(`~/static/images/client/course/course-video-img21.png`),
  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/customerTrans/87321d8a03805711940e85451d6bcb0a/3d714c3c-174708975d8-0006-732a-c93-687b7.mp4',
  198. fotterText:'教师视频与讲课PowerPoint课件一并摄制下来生成的课件,因此被称为‘二分屏’课件。',
  199. title:'两分屏类E-Learning课程',
  200. },
  201. {
  202. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/1ddbed8f-17470897f92-0006-732a-c93-687b7.mp4',
  203. fotterText:'是把教师视频与PowerPoint课件一并摄制下来,生成电脑格式的文件,通过Windows系统里的IE浏览器进行播放',
  204. title:'三分屏类E-Learning课程',
  205. },
  206. {
  207. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/35f356f6-17470879c83-0006-732a-c93-687b7.mp4',
  208. fotterText:'兼具了平面与互联网两者的特点,且融入了图像、文字、声音、视频、游戏等相互动态结合来呈现给读者',
  209. title:'电子杂志类E-Learning课程',
  210. },
  211. {
  212. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/42d3f2e8-17470860cff-0006-732a-c93-687b7.mp4',
  213. fotterText:'主要以图片的形式表现教学者的作用和教与学之间的关系,从而改变教育的本质',
  214. title:'FLASH图文类E-Learning课程',
  215. },
  216. {
  217. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/18d95d93-17470860cfb-0006-732a-c93-687b7.mp4',
  218. fotterText:'是可以操作互动的教学,简单的比较,交互式是游戏',
  219. title:'FLASH交互类E-Learning课程',
  220. },
  221. {
  222. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/359ee794-17470899bcf-0006-732a-c93-687b7.mp4',
  223. fotterText:'以视频的形式表现出要授予的课程内容',
  224. title:'视频类E-Learning课程',
  225. },
  226. //微课程
  227. {
  228. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/4f1c04ef-174708abedf-0006-732a-c93-687b7.mp4',
  229. fotterText:'是通过图片发布文字信息的一种形式',
  230. title:'长图文类微课',
  231. },
  232. {
  233. url:'https://spdb.mtavip.com/65615d29a5da4478b8d4ebfd6810d2da/65ab43fa5fb942aab2af981c2f7ea5c7-da005714eae365940692db31fbf6e9b8-fd.mp4',
  234. fotterText:'以简短视频的形式讲授一两个知识点,没有复杂的课程体',
  235. title:'视频类微课',
  236. },
  237. {
  238. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/13a4929d-17470860cf9-0006-732a-c93-687b7.mp4',
  239. fotterText:'指页面内可以包含图片、链接,甚至音乐、程序等非文字元素互动教学',
  240. title:'H5交互微课',
  241. },
  242. {
  243. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/1eb213bd-17470897778-0006-732a-c93-687b7.mp4',
  244. fotterText:'以故事情景引出产品内容的介绍',
  245. title:'情景动画类微课',
  246. },
  247. {
  248. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/a262a7b-174708aa838-0006-732a-c93-687b7.mp4',
  249. fotterText:'主要以图片的形式表现,图片有手绘原素相结合,更加明确的展示了课程的内容',
  250. title:'图文类微课',
  251. },
  252. {
  253. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/ef9b83b-17470860d19-0006-732a-c93-687b7.mp4',
  254. fotterText:'主要是以教师根据教学内容PPT进行假想授课',
  255. title:'PPT微课',
  256. },
  257. //宣传片
  258. {
  259. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/1c896f73-174708a6de4-0006-732a-c93-687b7.mp4',
  260. fotterText:'一张张手绘画出来制作合成动画形式',
  261. title:'手绘动画类宣传片',
  262. },
  263. {
  264. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/57b79278-17470860d16-0006-732a-c93-687b7.mp4',
  265. fotterText:'是平面设计与动画片之间的一种产物,MG的重点是非叙述性非具象化的视觉表现形式,节奏感更强,动画的流畅与每屏之前的衔接性更好',
  266. title:'MG动画类宣传片',
  267. },
  268. {
  269. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/39296d0d-174708a6aea-0006-732a-c93-687b7.mp4',
  270. fotterText:'以拍摄视频的形式呈现出企业的介绍和产品宣传',
  271. title:'视频类宣传片',
  272. },
  273. // 情景动画
  274. {
  275. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/159fac7b-17470879c88-0006-732a-c93-687b7.mp4',
  276. fotterText:'以经典儿歌结合动画表达出课程要讲授的内容',
  277. title:'儿歌动画',
  278. },
  279. {
  280. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/13f16002-1747088d2a9-0006-732a-c93-687b7.mp4',
  281. fotterText:'是教师在课堂上根据所讲授的内容穿插些相关的简明、短小故事、以说明注解强调所讲内容',
  282. title:'故事教学',
  283. },
  284. {
  285. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/113211bf-1747089269d-0006-732a-c93-687b7.mp4',
  286. fotterText:'以情景动画形式丰富多样,游戏化教学和精美动画相结合',
  287. title:'过场动画',
  288. },
  289. // describe: 课程开发 author: Wgy date:6/8/21
  290. {
  291. url:'https://spdb.mtavip.com/sv/46d66241-17cda5e3c68/46d66241-17cda5e3c68.mp4',
  292. fotterText:'主要以图文动画的形式表现教学者的作用和教与学之间的关系,从而改变学习的本质',
  293. title:'FLASH动画课程',
  294. },
  295. {
  296. url:'https://spdb.mtavip.com/sv/29abdaa6-17cda5e7fa9/29abdaa6-17cda5e7fa9.mp4',
  297. fotterText:'把教师视频与PowerPoint课件一并摄制下来,生成为视频课件',
  298. title:'视频课程',
  299. },
  300. {
  301. url:'https://spdb.mtavip.com/sv/472f9f71-17cda5f7f5c/472f9f71-17cda5f7f5c.mp4',
  302. fotterText:'各行各业讲师汇聚一堂,为不同专属领域打造明星级课堂',
  303. title:'名师讲堂',
  304. },
  305. ],
  306. sqfaDl:false,// 申请方案弹窗
  307. sqfaDialogDate: {},
  308. sqfaBtnDisabled: false,
  309. sqfaBtnText: '获取验证码',
  310. sqfaCountdown: 60, // 60秒倒计时
  311. sqfaSliderData: {},
  312. sqfaAppKey: 'FFFF0N00000000007EC0',
  313. sqfaTelRules: {
  314. tel: [
  315. { trigger: 'blur', required: true, message: '请输入手机号' },
  316. ],
  317. verification: [
  318. { trigger: 'blur', required: true, message: '请输入验证码' },
  319. ],
  320. },
  321. };
  322. },
  323. head(){
  324. return {
  325. SystemWidthFlag:false,// 判断是否是手机端,默认为false,默认为PC端
  326. title: '多媒体课件制作_视频课件制作_flash课件制作_【沈阳久创锐康课程开发团队】',
  327. meta: [
  328. {
  329. name: 'keywords',
  330. content: '课件制作,课件制作公司,课件设计,ppt课件制作'
  331. },
  332. {
  333. name:'description',
  334. content:'沈阳久创锐康拥有国内专业、成熟的设计团队,丰富的电子课程制作经验,业务方向包括教学设计体验、图文内容演示、情景动漫、AR/VR演示等,在院校教育、零售连锁行业、汽车行业、金融等12大行业课程开发经验超过10年,规范可靠的研发流程、完善的质量评估和卓越的项目管理体系,能高效稳定地保障支付。'
  335. }
  336. ],
  337. }
  338. },
  339. computed: {},
  340. methods: {
  341. goIntroductionPage(){
  342. this.$router.push({ name: 'introduction' });
  343. },
  344. checkInfo(data) {
  345. const opt = {
  346. id: data.code,
  347. };
  348. this.$router.push({ name: 'news-id', params: opt });
  349. },
  350. clickBanner(data){
  351. if(data){
  352. window.open(data)
  353. }
  354. },
  355. applyFun() {
  356. this.sqfaDl = true;
  357. this.sliderFun();
  358. },
  359. dialogSave(){
  360. this.$refs.ruleTelForm.validate((valid) => {
  361. if (valid) {
  362. // 请求后台
  363. const options = {
  364. phone: this.sqfaDialogDate.tel,
  365. code: this.sqfaDialogDate.verification,
  366. };
  367. this.$axios.$post('/develop/add',options).then(res=>{
  368. if (res.code === 0 && res.data) {
  369. this.sqfaDl = false;
  370. this.$message.success('申请成功');
  371. } else {
  372. this.$message.error(res.msg);
  373. }
  374. });
  375. }
  376. });
  377. },
  378. sqfaDlClose(){
  379. this.sqfaCountdown = -1;
  380. this.sqfaSliderData.sqfaAppKey=undefined;
  381. this.sqfaDl = false;
  382. this.$refs.ruleTelForm.resetFields();
  383. __nc.reset();
  384. },
  385. /**
  386. * 串联加载指定的脚本
  387. * 串联加载[异步]逐个加载,每个加载完成后加载下一个
  388. * 全部加载完成后执行回调
  389. * @param array|string 指定的脚本们
  390. * @param function 成功后回调的函数
  391. * @return array 所有生成的脚本元素对象数组
  392. * 异步加载js后运行回调函数callback / scripts 为数组或字符串
  393. */
  394. seriesLoadScripts(scripts, callback) {
  395. if (typeof (scripts) != 'object') {
  396. var scripts = [scripts];
  397. }
  398. var HEAD = document.getElementsByTagName('head').item(0) || document.documentElement;
  399. var s = new Array(), last = scripts.length - 1, recursiveLoad = function (i) { //递归
  400. s[i] = document.createElement('script');
  401. s[i].setAttribute('type', 'text/javascript');
  402. s[i].onload = s[i].onreadystatechange = function () { //Attach handlers for all browsers
  403. if (!/*@cc_on!@*/0 || this.readyState == 'loaded' || this.readyState == 'complete') {
  404. this.onload = this.onreadystatechange = null;
  405. this.parentNode.removeChild(this);
  406. if (i != last) {
  407. recursiveLoad(i + 1);
  408. } else if (typeof (callback) == 'function') {
  409. callback();
  410. }
  411. }
  412. };
  413. s[i].setAttribute('src', scripts[i]);
  414. HEAD.appendChild(s[i]);
  415. };
  416. recursiveLoad(0);
  417. },
  418. // 滑块
  419. sliderFun() {
  420. const nc_token = [this.sqfaAppKey, (new Date()).getTime(), Math.random()].join(':');
  421. console.log(nc_token);
  422. const NC_Opt = {
  423. //声明滑动验证需要渲染的目标元素ID。
  424. renderTo: '#your-dom-id',
  425. //应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。
  426. appkey: this.sqfaAppKey,
  427. //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的scene值,请务必正确填写。
  428. scene: 'nc_message',
  429. //滑动验证码的主键,请勿将该字段定义为固定值。确保每个用户每次打开页面时,其token值都是不同的。系统默认的格式为:”您的appkey”+”时间戳”+”随机数”。
  430. token: nc_token,
  431. //滑动条的宽度。
  432. customWidth: 300,
  433. //业务键字段,可为空。为便于线上问题的排查,建议您按照线上问题定位文档中推荐的方法配置该字段值。
  434. trans: { 'key1': 'code0' },
  435. //通过Dom的ID属性自动填写trans业务键,可为空。建议您按照线上问题定位文档中推荐的方法配置该字段值。
  436. elementID: ['usernameID'],
  437. //是否自定义配置底层采集组件。如无特殊场景,请使用默认值(0),即不自定义配置底层采集组件。
  438. is_Opt: 0,
  439. //语言。PC端Web页面场景默认支持18国语言,详细配置方法请参见自定义文案与多语言文档。
  440. language: 'cn',
  441. //是否启用。一般情况,保持默认值(true)即可。
  442. isEnabled: true,
  443. //内部网络请求的超时时间。一般情况建议保持默认值(3000ms)。
  444. timeout: 3000,
  445. //允许服务器超时重复次数,默认5次。超过重复次数后将触发报错。
  446. times: 5,
  447. //用于自定义滑动验证各项请求的接口地址。一般情况,请勿配置该参数。
  448. apimap: {
  449. // 'analyze': '//a.com/nocaptcha/analyze.jsonp',
  450. // 'get_captcha': '//b.com/get_captcha/ver3',
  451. // 'get_captcha': '//pin3.aliyun.com/get_captcha/ver3'
  452. // 'get_img': '//c.com/get_img',
  453. // 'checkcode': '//d.com/captcha/checkcode.jsonp',
  454. // 'umid_Url': '//e.com/security/umscript/3.2.1/um.js',
  455. // 'uab_Url': '//aeu.alicdn.com/js/uac/909.js',
  456. // 'umid_serUrl': 'https://g.com/service/um.json'
  457. },
  458. //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将请求标识(token)、会话ID(sessionid)、签名串(sig)字段记录下来,随业务请求一同发送至您的服务端调用验签。
  459. callback: (data) => {
  460. this.sqfaSliderData = Object.assign({}, data, {
  461. sqfaAppKey: NC_Opt.appkey,
  462. scene: NC_Opt.scene,
  463. });
  464. console.log( this.sqfaSliderData);
  465. },
  466. };
  467. let date11 = () => {
  468. let _date = new Date();
  469. let year = _date.getFullYear().toString();
  470. let month = _date.getMonth().toString();
  471. let day = _date.getDate().toString();
  472. let a = _date.getHours().toString();
  473. let b = _date.getMinutes().toString();
  474. let c = _date.getSeconds().toString();
  475. return year + month + day + a + b + c;
  476. };
  477. let c = date11();
  478. const scripts = [
  479. `https://g.alicdn.com/sd/ncpc/nc.js?t=${c}`,
  480. ];
  481. this.seriesLoadScripts(scripts, function () {
  482. var nc = new noCaptcha(NC_Opt);
  483. nc.upLang('cn', {
  484. _startTEXT: '请按住滑块,拖动到最右边',
  485. _yesTEXT: '验证通过',
  486. _error300: '哎呀,出错了,点击<a href="javascript:__nc.reset()">刷新</a>再来一次',
  487. _errorNetwork: '网络不给力,请<a href="javascript:__nc.reset()">点击刷新</a>',
  488. });
  489. });
  490. },
  491. // 倒计时60秒
  492. setTime() {
  493. if (this.sqfaCountdown === 0) {
  494. this.sqfaBtnDisabled = false;
  495. this.sqfaBtnText = '获取验证码';
  496. this.sqfaCountdown = 60;
  497. } else if(this.sqfaCountdown === -1){
  498. this.sqfaBtnDisabled = false;
  499. this.sqfaBtnText = '获取验证码';
  500. this.sqfaCountdown = 60;
  501. }else {
  502. this.sqfaBtnDisabled = true;
  503. this.sqfaBtnText = '重新发送(' + this.sqfaCountdown + 's)';
  504. this.sqfaCountdown--;
  505. setTimeout(() => {
  506. this.setTime();
  507. }, 1000);
  508. }
  509. },
  510. // 验证码
  511. checkVerification() {
  512. if (this.sqfaDialogDate.tel === undefined) {
  513. this.$message.error('请输入手机号');
  514. return;
  515. }
  516. if (this.sqfaSliderData.sqfaAppKey === undefined) {
  517. this.$message.error('请先进行滑块校验');
  518. return;
  519. }
  520. this.$axios.$post(`/develop/exists`,{ phone: this.sqfaDialogDate.tel}).then(res=>{
  521. if (res.code === 0 && res.data) {
  522. let req = {
  523. 'appkey': this.sqfaSliderData.sqfaAppKey,
  524. 'phone': this.sqfaDialogDate.tel,
  525. 'scene': this.sqfaSliderData.scene,
  526. 'sessionid': this.sqfaSliderData.csessionid,
  527. 'sig': this.sqfaSliderData.sig,
  528. 'token': this.sqfaSliderData.token,
  529. 'type': 0,
  530. }
  531. this.$axios.$post('/sendCode',req).then(res=>{
  532. if (res.code === 0 && res.data) {
  533. this.setTime();
  534. }else {
  535. this.$message.error(res.msg||'手机号已存在');
  536. }
  537. })
  538. } else {
  539. this.$message.error('手机号已存在');
  540. return false;
  541. }
  542. })
  543. },
  544. playVideo(index){
  545. this.videoDialogFlag = true
  546. this.source = this.videoArray[index].url
  547. this.footerText = this.videoArray[index].fotterText
  548. this.title = this.videoArray[index].title
  549. },
  550. closeVideoDialog(){
  551. this.videoDialogFlag = false;
  552. this.source = '';
  553. this.footerText = '';
  554. this.title = '';
  555. },
  556. // 在线咨询
  557. onlineFun(){
  558. window.open('https://p.qiao.baidu.com/cps/chat?siteId=17930048&userId=40179606&siteToken=e767a987c8404575246ab0084fb2c9bd')
  559. },
  560. },
  561. created() {
  562. },
  563. mounted() {
  564. },
  565. beforeDestroy() {
  566. },
  567. };
  568. </script>
  569. <style>
  570. </style>