| | |
| | | noteList: [], |
| | | navBarHeight: '', |
| | | barHeight: '', |
| | | flag: true, // 输入框是否显示 |
| | | flag: false, // 输入框是否显示 |
| | | tabPanelstyle: 'display:flex;justify-content:center;align-items:center;', |
| | | activeValues: [0], |
| | | dialogKey: false, |
| | |
| | | speed: 1.0, |
| | | myAudioPos: '', |
| | | startTime: "", //进入页面当前时间 |
| | | pauseTime: 0 //暂停时间 |
| | | pauseTime: 0, //暂停时间 |
| | | formPath: '', |
| | | loading: true, |
| | | hidden: true |
| | | }, |
| | | // // 时间格式化 |
| | | // format(t) { |
| | |
| | | |
| | | // 转化时间 |
| | | format(time) { |
| | | |
| | | let minute = Math.floor(time / 60); |
| | | let second = Math.floor(time % 60); |
| | | minute = minute < 10 ? ("0" + minute) : minute; |
| | |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | |
| | | wx.setNavigationBarTitle({ |
| | | |
| | | title: '资源详情-音频' |
| | | |
| | | }); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | const systInfo = wx.getSystemInfoSync(); |
| | | const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 |
| | | const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度 |
| | |
| | | bookId: options.bookId, |
| | | bookName: options.bookName, |
| | | cmsId: options.cmsId, |
| | | parentName: options.parentName, |
| | | parentProductLinkPath: options.parentProductLinkPath, |
| | | productLinkPath: options.productLinkPath |
| | | productLinkPath: options.productLinkPath, |
| | | formPath: options.formPath |
| | | }) |
| | | |
| | | if (options.parentName !== "教学资源" && options.parentName !== "云学习") { |
| | | this.setData({ |
| | | parentName: options.parentName, |
| | | }) |
| | | } |
| | | this.resourceDetailsData() |
| | | this.getNoteList() |
| | | console.log(options, 'options'); |
| | | }, |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面卸载 |
| | | * |
| | | * 退出页面时候调用的 |
| | | * |
| | | */ |
| | | onUnload() { |
| | | // this.setData({ |
| | |
| | | |
| | | // myAudio.src = '' |
| | | // myAudio.destroy() |
| | | // this.setData({ |
| | | // myAudioPos: '', |
| | | // isplay: false, //是否默认播放, |
| | | // myAudioCurrent: '00:00', // 当前播放进度 |
| | | // showData: '', |
| | | // }); |
| | | this.setData({ |
| | | // myAudioPos: '', |
| | | isplay: false, //是否默认播放, |
| | | myAudioCurrent: '00:00', // 当前播放进度 |
| | | showData: '', |
| | | speed: 1.0, |
| | | }); |
| | | myAudio.playbackRate = this.data.speed; |
| | | // 停止音频播放 |
| | | myAudio.stop(); |
| | | // 销毁 InnerAudioContext 实例 |
| | | myAudio.destroy(); |
| | | // myAudio.destroy(); |
| | | }, |
| | | count(timeStr) { |
| | | const data = { |
| | |
| | | }, |
| | | showDialog(e) { |
| | | this.setData({ |
| | | submitTitle: this.data.bookName, |
| | | submitTitle: this.data.titleName, |
| | | dialogKey: true, |
| | | textvalue: '' |
| | | }); |
| | |
| | | cmsPath: this.data.parentProductLinkPath, |
| | | itemFields: { |
| | | SysType: 'CmsFolder', |
| | | // 资源类型,试读文件,是否允许下载等参数 |
| | | selectType: [], |
| | | freeFile: [], |
| | | file: [], |
| | |
| | | size: 999 |
| | | } |
| | | } |
| | | |
| | | app.MG.store.getProductDetail(query).then(res => { |
| | | let selectedId = -1; // 初始化选中项索引 |
| | | let showDataUrl = ''; |
| | | let titleName = ''; |
| | | |
| | | res.datas.cmsDatas[0].datas.forEach((item, index) => { |
| | | if (item.selectType === "audio") { |
| | | this.data.threeLeveData.push(item) |
| | | this.setData({ |
| | | threeLeveData: this.data.threeLeveData |
| | | }) |
| | | this.data.threeLeveData.forEach((items, index) => { // 修改此处添加index参数 |
| | | if (this.data.productLinkPath == items.productLinkPath) { |
| | | this.setData({ |
| | | showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + items.file, |
| | | titleName: items.name |
| | | }) |
| | | this.pubulicPlayFun() |
| | | let selectedIndex = index; // 存储选中项的索引 |
| | | this.setData({ |
| | | selectedId: selectedIndex // 设置选中项的索引 |
| | | }); |
| | | } |
| | | }); |
| | | if (item.selectType === "audio" || item.learnSelectType === "audio") { |
| | | this.data.threeLeveData.push(item); |
| | | } |
| | | }); |
| | | // console.log(this.data.threeLeveData); |
| | | this.data.threeLeveData.forEach((items, indexs) => { |
| | | if (this.data.productLinkPath == items.productLinkPath) { |
| | | selectedId = indexs; |
| | | |
| | | } |
| | | }) |
| | | this.data.threeLeveData.forEach((item) => {}) |
| | | }) |
| | | 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); |
| | | } 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; |
| | | } |
| | | |
| | | this.setData({ |
| | | threeLeveData: this.data.threeLeveData, |
| | | selectedId: selectedId, |
| | | showData: showDataUrl, |
| | | titleName: titleName, |
| | | loading: false, |
| | | hidden: false |
| | | }); |
| | | this.pubulicPlayFun(); |
| | | |
| | | }); |
| | | }, |
| | | |
| | | onVideo(e) { |
| | | // myAudio.destroy(); |
| | | |
| | | this.setData({ |
| | | myAudioCurrent: '00:00', |
| | | myAudioPos: '', |
| | | isplay: false |
| | | }) |
| | | |
| | | const item = e.currentTarget.dataset.item |
| | | if (this.data.showData != '') { |
| | | this.setData({ |
| | |
| | | showData: '' |
| | | }) |
| | | |
| | | if (item.selectType == "audio") { |
| | | this.setData({ |
| | | showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file |
| | | }) |
| | | this.pubulicPlayFun() |
| | | if (item.selectType == "audio" || item.learnSelectType === "audio") { |
| | | if (this.data.formPath == 'jsek_cloudLearning') { |
| | | // 这里处理云学习的 |
| | | this.setData({ |
| | | showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + item.protectedFile + '&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'); |
| | | |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | // console.log(e.currentTarget.dataset.value); |
| | | this.setData({ |
| | | flag: e.currentTarget.dataset.value |
| | | |
| | | }) |
| | | }, |
| | | // 标题输入框值 |
| | | inputChange(e) { |
| | | this.setData({ |
| | | titleName: e.detail.value |
| | | submitTitle: e.detail.value |
| | | }) |
| | | }, |
| | | |
| | |
| | | title: '请填写笔记内容', |
| | | }) |
| | | |
| | | } else if (!this.data.titleName) { |
| | | } else if (!this.data.submitTitle) { |
| | | return wx.showToast({ |
| | | icon: 'error', |
| | | title: '请填写笔记标题', |
| | |
| | | this.setData({ |
| | | dialogKey: false |
| | | }); |
| | | |
| | | this.getNoteList() |
| | | |
| | | }, |
| | | onTextarea() { |
| | | // console.log(this.data.textvalue); |
| | |
| | | this.setData({ |
| | | "pageCount.total": res.totalSize, |
| | | noteList: res.datas, |
| | | loading: false |
| | | // loading: false |
| | | }) |
| | | // console.log('笔记列表', res.datas); |
| | | }) |
| | |
| | | submitType: "edit", |
| | | textvalue: note.content, |
| | | submitTitle: note.name, |
| | | noteId: note.id |
| | | |
| | | noteId: note.id, |
| | | dialogKey: true, |
| | | }) |
| | | this.showDialog() |
| | | console.log(this.data.submitTitle); |
| | | // this.showDialog() |
| | | }, |
| | | |
| | | // 删除笔记 |
| | |
| | | }, |
| | | // 播放公共代码 |
| | | 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; //必须写,不然获取不到。。。 |
| | | |
| | | |
| | | |
| | | myAudio.duration; //必须写,不然获取不到 |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | myAudioDuration: this.format(myAudio.duration), |
| | |
| | | }, 100); |
| | | }); |
| | | |
| | | // myAudio.onSeeked(() => { |
| | | // this.setData({ |
| | | // myAudioDuration: this.format(myAudio.duration), |
| | | // myAudioCurrent: this.format(myAudio.currentTime) |
| | | // }) |
| | | // }) |
| | | console.log(this.data.myAudioDuration); |
| | | console.log(this.data.myAudioCurrent); |
| | | |
| | | // 播放完成处理,按钮变一下 |
| | | myAudio.onEnded((res) => { |
| | | this.setData({ |
| | | isplay: false |
| | | isplay: true |
| | | }) |
| | | }); |
| | | |
| | | |
| | | //进度条变化 |
| | | myAudio.onTimeUpdate(() => { |
| | | // console.log(this.format(myAudio.duration)); |
| | | this.setData({ |
| | | myAudioPos: myAudio.currentTime / myAudio.duration * 100, |
| | | myAudioCurrent: this.format(myAudio.currentTime) |
| | | myAudioCurrent: this.format(myAudio.currentTime), |
| | | myAudioDuration: this.format(myAudio.duration), |
| | | |
| | | }); |
| | | }) |
| | | console.log(this.data.myAudioCurrent); |
| | | console.log(this.data.myAudioDuration); |
| | | console.log(this.data.myAudioPos); |
| | | |
| | | |
| | | myAudio.play(); |
| | | }, |
| | | |
| | | |
| | |
| | | myAudio.startTime = this.data.myAudioCurrent; //考虑到进度条被拖动,不一定从00:00:00开始 |
| | | myAudio.play(); |
| | | this.setData({ |
| | | isplay: true |
| | | isplay: false |
| | | }); |
| | | }, |
| | | |
| | |
| | | stop() { |
| | | myAudio.pause(); |
| | | this.setData({ |
| | | isplay: false |
| | | isplay: true |
| | | }); |
| | | }, |
| | | adsfhaewlf() { |
| | | myAudio.pause(); |
| | | this.setData({ |
| | | isplay: false |
| | | }); |
| | | }, |
| | | |
| | | |
| | | //右切换 |
| | | onLeftSwitch() { |
| | |
| | | this.changeItem(this.data.threeLeveData[index + 1]) |
| | | this.setData({ |
| | | selectedId: index + 1, |
| | | |
| | | }) |
| | | } else { |
| | | console.log('已经是最后一首了'); |
| | |
| | | titleName: item.name, |
| | | selectId: item.id |
| | | }) |
| | | |
| | | if (item.selectType == "audio") { |
| | | this.setData({ |
| | | showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file |
| | |
| | | this.setData({ |
| | | myAudioPos: position, |
| | | myAudioCurrent: this.format(currentTime) |
| | | |
| | | }) |
| | | }, |
| | | |
| | |
| | | // myAudio.startTime = this.data.myAudioDuration //开始时间 |
| | | myAudio.playbackRate = this.data.speed; // 播放速率 |
| | | }, 200); |
| | | }, |
| | | // 云学习处理已购买正式文件 |
| | | handleFile() { |
| | | console.log(1111); |
| | | }, |
| | | // 云学习试看处理 |
| | | handleFreeFile() { |
| | | console.log(2222); |
| | | }, |
| | | // 判断资源是否购买 |
| | | resourceIsBuy() { |
| | | console.log(333); |
| | | } |
| | | }) |