Commit f35d8b1f authored by jyx's avatar jyx

代码优化

parent b3fa5c61
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
} }
}, },
tapItem(e, index) { tapItem(e, index) {
if (index >= this.dataList.length - 1) { if (index >= this.dataList.length - 1) {
uni.$emit('goWareHouse') uni.$emit('goWareHouse')
return return
} }
......
...@@ -54,6 +54,9 @@ ...@@ -54,6 +54,9 @@
this.refreshList(); this.refreshList();
} }
}, },
isEmpty() {
return isEmpty(this.dataList)
},
refreshList() { refreshList() {
this.$nextTick(() => { this.$nextTick(() => {
let ref = this.$refs.list; let ref = this.$refs.list;
......
...@@ -76,18 +76,20 @@ ...@@ -76,18 +76,20 @@
watch: { watch: {
categroyChange: { categroyChange: {
handler: function(n, o) { handler: function(n, o) {
setTimeout(() => { if (this.$refs[`bookList${n.currentIndex}`]) {
this.$refs[`bookList${n.currentIndex}`][0].initRefresh(); this.$refs[`bookList${n.currentIndex}`][0].initRefresh();
}, 300) }
}, },
deep: true deep: true
} }
}, },
methods: { methods: {
show() { show() {
if (this.$refs[`bookList${this.currentIndex}`][0].isEmpty()) {
this.$refs[`bookList${this.currentIndex}`][0].initRefresh();
}
}, },
hide() { hide() {},
},
readyCategory() { readyCategory() {
setTimeout(() => { setTimeout(() => {
this.initHeight() this.initHeight()
......
...@@ -135,26 +135,9 @@ ...@@ -135,26 +135,9 @@
if (info.userInfo) { if (info.userInfo) {
addReadRecord(this.bookId) addReadRecord(this.bookId)
} }
// this.showVipOpen = data.openVips
// // 用户变动,需要刷新数据
// this.$nextTick(() => {
// uni.startPullDownRefresh({})
// })
}, this) }, this)
// 用户变动,需要刷新数据
this.$nextTick(() => {
uni.startPullDownRefresh({})
})
// 绑定分享参数 this.refreshBookData(this.bookId)
// #ifdef MP-WEIXIN
wx.onCopyUrl(() => {
return {
query: `bookId=${this.bookData.id}`
}
})
// #endif
}, },
onShow() { onShow() {
refreshUserInfo(); refreshUserInfo();
...@@ -177,9 +160,6 @@ ...@@ -177,9 +160,6 @@
wx.offCopyUrl() wx.offCopyUrl()
// #endif // #endif
}, },
onPullDownRefresh() {
this.refreshBookData(this.bookId)
},
// 文章分享 // 文章分享
onShareAppMessage() { onShareAppMessage() {
let result = { let result = {
...@@ -255,21 +235,15 @@ ...@@ -255,21 +235,15 @@
}, },
// 文章数据刷新 // 文章数据刷新
refreshBookData(bookId) { refreshBookData(bookId) {
// getOpens((success, data) => {
// // this.showBeanOpen = data.openBeans
// this.showVipOpen = data.openVips
// })
getBookDetailData(bookId, (success, data) => { getBookDetailData(bookId, (success, data) => {
setTimeout(() => { setTimeout(() => {
uni.stopPullDownRefresh();
if (success) { if (success) {
this.bookData = new BookDetail(data); this.bookData = new BookDetail(data);
// console.log('bookData=' + JSON.stringify(this.bookData));
} }
}, 100) }, 100)
}) })
}, },
paySuccess() { paySuccess() {
this.showVip = false; this.showVip = false;
this.$set(this.bookData, "isUnlock", true); this.$set(this.bookData, "isUnlock", true);
}, },
...@@ -363,8 +337,8 @@ ...@@ -363,8 +337,8 @@
}, 300); }, 300);
}, },
vipbackpaySuccess(largeType) { vipbackpaySuccess(largeType) {
this.vipbackClose(); this.vipbackClose();
this.$set(this.bookData, "isUnlock", true); this.$set(this.bookData, "isUnlock", true);
} }
} }
......
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
@tabVip='tapVipPop'></catalogue-pop> @tabVip='tapVipPop'></catalogue-pop>
<recommend-pop :show='showRecommend' @close='closeRecommendPop' :bookId="bookId"></recommend-pop> <recommend-pop :show='showRecommend' @close='closeRecommendPop' :bookId="bookId"></recommend-pop>
<coin-popup v-if="bookData.isUnlock==0 && !isVip()" :show="showVip" @close="coinClose($event)" <coin-popup v-if="bookData.isUnlock==0 && !isVip()" :show="showVip" @close="coinClose($event)"
:vedioId="bookData.id" @paySuccess="paySuccess"> :vedioId="bookData.id" @paySuccess="paySuccess">
</coin-popup> </coin-popup>
<vipback-popup :show="showVipbackPop" :vipBean="backvipBean" @vipbackclose="vipbackClose()" <vipback-popup :show="showVipbackPop" :vipBean="backvipBean" @vipbackclose="vipbackClose()"
@vipbackpaySuccess="vipbackpaySuccess" /> @vipbackpaySuccess="vipbackpaySuccess" />
</template> </template>
</view> </view>
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
import SettingPop from "./components/setting-pop.vue"; import SettingPop from "./components/setting-pop.vue";
import CataloguePop from "./components/catalogue-pop.vue"; import CataloguePop from "./components/catalogue-pop.vue";
import VipPop from "./components/vip-pop.vue"; import VipPop from "./components/vip-pop.vue";
import BeanPop from "./components/bean-pop.vue"; import BeanPop from "./components/bean-pop.vue";
import VipbackPopup from '@/components/vipback-popup/vipback-popup.vue'; import VipbackPopup from '@/components/vipback-popup/vipback-popup.vue';
import CoinPopup from "@/components/coin-popup/coin-popup.vue"; import CoinPopup from "@/components/coin-popup/coin-popup.vue";
import RecommendPop from "./components/recommend-pop.vue"; import RecommendPop from "./components/recommend-pop.vue";
import SystemInfoMixin from "../../../common/mixins/system-info-mixin.js"; import SystemInfoMixin from "../../../common/mixins/system-info-mixin.js";
...@@ -77,8 +77,8 @@ ...@@ -77,8 +77,8 @@
VipPop, VipPop,
BeanPop, BeanPop,
RecommendPop, RecommendPop,
CataloguePop, CataloguePop,
VipbackPopup, VipbackPopup,
CoinPopup, CoinPopup,
}, },
data() { data() {
...@@ -94,8 +94,8 @@ ...@@ -94,8 +94,8 @@
showVipOpen: 0, showVipOpen: 0,
showBeanOpen: 0, showBeanOpen: 0,
current: 1, current: 1,
height: 0, height: 0,
showVipbackPop: false, showVipbackPop: false,
backvipBean: null, backvipBean: null,
}; };
}, },
...@@ -121,17 +121,10 @@ ...@@ -121,17 +121,10 @@
if (this.isVip() && this.bookData) { if (this.isVip() && this.bookData) {
this.paySuccess() this.paySuccess()
} }
// // 用户变动,需要刷新数据
// this.$nextTick(() => {
// uni.startPullDownRefresh({})
// })
}, this) }, this)
this.$nextTick(() => { this.refreshBookData(this.bookId)
uni.startPullDownRefresh({})
})
let that = this let that = this
uni.getSystemInfo({ uni.getSystemInfo({
success(res) { success(res) {
...@@ -153,14 +146,6 @@ ...@@ -153,14 +146,6 @@
endCountReadTime(); endCountReadTime();
// 移除监听 // 移除监听
removeUserInfoChangeWatch(this); removeUserInfoChangeWatch(this);
// 取消绑定分享参数
// #ifdef MP-WEIXIN
wx.offCopyUrl()
// #endif
},
onPullDownRefresh() {
this.refreshBookData(this.bookId)
}, },
// 文章分享 // 文章分享
onShareAppMessage() { onShareAppMessage() {
...@@ -200,19 +185,17 @@ ...@@ -200,19 +185,17 @@
}, },
methods: { methods: {
// 解锁回调 // 解锁回调
paySuccess() { paySuccess() {
this.showVip = false; this.showVip = false;
this.$set(this.bookData, "isUnlock", 1); this.$set(this.bookData, "isUnlock", 1);
this.$set(this.bookData, "freeNum", this.bookData.articleChapterList.length); this.$set(this.bookData, "freeNum", this.bookData.articleChapterList.length);
this.$refs.content.reloadChapterinfoData() this.$nextTick(() => {
this.$refs.content.reloadChapterinfoData()
})
}, },
// 文章数据刷新 // 文章数据刷新
refreshBookData(bookId) { refreshBookData(bookId) {
// getOpens((success, data) => {
// this.showBeanOpen = data.openBeans
// this.showVipOpen = data.openVips
// })
getBookDetailData(bookId, (success, data) => { getBookDetailData(bookId, (success, data) => {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
if (success) { if (success) {
...@@ -274,7 +257,7 @@ ...@@ -274,7 +257,7 @@
}, },
changeCurrent(current) { changeCurrent(current) {
this.current = current this.current = current
}, },
coinClose(e) { coinClose(e) {
let item = e.detail.data; let item = e.detail.data;
...@@ -285,29 +268,34 @@ ...@@ -285,29 +268,34 @@
}, 300); }, 300);
} else { } else {
this.showVip = false; this.showVip = false;
if (this.bookData.isUnlock == 0) {
setTimeout(() => {
this.showRecommend = true;
}, 300);
}
}
},
vipbackClose() {
this.showVip = false;
this.showVipbackPop = false;
this.paySuccess()
if (this.bookData.isUnlock == 0) {
setTimeout(() => { setTimeout(() => {
this.showRecommend = true; this.showRecommend = true;
}, 300); }, 300);
} }
}, },
vipbackClose() { vipbackpaySuccess(largeType) {
this.showVip = false; this.showVip = false;
this.showVipbackPop = false; this.showVipbackPop = false;
if (this.bookData.isUnlock == 0) { this.$set(this.bookData, "isUnlock", 1);
setTimeout(() => { this.$set(this.bookData, "freeNum", this.bookData.articleChapterList.length);
this.showRecommend = true; this.$nextTick(() => {
}, 300); this.$refs.content.reloadChapterinfoData()
} })
},
vipbackpaySuccess(largeType) {
this.showVip = false;
this.showVipbackPop = false;
this.$set(this.bookData, "isUnlock", 1);
this.$set(this.bookData, "freeNum", this.bookData.articleChapterList.length);
this.$refs.content.reloadChapterinfoData()
} }
} }
} }
......
...@@ -122,27 +122,21 @@ ...@@ -122,27 +122,21 @@
this.page = this.step / (this.size - 1) * 100 this.page = this.step / (this.size - 1) * 100
}, },
deep: true deep: true
},
cata: {
handler(val, oldVal) {
this.page = this.step / (this.size - 1) * 100
},
deep: true
} }
}, },
destroyed() { destroyed() {
removeContentFormatChangeWatch(this); removeContentFormatChangeWatch(this);
}, },
mounted() { mounted() {
let _this = this let _this = this
uni.getSystemInfo({ uni.getSystemInfo({
success(res) { success(res) {
_this.winWidth = res.screenWidth _this.winWidth = res.screenWidth
_this.height = res.screenHeight - 66 _this.height = res.screenHeight - 66
_this.lineHeight = (res.screenHeight - 66) / 16 _this.lineHeight = (res.screenHeight - 66) / 16
} }
}) })
// 监听样式变动 // 监听样式变动
watchContentFormatChange((data) => { watchContentFormatChange((data) => {
let result = data.getFormatValue(); let result = data.getFormatValue();
...@@ -186,6 +180,8 @@ ...@@ -186,6 +180,8 @@
let id = this.detail.articleChapterList[chapterId - 1].id let id = this.detail.articleChapterList[chapterId - 1].id
getChapterinfoData(this.detail.id, id, (success, data) => { getChapterinfoData(this.detail.id, id, (success, data) => {
if (success) { if (success) {
this.read = 0
this.step = 0
this.info.data = [{ this.info.data = [{
id: chapterId, id: chapterId,
sub: data.chapterId, sub: data.chapterId,
...@@ -201,7 +197,7 @@ ...@@ -201,7 +197,7 @@
getHeight(prev) { getHeight(prev) {
let _this = this let _this = this
setTimeout(function() { setTimeout(function() {
const query = uni.createSelectorQuery().in(_this); const query = _this.createSelectorQuery().in(_this);
query.select('#html .content').boundingClientRect(data => { query.select('#html .content').boundingClientRect(data => {
let _size = Math.ceil(data.height / _this.height) let _size = Math.ceil(data.height / _this.height)
_this.size = Math.ceil((data.height + _size * (_this.lineHeight * 2)) / _this.size = Math.ceil((data.height + _size * (_this.lineHeight * 2)) /
...@@ -213,7 +209,7 @@ ...@@ -213,7 +209,7 @@
_this.step = _this.size - 1 _this.step = _this.size - 1
} }
}).exec(); }).exec();
}, 300) }, 500)
}, },
prev() { prev() {
let _this = this let _this = this
...@@ -234,7 +230,7 @@ ...@@ -234,7 +230,7 @@
sub: _this.catalogue, sub: _this.catalogue,
content: data content: data
}) })
_this.catalogue -= 1 _this.catalogue -= 1
_this.changeCurrent() _this.changeCurrent()
_this.size = 0 _this.size = 0
_this.getHeight(true) _this.getHeight(true)
...@@ -280,7 +276,7 @@ ...@@ -280,7 +276,7 @@
content: data content: data
}) })
_this.catalogue += 1 _this.catalogue += 1
_this.changeCurrent() _this.changeCurrent()
_this.read += 1 _this.read += 1
_this.size = 0 _this.size = 0
......
...@@ -111,6 +111,11 @@ ...@@ -111,6 +111,11 @@
mounted() { mounted() {
// 渲染完成 初始化首页数据 // 渲染完成 初始化首页数据
this.loadComponentData(); this.loadComponentData();
let that = this
uni.$on('goWareHouse', function(data) {
that.tabChange(1)
})
}, },
methods: { methods: {
tabChange(index) { tabChange(index) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment