|
@@ -87,6 +87,9 @@ const HomePage: React.FC = () => {
|
|
|
staleTime: 5 * 60 * 1000, // 5分钟缓存
|
|
staleTime: 5 * 60 * 1000, // 5分钟缓存
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ const hasToken = Taro.getStorageSync('mini_token')
|
|
|
|
|
+ console.debug('[首页] 商品查询状态:', { isLoggedIn, hasToken })
|
|
|
|
|
+
|
|
|
const {
|
|
const {
|
|
|
data,
|
|
data,
|
|
|
isLoading,
|
|
isLoading,
|
|
@@ -98,7 +101,7 @@ const HomePage: React.FC = () => {
|
|
|
} = useInfiniteQuery({
|
|
} = useInfiniteQuery({
|
|
|
queryKey: ['home-goods-infinite'],
|
|
queryKey: ['home-goods-infinite'],
|
|
|
queryFn: async ({ pageParam = 1 }) => {
|
|
queryFn: async ({ pageParam = 1 }) => {
|
|
|
- // console.debug('请求商品数据,页码:', pageParam)
|
|
|
|
|
|
|
+ console.debug('[首页] 请求商品数据,页码:', pageParam)
|
|
|
// 使用类型断言绕过 RPC 客户端类型推断问题
|
|
// 使用类型断言绕过 RPC 客户端类型推断问题
|
|
|
const response = await (goodsClient.$get as any)({
|
|
const response = await (goodsClient.$get as any)({
|
|
|
query: {
|
|
query: {
|
|
@@ -109,15 +112,16 @@ const HomePage: React.FC = () => {
|
|
|
sortOrder: 'DESC' // 倒序排列
|
|
sortOrder: 'DESC' // 倒序排列
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
+ console.debug('[首页] API响应状态:', response.status)
|
|
|
if (response.status !== 200) {
|
|
if (response.status !== 200) {
|
|
|
throw new Error('获取商品失败')
|
|
throw new Error('获取商品失败')
|
|
|
}
|
|
}
|
|
|
const result = await response.json()
|
|
const result = await response.json()
|
|
|
- // console.debug('API响应数据:', {
|
|
|
|
|
- // page: pageParam,
|
|
|
|
|
- // dataCount: result.data?.length || 0,
|
|
|
|
|
- // pagination: result.pagination
|
|
|
|
|
- // })
|
|
|
|
|
|
|
+ console.debug('[首页] API响应数据:', {
|
|
|
|
|
+ page: pageParam,
|
|
|
|
|
+ dataCount: result.data?.length || 0,
|
|
|
|
|
+ pagination: result.pagination
|
|
|
|
|
+ })
|
|
|
return result
|
|
return result
|
|
|
},
|
|
},
|
|
|
getNextPageParam: (lastPage, _allPages) => {
|
|
getNextPageParam: (lastPage, _allPages) => {
|
|
@@ -139,7 +143,7 @@ const HomePage: React.FC = () => {
|
|
|
},
|
|
},
|
|
|
staleTime: 5 * 60 * 1000,
|
|
staleTime: 5 * 60 * 1000,
|
|
|
initialPageParam: 1,
|
|
initialPageParam: 1,
|
|
|
- enabled: isLoggedIn,
|
|
|
|
|
|
|
+ enabled: isLoggedIn || !!hasToken,
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
// 合并所有分页数据
|
|
// 合并所有分页数据
|
|
@@ -243,9 +247,11 @@ const HomePage: React.FC = () => {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- // 未登录时显示隐私政策弹框
|
|
|
|
|
|
|
+ // 未登录时显示隐私政策弹框(仅限从未登录过的用户)
|
|
|
React.useEffect(() => {
|
|
React.useEffect(() => {
|
|
|
- if (!isLoggedIn) {
|
|
|
|
|
|
|
+ const hasToken = Taro.getStorageSync('mini_token')
|
|
|
|
|
+ // 只有完全没有登录过的用户才显示隐私弹框
|
|
|
|
|
+ if (!isLoggedIn && !hasToken) {
|
|
|
setShowPrivacyModal(true)
|
|
setShowPrivacyModal(true)
|
|
|
}
|
|
}
|
|
|
}, [isLoggedIn])
|
|
}, [isLoggedIn])
|