hookehuyr

✨ feat(书籍详情页): 订阅API接口调整,滚动恢复调整

1 +import { fn, fetch } from '@/api/fn';
2 +
3 +const Api = {
4 + PERF_INFO: '/srv/?a=perf_info',
5 + ADD_FOLLOW: '/srv/?a=add_follow',
6 +}
7 +
8 +/**
9 + * @description: 获取表演者信息
10 + * @param {String} perf_id 表演者ID
11 + * @returns
12 + */
13 +export const perfInfoAPI = (params) => fn(fetch.post(Api.PERF_INFO, params));
14 +
15 +/**
16 + * @description: 关注用户操作
17 + * @param {String} perf_id 表演者ID
18 + * @returns
19 + */
20 +export const addFollowAPI = (params) => fn(fetch.post(Api.ADD_FOLLOW, params));
...@@ -121,10 +121,13 @@ import { Cookies, $, _, storeToRefs, mainStore, Toast, hasEllipsis } from '@/uti ...@@ -121,10 +121,13 @@ import { Cookies, $, _, storeToRefs, mainStore, Toast, hasEllipsis } from '@/uti
121 import { MyButton, VideoCard, NoticeOverlay, DonateBook, ShortcutFixed } from '@/utils/generateModules' 121 import { MyButton, VideoCard, NoticeOverlay, DonateBook, ShortcutFixed } from '@/utils/generateModules'
122 import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons' 122 import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons'
123 import { JSJ_FORM_C } from '@/constant' 123 import { JSJ_FORM_C } from '@/constant'
124 -import { useVideoList, useDefaultPerf, useShortcutBar } from '@/composables'; 124 +import { useVideoList, useDefaultPerf, useShortcutBar, useScrollTop } from '@/composables';
125 import { addSubscribeAPI } from '@/api/C/book.js' 125 import { addSubscribeAPI } from '@/api/C/book.js'
126 126
127 const { shortcutItem } = useShortcutBar(['home', 'me']); // 配置快捷跳转条 127 const { shortcutItem } = useShortcutBar(['home', 'me']); // 配置快捷跳转条
128 +const { resetScrollTop } = useScrollTop(); // 页面滚动恢复
129 +resetScrollTop('scrollTop');
130 +
128 const $route = useRoute(); 131 const $route = useRoute();
129 const $router = useRouter(); 132 const $router = useRouter();
130 133
...@@ -166,7 +169,7 @@ const toDonate = () => { ...@@ -166,7 +169,7 @@ const toDonate = () => {
166 const closeDonate = (v) => { 169 const closeDonate = (v) => {
167 showDonate.value = v; 170 showDonate.value = v;
168 } 171 }
169 -/**********************************/ 172 +/*******************************************/
170 173
171 174
172 /** 175 /**
...@@ -257,30 +260,18 @@ onActivated(() => { // keepAlive 重置后执行回调 ...@@ -257,30 +260,18 @@ onActivated(() => { // keepAlive 重置后执行回调
257 }) 260 })
258 // 触发更新 261 // 触发更新
259 prod_list.value = arr.value; 262 prod_list.value = arr.value;
260 - 263 + // 滚动恢复
261 - const { scrollTop } = storeToRefs(store); 264 + resetScrollTop('scrollTop');
262 - // 嵌套滚动,执行两个,先滚外面再滚里面
263 - _.times(2, () => {
264 - $("html,body").animate({ "scrollTop": String(scrollTop.value) + 'px' });
265 - });
266 265
267 // 更新页面名称,因为不刷新副作用~ 266 // 更新页面名称,因为不刷新副作用~
268 document.title = $route.meta.title; 267 document.title = $route.meta.title;
269 }); 268 });
270 269
271 -const { scrollTop } = storeToRefs(store);
272 -// 嵌套滚动,执行两个,先滚外面再滚里面
273 -_.times(2, () => {
274 - $("html,body").animate({ "scrollTop": String(scrollTop.value) + 'px' });
275 -});
276 -
277 onBeforeRouteLeave(() => { 270 onBeforeRouteLeave(() => {
278 // 监听记录滚动位置 271 // 监听记录滚动位置
279 store.changeScrollTop(window.scrollY) 272 store.changeScrollTop(window.scrollY)
280 }) 273 })
281 274
282 -/*****************************************************/
283 -
284 /****************** 视频组件相关操作 *******************/ 275 /****************** 视频组件相关操作 *******************/
285 const goToDetail = (prod_id, book_id, type) => { // 跳转作品详情页 276 const goToDetail = (prod_id, book_id, type) => { // 跳转作品详情页
286 $router.push({ 277 $router.push({
......