|
@@ -1,28 +1,24 @@
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
-.search-box p {
|
|
|
|
- display: inline-block;
|
|
|
|
- border: 1px solid #f2f2f2;
|
|
|
|
- border-radius: 5px;
|
|
|
|
- margin-right: 10px;
|
|
|
|
- padding: 5px 10px;
|
|
|
|
- cursor: pointer;
|
|
|
|
-}
|
|
|
|
-#office-iframe {
|
|
|
|
- height: 800px;
|
|
|
|
-}
|
|
|
|
|
|
+ .search-box p {
|
|
|
|
+ display: inline-block;
|
|
|
|
+ border: 1px solid #f2f2f2;
|
|
|
|
+ border-radius: 5px;
|
|
|
|
+ margin-right: 10px;
|
|
|
|
+ padding: 5px 10px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ #office-iframe {
|
|
|
|
+ height: 800px;
|
|
|
|
+ }
|
|
</style>
|
|
</style>
|
|
<template>
|
|
<template>
|
|
<a-row :gutter="10">
|
|
<a-row :gutter="10">
|
|
-
|
|
|
|
|
|
+
|
|
<a-col :sm="6" style="margin-bottom: 20px;z-index: 10">
|
|
<a-col :sm="6" style="margin-bottom: 20px;z-index: 10">
|
|
<a-card class="search-box" style="min-height:500px">
|
|
<a-card class="search-box" style="min-height:500px">
|
|
- <a-directory-tree
|
|
|
|
- defaultExpandAll
|
|
|
|
- @select="onSelect"
|
|
|
|
- @expand="onExpand"
|
|
|
|
- :loadData="onLoadData"
|
|
|
|
- :treeData="treeData"
|
|
|
|
- >
|
|
|
|
|
|
+ <a-directory-tree defaultExpandAll @select="onSelect" @expand="onExpand" :loadData="onLoadData"
|
|
|
|
+ :treeData="treeData">
|
|
</a-directory-tree>
|
|
</a-directory-tree>
|
|
</a-card>
|
|
</a-card>
|
|
</a-col>
|
|
</a-col>
|
|
@@ -36,6 +32,10 @@
|
|
<a-breadcrumb-item>{{ course.topic }}</a-breadcrumb-item>
|
|
<a-breadcrumb-item>{{ course.topic }}</a-breadcrumb-item>
|
|
</a-breadcrumb>
|
|
</a-breadcrumb>
|
|
<h3 style="text-align:center">{{ course.name }}</h3>
|
|
<h3 style="text-align:center">{{ course.name }}</h3>
|
|
|
|
+ <p v-if="!startList">请使用谷歌浏览器进行视频播放,并开启flash(开启方法:浏览器右上角三个小点-设置-网站设置-flash-每次进行询问勾选打开即可)</p>
|
|
|
|
+ <br>
|
|
|
|
+ <p v-if="!startList">flash下载链接:https://www.flash.cn/cdm/latest/flashplayerpp_install_cn.exe</p>
|
|
|
|
+ <br>
|
|
<p style="text-align:center" v-if="course.creator">作者:{{ course.creator }}</p>
|
|
<p style="text-align:center" v-if="course.creator">作者:{{ course.creator }}</p>
|
|
<br />
|
|
<br />
|
|
<p>{{ course.intro }}</p>
|
|
<p>{{ course.intro }}</p>
|
|
@@ -48,339 +48,423 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { getAction } from '@/api/manage'
|
|
|
|
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
|
|
-import moment from 'moment'
|
|
|
|
-import $ from 'jquery'
|
|
|
|
-import qs from 'qs'
|
|
|
|
-// document.write(textDes('https://ctop-media.oss-cn-beijing.aliyuncs.com/video/2020-03-20/20网服-1584693978588.mp4'))
|
|
|
|
-// document.write('<br>' + desDecrypt('s4HMPbmUfZ0=', 'ckplayerDesKey'))
|
|
|
|
-function textDes(str) {
|
|
|
|
- var keyCode = 'ckplayerDesKey'
|
|
|
|
- var newText = encodeURI(desEncrypt(str, keyCode))
|
|
|
|
- newText = (keyCode == 'ckplayerDesKey' ? 'CK:' : 'CE:') + newText
|
|
|
|
- return newText
|
|
|
|
-}
|
|
|
|
-function desEncrypt(word, keyCode) {
|
|
|
|
- var key = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
- var iv = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
- var srcs = CryptoJS.enc.Utf8.parse(word)
|
|
|
|
- var encrypted = CryptoJS.DES.encrypt(srcs, key, {
|
|
|
|
- iv: iv,
|
|
|
|
- mode: CryptoJS.mode.ECB
|
|
|
|
- })
|
|
|
|
- return encrypted.toString()
|
|
|
|
-}
|
|
|
|
-function desDecrypt(word, keyCode) {
|
|
|
|
- var key = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
- var iv = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
- var decrypt = CryptoJS.DES.decrypt(word, key, {
|
|
|
|
- iv: iv,
|
|
|
|
- mode: CryptoJS.mode.ECB
|
|
|
|
- })
|
|
|
|
- return CryptoJS.enc.Utf8.stringify(decrypt).toString()
|
|
|
|
-}
|
|
|
|
|
|
+ import {
|
|
|
|
+ getAction
|
|
|
|
+ } from '@/api/manage'
|
|
|
|
+ import {
|
|
|
|
+ JeecgListMixin
|
|
|
|
+ } from '@/mixins/JeecgListMixin'
|
|
|
|
+ import moment from 'moment'
|
|
|
|
+ import $ from 'jquery'
|
|
|
|
+ import qs from 'qs'
|
|
|
|
+ // document.write(textDes('https://ctop-media.oss-cn-beijing.aliyuncs.com/video/2020-03-20/20网服-1584693978588.mp4'))
|
|
|
|
+ // document.write('<br>' + desDecrypt('s4HMPbmUfZ0=', 'ckplayerDesKey'))
|
|
|
|
+ function textDes(str) {
|
|
|
|
+ var keyCode = 'ckplayerDesKey'
|
|
|
|
+ var newText = encodeURI(desEncrypt(str, keyCode))
|
|
|
|
+ newText = (keyCode == 'ckplayerDesKey' ? 'CK:' : 'CE:') + newText
|
|
|
|
+ return newText
|
|
|
|
+ }
|
|
|
|
|
|
-export default {
|
|
|
|
- name: 'online-training-list',
|
|
|
|
- mixins: [JeecgListMixin],
|
|
|
|
- data() {
|
|
|
|
- return {
|
|
|
|
- visibleDetail: false,
|
|
|
|
- srcList: '',
|
|
|
|
- timeList: [
|
|
|
|
- { label: '分类1', value: 1, show: true },
|
|
|
|
- { label: '分类2', value: 2, show: true },
|
|
|
|
- { label: '分类3', value: 3, show: true },
|
|
|
|
- { label: '分类4', value: 4, show: true },
|
|
|
|
- { label: '分类5', value: 5, show: true },
|
|
|
|
- { label: '分类6', value: 6, show: true },
|
|
|
|
- { label: '分类7', value: 7, show: true },
|
|
|
|
- { label: '分类8', value: 8, show: true }
|
|
|
|
- ],
|
|
|
|
- treeData: [
|
|
|
|
- { title: '巨量引擎', key: '巨量引擎' },
|
|
|
|
- { title: '快手大学', key: '快手大学' },
|
|
|
|
- { title: '系统操作', key: '系统操作' }
|
|
|
|
- ],
|
|
|
|
- videoObject: {
|
|
|
|
- width: '20%', // 宽度,也可以支持百分比(不过父元素宽度要有)
|
|
|
|
- height: 180, // 高度,也可以支持百分比
|
|
|
|
- container: '#videoPlay', //“#”代表容器的ID,“.”或“”代表容器的class
|
|
|
|
- variable: 'player', //该属性必需设置,值等于下面的new chplayer()的对象
|
|
|
|
- autoplay: false, //自动播放
|
|
|
|
- flashplayer: true, //强制使用flashplayer
|
|
|
|
- live: false,
|
|
|
|
- debug: true,
|
|
|
|
- loadNext: 10,
|
|
|
|
- usehardwareeecoder: true, //硬件加速
|
|
|
|
- video: textDes() //视频地址(必填)
|
|
|
|
- },
|
|
|
|
- videoObjectNot: {
|
|
|
|
- container: '#videoPlay', //“#”代表容器的ID,“.”或“”代表容器的class
|
|
|
|
- variable: 'player', //该属性必需设置,值等于下面的new chplayer()的对象
|
|
|
|
- autoplay: false,
|
|
|
|
- html5m3u8: true,
|
|
|
|
- debug: true,
|
|
|
|
- video: "" //视频地址
|
|
|
|
- },
|
|
|
|
- active: 1,
|
|
|
|
- data: [
|
|
|
|
- {
|
|
|
|
- title: '素材库-脚本库视频'
|
|
|
|
|
|
+ function desEncrypt(word, keyCode) {
|
|
|
|
+ var key = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
+ var iv = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
+ var srcs = CryptoJS.enc.Utf8.parse(word)
|
|
|
|
+ var encrypted = CryptoJS.DES.encrypt(srcs, key, {
|
|
|
|
+ iv: iv,
|
|
|
|
+ mode: CryptoJS.mode.ECB
|
|
|
|
+ })
|
|
|
|
+ return encrypted.toString()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function desDecrypt(word, keyCode) {
|
|
|
|
+ var key = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
+ var iv = CryptoJS.enc.Utf8.parse(keyCode)
|
|
|
|
+ var decrypt = CryptoJS.DES.decrypt(word, key, {
|
|
|
|
+ iv: iv,
|
|
|
|
+ mode: CryptoJS.mode.ECB
|
|
|
|
+ })
|
|
|
|
+ return CryptoJS.enc.Utf8.stringify(decrypt).toString()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ export default {
|
|
|
|
+ name: 'online-training-list',
|
|
|
|
+ mixins: [JeecgListMixin],
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ visibleDetail: false,
|
|
|
|
+ srcList: '',
|
|
|
|
+ timeList: [{
|
|
|
|
+ label: '分类1',
|
|
|
|
+ value: 1,
|
|
|
|
+ show: true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '分类2',
|
|
|
|
+ value: 2,
|
|
|
|
+ show: true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '分类3',
|
|
|
|
+ value: 3,
|
|
|
|
+ show: true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '分类4',
|
|
|
|
+ value: 4,
|
|
|
|
+ show: true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '分类5',
|
|
|
|
+ value: 5,
|
|
|
|
+ show: true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '分类6',
|
|
|
|
+ value: 6,
|
|
|
|
+ show: true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '分类7',
|
|
|
|
+ value: 7,
|
|
|
|
+ show: true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '分类8',
|
|
|
|
+ value: 8,
|
|
|
|
+ show: true
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ treeData: [{
|
|
|
|
+ title: '巨量引擎',
|
|
|
|
+ key: '巨量引擎'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '快手大学',
|
|
|
|
+ key: '快手大学'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '汇创视频培训',
|
|
|
|
+ key: '汇创视频培训'
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ videoObject: {
|
|
|
|
+ width: '20%', // 宽度,也可以支持百分比(不过父元素宽度要有)
|
|
|
|
+ height: 180, // 高度,也可以支持百分比
|
|
|
|
+ container: '#videoPlay', //“#”代表容器的ID,“.”或“”代表容器的class
|
|
|
|
+ variable: 'player', //该属性必需设置,值等于下面的new chplayer()的对象
|
|
|
|
+ autoplay: false, //自动播放
|
|
|
|
+ flashplayer: true, //强制使用flashplayer
|
|
|
|
+ live: false,
|
|
|
|
+ debug: true,
|
|
|
|
+ loadNext: 10,
|
|
|
|
+ usehardwareeecoder: true, //硬件加速
|
|
|
|
+ video: textDes() //视频地址(必填)
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '素材库-脚本库文档'
|
|
|
|
|
|
+ videoObjectNot: {
|
|
|
|
+ container: '#videoPlay', //“#”代表容器的ID,“.”或“”代表容器的class
|
|
|
|
+ variable: 'player', //该属性必需设置,值等于下面的new chplayer()的对象
|
|
|
|
+ autoplay: false,
|
|
|
|
+ html5m3u8: true,
|
|
|
|
+ debug: true,
|
|
|
|
+ video: "" //视频地址
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '素材库-视频库操作视频'
|
|
|
|
|
|
+ active: 1,
|
|
|
|
+ data: [{
|
|
|
|
+ title: '素材库-脚本库视频'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '素材库-脚本库文档'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '素材库-视频库操作视频'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '素材库-视频库操作文档'
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ url: {
|
|
|
|
+ list: '/ctop/materialInfo/list'
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '素材库-视频库操作文档'
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- url: {
|
|
|
|
- list: '/ctop/materialInfo/list'
|
|
|
|
- },
|
|
|
|
- startList: true,
|
|
|
|
- simpleMode: false,
|
|
|
|
- course: null
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- components: {},
|
|
|
|
- methods: {
|
|
|
|
- onLoadData(treeNode) {
|
|
|
|
- console.log(treeNode)
|
|
|
|
- return new Promise(resolve => {
|
|
|
|
- if (treeNode.eventKey == '巨量引擎') {
|
|
|
|
- getAction('/ctop/edu/ocean/lesson').then(res => {
|
|
|
|
- if (res.success) {
|
|
|
|
- treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
- if (item) {
|
|
|
|
- return { title: item, key: item + '@juliang' }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- resolve()
|
|
|
|
- this.treeData = [...this.treeData]
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- } else if (treeNode.eventKey == '快手大学') {
|
|
|
|
- getAction('/ctop/edu/kuaishou/lesson').then(res => {
|
|
|
|
- if (res.success) {
|
|
|
|
- treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
- if (item) {
|
|
|
|
- return { title: item, key: item + '@kuaishou' }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- resolve()
|
|
|
|
- this.treeData = [...this.treeData]
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- } else if (treeNode.eventKey == '系统操作') {
|
|
|
|
- getAction('/ctop/edu/system/lesson').then(res => {
|
|
|
|
- if (res.success) {
|
|
|
|
- treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
- if (item) {
|
|
|
|
- return { title: item, key: item + '@system' }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- resolve()
|
|
|
|
- this.treeData = [...this.treeData]
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- return
|
|
|
|
- } else if (treeNode.eventKey.split('@').length == 2) {
|
|
|
|
- var data = treeNode.eventKey.split('@')
|
|
|
|
- if (data[1] == 'juliang') {
|
|
|
|
- getAction('/ctop/edu/ocean/topic', { title: data[0] }).then(res => {
|
|
|
|
|
|
+ startList: true,
|
|
|
|
+ simpleMode: false,
|
|
|
|
+ course: null
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ components: {},
|
|
|
|
+ methods: {
|
|
|
|
+ onLoadData(treeNode) {
|
|
|
|
+ console.log(treeNode)
|
|
|
|
+ return new Promise(resolve => {
|
|
|
|
+ if (treeNode.eventKey == '巨量引擎') {
|
|
|
|
+ getAction('/ctop/edu/ocean/lesson').then(res => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
treeNode.dataRef.children = res.result.map(item => {
|
|
treeNode.dataRef.children = res.result.map(item => {
|
|
- return { title: item, key: item + '@juliang@' + data[0] }
|
|
|
|
|
|
+ if (item) {
|
|
|
|
+ return {
|
|
|
|
+ title: item,
|
|
|
|
+ key: item + '@juliang'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
})
|
|
})
|
|
resolve()
|
|
resolve()
|
|
this.treeData = [...this.treeData]
|
|
this.treeData = [...this.treeData]
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- } else if(data[1] == 'kuaishou'){
|
|
|
|
- getAction('/ctop/edu/kuaishou/topic', { title: data[0] }).then(res => {
|
|
|
|
|
|
+ } else if (treeNode.eventKey == '快手大学') {
|
|
|
|
+ getAction('/ctop/edu/kuaishou/lesson').then(res => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
treeNode.dataRef.children = res.result.map(item => {
|
|
treeNode.dataRef.children = res.result.map(item => {
|
|
- return { title: item, key: item + '@kuaishou@' + data[0] }
|
|
|
|
|
|
+ if (item) {
|
|
|
|
+ return {
|
|
|
|
+ title: item,
|
|
|
|
+ key: item + '@kuaishou'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
})
|
|
})
|
|
resolve()
|
|
resolve()
|
|
this.treeData = [...this.treeData]
|
|
this.treeData = [...this.treeData]
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- }else if(data[1] == 'system'){
|
|
|
|
- getAction('/ctop/edu/system/topic', { title: data[0] }).then(res => {
|
|
|
|
|
|
+ } else if (treeNode.eventKey == '汇创视频培训') {
|
|
|
|
+ getAction('/ctop/edu/system/lesson').then(res => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
treeNode.dataRef.children = res.result.map(item => {
|
|
treeNode.dataRef.children = res.result.map(item => {
|
|
- return { title: item, key: item + '@system@' + data[0] }
|
|
|
|
|
|
+ if (item) {
|
|
|
|
+ return {
|
|
|
|
+ title: item,
|
|
|
|
+ key: item + '@system'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ resolve()
|
|
|
|
+ this.treeData = [...this.treeData]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ return
|
|
|
|
+ } else if (treeNode.eventKey.split('@').length == 2) {
|
|
|
|
+ var data = treeNode.eventKey.split('@')
|
|
|
|
+ if (data[1] == 'juliang') {
|
|
|
|
+ getAction('/ctop/edu/ocean/topic', {
|
|
|
|
+ title: data[0]
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.success) {
|
|
|
|
+ treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
+ return {
|
|
|
|
+ title: item,
|
|
|
|
+ key: item + '@juliang@' + data[0]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ resolve()
|
|
|
|
+ this.treeData = [...this.treeData]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else if (data[1] == 'kuaishou') {
|
|
|
|
+ getAction('/ctop/edu/kuaishou/topic', {
|
|
|
|
+ title: data[0]
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.success) {
|
|
|
|
+ treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
+ return {
|
|
|
|
+ title: item,
|
|
|
|
+ key: item + '@kuaishou@' + data[0]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ resolve()
|
|
|
|
+ this.treeData = [...this.treeData]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else if (data[1] == 'system') {
|
|
|
|
+ getAction('/ctop/edu/system/topic', {
|
|
|
|
+ title: data[0]
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.success) {
|
|
|
|
+ treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
+ return {
|
|
|
|
+ title: item,
|
|
|
|
+ key: item + '@system@' + data[0]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ resolve()
|
|
|
|
+ this.treeData = [...this.treeData]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ } else if (treeNode.eventKey.split('@').length == 3) {
|
|
|
|
+ var data = treeNode.eventKey.split('@')
|
|
|
|
+ getAction('/ctop/edu/lesson/list', {
|
|
|
|
+ media: data[1] == 'juliang' ? '巨量引擎' : data[1] == 'kuaishou' ? '快手大学' : '汇创视频培训',
|
|
|
|
+ title: data[2],
|
|
|
|
+ topic: data[0]
|
|
|
|
+ }).then(res => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ if (res.success) {
|
|
|
|
+ treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
+ return {
|
|
|
|
+ title: item.name,
|
|
|
|
+ key: item.id,
|
|
|
|
+ isLeaf: true
|
|
|
|
+ }
|
|
})
|
|
})
|
|
resolve()
|
|
resolve()
|
|
this.treeData = [...this.treeData]
|
|
this.treeData = [...this.treeData]
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- } else if (treeNode.eventKey.split('@').length == 3) {
|
|
|
|
- var data = treeNode.eventKey.split('@')
|
|
|
|
- getAction('/ctop/edu/lesson/list', {
|
|
|
|
- media: data[1] == 'juliang' ? '巨量引擎' :data[1] == 'kuaishou'? '快手大学':'系统操作',
|
|
|
|
- title: data[2],
|
|
|
|
- topic: data[0]
|
|
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ onSelect(keys, event) {
|
|
|
|
+ console.log(keys)
|
|
|
|
+ if (event.node.isLeaf) {
|
|
|
|
+ getAction('/ctop/edu/detail', {
|
|
|
|
+ id: keys[0]
|
|
}).then(res => {
|
|
}).then(res => {
|
|
console.log(res)
|
|
console.log(res)
|
|
if (res.success) {
|
|
if (res.success) {
|
|
- treeNode.dataRef.children = res.result.map(item => {
|
|
|
|
- return { title: item.name, key: item.id, isLeaf: true }
|
|
|
|
- })
|
|
|
|
- resolve()
|
|
|
|
- this.treeData = [...this.treeData]
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- onSelect(keys, event) {
|
|
|
|
- console.log(keys)
|
|
|
|
- if (event.node.isLeaf) {
|
|
|
|
- getAction('/ctop/edu/detail', { id: keys[0] }).then(res => {
|
|
|
|
- console.log(res)
|
|
|
|
- if (res.success) {
|
|
|
|
- this.course = res.result
|
|
|
|
- if (res.result.fileType == 1) {
|
|
|
|
- this.startList = false
|
|
|
|
- // var videoObject = null
|
|
|
|
- // var isChrome = window.navigator.userAgent.indexOf('Chrome') !== -1 //不同的浏览器显示方式不一样, 不是chrome的浏览器需要使用hls.js这个文件
|
|
|
|
- // if (isChrome) {
|
|
|
|
- // videoObject = this.videoObject
|
|
|
|
- // } else {
|
|
|
|
- // videoObject = this.videoObjectNot
|
|
|
|
- // }
|
|
|
|
- if (res.result.fileId) {
|
|
|
|
- this.videoObject.video = textDes('https://aweme.snssdk.com/aweme/v1/playwm/?video_id=' + res.result.fileId + '&line=0')
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ this.course = res.result
|
|
|
|
+ if (res.result.fileType == 1) {
|
|
|
|
+ this.startList = false
|
|
|
|
+ // var videoObject = null
|
|
|
|
+ // var isChrome = window.navigator.userAgent.indexOf('Chrome') !== -1 //不同的浏览器显示方式不一样, 不是chrome的浏览器需要使用hls.js这个文件
|
|
|
|
+ // if (isChrome) {
|
|
|
|
+ // videoObject = this.videoObject
|
|
|
|
+ // } else {
|
|
|
|
+ // videoObject = this.videoObjectNot
|
|
|
|
+ // }
|
|
|
|
+ if (res.result.fileId) {
|
|
|
|
+ this.videoObject.video = textDes('https://aweme.snssdk.com/aweme/v1/playwm/?video_id=' + res
|
|
|
|
+ .result.fileId + '&line=0')
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ this.videoObject.video = textDes(res.result.fileUrl)
|
|
|
|
+ }
|
|
|
|
+ console.log(this.videoObject.video)
|
|
|
|
+
|
|
|
|
+ let player = new ckplayer(this.videoObject)
|
|
|
|
+ console.log(player)
|
|
} else {
|
|
} else {
|
|
- this.videoObject.video = textDes(res.result.fileUrl)
|
|
|
|
|
|
+ this.startList = true
|
|
|
|
+ getAction('http://www.ljserver.cn:8088/v1/api/file/getViewUrlWebPath', {
|
|
|
|
+ fileUrl: decodeURI(res.result.ossFileUrl)
|
|
|
|
+ }).then(resF => {
|
|
|
|
+ console.log(resF)
|
|
|
|
+ let r = resF.data
|
|
|
|
+ sessionStorage.wpsUrl = r.wpsUrl
|
|
|
|
+ sessionStorage.token = r.token
|
|
|
|
+ this.openWps(r.wpsUrl, r.token, res.result.fileType)
|
|
|
|
+ })
|
|
}
|
|
}
|
|
- console.log(this.videoObject.video)
|
|
|
|
-
|
|
|
|
- let player = new ckplayer(this.videoObject)
|
|
|
|
- console.log(player)
|
|
|
|
- } else {
|
|
|
|
- this.startList = true
|
|
|
|
- getAction('http://www.ljserver.cn:8088/v1/api/file/getViewUrlWebPath', {
|
|
|
|
- fileUrl: decodeURI(res.result.ossFileUrl)
|
|
|
|
- }).then(resF => {
|
|
|
|
- console.log(resF)
|
|
|
|
- let r = resF.data
|
|
|
|
- sessionStorage.wpsUrl = r.wpsUrl
|
|
|
|
- sessionStorage.token = r.token
|
|
|
|
- this.openWps(r.wpsUrl, r.token, res.result.fileType)
|
|
|
|
- })
|
|
|
|
}
|
|
}
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ openWps(url, token, type) {
|
|
|
|
+ let _this = this
|
|
|
|
+ console.log(url)
|
|
|
|
+ const wps = WebOfficeSDK.config({
|
|
|
|
+ mode: _this.simpleMode ? 'simple' : 'normal',
|
|
|
|
+ mount: document.querySelector('#iframeData'),
|
|
|
|
+ wpsUrl: url,
|
|
|
|
+ commonOptions: {
|
|
|
|
+ isShowTopArea: false // 隐藏顶部区域(头部和工具栏)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- } else {
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- openWps(url, token, type) {
|
|
|
|
- let _this = this
|
|
|
|
- console.log(url)
|
|
|
|
- const wps = WebOfficeSDK.config({
|
|
|
|
- mode: _this.simpleMode ? 'simple' : 'normal',
|
|
|
|
- mount: document.querySelector('#iframeData'),
|
|
|
|
- wpsUrl: url,
|
|
|
|
- commonOptions: {
|
|
|
|
- isShowTopArea: false // 隐藏顶部区域(头部和工具栏)
|
|
|
|
|
|
+ // 2:pdf
|
|
|
|
+ // 3:ppt
|
|
|
|
+ wps.setToken({
|
|
|
|
+ token: token
|
|
|
|
+ })
|
|
|
|
+ if (type == 2) {
|
|
|
|
+ wps.PPTApplication
|
|
|
|
+ } else if (type == 3) {
|
|
|
|
+ wps.PDFApplication
|
|
|
|
+ } else {
|
|
|
|
+ wps.Application
|
|
}
|
|
}
|
|
- })
|
|
|
|
- // 2:pdf
|
|
|
|
- // 3:ppt
|
|
|
|
- wps.setToken({ token: token })
|
|
|
|
- if (type == 2) {
|
|
|
|
- wps.PPTApplication
|
|
|
|
- } else if (type == 3) {
|
|
|
|
- wps.PDFApplication
|
|
|
|
- } else {
|
|
|
|
- wps.Application
|
|
|
|
- }
|
|
|
|
|
|
|
|
- wps.iframe.height = '800px'
|
|
|
|
- },
|
|
|
|
- onExpand() {
|
|
|
|
- console.log('Trigger Expand')
|
|
|
|
- },
|
|
|
|
- getDataSource(page, pageSize) {
|
|
|
|
- this.ipagination.current = page
|
|
|
|
- this.loadData()
|
|
|
|
- },
|
|
|
|
- getAdd(checked) {
|
|
|
|
- this.active = checked
|
|
|
|
- if (checked == 5) {
|
|
|
|
- this.data = []
|
|
|
|
- } else {
|
|
|
|
- this.data = [
|
|
|
|
- {
|
|
|
|
- title: 'Title 1'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: 'Title 2'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: 'Title 3'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: 'Title 4'
|
|
|
|
|
|
+ wps.iframe.height = '800px'
|
|
|
|
+ },
|
|
|
|
+ onExpand() {
|
|
|
|
+ console.log('Trigger Expand')
|
|
|
|
+ },
|
|
|
|
+ getDataSource(page, pageSize) {
|
|
|
|
+ this.ipagination.current = page
|
|
|
|
+ this.loadData()
|
|
|
|
+ },
|
|
|
|
+ getAdd(checked) {
|
|
|
|
+ this.active = checked
|
|
|
|
+ if (checked == 5) {
|
|
|
|
+ this.data = []
|
|
|
|
+ } else {
|
|
|
|
+ this.data = [{
|
|
|
|
+ title: 'Title 1'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: 'Title 2'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: 'Title 3'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: 'Title 4'
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ lookDetail(item) {
|
|
|
|
+ this.visibleDetail = true
|
|
|
|
+ },
|
|
|
|
+ openFile() {
|
|
|
|
+ getAction('http://www.ljserver.cn:8088/v1/api/file/getViewUrlWebPath', {
|
|
|
|
+ fileUrl: 'https://ctop-media.oss-cn-beijing.aliyuncs.com/zixingche.docx'
|
|
|
|
+ }).then(res => {
|
|
|
|
+ console.log(res.data.wpsUrl)
|
|
|
|
+ window.open(res.data.wpsUrl, '_blank')
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ getDirectory() {
|
|
|
|
+ getAction('/ctop/edu/kuaishou/lesson').then(res => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+ getAction('/ctop/edu/kuaishou/topic', {
|
|
|
|
+ title: '新代理入门培训'
|
|
|
|
+ }).then(res => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+ getAction('/ctop/edu/ocean/lesson').then(res => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+ getAction('/ctop/edu/ocean/topic', {
|
|
|
|
+ title: '初级认证I类课程'
|
|
|
|
+ }).then(res => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ getAction('/ctop/edu/lesson/list', {
|
|
|
|
+ media: '快手大学',
|
|
|
|
+ title: '新代理入门培训',
|
|
|
|
+ topic: '入门培训'
|
|
|
|
+ }).then(
|
|
|
|
+ res => {
|
|
|
|
+ console.log(res)
|
|
}
|
|
}
|
|
- ]
|
|
|
|
|
|
+ )
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- lookDetail(item) {
|
|
|
|
- this.visibleDetail = true
|
|
|
|
- },
|
|
|
|
- openFile() {
|
|
|
|
- getAction('http://www.ljserver.cn:8088/v1/api/file/getViewUrlWebPath', {
|
|
|
|
- fileUrl: 'https://ctop-media.oss-cn-beijing.aliyuncs.com/zixingche.docx'
|
|
|
|
- }).then(res => {
|
|
|
|
- console.log(res.data.wpsUrl)
|
|
|
|
- window.open(res.data.wpsUrl, '_blank')
|
|
|
|
|
|
+ mounted() {
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ this.videoObject.video = " CK:2OoC8kA6lhNFqCi2uVquDPpnuq9VcRji9nGXe5nqadA6Jey7YFFEP8pE99j58UBbLyb7YN7cpkw="
|
|
|
|
+
|
|
|
|
+ let player = new ckplayer(this.videoObject)
|
|
|
|
+
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- getDirectory() {
|
|
|
|
- getAction('/ctop/edu/kuaishou/lesson').then(res => {
|
|
|
|
- console.log(res)
|
|
|
|
- })
|
|
|
|
- getAction('/ctop/edu/kuaishou/topic', { title: '新代理入门培训' }).then(res => {
|
|
|
|
- console.log(res)
|
|
|
|
- })
|
|
|
|
- getAction('/ctop/edu/ocean/lesson').then(res => {
|
|
|
|
- console.log(res)
|
|
|
|
- })
|
|
|
|
- getAction('/ctop/edu/ocean/topic', { title: '初级认证I类课程' }).then(res => {
|
|
|
|
- console.log(res)
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
- getAction('/ctop/edu/lesson/list', { media: '快手大学', title: '新代理入门培训', topic: '入门培训' }).then(
|
|
|
|
- res => {
|
|
|
|
- console.log(res)
|
|
|
|
- }
|
|
|
|
- )
|
|
|
|
|
|
+ created() {
|
|
|
|
+ // console.log(player)
|
|
|
|
+ // /modules/onlineTraining/onlineTrainingList
|
|
}
|
|
}
|
|
- },
|
|
|
|
- mounted() {
|
|
|
|
- this.$nextTick(() => {
|
|
|
|
- this.videoObject.video = " CK:2OoC8kA6lhNFqCi2uVquDPpnuq9VcRji9nGXe5nqadA6Jey7YFFEP8pE99j58UBbLyb7YN7cpkw="
|
|
|
|
-
|
|
|
|
- let player = new ckplayer(this.videoObject)
|
|
|
|
-
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- created() {
|
|
|
|
- // console.log(player)
|
|
|
|
- // /modules/onlineTraining/onlineTrainingList
|
|
|
|
}
|
|
}
|
|
-}
|
|
|
|
-</script>
|
|
|
|
|
|
+</script>
|