| | |
| | | buyIdList: [], |
| | | buyList: [], |
| | | learnClassData: null, |
| | | isLearnDataBuy: false, |
| | | bookDetail: null, |
| | | learnStartTime: 0, |
| | | learnTimeList: [], |
| | | learnTimeData: 0 |
| | | learnTimeData: 0, |
| | | toView: 'activeName', |
| | | }, |
| | | // 格式化笔记时间 |
| | | convertTimestamp(timestamp) { |
| | |
| | | parentName: options.parentName, |
| | | }) |
| | | } |
| | | const token = wx.getStorageSync(app.config.tokenKey) |
| | | if (!token) { |
| | | loginInfo(app, (data) => { |
| | | if (options.formPath == 'jsek_cloudLearning') { |
| | | this.setData({ |
| | | learnStartTime: Date.now(), |
| | | }) |
| | | this.getLearnTime() |
| | | } |
| | | this.getBookInfo(this.data.bookId) |
| | | if (options.formPath == 'jsek_cloudLearning') { |
| | | this.setData({ |
| | | learnStartTime: Date.now(), |
| | | }) |
| | | } else { |
| | | if (options.formPath == 'jsek_cloudLearning') { |
| | | this.setData({ |
| | | learnStartTime: Date.now(), |
| | | }) |
| | | this.getLearnTime() |
| | | } |
| | | this.getBookInfo(this.data.bookId) |
| | | this.getLearnTime() |
| | | } |
| | | |
| | | this.getBookInfo(this.data.bookId) |
| | | }, |
| | | |
| | | /** |
| | |
| | | }, |
| | | fields: {}, |
| | | }; |
| | | if (this.data.storeInfo) query['storeInfo'] = this.data.storeInfo |
| | | app.MG.store.getProductDetail(query).then(async (res) => { |
| | | this.setData({ |
| | | bookDetail: res.datas, |
| | | buyIdList: res.datas.purchasedSaleMethodIdList, |
| | | learnClassData: res.datas.cmsDatas[0].datas.length > 0 ? res.datas.cmsDatas[0].datas.find(item => item.refCode == "jsek_cloudLearning") : null |
| | | }) |
| | | try { |
| | | this.setData({ |
| | | bookDetail: res.datas, |
| | | buyIdList: res.datas.purchasedSaleMethodIdList, |
| | | learnClassData: res.datas.cmsDatas[0].datas.length > 0 ? res.datas.cmsDatas[0].datas.find(item => item.refCode == "jsek_cloudLearning") : null |
| | | }) |
| | | } catch (error) {} |
| | | if (this.data.learnClassData) { |
| | | this.getResourceDataList(this.data.learnClassData) |
| | | } else { |
| | |
| | | const buyList = res.datas.cmsDatas[0].datas.filter(item => item.saleMethod.length && this.data.buyIdList.includes(item.saleMethod.find(citem => citem.SaleType == 'Normal').Id)) |
| | | if (this.data.learnClassData && this.data.learnClassData.saleMethod.length) { |
| | | const learnSaleMethod = this.data.learnClassData.saleMethod.find(citem => citem.SaleType == 'Normal') |
| | | if (this.data.buyIdList.includes(learnSaleMethod.Id)) buyList.push(this.data.learnClassData) |
| | | if (this.data.buyIdList.includes(learnSaleMethod.Id)) { |
| | | buyList.push(this.data.learnClassData) |
| | | } else { |
| | | if (new Date().getTime() > new Date(learnSaleMethod.EndDate).getTime() || learnSaleMethod.Price == 0) { |
| | | this.setData({ |
| | | isLearnDataBuy: true |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | isLearnDataBuy: false |
| | | }) |
| | | } |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | isLearnDataBuy: true |
| | | }) |
| | | } |
| | | this.setData({ |
| | | buyList: buyList |
| | | }) |
| | | this.resourceDetailsData() |
| | | console.log('云学习', this.data.buyList); |
| | | }) |
| | | }, |
| | | count(timeStr) { |
| | |
| | | |
| | | }, |
| | | showDialog(e) { |
| | | this.setData({ |
| | | dialogKey: true, |
| | | textvalue: '', |
| | | submitTitle: this.data.titleName |
| | | }); |
| | | const token = wx.getStorageSync(app.config.tokenKey); |
| | | if (token) { |
| | | this.setData({ |
| | | dialogKey: true, |
| | | textvalue: '', |
| | | submitTitle: this.data.titleName |
| | | }); |
| | | } else { |
| | | loginInfo(app, (data) => {}) |
| | | } |
| | | }, |
| | | closeDialog() { |
| | | this.setData({ |
| | |
| | | isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) |
| | | }) |
| | | res.datas.cmsDatas[0].datas.forEach((item) => { |
| | | if (this.data.source == 'qrcode') { |
| | | if (item.id == this.data.activeId) { |
| | | this.data.threeLeveData.push(item); |
| | | } |
| | | } else { |
| | | if (item.selectType === "video" || item.learnSelectType === "video") { |
| | | if (this.data.storeInfo == 'jsek_digitalCourses') { |
| | | // if (item.sysType == 'CmsItem') this.data.threeLeveData.push(item) |
| | | 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) |
| | | } |
| | | if (item.selectType === "video" || item.learnSelectType === "video") { |
| | | if (this.data.storeInfo == 'jsek_digitalCourses') { |
| | | // if (item.sysType == 'CmsItem') this.data.threeLeveData.push(item) |
| | | if (this.data.isBuy) { |
| | | if (item.sysType == 'CmsItem') { |
| | | this.data.threeLeveData.push(item) |
| | | } |
| | | } else { |
| | | // 买了 |
| | | if (this.data.buyList.length) { |
| | | if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) { |
| | | this.data.threeLeveData.push(item) |
| | | } |
| | | } else { |
| | | if (!item.saleMethod.length) { |
| | | // 没买且无销售方式 |
| | | this.data.threeLeveData.push(item) |
| | | } else { |
| | | // 没买且销售方式过期 |
| | | const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal') |
| | | if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime()) { |
| | | this.data.threeLeveData.push(item) |
| | | } |
| | | // 没买且只有试读资源 |
| | | if (!item.file && item.freeFile) this.data.threeLeveData.push(item) |
| | | } |
| | | if (item.sysType == 'CmsItem' && item.freeFile) { |
| | | this.data.threeLeveData.push(item) |
| | | } |
| | | } |
| | | this.setData({ |
| | | threeLeveData: this.data.threeLeveData |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | console.log(1, this.data.threeLeveData); |
| | | this.data.threeLeveData.forEach((items, index) => { // 修改此处添加index参数 |
| | | if (this.data.productLinkPath == items.productLinkPath) { |
| | | if (this.data.formPath === "jsek_cloudLearning") { |
| | | let file |
| | | items.protectedFile || items.file ? file = items.protectedFile || items.file : file = items.freeFile |
| | | this.setData({ |
| | | showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey), |
| | | titleName: items.name |
| | | }) |
| | | this.aliVod(file, this.data.showData) |
| | | } else { |
| | | this.setData({ |
| | | showData: items.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + items.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + items.freeFile, |
| | | titleName: items.name |
| | | }) |
| | | this.aliVod(items.file, this.data.showData) |
| | | // 买了 |
| | | if (this.data.buyList.length) { |
| | | if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) { |
| | | this.data.threeLeveData.push(item) |
| | | } |
| | | } else { |
| | | if (!item.saleMethod.length) { |
| | | // 没买且无销售方式 |
| | | this.data.threeLeveData.push(item) |
| | | } else { |
| | | // 没买且销售方式过期//没买,销售方式价格为0 |
| | | const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal') |
| | | if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime() || itemSaleMethod.Price == 0) { |
| | | this.data.threeLeveData.push(item) |
| | | } |
| | | // 没买且只有试读资源 |
| | | if (!item.file && item.freeFile) this.data.threeLeveData.push(item) |
| | | } |
| | | } |
| | | } |
| | | let selectedIndex = index; // 存储选中项的索引 |
| | | this.setData({ |
| | | selectedId: selectedIndex // 设置选中项的索引 |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | // } |
| | | }) |
| | | if (this.data.source == 'qrcode') { |
| | | let qrData = this.data.threeLeveData.find(ditem => ditem.id == this.data.activeId) |
| | | if (qrData && this.data.isLearnDataBuy) { |
| | | if (qrData) { |
| | | this.setData({ |
| | | threeLeveData: [qrData] |
| | | }) |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | threeLeveData: [] |
| | | }) |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | threeLeveData: this.data.threeLeveData |
| | | }) |
| | | } |
| | | if (this.data.threeLeveData.length > 0) { |
| | | this.data.threeLeveData.forEach((items, index) => { // 修改此处添加index参数 |
| | | if (this.data.productLinkPath == items.productLinkPath) { |
| | | if (this.data.formPath === "jsek_cloudLearning") { |
| | | const flag = this.cmsItemIsBuy(items) |
| | | let file |
| | | if (flag) { |
| | | file = items.protectedFile || items.file ? file = items.protectedFile || items.file : file = items.freeFile |
| | | } else { |
| | | if (items.freeFile) { |
| | | file = items.freeFile |
| | | } else { |
| | | file = '' |
| | | wx.showToast({ |
| | | title: '暂无免费资源', |
| | | }) |
| | | } |
| | | } |
| | | this.setData({ |
| | | showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey), |
| | | titleName: items.name |
| | | }) |
| | | this.aliVod(file, this.data.showData) |
| | | } else { |
| | | this.setData({ |
| | | showData: items.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + items.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + items.freeFile, |
| | | titleName: items.name |
| | | }) |
| | | this.aliVod(items.file, this.data.showData) |
| | | } |
| | | let selectedIndex = index; // 存储选中项的索引 |
| | | console.log(selectedIndex, "selectedIndex") |
| | | this.setData({ |
| | | selectedId: selectedIndex // 设置选中项的索引 |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | wx.showToast({ |
| | | icon: 'none', |
| | | title: '请先返回资源所在图书详情购买视频资源', |
| | | }) |
| | | wx.navigateTo({ |
| | | url: `/packageBookService/pages/bookServices/detail/index?id=${this.data.bookDetail.id}&name=${this.data.bookDetail.name}&tabValue=jsek_cloudLearning`, |
| | | }); |
| | | |
| | | } |
| | | this.setData({ |
| | | loading: false, |
| | | hidden: false, |
| | | toView: 'activeName' + this.data.selectedId, |
| | | }) |
| | | }) |
| | | }, |
| | |
| | | const item = e.currentTarget.dataset.item |
| | | this.setData({ |
| | | videoLoading: true, |
| | | selectedId: e.currentTarget.dataset.index, |
| | | activeId: item.id, |
| | | // showData: '', |
| | | titleName: item.name |
| | | }) |
| | | if (item.selectType == "video" || item.learnSelectType === "video") { |
| | | if (this.data.formPath === "jsek_cloudLearning") { |
| | | |
| | | let file = |
| | | item.protectedFile || item.file ? file = item.protectedFile || item.file : file = item.freeFile |
| | | const flag = this.cmsItemIsBuy(item) |
| | | let file |
| | | if (flag) { |
| | | file = |
| | | item.protectedFile || item.file ? file = item.protectedFile || item.file : file = item.freeFile |
| | | } else { |
| | | if (item.freeFile) { |
| | | file = item.freeFile |
| | | } else { |
| | | file = '' |
| | | this.setData({ |
| | | videoLoading: false |
| | | }) |
| | | return wx.showToast({ |
| | | icon: 'error', |
| | | title: '暂无免费资源', |
| | | }) |
| | | } |
| | | } |
| | | this.setData({ |
| | | selectedId: e.currentTarget.dataset.index, |
| | | activeId: item.id, |
| | | titleName: item.name, |
| | | showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey) |
| | | }) |
| | | this.aliVod(file, this.data.showData) |
| | | } else { |
| | | this.setData({ |
| | | showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile, |
| | | selectedId: e.currentTarget.dataset.index, |
| | | activeId: item.id, |
| | | titleName: item.name |
| | | }) |
| | | this.aliVod(item.file, this.data.showData) |
| | | } |
| | |
| | | }, |
| | | |
| | | aliVod(md5, currentVideo) { |
| | | let query = { |
| | | md5: md5, |
| | | appRefCode: app.config.appRefCode |
| | | } |
| | | |
| | | app.MG.file.getAliVod(query).then((res) => { |
| | | if (res) { |
| | | if (res && res.data == '') { |
| | | if (md5) { |
| | | let query = { |
| | | md5: md5, |
| | | appRefCode: app.config.appRefCode |
| | | } |
| | | app.MG.file.getAliVod(query).then((res) => { |
| | | if (res) { |
| | | if (res && res.data == '') { |
| | | this.setData({ |
| | | showDataVod: currentVideo, |
| | | videoLoading: false, |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | showDataVod: res, |
| | | videoLoading: false, |
| | | }) |
| | | } |
| | | this.setData({}) |
| | | } else if (currentVideo) { |
| | | this.setData({ |
| | | showDataVod: currentVideo, |
| | | videoLoading: false, |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | showDataVod: res, |
| | | videoLoading: false, |
| | | return wx.showToast({ |
| | | icon: 'error', |
| | | title: '无法获取视频资源', |
| | | }) |
| | | } |
| | | this.setData({}) |
| | | } else if (currentVideo) { |
| | | this.setData({ |
| | | showDataVod: currentVideo, |
| | | videoLoading: false, |
| | | }) |
| | | } else { |
| | | return wx.showToast({ |
| | | icon: 'error', |
| | | title: '无法获取视频资源', |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | } else { |
| | | return wx.showToast({ |
| | | icon: 'error', |
| | | title: '暂无视频资源', |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | timeUpdate(e) { |
| | |
| | | currentTime, |
| | | duration |
| | | } = e.detail |
| | | |
| | | this.setData({ |
| | | progress: ((currentTime / duration) * 100).toFixed(2) |
| | | }) |
| | |
| | | }) |
| | | }, |
| | | setPlayerList() { |
| | | const token = wx.getStorageSync(app.config.tokenKey); |
| | | if (!token) return |
| | | let that = this |
| | | if (that.data.progress > 0) { |
| | | let index = that.data.playerList.findIndex((itemData) => itemData.cmsItemId == that.data.activeId) |
| | |
| | | this.setData({ |
| | | videoLoading: false |
| | | }) |
| | | }, |
| | | // 判断当前点击的数据是否购买 |
| | | cmsItemIsBuy(item) { |
| | | let flag = false |
| | | // 买了 |
| | | if (this.data.buyList.length) { |
| | | if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) |
| | | flag = true |
| | | } else { |
| | | // 没买且无销售方式 |
| | | if (!item.saleMethod.length) { |
| | | flag = true |
| | | } else { |
| | | // 没买且销售方式过期//没买,销售方式价格为0 |
| | | const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal') |
| | | if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime() || itemSaleMethod.Price == 0) flag = true |
| | | } |
| | | } |
| | | return flag |
| | | } |
| | | }) |