From dcd5065a6ed1b75b0e3c1491d267ab73b4997f11 Mon Sep 17 00:00:00 2001 From: yiming <m13691596795@163.com> Date: 星期四, 06 六月 2024 11:38:59 +0800 Subject: [PATCH] 数字教材详情 --- pages/digitalTextbooks/index.wxml | 102 ++- pages/home/home.js | 1 pages/digitalTextbooks/digitalTextbooksDetails/index.json | 8 pages/digitalTextbooks/index.wxss | 8 pages/digitalTextbooks/index.skeleton.wxml | 146 +++++ pages/digitalTextbooks/index.skeleton.wxss | 142 +++++ services/home/home.js | 12 pages/digitalTextbooks/index.js | 16 pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxss | 129 ++++ pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxml | 187 +++++++ pages/digitalTextbooks/digitalTextbooksDetails/index.wxml | 147 +++++ pages/digitalTextbooks/digitalTextbooksDetails/index.wxss | 262 ++++++++++ pages/digitalTextbooks/digitalTextbooksDetails/index.js | 363 +++++++++++++ 13 files changed, 1,463 insertions(+), 60 deletions(-) diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.js b/pages/digitalTextbooks/digitalTextbooksDetails/index.js index 1e62a7d..b31a042 100644 --- a/pages/digitalTextbooks/digitalTextbooksDetails/index.js +++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.js @@ -1,11 +1,23 @@ // pages/digitalTextbooks/digitalTextbooksDetails/index.js +import Toast from "tdesign-miniprogram/toast"; +const app = getApp() Page({ /** * 椤甸潰鐨勫垵濮嬫暟鎹� */ data: { - + digitalTextId: '', + digitalsData: {}, + isFavourite: true, + richStyle: 'font-size: 28rpx;color: #333; line-height: 48rpx;text-align: justify;margin: 20rpx; ', + briefIconClick: { + name: "/static/images/bookService/detail/tushujianjie-click.png", + }, + relatedBookData: [], + publicationDate: '', + isBuy: false, + loading: true, }, /** @@ -13,8 +25,60 @@ */ onLoad(options) { console.log(options.id); - }, + this.setData({ + digitalTextId: options.id + }) + this.digitalTextbooksDetailsGet(this.data.digitalTextId) + }, + // 鏍煎紡鍖栨棩鏈� + // 鏍煎紡鍖栨棩鏈� + formatDate(dateString) { + if (!dateString) { + return ""; + } + const match = dateString.match( + /^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/ + ); + if (!match) { + throw new Error("Invalid date format"); + } + + const [, year, month, day, hours, minutes, seconds] = match; + const date = new Date( + parseInt(year, 10), + parseInt(month, 10) - 1, + parseInt(day, 10), + parseInt(hours, 10), + parseInt(minutes, 10), + parseInt(seconds, 10) + ); + + if (isNaN(date.getTime())) { + throw new Error("Invalid date"); + } + + // 鐢变簬灏忕▼搴忕幆澧冨彲鑳戒笉鏀寔 Intl.DateTimeFormat锛屾垜浠娇鐢ㄧ畝鍖栫殑鏍煎紡鍖栨柟娉� + const formatted = `${year}骞�${this.formatMonth(month)}`; + return formatted; + }, // 绠�鍖栫殑鏈堜唤鏍煎紡鍖栧嚱鏁帮紝杩斿洖鏈堜唤鐨勪腑鏂囪〃杈� + formatMonth(month) { + const months = [ + "1鏈�", + "2鏈�", + "3鏈�", + "4鏈�", + "5鏈�", + "6鏈�", + "7鏈�", + "8鏈�", + "9鏈�", + "10鏈�", + "11鏈�", + "12鏈�", + ]; + return months[parseInt(month, 10) - 1]; + }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚 */ @@ -40,7 +104,9 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇 */ onUnload() { - + this.setData({ + digitalsData: {} + }) }, /** @@ -62,5 +128,296 @@ */ onShareAppMessage() { + }, + + + digitalTextbooksDetailsGet(digitalId) { + + let query = { + path: '*', + queryType: '*', + productId: digitalId, + storeInfo: 'jsek_digitalTextbooks', + coverSize: { + height: 300 + }, + fields: { + seriesName: [], + author: [], + isbn: [], + publicationDate: [], + bookClassification: [], + paperPrice: [], + JDLink: [], + tmallLink: [], + dangdangLink: [], + weidianLink: [], + content: [], + authorIntroduction: [], + isApplyBook: [], + isSell: [], + pdf: [], + protectedEpub: [], + probationPage: [], //pdf璇曡椤垫暟 + freeEpubPage: [], + catalogue: [] + //epub璇曡鐧惧垎姣� + } + } + app.MG.store.getProductDetail(query).then(res => { + + // console.log(res); + if (res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)) { + + this.setData({ + isBuy: true + }) + + } else { + this.setData({ + isBuy: false + }) + } + // res.datas.publicationDate = + if (res.datas.icon == '') { + res.datas.icon = '/static/images/default-book-img.png' + } + this.setData({ + publicationDate: this.formatDate(res.datas.publicationDate) + }) + res.datas.price = res.datas.price.toFixed(2) + res.datas.isFavourite = false + this.setData({ + digitalsData: res.datas + }) + + wx.setNavigationBarTitle({ + title: res.datas.name, + }) + + this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath) + + console.log(this.data.isBuy); + this.setData({ + loading: false, + + }); + }) + }, + setCoolect() { + console.log(this.data.digitalsData.id); + console.log(this.data.digitalsData.isFavourite); + this.setData({ + isFavourite: !this.data.isFavourite + }) + + + + if (this.data.digitalsData.isFavourite) { + app.MG.store + .delProductLink({ + productIds: [this.data.digitalsData.id], + linkType: 'FavoriteBookCity' + }) + .then(() => { + this.data.digitalsData.isFavourite = false + }) + } else { + let params = { + productIds: [this.data.digitalsData.id], + linkType: 'FavoriteBookCity' + } + app.MG.store.addProductLink(params).then((res) => { + this.data.digitalsData.isFavourite = true + }) + } + }, + onTabsChange(event) { + console.log(`Change tab, tab-panel value is ${event.detail.value}.`); + }, + + onTabsClick(event) { + console.log(`Click tab, tab-panel value is ${event.detail.value}.`); + }, + + // 鑾峰彇鐩稿叧鏁欐潗 + getAboutBook(path) { + let query = { + path, + queryType: '*', + coverSize: { + height: 243 + }, + paging: { + start: 0, + size: 99 + }, + fields: { + author: [], + publicationDate: [] + } + } + app.MG.store.getProductList(query).then(res => { + const Arr = res.datas.filter( + (item) => item.id != this.data.digitalsData.id + ); + let bookArr = [] + if (Arr.length) { + if (Arr.length > 9) { + for (var i = 0; i < 9; i++) { + var _num = Math.floor(Math.random() * Arr.length) + var mm = Arr[_num] + Arr.splice(_num, 1) + bookArr.push(mm) + } + } else { + bookArr = Arr + } + + bookArr.forEach(item => { + if (item.icon == '') { + item.icon = '/static/images/default-book-img.png' + } + }) + this.setData({ + relatedBookData: bookArr + }) + console.log(this.data.relatedBookData); + } else { + this.setData({ + relatedBookData: [] + }) + } + }) + }, + onCorrelationBook(e) { + + + + const item = e.currentTarget.dataset.item + + console.log(item); + this.digitalTextbooksDetailsGet(item.id) + }, + // 鍥句功娣诲姞璐墿杞� + 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) { + 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 { + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: "none", + duration: 1000, + }); + } + }, + showSuccessToast() { + Toast({ + context: this, + selector: "#t-toast", + message: "娣诲姞鎴愬姛", + theme: "success", + direction: "column", + }); + }, + + + //璐拱鎸夐挳 + + 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 + console.log(res, 'res456'); + bookOrdersId = res.orderNumber; + // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪 + if (bookOrdersId) { + if (this.data.digitalsData.price == "0.00") { + app.MG.store + .confirmOrder({ + orderNum: bookOrdersId, + }) + .then((res) => { + if (res) { + wx.showToast({ + title: "棰嗗彇鎴愬姛", + icon: "none", + duration: 1000, + }); + this.getBookInfo(this.data.bookDetail.id); + } + }); + } else { + const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id; + wx.navigateTo({ + url, + }); + } + } else { + console.log(222); + } + } else { + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: "none", + duration: 1000, + }); + } + + + + + + + + + + + + + + + } }) \ No newline at end of file diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.json b/pages/digitalTextbooks/digitalTextbooksDetails/index.json index 8835af0..8a01d68 100644 --- a/pages/digitalTextbooks/digitalTextbooksDetails/index.json +++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.json @@ -1,3 +1,9 @@ { - "usingComponents": {} + "component": true, + "usingComponents": { + "t-tabs": "tdesign-miniprogram/tabs/tabs", + "t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel", + "t-image": "tdesign-miniprogram/image/image", + "t-toast": "tdesign-miniprogram/toast/toast" + } } \ No newline at end of file diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxml b/pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxml new file mode 100644 index 0000000..bb243e4 --- /dev/null +++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxml @@ -0,0 +1,187 @@ +<!-- +姝ゆ枃浠朵负寮�鍙戣�呭伐鍏风敓鎴愶紝鐢熸垚鏃堕棿: 2024/6/6涓婂崍11:26:43 +浣跨敤鏂规硶锛� +鍦� D:\course_of_growth\jsekXcx\jsek-applet\pages\digitalTextbooks\digitalTextbooksDetails\index.wxml 寮曞叆妯℃澘 + +``` +<import src="index.skeleton.wxml"/> +<template is="skeleton" wx:if="{{loading}}" /> +``` + +鍦� D:\course_of_growth\jsekXcx\jsek-applet\pages\digitalTextbooks\digitalTextbooksDetails\index.wxss 涓紩鍏ユ牱寮� +``` +@import "./index.skeleton.wxss"; +``` + +鏇村璇︾粏淇℃伅鍙互鍙傝�冩枃妗o細https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html +--> +<template name="skeleton"> + <view class="sk-container"> + <view> + <view class="page-bookService"> + <view class="digital"> + <view class="book-box sk-image"> + <view class="textbookDetails"> + <view class="book-img"> + <view class="imageBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="setCoolect"> + <image style="width: 25px;" class="sk-image"></image> + </view> + </view> + <view class="bookContent"> + <view class="headerText sk-transparent sk-text-14-2857-678 sk-text"> + 浣撹偛涓庡仴搴凤紙绗�3鐗堬級 + </view> + <view class="content"> + <view class="styleCssBox"> + <view style="width: 75px;" class="sk-transparent sk-text-14-2857-984 sk-text"> 浣滆�咃細 </view> + <view></view> + </view> + <view class="styleCssBox"> + <view style="width: 75px;" class="sk-transparent sk-text-14-2857-115 sk-text">ISBN锛�</view> + <view></view> + </view> + <view class="styleCssBox"> + <view style="width: 75px;" class="sk-transparent sk-text-14-2857-39 sk-text"> 鍑虹増鏃堕棿锛� </view> + <view></view> + </view> + <view class="styleCssBox"> + <view style="width: 75px;" class="sk-transparent sk-text-14-2857-89 sk-text"> 瀹氫环锛� </view> + <view class="sk-transparent sk-text-14-2857-508 sk-text">锟�38.80</view> + </view> + </view> + <image class="right-background sk-image"></image> + </view> + </view> + <view class="certificate"> + <view class="publish sk-transparent sk-text-14-2857-640 sk-text">鍑虹増璇佷功</view> + <view class="curriculum sk-transparent sk-text-14-2857-770 sk-text">璇剧▼璇佷功</view> + </view> + </view> + </view> + <view style="margin-top: 10px;"> + <view class="t-tabs tabs--t-tabs t-tabs--top tabs--t-tabs--top custom-tabs" style="true"> + <view class="t-sticky sticky--t-sticky tabs--t-tabs__sticky tabs--t-tabs__sticky--top" style="z-index:1;;"> + <view class="t-sticky__content sticky--t-sticky__content " style="z-index:1;;"> + <view class="t-tabs__wrapper tabs--t-tabs__wrapper t-tabs__wrapper--line tabs--t-tabs__wrapper--line"> + <scroll-view enable-flex="true" enable-passive="true" enhanced="true" scroll-anchoring="true" scroll-with-animation="true" class="t-tabs__scroll tabs--t-tabs__scroll t-tabs__scroll--top tabs--t-tabs__scroll--top t-tabs__scroll--split tabs--t-tabs__scroll--split sk-pseudo sk-pseudo-circle" scroll-left="0" scroll-x="true"> + <view class="t-tabs__nav tabs--t-tabs__nav t-tabs__nav--top tabs--t-tabs__nav--top" style="scroll-snap-align: none;"> + <view class="t-tabs__item tabs--t-tabs__item t-tabs__item--line tabs--t-tabs__item--line t-tabs__item--evenly tabs--t-tabs__item--evenly t-tabs__item--top tabs--t-tabs__item--top t-tabs__item--active tabs--t-tabs__item--active sk-image" data-index="0"> + <view class="t-tabs__item-inner tabs--t-tabs__item-inner t-tabs__item-inner--line tabs--t-tabs__item-inner--line t-tabs__item-inner--active tabs--t-tabs__item-inner--active sk-transparent"> + <view class="t-icon icon--t-icon tabs--t-tabs__icon tabs--undefined" style="width: ; height: ;"> + <view class="t-icon--image icon--t-icon--image"> + <image class="t-icon__image icon--t-icon__image sk-image" mode="aspectFit"></image> + </view> + </view>鍩烘湰淇℃伅 + </view> + </view> + <view class="t-tabs__item tabs--t-tabs__item t-tabs__item--line tabs--t-tabs__item--line t-tabs__item--evenly tabs--t-tabs__item--evenly t-tabs__item--top tabs--t-tabs__item--top " data-index="1"> + <view class="t-tabs__item-inner tabs--t-tabs__item-inner t-tabs__item-inner--line tabs--t-tabs__item-inner--line sk-transparent"> + <view class="t-icon icon--t-icon tabs--t-tabs__icon tabs--undefined" style="width: ; height: ;"> + <view class="t-icon--image icon--t-icon--image"> + <image class="t-icon__image icon--t-icon__image sk-image" mode="aspectFit"></image> + </view> + </view>浣滆�呬俊鎭� + </view> + </view> + <view class="t-tabs__item tabs--t-tabs__item t-tabs__item--line tabs--t-tabs__item--line t-tabs__item--evenly tabs--t-tabs__item--evenly t-tabs__item--top tabs--t-tabs__item--top " data-index="2"> + <view class="t-tabs__item-inner tabs--t-tabs__item-inner t-tabs__item-inner--line tabs--t-tabs__item-inner--line sk-transparent"> + <view class="t-icon icon--t-icon tabs--t-tabs__icon tabs--undefined" style="width: ; height: ;"> + <view class="t-icon--image icon--t-icon--image"> + <image class="t-icon__image icon--t-icon__image sk-image" mode="aspectFit"></image> + </view> + </view>鐩綍 + </view> + </view> + <view class="t-tabs__item tabs--t-tabs__item t-tabs__item--line tabs--t-tabs__item--line t-tabs__item--evenly tabs--t-tabs__item--evenly t-tabs__item--top tabs--t-tabs__item--top " data-index="3"> + <view class="t-tabs__item-inner tabs--t-tabs__item-inner t-tabs__item-inner--line tabs--t-tabs__item-inner--line sk-transparent"> + <view class="t-icon icon--t-icon tabs--t-tabs__icon tabs--undefined" style="width: ; height: ;"> + <view class="t-icon--image icon--t-icon--image"> + <image class="t-icon__image icon--t-icon__image sk-image" mode="aspectFit"></image> + </view> + </view>鐩稿叧鏁欐潗 + </view> + </view> + <view class="t-tabs__track tabs--t-tabs__track t-tabs__track--top tabs--t-tabs__track--top " style="-webkit-transform: translateX(38.875px); transform: translateX(38.875px); "></view> + </view> + </scroll-view> + </view> + </view> + </view> + <view class="t-tabs__content tabs--t-tabs__content"> + <view class="t-tabs__content-inner tabs--t-tabs__content-inner custom-panel" style="true"> + <view class=" t-tab-panel panel--t-tab-panel t-is-active panel--t-is-active" style="true" id="947897dc--t_tabs_3_panel_0"> + <view class="rubricBox"> + <view class="rubricimgBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="basic sk-transparent sk-text-14-2857-357 sk-text"> 鍩烘湰淇℃伅</view> + </view> + <view style="margin: 15px;"> + <rich-text nodes="" style="font-size: 14px;color: #333; line-height: 24px;text-align: justify;margin: 10px;"></rich-text> + </view> + </view> + <view class=" t-tab-panel panel--t-tab-panel" style="height: 0;" id="4fbdafa5--t_tabs_3_panel_1"> + <view class="rubricBox"> + <view class="rubricimgBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="basic sk-transparent sk-text-14-2857-586 sk-text"> 浣滆�呬俊鎭�</view> + </view> + <view style="margin: 15px;"> + <rich-text nodes="" style="font-size: 14px;color: #333; line-height: 24px;text-align: justify;margin: 10px;"></rich-text> + </view> + </view> + <view class=" t-tab-panel panel--t-tab-panel" style="height: 0;" id="a8fe62e6--t_tabs_3_panel_2"> + <view class="rubricBox"> + <view class="rubricimgBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="basic sk-transparent sk-text-14-2857-540 sk-text"> 鐩綍</view> + </view> + <view style="margin: 15px;"> + <rich-text nodes="" style="font-size: 14px;color: #333; line-height: 24px;text-align: justify;margin: 10px;"></rich-text> + </view> + </view> + <view class=" t-tab-panel panel--t-tab-panel" style="height: 0;" id="0d4979d4--t_tabs_3_panel_3"> + <view class="correlation"> + <view data-item="[object Object]"> + <view class="correlationImage"> + <image mode="true" class="sk-image"></image> + </view> + <view class="correlationName sk-transparent sk-text-14-2857-861 sk-text">濠村辜鍎跨敓娲荤収鎶�</view> + </view> + <view data-item="[object Object]"> + <view class="correlationImage"> + <image mode="true" class="sk-image"></image> + </view> + <view class="correlationName sk-transparent sk-text-14-2857-135 sk-text">鏂版爣鍑嗛�氱敤鑱屽満鑻辫鍩虹妯″潡涓�</view> + </view> + <view data-item="[object Object]"> + <view class="correlationImage"> + <image mode="true" class="sk-image"></image> + </view> + <view class="correlationName sk-transparent sk-text-14-2857-639 sk-text">瀛﹀墠鍎跨鍗敓涓庝繚鍋�</view> + </view> + </view> + </view> + </view> + </view> + </view> + </view> + <view class="box-bottom"> + <view class="trialReading"> + <view> + <image class="t-image image--t-image t-image--shape-square image--t-image--shape-square sk-image" id="a67cec07--image" mode="scaleToFill" style="true"></image> + </view> + <view class="btn-text sk-transparent sk-text-14-2857-233 sk-text">璇曡</view> + </view> + <view class="shopCarColor sk-transparent sk-text-14-2857-769 sk-text">鍔犲叆璐墿杞�</view> + <view class="buyColor sk-transparent sk-text-14-2857-526 sk-text">绔嬪嵆璐拱</view> + </view> + </view> + </view> + </view> +</template> \ No newline at end of file diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxss b/pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxss new file mode 100644 index 0000000..aa52fff --- /dev/null +++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.skeleton.wxss @@ -0,0 +1,129 @@ +/* +姝ゆ枃浠朵负寮�鍙戣�呭伐鍏风敓鎴愶紝鐢熸垚鏃堕棿: 2024/6/6涓婂崍11:26:43 + +鍦� D:\course_of_growth\jsekXcx\jsek-applet\pages\digitalTextbooks\digitalTextbooksDetails\index.wxss 涓紩鍏ユ牱寮� +``` +@import "./index.skeleton.wxss"; +``` + +鏇村璇︾粏淇℃伅鍙互鍙傝�冩枃妗o細https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html +*/ +.sk-transparent { + color: transparent !important; + } +.sk-text-14-2857-678 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 50.4000rpx; + position: relative !important; + } +.sk-text { + background-origin: content-box !important; + background-clip: content-box !important; + background-color: transparent !important; + color: transparent !important; + background-repeat: repeat-y !important; + } +.sk-text-14-2857-984 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-115 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-39 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-89 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-508 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-640 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-770 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-357 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-586 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-540 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-861 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-135 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-639 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-233 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-769 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-526 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-image { + background: #EFEFEF !important; + } +.sk-pseudo::before, .sk-pseudo::after { + background: #EFEFEF !important; + background-image: none !important; + color: transparent !important; + border-color: transparent !important; + } +.sk-pseudo-rect::before, .sk-pseudo-rect::after { + border-radius: 0 !important; + } +.sk-pseudo-circle::before, .sk-pseudo-circle::after { + border-radius: 50% !important; + } +.sk-container { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + background-color: transparent; + } diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.wxml b/pages/digitalTextbooks/digitalTextbooksDetails/index.wxml index 3227377..2d8ebfa 100644 --- a/pages/digitalTextbooks/digitalTextbooksDetails/index.wxml +++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.wxml @@ -1,5 +1,146 @@ <!--pages/digitalTextbooks/digitalTextbooksDetails/index.wxml--> -<view> - 鏁板瓧鏁欐潗璇︽儏 +<import src="index.skeleton.wxml" /> +<template is="skeleton" wx:if="{{loading}}" /> -</view> \ No newline at end of file + +<view wx:if="{{!loading}}"> + <view class="page-bookService"> + + <view class="digital"> + <view class="book-box"> + + + <view class="textbookDetails"> + <view class="book-img"> + <view class="imageBox"> + <image src="{{digitalsData.icon}}" mode="" /> + </view> + + <view class="setCoolect"> + <image src="/static/images/bookService/detail/collect.png" style="width: 50rpx;" bind:tap="setCoolect" wx:if="{{isFavourite}}" /> + <image src="/static/images/bookService/detail/collecting.png" style="width: 50rpx;" bind:tap="setCoolect" wx:else="" /> + </view> + + + + + </view> + <view class="bookContent"> + <view class="headerText"> + {{digitalsData.name}} + </view> + <view class="content"> + <view class="styleCssBox"> + <view style="width: 150rpx;"> 浣滆�咃細 </view> + <view>{{ digitalsData.author}}</view> + </view> + <view class="styleCssBox"> + <view style="width: 150rpx;">ISBN锛�</view> + <view>{{ digitalsData.isbn}}</view> + </view> + <view class="styleCssBox"> + <view style="width: 150rpx;"> 鍑虹増鏃堕棿锛� </view> + <view>{{ publicationDate}}</view> + </view> + <view class="styleCssBox"> + <view style="width: 150rpx;"> 瀹氫环锛� </view> + <view wx:if="{{digitalsData.price !== 0}}">锟{ digitalsData.price}}</view> + <view wx:else>鍏嶈垂</view> + </view> + </view> + <image src="/static/images/bookService/detail/square.png" class="right-background" /> + </view> + + + + </view> + <view class="certificate"> + <view class="publish">鍑虹増璇佷功</view> + <view class="curriculum">璇剧▼璇佷功</view> + </view> + + + </view> + </view> + + <view style="margin-top: 20rpx;"> + <t-tabs defaultValue="{{0}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel"> + <t-tab-panel icon="{{ briefIconClick}}" label="鍩烘湰淇℃伅" value="0" style="{{tabPanelstyle}}"> + <view class="rubricBox"> + <view class="rubricimgBox"> + <image src="/static/images/bookService/detail/label.png" mode="" /> + </view> + <view class="basic"> 鍩烘湰淇℃伅</view> + </view> + <view style="margin: 30rpx;"> + <rich-text nodes="{{digitalsData.content}}" style="{{richStyle}}"></rich-text> + </view> + + </t-tab-panel> + <t-tab-panel icon="{{ briefIconClick}}" label="浣滆�呬俊鎭�" value="1" style="{{tabPanelstyle}}"> + <view class="rubricBox"> + <view class="rubricimgBox"> + <image src="/static/images/bookService/detail/author.png" mode="" /> + </view> + <view class="basic"> 浣滆�呬俊鎭�</view> + </view> + <view style="margin: 30rpx;"> + <rich-text nodes="{{digitalsData.authorIntroduction}}" style="{{richStyle}}"></rich-text> + </view> + + + </t-tab-panel> + <t-tab-panel icon="{{ briefIconClick}}" label="鐩綍" value="2" style="{{tabPanelstyle}}"> + + <view class="rubricBox"> + <view class="rubricimgBox"> + <image src="/static/images/bookService/detail/author.png" mode="" /> + </view> + <view class="basic"> 鐩綍</view> + </view> + + <view style="margin: 30rpx;"> + + + <rich-text nodes="{{digitalsData.catalogue}}" style="{{richStyle}}"></rich-text> + </view> + + + + </t-tab-panel> + <t-tab-panel icon="{{ briefIconClick}}" label="鐩稿叧鏁欐潗" value="3" style="{{tabPanelstyle}}"> + + + <view class="correlation"> + <view 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="" /> + <img wx:if="{{item.icon == ''}}" src="/static/images/default-book-img.png" alt="" /> + </view> + + <view class="correlationName">{{item.name}}</view> + </view> + </view> + + + + </t-tab-panel> + </t-tabs> + + </view> + <view class="box-bottom"> + <view class="trialReading" bind:tap="goRead"> + <view> + <t-image src="/static/images/bookService/detail/shidu.png"></t-image> + </view> + <view class="btn-text">璇曡</view> + </view> + <view class="shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!isBuy}}">鍔犲叆璐墿杞�</view> + <view class="buyColor" bind:tap="buyBtn" wx:if="{{!isBuy}}">绔嬪嵆璐拱</view> + <!-- <view class="buyColor" bind:tap="buyBtn" wx:if="{{digitalsData.price == 0}} ">鍏嶈垂棰嗗彇</view> --> + <view class="buyColor" bind:tap="goRead" wx:if="{{isBuy}}">绔嬪嵆闃呰</view> + </view> + </view> +</view> +<t-toast id="t-toast" /> \ No newline at end of file diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.wxss b/pages/digitalTextbooks/digitalTextbooksDetails/index.wxss index 57c9936..dd8edb7 100644 --- a/pages/digitalTextbooks/digitalTextbooksDetails/index.wxss +++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.wxss @@ -1 +1,261 @@ -/* pages/digitalTextbooks/digitalTextbooksDetails/index.wxss */ \ No newline at end of file +/* pages/digitalTextbooks/digitalTextbooksDetails/index.wxss */ + +@import "./index.skeleton.wxss"; + +image { + width: 100%; + height: 100%; +} + + + + +.textbookDetails { + display: flex; + flex-direction: row; + padding: 30rpx; + background-color: #fff; + border-radius: 0 0 20rpx 20rpx; +} + +.book-img { + width: 240rpx; + min-height: 340rpx; + box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); + padding: 15rpx; +} + +.setCoolect { + display: flex; + justify-content: flex-end; + width: 100%; + height: 50rpx; + margin: 10rpx 0; +} + +.imageBox { + width: 210rpx; + height: 310rpx; + margin: 0 auto; +} + +.bookContent { + margin-left: 30rpx; +} + +.right-background { + width: 160rpx; + height: 160rpx; + position: absolute; + top: 150rpx; + right: -50rpx; + z-index: 0; +} + +.content { + margin-top: 30rpx; +} + +.styleCssBox { + display: flex; + flex-direction: row; + margin: 20rpx 0; + font-size: 28rpx; +} + +.headerText { + font-weight: bold; + font-size: 36rpx; + color: #000000; +} + +.certificate { + display: flex; + align-items: center; + justify-content: space-around; + width: 100%; + height: 120rpx; + border-radius: 0 0 20rpx 20rpx; +} + +.book-box { + background: linear-gradient(to right, #FFB400, #FF6C00); + border-radius: 0 0 20rpx 20rpx; +} + + + + + +.digital { + background-color: #F2F3F8; + padding-bottom: 20rpx; +} + +.publish { + display: flex; + align-items: center; + justify-content: center; + width: 300rpx; + height: 80rpx; + background-color: #fff; +} + +.curriculum { + display: flex; + align-items: center; + justify-content: center; + width: 300rpx; + height: 80rpx; + background-color: #fff; +} + +.t-tabs__item-inner { + flex-direction: column; + color: #ff6c00; +} + +.t-tabs__item--active { + color: #FF6C00 !important; +} + +.t-tabs__track { + background-color: #FF6C00 !important; + bottom: -20rpx !important; +} + +.t-tabs__scroll--split { + height: 120rpx !important; +} + +.t-tabs__item-inner .t-icon { + margin-bottom: 10rpx; +} + +.t-tabs__item-inner .t-icon { + margin-bottom: 20rpx; +} + +.t-tabs__item-inner .t-icon__image { + width: 36rpx !important; + height: 44rpx !important; +} + +.t-tabs__nav .t-tabs__item:nth-child(3) .t-tabs__item-inner .t-icon__image { + width: 44rpx !important; + height: 40rpx !important; +} + +.t-tabs__nav .t-tabs__item { + width: 160rpx !important; + padding: 0 !important; +} + +.t-tabs__scroll { + overflow-x: auto; +} + +.t-tabs__item--evenly { + flex: 1 0 auto !important; +} + +.t-tabs .t-tabs__item--active { + background-repeat: no-repeat; + background-size: 35%; + background-position: 50% 40%; + background-image: url(https://jsek.bnuic.com/home/image/click-icon.png); +} + +.rubricBox { + display: flex; + flex-direction: row; + margin: 50rpx; + margin-bottom: 0; +} + +.rubricimgBox { + width: 40rpx; + height: 45rpx; +} + +.basic { + margin-left: 18rpx; + font-size: 32rpx; + color: #333; + font-weight: bold; +} + +.correlationImage { + width: 180rpx; + height: 255rpx; +} + +.correlation { + display: flex; + flex-direction: row; + justify-content: space-around; + margin: 30rpx; +} + +.correlationName { + width: 150rpx; + margin-top: 20rpx; + word-break: break-all; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + color: #333; + font-weight: bold; + font-size: 28rpx; +} + +.page-bookService { + width: 100vw; + height: 100%; + /* position: relative; */ +} + +.box-bottom { + position: fixed; + left: 0; + bottom: 0; + width: 100%; + height: 110rpx; + + margin-bottom: env(safe-area-inset-bottom); + display: flex; + flex-direction: row; +} + +.trialReading { + width: 50%; + height: 110rpx; + border-right: 1px solid #DDD; + background-color: #fff; + display: flex; + justify-content: center; + align-items: center; +} + +.shopCarColor { + width: 350rpx; + height: 110rpx; + border-right: 1px solid #DDD; + color: #fff; + background-color: #f0ad36; + display: flex; + justify-content: center; + align-items: center; +} + +.buyColor { + width: 50%; + height: 110rpx; + border-right: 1px solid #DDD; + color: #fff; + background-color: #f04d3b; + display: flex; + justify-content: center; + align-items: center; +} \ No newline at end of file diff --git a/pages/digitalTextbooks/index.js b/pages/digitalTextbooks/index.js index b3e1e93..f5d8a7b 100644 --- a/pages/digitalTextbooks/index.js +++ b/pages/digitalTextbooks/index.js @@ -3,6 +3,11 @@ import { getPublicImage } from "../../assets/js/middleGround/tool"; +import { + setSessionGuid, + setNewView, + storage +} from "../../assets/js/userAction"; Page({ /** @@ -17,6 +22,7 @@ selectedIndex: 0, digitalTextbooksData: [], path: "jsek_dTHigherEducation", + loading: true }, @@ -208,11 +214,13 @@ viewCount: [], ...searchObj } - }) - .then((res) => { + }).then((res) => { this.setData({ - digitalTextbooksData: res.datas + digitalTextbooksData: res.datas, + loading: false }) + + console.log(this.data.digitalTextbooksData); }) }, @@ -224,6 +232,8 @@ const item = e.currentTarget.dataset.item console.log(item); // 鍦ㄦ煇涓簨浠跺鐞嗗嚱鏁颁腑锛屾瘮濡傛寜閽殑鐐瑰嚮浜嬩欢 + setNewView('productId', item.id) + this.bookExhibitionGet() wx.navigateTo({ url: '/pages/digitalTextbooks/digitalTextbooksDetails/index?id=' + item.id }); diff --git a/pages/digitalTextbooks/index.skeleton.wxml b/pages/digitalTextbooks/index.skeleton.wxml new file mode 100644 index 0000000..1632d51 --- /dev/null +++ b/pages/digitalTextbooks/index.skeleton.wxml @@ -0,0 +1,146 @@ +<!-- +姝ゆ枃浠朵负寮�鍙戣�呭伐鍏风敓鎴愶紝鐢熸垚鏃堕棿: 2024/6/6涓婂崍11:33:06 +浣跨敤鏂规硶锛� +鍦� D:\course_of_growth\jsekXcx\jsek-applet\pages\digitalTextbooks\index.wxml 寮曞叆妯℃澘 + +``` +<import src="index.skeleton.wxml"/> +<template is="skeleton" wx:if="{{loading}}" /> +``` + +鍦� D:\course_of_growth\jsekXcx\jsek-applet\pages\digitalTextbooks\index.wxss 涓紩鍏ユ牱寮� +``` +@import "./index.skeleton.wxss"; +``` + +鏇村璇︾粏淇℃伅鍙互鍙傝�冩枃妗o細https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html +--> +<template name="skeleton"> + <view class="sk-container"> + <view class="fixed-header"> + <view style="width: 100%; height: 44px;"></view> + <view class="nacigationBar" style="width: 70%; height: 40px;"> + <view> + <view class="t-icon icon--t-icon " style="font-size: 30px;"> + <label class="t-icon-chevron-left icon--t-icon-chevron-left t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> + </view> + </view> + <view class="navBar-search t-search search--t-search " style="width: 232px;"> + <view class="t-search__input-box search--t-search__input-box t-not-focused search--t-not-focused t-search__input-box-- search--t-search__input-box-- t-search__input-box--round search--t-search__input-box--round "> + <view class="t-icon icon--t-icon search--t-icon " style="font-size: 24px;"> + <label class="t-icon-search icon--t-icon-search t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> + </view> + <view class="t-input__keyword search--t-input__keyword sk-image" cursor="0" maxlength="-1" name="input" placeholder="璇疯緭鍏ュ叧閿瘝/涔﹀悕/ISBN/浣滆��" placeholder-class=" t-search__placeholder t-search__placeholder--normal" placeholder-style="true" selection-end="-1" + selection-start="-1" type="text" value="true"></view> + </view> + </view> + </view> + <view class="tabBox"> + <view data-index="0"> + <view class="sk-transparent sk-text-14-2857-9 sk-text"> + 楂樼瓑鏁欒偛 + </view> + <view style="margin-top: 10px;"></view> + </view> + <view data-index="1" class="nameBox"> + <view class="sk-transparent sk-text-14-2857-611 sk-text"> + 鑱屼笟鏁欒偛 + </view> + <view style="margin-top: 10px;" class="bottomLineBox"></view> + </view> + <view data-index="2"> + <view class="sk-transparent sk-text-14-2857-795 sk-text"> + 鏁欏笀鏁欒偛 + </view> + <view style="margin-top: 10px;"></view> + </view> + <view data-index="3"> + <view class="sk-transparent sk-text-14-2857-936 sk-text"> + 鍩虹鏁欒偛 + </view> + <view style="margin-top: 10px;"></view> + </view> + </view> + </view> + <view class="contentBox"> + <view class="titleBox"> + <view class="frameBox"></view> + <view class="titleTextBox"> + <view class="sk-transparent sk-text-14-2857-285 sk-text">鏁板瓧鏁欐潗鍒楄〃</view> + </view> + </view> + <view class="bookContentBox"> + <view class="external" data-item="[object Object]"> + <view class="amountClick"> + <view class="t-icon icon--t-icon " style="font-size: 15px;"> + <label class="t-icon-browse icon--t-icon-browse t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> + </view> + <view style="margin-left: 2px;" class="sk-transparent sk-text-14-2857-217 sk-text">41</view> + </view> + <view class="imageBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="bookName sk-transparent sk-text-14-2857-567 sk-text">浣撹偛涓庡仴搴凤紙绗�3鐗堬級</view> + <view class="information"> + <view class="sk-transparent sk-opacity">-</view> + <view class="price sk-transparent sk-text-14-2857-919 sk-text">锟�38.8</view> + </view> + </view> + <view class="external" data-item="[object Object]"> + <view class="amountClick"> + <view class="t-icon icon--t-icon " style="font-size: 15px;"> + <label class="t-icon-browse icon--t-icon-browse t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> + </view> + <view style="margin-left: 2px;" class="sk-transparent sk-text-14-2857-267 sk-text">34</view> + </view> + <view class="imageBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="bookName sk-transparent sk-text-14-2857-920 sk-text">濠村辜鍎跨敓娲荤収鎶�</view> + <view class="information"> + <view class="book-author sk-transparent sk-text-14-2857-788 sk-text"> + 璧甸潚 + </view> + <view class="price sk-transparent sk-text-14-2857-635 sk-text"> 鍏嶈垂</view> + </view> + </view> + <view class="external" data-item="[object Object]"> + <view class="amountClick"> + <view class="t-icon icon--t-icon " style="font-size: 15px;"> + <label class="t-icon-browse icon--t-icon-browse t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> + </view> + <view style="margin-left: 2px;" class="sk-transparent sk-text-14-2857-575 sk-text">186</view> + </view> + <view class="imageBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="bookName sk-transparent sk-text-14-2857-586 sk-text">鏂版爣鍑嗛�氱敤鑱屽満鑻辫鍩虹妯″潡涓�</view> + <view class="information"> + <view class="book-author sk-transparent sk-text-14-2857-82 sk-text"> + 鐜嬫湞鏅栨�讳富缂� + </view> + <view class="price sk-transparent sk-text-14-2857-5 sk-text">锟�0.01</view> + </view> + </view> + <view class="external" data-item="[object Object]"> + <view class="amountClick"> + <view class="t-icon icon--t-icon " style="font-size: 15px;"> + <label class="t-icon-browse icon--t-icon-browse t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> + </view> + <view style="margin-left: 2px;" class="sk-transparent sk-text-14-2857-620 sk-text">129</view> + </view> + <view class="imageBox"> + <image mode="true" class="sk-image"></image> + </view> + <view class="bookName sk-transparent sk-text-14-2857-616 sk-text">瀛﹀墠鍎跨鍗敓涓庝繚鍋�</view> + <view class="information"> + <view class="book-author sk-transparent sk-text-14-2857-82 sk-text"> + 寮犲叞棣� 娼樼钀� + </view> + <view class="price sk-transparent sk-text-14-2857-116 sk-text"> 鍏嶈垂</view> + </view> + </view> + </view> + </view> + </view> +</template> \ No newline at end of file diff --git a/pages/digitalTextbooks/index.skeleton.wxss b/pages/digitalTextbooks/index.skeleton.wxss new file mode 100644 index 0000000..0c073ed --- /dev/null +++ b/pages/digitalTextbooks/index.skeleton.wxss @@ -0,0 +1,142 @@ +/* +姝ゆ枃浠朵负寮�鍙戣�呭伐鍏风敓鎴愶紝鐢熸垚鏃堕棿: 2024/6/6涓婂崍11:33:06 + +鍦� D:\course_of_growth\jsekXcx\jsek-applet\pages\digitalTextbooks\index.wxss 涓紩鍏ユ牱寮� +``` +@import "./index.skeleton.wxss"; +``` + +鏇村璇︾粏淇℃伅鍙互鍙傝�冩枃妗o細https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html +*/ +.sk-transparent { + color: transparent !important; + } +.sk-text-14-2857-9 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text { + background-origin: content-box !important; + background-clip: content-box !important; + background-color: transparent !important; + color: transparent !important; + background-repeat: repeat-y !important; + } +.sk-text-14-2857-611 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-795 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-936 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-285 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 44.8000rpx; + position: relative !important; + } +.sk-text-14-2857-217 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-567 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-opacity { + opacity: 0 !important; + } +.sk-text-14-2857-919 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-267 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-920 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-788 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-635 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-575 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-586 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-82 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-5 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-620 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-text-14-2857-616 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 39.2000rpx; + position: relative !important; + } +.sk-text-14-2857-116 { + background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; + background-size: 100% 33.6000rpx; + position: relative !important; + } +.sk-image { + background: #EFEFEF !important; + } +.sk-pseudo::before, .sk-pseudo::after { + background: #EFEFEF !important; + background-image: none !important; + color: transparent !important; + border-color: transparent !important; + } +.sk-pseudo-rect::before, .sk-pseudo-rect::after { + border-radius: 0 !important; + } +.sk-pseudo-circle::before, .sk-pseudo-circle::after { + border-radius: 50% !important; + } +.sk-container { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + background-color: transparent; + } diff --git a/pages/digitalTextbooks/index.wxml b/pages/digitalTextbooks/index.wxml index 94baf84..27567e6 100644 --- a/pages/digitalTextbooks/index.wxml +++ b/pages/digitalTextbooks/index.wxml @@ -1,63 +1,71 @@ <!--pages/digitalTextbooks/digitalTextbooks.wxml--> - -<view class="fixed-header"> - <view style="width: 100%; height: {{barHeight}}px;"></view> - <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> - <view> - <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> - </view> - <t-search model:value="{{searchValue}}" shape="round" placeholder="璇疯緭鍏ュ叧閿瘝/涔﹀悕/ISBN/浣滆��" class="navBar-search" style="width: 464rpx" bind:submit="searchBook" /> - </view> +<import src="index.skeleton.wxml" /> +<template is="skeleton" wx:if="{{loading}}" /> +<view wx:if="{{!loading}}"> - <view class="tabBox"> - <view wx:for="{{tabList}}" wx:key="index" wx:for-item="item" wx:for-index="index" class="{{selectedIndex == index? 'nameBox' :''}}" data-index="{{index}}" bind:tap="selectTab"> + + <view class="fixed-header"> + <view style="width: 100%; height: {{barHeight}}px;"></view> + <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> <view> - {{item.name}} + <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> </view> - <view style="margin-top: 20rpx; " class="{{selectedIndex == index? 'bottomLineBox' :''}}"></view> + <t-search model:value="{{searchValue}}" shape="round" placeholder="璇疯緭鍏ュ叧閿瘝/涔﹀悕/ISBN/浣滆��" class="navBar-search" style="width: 464rpx" bind:submit="searchBook" /> </view> - </view> - -</view> -<view class="contentBox"> - - <view class="titleBox"> - <view class="frameBox"></view> - <view class="titleTextBox"> - <!-- <image src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="aspectFit" /> --> - - <view>鏁板瓧鏁欐潗鍒楄〃</view> - </view> - </view> - - - - <view class="bookContentBox"> - <view class="external" wx:for="{{digitalTextbooksData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="jumpDetails"> - <view class="amountClick"> - <t-icon name="browse" size="15" data-name="{{item}}" bind:click="goBack" /> - <view>{{item.viewCount}}</view> - </view> - <view class="imageBox"> - <image src="{{item.icon ? item.icon : '/static/images/default-book-img.png'}}" mode="" /> - </view> - <view class="bookName">{{item.name}}</view> - <view class="information"> - <view wx:if="{{item.author}}" class="book-author"> - {{ item.author }} + <view class="tabBox"> + <view wx:for="{{tabList}}" wx:key="index" wx:for-item="item" wx:for-index="index" class="{{selectedIndex == index? 'nameBox' :''}}" data-index="{{index}}" bind:tap="selectTab"> + <view> + {{item.name}} </view> - <view wx:else>-</view> - <view wx:if="{{item.price == 0}}" class="price"> 鍏嶈垂</view> - <view wx:else class="price">锟{ item.price }}</view> + <view style="margin-top: 20rpx; " class="{{selectedIndex == index? 'bottomLineBox' :''}}"></view> </view> </view> - <view wx:if="{{!digitalTextbooksData.length }}" class="noData"> - <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> + + </view> + + + + <view class="contentBox"> + + <view class="titleBox"> + <view class="frameBox"></view> + <view class="titleTextBox"> + <!-- <image src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="aspectFit" /> --> + + <view>鏁板瓧鏁欐潗鍒楄〃</view> + </view> + </view> + + + + <view class="bookContentBox"> + <view class="external" wx:for="{{digitalTextbooksData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="jumpDetails"> + <view class="amountClick"> + <t-icon name="browse" size="15" data-name="{{item}}" bind:click="goBack" /> + <view style="margin-left: 5rpx;">{{item.viewCount}}</view> + </view> + <view class="imageBox"> + <image src="{{item.icon ? item.icon : '/static/images/default-book-img.png'}}" mode="" /> + </view> + <view class="bookName">{{item.name}}</view> + <view class="information"> + <view wx:if="{{item.author}}" class="book-author"> + {{ item.author }} + </view> + <view wx:else>-</view> + <view wx:if="{{item.price == 0}}" class="price"> 鍏嶈垂</view> + <view wx:else class="price">锟{ item.price }}</view> + </view> + </view> + <view wx:if="{{!digitalTextbooksData.length }}" class="noData"> + <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> + </view> </view> </view> + </view> \ No newline at end of file diff --git a/pages/digitalTextbooks/index.wxss b/pages/digitalTextbooks/index.wxss index 41e8c87..f8b7110 100644 --- a/pages/digitalTextbooks/index.wxss +++ b/pages/digitalTextbooks/index.wxss @@ -1,4 +1,5 @@ /* pages/digitalTextbooks/index.wxss */ +@import "./index.skeleton.wxss"; .nacigationBar { display: flex; @@ -47,6 +48,10 @@ width: 50rpx; background-color: #FF6C00; margin: 0 auto; +} + +page { + background-color: #F2F3F8; } .contentBox { @@ -117,7 +122,8 @@ flex-direction: row; justify-content: flex-end; align-items: center; - font-size: 30rpx; + font-size: 25rpx; + color: rgb(153, 153, 153); } diff --git a/pages/home/home.js b/pages/home/home.js index 54de09d..0feef1c 100644 --- a/pages/home/home.js +++ b/pages/home/home.js @@ -151,6 +151,7 @@ //鐐瑰嚮鐩綍 toPages(item) { let info = item.target.dataset.info + console.log(info); if (info.url) { if (info.text == "鍥句功鏈嶅姟") { wx.switchTab({ diff --git a/services/home/home.js b/services/home/home.js index 8c27ad4..df55b53 100644 --- a/services/home/home.js +++ b/services/home/home.js @@ -23,12 +23,22 @@ icon: '/static/images/home/shuzikecheng@2x.png', url: '', }, + + + + + { text: '鏁板瓧鏁欐潗', key: 3, icon: '/static/images/home/shuzijiaocai@2x.png', - url: '', + url: '/pages/digitalTextbooks/index', }, + + + + + { text: '涓撻璁ㄨ', key: 4, -- Gitblit v1.9.1