packageBookService/pages/bookServices/detail/components/tree/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/bookServices/detail/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/bookServices/detail/index.wxml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/components/webView/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageDomain/pages/resourceDetails/document/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageDomain/pages/resourceDetails/myAudio/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageDomain/pages/resourceDetails/myVideo/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/digitalCourses/digitalCoursesDetails/components/note/note.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/digitalTextbooks/digitalTextbooksDetails/index.wxml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -227,7 +227,7 @@ let buyList = [] if (learn.length) buyList = learn.filter((item) => this.properties.buyIds.includes(item.saleMethod.find((citem) => citem.SaleType == 'Normal').Id)) // 有父级(包含销售方式),且未购买 if (learn.length && !buyList.length) return wx.showToast({ if (learn.length && !buyList.length && !item.freeFile) return wx.showToast({ icon: 'error', title: '请先购买该资源', }) @@ -266,7 +266,6 @@ } else { goPlayerFun() } }, // 拿到所有项 packageBookService/pages/bookServices/detail/index.js
@@ -1272,12 +1272,6 @@ // 图书添加购物车 addBookShopcCar() { const token = wx.getStorageSync(app.config.tokenKey); if (token) { addFun() } else { this.logInFun(() => {}) } const addFun = async () => { if (!this.data.expire) { const shoppingCartGetId = []; @@ -1321,6 +1315,13 @@ }); } } const token = wx.getStorageSync(app.config.tokenKey); if (token) { addFun() } else { this.logInFun(() => {}) } }, showSuccessToast() { @@ -1796,13 +1797,6 @@ }, // 云学习一键领取 getFreeResource() { const child = this.selectComponent("#learn-resource"); const token = wx.getStorageSync(app.config.tokenKey); if (!token) { this.logInFun(() => {}); } else { getFreeFun() } const getFreeFun = async () => { // 领取查看 ,先看云学习上的 再看资源上的 const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning') @@ -1871,6 +1865,14 @@ console.log(error); } } const child = this.selectComponent("#learn-resource"); const token = wx.getStorageSync(app.config.tokenKey); if (!token) { this.logInFun(() => {}); } else { getFreeFun() } }, // 云学习一键购买 async allAddShoppiingCar() { @@ -1924,12 +1926,6 @@ }, // 云学习全部购买 buyCloudLearnClass() { const token = wx.getStorageSync(app.config.tokenKey); if (token) { buyClass() } else { this.logInFun(() => {}) } const buyClass = async () => { const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning') let query = { @@ -1954,6 +1950,13 @@ }); } } const token = wx.getStorageSync(app.config.tokenKey); if (token) { buyClass() } else { this.logInFun(() => {}) } }, // 变为所有check true findAndUpdateItemsByIds(tree, ids) { @@ -2251,12 +2254,6 @@ }, // 底部购买按钮 buyBtn() { const token = wx.getStorageSync(app.config.tokenKey); if (token) { buyFun() } else { this.logInFun(() => {}) } const buyFun = () => { if (this.data.tabValue == "brief" && !this.data.bookBuy) { this.buyBook(); @@ -2267,6 +2264,13 @@ console.log(this.data.tabValue); } } const token = wx.getStorageSync(app.config.tokenKey); if (token) { buyFun() } else { this.logInFun(() => {}) } }, goRead(e) { @@ -2421,12 +2425,6 @@ //申请电子样书 appplyElectronicBook() { const token = wx.getStorageSync(app.config.tokenKey); if (token) { applyFun() } else { this.logInFun(() => {}) } const applyFun = () => { // 先判断下教师认证,未对原有逻辑修改 let role = this.data.userInfo != null ? this.data.userInfo.role : null; @@ -2534,15 +2532,16 @@ }); } } }, //申请纸质样书 appplyPaperBook() { const token = wx.getStorageSync(app.config.tokenKey); if (token) { applyFun() } else { this.logInFun(() => {}) } }, //申请纸质样书 appplyPaperBook() { const applyFun = () => { let role = this.data.userInfo != null ? this.data.userInfo.role : null; if (role && role == "Teacher") {} else { @@ -2630,6 +2629,13 @@ }); } } const token = wx.getStorageSync(app.config.tokenKey); if (token) { applyFun() } else { this.logInFun(() => {}) } }, // 添加样书 addBookFun(item, type) { @@ -2756,14 +2762,6 @@ return childrenList }, uploadFile(e) { const token = wx.getStorageSync(app.config.tokenKey); if (token) { uploadFun() } else { this.logInFun(() => { uploadFun() }) } const uploadFun = () => { const userInfo = JSON.parse(wx.getStorageSync(app.config.userInfoKey)) if (userInfo.role != 'Teacher') return wx.showToast({ @@ -2775,6 +2773,15 @@ isShowUp: true }); } const token = wx.getStorageSync(app.config.tokenKey); if (token) { uploadFun() } else { this.logInFun(() => { uploadFun() }) } }, closeDialog() { this.setData({ packageBookService/pages/bookServices/detail/index.wxml
@@ -394,7 +394,7 @@ <view class="btn-text">纸质样书申请</view> </view> <view class="{{!bookBuy && bookDetail.isSell ? 'bottom-btn tryRead' : 'bottom-btn try'}}" class="{{!bookBuy ? 'bottom-btn tryRead' : 'bottom-btn try'}}" bind:tap="goRead" data-type="freeFile" wx:if="{{!bookBuy || applicationState == 'overdue'}}" packageBookService/pages/components/webView/index.js
@@ -24,7 +24,6 @@ */ onLoad(options) { console.log(options) if (options && options.link) { this.setData({ src: decodeURIComponent(options.link), @@ -43,17 +42,12 @@ } } const token = wx.getStorageSync(app.config.tokenKey) if (!token) { loginInfo(app, (data) => { if (data) { if (token) { this.getProgress(options) } else { this.getProgress(options) this.setWebViewSrc(options); } }) } else { this.getProgress(options) } }, onLoadWeb(e) { packageDomain/pages/resourceDetails/document/index.js
@@ -82,9 +82,6 @@ deadline: options.deadline, formPath: options.formPath, }) const token = wx.getStorageSync(app.config.tokenKey) if (!token) { loginInfo(app, (data) => { if (options.formPath == 'jsek_cloudLearning') { this.setData({ learnStartTime: Date.now(), @@ -92,22 +89,6 @@ this.getLearnTime() } this.getBookInfo(this.data.bookId) // if (data) { // this.resourceDetailsData() // } else { // this.resourceDetailsData() // } }) } else { if (options.formPath == 'jsek_cloudLearning') { this.setData({ learnStartTime: Date.now(), }) this.getLearnTime() } this.getBookInfo(this.data.bookId) // this.resourceDetailsData() } }, /** packageDomain/pages/resourceDetails/myAudio/index.js
@@ -116,27 +116,14 @@ parentName: options.parentName, }) } 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() } if (options.formPath == 'jsek_cloudLearning') { this.getNoteList() this.setData({ learnStartTime: Date.now(), }) this.getLearnTime() } this.resourceDetailsData() this.getBookInfo(options.bookId) }, @@ -339,11 +326,17 @@ }, onTakeNotes() {}, showDialog(e) { const token = wx.getStorageSync(app.config.tokenKey); if (token) { this.setData({ submitTitle: this.data.titleName, dialogKey: true, textvalue: '' }); } else { loginInfo(app, (data) => {}) } }, closeDialog() { @@ -909,6 +902,8 @@ }) }, 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) packageDomain/pages/resourceDetails/myVideo/index.js
@@ -103,9 +103,6 @@ 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(), @@ -113,17 +110,6 @@ this.getLearnTime() } this.getBookInfo(this.data.bookId) }) } else { if (options.formPath == 'jsek_cloudLearning') { this.setData({ learnStartTime: Date.now(), }) this.getLearnTime() } this.getBookInfo(this.data.bookId) } }, /** @@ -319,11 +305,16 @@ }, showDialog(e) { 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({ @@ -370,11 +361,6 @@ 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) @@ -434,14 +420,26 @@ 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 items.protectedFile || items.file ? file = items.protectedFile || items.file : file = items.freeFile 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 }) debugger 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, @@ -478,23 +476,41 @@ 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 = 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) } @@ -567,6 +583,8 @@ }) }, 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) @@ -844,5 +862,20 @@ this.setData({ videoLoading: false }) }, // 判断当前点击的数据是否购买 cmsItemIsBuy(item) { // 1.this.data.buyIdList 上是否有 cmsItem的linkpath里的id const linkData = item.productLinkInfo.find(citem => citem.LinkType == 'Link' && citem.CmsItemId == item.id) let linkids = [] try { linkids = linkData.LinkPath.split('\\') } catch (error) {} if (!this.data.buyIdList.length) return false const flag = linkids.some(citem => { return this.data.buyIdList.includes(Number(citem)) }) console.log(linkids, flag); return flag } }) pages/digitalCourses/digitalCoursesDetails/components/note/note.js
@@ -221,7 +221,6 @@ noteList: [], }); } }) } else { getFun() pages/digitalTextbooks/digitalTextbooksDetails/index.wxml
@@ -3,7 +3,11 @@ <template is="skeleton" wx:if="{{loading}}" /> <view wx:if="{{!loading}}"> <view class="page-bookService"> <scroll-view scroll-y="{{true}}" class="book" bindscrolltolower="onReachBottom"> <scroll-view scroll-y="{{true}}" class="book" bindscrolltolower="onReachBottom" > <view class="digital"> <view class="book-box"> <view class="textbookDetails"> @@ -25,7 +29,9 @@ </view> <view class="styleCssBox"> <view style="width: 150rpx"> 编者单位: </view> <view class="authorBox">{{ digitalsData.editorUnit || '-'}}</view> <view class="authorBox" >{{ digitalsData.editorUnit || '-'}}</view > </view> <view class="styleCssBox"> <view style="width: 150rpx">ISBN:</view> @@ -40,7 +46,10 @@ <view>{{ publishingUnit || '-'}}</view> </view> </view> <image src="/static/images/bookService/detail/square.png" class="right-background" /> <image src="/static/images/bookService/detail/square.png" class="right-background" /> </view> </view> <view class="certificate"> @@ -54,7 +63,11 @@ <view class="information"> <view class="proposal" bind:tap="onCertificate"> <view class="suggestion"> <image src="/static/images/digitalTextbooks/shengshu-t@2x.png" mode="" class="img" /> <image src="/static/images/digitalTextbooks/shengshu-t@2x.png" mode="" class="img" /> </view> <view class="proposalText">证书申请</view> </view> @@ -70,11 +83,26 @@ </view> </view> <view class="book-resource"> <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel" class="tab-class"> <t-tab-panel icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}" value="brief" label="基本信息"> <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel" class="tab-class" > <t-tab-panel icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}" value="brief" label="基本信息" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/bookService/detail/label.png" mode="" class="img" /> <image src="/static/images/bookService/detail/label.png" mode="" class="img" /> </view> <view class="basic"> 基本信息</view> </view> @@ -85,41 +113,78 @@ <empty /> </view> </t-tab-panel> <t-tab-panel icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" label="证书信息"> <t-tab-panel icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" label="证书信息" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/digitalTextbooks/zhengshu@2x.png" mode="" class="img" /> <image src="/static/images/digitalTextbooks/zhengshu@2x.png" mode="" class="img" /> </view> <view class="basic"> 证书信息</view> </view> <view class="certificateChart"> <view class="chart" bind:tap="onClick1"> <image src="https://jsek.bnuic.com/home/certificate/szjc.jpg" mode="" class="img" /> <image src="https://jsek.bnuic.com/home/certificate/szjc.jpg" mode="" class="img" /> </view> <view class="chart" bind:tap="onClick2"> <image src="https://jsek.bnuic.com/home/certificate/jczs.jpg" mode="" class="img" /> <image src="https://jsek.bnuic.com/home/certificate/jczs.jpg" mode="" class="img" /> </view> </view> </t-tab-panel> <t-tab-panel icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}" value="jsek_teachingResources" label="作者信息"> <t-tab-panel icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}" value="jsek_teachingResources" label="作者信息" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/bookService/detail/author.png" mode="" class="img" /> <image src="/static/images/bookService/detail/author.png" mode="" class="img" /> </view> <view class="basic"> 作者信息</view> </view> <view class="basic-content" wx:if="{{digitalsData.authorIntroduction}}"> <rich-text nodes="{{digitalsData.authorIntroduction}}"></rich-text> <view class="basic-content" wx:if="{{digitalsData.authorIntroduction}}" > <rich-text nodes="{{digitalsData.authorIntroduction}}" ></rich-text> </view> <view class="noDataBox" wx:else> <!-- <t-empty icon="folder-open" description="暂无数据" font-size="80" /> --> <empty /> </view> </t-tab-panel> <t-tab-panel icon="{{tabValue == 'catalogue' ? catalogueClickIcon : catalogue}}" value="catalogue" label="目录"> <t-tab-panel icon="{{tabValue == 'catalogue' ? catalogueClickIcon : catalogue}}" value="catalogue" label="目录" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/digitalTextbooks/mulu@3x.png" mode="" class="img" /> <image src="/static/images/digitalTextbooks/mulu@3x.png" mode="" class="img" /> </view> <view class="basic"> 目录</view> </view> @@ -131,10 +196,18 @@ <empty /> </view> </t-tab-panel> <t-tab-panel icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" label="相关教材"> <t-tab-panel icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" label="相关教材" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/digitalTextbooks/Link@3x.png" mode="" class="img" /> <image src="/static/images/digitalTextbooks/Link@3x.png" mode="" class="img" /> </view> <view class="basic"> 相关教材</view> </view> @@ -142,10 +215,23 @@ <empty /> </view> <view class="correlation" wx:else> <view style="margin-bottom: 30rpx" wx:for="{{relatedBookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onCorrelationBook"> <view style="margin-bottom: 30rpx" wx:for="{{relatedBookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onCorrelationBook" > <view class="correlationImage"> <image src="{{item.icon}}" mode="" class="img" /> <img wx:if="{{item.icon == ''}}" src="/static/images/default-book-img.png" alt="" class="img" /> <img wx:if="{{item.icon == ''}}" src="/static/images/default-book-img.png" alt="" class="img" /> </view> <view class="correlationName">{{item.name}}</view> <view class="correlationAuthor">{{digitalsData.author}}</view> @@ -159,21 +245,53 @@ <view class="box-bottom"> <view class="collection" bind:tap="setCoolect"> <view class="collectionImage"> <image wx:if="{{!digitalsData.isFavourite}}" src="/static/images/digitalTextbooks/wodeshoucang@2x.png" mode="" class="img" /> <image wx:else src="/static/images/bookService/detail/collecting.png" mode="" class="img" /> <image wx:if="{{!digitalsData.isFavourite}}" src="/static/images/digitalTextbooks/wodeshoucang@2x.png" mode="" class="img" /> <image wx:else src="/static/images/bookService/detail/collecting.png" mode="" class="img" /> </view> <view class="btn-text"> 收藏 </view> </view> <view class="trialReading" bind:tap="goRead" wx:if="{{!isBuy}}"> <view class="trialReading" bind:tap="goRead"> <view class="collectionImage"> <image src="/static/images/digitalTextbooks/shidu@2x.png" class="img"></image> <image src="/static/images/digitalTextbooks/shidu@2x.png" class="img" ></image> </view> <view class="btn-text">试读</view> </view> <view class="shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!isBuy &&digitalsData.price != 0 }}">加入购物车</view> <view class="buyColor" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price != 0}}">立即购买</view> <view class="buyColor receive" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price == 0.00}}">免费领取</view> <view class="{{!isBuy ? 'buyColor' :'reading'}}" bind:tap="goRead" wx:if="{{isBuy}}"> <view class="shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!isBuy &&digitalsData.price != 0 }}" >加入购物车</view > <view class="buyColor" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price != 0}}" >立即购买</view > <view class="buyColor receive" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price == 0.00}}" >免费领取</view > <view class="{{!isBuy ? 'buyColor' :'reading'}}" bind:tap="goRead" wx:if="{{isBuy}}" > 立即阅读 </view> </view> @@ -188,15 +306,29 @@ <view class="row-info"> <view class="body"> <view class="dialog-title">学习证书申请</view> <view style="width: 100%; height: 2rpx; background-color: #f4f4f4"></view> <view style="width: 100%; height: 2rpx; background-color: #f4f4f4" ></view> <view class="input-box"> <t-input class="input" borderless placeholder="请输入真实姓名" value="{{userInfo.fullName}}" bind:change="onFullNameInput"></t-input> <t-input class="input" borderless placeholder="请输入真实姓名" value="{{userInfo.fullName}}" bind:change="onFullNameInput" ></t-input> </view> <view class="contentImg"> <image src="{{userInfo.userPicture}}" mode="aspectFill" class="img" /> <image src="{{userInfo.userPicture}}" mode="aspectFill" class="img" /> </view> <view class="buttonBox"> <t-button size="small" class="right-btn" bind:tap="uploadPicture">上传照片</t-button> <t-button size="small" class="right-btn" bind:tap="uploadPicture" >上传照片</t-button > </view> </view> <view class="row-btn"> @@ -207,6 +339,13 @@ </view> </view> </view> <t-image-viewer deleteBtn="{{deleteBtn}}" closeBtn="{{closeBtn}}" showIndex="{{showIndex}}" visible="{{visible}}" images="{{images}}" bind:close="onClose"></t-image-viewer> <t-image-viewer deleteBtn="{{deleteBtn}}" closeBtn="{{closeBtn}}" showIndex="{{showIndex}}" visible="{{visible}}" images="{{images}}" bind:close="onClose" ></t-image-viewer> <t-toast id="t-toast" />