Showing
4 changed files
with
65 additions
and
47 deletions
| ... | @@ -66,6 +66,7 @@ | ... | @@ -66,6 +66,7 @@ |
| 66 | </template> | 66 | </template> |
| 67 | </van-list> | 67 | </van-list> |
| 68 | </div> | 68 | </div> |
| 69 | + <div style="height: 2rem;"></div> | ||
| 69 | <van-empty v-if="emptyStatus" | 70 | <van-empty v-if="emptyStatus" |
| 70 | class="custom-image" | 71 | class="custom-image" |
| 71 | :image="no_image" | 72 | :image="no_image" |
| ... | @@ -308,25 +309,31 @@ onActivated(() => { // keepAlive 重置后执行回调 | ... | @@ -308,25 +309,31 @@ onActivated(() => { // keepAlive 重置后执行回调 |
| 308 | }) | 309 | }) |
| 309 | // 触发更新 | 310 | // 触发更新 |
| 310 | prod_list.value = arr.value; | 311 | prod_list.value = arr.value; |
| 311 | - /** | 312 | + |
| 312 | - * 判断微信环境 | 313 | + const { scrollTop } = storeToRefs(store); |
| 313 | - */ | 314 | + // 嵌套滚动,执行两个,先滚外面再滚里面 |
| 314 | - if (wxInfo().isiOS || wxInfo().isAndroid) { | 315 | + _.times(2, () => { |
| 315 | - // TAG: 手机微信浏览器位置变动了,需要手动调整位置,但是无刷新是起作用的 | 316 | + $("html,body").animate({ "scrollTop": String(scrollTop.value) + 'px' }); |
| 316 | - const { scrollTop } = storeToRefs(store); | 317 | + }); |
| 317 | - if (scrollTop.value) { | 318 | + |
| 318 | - $("html,body").animate({ "scrollTop": scrollTop.value }) | 319 | + // 监听记录滚动位置 |
| 320 | + window.addEventListener('scroll',()=>{ | ||
| 321 | + if (window.scrollY) { | ||
| 322 | + store.changeScrollTop(window.scrollY) | ||
| 319 | } | 323 | } |
| 320 | - window.addEventListener('scroll',()=>{ | 324 | + }); |
| 321 | - if (window.scrollY) { | 325 | + |
| 322 | - store.changeScrollTop(window.scrollY) | ||
| 323 | - } | ||
| 324 | - }); | ||
| 325 | - } | ||
| 326 | // 更新页面名称,因为不刷新副作用~ | 326 | // 更新页面名称,因为不刷新副作用~ |
| 327 | document.title = $route.meta.title; | 327 | document.title = $route.meta.title; |
| 328 | }); | 328 | }); |
| 329 | 329 | ||
| 330 | +// 监听记录滚动位置 | ||
| 331 | +window.addEventListener('scroll',()=>{ | ||
| 332 | + if (window.scrollY) { | ||
| 333 | + store.changeScrollTop(window.scrollY) | ||
| 334 | + } | ||
| 335 | +}); | ||
| 336 | + | ||
| 330 | /*********************************************************/ | 337 | /*********************************************************/ |
| 331 | 338 | ||
| 332 | </script> | 339 | </script> | ... | ... |
| ... | @@ -16,6 +16,8 @@ | ... | @@ -16,6 +16,8 @@ |
| 16 | import VideoCard from '@/components/VideoCard/index.vue' | 16 | import VideoCard from '@/components/VideoCard/index.vue' |
| 17 | import Cookies from 'js-cookie' | 17 | import Cookies from 'js-cookie' |
| 18 | import no_image from '@images/que-shuju@2x.png' | 18 | import no_image from '@images/que-shuju@2x.png' |
| 19 | +import { mainStore } from '@/store' | ||
| 20 | +import { storeToRefs } from 'pinia' | ||
| 19 | 21 | ||
| 20 | import { ref } from 'vue' | 22 | import { ref } from 'vue' |
| 21 | import axios from '@/utils/axios'; | 23 | import axios from '@/utils/axios'; |
| ... | @@ -24,18 +26,19 @@ import $ from 'jquery' | ... | @@ -24,18 +26,19 @@ import $ from 'jquery' |
| 24 | import _ from 'lodash' | 26 | import _ from 'lodash' |
| 25 | 27 | ||
| 26 | /******************** 返回点击位置 ********************/ | 28 | /******************** 返回点击位置 ********************/ |
| 27 | -window.addEventListener('scroll', () => { | 29 | +const store = mainStore(); |
| 30 | +const { scrollTopCollection } = storeToRefs(store); | ||
| 31 | +// 嵌套滚动,执行两个,先滚外面再滚里面 | ||
| 32 | +_.times(2, () => { | ||
| 33 | + $("html,body").animate({ "scrollTop": String(scrollTopCollection.value) + 'px' }); | ||
| 34 | +}); | ||
| 35 | + | ||
| 36 | +// 监听记录滚动位置 | ||
| 37 | +window.addEventListener('scroll',()=>{ | ||
| 28 | if (window.scrollY) { | 38 | if (window.scrollY) { |
| 29 | - Cookies.set('scrollTopCollection', window.scrollY); | 39 | + store.changeScrollTopCollection(window.scrollY) |
| 30 | } | 40 | } |
| 31 | -}) | 41 | +}); |
| 32 | - | ||
| 33 | -const scrollTopCollection = Cookies.get('scrollTopCollection') ? Number(Cookies.get('scrollTopCollection')) : 0; | ||
| 34 | -if (scrollTopCollection) { | ||
| 35 | - setTimeout(() => { | ||
| 36 | - $("html,body").animate({ "scrollTop": scrollTopCollection }) | ||
| 37 | - }, 500) | ||
| 38 | -} | ||
| 39 | /*****************************************************/ | 42 | /*****************************************************/ |
| 40 | 43 | ||
| 41 | // 处理书籍下作品列表 | 44 | // 处理书籍下作品列表 | ... | ... |
| ... | @@ -16,6 +16,8 @@ | ... | @@ -16,6 +16,8 @@ |
| 16 | import VideoCard from '@/components/VideoCard/index.vue' | 16 | import VideoCard from '@/components/VideoCard/index.vue' |
| 17 | import Cookies from 'js-cookie' | 17 | import Cookies from 'js-cookie' |
| 18 | import no_image from '@images/que-shuju@2x.png' | 18 | import no_image from '@images/que-shuju@2x.png' |
| 19 | +import { mainStore } from '@/store' | ||
| 20 | +import { storeToRefs } from 'pinia' | ||
| 19 | 21 | ||
| 20 | import { ref } from 'vue' | 22 | import { ref } from 'vue' |
| 21 | import axios from '@/utils/axios'; | 23 | import axios from '@/utils/axios'; |
| ... | @@ -24,18 +26,19 @@ import $ from 'jquery' | ... | @@ -24,18 +26,19 @@ import $ from 'jquery' |
| 24 | import _ from 'lodash' | 26 | import _ from 'lodash' |
| 25 | 27 | ||
| 26 | /******************** 返回点击位置 ********************/ | 28 | /******************** 返回点击位置 ********************/ |
| 27 | -window.addEventListener('scroll', () => { | 29 | +const store = mainStore(); |
| 30 | +const { scrollTopLike } = storeToRefs(store); | ||
| 31 | +// 嵌套滚动,执行两个,先滚外面再滚里面 | ||
| 32 | +_.times(2, () => { | ||
| 33 | + $("html,body").animate({ "scrollTop": String(scrollTopLike.value) + 'px' }); | ||
| 34 | +}); | ||
| 35 | + | ||
| 36 | +// 监听记录滚动位置 | ||
| 37 | +window.addEventListener('scroll',()=>{ | ||
| 28 | if (window.scrollY) { | 38 | if (window.scrollY) { |
| 29 | - Cookies.set('scrollTopLike', window.scrollY); | 39 | + store.changeScrollTopLike(window.scrollY) |
| 30 | } | 40 | } |
| 31 | -}) | 41 | +}); |
| 32 | - | ||
| 33 | -const scrollTopLike = Cookies.get('scrollTopLike') ? Number(Cookies.get('scrollTopLike')) : 0; | ||
| 34 | -if (scrollTopLike) { | ||
| 35 | - setTimeout(() => { | ||
| 36 | - $("html,body").animate({ "scrollTop": scrollTopLike }) | ||
| 37 | - }, 500) | ||
| 38 | -} | ||
| 39 | /*****************************************************/ | 42 | /*****************************************************/ |
| 40 | 43 | ||
| 41 | // 处理书籍下作品列表 | 44 | // 处理书籍下作品列表 | ... | ... |
| ... | @@ -58,20 +58,25 @@ onActivated(() => { // keepAlive 重置后执行回调 | ... | @@ -58,20 +58,25 @@ onActivated(() => { // keepAlive 重置后执行回调 |
| 58 | }) | 58 | }) |
| 59 | // 触发更新 | 59 | // 触发更新 |
| 60 | prod_list.value = arr.value; | 60 | prod_list.value = arr.value; |
| 61 | - /** | 61 | + |
| 62 | - * 判断微信环境 | 62 | + const { scrollTop } = storeToRefs(store); |
| 63 | - */ | 63 | + // 嵌套滚动,执行两个,先滚外面再滚里面 |
| 64 | - if (wxInfo().isiOS || wxInfo().isAndroid) { | 64 | + _.times(2, () => { |
| 65 | - // TAG: 手机微信浏览器位置变动了,需要手动调整位置,但是无刷新是起作用的 | 65 | + $("html,body").animate({ "scrollTop": String(scrollTop.value) + 'px' }); |
| 66 | - const { scrollTop } = storeToRefs(store); | 66 | + }); |
| 67 | - if (scrollTop.value) { | 67 | + |
| 68 | - $("html,body").animate({ "scrollTop": scrollTop.value }) | 68 | + // 监听记录滚动位置 |
| 69 | + window.addEventListener('scroll',()=>{ | ||
| 70 | + if (window.scrollY) { | ||
| 71 | + store.changeScrollTop(window.scrollY) | ||
| 69 | } | 72 | } |
| 70 | - window.addEventListener('scroll',()=>{ | 73 | + }); |
| 71 | - if (window.scrollY) { | 74 | +}); |
| 72 | - store.changeScrollTop(window.scrollY) | 75 | + |
| 73 | - } | 76 | +// 监听记录滚动位置 |
| 74 | - }); | 77 | +window.addEventListener('scroll',()=>{ |
| 78 | + if (window.scrollY) { | ||
| 79 | + store.changeScrollTop(window.scrollY) | ||
| 75 | } | 80 | } |
| 76 | }); | 81 | }); |
| 77 | 82 | ... | ... |
-
Please register or login to post a comment