From b0d0a76a8ee84cfb56769da9a2bf68e265ab79e7 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Tue, 6 Jun 2023 11:32:55 +0800 Subject: [PATCH] perf: paging data and image --- docs/deploy/fastgpt/docker-compose.yml | 2 +- src/hooks/usePagination.tsx | 2 +- src/hooks/usePaging.ts | 82 -------------------------- src/service/models/bill.ts | 2 +- src/service/models/model.ts | 2 +- src/types/index.d.ts | 6 +- 6 files changed, 7 insertions(+), 89 deletions(-) delete mode 100644 src/hooks/usePaging.ts diff --git a/docs/deploy/fastgpt/docker-compose.yml b/docs/deploy/fastgpt/docker-compose.yml index d42162449..b1cad541d 100644 --- a/docs/deploy/fastgpt/docker-compose.yml +++ b/docs/deploy/fastgpt/docker-compose.yml @@ -31,7 +31,7 @@ services: - /root/fastgpt/mongo/logs:/var/log/mongodb - /etc/localtime:/etc/localtime:ro fastgpt: - image: ghcr.io/c121914yu/fast-gpt:latest # github + image: ghcr.io/c121914yu/fastgpt:latest # github # image: c121914yu/fast-gpt:latest # docker hub # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云 network_mode: host diff --git a/src/hooks/usePagination.tsx b/src/hooks/usePagination.tsx index e188ebebd..ec8e03130 100644 --- a/src/hooks/usePagination.tsx +++ b/src/hooks/usePagination.tsx @@ -31,7 +31,7 @@ export const usePagination = ({ ...params }); setPageNum(num); - setTotal(res.total); + res.total && setTotal(res.total); setData(res.data); } catch (error: any) { toast({ diff --git a/src/hooks/usePaging.ts b/src/hooks/usePaging.ts deleted file mode 100644 index bf482fac8..000000000 --- a/src/hooks/usePaging.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { useState, useCallback, useEffect } from 'react'; -import type { PagingData } from '../types/index'; -import { useToast } from './useToast'; - -export const usePaging = ({ - api, - pageSize = 10, - params = {} -}: { - api: (data: any) => any; - pageSize?: number; - params?: Record; -}) => { - const { toast } = useToast(); - const [data, setData] = useState([]); - const [pageNum, setPageNum] = useState(1); - const [total, setTotal] = useState(0); - const [isLoadAll, setIsLoadAll] = useState(false); - const [requesting, setRequesting] = useState(false); - const [initRequesting, setInitRequesting] = useState(false); - - const getData = useCallback( - async (num: number, init = false) => { - if (requesting) return; - if (!init && isLoadAll) return; - if (init) { - setInitRequesting(true); - } - setRequesting(true); - - try { - const res: PagingData = await api({ - pageNum: num, - pageSize, - ...params - }); - setData((state) => { - const data = init ? res.data : state.concat(res.data); - if (data.length >= res.total) { - setIsLoadAll(true); - } - setTotal(res.total); - setPageNum(num); - return data; - }); - } catch (error: any) { - toast({ - title: error?.message || '获取数据异常', - status: 'error' - }); - console.log(error); - } - - setRequesting(false); - setInitRequesting(false); - return null; - }, - [api, isLoadAll, pageSize, params, requesting, toast] - ); - - const nextPage = useCallback(() => { - if (requesting || isLoadAll) return; - getData(pageNum + 1); - }, [getData, isLoadAll, pageNum, requesting]); - - useEffect(() => { - getData(1, true); - }, []); - - return { - pageNum, - pageSize, - total, - data, - getData, - requesting, - isLoadAll, - nextPage, - initRequesting, - setData - }; -}; diff --git a/src/service/models/bill.ts b/src/service/models/bill.ts index 013551aa3..aafa84e8f 100644 --- a/src/service/models/bill.ts +++ b/src/service/models/bill.ts @@ -47,7 +47,7 @@ try { BillSchema.index({ time: -1 }); BillSchema.index({ userId: 1 }); } catch (error) { - error; + console.log(error); } export const Bill: Model = models['bill'] || model('bill', BillSchema); diff --git a/src/service/models/model.ts b/src/service/models/model.ts index 370588f0e..ba96eb9d2 100644 --- a/src/service/models/model.ts +++ b/src/service/models/model.ts @@ -86,7 +86,7 @@ try { ModelSchema.index({ updateTime: -1 }); ModelSchema.index({ 'share.collection': -1 }); } catch (error) { - error; + console.log(error); } export const Model: MongoModel = models['model'] || model('model', ModelSchema); diff --git a/src/types/index.d.ts b/src/types/index.d.ts index d57a6d92a..4612d2074 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -20,10 +20,10 @@ declare global { } export type PagingData = { - pageNum; - pageSize; + pageNum: number; + pageSize: number; data: T[]; - total; + total?: number; }; export type RequestPaging = { pageNum: number; pageSize: number; [key]: any };