列表联调

This commit is contained in:
李瑞
2025-09-07 18:54:36 +08:00
parent 2d0d728969
commit 6feb7057af
28 changed files with 1225 additions and 740 deletions

View File

@@ -7,17 +7,15 @@ import { useListStore } from "@/store/listStore";
import { useGlobalState } from "@/store/global";
import { View } from "@tarojs/components";
import CustomerNavBar from "@/container/listCustomNavbar";
import InputCustomerBar from "@/container/inputCustomerNavbar";
import GuideBar from "@/components/GuideBar";
import ListContainer from "@/container/listContainer";
import DistanceQuickFilter from "@/components/DistanceQuickFilter";
import img from "@/config/images";
const ListPage = () => {
// 从 store 获取数据和方法
const store = useListStore() || {};
const { statusNavbarHeightInfo, location } = useGlobalState() || {};
const { statusNavbarHeightInfo, location = {} } = useGlobalState() || {};
const { totalHeight } = statusNavbarHeightInfo || {};
const {
isShowFilterPopup,
@@ -25,8 +23,7 @@ const ListPage = () => {
matches,
recommendList,
loading,
fetchMatches,
refreshMatches,
getMatchesData,
updateState,
filterCount,
updateFilterOptions, // 更新筛选条件
@@ -38,50 +35,66 @@ const ListPage = () => {
isScrollTop,
searchValue,
isShowInputCustomerNavBar,
initialFilterSearch,
loadMoreMatches,
dateRangeOptions
} = store;
usePageScroll((res) => {
if (res?.scrollTop >= totalHeight && !isScrollTop) {
!isShowInputCustomerNavBar && updateState({ isShowInputCustomerNavBar: true });
if (res?.scrollTop >= totalHeight) {
!isShowInputCustomerNavBar &&
updateState({ isShowInputCustomerNavBar: true });
} else {
isShowInputCustomerNavBar && updateState({ isShowInputCustomerNavBar: false });
isShowInputCustomerNavBar &&
updateState({ isShowInputCustomerNavBar: false });
}
});
useEffect(() => {
// 页面加载时获取数据
fetchMatches();
// 保存位置
updateState({ location });
}, []);
if (location?.address) {
// 保存位置
updateState({ location });
// 页面加载时获取数据
getMatchesData();
}
}, [location]);
const refreshMatches = () => {
initialFilterSearch();
};
// const getLoadMoreMatches = () => {
// loadMoreMatches()
// }
// 下拉刷新处理函数 - 使用Taro生命周期钩子
Taro.usePullDownRefresh(() => {
console.log("触发下拉刷新");
console.log("===触发下拉刷新");
clearFilterOptions()
// 调用 store 的刷新方法
refreshMatches()
.then(() => {
// 刷新完成后停止下拉刷新动画
Taro.stopPullDownRefresh();
// refreshMatches()
// .then(() => {
// // 刷新完成后停止下拉刷新动画
// Taro.stopPullDownRefresh();
// 显示刷新成功提示
Taro.showToast({
title: "刷新成功",
icon: "success",
duration: 1500,
});
})
.catch(() => {
// 刷新失败时也停止动画
Taro.stopPullDownRefresh();
// // 显示刷新成功提示
// Taro.showToast({
// title: "刷新成功",
// icon: "success",
// duration: 1500,
// });
// })
// .catch(() => {
// // 刷新失败时也停止动画
// Taro.stopPullDownRefresh();
Taro.showToast({
title: "刷新失败",
icon: "error",
duration: 1500,
});
});
// Taro.showToast({
// title: "刷新失败",
// icon: "error",
// duration: 1500,
// });
// });
});
const toggleShowPopup = () => {
@@ -115,21 +128,14 @@ const ListPage = () => {
};
return (
<>
{!isShowInputCustomerNavBar ? (
<CustomerNavBar />
) : (
<InputCustomerBar icon={img.ICON_LIST_INPUT_LOGO} />
)}
<View>
{/* 自定义导航 */}
<CustomerNavBar />
<View className={styles.listPage}>
<View
className={`${styles.listTopSearchWrapper} ${
isScrollTop ? styles.isScroll : ""
}`}
// style={{
// top: statusNavbarHeightInfo?.totalHeight,
// }}
>
<SearchBar
handleFilterIcon={toggleShowPopup}
@@ -176,11 +182,12 @@ const ListPage = () => {
loading={loading}
error={error}
reload={refreshMatches}
loadMoreMatches={loadMoreMatches}
/>
</View>
<GuideBar currentPage="list" />
</>
</View>
);
};