/** 2024.07.10.01**/ class BookPreviewPublic { constructor() { this.isShowAlert = true; } setBookConfig(params) { for (var prop in params) { bookConfig[prop] = params[prop]; } window.editConfig = Object.assign(window.editConfig || {}, params); checkBookConfig(); } isHasButton(name, enterName) { if (enterName) var button = toolBar.getButton(name, enterName); else var button = toolBar.getButton(name); if (button) return true; else return false; } toolBarAddNewButton(button) { toolBar.setButtonTitle(button); toolBar.buttons.add(button); } showAlert() { if (!this.isShowAlert) { this.isRefresh = true; return; } this.time = 3000; if (!this.isShow) { this.isShow = true; var alert = $( "
此设置无法实时预览,请点击 \"应用设置\" 按钮
" ); if (global.templeteName == 'brief') alert.html( '此模板不支持实时预览,请点击 "应用设置" 按钮' ); tmpContainer.append(alert); alert.fadeIn(200); var timer = setInterval( function () { this.time -= 1000; if (this.time <= 0) { alert.fadeOut( 200, function () { clearInterval(timer); timer = null; alert.remove(); this.isShow = false; }.bind(this) ); } }.bind(this), 1000 ); } } } class BookPreviewInterface extends BookPreviewPublic { setBackgroundColor(params) { // bgBeginColor bgEndColor bgMRotation backgroundOpacity this.setBookConfig(params); if (backgroundObj != undefined) backgroundObj.resetBgColor(); } setBackgroundImage(params) { // backGroundImgURL backgroundPosition this.setBookConfig(params); if (backgroundObj != undefined) backgroundObj.resetBgImg(); } setToolbarColor(params) { // toolbarColor ToolBarAlpha if (global.templeteName === 'popular') return; this.setBookConfig(params); toolBar.resetToolbarColor(); } setToolbarButtonColor(params) { // iconColor iconFontColor this.setBookConfig(params); toolBar.resetButtonColor(); } setFormColor(params) { // formBackgroundColor formFontColor this.setBookConfig(params); if (global.aboutBody) global.aboutBody.resetFormColor(); if (global.bookmark) global.bookmark.resetFormColor(); if (global.downLoadBody) global.downLoadBody.resetFormColor(); if (global.helpBody) global.helpBody.resetFormColor(); if (global.printBody) global.printBody.resetFormColor(); if (global.frmSearch) global.frmSearch.resetFormColor(); if (global.sharePanel) global.sharePanel.resetFormColor(); if (global.frmTableOfContent) global.frmTableOfContent.resetFormColor(); if (global.thumbnail) global.thumbnail.resetFormColor(); if (global.videoGallery) global.videoGallery.resetFormColor(); } setBookLogo(params) { // appLogoIcon appLogoLinkURL appLogoOpenWindow logoPadding logoTop logoHeight this.setBookConfig(params); if (!bookConfig.appLogoIcon) { $('#logoBar').html(''); } else { initLogoBar(); } } setLogoLayout(params) { this.setBookConfig(params); if (!bookConfig.appLogoIcon) return; if ( typeof bookConfig.toolBarBrandInfoVisible !== 'undefined' && !bookConfig.toolBarBrandInfoVisible ) return; const bookLogo = new BookLogoBar(); bookLogo.setLayout(params); } setLogoAction(params) { this.setBookConfig(params); if (!bookConfig.appLogoIcon) return; // if(!) $('#logoBar') .find('img') .on('click', function () { if (bookConfig.appLogoLinkURL) { window.open(bookConfig.appLogoLinkURL, bookConfig.appLogoOpenWindow); } }); } setToolBarBrandVisible(params) { // toolBarBrandInfoVisible this.setBookConfig(params); if (!bookConfig.toolBarBrandInfoVisible) { $('#logoBar').html(''); } else { initLogoBar(); } } setToolBarBrand(params) { // toolBarBrandInfo this.setBookConfig(params); if (!bookConfig.toolBarBrandInfoVisible) { $('#logoBar').html(''); } else { initLogoBar(); } } setToolBarBrandInfo(params) {} setBookLargeLogo(params) { // appLargeLogoIcon isFixLogoSize appLargeLogoURL LargeLogoTarget logoFixWidth logoFixHeight this.setBookConfig(params); if (bookConfig.appLargeLogoIcon) { if (!global.largeAppLogo) global.largeAppLogo = new AppLargeLogo(bookContainer); else global.largeAppLogo.initCss(); } else { if (global.largeAppLogo) global.largeAppLogo.hideLargeLogo(); } } setFlippingTime(params) { // flippingTime this.setBookConfig(params); } preventPopupTheWebMenu(params) { // isStopMouseMenu this.setBookConfig(params); } showFlipShortcutButton() { // flipshortcutbutton if (bookConfig.flipshortcutbutton) return; bookConfig.flipshortcutbutton = true; if (!global.flipShotButton) global.flipShotButton = new FlipShotButton(tmpContainer); global.flipShotButton.show(); } hideFlipShortcutButton() { // flipshortcutbutton if (!bookConfig.flipshortcutbutton) return; bookConfig.flipshortcutbutton = false; if (global.flipShotButton) flipShotButton.hide(); } showQRCode() { // QRCode bookConfig.QRCode = true; if (!global.qrButton) global.qrButton = new QRButton(tmpContainer); global.qrButton.resetQRButton(); } hideQRCode() { // QRCode if (global.qrCode) global.qrCode.hide(); if (global.qrButton) global.qrButton.hide(); bookConfig.QRCode = false; } showBackwardForwardButtons() { if (global.templeteName == 'brief') { // if(global.phoneGotoPagePanel) global.phoneGotoPagePanel.resetPosition(); this.showAlert(); return; } if (bookConfig.enablePageBack || this.isHasButton('backward')) return; bookConfig.enablePageBack = true; this.toolBarAddNewButton(new BackwardButton()); this.toolBarAddNewButton(new ForwardButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideBackwardForwardButtons() { bookConfig.enablePageBack = false; if (global.templeteName == 'brief') { // if(global.phoneGotoPagePanel) global.phoneGotoPagePanel.resetPosition(); this.showAlert(); return; } else { toolBar.removeButton('forward'); toolBar.removeButton('backward'); } toolBar.onResize(); } setHomeButtonURL(params) { // HomeURL this.setBookConfig(params); } showHomeButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneHomeButton()); this.showAlert(); return; } if (bookConfig.HomeButtonVisible || this.isHasButton('home')) return; bookConfig.HomeButtonVisible = true; this.toolBarAddNewButton(new HomeButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideHomeButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.HomeButtonVisible) return; bookConfig.HomeButtonVisible = false; toolBar.removeButton('home'); toolBar.onResize(); } showShareButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneShareButton()); this.showAlert(); return; } if (bookConfig.ShareButtonVisible || this.isHasButton('share', 'sharethis')) return; bookConfig.ShareButtonVisible = true; if (toolBar.btnShare) { toolBar.initShareButton(); } else this.toolBarAddNewButton(new ShareButton()); toolBar.sortXMLButton(); initComponents(); toolBar.onResize(); global.sharePanel.onResize(); } hideShareButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.ShareButtonVisible) return; bookConfig.ShareButtonVisible = false; if (global.sharePanel) global.sharePanel.hide(); var share = toolBar.getButton('ShareButton', 'sharethis'); if (toolBar.btnShare) { share = toolBar.btnShare; if (toolBar.shareBevel) toolBar.shareBevel.$body.remove(); } toolBar.removeButton(share); toolBar.onResize(); } setShareButtonParams(params) { // addCurrentPage if (global.templeteName == 'brief') { this.showAlert(); return; } this.setBookConfig(params); if (global.sharePanel && global.sharePanel.elements) { global.sharePanel.elements.showOrHideCheck(); } } showEmailButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneEmailButton()); this.showAlert(); return; } if (bookConfig.EmailButtonVisible || this.isHasButton('email')) return; bookConfig.EmailButtonVisible = true; this.toolBarAddNewButton(new ShareEmailButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideEmailButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.EmailButtonVisible) return; bookConfig.EmailButtonVisible = false; toolBar.removeButton('email'); toolBar.onResize(); } setEmailShareParams(params) { // btnShareWithEmailSubject btnShareWithEmailBody this.setBookConfig(params); } showTelephoneNumberButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneNumberButton()); this.showAlert(); return; } if (!global.phoneNumber.length || this.isHasButton('phoneNumber')) return; bookConfig.PhoneButtonVisible = true; this.toolBarAddNewButton(new TelephoneNumberButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideTelephoneNumberButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!this.isHasButton('phoneNumber')) return; bookConfig.PhoneButtonVisible = false; toolBar.removeButton('phoneNumber'); toolBar.onResize(); } setTelephoneNumberParams(params) { // PhoneNumbers PhoneButtonIcon PhoneButtonVisible if (global.templeteName == 'brief') { this.showAlert(); return; } if (params.PhoneNumbers != undefined) window.phoneNumber = params.PhoneNumbers; this.setBookConfig(params); if (window.phoneNumber && window.phoneNumber.length) { if (bookConfig.PhoneButtonVisible) this.showTelephoneNumberButton(); if (global.PcTelephoneNumberFrame) global.PcTelephoneNumberFrame.addItem(); } else { if (this.isHasButton('phoneNumber')) { toolBar.removeButton('phoneNumber'); toolBar.onResize(); } } if (params.PhoneButtonIcon != undefined) { var button = toolBar.getButton('phoneNumber'); if (button) { button.setCustomIcon(bookConfig.PhoneButtonIcon); button.resetImg(); button.changeCaptionColor(); if (!bookConfig.PhoneButtonIcon) button.changeColor(); } } } showMagnifierButton() { if ( global.templeteName == 'brief' || bookConfig.MagnifierButtonVisible || this.isHasButton('MagnifierButton') ) return; bookConfig.MagnifierButtonVisible = true; this.toolBarAddNewButton(new MagnifierButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideMagnifierButton() { if (global.templeteName == 'brief' || !bookConfig.MagnifierButtonVisible) return; global.canMagnifierZoom = false; if (BookInfo.getBook()) BookInfo.getBook().unMagnifierZoom(); bookConfig.MagnifierButtonVisible = false; toolBar.removeButton('MagnifierButton'); toolBar.onResize(); } showWeChatShareButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneWeChatShareButton()); this.showAlert(); return; } if (bookConfig.WeChatShareButtonVisible || this.isHasButton('wechat')) return; bookConfig.WeChatShareButtonVisible = true; this.toolBarAddNewButton(new WeChatShareButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideWeChatShareButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.WeChatShareButtonVisible) return; bookConfig.WeChatShareButtonVisible = false; if (global.WeChatShareImg) global.WeChatShareImg.destroy(); toolBar.removeButton('wechat'); toolBar.onResize(); } setWeChatShareParams(params) { // WeChatShareButtonIcon this.setBookConfig(params); if (global.templeteName == 'brief') { this.showAlert(); return; } var button = toolBar.getButton('wechat'); if (button) { button.setCustomIcon(bookConfig.WeChatShareButtonIcon); button.resetImg(); button.changeCaptionColor(); if (!bookConfig.WeChatShareButtonIcon) { button.changeColor(); } } } showSoundButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneBackgroundSoundButton()); this.showAlert(); return; } if (bookConfig.BackgroundSoundButtonVisible || this.isHasButton('sound')) return; bookConfig.BackgroundSoundButtonVisible = true; if (toolBar.btnSound) { toolBar.initSoundButton(); } else { this.toolBarAddNewButton(new BackgroundSoundButton()); } toolBar.sortXMLButton(); if (bgSound) bgSound.play(); toolBar.onResize(); initComponents(); } hideSoundButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!this.isHasButton('sound')) return; bookConfig.BackgroundSoundButtonVisible = false; if (bgSound) bgSound.pause(); var btnSound = toolBar.getButton('sound'); if (toolBar.btnSound) { btnSound = toolBar.btnSound; if (toolBar.soundBevel) toolBar.soundBevel.$body.remove(); } toolBar.removeButton(btnSound); toolBar.onResize(); } playFlipSound(params) { // FlipSound paly if (global.templeteName == 'brief') { this.showAlert(); return; } bookConfig.FlipSound = true; window.flipSoundIsPlaying = true; } pauseFlipSound(params) { // FlipSound pause if (global.templeteName == 'brief') { this.showAlert(); return; } bookConfig.FlipSound = false; window.flipSoundIsPlaying = false; } setBackgroundSound(params) { // BackgroundSoundURL BackgroundSoundLoop BackgroundSoundButtonVisible if (global.templeteName == 'brief') { this.showAlert(); return; } this.setBookConfig(params); initComponents(); if (!bookConfig.FlipSound && !bookConfig.BackgroundSoundURL) { if (bgSound) bgSound.pause(); } else { if (bgSound) bgSound.play(); } if (global.bgSound.resetResource) global.bgSound.resetResource(); } showAutoFlipButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneAutoPlayButton()); this.showAlert(); return; } if (bookConfig.AutoPlayButtonVisible || this.isHasButton('autoplay')) return; bookConfig.AutoPlayButtonVisible = true; if (toolBar.btnAutoPlay) { toolBar.initAutoPlayButton(); } else { this.toolBarAddNewButton(new AutoPlayButton()); } if (bookConfig.autoPlayAutoStart) { StateSynchronous.instance() .findButtons('AutoPlayButton', true) .each(function (button) { button.setAsStop(); button.executeCallback(); }); } toolBar.sortXMLButton(); toolBar.onResize(); } hideAutoFlipButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.AutoPlayButtonVisible) return; bookConfig.AutoPlayButtonVisible = false; var autoplay = toolBar.getButton('autoplay'); if (toolBar.btnAutoPlay) { autoplay = toolBar.btnAutoPlay; if (toolBar.soundBevel) toolBar.soundBevel.$body.remove(); } if (!bookConfig.autoPlayAutoStart) { StateSynchronous.instance() .findButtons('AutoPlayButton', true) .each(function (button) { button.setAsStart(); button.executeCallback(); }); } toolBar.removeButton(autoplay); toolBar.onResize(); } setAutoFlipParams(params) { // autoPlayAutoStart this.setBookConfig(params); if (bookConfig.autoPlayAutoStart && auto_player) global.auto_player.start(); if (!bookConfig.autoPlayAutoStart && auto_player) global.auto_player.stop(); } showThumbnailButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneThumbnailButton()); this.showAlert(); return; } if (bookConfig.ThumbnailsButtonVisible || this.isHasButton('thumbnail')) return; bookConfig.ThumbnailsButtonVisible = true; if (global.templeteName != 'active') { if (toolBar.btnThumbnail) { toolBar.initThumbnailButton(); } else { this.toolBarAddNewButton(new ThumbnailButton()); } } toolBar.sortXMLButton(); toolBar.onResize(); initComponents(); global.thumbnail.onResize(); if (global.templeteName == 'active') thumbnail.show(); if (BookInfo.isDoublePage(BookInfo.getBookType())) { thumbnail.mergeAll(); } else { thumbnail.fissionAll(); } } hideThumbnailButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.ThumbnailsButtonVisible) return; bookConfig.ThumbnailsButtonVisible = false; if (global.thumbnail) global.thumbnail.hide(); var btnThumbnail = toolBar.getButton('thumbnail'); if (toolBar.btnThumbnail) { btnThumbnail = toolBar.btnThumbnail; if (toolBar.thumbBevel) toolBar.thumbBevel.$body.remove(); } toolBar.removeButton(btnThumbnail); toolBar.onResize(); } showPrintButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhonePrintButton()); this.showAlert(); return; } if (bookConfig.PrintButtonVisible || this.isHasButton('print')) return; bookConfig.PrintButtonVisible = true; this.toolBarAddNewButton(new PrintButton()); toolBar.sortXMLButton(); toolBar.onResize(); initComponents(); global.printBody.onResize(); } hidePrintButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.PrintButtonVisible) return; bookConfig.PrintButtonVisible = false; if (global.printBody) global.printBody.hide(); toolBar.removeButton('print'); toolBar.onResize(); } setPrintWatermark(params) { // printWatermarkFile this.setBookConfig(params); if (global.templeteName == 'brief') { this.showAlert(); return; } } setZoomOperation(params) { // ZoomButtonVisible SupportOperatePageZoom ZoomToolbarVisible ZoomMapVisible if ( global.templeteName == 'brief' || params.SupportOperatePageZoom != undefined ) { // this.toolBarAddNewButton(new PhoneZoomButton()); this.showAlert(); return; } this.setBookConfig(params); if ( params.ZoomMapVisible || params.ZoomToolbarVisible || params.SupportOperatePageZoom ) { this.showAlert(); } if (bookConfig.ZoomButtonVisible) { if (!this.isHasButton('zoom')) { this.toolBarAddNewButton(new ZoomButton()); toolBar.sortXMLButton(); toolBar.onResize(); } } else { bookConfig.SupportOperatePageZoom = false; bookConfig.ZoomToolbarVisible = false; bookConfig.ZoomMapVisible = false; toolBar.removeButton('zoom'); toolBar.onResize(); } } showFullscreenButton() { if ( global.templeteName == 'brief' || bookConfig.FullscreenButtonVisible || this.isHasButton('fullscreen') ) return; bookConfig.FullscreenButtonVisible = true; this.toolBarAddNewButton(new FullscreenButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideFullscreenButton() { if (global.templeteName == 'brief' || !bookConfig.FullscreenButtonVisible) return; bookConfig.FullscreenButtonVisible = false; toolBar.removeButton('fullscreen'); toolBar.onResize(); } showTableOfContentsButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneTableOfContentButton()); this.showAlert(); return; } if ( bookConfig.TableOfContentButtonVisible || this.isHasButton('tableofcontent') ) return; bookConfig.TableOfContentButtonVisible = true; this.toolBarAddNewButton(new TableOfContentButton()); toolBar.sortXMLButton(); toolBar.onResize(); initComponents(); global.frmTableOfContent.onResize(); } hideTableOfContentsButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.TableOfContentButtonVisible) return; bookConfig.TableOfContentButtonVisible = false; if (global.frmTableOfContent && global.frmTableOfContent.visible) global.frmTableOfContent.hide(); toolBar.removeButton('tableofcontent'); toolBar.onResize(); } setShrinkRootNode(params) { // isHideTabelOfContentNodes this.setBookConfig(params); if (!global.frmTableOfContent) return; if (params && params.isHideTabelOfContentNodes != undefined) { if (!bookConfig.isHideTabelOfContentNodes) global.frmTableOfContent.elements.expandItems(); else global.frmTableOfContent.elements.collapseItems(); } } showBookmarkButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneBookmarkButton()); this.showAlert(); return; } if (bookConfig.BookMarkButtonVisible || this.isHasButton('bookmark')) return; bookConfig.BookMarkButtonVisible = true; this.toolBarAddNewButton(new BookmarkButton()); toolBar.sortXMLButton(); toolBar.onResize(); initComponents(); global.bookmark.onResize(); } hideBookmarkButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.BookMarkButtonVisible) return; bookConfig.BookMarkButtonVisible = false; if (global.bookmark && global.bookmark.visible) global.bookmark.hide(); toolBar.removeButton('bookmark'); toolBar.onResize(); } showAnnotationButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneAnnotationButton()); this.showAlert(); return; } if (bookConfig.AnnotationButtonVisible || this.isHasButton('annotation')) return; bookConfig.AnnotationButtonVisible = true; this.toolBarAddNewButton(new AnnotationButton()); if (!global.annotationPannel) { global.annotationPannel = new AnnotationPannel(tmpContainer); var pageArray = BookInfo.getBook().pageArray; for (var i = 0; i < pageArray.length; i++) { if (!pageArray[i]) continue; this.getPage().pageAttachments.createAnnotation(); } } // global.annotationPannel.show(); toolBar.sortXMLButton(); toolBar.onResize(); } getPage() { var index = BookInfo.getBook().currentPageIndex; var page = ''; if ( bookConfig.FlipStyle.toLocaleLowerCase() == 'slide' && BookInfo.isDoublePage(BookInfo.getBookType()) ) { if (BookInfo.getBook().pageArray[index].leftPage) page = BookInfo.getBook().pageArray[index].leftPage; else if (BookInfo.getBook().pageArray[index].rightPage) page = BookInfo.getBook().pageArray[index].rightPage; if (rightToLeft && BookInfo.getBook().pageArray[index].rightPage) page = BookInfo.getBook().pageArray[index].rightPage; } else { page = BookInfo.getBook().pageArray[index].page; } return page; } hideAnnotationButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.AnnotationButtonVisible) return; bookConfig.AnnotationButtonVisible = false; if (global.annotationPannel && global.annotationPannel.visible) global.annotationPannel.hide(); toolBar.removeButton('annotation'); toolBar.onResize(); } showSearchButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneSearchButton()); this.showAlert(); return; } if (bookConfig.SearchButtonVisible || this.isHasButton('search')) return; bookConfig.SearchButtonVisible = true; if (toolBar.showOrHideSearchBar) { toolBar.showOrHideSearchBar(); } else { this.toolBarAddNewButton(new SearchButton()); toolBar.sortXMLButton(); } toolBar.onResize(); initComponents(); global.frmSearch.onResize(); } hideSearchButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.SearchButtonVisible) return; bookConfig.SearchButtonVisible = false; if (toolBar.showOrHideSearchBar) { toolBar.showOrHideSearchBar(); } else { toolBar.removeButton('search'); } if (global.frmSearch && global.frmSearch.visible) global.frmSearch.hide(); toolBar.onResize(); } setSearchParams(params) { // leastSearchChar searchKeywordFontColor searchHightlightColor this.setBookConfig(params); if (global.templeteName == 'brief') { this.showAlert(); return; } if (!global.frmSearch) return; if (frmSearch.visible && frmSearch.input.val()) { bookConfig.searchKeywordFontColor = Color( bookConfig.searchKeywordFontColor ).toString(); bookConfig.searchHightlightColor = Color( bookConfig.searchHightlightColor ).toString(); frmSearch.elements.searchText = ''; frmSearch.elements.searchStart(); } } showSelectTextButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneSelectTextButton()); this.showAlert(); return; } if (bookConfig.SelectTextButtonVisible || this.isHasButton('select')) return; bookConfig.SelectTextButtonVisible = true; this.toolBarAddNewButton(new SelectTextButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideSelectTextButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.SelectTextButtonVisible) return; bookConfig.SelectTextButtonVisible = false; if (BookInfo.getBook().unSelect) BookInfo.getBook().unSelect(); toolBar.removeButton('select'); toolBar.onResize(); } showHelpButton() { if ( global.templeteName == 'brief' || bookConfig.HelpButtonVisible || this.isHasButton('help') ) return; bookConfig.HelpButtonVisible = true; this.toolBarAddNewButton(new HelpButton()); toolBar.sortXMLButton(); toolBar.onResize(); initComponents(); global.helpBody.onResize(); } hideHelpButton() { if (global.templeteName == 'brief' || !bookConfig.HelpButtonVisible) return; bookConfig.HelpButtonVisible = false; toolBar.removeButton('help'); toolBar.onResize(); } showAboutButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneAboutButton()); this.showAlert(); return; } if (bookConfig.aboutButtonVisible || this.isHasButton('about')) return; bookConfig.aboutButtonVisible = true; this.toolBarAddNewButton(new AboutButton()); toolBar.sortXMLButton(); toolBar.onResize(); initComponents(); global.aboutBody.onResize(); } hideAboutButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.aboutButtonVisible) return; bookConfig.aboutButtonVisible = false; toolBar.removeButton('about'); toolBar.onResize(); } setBookAboutInfo(params) { // CompanyLogoFile AboutAuthor AboutEmail AboutWebsite AboutMobile AboutAddress AboutDescription this.setBookConfig(params); if (global.templeteName == 'brief') { this.showAlert(); return; } if (!global.aboutBody) return; if (global.aboutBody.elements) global.aboutBody.elements.resetAboutHtml(); if (global.aboutBody.initLogo) global.aboutBody.initLogo(); if (global.aboutBody.aboutSwiper) global.aboutBody.aboutSwiper.refreshData(); } showDownloadButton() { if (global.templeteName == 'brief') { // this.toolBarAddNewButton(new PhoneDownloadButton()); this.showAlert(); return; } if (bookConfig.DownloadButtonVisible || this.isHasButton('download')) return; bookConfig.DownloadButtonVisible = true; this.toolBarAddNewButton(new DownloadButton()); toolBar.sortXMLButton(); toolBar.onResize(); } hideDownloadButton() { if (global.templeteName == 'brief') { this.showAlert(); return; } if (!bookConfig.DownloadButtonVisible) return; bookConfig.DownloadButtonVisible = false; toolBar.removeButton('download'); toolBar.onResize(); } setDownloadURL(params) { // DownloadURL this.setBookConfig(params); } setPageCaption(params) { // totalPagesCaption pageNumberCaption if (global.templeteName == 'brief') { this.showAlert(); return; } this.setBookConfig(params); setCurrentIndexTextField(); } //xiayuting resetBookConfig(params) { // retainBookCenter isTheBookOpen // isHardCover hardCoverBorderWidth cornerRound borderColor outerCoverBorder coverTexture isHardPage // pageBackgroundColor // thicknessWidthType thicknessColor // leftMargin topMargin rightMargin bottomMargin // bleedAreaLeft bleedAreaTop bleedAreaRight bleedAreaBottom // BindingType // ShowTopLeftShadow LeftShadowWidth LeftShadowAlpha RightShadowWidth RightShadowAlpha this.setBookConfig(params); this.resetBook(); } showAsSinglePage(params) { // showMirrorSide SingleModeBanFlipToLastPage if (bookConfig.autoDoublePage) { this.showAlert(); return; } else { this.setBookConfig(params); this.resetBook(); } } mouseWheelFlip(params) { // mouseWheelFlip this.setBookConfig(params); } curlingPageCorner(params) { // CurlingPageCorner this.setBookConfig(params); } resetBook() { bookConfig.OriginPageIndex = BookInfo.getCurrentPageIndex(); if (window.flipBook) { flipBook.flipBook.remove(); flipBook.destroy(); flipBook = null; } if (window.singlePageBook) { singlePageBook.flipBook.remove(); singlePageBook.destroy(); singlePageBook = null; } if (window.slideBook) { slideBook.flipBook.remove(); slideBook.destroy(); slideBook = null; } if (window.singleSlideBook) { singleSlideBook.flipBook.remove(); singleSlideBook.destroy(); singleSlideBook = null; } if (window.catalogBook) { catalogBook.flipBook.remove(); catalogBook.destroy(); catalogBook = null; } if (window.singleCatalogBook) { singleCatalogBook.flipBook.remove(); singleCatalogBook.destroy(); singleCatalogBook = null; } global.bookType = bookConfig.showDoublePage != 'single' ? 0 : 1; global.rightToLeft = parseBool(bookConfig.RightToLeft, false); global.originTotalPageCount = parseInt(bookConfig.totalPageCount); global.totalPageCount = originTotalPageCount + ((originTotalPageCount % 2 == 1 && !bookConfig.isTheBookOpen) || (originTotalPageCount % 2 == 0 && bookConfig.isTheBookOpen) ? 1 : 0); initBook(); changeShowBook(bookType); changeShowBookByWindow(); } } var BookPreview = new BookPreviewInterface(); class KeyBridge { constructor(params) { this.params = params; this.functionName = this.getFunctionName(this.params); this.execute(); } get isRefresh() { return BookPreview.isRefresh; } execute() { if (this.functionName && BookPreview[this.functionName]) { BookPreview[this.functionName](this.params); } } getFunctionName(params) { var prop = Object.keys(params)[0]; switch (prop) { case 'bgBeginColor': case 'bgEndColor': case 'bgMRotation': case 'backgroundOpacity': { return 'setBackgroundColor'; } case 'backGroundImgURL': case 'backgroundPosition': { return 'setBackgroundImage'; } case 'toolbarColor': case 'ToolBarAlpha': { return 'setToolbarColor'; } case 'iconColor': case 'iconFontColor': { return 'setToolbarButtonColor'; } case 'formBackgroundColor': case 'formFontColor': { return 'setFormColor'; } // case 'appLogoIcon': // case 'appLogoLinkURL': case 'appLogoOpenWindow': { return 'setLogoAction'; } case 'logoPadding': case 'logoTop': case 'logoHeight': { return 'setLogoLayout'; } case 'toolBarBrandInfo': { return 'setToolBarBrandInfo'; } // case "toolBarBrandInfoVisible": { // return "setToolBarBrandVisible"; // } // case "toolBarBrandInfoUrl": { // return "setToolBarBrand"; // } case 'appLargeLogoIcon': case 'isFixLogoSize': case 'appLargeLogoURL': case 'LargeLogoTarget': case 'logoFixWidth': case 'logoFixHeight': { return 'setBookLargeLogo'; } // case "flippingTime": { // return "setFlippingTime"; // } case 'isStopMouseMenu': { return 'preventPopupTheWebMenu'; } case 'flipshortcutbutton': { if (parseBool(this.params['flipshortcutbutton'], false)) { return 'showFlipShortcutButton'; } else { return 'hideFlipShortcutButton'; } } case 'QRCode': { if (parseBool(this.params['QRCode'], false)) { return 'showQRCode'; } else { return 'hideQRCode'; } } case 'enablePageBack': { if (parseBool(this.params['enablePageBack'], false)) { return 'showBackwardForwardButtons'; } else { return 'hideBackwardForwardButtons'; } } case 'HomeURL': { return 'setHomeButtonURL'; } case 'HomeButtonVisible': { if (parseBool(this.params['HomeButtonVisible'], false)) { return 'showHomeButton'; } else { return 'hideHomeButton'; } } case 'ShareButtonVisible': { if (parseBool(this.params['ShareButtonVisible'], false)) { return 'showShareButton'; } else { return 'hideShareButton'; } } case 'addCurrentPage': { return 'setShareButtonParams'; } case 'EmailButtonVisible': { if (parseBool(this.params['EmailButtonVisible'], false)) { return 'showEmailButton'; } else { return 'hideEmailButton'; } } case 'btnShareWithEmailSubject': case 'btnShareWithEmailBody': { return 'setEmailShareParams'; } case 'PhoneButtonVisible': { if (parseBool(this.params['PhoneButtonVisible'], false)) { return 'showTelephoneNumberButton'; } else { return 'hideTelephoneNumberButton'; } } case 'PhoneNumbers': case 'PhoneButtonIcon': { return 'setTelephoneNumberParams'; } case 'MagnifierButtonVisible': { if (parseBool(this.params['MagnifierButtonVisible'], false)) { return 'showMagnifierButton'; } else { return 'hideMagnifierButton'; } } case 'WeChatShareButtonVisible': { if (parseBool(this.params['WeChatShareButtonVisible'], false)) { return 'showWeChatShareButton'; } else { return 'hideWeChatShareButton'; } } case 'WeChatShareButtonIcon': { return 'setWeChatShareParams'; } case 'BackgroundSoundButtonVisible': { if (parseBool(this.params['BackgroundSoundButtonVisible'], false)) { return 'showSoundButton'; } else { return 'hideSoundButton'; } } case 'FlipSound': { if (parseBool(this.params['FlipSound'], false)) { return 'playFlipSound'; } else { return 'pauseFlipSound'; } } // case 'BackgroundSoundURL': // case 'BackgroundSoundLoop': { // return 'setBackgroundSound'; // } case 'AutoPlayButtonVisible': { if (parseBool(this.params['AutoPlayButtonVisible'], false)) { return 'showAutoFlipButton'; } else { return 'hideAutoFlipButton'; } } case 'autoPlayAutoStart': { return 'setAutoFlipParams'; } case 'ThumbnailsButtonVisible': { if (parseBool(this.params['ThumbnailsButtonVisible'], false)) { return 'showThumbnailButton'; } else { return 'hideThumbnailButton'; } } case 'PrintButtonVisible': { if (parseBool(this.params['PrintButtonVisible'], false)) { return 'showPrintButton'; } else { return 'hidePrintButton'; } } case 'printWatermarkFile': { return 'setPrintWatermark'; } case 'ZoomButtonVisible': case 'SupportOperatePageZoom': case 'ZoomToolbarVisible': case 'ZoomMapVisible': { return 'setZoomOperation'; } case 'FullscreenButtonVisible': { if (parseBool(this.params['FullscreenButtonVisible'], false)) { return 'showFullscreenButton'; } else { return 'hideFullscreenButton'; } } case 'TableOfContentButtonVisible': { if (parseBool(this.params['TableOfContentButtonVisible'], false)) { return 'showTableOfContentsButton'; } else { return 'hideTableOfContentsButton'; } } case 'BookMarkButtonVisible': { if (parseBool(this.params['BookMarkButtonVisible'], false)) { return 'showBookmarkButton'; } else { return 'hideBookmarkButton'; } } case 'isHideTabelOfContentNodes': { return 'setShrinkRootNode'; } case 'AnnotationButtonVisible': { if (parseBool(this.params['AnnotationButtonVisible'], false)) { return 'showAnnotationButton'; } else { return 'hideAnnotationButton'; } } case 'SearchButtonVisible': { if (parseBool(this.params['SearchButtonVisible'], false)) { return 'showSearchButton'; } else { return 'hideSearchButton'; } } case 'leastSearchChar': case 'searchKeywordFontColor': case 'searchHightlightColor': { return 'setSearchParams'; } case 'SelectTextButtonVisible': { if (parseBool(this.params['SelectTextButtonVisible'], false)) { return 'showSelectTextButton'; } else { return 'hideSelectTextButton'; } } case 'HelpButtonVisible': { if (parseBool(this.params['HelpButtonVisible'], false)) { return 'showHelpButton'; } else { return 'hideHelpButton'; } } case 'aboutButtonVisible': { if (parseBool(this.params['aboutButtonVisible'], false)) { return 'showAboutButton'; } else { return 'hideAboutButton'; } } case 'DownloadButtonVisible': { if (parseBool(this.params['DownloadButtonVisible'], false)) { return 'showDownloadButton'; } else { return 'hideDownloadButton'; } } case 'CompanyLogoFile': case 'AboutAuthor': case 'AboutEmail': case 'AboutWebsite': case 'AboutMobile': case 'AboutAddress': case 'AboutDescription': { return 'setBookAboutInfo'; } case 'DownloadURL': { return 'setDownloadURL'; } case 'totalPagesCaption': case 'pageNumberCaption': { return 'setPageCaption'; } case 'mouseWheelFlip': { return 'mouseWheelFlip'; } case 'CurlingPageCorner': { return 'curlingPageCorner'; } case 'retainBookCenter': case 'isTheBookOpen': case 'HardPageEnable': case 'hardCoverBorderWidth': case 'cornerRound': case 'borderColor': case 'outerCoverBorder': case 'coverTexture': case 'HardInnerPageEnable': case 'pageBackgroundColor': case 'thicknessWidthType': case 'thicknessColor': case 'leftMargin': case 'topMargin': case 'rightMargin': case 'bottomMargin': case 'bleedAreaLeft': case 'bleedAreaTop': case 'bleedAreaRight': case 'bleedAreaBottom': case 'BindingType': case 'ShowTopLeftShadow': case 'LeftShadowWidth': case 'LeftShadowAlpha': case 'RightShadowWidth': case 'RightShadowAlpha': { return 'resetBookConfig'; } case 'showMirrorSide': case 'SingleModeBanFlipToLastPage': { return 'showAsSinglePage'; } default: { return 'showAlert'; } } } } class BookLogoBar { constructor(logoBar) { this.logoBar = $('#logoBar'); this.logoImg = $('#logoBar').find('img'); console.log('BookLogoBar', this.logoBar, this.logoImg); } _createImageElement() { return $(""); } setLayout(params) { const key = Object.keys(params)[0]; switch (key) { case 'logoTop': this.setLogoTop(params[key]); break; case 'logoHeight': this.setLogoHeight(params[key]); break; case 'logoPadding': this.setLogoPadding(params[key]); break; } } setLogoTop(_logoTop) { let logoTop = _logoTop; if (global.templeteName !== 'popular') { const logoHeight = bookConfig.logoHeight; const containerHeight = this.logoBar.height(); logoTop = parseInt((containerHeight - logoHeight) / 2); } this.logoImg.css({ top: logoTop + 'px' }); } setLogoHeight(_logoHeight) { this.logoImg.css({ height: _logoHeight + 'px' }); } setLogoPadding(_logoPadding) { this.logoImg.css({ left: _logoPadding + 'px' }); } setAppLogoIcon(appLogoIcon) { this.appLogoIcon = appLogoIcon; this.logoImg.attr({ src: this.appLogoIcon }); } setLink(link) { this.link = link; this.addClickEventToLogoImage(); } setTarget(target) { this.target = target; this.addClickEventToLogoImage(); } setLogoImageSrc() { this.logoImg.attr({ src: bookConfig.appLogoIcon }); } clearLogoBar() { this.logoBar.html(''); } insertImageIntoLogoBar() { this.logoBar.html(this.logoImg); } modifyLogoImageStyle() { let logoTop = bookConfig.logoTop; if (global.templeteName !== 'popular') { const logoHeight = bookConfig.logoHeight; const containerHeight = this.logoBar.height(); logoTop = parseInt((containerHeight - logoHeight) / 2); } this.logoImg.css({ top: logoTop + 'px' }); } modifyLogoBarStyle() { const logoPadding = bookConfig.logoPadding; const logoWidth = (this.logoImg[0].naturalWidth * logoHeight) / this.logoImg[0].naturalHeight; this.logoBar.css({ left: logoPadding + 'px', width: logoWidth + 'px' }); } addClickEventToLogoImage() { const logoLink = getLogoLink(); const isValidLogoLink = logoLink[0] && logoLink[0].indexOf(JS_VOID) < 0; if (isValidLogoLink) { this.logoImg.click(function () { BookEvent.trigger('clickButton', [ BookInfo.getCurrentPageIndex(), 'logoImage', 'logo' ]); if ( BookEvent.trigger('jumpLink', [ 'logo', BookInfo.getCurrentPageIndex(), logoLink[0] ]) ) return; window.open(logoLink[0], logoLink[1]); }); this.logoImg.css({ cursor: 'pointer' }); } } resizeToolbar() { if (global.toolBar && global.toolBar.onResize) global.toolBar.onResize(); } init() { this.clearLogoBar(); if (!bookConfig.appLogoIcon) return; this.setLogoImageSrc(); this.logoImg.on('load', () => { this.insertImageIntoLogoBar(); this.modifyLogoImageStyle(); this.modifyLogoBarStyle(); this.addClickEventToLogoImage(); this.resizeToolbar(); }); } } //使用实例 // new KeyBridge({bgBeginColor:"#ffffff"}); //还原的时候不弹出提示 //BookPreview.isShowAlert = false;