|
@@ -1,25 +1,35 @@
|
|
-
|
|
|
|
<template>
|
|
<template>
|
|
- <div ref="reader-wrap"
|
|
|
|
- :class="['reader', {'reader-fixed': five_template && !five_template_clicked}]">
|
|
|
|
- <x-reader ref="reader"
|
|
|
|
- :class="{'x-reader--subscribe':weakSubscribe,'x-reader--subscribe__qrcode':(subscribeQRcode&&!subscribeQRcodeHorizontal)||active}"
|
|
|
|
- :text="text"
|
|
|
|
- :ad="showAdStatus"
|
|
|
|
- :adframe="showAdIframe"
|
|
|
|
- :gift="true"
|
|
|
|
- :shelf="is_on"
|
|
|
|
- :showFans="showFans"
|
|
|
|
- @route="go"
|
|
|
|
- @addShelf="addShelf"
|
|
|
|
- @next="next"
|
|
|
|
- @prev="prev"
|
|
|
|
- @direction="direction"
|
|
|
|
- @horizontal-mounted="horizontalMounted"
|
|
|
|
- @closeBanner="closeBanner"
|
|
|
|
- @vertical-mounted="verticalMounted"
|
|
|
|
- @show-gift="showGiftPopup"
|
|
|
|
- @share="share">
|
|
|
|
|
|
+ <div
|
|
|
|
+ ref="reader-wrap"
|
|
|
|
+ :class="[
|
|
|
|
+ 'reader',
|
|
|
|
+ { 'reader-fixed': five_template && !five_template_clicked }
|
|
|
|
+ ]"
|
|
|
|
+ >
|
|
|
|
+ <x-reader
|
|
|
|
+ ref="reader"
|
|
|
|
+ :class="{
|
|
|
|
+ 'x-reader--subscribe': weakSubscribe,
|
|
|
|
+ 'x-reader--subscribe__qrcode':
|
|
|
|
+ (subscribeQRcode && !subscribeQRcodeHorizontal) || active
|
|
|
|
+ }"
|
|
|
|
+ :text="text"
|
|
|
|
+ :ad="showAdStatus"
|
|
|
|
+ :adframe="showAdIframe"
|
|
|
|
+ :gift="true"
|
|
|
|
+ :shelf="is_on"
|
|
|
|
+ :showFans="showFans"
|
|
|
|
+ @route="go"
|
|
|
|
+ @addShelf="addShelf"
|
|
|
|
+ @next="next"
|
|
|
|
+ @prev="prev"
|
|
|
|
+ @direction="direction"
|
|
|
|
+ @horizontal-mounted="horizontalMounted"
|
|
|
|
+ @closeBanner="closeBanner"
|
|
|
|
+ @vertical-mounted="verticalMounted"
|
|
|
|
+ @show-gift="showGiftPopup"
|
|
|
|
+ @share="share"
|
|
|
|
+ >
|
|
<!-- <template v-if="showGift">
|
|
<!-- <template v-if="showGift">
|
|
<v-touch class="send-gift">
|
|
<v-touch class="send-gift">
|
|
<v-touch class="send-gift__btn"
|
|
<v-touch class="send-gift__btn"
|
|
@@ -34,123 +44,148 @@
|
|
</div>
|
|
</div>
|
|
</template> -->
|
|
</template> -->
|
|
<!-- 5元充值入口 -->
|
|
<!-- 5元充值入口 -->
|
|
- <div slot="top"
|
|
|
|
- class="five_template_entry"
|
|
|
|
- ref="five_template"
|
|
|
|
- v-if="five_template && !five_template_clicked">
|
|
|
|
|
|
+ <div
|
|
|
|
+ slot="top"
|
|
|
|
+ class="five_template_entry"
|
|
|
|
+ ref="five_template"
|
|
|
|
+ v-if="five_template && !five_template_clicked"
|
|
|
|
+ >
|
|
<v-touch @tap="tapFiveTemplate">
|
|
<v-touch @tap="tapFiveTemplate">
|
|
- <img :src="five_template.banner"
|
|
|
|
- alt="">
|
|
|
|
|
|
+ <img :src="five_template.banner" alt="" />
|
|
</v-touch>
|
|
</v-touch>
|
|
- <v-touch tag="span"
|
|
|
|
- class="close-area"
|
|
|
|
- @tap="closeFiveTemplate"></v-touch>
|
|
|
|
- <v-touch tag="span"
|
|
|
|
- class="close-text-area"
|
|
|
|
- @tap="closeFiveTemplate"></v-touch>
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ tag="span"
|
|
|
|
+ class="close-area"
|
|
|
|
+ @tap="closeFiveTemplate"
|
|
|
|
+ ></v-touch>
|
|
|
|
+ <v-touch
|
|
|
|
+ tag="span"
|
|
|
|
+ class="close-text-area"
|
|
|
|
+ @tap="closeFiveTemplate"
|
|
|
|
+ ></v-touch>
|
|
</div>
|
|
</div>
|
|
<!-- 弱关添加 -->
|
|
<!-- 弱关添加 -->
|
|
<template v-if="weakSubscribe">
|
|
<template v-if="weakSubscribe">
|
|
<!-- 横版 -->
|
|
<!-- 横版 -->
|
|
- <v-touch v-if=" weakSubscribeHorizontal"
|
|
|
|
- v-show="!loading"
|
|
|
|
- key="weakSubscribeHorizontal"
|
|
|
|
- class="weak-subscribe-wrap--horizontal"
|
|
|
|
- :style="weakSubscribeStyle"
|
|
|
|
- @tap="weakSubscribeEv">
|
|
|
|
- <p v-for="i in weakSubscribeHorizontalNum"
|
|
|
|
- class="weak-subscribe--horizontal weak-subscribe"
|
|
|
|
- :key="'weakSubscribeHorizontalText-'+i">{{weakSubscribeText[i%weakSubscribeText.length]}}</p>
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ v-if="weakSubscribeHorizontal"
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ key="weakSubscribeHorizontal"
|
|
|
|
+ class="weak-subscribe-wrap--horizontal"
|
|
|
|
+ :style="weakSubscribeStyle"
|
|
|
|
+ @tap="weakSubscribeEv"
|
|
|
|
+ >
|
|
|
|
+ <p
|
|
|
|
+ v-for="i in weakSubscribeHorizontalNum"
|
|
|
|
+ class="weak-subscribe--horizontal weak-subscribe"
|
|
|
|
+ :key="'weakSubscribeHorizontalText-' + i"
|
|
|
|
+ >
|
|
|
|
+ {{ weakSubscribeText[i % weakSubscribeText.length] }}
|
|
|
|
+ </p>
|
|
</v-touch>
|
|
</v-touch>
|
|
|
|
|
|
<!-- 竖版 -->
|
|
<!-- 竖版 -->
|
|
- <v-touch v-else
|
|
|
|
- v-show="!loading"
|
|
|
|
- key="weakSubscribeVertical"
|
|
|
|
- @tap="weakSubscribeEv">
|
|
|
|
- <p class="weak-subscribe--vertical weak-subscribe">{{ weakSubscribeTextRandom() }}</p>
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ v-else
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ key="weakSubscribeVertical"
|
|
|
|
+ @tap="weakSubscribeEv"
|
|
|
|
+ >
|
|
|
|
+ <p class="weak-subscribe--vertical weak-subscribe">
|
|
|
|
+ {{ weakSubscribeTextRandom() }}
|
|
|
|
+ </p>
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<template v-if="guidepersonalaccount && !crm_guide_pool">
|
|
<template v-if="guidepersonalaccount && !crm_guide_pool">
|
|
<!-- 微点需求 -->
|
|
<!-- 微点需求 -->
|
|
- <v-touch v-show="!loading"
|
|
|
|
- key="weakSubscribeVertical"
|
|
|
|
- @tap="wdQrcodeEv('text')">
|
|
|
|
- <p class="weak-subscribe--vertical weak-subscribe">{{ guidepersonalaccount.title }}</p>
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ key="weakSubscribeVertical"
|
|
|
|
+ @tap="wdQrcodeEv('text')"
|
|
|
|
+ >
|
|
|
|
+ <p class="weak-subscribe--vertical weak-subscribe">
|
|
|
|
+ {{ guidepersonalaccount.title }}
|
|
|
|
+ </p>
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<!-- crm_guide_pool -->
|
|
<!-- crm_guide_pool -->
|
|
<template v-if="crm_guide_pool">
|
|
<template v-if="crm_guide_pool">
|
|
- <v-touch v-show="!loading"
|
|
|
|
- key="weakSubscribeVertical"
|
|
|
|
- @tap="wdQrcodeEv('text')">
|
|
|
|
- <p class="weak-subscribe--vertical weak-subscribe">{{ crm_guide_pool.title }}</p>
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ key="weakSubscribeVertical"
|
|
|
|
+ @tap="wdQrcodeEv('text')"
|
|
|
|
+ >
|
|
|
|
+ <p class="weak-subscribe--vertical weak-subscribe">
|
|
|
|
+ {{ crm_guide_pool.title }}
|
|
|
|
+ </p>
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<!-- 关注二维码 -->
|
|
<!-- 关注二维码 -->
|
|
- <template v-if="subscribeQRcode&&isChannel123">
|
|
|
|
|
|
+ <template v-if="subscribeQRcode && isChannel123">
|
|
<!-- 横版 -->
|
|
<!-- 横版 -->
|
|
- <v-touch class="subscribe-qrcode"
|
|
|
|
- v-if="subscribeQRcodeHorizontal"
|
|
|
|
- v-show="!loading"
|
|
|
|
- @tap="toSubscribe">
|
|
|
|
- <img :src="subscribeQrcodeImg"
|
|
|
|
- alt>
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ class="subscribe-qrcode"
|
|
|
|
+ v-if="subscribeQRcodeHorizontal"
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ @tap="toSubscribe"
|
|
|
|
+ >
|
|
|
|
+ <img :src="subscribeQrcodeImg" alt />
|
|
</v-touch>
|
|
</v-touch>
|
|
<!-- 竖版 -->
|
|
<!-- 竖版 -->
|
|
- <v-touch class="subscribe-qrcode"
|
|
|
|
- slot="ufooter"
|
|
|
|
- v-show="!loading"
|
|
|
|
- @tap="toSubscribe"
|
|
|
|
- v-else>
|
|
|
|
- <img :src="subscribeQrcodeImg"
|
|
|
|
- alt>
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ class="subscribe-qrcode"
|
|
|
|
+ slot="ufooter"
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ @tap="toSubscribe"
|
|
|
|
+ v-else
|
|
|
|
+ >
|
|
|
|
+ <img :src="subscribeQrcodeImg" alt />
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
<!-- 底部标题 -->
|
|
<!-- 底部标题 -->
|
|
<template v-if="text.push_title && text.push_title.length">
|
|
<template v-if="text.push_title && text.push_title.length">
|
|
- <v-touch slot="ufooter"
|
|
|
|
- class="title_list">
|
|
|
|
|
|
+ <v-touch slot="ufooter" class="title_list">
|
|
<div class="title">猜你喜欢</div>
|
|
<div class="title">猜你喜欢</div>
|
|
<div class="title-list-box">
|
|
<div class="title-list-box">
|
|
- <v-touch class="title-item"
|
|
|
|
- v-for="(t, i) in text.push_title"
|
|
|
|
- :key="i"
|
|
|
|
- @tap="jumpNovel(t.link)">
|
|
|
|
- <p>{{t.title}}</p>
|
|
|
|
- <img :src="t.img"
|
|
|
|
- :alt="t.title">
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ class="title-item"
|
|
|
|
+ v-for="(t, i) in text.push_title"
|
|
|
|
+ :key="i"
|
|
|
|
+ @tap="jumpNovel(t.link)"
|
|
|
|
+ >
|
|
|
|
+ <p>{{ t.title }}</p>
|
|
|
|
+ <img :src="t.img" :alt="t.title" />
|
|
</v-touch>
|
|
</v-touch>
|
|
</div>
|
|
</div>
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
<!-- 优先级最高 轮播显示 -->
|
|
<!-- 优先级最高 轮播显示 -->
|
|
<template v-if="showPriorityAd && pddAdArr.length">
|
|
<template v-if="showPriorityAd && pddAdArr.length">
|
|
- <mt-swipe slot="ufooter"
|
|
|
|
- v-show="!loading"
|
|
|
|
- class="reader-footer__banners">
|
|
|
|
- <mt-swipe-item v-for="(ad, index) in pddAdArr"
|
|
|
|
- :key="index">
|
|
|
|
|
|
+ <mt-swipe
|
|
|
|
+ slot="ufooter"
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ class="reader-footer__banners"
|
|
|
|
+ >
|
|
|
|
+ <mt-swipe-item v-for="(ad, index) in pddAdArr" :key="index">
|
|
<v-touch @tap="pddActivity(index)">
|
|
<v-touch @tap="pddActivity(index)">
|
|
- <img v-lazy="ad['pic-url']"
|
|
|
|
- alt="">
|
|
|
|
|
|
+ <img v-lazy="ad['pic-url']" alt="" />
|
|
</v-touch>
|
|
</v-touch>
|
|
</mt-swipe-item>
|
|
</mt-swipe-item>
|
|
</mt-swipe>
|
|
</mt-swipe>
|
|
</template>
|
|
</template>
|
|
<!-- 活动添加 -->
|
|
<!-- 活动添加 -->
|
|
<template v-if="banners.length">
|
|
<template v-if="banners.length">
|
|
- <mt-swipe slot="ufooter"
|
|
|
|
- v-show="!loading"
|
|
|
|
- class="reader-footer__banners">
|
|
|
|
- <mt-swipe-item v-for="(b, index) in banners"
|
|
|
|
- :key="index">
|
|
|
|
|
|
+ <mt-swipe
|
|
|
|
+ slot="ufooter"
|
|
|
|
+ v-show="!loading"
|
|
|
|
+ class="reader-footer__banners"
|
|
|
|
+ >
|
|
|
|
+ <mt-swipe-item v-for="(b, index) in banners" :key="index">
|
|
<v-touch @tap="activeEv(index)">
|
|
<v-touch @tap="activeEv(index)">
|
|
- <img v-lazy="b.img"
|
|
|
|
- alt="">
|
|
|
|
|
|
+ <img v-lazy="b.img" alt="" />
|
|
</v-touch>
|
|
</v-touch>
|
|
</mt-swipe-item>
|
|
</mt-swipe-item>
|
|
</mt-swipe>
|
|
</mt-swipe>
|
|
@@ -175,14 +210,18 @@
|
|
<!-- 底部评价功能 -->
|
|
<!-- 底部评价功能 -->
|
|
<template v-if="showComment">
|
|
<template v-if="showComment">
|
|
<div class="click-box">
|
|
<div class="click-box">
|
|
- <v-touch class="click-box__item"
|
|
|
|
- :class="[chooseTap==='dislike'?'cur': '']"
|
|
|
|
- @tap="uploadTap('dislike')">
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ class="click-box__item"
|
|
|
|
+ :class="[chooseTap === 'dislike' ? 'cur' : '']"
|
|
|
|
+ @tap="uploadTap('dislike')"
|
|
|
|
+ >
|
|
<span class="tap-icon"></span>差评
|
|
<span class="tap-icon"></span>差评
|
|
</v-touch>
|
|
</v-touch>
|
|
- <v-touch class="click-box__item"
|
|
|
|
- :class="[chooseTap==='favor'?'cur': '']"
|
|
|
|
- @tap="uploadTap('favor')">
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ class="click-box__item"
|
|
|
|
+ :class="[chooseTap === 'favor' ? 'cur' : '']"
|
|
|
|
+ @tap="uploadTap('favor')"
|
|
|
|
+ >
|
|
<span class="zan-icon"></span>好看
|
|
<span class="zan-icon"></span>好看
|
|
</v-touch>
|
|
</v-touch>
|
|
</div>
|
|
</div>
|
|
@@ -190,110 +229,116 @@
|
|
|
|
|
|
<!-- 引导收藏 -->
|
|
<!-- 引导收藏 -->
|
|
<template>
|
|
<template>
|
|
- <v-touch class="click-toCollection"
|
|
|
|
- @tap="showCollectionWrap = true">>>点击此处,收藏本书<<</v-touch>
|
|
|
|
|
|
+ <v-touch class="click-toCollection" @tap="showCollectionWrap = true"
|
|
|
|
+ >>>点击此处,收藏本书<<</v-touch
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<!-- 引导文字链 -->
|
|
<!-- 引导文字链 -->
|
|
<template v-if="bannerSubText.title">
|
|
<template v-if="bannerSubText.title">
|
|
- <v-touch class="click-toCollection"
|
|
|
|
- @tap="bannerSubEv">{{bannerSubText.title}}</v-touch>
|
|
|
|
|
|
+ <v-touch class="click-toCollection" @tap="bannerSubEv">{{
|
|
|
|
+ bannerSubText.title
|
|
|
|
+ }}</v-touch>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<template v-if="showShareEntry">
|
|
<template v-if="showShareEntry">
|
|
- <v-touch class="to-share__entry"
|
|
|
|
- @tap="toShare">
|
|
|
|
- <img src="../assets/share_entry.png"
|
|
|
|
- alt="">
|
|
|
|
|
|
+ <v-touch class="to-share__entry" @tap="toShare">
|
|
|
|
+ <img src="../assets/share_entry.png" alt="" />
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<template v-if="showAppad && isAndroid">
|
|
<template v-if="showAppad && isAndroid">
|
|
- <v-touch slot="ufooter"
|
|
|
|
- class="active_img"
|
|
|
|
- @tap="toAppAdPage">
|
|
|
|
|
|
+ <v-touch slot="ufooter" class="active_img" @tap="toAppAdPage">
|
|
<img :src="appAdBanner" />
|
|
<img :src="appAdBanner" />
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
<!-- 引导活动banner -->
|
|
<!-- 引导活动banner -->
|
|
<template v-if="guidepersonalaccount.banner && !crm_guide_pool">
|
|
<template v-if="guidepersonalaccount.banner && !crm_guide_pool">
|
|
- <v-touch slot="ufooter"
|
|
|
|
- class="active_img"
|
|
|
|
- @tap="wdQrcodeEv('banner')"
|
|
|
|
- style="padding-bottom: .2rem">
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ slot="ufooter"
|
|
|
|
+ class="active_img"
|
|
|
|
+ @tap="wdQrcodeEv('banner')"
|
|
|
|
+ style="padding-bottom: .2rem"
|
|
|
|
+ >
|
|
<img :src="guidepersonalaccount.banner" />
|
|
<img :src="guidepersonalaccount.banner" />
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
<!-- crm_guide_pool banner -->
|
|
<!-- crm_guide_pool banner -->
|
|
<template v-if="crm_guide_pool">
|
|
<template v-if="crm_guide_pool">
|
|
- <v-touch slot="ufooter"
|
|
|
|
- class="active_img"
|
|
|
|
- @tap="wdQrcodeEv('banner')"
|
|
|
|
- style="padding-bottom: .2rem">
|
|
|
|
|
|
+ <v-touch
|
|
|
|
+ slot="ufooter"
|
|
|
|
+ class="active_img"
|
|
|
|
+ @tap="wdQrcodeEv('banner')"
|
|
|
|
+ style="padding-bottom: .2rem"
|
|
|
|
+ >
|
|
<img :src="crm_guide_pool.banner" />
|
|
<img :src="crm_guide_pool.banner" />
|
|
</v-touch>
|
|
</v-touch>
|
|
</template>
|
|
</template>
|
|
</x-reader>
|
|
</x-reader>
|
|
- <div class="reader-loading"
|
|
|
|
- v-show="loading">
|
|
|
|
- <mt-spinner class="reader-loading-icon"
|
|
|
|
- type="fading-circle"
|
|
|
|
- color="#32a1ff"></mt-spinner>
|
|
|
|
|
|
+ <div class="reader-loading" v-show="loading">
|
|
|
|
+ <mt-spinner
|
|
|
|
+ class="reader-loading-icon"
|
|
|
|
+ type="fading-circle"
|
|
|
|
+ color="#32a1ff"
|
|
|
|
+ ></mt-spinner>
|
|
</div>
|
|
</div>
|
|
- <div class="reader-guide"
|
|
|
|
- v-if="new_reader&&!hideGuide">
|
|
|
|
- <transition name="fade"
|
|
|
|
- @after-leave="new_reader_guide2= true">
|
|
|
|
- <div class="reader-guide-1"
|
|
|
|
- v-if="new_reader_guide1"
|
|
|
|
- @click="new_reader_guide1 = false;">
|
|
|
|
|
|
+ <div class="reader-guide" v-if="new_reader && !hideGuide">
|
|
|
|
+ <transition name="fade" @after-leave="new_reader_guide2 = true">
|
|
|
|
+ <div
|
|
|
|
+ class="reader-guide-1"
|
|
|
|
+ v-if="new_reader_guide1"
|
|
|
|
+ @click="new_reader_guide1 = false"
|
|
|
|
+ >
|
|
<div class="reader-guide-1-1"></div>
|
|
<div class="reader-guide-1-1"></div>
|
|
<div class="reader-guide-1-2"></div>
|
|
<div class="reader-guide-1-2"></div>
|
|
<div class="reader-guide-1-3"></div>
|
|
<div class="reader-guide-1-3"></div>
|
|
<div class="reader-guide-1-4">
|
|
<div class="reader-guide-1-4">
|
|
- <img src="https://cdn-novel.bookkks.com/static/img/uppage.png">
|
|
|
|
|
|
+ <img src="https://cdn-novel.bookkks.com/static/img/uppage.png" />
|
|
</div>
|
|
</div>
|
|
<div class="reader-guide-1-5">
|
|
<div class="reader-guide-1-5">
|
|
- <img src="https://cdn-novel.bookkks.com/static/img/readermiddel.png">
|
|
|
|
|
|
+ <img
|
|
|
|
+ src="https://cdn-novel.bookkks.com/static/img/readermiddel.png"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
<div class="reader-guide-1-6">
|
|
<div class="reader-guide-1-6">
|
|
- <img src="https://cdn-novel.bookkks.com/static/img/downpage.png">
|
|
|
|
|
|
+ <img src="https://cdn-novel.bookkks.com/static/img/downpage.png" />
|
|
</div>
|
|
</div>
|
|
<div class="reader-guide-1-7"></div>
|
|
<div class="reader-guide-1-7"></div>
|
|
<div class="reader-guide-1-8"></div>
|
|
<div class="reader-guide-1-8"></div>
|
|
<div class="reader-guide-1-9"></div>
|
|
<div class="reader-guide-1-9"></div>
|
|
</div>
|
|
</div>
|
|
</transition>
|
|
</transition>
|
|
- <transition name="fade"
|
|
|
|
- @after-leave="new_reader = false">
|
|
|
|
- <div v-if="new_reader_guide2"
|
|
|
|
- @click="new_reader_guide2 = false"
|
|
|
|
- class="reader-guide-2">
|
|
|
|
- <img src="https://cdn-novel.bookkks.com/static/img/readremind.png">
|
|
|
|
|
|
+ <transition name="fade" @after-leave="new_reader = false">
|
|
|
|
+ <div
|
|
|
|
+ v-if="new_reader_guide2"
|
|
|
|
+ @click="new_reader_guide2 = false"
|
|
|
|
+ class="reader-guide-2"
|
|
|
|
+ >
|
|
|
|
+ <img src="https://cdn-novel.bookkks.com/static/img/readremind.png" />
|
|
</div>
|
|
</div>
|
|
</transition>
|
|
</transition>
|
|
</div>
|
|
</div>
|
|
- <div class="share"
|
|
|
|
- @touchmove.prevent
|
|
|
|
- v-show="isshowshare"
|
|
|
|
- @click="isshowshare=!isshowshare">
|
|
|
|
- <img src="../assets/分享.png">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="share"
|
|
|
|
+ @touchmove.prevent
|
|
|
|
+ v-show="isshowshare"
|
|
|
|
+ @click="isshowshare = !isshowshare"
|
|
|
|
+ >
|
|
|
|
+ <img src="../assets/分享.png" />
|
|
</div>
|
|
</div>
|
|
- <div :class="['ad-status', {'with-no-activity': !active}]"
|
|
|
|
- v-if="showAdImg"
|
|
|
|
- @click="toggleAdType($event)">
|
|
|
|
- <img :src="adStatusImg">
|
|
|
|
|
|
+ <div
|
|
|
|
+ :class="['ad-status', { 'with-no-activity': !active }]"
|
|
|
|
+ v-if="showAdImg"
|
|
|
|
+ @click="toggleAdType($event)"
|
|
|
|
+ >
|
|
|
|
+ <img :src="adStatusImg" />
|
|
</div>
|
|
</div>
|
|
- <div class="coupon-entry__wrap"
|
|
|
|
- v-if="showCouponEntry && guidepersonalaccount"
|
|
|
|
- @click="wdQrcodeEv('reader_float')">
|
|
|
|
- <img src="../assets/coupon-entry.png"
|
|
|
|
- alt="">
|
|
|
|
- </div>
|
|
|
|
- <!-- 弹窗banner-->
|
|
|
|
- <div v-if="showBanner" class="pop-activity">
|
|
|
|
- <a :href="reader_alert.jump_url"><img :src="reader_alert.img" /></a>
|
|
|
|
- <i @click="showBanner=false"></i>
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="coupon-entry__wrap"
|
|
|
|
+ v-if="showCouponEntry && guidepersonalaccount"
|
|
|
|
+ @click="wdQrcodeEv('reader_float')"
|
|
|
|
+ >
|
|
|
|
+ <img src="../assets/coupon-entry.png" alt="" />
|
|
</div>
|
|
</div>
|
|
<!-- 签到提示入口 -->
|
|
<!-- 签到提示入口 -->
|
|
<!-- <template v-if="showSignNoticeWrap">
|
|
<!-- <template v-if="showSignNoticeWrap">
|
|
@@ -304,11 +349,12 @@
|
|
</template> -->
|
|
</template> -->
|
|
<!-- 收藏引导入口 -->
|
|
<!-- 收藏引导入口 -->
|
|
<template v-if="showCollectionWrap">
|
|
<template v-if="showCollectionWrap">
|
|
- <div class="sign-notice__wrap"
|
|
|
|
- @click="showCollectionWrap = false"
|
|
|
|
- @touchmove.prevent>
|
|
|
|
- <img :src="isAndroid ? collectAndroidBg : collectIOSBg"
|
|
|
|
- alt="">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="sign-notice__wrap"
|
|
|
|
+ @click="showCollectionWrap = false"
|
|
|
|
+ @touchmove.prevent
|
|
|
|
+ >
|
|
|
|
+ <img :src="isAndroid ? collectAndroidBg : collectIOSBg" alt="" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
@@ -399,7 +445,6 @@ export default {
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- showBanner:false,
|
|
|
|
showFans: false,
|
|
showFans: false,
|
|
readerOptions: bus.preset,
|
|
readerOptions: bus.preset,
|
|
text: {},
|
|
text: {},
|
|
@@ -457,9 +502,7 @@ export default {
|
|
crm_guide_pool: "",
|
|
crm_guide_pool: "",
|
|
five_template: "",
|
|
five_template: "",
|
|
five_template_clicked: true,
|
|
five_template_clicked: true,
|
|
- copyVal: "",
|
|
|
|
- reader_alert:window.options.reader_alert ,
|
|
|
|
-
|
|
|
|
|
|
+ copyVal: ""
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -513,7 +556,7 @@ export default {
|
|
// 和喜悦相关的分享
|
|
// 和喜悦相关的分享
|
|
const xiyue_config = window.options.xiyue_info;
|
|
const xiyue_config = window.options.xiyue_info;
|
|
const is_leyue_site = !!~location.href.indexOf(".leyuee");
|
|
const is_leyue_site = !!~location.href.indexOf(".leyuee");
|
|
- //console.log("is leyuee site:", is_leyue_site);
|
|
|
|
|
|
+ console.log("is leyuee site:", is_leyue_site);
|
|
if (xiyue_config && is_leyue_site) {
|
|
if (xiyue_config && is_leyue_site) {
|
|
let book = this.bookdetail;
|
|
let book = this.bookdetail;
|
|
let redirect_url = `${location.origin}/reader?bid=${book.book_id}&cid=${book.first_cid}`;
|
|
let redirect_url = `${location.origin}/reader?bid=${book.book_id}&cid=${book.first_cid}`;
|
|
@@ -596,6 +639,19 @@ export default {
|
|
window.location.href = `${window.location.origin +
|
|
window.location.href = `${window.location.origin +
|
|
window.options.appad_url}`;
|
|
window.options.appad_url}`;
|
|
},
|
|
},
|
|
|
|
+ getUuid() {
|
|
|
|
+ var s = [];
|
|
|
|
+ var hexDigits = "0123456789abcdef";
|
|
|
|
+ for (var i = 0; i < 36; i++) {
|
|
|
|
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
|
|
|
|
+ }
|
|
|
|
+ s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
|
|
|
|
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
|
|
|
|
+ s[8] = s[13] = s[18] = s[23] = "-";
|
|
|
|
+
|
|
|
|
+ var uuid = s.join("");
|
|
|
|
+ return uuid;
|
|
|
|
+ },
|
|
go(name) {
|
|
go(name) {
|
|
switch (name) {
|
|
switch (name) {
|
|
case "back":
|
|
case "back":
|
|
@@ -652,7 +708,7 @@ export default {
|
|
} else {
|
|
} else {
|
|
if (this.text.next_cid) {
|
|
if (this.text.next_cid) {
|
|
this.$router.replace({
|
|
this.$router.replace({
|
|
- name: Reader.name,
|
|
|
|
|
|
+ path:`/reader/${this.getUuid()}`,
|
|
query: {
|
|
query: {
|
|
bid: this.text.bid,
|
|
bid: this.text.bid,
|
|
cid: this.text.next_cid
|
|
cid: this.text.next_cid
|
|
@@ -803,8 +859,8 @@ export default {
|
|
break;
|
|
break;
|
|
case 10019:
|
|
case 10019:
|
|
Book3(r.data.data)
|
|
Book3(r.data.data)
|
|
- .then(r => {
|
|
|
|
- this.$router.push({ name: Pay.name, query: data });
|
|
|
|
|
|
+ .then(res => {
|
|
|
|
+ this.$router.push({ name: Pay.name, query: { ...data, code: r.data.code } });
|
|
})
|
|
})
|
|
.catch(e => {
|
|
.catch(e => {
|
|
if (e === "close") {
|
|
if (e === "close") {
|
|
@@ -873,7 +929,7 @@ export default {
|
|
temp.map(item => {
|
|
temp.map(item => {
|
|
if (item.bid == bid && item.cid == cid) same = true;
|
|
if (item.bid == bid && item.cid == cid) same = true;
|
|
});
|
|
});
|
|
- //console.log(same);
|
|
|
|
|
|
+ console.log(same);
|
|
if (!same) {
|
|
if (!same) {
|
|
temp.push({ bid: bid, cid: cid });
|
|
temp.push({ bid: bid, cid: cid });
|
|
localStorage.setItem("readTemp", JSON.stringify(temp));
|
|
localStorage.setItem("readTemp", JSON.stringify(temp));
|
|
@@ -1409,18 +1465,6 @@ export default {
|
|
this.$copyText(this.copyVal).then(e => recordCode(this.copyVal));
|
|
this.$copyText(this.copyVal).then(e => recordCode(this.copyVal));
|
|
// 不需要复制 置空
|
|
// 不需要复制 置空
|
|
else this.copyVal = "";
|
|
else this.copyVal = "";
|
|
- },
|
|
|
|
- onceShow(){
|
|
|
|
- let maxTime = localStorage.getItem('maxTime');
|
|
|
|
- if(!maxTime){
|
|
|
|
- return true;
|
|
|
|
- }else{
|
|
|
|
- if(new Date() > new Date(Number(maxTime))){
|
|
|
|
- return true;
|
|
|
|
- }else{
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
async created() {
|
|
async created() {
|
|
@@ -1633,11 +1677,6 @@ export default {
|
|
mounted() {
|
|
mounted() {
|
|
this.bus = this.$refs.reader.getBus();
|
|
this.bus = this.$refs.reader.getBus();
|
|
this.mergeBanner();
|
|
this.mergeBanner();
|
|
- if(this.reader_alert && this.onceShow()){
|
|
|
|
- this.showBanner = true;
|
|
|
|
- let maxTime = new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1).getTime();
|
|
|
|
- localStorage.setItem('maxTime', maxTime);
|
|
|
|
- }
|
|
|
|
},
|
|
},
|
|
destroyed() {
|
|
destroyed() {
|
|
document.title = window.options.title;
|
|
document.title = window.options.title;
|
|
@@ -1953,4 +1992,3 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|
|
-
|
|
|