|                                                                             |  | <template>	<view class="yingbing-computed" :style="[computedStyle]">		<reader-header :text="chapter.title || ''" v-if="headerShowSync"></reader-header>		<web-view ref="webview" style="flex:1" src="/uni_modules/yingbing-ReadPage/hybrid/html/computed.html" @onPostMessage="onPostMessage"></web-view>		<reader-footer v-if="footerShowSync"></reader-footer>	</view></template>
<script>	import ReaderHeader from '../../header/header.vue'	import ReaderFooter from '../../footer/footer.vue'	export default {		inject: ['fontSize', 'fontFamily', 'lineHeight', 'topGap', 'bottomGap', 'slide', 'headerShow', 'footerShow', 'totalChapter'],		components: {			ReaderHeader,			ReaderFooter		},		computed: {			computedStyle () {				return {					'padding-top': this.topGap + 'px',					'padding-bottom': this.bottomGap + 'px',					'padding-left': this.slide + 'px',					'padding-right': this.slide + 'px'				}			}		},		data () {			return {				chapter: {},//章节内容临时存储
				success: null,//成功回调
				fail: null,//失败回调,
				headerShowSync: false,//展示头部
				footerShowSync: false//展示底部
			}		},		beforeDestroy() {			this.$refs.webview && this.$refs.webview.evalJS("destroyHandleTimer()")		},		methods: {			start ({chapter, success, fail}) {				this.chapter = chapter				this.success = success				this.fail = fail				this.headerShowSync = typeof chapter.headerShow == 'boolean' ? chapter.headerShow : this.headerShow//判断是否显示头部
				this.footerShowSync = typeof chapter.footerShow == 'boolean' ? chapter.footerShow : this.footerShow//判断是否显示底部
				const style = {fontSize: this.fontSize, fontFamily: this.fontFamily, lineHeight: this.lineHeight, totalChapter: this.totalChapter}				this.$nextTick(function () {					setTimeout(() => {						this.$refs.webview && this.$refs.webview.evalJS("start(" + encodeURIComponent(JSON.stringify(chapter)) + ', ' + encodeURIComponent(JSON.stringify(style)) + ")")					}, 100)				})			},			onPostMessage (e) {				e.detail.data.forEach(item => {					if ( item.handleSuccess ) {						this.success && this.success(item.handleSuccess)						this.success = null						this.fail = null						this.chapter = {}					}				})			}		}	}</script>
<style scoped>	.yingbing-computed {		position: absolute;		top: 0;		left: 0;		right: 0;		bottom: 0;		transform: translateX(-1000px);	}</style>
 |