From b97bfcb85b2ded3b1f380e9a98b54b836faabba5 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期五, 28 三月 2025 14:26:35 +0800 Subject: [PATCH] 除过数字教材外的页面的登录迁移 --- pages/digitalCourses/digitalCoursesDetails/index.js | 365 +++++++++++++++++++++++++-------------------------- 1 files changed, 179 insertions(+), 186 deletions(-) diff --git a/pages/digitalCourses/digitalCoursesDetails/index.js b/pages/digitalCourses/digitalCoursesDetails/index.js index aaa522c..36a5698 100644 --- a/pages/digitalCourses/digitalCoursesDetails/index.js +++ b/pages/digitalCourses/digitalCoursesDetails/index.js @@ -13,6 +13,7 @@ loginInfo } from '../../../assets/js/login'; import wxbarcode from 'wxbarcode' + Page({ /** @@ -166,21 +167,20 @@ 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() }, - + logInFun(callback) { + loginInfo(app, (data) => { + if (data) { + this.digitalCoursesDetailsGet(options.id) + this.getPlayerList() + this.getType() + callback() + } + }) + }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚 */ @@ -192,11 +192,11 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ onShow() { - if (this.data.tabValue == 2) { + if (this.data.tabValue == 2 && this.data.selectActive == 'learn') { this.getPlayerList() this.getResource() + this.getRelationBook() } - }, /** @@ -240,6 +240,7 @@ keys: [this.data.bookId + ''] }) .then((res) => { + console.log(1, res); if (res.length > 0) { this.setData({ playerList: JSON.parse(res[0].value) @@ -307,7 +308,7 @@ expire: res.false }) } - res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈�') + res.datas.publicationDate = 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({ @@ -530,12 +531,17 @@ if (this.data.selectActive === 'learn') { let list = [] // 娴嬭瘯 6浣�// 姝e紡 5浣�// 娴嬭瘯璋冪敤浼�20锛屽唴閮�7 姝e紡璋冪敤浼�17 鍐呴儴浼�6 - let addNum = query.cmsPath.length > 5 ? 7 : query.cmsPath.length > 6 ? 8 : 6 - const num = query.cmsPath.length + addNum if (learn.some((item) => item.sysType == 'CmsFolder')) { - this.getTreeList(learn, num, list, '\\', addNum) - list = this.ensureTreeConsistency(list) + // 1.鍙湁鐩綍锛屾病鏈夎祫婧� + if (!learn.some((item) => item.sysType == 'CmsItem')) { + list = learn + } else { + // 2.鐩綍鍜岃祫婧愰兘鏈� + this.getTreeList(learn, list, query.cmsPath) + list = this.ensureTreeConsistency(list) + } } else { + // 3.鍙湁璧勬簮锛屾病鏈夌洰褰� list = learn } let result = []; @@ -545,22 +551,18 @@ 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 - const num = query.cmsPath.length + addNum - this.getTreeList(data, num, list, '\\', addNum) + this.getTreeList(data, list, query.cmsPath) list = this.ensureTreeConsistency(list) let result = []; - this.findChildIds(list[0].children, result) - this.countLeafNodes(list[0].children) + this.findChildIds(list[0]?.children, result) + this.countLeafNodes(list[0]?.children) this.setData({ testList: list[0].children, openTeachids: result, @@ -589,10 +591,9 @@ }) }, // 鎵佸钩鍖栨暟鎹浆鎹ree - getTreeList(rootList, pathLength, newArr, path, addNum) { + getTreeList(rootList, newArr, path) { for (const item of rootList) { - // 姝ゅ鍘熸湰 item.productLinkPath.length == pathLength 浣� productLinkPath 闀垮害涓埆涔﹀瓨鍦�4銆�5浣嶄氦閿� - if ((pathLength - item.productLinkPath.length >= 0 && pathLength - item.productLinkPath.length <= 3) && item.productLinkPath.includes(path)) { + if (path == item.productLinkPath.replace('\\' + item.id, '')) { if (item.sysType == 'CmsItem') { if (item.selectType == 'webpage') { item.disabled = true @@ -607,15 +608,16 @@ } // newArr.push(item) // 鍦ㄦ彃鍏ヨ繃绋嬩腑瀵规暟鎹繘琛屾帓搴� - newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item, addNum) + newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item) + // 鎻掕繘鏁扮粍鍚� 浠庡師鏁版嵁涓垹闄� + rootList = rootList.filter(nitem => nitem.id != item.id) } } //缁欐暟缁勯噷闈㈠啀娣诲姞涓�涓猚hildren鐨勭┖鏁扮粍 for (const i of newArr) { i.children = [] - this.getTreeList(rootList, pathLength + addNum, i.children, i.productLinkPath, addNum) + this.getTreeList(rootList, i.children, i.productLinkPath) if (i.children.length == 0) { - newArr[0].istry = true delete i.children } } @@ -639,29 +641,21 @@ }, // 鎺掑簭鏁扮粍 鎸夌収productLinkPath - insertAndSortObjectsByProductLinkPath(array, newObj, addNum) { + insertAndSortObjectsByProductLinkPath(array, newObj) { // 鏌ユ壘鏂板璞″簲璇ユ彃鍏ョ殑浣嶇疆 - let insertIndex = array.findIndex(obj => Number(newObj.productLinkPath.substring(newObj.productLinkPath.length - addNum, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.length - addNum, obj.productLinkPath.length))); - + let insertIndex = array.findIndex(obj => newObj.id < obj.id); // 濡傛灉娌℃湁鎵惧埌鍚堥�傜殑浣嶇疆锛屽垯鏀惧湪鏁扮粍鏈熬 if (insertIndex === -1) { insertIndex = array.length; } // 鎻掑叆鏂板璞″埌鏁扮粍 array.splice(insertIndex, 0, newObj); - // 娴嬭瘯6 姝e紡5 // 瀵规暟缁勮繘琛屾帓搴� array.sort((a, b) => { - if (Number(a.productLinkPath.substring(a.productLinkPath.length - addNum, a.productLinkPath.length)) < Number(b.productLinkPath.substring(b.productLinkPath.length - addNum, b.productLinkPath.length))) { - return -1; - } - if (Number(a.productLinkPath.substring(a.productLinkPath.length - addNum, a.productLinkPath.length)) > Number(b.productLinkPath.substring(b.productLinkPath.length - addNum, b.productLinkPath.length))) { - return 1; - } - // a must be equal to b + if (a.id < b.id) return -1; + if (a.id > b.id) return 1; return 0; }); - // 杩斿洖鏇存柊鍚庣殑鏁扮粍 return array; }, @@ -834,48 +828,57 @@ //瀛︿範绗旇 //鍦ㄧ嚎鎻愰棶 // 鍥句功娣诲姞璐墿杞� - async addBookShopcCar() { - if (!this.data.expire) { - const shoppingCartGetId = []; - let query = { - start: 0, - size: 9999, - filterList: [], - searchList: [], - }; - const res = await app.MG.store.getShoppingCartProductList(query); - res.datas.forEach((item) => { - shoppingCartGetId.push(item.saleMethod.id); - }); - const determine = shoppingCartGetId.some( - (item) => item == this.data.digitalsData.defaultSaleMethodId - ); - if (!determine) { + addBookShopcCar() { + const addFun = async () => { + if (!this.data.expire) { + const shoppingCartGetId = []; let query = { - requests: [{ - saleMethodId: this.data.digitalsData.defaultSaleMethodId, - storeEventId: null, - agentCode: "鐢靛瓙涔�", - }, ], + start: 0, + size: 9999, + filterList: [], + searchList: [], }; - const addRes = app.MG.store.addShoppingCart(query); - this.showSuccessToast(); + const res = await app.MG.store.getShoppingCartProductList(query); + res.datas.forEach((item) => { + shoppingCartGetId.push(item.saleMethod.id); + }); + const determine = shoppingCartGetId.some( + (item) => item == this.data.digitalsData.defaultSaleMethodId + ); + if (!determine) { + let query = { + requests: [{ + saleMethodId: this.data.digitalsData.defaultSaleMethodId, + storeEventId: null, + agentCode: "鐢靛瓙涔�", + }, ], + }; + const addRes = app.MG.store.addShoppingCart(query); + this.showSuccessToast(); + } else { + Toast({ + context: this, + selector: "#t-toast", + message: "璇ヨ绋嬪凡鍦ㄨ喘鐗╄溅锛岃鍕块噸澶嶆坊鍔�", + theme: "warning", + direction: "column", + }); + } } else { - Toast({ - context: this, - selector: "#t-toast", - message: "璇ヨ绋嬪凡鍦ㄨ喘鐗╄溅锛岃鍕块噸澶嶆坊鍔�", - theme: "warning", - direction: "column", + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: "none", + duration: 1000, }); } - } else { - wx.showToast({ - title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", - icon: "none", - duration: 1000, - }); } + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + this.logInFun(() => {}) + } else { + addFun() + } + }, showSuccessToast() { Toast({ @@ -889,51 +892,60 @@ //璐拱鎸夐挳 async buyBtn() { - if (!this.data.expire) { - let bookOrdersId = ""; - let query = { - remarks: "鐢靛瓙涔�", - requests: [{ - saleMethodId: this.data.digitalsData.defaultSaleMethodId, - count: 1, - }, ], - }; - // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉 - const res = await app.MG.store.initOrder(query); - // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value - bookOrdersId = res.orderNumber; - // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪 - if (bookOrdersId) { - if (this.data.digitalsData.price == "0.00") { - app.MG.store - .confirmOrder({ - orderNum: bookOrdersId, - }) - .then((res) => { - if (res) { - this.digitalCoursesDetailsGet(this.data.digitalsData.id); - wx.showToast({ - title: "棰嗗彇鎴愬姛", - icon: "none", - duration: 1000, - }); - this.digitalCoursesDetailsGet(this.data.bookId); - } + const buyFun = async () => { + if (!this.data.expire) { + let bookOrdersId = ""; + let query = { + remarks: "鐢靛瓙涔�", + requests: [{ + saleMethodId: this.data.digitalsData.defaultSaleMethodId, + count: 1, + }, ], + }; + // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉 + const res = await app.MG.store.initOrder(query); + // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value + bookOrdersId = res.orderNumber; + // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪 + if (bookOrdersId) { + if (this.data.digitalsData.price == "0.00") { + app.MG.store + .confirmOrder({ + orderNum: bookOrdersId, + }) + .then((res) => { + if (res) { + this.digitalCoursesDetailsGet(this.data.digitalsData.id); + wx.showToast({ + title: "棰嗗彇鎴愬姛", + icon: "none", + duration: 1000, + }); + this.digitalCoursesDetailsGet(this.data.bookId); + } + }); + } else { + const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id; + wx.navigateTo({ + url, }); - } else { - const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id; - wx.navigateTo({ - url, - }); - } - } else {} - } else { - wx.showToast({ - title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", - icon: "none", - duration: 1000, - }); + } + } else {} + } else { + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: "none", + duration: 1000, + }); + } } + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + this.logInFun(() => {}) + } else { + buyFun() + } + }, @@ -1100,40 +1112,48 @@ }, onCertificate() { - if (!this.data.isBuy) { - wx.showToast({ - title: "璇峰厛璐拱锛屼綋楠屽畬鏁存湇鍔�", - icon: "none", - duration: 1000, + const cateFun = () => { + if (!this.data.isBuy) { + 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湪瀹℃牳涓�", + icon: "none", + duration: 1000, + }); + return false + } + var page = getCurrentPages().pop(); // 鑾峰彇褰撳墠椤甸潰瀹炰緥 + page.setData({ + // 鍔ㄦ�佽缃姝㈡粴鍔ㄧ殑鏍峰紡 + disableScrollStyle: 'overflow: hidden;' }); - return false + this.setData({ + dialogBox: true, + scrollJudge: '' + }) } - 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湪瀹℃牳涓�", - icon: "none", - duration: 1000, - }); - return false + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + this.logInFun(() => {}) + } else { + cateFun() } - var page = getCurrentPages().pop(); // 鑾峰彇褰撳墠椤甸潰瀹炰緥 - page.setData({ - // 鍔ㄦ�佽缃姝㈡粴鍔ㄧ殑鏍峰紡 - disableScrollStyle: 'overflow: hidden;' - }); - this.setData({ - dialogBox: true, - scrollJudge: '' - }) }, closeDialog() { this.setData({ @@ -1320,40 +1340,7 @@ } }, setCoolect() { - // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲� - // 妫�鏌ョ櫥褰曠姸鎬� - const token = wx.getStorageSync(app.config.tokenKey) - if (!token) { - loginInfo(app, (data) => { - // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋� - if (data) { - if (this.data.digitalsData.isFavourite) { - app.MG.store - .delProductLink({ - productIds: [this.data.digitalsData.id], - linkType: 'Favoriteclass' - }) - .then(() => { - this.setData({ - "digitalsData.isFavourite": false - }) - }) - } else { - let params = { - productIds: [this.data.digitalsData.id], - linkType: 'Favoriteclass' - } - app.MG.store.addProductLink(params).then((res) => { - this.setData({ - "digitalsData.isFavourite": true - }) - }) - } - } else { - // 鍑虹幇閿欒锛岃繑鍥瀎alse - } - }) - } else { + const collectFun = () => { if (this.data.digitalsData.isFavourite) { app.MG.store .delProductLink({ @@ -1377,6 +1364,12 @@ }) } } + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + this.logInFun(() => {}) + } else { + collectFun() + } }, //璇佷功鏌ョ湅 -- Gitblit v1.9.1