From 103db27cd0ca6b3305e95170dc297380f97fcc70 Mon Sep 17 00:00:00 2001 From: yiming <m13691596795@163.com> Date: 星期四, 25 四月 2024 17:05:47 +0800 Subject: [PATCH] bug3 --- packageDomain/pages/resourceDetails/document/index.wxss | 1 packageBookService/pages/bookServices/list/index.wxss | 5 packageDomain/pages/resourceDetails/document/index.wxml | 6 packageBookService/pages/bookServices/detail/index.wxml | 2 packageBookService/pages/bookServices/detail/index.wxss | 4 pages/bookExhibitionDetails/index.js | 6 assets/js/config.js | 8 pages/bibliographyList/index.json | 3 packageBookService/pages/bookServices/detail/index.js | 2 pages/retrievalPage/index.js | 5 pages/bookExhibitionDetails/index.wxml | 4 pages/bookExhibitionDetails/index.wxss | 3 packageBookService/pages/bookServices/detail/components/tree/components/util.js | 4 pages/cart/paymentPage/index.wxml | 38 - pages/cart/paymentPage/index.wxss | 32 packageDomain/pages/resourceDetails/myVideo/index.js | 18 packageDomain/pages/resourceDetails/myAudio/index.js | 70 - packageDomain/pages/resourceDetails/document/index.json | 3 pages/retrievalPage/index.wxss | 7 app.json | 1 /dev/null | 1281 --------------------------------------------- packageDomain/pages/resourceDetails/document/index.js | 14 pages/cart/paymentPage/index.json | 3 pages/cart/paymentPage/index.js | 34 + pages/bibliographyList/index.wxml | 13 pages/bookExhibitionDetails/index.json | 1 pages/bibliographyList/index.wxss | 18 pages/bibliographyList/index.js | 39 28 files changed, 177 insertions(+), 1,448 deletions(-) diff --git a/app.json b/app.json index 8e696a3..1bb2d0d 100644 --- a/app.json +++ b/app.json @@ -105,7 +105,6 @@ "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", - "navigationBarTitleText": "浜笀E璇�", "navigationBarTextStyle": "black" }, "sitemapLocation": "sitemap.json", diff --git a/assets/js/config.js b/assets/js/config.js index 458bd1a..c98d8ff 100644 --- a/assets/js/config.js +++ b/assets/js/config.js @@ -1,7 +1,7 @@ -// export const requestCtx = "http://182.92.203.7:3001"; // 璇锋眰鍦板潃 -// export const appId = 27; -export const requestCtx = "https://jsek.bnuic.com"; // 璇锋眰鍦板潃 -export const appId = 3; +export const requestCtx = "http://182.92.203.7:3001"; // 璇锋眰鍦板潃 +export const appId = 27; +// export const requestCtx = "https://jsek.bnuic.com"; // 璇锋眰鍦板潃 +// export const appId = 3; // export const epubUrl = "http://182.92.203.7:3007/epubReadMobile/"; export const epubUrl = "https://jsek.bnuic.com/epubReadMobile/#/"; export const pdfUrl = "http://182.92.203.7:3007/pdfRead/"; diff --git a/packageBookService/pages/bookServices/detail/components/tree/components/util.js b/packageBookService/pages/bookServices/detail/components/tree/components/util.js index f8a3bc2..c316097 100644 --- a/packageBookService/pages/bookServices/detail/components/tree/components/util.js +++ b/packageBookService/pages/bookServices/detail/components/tree/components/util.js @@ -11,7 +11,7 @@ wx.hideNavigationBarLoading() } -const hideLoadingWithErrorTips = (err = '鍔犺浇澶辫触...') => { +const hideLoadingWithErrorTips = (err = '璧勬簮涓嶅彲鐢紝璇疯仈绯荤鐞嗗憳') => { hideLoading() wx.showToast({ title: err, @@ -24,4 +24,4 @@ showLoading: showLoading, hideLoading: hideLoading, hideLoadingWithErrorTips: hideLoadingWithErrorTips, -} +} \ No newline at end of file diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js index ff204b8..f09856e 100644 --- a/packageBookService/pages/bookServices/detail/index.js +++ b/packageBookService/pages/bookServices/detail/index.js @@ -1477,8 +1477,6 @@ const confirmOrderRes = await app.MG.store.confirmOrder(parameter); console.log(confirmOrderRes.orderNumber, 'confirmOrderRes.orderNumber'); - - if (confirmOrderRes.orderNumber) { child.changeReceive(false); wx.showToast({ diff --git a/packageBookService/pages/bookServices/detail/index.wxml b/packageBookService/pages/bookServices/detail/index.wxml index d33f284..a73e89e 100644 --- a/packageBookService/pages/bookServices/detail/index.wxml +++ b/packageBookService/pages/bookServices/detail/index.wxml @@ -145,7 +145,7 @@ </t-tab-panel> <t-tab-panel label="浜戝涔�" icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" style="{{tabPanelstyle}}"> <view wx:if="{{!loading && learn.length}}"> - <learn-resource bind:getFreeResource="getFreeResource" bind:allAddShoppiingCar="allAddShoppiingCar" id="learn-resource" buyResourceData="{{buyResourceData}}" bookId="{{bookDetail.id}}" isshowDrawBtn="{{isshowDrawBtn}}" successOrderNumber="{{successOrderNumber}}" ></learn-resource> + <learn-resource bind:getFreeResource="getFreeResource" bind:allAddShoppiingCar="allAddShoppiingCar" id="learn-resource" buyResourceData="{{buyResourceData}}" bookId="{{bookDetail.id}}" isshowDrawBtn="{{isshowDrawBtn}}" successOrderNumber="{{successOrderNumber}}"></learn-resource> <tree id="tree" openIds="{{openLearnids}}" bookInfo="{{bookDetail}}" tab="{{tabValue}}" treeList="{{learn}}" buyIds="{{buyIdList}}" openLearnids="{{openLearnids}}" bind:updateShoppingCartHidden="updateShoppingCartHidden" bind:updateCloudLearning="updateCloudLearning"></tree> </view> diff --git a/packageBookService/pages/bookServices/detail/index.wxss b/packageBookService/pages/bookServices/detail/index.wxss index c1e615d..7f58a86 100644 --- a/packageBookService/pages/bookServices/detail/index.wxss +++ b/packageBookService/pages/bookServices/detail/index.wxss @@ -461,6 +461,6 @@ overflow-x: auto; } -.t-collapse-panel__content { +/* .t-collapse-panel__content { padding: 0rpx !important; -} \ No newline at end of file +} */ \ No newline at end of file diff --git a/packageBookService/pages/bookServices/list/index.wxss b/packageBookService/pages/bookServices/list/index.wxss index 02451f1..d2a9887 100644 --- a/packageBookService/pages/bookServices/list/index.wxss +++ b/packageBookService/pages/bookServices/list/index.wxss @@ -1,5 +1,6 @@ /* pages/bookServices/list/index.wxss */ @import "./index.skeleton.wxss"; + page { background-color: #f7f7f7; } @@ -253,4 +254,8 @@ .refresh-container { margin: 0 auto; +} + +.t-radio { + font-size: var(--td-radio-font-size, 28rpx) !important; } \ No newline at end of file diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js index e31b22c..22a42c8 100644 --- a/packageDomain/pages/resourceDetails/document/index.js +++ b/packageDomain/pages/resourceDetails/document/index.js @@ -30,6 +30,18 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad(options) { + + wx.setNavigationBarTitle({ + title: '璧勬簮璇︽儏' + }); + + + + + + + + console.log(options); const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 @@ -252,7 +264,7 @@ console.log(item, 'item11111'); if (item.selectType == 'picture') { this.setData({ - + showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile, }) diff --git a/packageDomain/pages/resourceDetails/document/index.json b/packageDomain/pages/resourceDetails/document/index.json index 1e94fa8..b556230 100644 --- a/packageDomain/pages/resourceDetails/document/index.json +++ b/packageDomain/pages/resourceDetails/document/index.json @@ -4,6 +4,5 @@ "t-icon": "tdesign-miniprogram/icon/icon", "t-button": "tdesign-miniprogram/button/button", "t-image": "tdesign-miniprogram/image/image" - }, - "navigationStyle": "custom" + } } \ No newline at end of file diff --git a/packageDomain/pages/resourceDetails/document/index.wxml b/packageDomain/pages/resourceDetails/document/index.wxml index 6ba0a7c..662c9b1 100644 --- a/packageDomain/pages/resourceDetails/document/index.wxml +++ b/packageDomain/pages/resourceDetails/document/index.wxml @@ -1,4 +1,4 @@ -<view style="width: 100%; height: {{barHeight}}px; "></view> +<!-- <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" /> @@ -6,11 +6,11 @@ <view class="navbar-title">璧勬簮璇︽儏</view> </view> +--> + <view class="titleNameBox" wx:if="{{selectType != 'webpage'}}"> {{titleName}} </view> - - <view class="pictureBox" wx:if="{{selectType == 'picture'}}"> <image src="{{showData}}" mode="aspectFit" /> diff --git a/packageDomain/pages/resourceDetails/document/index.wxss b/packageDomain/pages/resourceDetails/document/index.wxss index 2375ebb..00a5896 100644 --- a/packageDomain/pages/resourceDetails/document/index.wxss +++ b/packageDomain/pages/resourceDetails/document/index.wxss @@ -59,6 +59,7 @@ .pictureBox { display: flex; justify-content: center; + margin-top: 160rpx; } .pictureBox image { diff --git a/packageDomain/pages/resourceDetails/myAudio/index.js b/packageDomain/pages/resourceDetails/myAudio/index.js index 7000199..16bbcb0 100644 --- a/packageDomain/pages/resourceDetails/myAudio/index.js +++ b/packageDomain/pages/resourceDetails/myAudio/index.js @@ -120,7 +120,6 @@ } this.resourceDetailsData() this.getNoteList() - console.log(options, 'options'); }, /** @@ -289,7 +288,6 @@ this.data.threeLeveData.push(item); } }); - // console.log(this.data.threeLeveData); this.data.threeLeveData.forEach((items, indexs) => { if (this.data.productLinkPath == items.productLinkPath) { selectedId = indexs; @@ -302,7 +300,6 @@ if (this.data.formPath == 'jsek_cloudLearning') { showDataUrl = app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + datas.protectedFile + '&token=' + wx.getStorageSync(app.config.tokenKey); } else { - console.log(datas); showDataUrl = datas.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.freeFile } titleName = datas.name; @@ -348,14 +345,13 @@ this.pubulicPlayFun() } else { - console.log(item.file, 'item.file'); - console.log(item.freeFile, 'item.freeFile'); + this.setData({ showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile }) this.pubulicPlayFun() - console.log(this.data.showData, 'showData'); + } } @@ -367,7 +363,6 @@ productId: this.data.bookId, appRefCode: app.config.appRefCode }).then((res) => { - // console.log(res); this.setData({ topicId: res.id }) @@ -386,13 +381,13 @@ newDataListRequest: [] } app.MG.ugc.newTopicMessage(query).then(res => { - // console.log(res); + }) }, // 鏍囬鏀瑰彉 changeTitle(e) { - // console.log(e.currentTarget.dataset.value); + this.setData({ flag: e.currentTarget.dataset.value }) @@ -422,8 +417,7 @@ } else if (this.data.submitType == 'edit') { this.updateNote() } - // console.log(this.data.textvalue); - // console.log(this.data.titleName); + this.setData({ dialogKey: false }); @@ -432,7 +426,7 @@ }, onTextarea() { - // console.log(this.data.textvalue); + }, textareaChange(e) { this.setData({ @@ -481,9 +475,8 @@ this.setData({ "pageCount.total": res.totalSize, noteList: res.datas, - // loading: false }) - // console.log('绗旇鍒楄〃', res.datas); + }) }, // 缂栬緫鎸夐挳 @@ -497,7 +490,7 @@ noteId: note.id, dialogKey: true, }) - console.log(this.data.submitTitle); + // this.showDialog() }, @@ -534,15 +527,7 @@ }, // 鏂板缓绗旇鎺ュ彛 async makeNote() { - // const token = wx.getStorageSync('jsek-token') - // if (!token) { - // return wx.getUserProfile({ - // desc: '鐢ㄦ埛鐧诲綍', - // success: (res) => { - // // console.log(res); - // } - // }) - // } + let topicId await app.MG.ugc .getProductUserSubmitTopic({ @@ -620,23 +605,14 @@ }, // 鎾斁鍏叡浠g爜 pubulicPlayFun() { - // debugger - console.log(myAudio.src, 'myAudio.src'); - console.log(this.data.showData, 'this.data.showData'); this.setData({ speed: 1.0, }) myAudio.playbackRate = this.data.speed; - myAudio.src = this.data.showData - - // console.log(myAudio.src); // 鍦╫nCanplay閲岃幏鍙栧苟璁剧疆闊抽鏃堕暱鍜屾挱鏀捐繘搴� myAudio.onCanplay(() => { - - - myAudio.duration; //蹇呴』鍐欙紝涓嶇劧鑾峰彇涓嶅埌 setTimeout(() => { this.setData({ @@ -646,8 +622,7 @@ }, 100); }); - console.log(this.data.myAudioDuration); - console.log(this.data.myAudioCurrent); + // 鎾斁瀹屾垚澶勭悊锛屾寜閽彉涓�涓� myAudio.onEnded((res) => { @@ -659,17 +634,13 @@ //杩涘害鏉″彉鍖� myAudio.onTimeUpdate(() => { - // console.log(this.format(myAudio.duration)); this.setData({ myAudioPos: myAudio.currentTime / myAudio.duration * 100, myAudioCurrent: this.format(myAudio.currentTime), myAudioDuration: this.format(myAudio.duration), - }); }) - console.log(this.data.myAudioCurrent); - console.log(this.data.myAudioDuration); - console.log(this.data.myAudioPos); + myAudio.play(); @@ -730,7 +701,7 @@ // 宸﹀彸鍒囨崲 changeItem(item) { - console.log(item); + if (this.data.showData != '') { this.setData({ @@ -764,7 +735,7 @@ } setTimeout(() => { - console.log(this.data.speed, 'this.data.speed'); + myAudio.startTime = this.data.myAudioDuration //寮�濮嬫椂闂� myAudio.playbackRate = this.data.speed; // 鎾斁閫熺巼 }, 200); @@ -772,13 +743,13 @@ // 鎷栧姩杩涘害鏉★紝鍒版寚瀹氫綅缃� hanle_slider_change(e) { + console.log(); const position = e.detail.value; var currentTime = position / 100 * myAudio.duration; myAudio.seek(currentTime); this.setData({ myAudioPos: position, myAudioCurrent: this.format(currentTime) - }) }, @@ -829,16 +800,5 @@ myAudio.playbackRate = this.data.speed; // 鎾斁閫熺巼 }, 200); }, - // 浜戝涔犲鐞嗗凡璐拱姝e紡鏂囦欢 - handleFile() { - console.log(1111); - }, - // 浜戝涔犺瘯鐪嬪鐞� - handleFreeFile() { - console.log(2222); - }, - // 鍒ゆ柇璧勬簮鏄惁璐拱 - resourceIsBuy() { - console.log(333); - } + }) \ No newline at end of file diff --git a/packageDomain/pages/resourceDetails/myVideo/index.js b/packageDomain/pages/resourceDetails/myVideo/index.js index b9898fc..63118dd 100644 --- a/packageDomain/pages/resourceDetails/myVideo/index.js +++ b/packageDomain/pages/resourceDetails/myVideo/index.js @@ -34,13 +34,13 @@ style: 'height: 248rpx', submitType: "new", // 鏂板缓 or 缂栬緫 noteId: '', - videoChange: true, startTime: "", //杩涘叆椤甸潰褰撳墠鏃堕棿 pauseTime: 0, //鏆傚仠鏃堕棿 formPath: '', loading: true, - hidden: true + hidden: true, + videoError: false }, // 鏍煎紡鍖栫瑪璁版椂闂� convertTimestamp(timestamp) { @@ -60,9 +60,7 @@ onLoad(options) { wx.setNavigationBarTitle({ - - title: '璧勬簮璇︽儏-闊抽' - + title: '璧勬簮璇︽儏-瑙嗛' }); const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 @@ -248,7 +246,7 @@ }) } else { this.setData({ - showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + items.file, + showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile, titleName: items.name }) } @@ -298,7 +296,7 @@ }) } else { this.setData({ - showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file + showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile, }) } @@ -564,5 +562,11 @@ }, videoErrorCallback(e) { console.log(e); + }, + videoError: function (e) { + console.log('瑙嗛鍔犺浇澶辫触', e); + this.setData({ + videoError: true + }); } }) \ No newline at end of file diff --git a/pages/bibliographyList/index.js b/pages/bibliographyList/index.js index 7529409..2432d98 100644 --- a/pages/bibliographyList/index.js +++ b/pages/bibliographyList/index.js @@ -1,4 +1,5 @@ // pages/bibliographyList/index.js +import Toast from 'tdesign-miniprogram/toast/index'; const app = getApp() const config = Page({ @@ -310,20 +311,32 @@ const item = event.currentTarget.dataset.item console.log(item); - wx.navigateTo({ - url: "/packageBookService/pages/components/webView/index?md5=" + - item.freeFile + - "&fileName=" + - item.name + - "&fileType=" + - item.fileType + "&bookBuy=true" - // "&freePage=" + - // this.data.fileInfo.freePage + + if (item.fileType == "pdf") { + wx.navigateTo({ + url: "/packageBookService/pages/components/webView/index?md5=" + + item.freeFile + + "&fileName=" + + item.name + + "&fileType=" + + item.fileType + "&bookBuy=true" + // "&freePage=" + + // this.data.fileInfo.freePage + - // + - // "&bookId=" + - // this.data.bookDetail.id, - }); + // + + // "&bookId=" + + // this.data.bookDetail.id, + }); + } else { + Toast({ + context: this, + selector: '#t-toast', + message: '姝や功涓嶈兘鏌ョ湅', + theme: 'warning', + direction: 'column', + }); + console.log(456); + } + }, diff --git a/pages/bibliographyList/index.json b/pages/bibliographyList/index.json index ff56726..cd98246 100644 --- a/pages/bibliographyList/index.json +++ b/pages/bibliographyList/index.json @@ -10,7 +10,8 @@ "t-empty": "tdesign-miniprogram/empty/empty", "t-button": "tdesign-miniprogram/button/button", "t-input": "tdesign-miniprogram/input/input", - "t-dialog": "tdesign-miniprogram/dialog/dialog" + "t-dialog": "tdesign-miniprogram/dialog/dialog", + "t-toast": "tdesign-miniprogram/toast/toast" }, "navigationStyle": "custom", "enablePullDownRefresh": true, diff --git a/pages/bibliographyList/index.wxml b/pages/bibliographyList/index.wxml index d0cbda9..61c8f19 100644 --- a/pages/bibliographyList/index.wxml +++ b/pages/bibliographyList/index.wxml @@ -24,9 +24,6 @@ <t-search model:value="{{value}}" placeholder="璇疯緭鍏ヤ功鐩悕绉�" bind:submit="onSearchSubmit"> </t-search> <!-- <t-icon slot="left-icon" prefix="wr" name="search" size="40rpx" color="#bbb" /> --> - - - </view> </view> @@ -47,8 +44,9 @@ <view class="higherBox" wx:for="{{higherList}}" wx:key="index" wx:for-item="item" wx:for-index="index"> <view class="outsideHigherImageBox"> <view class="higherImageBox"> + <image wx:if="{{item.icon}}" data-item="{{item}}" bind:tap="downloadData" src="{{item.icon}}" mode="aspectFill" /> - <image wx:if="{{!item.icon}}" src="/static/images/default-book-img.png" mode="aspectFill" /> + <image wx:if="{{!item.icon}}" src="/static/images/default-book-img.png" mode="aspectFill" data-item="{{item}}" bind:tap="downloadData" /> <view class="downloadIcon" data-item="{{item}}" data-key="showWithInput" bind:tap="mailbox"> <image wx:if="{{determine}}" class="download" src="/static/images/bibliographyList/email-click.png" mode="aspectFit" /> <image wx:else="" class="downloadshiftin" src="/static/images/bibliographyList/email.png" mode="aspectFit" /> @@ -76,7 +74,7 @@ <view class="outsideHigherImageBox"> <view class="higherImageBox"> <image wx:if="{{item.icon}}" data-item="{{item}}" bind:tap="downloadData" src="{{item.icon}}" mode="aspectFill" /> - <image wx:if="{{!item.icon}}" src="/static/images/default-book-img.png" mode="aspectFill" /> + <image wx:if="{{!item.icon}}" src="/static/images/default-book-img.png" mode="aspectFill" data-item="{{item}}" bind:tap="downloadData" /> <view class="downloadIcon" data-item="{{item}}" data-key="showWithInput" bind:tap="mailbox"> <image wx:if="{{determine}}" class="download" src="/static/images/bibliographyList/email-click.png" mode="aspectFit" /> <image wx:else="" class="downloadshiftin" src="/static/images/bibliographyList/email.png" mode="aspectFit" /> @@ -103,7 +101,7 @@ <view class="outsideHigherImageBox"> <view class="higherImageBox"> <image wx:if="{{item.icon}}" data-item="{{item}}" bind:tap="downloadData" src="{{item.icon}}" mode="aspectFill" /> - <image wx:if="{{!item.icon}}" src="/static/images/default-book-img.png" mode="aspectFill" /> + <image wx:if="{{!item.icon}}" src="/static/images/default-book-img.png" mode="aspectFill" data-item="{{item}}" bind:tap="downloadData" /> <view class="downloadIcon" data-item="{{item}}" data-key="showWithInput" bind:tap="mailbox"> <image wx:if="{{determine}}" class="download" src="/static/images/bibliographyList/email-click.png" mode="aspectFit" /> <image wx:else="" class="downloadshiftin" src="/static/images/bibliographyList/email.png" mode="aspectFit" /> @@ -130,4 +128,5 @@ </t-dialog> </view> -</view> \ No newline at end of file +</view> +<t-toast id="t-toast" /> \ No newline at end of file diff --git a/pages/bibliographyList/index.wxss b/pages/bibliographyList/index.wxss index eb196ef..5a3bbaf 100644 --- a/pages/bibliographyList/index.wxss +++ b/pages/bibliographyList/index.wxss @@ -27,8 +27,9 @@ .higherBox { width: 220rpx; /* height: 390rpx; */ - box-shadow: 10rpx 10rpx 10rpx 10rpx rgba(0, 0, 0, 0.08); + /* box-shadow: 10rpx 10rpx 10rpx 10rpx rgba(0, 0, 0, 0.08); */ margin: 30rpx 15rpx; + background-color: #fff; } .outsideHigherBox { @@ -116,6 +117,7 @@ .t-tabs__track { background-color: #FF6C00 !important; + /* height: var(--td-tab-track-thickness, 0rpx) !important; */ } .bottom-box { @@ -157,11 +159,7 @@ } .contentBox { - margin-top: 200rpx; - /* - -webkit-transform: translateX(52.796875px); - transform: translateX(52.796875px); */ - + margin-top: 180rpx; } .noDataBox { @@ -228,11 +226,15 @@ /* background-size: 100% 100%; background-position: 100% 100%; */ background-image: url(https://jsek.bnuic.com/home/image/click-icon.png); - background-position: 90% center; - background-size: 30% 60%; + background-position: 85% center; + background-size: 30% 50%; /* 灏嗚儗鏅浘鐗囦綅缃缃负闈犲彸 */ } .t-search__input-box .t-input__keyword { font-size: var(--td-search-font-size, var(--td-font-size-m, 28rpx)) !important; +} + +page { + background: #F2F3F8; } \ No newline at end of file diff --git a/pages/bookExhibitionDetails/index.js b/pages/bookExhibitionDetails/index.js index 21ac2b4..8a752fa 100644 --- a/pages/bookExhibitionDetails/index.js +++ b/pages/bookExhibitionDetails/index.js @@ -27,6 +27,8 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad(options) { + + const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴� @@ -47,6 +49,10 @@ this.bookExhibitionGet(passId) this.getBookExhibitionDetails() + + wx.setNavigationBarTitle({ + title: this.data.subtitleName + }); }, /** diff --git a/pages/bookExhibitionDetails/index.json b/pages/bookExhibitionDetails/index.json index 6d1837a..d783d54 100644 --- a/pages/bookExhibitionDetails/index.json +++ b/pages/bookExhibitionDetails/index.json @@ -4,7 +4,6 @@ "t-icon": "tdesign-miniprogram/icon/icon", "t-loading": "tdesign-miniprogram/loading/loading" }, - "navigationStyle": "custom", "enablePullDownRefresh": true, "onReachBottomDistance": 200 } \ No newline at end of file diff --git a/pages/bookExhibitionDetails/index.wxml b/pages/bookExhibitionDetails/index.wxml index 193286b..0a8231c 100644 --- a/pages/bookExhibitionDetails/index.wxml +++ b/pages/bookExhibitionDetails/index.wxml @@ -4,7 +4,7 @@ <view hidden="{{hidden}}" class="centerBox"> - <view class="tltiBox"> + <!-- <view class="tltiBox"> <view style="width: 100%; height: {{barHeight}}px; "></view> <view class="nacigationBar" style="width: 100%; height: {{navBarHeight}}px;"> <view> @@ -14,7 +14,7 @@ <view class="navbar-title">{{subtitleName}}</view> </view> - </view> + </view> --> <view class="outsideHeadBox"> diff --git a/pages/bookExhibitionDetails/index.wxss b/pages/bookExhibitionDetails/index.wxss index fc3d12d..785fb8c 100644 --- a/pages/bookExhibitionDetails/index.wxss +++ b/pages/bookExhibitionDetails/index.wxss @@ -140,7 +140,8 @@ } .outsideHeadBox { - margin-top: 200rpx; + + margin-top: 20rpx; } .bottom-box { diff --git a/pages/cart/paymentPage/index.js b/pages/cart/paymentPage/index.js index 1e853ee..645549c 100644 --- a/pages/cart/paymentPage/index.js +++ b/pages/cart/paymentPage/index.js @@ -5,7 +5,7 @@ import { getPublicImage } from '../../../assets/js/middleGround/tool'; -import drawQrcode from './js/weapp.qrcode' + Page({ /** @@ -26,13 +26,20 @@ isPaySuccess: false, isPayComplete: false, type: '', - onNorderSaleMethod: '' + onNorderSaleMethod: '', + ImmediatelyReceive: '' }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad(options) { + + wx.setNavigationBarTitle({ + title: '鎻愪氦璁㈠崟' + }); + + const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴� @@ -108,8 +115,6 @@ fields: { content: [], subtitle: [], - - } } app.MG.store.getOrderByOrderNum(query).then(res => { @@ -121,10 +126,12 @@ console.log(res.payPrice); this.setData({ - payPrice: res.payPrice.toFixed(2) + payPrice: res.payPrice.toFixed(2), + ImmediatelyReceive: res.payPrice }) + console.log(this.data.ImmediatelyReceive); res.saleMethodLinks.forEach(item => { - console.log(item.type, 'item.type'); + // console.log(item.type, 'item.type'); const type = item.orderSaleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product'; item.type = type; // 灏唗ype璁剧疆涓篿tem瀵硅薄鐨勫睘鎬э紝鑰屼笉鏄娇鐢╯etData @@ -241,4 +248,19 @@ // 杩斿洖 wx.navigateBack() }, + onReceive() { + let query = { + orderNum: this.data.orderGoods + } + app.MG.store.confirmOrder(query).then(res => { + Toast({ + context: this, + selector: '#t-toast', + message: '棰嗗彇鎴愬姛', + theme: 'success', + direction: 'column', + }); + wx.navigateBack() + }) + } }) \ No newline at end of file diff --git a/pages/cart/paymentPage/index.json b/pages/cart/paymentPage/index.json index 239e7e2..3ac12df 100644 --- a/pages/cart/paymentPage/index.json +++ b/pages/cart/paymentPage/index.json @@ -5,6 +5,5 @@ "t-button": "tdesign-miniprogram/button/button", "t-dialog": "tdesign-miniprogram/dialog/dialog", "t-toast": "tdesign-miniprogram/toast/toast" - }, - "navigationStyle": "custom" + } } \ No newline at end of file diff --git a/pages/cart/paymentPage/index.wxml b/pages/cart/paymentPage/index.wxml index 68affcd..94a3a18 100644 --- a/pages/cart/paymentPage/index.wxml +++ b/pages/cart/paymentPage/index.wxml @@ -4,7 +4,7 @@ <view hidden="{{hidden}}"> - <view class="titleBox"> + <!-- <view class="titleBox"> <view style="width: 100%; height: {{barHeight}}px; "></view> <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> <view> @@ -12,7 +12,7 @@ </view> <view class="navbar-title">鎻愪氦璁㈠崟</view> </view> - </view> + </view> --> <view class="paymentPageBox"> <view class="content"> @@ -25,50 +25,22 @@ </view> <view class="cartListContent"> <view class="cartListDetails"> - <!-- <view class="labelBox"> - <view class="eBook" wx:if="{{item.type == 'product'}}">鐢靛瓙涔�</view> - <view wx:if="{{item.type == 'item'}}" class="cloudLearning">浜戝涔�</view> - </view> --> - - - <!-- <view class="boosName"> - {{item.orderSaleMethod.product.name}} - </view> --> - <view wx:if="{{item.type == 'product'}}" style="width: 386rpx;"> - - <!-- <view> - <text class="eBook">鐢靛瓙涔�</text> <text class="boosName">{{item.orderSaleMethod.product.name}}</text> - </view> --> - <view class="boosName"> <text class="eBook">鐢靛瓙涔�</text> <text> {{item.orderSaleMethod.product.name}}</text> </view> - </view> - - <view wx:if="{{item.type == 'item'}}" style="width: 386rpx;"> - <!-- - <view> - <text class="cloudLearning">浜戝涔�</text> <text class="boosName">{{item.orderSaleMethod.product.name}}</text> - </view> --> <view class="boosName"> <text class="cloudLearning">浜戝涔�</text> <text> {{item.orderSaleMethod.product.name}}</text> </view> </view> - - - - - - </view> <view class="textBox" wx:if="{{item.type == 'product'}}">鍥句功鏈嶅姟-鐢靛瓙涔�</view> <view class="textBox" wx:if="{{item.type == 'item'}}">鍥句功鏈嶅姟-浜戝涔�</view> - <view class="priceBox">锟{item.payPrice}}</view> + <view class="priceBox">锟{payPrice}}</view> </view> </view> </view> @@ -88,7 +60,9 @@ <view class="paymentBox"> <view class="residue">寰呮敮浠橈細<text class="residueTextBox">锟{payPrice}}</text></view> <view> - <t-button class="buttonBox" shape="round" catch:tap="confirmOrderGet">寰俊鏀粯</t-button> + <t-button wx:if="{{ImmediatelyReceive === 0}}" class="buttonBox" shape="round" catch:tap="onReceive">绔嬪嵆棰嗗彇</t-button> + <t-button wx:else class="buttonBox" shape="round" catch:tap="confirmOrderGet">寰俊鏀粯</t-button> + </view> </view> </view> diff --git a/pages/cart/paymentPage/index.wxss b/pages/cart/paymentPage/index.wxss index 0abb8cc..460a33a 100644 --- a/pages/cart/paymentPage/index.wxss +++ b/pages/cart/paymentPage/index.wxss @@ -5,7 +5,6 @@ background-color: #fff; display: flex; align-items: center; - } .navbar-title { @@ -20,12 +19,10 @@ .content { width: 100%; - background-color: #F2F3F8; padding: 40rpx 0; - padding-top: 1rpx; - margin-top: 110rpx; - + /* padding-top: 1rpx; */ + /* margin-top: 110rpx; */ } .shoppingCartList { @@ -47,12 +44,11 @@ height: 210rpx; } -.cartListContent { - /* margin: 0 auto; */ -} + .cartList { display: flex; + width: 750rpx; } .cartListContent { @@ -60,6 +56,15 @@ } .cartListDetails { + /* margin-bottom: 50rpx; + font-family: PingFang SC, PingFang SC; + font-weight: bold; + font-size: 29rpx; + color: #333333; + display: flex; + flex-direction: row; + padding: 0 10rpx; */ + /* margin-right: 500rpx; */ margin-bottom: 50rpx; font-family: PingFang SC, PingFang SC; font-weight: bold; @@ -67,8 +72,6 @@ color: #333333; display: flex; flex-direction: row; - padding: 0 10rpx; - } .textBox { @@ -179,7 +182,11 @@ } .paymentPageBox { - margin-top: 165rpx; + /* margin-top: 165rpx; */ + /* position: absolute; + top: 150rpx; */ + + } page { @@ -194,6 +201,7 @@ width: 100%; } + .eBook { width: 85rpx; @@ -237,7 +245,7 @@ font-family: PingFang SC, PingFang SC; font-weight: bold; font-size: 29rpx; - margin: 0 10rpx; + /* margin: 0 10rpx; */ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; diff --git a/pages/cart/paymentPage/js/weapp.qrcode.js b/pages/cart/paymentPage/js/weapp.qrcode.js deleted file mode 100644 index 2967226..0000000 --- a/pages/cart/paymentPage/js/weapp.qrcode.js +++ /dev/null @@ -1,1281 +0,0 @@ -/** - * weapp.qrcode.js v1.0.0 (https://github.com/yingye/weapp-qrcode#readme) - */ - -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.drawQrcode = factory()); -}(this, (function () { 'use strict'; - -var hasOwn = Object.prototype.hasOwnProperty; -var toStr = Object.prototype.toString; -var defineProperty = Object.defineProperty; -var gOPD = Object.getOwnPropertyDescriptor; - -var isArray = function isArray(arr) { - if (typeof Array.isArray === 'function') { - return Array.isArray(arr); - } - - return toStr.call(arr) === '[object Array]'; -}; - -var isPlainObject = function isPlainObject(obj) { - if (!obj || toStr.call(obj) !== '[object Object]') { - return false; - } - - var hasOwnConstructor = hasOwn.call(obj, 'constructor'); - var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); - // Not own constructor property must be Object - if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - var key; - for (key in obj) { /**/ } - - return typeof key === 'undefined' || hasOwn.call(obj, key); -}; - -// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target -var setProperty = function setProperty(target, options) { - if (defineProperty && options.name === '__proto__') { - defineProperty(target, options.name, { - enumerable: true, - configurable: true, - value: options.newValue, - writable: true - }); - } else { - target[options.name] = options.newValue; - } -}; - -// Return undefined instead of __proto__ if '__proto__' is not an own property -var getProperty = function getProperty(obj, name) { - if (name === '__proto__') { - if (!hasOwn.call(obj, name)) { - return void 0; - } else if (gOPD) { - // In early versions of node, obj['__proto__'] is buggy when obj has - // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. - return gOPD(obj, name).value; - } - } - - return obj[name]; -}; - -var extend = function extend() { - var options, name, src, copy, copyIsArray, clone; - var target = arguments[0]; - var i = 1; - var length = arguments.length; - var deep = false; - - // Handle a deep copy situation - if (typeof target === 'boolean') { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { - target = {}; - } - - for (; i < length; ++i) { - options = arguments[i]; - // Only deal with non-null/undefined values - if (options != null) { - // Extend the base object - for (name in options) { - src = getProperty(target, name); - copy = getProperty(options, name); - - // Prevent never-ending loop - if (target !== copy) { - // Recurse if we're merging plain objects or arrays - if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && isArray(src) ? src : []; - } else { - clone = src && isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); - - // Don't bring in undefined values - } else if (typeof copy !== 'undefined') { - setProperty(target, { name: name, newValue: copy }); - } - } - } - } - } - - // Return the modified object - return target; -}; - -//--------------------------------------------------------------------- -// QRCode for JavaScript -// -// Copyright (c) 2009 Kazuhiko Arase -// -// URL: http://www.d-project.com/ -// -// Licensed under the MIT license: -// http://www.opensource.org/licenses/mit-license.php -// -// The word "QR Code" is registered trademark of -// DENSO WAVE INCORPORATED -// http://www.denso-wave.com/qrcode/faqpatent-e.html -// -//--------------------------------------------------------------------- - -//--------------------------------------------------------------------- -// QR8bitByte -//--------------------------------------------------------------------- - -function QR8bitByte(data) { - this.mode = QRMode.MODE_8BIT_BYTE; - this.data = data; -} - -QR8bitByte.prototype = { - - getLength: function (buffer) { - return this.data.length; - }, - - write: function (buffer) { - for (var i = 0; i < this.data.length; i++) { - // not JIS ... - buffer.put(this.data.charCodeAt(i), 8); - } - } -}; - -//--------------------------------------------------------------------- -// QRCode -//--------------------------------------------------------------------- - -function QRCode(typeNumber, errorCorrectLevel) { - this.typeNumber = typeNumber; - this.errorCorrectLevel = errorCorrectLevel; - this.modules = null; - this.moduleCount = 0; - this.dataCache = null; - this.dataList = new Array(); -} - -QRCode.prototype = { - - addData: function (data) { - var newData = new QR8bitByte(data); - this.dataList.push(newData); - this.dataCache = null; - }, - - isDark: function (row, col) { - if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) { - throw new Error(row + "," + col); - } - return this.modules[row][col]; - }, - - getModuleCount: function () { - return this.moduleCount; - }, - - make: function () { - // Calculate automatically typeNumber if provided is < 1 - if (this.typeNumber < 1) { - var typeNumber = 1; - for (typeNumber = 1; typeNumber < 40; typeNumber++) { - var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel); - - var buffer = new QRBitBuffer(); - var totalDataCount = 0; - for (var i = 0; i < rsBlocks.length; i++) { - totalDataCount += rsBlocks[i].dataCount; - } - - for (var i = 0; i < this.dataList.length; i++) { - var data = this.dataList[i]; - buffer.put(data.mode, 4); - buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber)); - data.write(buffer); - } - if (buffer.getLengthInBits() <= totalDataCount * 8) break; - } - this.typeNumber = typeNumber; - } - this.makeImpl(false, this.getBestMaskPattern()); - }, - - makeImpl: function (test, maskPattern) { - - this.moduleCount = this.typeNumber * 4 + 17; - this.modules = new Array(this.moduleCount); - - for (var row = 0; row < this.moduleCount; row++) { - - this.modules[row] = new Array(this.moduleCount); - - for (var col = 0; col < this.moduleCount; col++) { - this.modules[row][col] = null; //(col + row) % 3; - } - } - - this.setupPositionProbePattern(0, 0); - this.setupPositionProbePattern(this.moduleCount - 7, 0); - this.setupPositionProbePattern(0, this.moduleCount - 7); - this.setupPositionAdjustPattern(); - this.setupTimingPattern(); - this.setupTypeInfo(test, maskPattern); - - if (this.typeNumber >= 7) { - this.setupTypeNumber(test); - } - - if (this.dataCache == null) { - this.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList); - } - - this.mapData(this.dataCache, maskPattern); - }, - - setupPositionProbePattern: function (row, col) { - - for (var r = -1; r <= 7; r++) { - - if (row + r <= -1 || this.moduleCount <= row + r) continue; - - for (var c = -1; c <= 7; c++) { - - if (col + c <= -1 || this.moduleCount <= col + c) continue; - - if (0 <= r && r <= 6 && (c == 0 || c == 6) || 0 <= c && c <= 6 && (r == 0 || r == 6) || 2 <= r && r <= 4 && 2 <= c && c <= 4) { - this.modules[row + r][col + c] = true; - } else { - this.modules[row + r][col + c] = false; - } - } - } - }, - - getBestMaskPattern: function () { - - var minLostPoint = 0; - var pattern = 0; - - for (var i = 0; i < 8; i++) { - - this.makeImpl(true, i); - - var lostPoint = QRUtil.getLostPoint(this); - - if (i == 0 || minLostPoint > lostPoint) { - minLostPoint = lostPoint; - pattern = i; - } - } - - return pattern; - }, - - createMovieClip: function (target_mc, instance_name, depth) { - - var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth); - var cs = 1; - - this.make(); - - for (var row = 0; row < this.modules.length; row++) { - - var y = row * cs; - - for (var col = 0; col < this.modules[row].length; col++) { - - var x = col * cs; - var dark = this.modules[row][col]; - - if (dark) { - qr_mc.beginFill(0, 100); - qr_mc.moveTo(x, y); - qr_mc.lineTo(x + cs, y); - qr_mc.lineTo(x + cs, y + cs); - qr_mc.lineTo(x, y + cs); - qr_mc.endFill(); - } - } - } - - return qr_mc; - }, - - setupTimingPattern: function () { - - for (var r = 8; r < this.moduleCount - 8; r++) { - if (this.modules[r][6] != null) { - continue; - } - this.modules[r][6] = r % 2 == 0; - } - - for (var c = 8; c < this.moduleCount - 8; c++) { - if (this.modules[6][c] != null) { - continue; - } - this.modules[6][c] = c % 2 == 0; - } - }, - - setupPositionAdjustPattern: function () { - - var pos = QRUtil.getPatternPosition(this.typeNumber); - - for (var i = 0; i < pos.length; i++) { - - for (var j = 0; j < pos.length; j++) { - - var row = pos[i]; - var col = pos[j]; - - if (this.modules[row][col] != null) { - continue; - } - - for (var r = -2; r <= 2; r++) { - - for (var c = -2; c <= 2; c++) { - - if (r == -2 || r == 2 || c == -2 || c == 2 || r == 0 && c == 0) { - this.modules[row + r][col + c] = true; - } else { - this.modules[row + r][col + c] = false; - } - } - } - } - } - }, - - setupTypeNumber: function (test) { - - var bits = QRUtil.getBCHTypeNumber(this.typeNumber); - - for (var i = 0; i < 18; i++) { - var mod = !test && (bits >> i & 1) == 1; - this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod; - } - - for (var i = 0; i < 18; i++) { - var mod = !test && (bits >> i & 1) == 1; - this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod; - } - }, - - setupTypeInfo: function (test, maskPattern) { - - var data = this.errorCorrectLevel << 3 | maskPattern; - var bits = QRUtil.getBCHTypeInfo(data); - - // vertical - for (var i = 0; i < 15; i++) { - - var mod = !test && (bits >> i & 1) == 1; - - if (i < 6) { - this.modules[i][8] = mod; - } else if (i < 8) { - this.modules[i + 1][8] = mod; - } else { - this.modules[this.moduleCount - 15 + i][8] = mod; - } - } - - // horizontal - for (var i = 0; i < 15; i++) { - - var mod = !test && (bits >> i & 1) == 1; - - if (i < 8) { - this.modules[8][this.moduleCount - i - 1] = mod; - } else if (i < 9) { - this.modules[8][15 - i - 1 + 1] = mod; - } else { - this.modules[8][15 - i - 1] = mod; - } - } - - // fixed module - this.modules[this.moduleCount - 8][8] = !test; - }, - - mapData: function (data, maskPattern) { - - var inc = -1; - var row = this.moduleCount - 1; - var bitIndex = 7; - var byteIndex = 0; - - for (var col = this.moduleCount - 1; col > 0; col -= 2) { - - if (col == 6) col--; - - while (true) { - - for (var c = 0; c < 2; c++) { - - if (this.modules[row][col - c] == null) { - - var dark = false; - - if (byteIndex < data.length) { - dark = (data[byteIndex] >>> bitIndex & 1) == 1; - } - - var mask = QRUtil.getMask(maskPattern, row, col - c); - - if (mask) { - dark = !dark; - } - - this.modules[row][col - c] = dark; - bitIndex--; - - if (bitIndex == -1) { - byteIndex++; - bitIndex = 7; - } - } - } - - row += inc; - - if (row < 0 || this.moduleCount <= row) { - row -= inc; - inc = -inc; - break; - } - } - } - } - -}; - -QRCode.PAD0 = 0xEC; -QRCode.PAD1 = 0x11; - -QRCode.createData = function (typeNumber, errorCorrectLevel, dataList) { - - var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel); - - var buffer = new QRBitBuffer(); - - for (var i = 0; i < dataList.length; i++) { - var data = dataList[i]; - buffer.put(data.mode, 4); - buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber)); - data.write(buffer); - } - - // calc num max data. - var totalDataCount = 0; - for (var i = 0; i < rsBlocks.length; i++) { - totalDataCount += rsBlocks[i].dataCount; - } - - if (buffer.getLengthInBits() > totalDataCount * 8) { - throw new Error("code length overflow. (" + buffer.getLengthInBits() + ">" + totalDataCount * 8 + ")"); - } - - // end code - if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) { - buffer.put(0, 4); - } - - // padding - while (buffer.getLengthInBits() % 8 != 0) { - buffer.putBit(false); - } - - // padding - while (true) { - - if (buffer.getLengthInBits() >= totalDataCount * 8) { - break; - } - buffer.put(QRCode.PAD0, 8); - - if (buffer.getLengthInBits() >= totalDataCount * 8) { - break; - } - buffer.put(QRCode.PAD1, 8); - } - - return QRCode.createBytes(buffer, rsBlocks); -}; - -QRCode.createBytes = function (buffer, rsBlocks) { - - var offset = 0; - - var maxDcCount = 0; - var maxEcCount = 0; - - var dcdata = new Array(rsBlocks.length); - var ecdata = new Array(rsBlocks.length); - - for (var r = 0; r < rsBlocks.length; r++) { - - var dcCount = rsBlocks[r].dataCount; - var ecCount = rsBlocks[r].totalCount - dcCount; - - maxDcCount = Math.max(maxDcCount, dcCount); - maxEcCount = Math.max(maxEcCount, ecCount); - - dcdata[r] = new Array(dcCount); - - for (var i = 0; i < dcdata[r].length; i++) { - dcdata[r][i] = 0xff & buffer.buffer[i + offset]; - } - offset += dcCount; - - var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount); - var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1); - - var modPoly = rawPoly.mod(rsPoly); - ecdata[r] = new Array(rsPoly.getLength() - 1); - for (var i = 0; i < ecdata[r].length; i++) { - var modIndex = i + modPoly.getLength() - ecdata[r].length; - ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0; - } - } - - var totalCodeCount = 0; - for (var i = 0; i < rsBlocks.length; i++) { - totalCodeCount += rsBlocks[i].totalCount; - } - - var data = new Array(totalCodeCount); - var index = 0; - - for (var i = 0; i < maxDcCount; i++) { - for (var r = 0; r < rsBlocks.length; r++) { - if (i < dcdata[r].length) { - data[index++] = dcdata[r][i]; - } - } - } - - for (var i = 0; i < maxEcCount; i++) { - for (var r = 0; r < rsBlocks.length; r++) { - if (i < ecdata[r].length) { - data[index++] = ecdata[r][i]; - } - } - } - - return data; -}; - -//--------------------------------------------------------------------- -// QRMode -//--------------------------------------------------------------------- - -var QRMode = { - MODE_NUMBER: 1 << 0, - MODE_ALPHA_NUM: 1 << 1, - MODE_8BIT_BYTE: 1 << 2, - MODE_KANJI: 1 << 3 -}; - -//--------------------------------------------------------------------- -// QRErrorCorrectLevel -//--------------------------------------------------------------------- - -var QRErrorCorrectLevel = { - L: 1, - M: 0, - Q: 3, - H: 2 -}; - -//--------------------------------------------------------------------- -// QRMaskPattern -//--------------------------------------------------------------------- - -var QRMaskPattern = { - PATTERN000: 0, - PATTERN001: 1, - PATTERN010: 2, - PATTERN011: 3, - PATTERN100: 4, - PATTERN101: 5, - PATTERN110: 6, - PATTERN111: 7 -}; - -//--------------------------------------------------------------------- -// QRUtil -//--------------------------------------------------------------------- - -var QRUtil = { - - PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]], - - G15: 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0, - G18: 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0, - G15_MASK: 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1, - - getBCHTypeInfo: function (data) { - var d = data << 10; - while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) { - d ^= QRUtil.G15 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15); - } - return (data << 10 | d) ^ QRUtil.G15_MASK; - }, - - getBCHTypeNumber: function (data) { - var d = data << 12; - while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) { - d ^= QRUtil.G18 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18); - } - return data << 12 | d; - }, - - getBCHDigit: function (data) { - - var digit = 0; - - while (data != 0) { - digit++; - data >>>= 1; - } - - return digit; - }, - - getPatternPosition: function (typeNumber) { - return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1]; - }, - - getMask: function (maskPattern, i, j) { - - switch (maskPattern) { - - case QRMaskPattern.PATTERN000: - return (i + j) % 2 == 0; - case QRMaskPattern.PATTERN001: - return i % 2 == 0; - case QRMaskPattern.PATTERN010: - return j % 3 == 0; - case QRMaskPattern.PATTERN011: - return (i + j) % 3 == 0; - case QRMaskPattern.PATTERN100: - return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0; - case QRMaskPattern.PATTERN101: - return i * j % 2 + i * j % 3 == 0; - case QRMaskPattern.PATTERN110: - return (i * j % 2 + i * j % 3) % 2 == 0; - case QRMaskPattern.PATTERN111: - return (i * j % 3 + (i + j) % 2) % 2 == 0; - - default: - throw new Error("bad maskPattern:" + maskPattern); - } - }, - - getErrorCorrectPolynomial: function (errorCorrectLength) { - - var a = new QRPolynomial([1], 0); - - for (var i = 0; i < errorCorrectLength; i++) { - a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0)); - } - - return a; - }, - - getLengthInBits: function (mode, type) { - - if (1 <= type && type < 10) { - - // 1 - 9 - - switch (mode) { - case QRMode.MODE_NUMBER: - return 10; - case QRMode.MODE_ALPHA_NUM: - return 9; - case QRMode.MODE_8BIT_BYTE: - return 8; - case QRMode.MODE_KANJI: - return 8; - default: - throw new Error("mode:" + mode); - } - } else if (type < 27) { - - // 10 - 26 - - switch (mode) { - case QRMode.MODE_NUMBER: - return 12; - case QRMode.MODE_ALPHA_NUM: - return 11; - case QRMode.MODE_8BIT_BYTE: - return 16; - case QRMode.MODE_KANJI: - return 10; - default: - throw new Error("mode:" + mode); - } - } else if (type < 41) { - - // 27 - 40 - - switch (mode) { - case QRMode.MODE_NUMBER: - return 14; - case QRMode.MODE_ALPHA_NUM: - return 13; - case QRMode.MODE_8BIT_BYTE: - return 16; - case QRMode.MODE_KANJI: - return 12; - default: - throw new Error("mode:" + mode); - } - } else { - throw new Error("type:" + type); - } - }, - - getLostPoint: function (qrCode) { - - var moduleCount = qrCode.getModuleCount(); - - var lostPoint = 0; - - // LEVEL1 - - for (var row = 0; row < moduleCount; row++) { - - for (var col = 0; col < moduleCount; col++) { - - var sameCount = 0; - var dark = qrCode.isDark(row, col); - - for (var r = -1; r <= 1; r++) { - - if (row + r < 0 || moduleCount <= row + r) { - continue; - } - - for (var c = -1; c <= 1; c++) { - - if (col + c < 0 || moduleCount <= col + c) { - continue; - } - - if (r == 0 && c == 0) { - continue; - } - - if (dark == qrCode.isDark(row + r, col + c)) { - sameCount++; - } - } - } - - if (sameCount > 5) { - lostPoint += 3 + sameCount - 5; - } - } - } - - // LEVEL2 - - for (var row = 0; row < moduleCount - 1; row++) { - for (var col = 0; col < moduleCount - 1; col++) { - var count = 0; - if (qrCode.isDark(row, col)) count++; - if (qrCode.isDark(row + 1, col)) count++; - if (qrCode.isDark(row, col + 1)) count++; - if (qrCode.isDark(row + 1, col + 1)) count++; - if (count == 0 || count == 4) { - lostPoint += 3; - } - } - } - - // LEVEL3 - - for (var row = 0; row < moduleCount; row++) { - for (var col = 0; col < moduleCount - 6; col++) { - if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) { - lostPoint += 40; - } - } - } - - for (var col = 0; col < moduleCount; col++) { - for (var row = 0; row < moduleCount - 6; row++) { - if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) { - lostPoint += 40; - } - } - } - - // LEVEL4 - - var darkCount = 0; - - for (var col = 0; col < moduleCount; col++) { - for (var row = 0; row < moduleCount; row++) { - if (qrCode.isDark(row, col)) { - darkCount++; - } - } - } - - var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5; - lostPoint += ratio * 10; - - return lostPoint; - } - -}; - -//--------------------------------------------------------------------- -// QRMath -//--------------------------------------------------------------------- - -var QRMath = { - - glog: function (n) { - - if (n < 1) { - throw new Error("glog(" + n + ")"); - } - - return QRMath.LOG_TABLE[n]; - }, - - gexp: function (n) { - - while (n < 0) { - n += 255; - } - - while (n >= 256) { - n -= 255; - } - - return QRMath.EXP_TABLE[n]; - }, - - EXP_TABLE: new Array(256), - - LOG_TABLE: new Array(256) - -}; - -for (var i = 0; i < 8; i++) { - QRMath.EXP_TABLE[i] = 1 << i; -} -for (var i = 8; i < 256; i++) { - QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8]; -} -for (var i = 0; i < 255; i++) { - QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i; -} - -//--------------------------------------------------------------------- -// QRPolynomial -//--------------------------------------------------------------------- - -function QRPolynomial(num, shift) { - - if (num.length == undefined) { - throw new Error(num.length + "/" + shift); - } - - var offset = 0; - - while (offset < num.length && num[offset] == 0) { - offset++; - } - - this.num = new Array(num.length - offset + shift); - for (var i = 0; i < num.length - offset; i++) { - this.num[i] = num[i + offset]; - } -} - -QRPolynomial.prototype = { - - get: function (index) { - return this.num[index]; - }, - - getLength: function () { - return this.num.length; - }, - - multiply: function (e) { - - var num = new Array(this.getLength() + e.getLength() - 1); - - for (var i = 0; i < this.getLength(); i++) { - for (var j = 0; j < e.getLength(); j++) { - num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j))); - } - } - - return new QRPolynomial(num, 0); - }, - - mod: function (e) { - - if (this.getLength() - e.getLength() < 0) { - return this; - } - - var ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0)); - - var num = new Array(this.getLength()); - - for (var i = 0; i < this.getLength(); i++) { - num[i] = this.get(i); - } - - for (var i = 0; i < e.getLength(); i++) { - num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio); - } - - // recursive call - return new QRPolynomial(num, 0).mod(e); - } -}; - -//--------------------------------------------------------------------- -// QRRSBlock -//--------------------------------------------------------------------- - -function QRRSBlock(totalCount, dataCount) { - this.totalCount = totalCount; - this.dataCount = dataCount; -} - -QRRSBlock.RS_BLOCK_TABLE = [ - -// L -// M -// Q -// H - -// 1 -[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], - -// 2 -[1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], - -// 3 -[1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], - -// 4 -[1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], - -// 5 -[1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], - -// 6 -[2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], - -// 7 -[2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], - -// 8 -[2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], - -// 9 -[2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], - -// 10 -[2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], - -// 11 -[4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], - -// 12 -[2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], - -// 13 -[4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], - -// 14 -[3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], - -// 15 -[5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], - -// 16 -[5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], - -// 17 -[1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], - -// 18 -[5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], - -// 19 -[3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], - -// 20 -[3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], - -// 21 -[4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], - -// 22 -[2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], - -// 23 -[4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], - -// 24 -[6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], - -// 25 -[8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], - -// 26 -[10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], - -// 27 -[8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], - -// 28 -[3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], - -// 29 -[7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], - -// 30 -[5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], - -// 31 -[13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], - -// 32 -[17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], - -// 33 -[17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], - -// 34 -[13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], - -// 35 -[12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], - -// 36 -[6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], - -// 37 -[17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], - -// 38 -[4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], - -// 39 -[20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], - -// 40 -[19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]]; - -QRRSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) { - - var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel); - - if (rsBlock == undefined) { - throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + errorCorrectLevel); - } - - var length = rsBlock.length / 3; - - var list = new Array(); - - for (var i = 0; i < length; i++) { - - var count = rsBlock[i * 3 + 0]; - var totalCount = rsBlock[i * 3 + 1]; - var dataCount = rsBlock[i * 3 + 2]; - - for (var j = 0; j < count; j++) { - list.push(new QRRSBlock(totalCount, dataCount)); - } - } - - return list; -}; - -QRRSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) { - - switch (errorCorrectLevel) { - case QRErrorCorrectLevel.L: - return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0]; - case QRErrorCorrectLevel.M: - return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1]; - case QRErrorCorrectLevel.Q: - return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2]; - case QRErrorCorrectLevel.H: - return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3]; - default: - return undefined; - } -}; - -//--------------------------------------------------------------------- -// QRBitBuffer -//--------------------------------------------------------------------- - -function QRBitBuffer() { - this.buffer = new Array(); - this.length = 0; -} - -QRBitBuffer.prototype = { - - get: function (index) { - var bufIndex = Math.floor(index / 8); - return (this.buffer[bufIndex] >>> 7 - index % 8 & 1) == 1; - }, - - put: function (num, length) { - for (var i = 0; i < length; i++) { - this.putBit((num >>> length - i - 1 & 1) == 1); - } - }, - - getLengthInBits: function () { - return this.length; - }, - - putBit: function (bit) { - - var bufIndex = Math.floor(this.length / 8); - if (this.buffer.length <= bufIndex) { - this.buffer.push(0); - } - - if (bit) { - this.buffer[bufIndex] |= 0x80 >>> this.length % 8; - } - - this.length++; - } -}; - -// support Chinese -function utf16to8(str) { - var out, i, len, c; - out = ''; - len = str.length; - for (i = 0; i < len; i++) { - c = str.charCodeAt(i); - if (c >= 0x0001 && c <= 0x007F) { - out += str.charAt(i); - } else if (c > 0x07FF) { - out += String.fromCharCode(0xE0 | c >> 12 & 0x0F); - out += String.fromCharCode(0x80 | c >> 6 & 0x3F); - out += String.fromCharCode(0x80 | c >> 0 & 0x3F); - } else { - out += String.fromCharCode(0xC0 | c >> 6 & 0x1F); - out += String.fromCharCode(0x80 | c >> 0 & 0x3F); - } - } - return out; -} - -function drawQrcode(options) { - options = options || {}; - options = extend(true, { - width: 256, - height: 256, - x: 0, - y: 0, - typeNumber: -1, - correctLevel: QRErrorCorrectLevel.H, - background: '#ffffff', - foreground: '#000000', - image: { - imageResource: '', - dx: 0, - dy: 0, - dWidth: 100, - dHeight: 100 - } - }, options); - - if (!options.canvasId && !options.ctx) { - console.warn('please set canvasId or ctx!'); - return; - } - - createCanvas(); - - function createCanvas() { - // create the qrcode itself - var qrcode = new QRCode(options.typeNumber, options.correctLevel); - qrcode.addData(utf16to8(options.text)); - qrcode.make(); - - // get canvas context - var ctx; - if (options.ctx) { - ctx = options.ctx; - } else { - ctx = options._this ? wx.createCanvasContext && wx.createCanvasContext(options.canvasId, options._this) : wx.createCanvasContext && wx.createCanvasContext(options.canvasId); - } - - // compute tileW/tileH based on options.width/options.height - var tileW = options.width / qrcode.getModuleCount(); - var tileH = options.height / qrcode.getModuleCount(); - - // draw in the canvas - for (var row = 0; row < qrcode.getModuleCount(); row++) { - for (var col = 0; col < qrcode.getModuleCount(); col++) { - var style = qrcode.isDark(row, col) ? options.foreground : options.background; - ctx.setFillStyle(style); - var w = Math.ceil((col + 1) * tileW) - Math.floor(col * tileW); - var h = Math.ceil((row + 1) * tileW) - Math.floor(row * tileW); - ctx.fillRect(Math.round(col * tileW) + options.x, Math.round(row * tileH) + options.y, w, h); - } - } - - if (options.image.imageResource) { - ctx.drawImage(options.image.imageResource, options.image.dx, options.image.dy, options.image.dWidth, options.image.dHeight); - } - - ctx.draw(false, function (e) { - options.callback && options.callback(e); - }); - } -} - -return drawQrcode; - -}))); diff --git a/pages/retrievalPage/index.js b/pages/retrievalPage/index.js index 3ea3558..5a4a503 100644 --- a/pages/retrievalPage/index.js +++ b/pages/retrievalPage/index.js @@ -176,6 +176,7 @@ retrievalPageGet() { + let fields = { liveTime: [], lecturer: [], @@ -576,6 +577,10 @@ }); }, onSearchSubmit() { + this.setData({ + loading: true, + hidden: true, + }) console.log(this.data.searchVal); this.retrievalPageGet() this.bibliographyGet() diff --git a/pages/retrievalPage/index.wxss b/pages/retrievalPage/index.wxss index da4f78d..0cde00f 100644 --- a/pages/retrievalPage/index.wxss +++ b/pages/retrievalPage/index.wxss @@ -386,8 +386,6 @@ .t-tabs .t-tabs__item--active { /* min-width: 210rpx; */ background-repeat: no-repeat; - /* background-size: 100% 100%; - background-position: 100% 100%; */ background-image: url(https://jsek.bnuic.com/home/image/click-icon.png); background-position: 83% center; background-size: 45% 70%; @@ -398,4 +396,9 @@ background-color: #FF6C00 !important; -webkit-transform: translateX(39px); transform: translateX(39px); + /* height: var(--td-tab-track-thickness, 0rpx) !important; */ +} + +.t-overlay.overlay--t-overlay { + z-index: -9999 !important; } \ No newline at end of file -- Gitblit v1.9.1