| | |
| | | dialogKey: false, |
| | | style: 'border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx;', |
| | | activeId: '', |
| | | storeInfo: '', |
| | | bookId: '', |
| | | bookName: '', |
| | | cmsId: '', |
| | |
| | | pauseTime: 0, //暂停时间 |
| | | formPath: '', |
| | | loading: true, |
| | | hidden: true |
| | | hidden: true, |
| | | playerList: [], |
| | | progress: 0, |
| | | }, |
| | | // // 时间格式化 |
| | | // format(t) { |
| | | // let time = Math.floor(t / 60) >= 10 ? Math.floor(t / 60) : '0' + Math.floor(t / 60); |
| | | // t = time + ':' + ((t % 60) / 100).toFixed(2).slice(-2); |
| | | // return t; |
| | | // }, |
| | | |
| | | |
| | | // 转化时间 |
| | | format(time) { |
| | | |
| | | let minute = Math.floor(time / 60); |
| | | let second = Math.floor(time % 60); |
| | | minute = minute < 10 ? ("0" + minute) : minute; |
| | | second = second < 10 ? ("0" + second) : second; |
| | | let res = minute + ":" + second; |
| | | return res; |
| | | let second = Math.round(time % 60); |
| | | let minuteStr = minute < 10 ? "0" + minute : "" + minute; |
| | | let secondStr = second < 10 ? "0" + second : "" + second; |
| | | return minuteStr + ":" + secondStr; |
| | | }, |
| | | |
| | | audio: null, |
| | | // 格式化笔记时间 |
| | | convertTimestamp(timestamp) { |
| | |
| | | return formattedDate |
| | | }, |
| | | |
| | | |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | |
| | | console.log(options); |
| | | wx.setNavigationBarTitle({ |
| | | |
| | | title: '资源详情-音频' |
| | | |
| | | }); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | const systInfo = wx.getSystemInfoSync(); |
| | | const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 |
| | | const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度 |
| | |
| | | navBarHeight: navBarHeight, |
| | | barHeight: systInfo.statusBarHeight, |
| | | activeId: options.activeId, |
| | | storeInfo: options.storeInfo, |
| | | bookId: options.bookId, |
| | | bookName: options.bookName, |
| | | cmsId: options.cmsId, |
| | |
| | | parentName: options.parentName, |
| | | }) |
| | | } |
| | | const token = wx.getStorageSync(app.config.tokenKey) |
| | | if (!token) { |
| | | loginInfo(app, (data) => { |
| | | if (data) {} else {} |
| | | }) |
| | | } |
| | | this.resourceDetailsData() |
| | | this.getNoteList() |
| | | console.log(options, 'options'); |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面初次渲染完成 |
| | | * |
| | | */ |
| | | onReady() { |
| | | |
| | | |
| | | }, |
| | | onReady() {}, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面显示 |
| | |
| | | let duration = this.data.pauseTime - this.data.startTime |
| | | this.count(duration) |
| | | } |
| | | this.setPlayerList() |
| | | }, |
| | | |
| | | /** |
| | |
| | | myAudio.stop(); |
| | | // 销毁 InnerAudioContext 实例 |
| | | // myAudio.destroy(); |
| | | this.setPlayerList() |
| | | }, |
| | | count(timeStr) { |
| | | const data = { |
| | |
| | | onShareAppMessage() { |
| | | |
| | | }, |
| | | onTabsChange(event) { |
| | | onTabsChange(event) {}, |
| | | |
| | | }, |
| | | |
| | | onTabsClick(event) { |
| | | |
| | | }, |
| | | onTabsClick(event) {}, |
| | | handleChange(e) { |
| | | this.setData({ |
| | | activeValues: e.detail.value, |
| | | }); |
| | | }, |
| | | onTakeNotes() { |
| | | |
| | | }, |
| | | onTakeNotes() {}, |
| | | showDialog(e) { |
| | | this.setData({ |
| | | submitTitle: this.data.titleName, |
| | |
| | | jsek_resourceBrief: [], |
| | | jsek_link: [], |
| | | jsek_questionBank: [], |
| | | learnSelectType: [], |
| | | learnSelectType: [] |
| | | }, |
| | | pading: { |
| | |
| | | size: 999 |
| | | } |
| | | } |
| | | |
| | | if (this.data.storeInfo) { |
| | | query.storeInfo = this.data.storeInfo |
| | | } |
| | | app.MG.store.getProductDetail(query).then(res => { |
| | | let selectedId = -1; // 初始化选中项索引 |
| | | let showDataUrl = ''; |
| | |
| | | this.data.threeLeveData.push(item); |
| | | } |
| | | }); |
| | | // console.log(this.data.threeLeveData); |
| | | this.data.threeLeveData.forEach((items, indexs) => { |
| | | if (this.data.productLinkPath == items.productLinkPath) { |
| | | selectedId = indexs; |
| | | |
| | | } |
| | | }) |
| | | if (selectedId !== -1) { |
| | | let datas = this.data.threeLeveData[selectedId]; |
| | | |
| | | if (this.data.formPath == 'jsek_cloudLearning') { |
| | | showDataUrl = app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + datas.protectedFile + '&token=' + wx.getStorageSync(app.config.tokenKey); |
| | | let file = datas.protectedFile ? datas.protectedFile : datas.file |
| | | showDataUrl = app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey); |
| | | } else { |
| | | console.log(datas); |
| | | showDataUrl = datas.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.freeFile |
| | | } |
| | | titleName = datas.name; |
| | |
| | | hidden: false |
| | | }); |
| | | this.pubulicPlayFun(); |
| | | |
| | | }); |
| | | }, |
| | | |
| | | onVideo(e) { |
| | | // myAudio.destroy(); |
| | | |
| | | this.setPlayerList() |
| | | this.setData({ |
| | | myAudioCurrent: '00:00', |
| | | myAudioPos: '', |
| | | isplay: false |
| | | }) |
| | | |
| | | const item = e.currentTarget.dataset.item |
| | | console.log(item, 222) |
| | | if (this.data.showData != '') { |
| | | this.setData({ |
| | | titleName: item.name, |
| | | selectId: item.id, |
| | | selectedId: e.currentTarget.dataset.index, |
| | | showData: '' |
| | | }) |
| | | showData: '', |
| | | activeId: item.id |
| | | |
| | | }) |
| | | if (item.selectType == "audio" || item.learnSelectType === "audio") { |
| | | if (this.data.formPath == 'jsek_cloudLearning') { |
| | | let file = item.protectedFile ? item.protectedFile : item.file |
| | | // 这里处理云学习的 |
| | | this.setData({ |
| | | showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + item.protectedFile + '&token=' + wx.getStorageSync(app.config.tokenKey) |
| | | showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey) |
| | | }) |
| | | this.pubulicPlayFun() |
| | | |
| | | } else { |
| | | console.log(item.file, 'item.file'); |
| | | console.log(item.freeFile, 'item.freeFile'); |
| | | |
| | | this.setData({ |
| | | showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile |
| | | }) |
| | | this.pubulicPlayFun() |
| | | console.log(this.data.showData, 'showData'); |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | productId: this.data.bookId, |
| | | appRefCode: app.config.appRefCode |
| | | }).then((res) => { |
| | | // console.log(res); |
| | | this.setData({ |
| | | topicId: res.id |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | |
| | | newTopicMessageGet() { |
| | | let query = { |
| | |
| | | newDataListRequest: [] |
| | | } |
| | | app.MG.ugc.newTopicMessage(query).then(res => { |
| | | // console.log(res); |
| | | |
| | | }) |
| | | }, |
| | | |
| | | // 标题改变 |
| | | changeTitle(e) { |
| | | // console.log(e.currentTarget.dataset.value); |
| | | this.setData({ |
| | | flag: e.currentTarget.dataset.value |
| | | }) |
| | |
| | | } else if (this.data.submitType == 'edit') { |
| | | this.updateNote() |
| | | } |
| | | // console.log(this.data.textvalue); |
| | | // console.log(this.data.titleName); |
| | | |
| | | this.setData({ |
| | | dialogKey: false |
| | | }); |
| | |
| | | this.getNoteList() |
| | | |
| | | }, |
| | | onTextarea() { |
| | | // console.log(this.data.textvalue); |
| | | }, |
| | | onTextarea() {}, |
| | | textareaChange(e) { |
| | | this.setData({ |
| | | textvalue: e.detail.value |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 获取笔记列表 |
| | | async getNoteList() { |
| | |
| | | this.setData({ |
| | | "pageCount.total": res.totalSize, |
| | | noteList: res.datas, |
| | | // loading: false |
| | | }) |
| | | // console.log('笔记列表', res.datas); |
| | | |
| | | }) |
| | | }, |
| | | // 编辑按钮 |
| | |
| | | noteId: note.id, |
| | | dialogKey: true, |
| | | }) |
| | | console.log(this.data.submitTitle); |
| | | |
| | | // this.showDialog() |
| | | }, |
| | | |
| | |
| | | }, |
| | | // 新建笔记接口 |
| | | async makeNote() { |
| | | // const token = wx.getStorageSync('jsek-token') |
| | | // if (!token) { |
| | | // return wx.getUserProfile({ |
| | | // desc: '用户登录', |
| | | // success: (res) => { |
| | | // // console.log(res); |
| | | // } |
| | | // }) |
| | | // } |
| | | let topicId |
| | | await app.MG.ugc |
| | | .getProductUserSubmitTopic({ |
| | |
| | | }, |
| | | // 播放公共代码 |
| | | pubulicPlayFun() { |
| | | |
| | | // debugger |
| | | console.log(myAudio.src, 'myAudio.src'); |
| | | console.log(this.data.showData, 'this.data.showData'); |
| | | this.setData({ |
| | | speed: 1.0, |
| | | }) |
| | | myAudio.playbackRate = this.data.speed; |
| | | |
| | | myAudio.src = this.data.showData |
| | | |
| | | // console.log(myAudio.src); |
| | | // 在onCanplay里获取并设置音频时长和播放进度 |
| | | myAudio.onCanplay(() => { |
| | | |
| | | |
| | | |
| | | myAudio.duration; //必须写,不然获取不到 |
| | | setTimeout(() => { |
| | | // 要初始化音频的时间 |
| | | // myAudio.startTime = myAudio.currentTime //开始时间 |
| | | this.setData({ |
| | | myAudioDuration: this.format(myAudio.duration), |
| | | myAudioCurrent: this.format(myAudio.currentTime) |
| | |
| | | }, 100); |
| | | }); |
| | | |
| | | console.log(this.data.myAudioDuration); |
| | | console.log(this.data.myAudioCurrent); |
| | | |
| | | //播放事件 |
| | | myAudio.play(); |
| | | |
| | | // 播放完成处理,按钮变一下 |
| | | myAudio.onEnded((res) => { |
| | | this.setData({ |
| | | isplay: true |
| | | speed: 1.0, |
| | | }) |
| | | }); |
| | | myAudio.playbackRate = this.data.speed; |
| | | this.setData({ |
| | | isplay: true, |
| | | myAudioCurrent: '00:00', |
| | | myAudioPos: '', |
| | | }) |
| | | |
| | | |
| | | |
| | | }); |
| | | |
| | | //进度条变化 |
| | | myAudio.onTimeUpdate(() => { |
| | | // console.log(this.format(myAudio.duration)); |
| | | myAudio.startTime = 0 |
| | | this.setData({ |
| | | myAudioPos: myAudio.currentTime / myAudio.duration * 100, |
| | | myAudioCurrent: this.format(myAudio.currentTime), |
| | | myAudioDuration: this.format(myAudio.duration), |
| | | |
| | | progress: ((myAudio.currentTime / myAudio.duration) * 100).toFixed(2) |
| | | }); |
| | | // console.log(myAudio.currentTime.toFixed(3), myAudio.duration); |
| | | }) |
| | | console.log(this.data.myAudioCurrent); |
| | | console.log(this.data.myAudioDuration); |
| | | console.log(this.data.myAudioPos); |
| | | |
| | | |
| | | myAudio.play(); |
| | | }, |
| | | |
| | | |
| | | //播放 |
| | | play() { |
| | |
| | | isplay: true |
| | | }); |
| | | }, |
| | | |
| | | |
| | | //右切换 |
| | | onLeftSwitch() { |
| | |
| | | speed: 1.0, |
| | | myAudioCurrent: '00:00' |
| | | }) |
| | | console.log('右切换'); |
| | | const index = this.data.threeLeveData.findIndex((item) => item.id == this.data.selectId) |
| | | if (this.data.threeLeveData[index + 1]) { |
| | | this.changeItem(this.data.threeLeveData[index + 1]) |
| | |
| | | |
| | | // 左右切换 |
| | | changeItem(item) { |
| | | console.log(item); |
| | | |
| | | if (this.data.showData != '') { |
| | | this.setData({ |
| | | showData: '' |
| | |
| | | } |
| | | |
| | | setTimeout(() => { |
| | | console.log(this.data.speed, 'this.data.speed'); |
| | | |
| | | myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.playbackRate = this.data.speed; // 播放速率 |
| | | }, 200); |
| | |
| | | this.setData({ |
| | | myAudioPos: position, |
| | | myAudioCurrent: this.format(currentTime) |
| | | |
| | | }) |
| | | }, |
| | | |
| | | |
| | | toggleDropdown() { |
| | | this.setData({ |
| | | showDropdown: !this.data.showDropdown |
| | | }); |
| | | |
| | | }, |
| | | smallSpeed() { |
| | | this.setData({ |
| | |
| | | showDropdown: !this.data.showDropdown |
| | | }) |
| | | setTimeout(() => { |
| | | // myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.playbackRate = this.data.speed; // 播放速率 |
| | | }, 200); |
| | | }, |
| | |
| | | showDropdown: !this.data.showDropdown |
| | | }) |
| | | setTimeout(() => { |
| | | // myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.playbackRate = this.data.speed; // 播放速率 |
| | | }, 200); |
| | | }, |
| | |
| | | showDropdown: !this.data.showDropdown |
| | | }) |
| | | setTimeout(() => { |
| | | // myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.playbackRate = this.data.speed; // 播放速率 |
| | | }, 200); |
| | | }, |
| | |
| | | showDropdown: !this.data.showDropdown |
| | | }) |
| | | setTimeout(() => { |
| | | // myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.playbackRate = this.data.speed; // 播放速率 |
| | | }, 200); |
| | | }, |
| | | // 云学习处理已购买正式文件 |
| | | handleFile() { |
| | | console.log(1111); |
| | | //获取音频学习 |
| | | getPlayerList() { |
| | | app.MG.identity |
| | | .getUserKey({ |
| | | domain: 'videoPlayer', |
| | | keys: [this.data.bookId] |
| | | }) |
| | | .then((res) => { |
| | | if (res.length > 0) { |
| | | this.setData({ |
| | | playerList: JSON.parse(res[0].value) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | // 云学习试看处理 |
| | | handleFreeFile() { |
| | | console.log(2222); |
| | | setPlayerList() { |
| | | let that = this |
| | | if (that.data.progress > 0) { |
| | | let index = that.data.playerList.findIndex((itemData) => itemData.cmsItemId == that.data.selectId) |
| | | if (index > -1) { |
| | | that.data.playerList.splice(index, 1) |
| | | } |
| | | that.data.playerList.push({ |
| | | cmsItemId: that.data.selectId, |
| | | progress: that.data.progress |
| | | }) |
| | | app.MG.identity |
| | | .setUserKey({ |
| | | setKeyRequests: [{ |
| | | domain: 'videoPlayer', |
| | | key: that.data.bookId, |
| | | value: JSON.stringify(that.data.playerList) |
| | | }] |
| | | }) |
| | | .then((res) => {}) |
| | | } |
| | | }, |
| | | // 判断资源是否购买 |
| | | resourceIsBuy() { |
| | | console.log(333); |
| | | } |
| | | }) |