From c96612e8a63ecef9590be0f8b5199277ec94e5b9 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期三, 18 九月 2024 18:43:12 +0800 Subject: [PATCH] 云学习购买目录,修改bug --- pages/digitalCourses/digitalCoursesDetails/index.js | 361 +++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 275 insertions(+), 86 deletions(-) diff --git a/pages/digitalCourses/digitalCoursesDetails/index.js b/pages/digitalCourses/digitalCoursesDetails/index.js index 0f4acde..21b05e9 100644 --- a/pages/digitalCourses/digitalCoursesDetails/index.js +++ b/pages/digitalCourses/digitalCoursesDetails/index.js @@ -66,6 +66,7 @@ selectActive: 'learn', learnList: [], testList: [], + testCount: 0, openTeachids: [], onlineQuestionsList: [], //鍒嗛〉 @@ -84,6 +85,7 @@ closeBtn: false, deleteBtn: false, bookId: '', + bookPath: '', playerList: [], worksInfo: [], isCertificate: {}, @@ -93,12 +95,15 @@ fullName: '', //鍚嶇О userPicture: '' //鐢宠璇佷功鐢ㄦ埛鍥剧墖 }, + userName: '', pictureMd5: '', publishingUnit: '', pubCertificateHide: true, cbzsImg: '', //鍑虹増璇佷功base64 - rzzsImg: '' //璁よ瘉璇佷功base64 - + rzzsImg: '', //璁よ瘉璇佷功base64 + imageWidth: '', //鐢诲湪鐢诲竷涓婄殑鍥剧墖鐨勫搴� + imageHeight: '', //鐢诲湪鐢诲竷涓婄殑鍥剧墖鐨勯珮搴� + website: 'https://jsek.bnuic.com', }, formatDate(dateString) { if (!dateString) { @@ -150,13 +155,29 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad(options) { + let parentPath = options.path.split('\\'); + parentPath.pop(); this.setData({ - bookId: options.id + bookId: options.id, + bookPath: parentPath.join('\\') }) + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + loginInfo(app, (data) => { + if (data) { + this.digitalCoursesDetailsGet(options.id) + this.getPlayerList() + this.getType() + } else {} + }) + } this.digitalCoursesDetailsGet(options.id) this.getPlayerList() this.getType() - + this.setData({ + userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).name, + }) + console.log('1', options.id); }, /** @@ -170,6 +191,10 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ onShow() { + if (this.data.tabValue == 2) { + this.getPlayerList() + this.getResource() + } }, @@ -204,15 +229,14 @@ /** * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� */ - onShareAppMessage() { - - }, + onShareAppMessage() {}, + onShareTimeline() {}, //鑾峰彇瑙嗛瀛︿範 getPlayerList() { app.MG.identity .getUserKey({ domain: 'videoPlayer', - keys: [this.data.bookId] + keys: [this.data.bookId + ''] }) .then((res) => { if (res.length > 0) { @@ -281,38 +305,96 @@ expire: res.false }) } - res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈圖D鏃�') + res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈�') res.datas.price = res.datas.price.toFixed(2) - + res.datas.oldPrice = res.datas.oldPrice.toFixed(2) wx.setNavigationBarTitle({ title: res.datas.name, }) if (res.datas.publishingUnit) { await this.getBookPublishUnit(res.datas.publishingUnit) } - let lecturer = [] if (res.datas.datas.speaker && res.datas.datas.speaker.length > 0) { - res.datas.datas.speaker.forEach(item => { - if (res.datas.subItems && res.datas.subItems.QueryCms.length > 0) { - res.datas.subItems.QueryCms.forEach(item1 => { + this.getSpeaker(res.datas.datas.speaker) + } else { + this.setData({ + lecturerList: [] + }) + } + if (this.data.bookPath) { + this.getAboutBook(this.data.bookPath) + } else { + this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath) + } + this.getCertificateList() + res.datas.content = res.datas.content && res.datas.content.replace('../', app.config.requestCtx + '/').replace( + /\<img/gi, + '<img style="max-width:100%;height:auto;display:block;margin-top:0;margin-bottom:0;"' + ) + this.setData({ + digitalsData: res.datas, + loading: false + }) + }) + }, + //鑾峰彇涓昏浜� + getSpeaker(list) { + this.setData({ + lecturerList: [] + }) + let query = { + path: 'jsek_speaker', + fields: { + content: [], + positionalTitle: [] + }, + coverSize: { + height: 250 + } + } + app.MG.resource.getItem(query).then((res) => { + let lecturerList = [] + if (list && res.datas.length > 0) { + list.forEach((item) => { + if (res.datas && res.datas.length > 0) { + res.datas.forEach((item1) => { if (JSON.parse(item.Data.Value).items[0] == item1.id) { - lecturer.push({ + lecturerList.push({ name: item1.name, - icon: item1.icon ? item1.icon : '', - description: item1.description ? item1.description : '', + positionalTitle: item1.positionalTitle, + icon: item1.icon, + description: item1.description ? item1.description : '鏆傛棤绠�浠�' }) } }) - } }) + this.getPositionalTitle(lecturerList) } - this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath) - this.getCertificateList() + }) + }, + async getPositionalTitle(listStr) { + let list = [] + let query = { + refCodes: ['positionalTitle'] + } + await app.MG.store.getProductTypeField(query).then((res) => { + let option = JSON.parse(res[0].config).option + listStr.forEach((unit) => { + option.forEach((item) => { + if (item.value == unit.positionalTitle) { + unit.positionalName = item.name + } + }) + list.push({ + name: unit.name, + positionalTitle: unit.positionalName, + icon: unit.icon, + description: unit.description ? unit.description : '鏆傛棤绠�浠�' + }) + }) this.setData({ - lecturerList: lecturer, - digitalsData: res.datas, - loading: false + lecturerList: list }) }) }, @@ -344,8 +426,11 @@ this.setData({ tabValue: value }) + if (this.data.tabValue == 0) { + this.digitalCoursesDetailsGet(this.data.bookId) + } if (this.data.tabValue == 1) { - // this.saveAsImage() + this.saveAsImage() } if (this.data.tabValue == 2) { this.getResource() @@ -412,9 +497,7 @@ if (item.type == 'productItem') { learnItemList.push(item) } - }) - if (this.data.selectActive === 'learn') { let list = [] // 娴嬭瘯 6浣�// 姝e紡 5浣�// 娴嬭瘯璋冪敤浼�20锛屽唴閮�7 姝e紡璋冪敤浼�17 鍐呴儴浼�6 @@ -433,11 +516,13 @@ learnList: list, openTeachids: result, }); + console.log(1, this.data.learnList, this.data.playerList) } } else { const data = test.filter( (item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0 ) + if (data.length > 0) { let list = [] let addNum = query.cmsPath.length > 5 ? 7 : query.cmsPath.length > 6 ? 8 : 6 @@ -446,6 +531,7 @@ list = this.ensureTreeConsistency(list) let result = []; this.findChildIds(list[0].children, result) + this.countLeafNodes(list[0].children) this.setData({ testList: list[0].children, openTeachids: result, @@ -500,6 +586,7 @@ i.children = [] this.getTreeList(rootList, pathLength + addNum, i.children, i.productLinkPath, addNum) if (i.children.length == 0) { + newArr[0].istry = true delete i.children } } @@ -579,6 +666,19 @@ } }, + //鍦ㄧ嚎娴嬭瘯鑾峰彇鏈�鍚庝竴涓妭鐐规暟閲� + countLeafNodes(tree) { + tree.forEach(node => { + if (!node.children || node.children.length === 0) { + this.setData({ + testCount: this.data.testCount + 1 + }) + } else { + this.countLeafNodes(node.children); + } + }); + }, + //鑾峰彇鍏宠仈瀛愬晢鍝�/鏁板瓧鏁欐潗 getRelationBook() { app.MG.store.getProductList({ @@ -600,17 +700,19 @@ } }) .then((res) => { - this.setData({ - relationTextBook: res.datas[0] - }) - if (this.data.relationTextBook.purchasedSaleMethodIdList.includes(this.data.relationTextBook.defaultSaleMethodId)) { + if (res.datas.length > 0) { this.setData({ - isTextBookBuy: true + relationTextBook: res.datas[0] }) - } else { - this.setData({ - isTextBookBuy: false - }) + if (this.data.relationTextBook.purchasedSaleMethodIdList.includes(this.data.relationTextBook.defaultSaleMethodId)) { + this.setData({ + isTextBookBuy: true + }) + } else { + this.setData({ + isTextBookBuy: false + }) + } } }) }, @@ -640,6 +742,15 @@ answertype == "collectQuestion" ? "鎴戠殑鏀惰棌" : "鎴戠殑閿欓" }&answerType=${answertype}&storeInfo=${app.config.digitalCourses}`, }); + }, + + onCorrelationBook(e) { + const item = e.currentTarget.dataset.item; + this.onLoad({ + loading: true, + id: item.id, + path: item.idPath + }) }, // 鑾峰彇鐩稿叧璇剧▼ @@ -681,7 +792,7 @@ } }) this.setData({ - relatedBookData: bookArr + relatedBookData: bookArr.slice(0, 6) }) } else { this.setData({ @@ -770,12 +881,13 @@ }) .then((res) => { if (res) { + this.digitalCoursesDetailsGet(this.data.digitalsData.id); wx.showToast({ title: "棰嗗彇鎴愬姛", icon: "none", duration: 1000, }); - this.getBookInfo(this.data.bookDetail.id); + this.digitalCoursesDetailsGet(this.data.bookId); } }); } else { @@ -806,48 +918,116 @@ }, //鐢宠璇佷功 async saveAsImage() { - let query = wx.createSelectorQuery().in(this); - query.select("#pubCertificate").boundingClientRect(); - query.exec(function (res) { - console.log("View 鐨勪俊鎭細", res[0]); - }); - console.log(value, 123) - let drawImage = new Wxml2Canvas({ - element: 'pubCertificate', // canvas鑺傜偣鐨刬d, - obj: that, // 鍦ㄧ粍浠朵腑浣跨敤鏃讹紝闇�瑕佷紶鍏ュ綋鍓嶇粍浠剁殑this - width: this.width * 2, // 瀹介珮 - height: this.height * 2, - background: '#fff', // 榛樿鑳屾櫙鑹� - progress(percent) { // 缁樺埗杩涘害 - }, + const that = this + const query = wx.createSelectorQuery().in(this) + query + .select('#pubCertificate') + .fields({ + // 閫夋嫨闇�瑕佺敓鎴恈anvas鐨勮寖鍥� + size: true, + node: true, + scrollOffset: true, + }, + (data) => { + let width = data.width + let height = data.height + that.setData({ + imageWidth: width, + imageHeight: height, + }) + }, + ) + .exec() + this.drawImage() + query + .select('#textCertificate') + .fields({ + // 閫夋嫨闇�瑕佺敓鎴恈anvas鐨勮寖鍥� + size: true, + node: true, + scrollOffset: true, + }, + (data) => { + let width = data.width + let height = data.height + that.setData({ + imageWidth: width, + imageHeight: height, + }) + }, + ) + .exec() + this.drawImage1() + }, + drawImage() { + let that = this; + let drawMyImage = new Wxml2Canvas({ + width: that.data.imageWidth, + height: that.data.imageHeight, + element: 'myCanvas', + progress(percent) {}, finish(url) { - console.log("鍒涘缓鐨勫浘鐗�", url); + wx.getFileSystemManager().readFile({ + filePath: url, + encoding: 'base64', + success: (res) => { + let MyImageBase64 = 'data:image/jpg;base64,' + res.data + that.setData({ + cbzsImg: MyImageBase64, + pubCertificateHide: false, + }) + }, + }) }, error(res) { - console.log(res); - // uni.hideLoading() - // 鐢诲け璐ョ殑鍘熷洜 + console.log("鐢熸垚鐨勫浘鐗囧け璐�", res) } }, this); - // const canvas = Wxml2Canvas.wxmlToCanvas(value); - // // 杞崲涓哄浘鐗� - // const img = Wxml2Canvas.canvasToTempImage(canvas); - // const path = Wxml2Canvas.canvasToTempFilePath(canvas); - // console.log(canvas) - // Wxml2Canvas(value).then((canvas) => { - // const img = canvas.toDataURL('image/png') - // this.setData({ - // cbzsImg: img, - // }) - // }) - - // Wxml2Canvas(textCertificate.value).then((canvas1) => { - // const img1 = canvas1.toDataURL('image/png') - // rzzsImg.value = img1 - // }) - this.setData({ - pubCertificateHide: false, - }) + let data = { + list: [{ + type: 'wxml', + class: '.my_canvas .my_draw_canvas', //.my_draw_canvas姣忎釜瑕佺粯鍒跺厓绱犵殑绫诲悕 + limit: '.my_canvas', //my_canvas鏍瑰厓绱犵被鍚� + x: 0, + y: 0 + }] + } + drawMyImage.draw(data, that); + }, + drawImage1() { + let that = this; + let drawMyImage1 = new Wxml2Canvas({ + width: that.data.imageWidth, + height: that.data.imageHeight, + element: 'myCanvas1', + progress(percent) {}, + finish(url) { + wx.getFileSystemManager().readFile({ + filePath: url, + encoding: 'base64', + success: (res) => { + let MyImageBase641 = 'data:image/jpg;base64,' + res.data + that.setData({ + rzzsImg: MyImageBase641, + pubCertificateHide: false, + }) + }, + }) + }, + error(res) { + console.log("鐢熸垚鐨勫浘鐗囧け璐�", res) + } + }, this); + let data = { + list: [{ + type: 'wxml', + class: '.my_canvas1 .my_draw_canvas1', //.my_draw_canvas姣忎釜瑕佺粯鍒跺厓绱犵殑绫诲悕 + limit: '.my_canvas1', //my_canvas鏍瑰厓绱犵被鍚� + x: 0, + y: 0 + }] + } + drawMyImage1.draw(data, that); }, //鑾峰彇瀛楁 getType() { @@ -876,7 +1056,9 @@ item.content = JSON.parse(item.content) if (item.content.id == this.data.bookId) { this.setData({ - isCertificate: item + isCertificate: item, + userName: item.content.userName, + userPicture: app.config.requestCtx + `/file/GetPreViewImage?md5=` + item.content.userPicture }) } }) @@ -895,14 +1077,14 @@ }); return false } - // if (!this.data.isLearn) { - // wx.showToast({ - // title: "鎮ㄧ殑瀛︿範浠诲姟杩樻湭瀹屾垚锛屾殏涓嶈兘鐢宠璇佷功锛屽姞娌瑰摝锛�", - // icon: "none", - // duration: 1000, - // }); - // return false - // } + if (!this.data.isLearn) { + wx.showToast({ + title: "鎮ㄧ殑瀛︿範浠诲姟杩樻湭瀹屾垚锛屾殏涓嶈兘鐢宠璇佷功锛屽姞娌瑰摝锛�", + icon: "none", + duration: 1000, + }); + return false + } if (this.data.isCertificate && this.data.isCertificate.state == 'WaitAudit') { wx.showToast({ title: "鎮ㄧ敵璇风殑璇佷功姝e湪瀹℃牳涓�", @@ -994,6 +1176,10 @@ }, confirmM() { + let currentDate = new Date() + let year = currentDate.getFullYear() + let month = currentDate.getMonth() + 1 + let today = currentDate.getDate() if (this.data.userInfo.fullName) { if (this.data.pictureMd5 == '') { wx.showToast({ @@ -1011,12 +1197,15 @@ name: this.data.digitalsData.name, ISBN: this.data.digitalsData.isbn, affiliatedUnit: this.data.digitalsData.affiliatedUnit, + publishingUnit: this.data.publishingUnit, publicationDate: this.data.digitalsData.publicationDate, classHours: this.data.digitalsData.classHours, lecturerList: this.data.lecturerList.length > 0 ? this.data.lecturerList[0].name : this.data.digitalsData.courseLeader, + userName: this.data.userInfo.fullName, userPicture: this.data.pictureMd5, - certificate: this.data.rzzsImg + studyTime: this.data.digitalsData.beginDate + '-' + year + '-' + month + '-' + today, + website: this.data.website } data = { topicIdOrRefCode: 'applyCourseCertificate', @@ -1118,14 +1307,14 @@ //璇佷功鏌ョ湅 onClick1() { this.setData({ - images: ['https://jsek.bnuic.com/home/certificate/szkc.jpg'], + images: [this.data.cbzsImg], showIndex: true, visible: true, }) }, onClick2() { this.setData({ - images: ['https://jsek.bnuic.com/home/certificate/kczs.jpg'], + images: [this.data.rzzsImg], showIndex: true, visible: true, }) -- Gitblit v1.9.1