|
@@ -3,7 +3,7 @@ import { ScrollView, View, Image } from "@tarojs/components";
|
|
import FigureList from "@/components/list/FigureList";
|
|
import FigureList from "@/components/list/FigureList";
|
|
import FigureListItem from "@/components/list/FigureListItem";
|
|
import FigureListItem from "@/components/list/FigureListItem";
|
|
import { useDidShow } from "@tarojs/taro";
|
|
import { useDidShow } from "@tarojs/taro";
|
|
-import { useEffect, useState } from "react";
|
|
|
|
|
|
+import { useEffect } from "react";
|
|
|
|
|
|
import RotateLoading from "@/components/rotate-loading";
|
|
import RotateLoading from "@/components/rotate-loading";
|
|
import Taro from "@tarojs/taro";
|
|
import Taro from "@tarojs/taro";
|
|
@@ -15,9 +15,10 @@ import EmptyData from "@/components/empty-data";
|
|
import type { TKnowledgeItem } from "@/types/knowledge";
|
|
import type { TKnowledgeItem } from "@/types/knowledge";
|
|
|
|
|
|
import { deleteMyKnowledge, getKnowledgeList } from "@/service/knowledge";
|
|
import { deleteMyKnowledge, getKnowledgeList } from "@/service/knowledge";
|
|
-
|
|
|
|
|
|
+import { useContext } from "react";
|
|
import { useLoadMoreInfinite, createKey } from "@/utils/loadMoreInfinite";
|
|
import { useLoadMoreInfinite, createKey } from "@/utils/loadMoreInfinite";
|
|
import { isSuccess } from "@/utils";
|
|
import { isSuccess } from "@/utils";
|
|
|
|
+import LoginMutationContext from "@/pages/knowledge/LoginMutationContext";
|
|
|
|
|
|
export interface IProps {
|
|
export interface IProps {
|
|
types?: EKnowlegeTypes[];
|
|
types?: EKnowlegeTypes[];
|
|
@@ -25,11 +26,13 @@ export interface IProps {
|
|
}
|
|
}
|
|
|
|
|
|
const Index = ({ types, setTotalCount }: IProps) => {
|
|
const Index = ({ types, setTotalCount }: IProps) => {
|
|
|
|
+ const { isMutate, setLoginShow } = useContext(LoginMutationContext)
|
|
|
|
+
|
|
const fetcher = async ([_url, { nextId, pageSize }, [types]]) => {
|
|
const fetcher = async ([_url, { nextId, pageSize }, [types]]) => {
|
|
const res = await getKnowledgeList({ startId: nextId, pageSize, types });
|
|
const res = await getKnowledgeList({ startId: nextId, pageSize, types });
|
|
return res.data;
|
|
return res.data;
|
|
};
|
|
};
|
|
- const { list, loadMore, mutate, data, pageIndex } = useLoadMoreInfinite<
|
|
|
|
|
|
+ const { list, loadMore, mutate, data, pageIndex, error } = useLoadMoreInfinite<
|
|
TKnowledgeItem[]
|
|
TKnowledgeItem[]
|
|
>(createKey("getKnowledgeList", 20, [types]), fetcher);
|
|
>(createKey("getKnowledgeList", 20, [types]), fetcher);
|
|
|
|
|
|
@@ -38,9 +41,19 @@ const Index = ({ types, setTotalCount }: IProps) => {
|
|
};
|
|
};
|
|
|
|
|
|
useDidShow(() => {
|
|
useDidShow(() => {
|
|
- mutate(undefined, { revalidate: true });
|
|
|
|
|
|
+ mutate();
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ useEffect(()=> {
|
|
|
|
+ mutate();
|
|
|
|
+ }, [isMutate])
|
|
|
|
+ useEffect(()=> {
|
|
|
|
+ if(error?.code === 401){
|
|
|
|
+ setLoginShow(true)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }, [error])
|
|
|
|
+
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
if (data && pageIndex === 1) {
|
|
if (data && pageIndex === 1) {
|
|
setTotalCount(data?.[0].totalCount || 0);
|
|
setTotalCount(data?.[0].totalCount || 0);
|