From 4c29b79d485d68d506e798f4fd381232ebc55a86 Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期六, 14 九月 2024 11:27:33 +0800 Subject: [PATCH] bug --- packageDomain/pages/resourceDetails/myAudio/index.js | 117 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 99 insertions(+), 18 deletions(-) diff --git a/packageDomain/pages/resourceDetails/myAudio/index.js b/packageDomain/pages/resourceDetails/myAudio/index.js index 04285e2..af8f609 100644 --- a/packageDomain/pages/resourceDetails/myAudio/index.js +++ b/packageDomain/pages/resourceDetails/myAudio/index.js @@ -1,6 +1,9 @@ // pages/resourceDetails/index.js const app = getApp() const myAudio = wx.createInnerAudioContext(); +import { + loginInfo +} from '../../../../assets/js/login'; // innerAudioContext.onPlay(function callback), // InnerAudioContext.onTimeUpdate(function callback) Page({ @@ -27,6 +30,7 @@ parentProductLinkPath: '', productLinkPath: '', threeLeveData: [], + source: "", showData: '', src: '', selectedId: null, @@ -48,7 +52,9 @@ pauseTime: 0, //鏆傚仠鏃堕棿 formPath: '', loading: true, - hidden: true + hidden: true, + playerList: [], + progress: 0, }, format(time) { @@ -94,7 +100,8 @@ cmsId: options.cmsId, parentProductLinkPath: options.parentProductLinkPath, productLinkPath: options.productLinkPath, - formPath: options.formPath + formPath: options.formPath, + source: options.source, }) if (options.parentName !== "鏁欏璧勬簮" && options.parentName !== "浜戝涔�") { @@ -102,8 +109,21 @@ parentName: options.parentName, }) } - this.resourceDetailsData() - this.getNoteList() + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + loginInfo(app, (data) => { + if (data) { + this.resourceDetailsData() + this.getNoteList() + } else { + this.resourceDetailsData() + this.getNoteList() + } + }) + } else { + this.resourceDetailsData() + this.getNoteList() + } }, /** @@ -132,6 +152,7 @@ let duration = this.data.pauseTime - this.data.startTime this.count(duration) } + this.setPlayerList() }, /** @@ -164,6 +185,7 @@ myAudio.stop(); // 閿�姣� InnerAudioContext 瀹炰緥 // myAudio.destroy(); + this.setPlayerList() }, count(timeStr) { const data = { @@ -200,9 +222,8 @@ /** * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� */ - onShareAppMessage() { - - }, + onShareAppMessage() {}, + onShareTimeline() {}, onTabsChange(event) {}, onTabsClick(event) {}, @@ -262,21 +283,42 @@ let titleName = ''; res.datas.cmsDatas[0].datas.forEach((item, index) => { - if (item.selectType === "audio" || item.learnSelectType === "audio") { - this.data.threeLeveData.push(item); + if (this.data.source == 'qrcode') { + if (item.id == this.data.activeId) { + this.data.threeLeveData.push(item); + } + } else { + if (item.selectType === "audio" || item.learnSelectType === "audio") { + // this.data.threeLeveData.push(item); + if (this.data.storeInfo == 'jsek_digitalCourses') { + if (this.data.isBuy) { + if (item.sysType == 'CmsItem') { + this.data.threeLeveData.push(item) + } + } else { + if (item.sysType == 'CmsItem' && item.freeFile) { + this.data.threeLeveData.push(item) + } + } + } else { + if (res.datas.purchasedSaleMethodIdList.includes(item.defaultSaleMethodId) || item.freeFile) { + this.data.threeLeveData.push(item) + } + } + } } + }); 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 { showDataUrl = datas.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.freeFile } @@ -292,11 +334,11 @@ hidden: false }); this.pubulicPlayFun(); - }); }, onVideo(e) { + this.setPlayerList() this.setData({ myAudioCurrent: '00:00', myAudioPos: '', @@ -308,13 +350,16 @@ 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 { @@ -567,7 +612,6 @@ }, // 鎾斁鍏叡浠g爜 pubulicPlayFun() { - // debugger this.setData({ speed: 1.0, }) @@ -613,8 +657,9 @@ 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(myAudio.currentTime.toFixed(3), myAudio.duration); }) }, @@ -764,5 +809,41 @@ myAudio.playbackRate = this.data.speed; // 鎾斁閫熺巼 }, 200); }, - + //鑾峰彇闊抽瀛︿範 + 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) + }) + } + }) + }, + 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) => {}) + } + }, }) \ No newline at end of file -- Gitblit v1.9.1