qidian-shared 1.0.52 → 1.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,6 +31,7 @@ function useServiceLoadMore({
31
31
  } = useLoadMore(
32
32
  async (params) => {
33
33
  const res = { list: [], page: 1, total: 0 };
34
+ if (!service) return res;
34
35
  const paginationV = unref(pagination);
35
36
  const currentParams = paginationV !== false ? {
36
37
  pageNum: isEmpty(params?.page) ? 1 : params.page + 1,
@@ -72,7 +73,7 @@ function useServiceLoadMore({
72
73
  return res;
73
74
  },
74
75
  {
75
- manual,
76
+ manual: service ? manual : true,
76
77
  isNoMore: (data2) => {
77
78
  if (!data2) return true;
78
79
  return isEmpty(data2.total) || data2.list.length >= data2.total;
@@ -1 +1 @@
1
- {"version":3,"file":"loadMore.mjs","sources":["../../../src/hooks/useService/loadMore.ts"],"sourcesContent":["import type {\n ServiceMaybePageParams,\n ServicePageDataType,\n ServicePageLoadMoreOptions,\n ServicePageParams,\n ServicePageRes,\n ServicePagination,\n UseServicePageLoadMoreResult\n} from './types'\nimport { ref, unref } from 'vue'\nimport { useLoadMore } from 'vue-request'\nimport { easyCopy, isEmpty, suspectedWrapperPromise, to } from '../../utils'\n\nexport function useServiceLoadMore<\n D = unknown,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>({\n service,\n manual,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n}: ServicePageLoadMoreOptions<D, R, P, TP, Pag>) {\n const firstLoad = ref(false)\n const manualTriggerLoad = ref(false)\n const dataList = ref<D[]>([])\n\n const {\n data,\n loading,\n loadingMore,\n noMore,\n error,\n refresh,\n refreshAsync,\n cancel,\n loadMore,\n loadMoreAsync,\n mutate\n } = useLoadMore<ServicePageDataType<D>>(\n async (params) => {\n const res: ServicePageDataType<D> = { list: [], page: 1, total: 0 }\n const paginationV = unref(pagination)\n\n const currentParams =\n paginationV !== false\n ? {\n pageNum: isEmpty(params?.page) ? 1 : params!.page + 1,\n pageSize: params?.size ?? paginationV?.pageSize ?? 30\n }\n : undefined\n\n if (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum)) firstLoad.value = true\n\n let tParams: TP | undefined\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(\n (currentParams ? easyCopy(currentParams) : currentParams) as ServiceMaybePageParams<Pag>\n )\n )\n if (tpErr) throw tpErr\n\n tParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as TP)))\n if (serviceErr) throw serviceErr\n\n let temp: ServicePageRes<D> | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n temp = trRes\n } else {\n temp = serviceRes as ServicePageRes<D>\n }\n\n if (!temp.records) temp.records = []\n if (isEmpty(temp.total)) temp.total = temp.records.length\n\n if (!paginationV || currentParams?.pageNum === 1) {\n res.list = temp.records\n } else {\n res.list = res.list.concat(temp.records)\n }\n\n if (currentParams) {\n res.page = currentParams?.pageNum\n res.size = currentParams?.pageSize\n }\n res.total = temp.total\n\n return res\n },\n {\n manual,\n isNoMore: (data) => {\n if (!data) return true\n return isEmpty(data.total) || data.list.length >= data.total!\n },\n\n onBefore,\n onAfter: () => {\n firstLoad.value = false\n manualTriggerLoad.value = false\n onAfter?.()\n },\n onSuccess: (res) => {\n dataList.value = res.list\n onSuccess?.(res)\n },\n onError\n }\n )\n\n function reRefresh() {\n manualTriggerLoad.value = true\n refresh()\n }\n\n function reRefreshAsync() {\n manualTriggerLoad.value = true\n return refreshAsync()\n }\n\n function reLoadMore() {\n manualTriggerLoad.value = true\n loadMore()\n }\n\n function reLoadMoreAsync() {\n manualTriggerLoad.value = true\n return loadMoreAsync()\n }\n\n return {\n data,\n dataList,\n firstLoad,\n manualTriggerLoad,\n loading,\n loadingMore,\n noMore,\n error,\n refresh: reRefresh,\n refreshAsync: reRefreshAsync,\n cancel,\n loadMore: reLoadMore,\n loadMoreAsync: reLoadMoreAsync,\n mutate\n } as UseServicePageLoadMoreResult\n}\n"],"names":["data"],"mappings":"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"}
1
+ {"version":3,"file":"loadMore.mjs","sources":["../../../src/hooks/useService/loadMore.ts"],"sourcesContent":["import type {\n ServiceMaybePageParams,\n ServicePageDataType,\n ServicePageLoadMoreOptions,\n ServicePageParams,\n ServicePageRes,\n ServicePagination,\n UseServicePageLoadMoreResult\n} from './types'\nimport { ref, unref } from 'vue'\nimport { useLoadMore } from 'vue-request'\nimport { easyCopy, isEmpty, suspectedWrapperPromise, to } from '../../utils'\n\nexport function useServiceLoadMore<\n D = unknown,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>({\n service,\n manual,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n}: ServicePageLoadMoreOptions<D, R, P, TP, Pag>) {\n const firstLoad = ref(false)\n const manualTriggerLoad = ref(false)\n const dataList = ref<D[]>([])\n\n const {\n data,\n loading,\n loadingMore,\n noMore,\n error,\n refresh,\n refreshAsync,\n cancel,\n loadMore,\n loadMoreAsync,\n mutate\n } = useLoadMore<ServicePageDataType<D>>(\n async (params) => {\n const res: ServicePageDataType<D> = { list: [], page: 1, total: 0 }\n if (!service) return res\n\n const paginationV = unref(pagination)\n\n const currentParams =\n paginationV !== false\n ? {\n pageNum: isEmpty(params?.page) ? 1 : params!.page + 1,\n pageSize: params?.size ?? paginationV?.pageSize ?? 30\n }\n : undefined\n\n if (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum)) firstLoad.value = true\n\n let tParams: TP | undefined\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(\n (currentParams ? easyCopy(currentParams) : currentParams) as ServiceMaybePageParams<Pag>\n )\n )\n if (tpErr) throw tpErr\n\n tParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as TP)))\n if (serviceErr) throw serviceErr\n\n let temp: ServicePageRes<D> | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n temp = trRes\n } else {\n temp = serviceRes as ServicePageRes<D>\n }\n\n if (!temp.records) temp.records = []\n if (isEmpty(temp.total)) temp.total = temp.records.length\n\n if (!paginationV || currentParams?.pageNum === 1) {\n res.list = temp.records\n } else {\n res.list = res.list.concat(temp.records)\n }\n\n if (currentParams) {\n res.page = currentParams?.pageNum\n res.size = currentParams?.pageSize\n }\n res.total = temp.total\n\n return res\n },\n {\n manual: service ? manual : true,\n isNoMore: (data) => {\n if (!data) return true\n return isEmpty(data.total) || data.list.length >= data.total!\n },\n\n onBefore,\n onAfter: () => {\n firstLoad.value = false\n manualTriggerLoad.value = false\n onAfter?.()\n },\n onSuccess: (res) => {\n dataList.value = res.list\n onSuccess?.(res)\n },\n onError\n }\n )\n\n function reRefresh() {\n manualTriggerLoad.value = true\n refresh()\n }\n\n function reRefreshAsync() {\n manualTriggerLoad.value = true\n return refreshAsync()\n }\n\n function reLoadMore() {\n manualTriggerLoad.value = true\n loadMore()\n }\n\n function reLoadMoreAsync() {\n manualTriggerLoad.value = true\n return loadMoreAsync()\n }\n\n return {\n data,\n dataList,\n firstLoad,\n manualTriggerLoad,\n loading,\n loadingMore,\n noMore,\n error,\n refresh: reRefresh,\n refreshAsync: reRefreshAsync,\n cancel,\n loadMore: reLoadMore,\n loadMoreAsync: reLoadMoreAsync,\n mutate\n } as UseServicePageLoadMoreResult\n}\n"],"names":["data"],"mappings":"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"}
@@ -41,6 +41,7 @@ function useServicePagination({
41
41
  } = usePagination(
42
42
  async (params2) => {
43
43
  const res = { list: [], page: 1, total: 0 };
44
+ if (!service) return res;
44
45
  const currentPagV = unref(pagination);
45
46
  const currentParams = currentPagV !== false ? {
46
47
  pageNum: params2?.page ?? 1,
@@ -82,7 +83,7 @@ function useServicePagination({
82
83
  return res;
83
84
  },
84
85
  {
85
- manual,
86
+ manual: service ? manual : true,
86
87
  cacheKey,
87
88
  cacheTime,
88
89
  pollingInterval,
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.mjs","sources":["../../../src/hooks/useService/pagination.ts"],"sourcesContent":["import type {\n ServicePaginationOptions,\n ServicePageParams,\n ServicePagination,\n ServicePageDataType,\n ServicePageRes,\n UseServicePaginationResult,\n ServiceMaybePageParams\n} from './types'\nimport { onActivated, onBeforeUnmount, onDeactivated, ref, unref } from 'vue'\nimport { usePagination } from 'vue-request'\nimport { easyCopy, isEmpty, suspectedWrapperPromise, to } from '../../utils'\n\nexport function useServicePagination<\n D = unknown,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>({\n service,\n manual,\n cacheKey,\n cacheTime,\n pollingInterval,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n}: ServicePaginationOptions<D, R, P, TP, Pag> & {}) {\n const firstLoad = ref(false)\n const manualTriggerLoad = ref(false)\n const dataList = ref<D[]>([])\n const paginationV = unref(pagination)\n\n const {\n data,\n loading,\n error,\n params,\n current,\n pageSize,\n total,\n totalPage,\n changeCurrent,\n changePageSize,\n changePagination,\n runAsync,\n run,\n cancel,\n refresh,\n refreshAsync,\n mutate\n } = usePagination<ServicePageDataType<D>>(\n async (params?: { page?: number; size?: number }) => {\n const res: ServicePageDataType<D> = { list: [], page: 1, total: 0 }\n const currentPagV = unref(pagination)\n\n const currentParams =\n currentPagV !== false\n ? {\n pageNum: params?.page ?? 1,\n pageSize: params?.size ?? 10\n }\n : undefined\n\n if (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum)) firstLoad.value = true\n\n let tParams: TP | undefined\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(\n (currentParams ? easyCopy(currentParams) : currentParams) as ServiceMaybePageParams<Pag>\n )\n )\n if (tpErr) throw tpErr\n\n tParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as TP)))\n if (serviceErr) throw serviceErr\n\n let temp: ServicePageRes<D> | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n temp = trRes\n } else {\n temp = serviceRes as ServicePageRes<D>\n }\n\n if (!temp.records) temp.records = []\n if (isEmpty(temp.total)) temp.total = temp.records.length\n\n if (!currentPagV || currentParams?.pageNum === 1) {\n res.list = temp.records\n } else {\n res.list = res.list.concat(temp.records)\n }\n\n if (currentParams) {\n res.page = currentParams?.pageNum\n res.size = currentParams?.pageSize\n }\n res.total = temp.total\n\n return res\n },\n {\n manual,\n cacheKey,\n cacheTime,\n pollingInterval,\n defaultParams: paginationV !== false ? [{ size: paginationV?.pageSize ?? 10 }] : undefined,\n pagination: {\n currentKey: 'page',\n pageSizeKey: 'size',\n totalKey: 'total'\n },\n onBefore,\n onAfter: () => {\n firstLoad.value = false\n manualTriggerLoad.value = false\n onAfter?.()\n },\n onSuccess: (res) => {\n dataList.value = res.list\n onSuccess?.(res)\n },\n onError\n }\n )\n\n function reChangeCurrent(current: number) {\n manualTriggerLoad.value = true\n changeCurrent(current)\n }\n\n function reChangePageSize(pageSize: number) {\n manualTriggerLoad.value = true\n changePageSize(pageSize)\n }\n\n function reChangePagination(current: number, pageSize: number) {\n manualTriggerLoad.value = true\n changePagination(current, pageSize)\n }\n\n function reRefresh() {\n manualTriggerLoad.value = true\n refresh()\n }\n\n function reRefreshAsync() {\n manualTriggerLoad.value = true\n refreshAsync()\n }\n\n onActivated(() => {\n if (!manual && !isEmpty(unref(pollingInterval))) reRefresh()\n })\n\n onDeactivated(() => {\n if (!isEmpty(unref(pollingInterval))) cancel()\n })\n\n onBeforeUnmount(() => {\n if (!isEmpty(unref(pollingInterval))) cancel()\n })\n\n return {\n data,\n dataList,\n firstLoad,\n manualTriggerLoad,\n loading,\n error,\n params,\n current,\n pageSize,\n total,\n totalPage,\n changeCurrent: reChangeCurrent,\n changePageSize: reChangePageSize,\n changePagination: reChangePagination,\n runAsync,\n run,\n cancel,\n refresh: reRefresh,\n refreshAsync: reRefreshAsync,\n mutate\n } as UseServicePaginationResult\n}\n"],"names":["params","current","pageSize"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.mjs","sources":["../../../src/hooks/useService/pagination.ts"],"sourcesContent":["import type {\n ServicePaginationOptions,\n ServicePageParams,\n ServicePagination,\n ServicePageDataType,\n ServicePageRes,\n UseServicePaginationResult,\n ServiceMaybePageParams\n} from './types'\nimport { onActivated, onBeforeUnmount, onDeactivated, ref, unref } from 'vue'\nimport { usePagination } from 'vue-request'\nimport { easyCopy, isEmpty, suspectedWrapperPromise, to } from '../../utils'\n\nexport function useServicePagination<\n D = unknown,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>({\n service,\n manual,\n cacheKey,\n cacheTime,\n pollingInterval,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n}: ServicePaginationOptions<D, R, P, TP, Pag> & {}) {\n const firstLoad = ref(false)\n const manualTriggerLoad = ref(false)\n const dataList = ref<D[]>([])\n const paginationV = unref(pagination)\n\n const {\n data,\n loading,\n error,\n params,\n current,\n pageSize,\n total,\n totalPage,\n changeCurrent,\n changePageSize,\n changePagination,\n runAsync,\n run,\n cancel,\n refresh,\n refreshAsync,\n mutate\n } = usePagination<ServicePageDataType<D>>(\n async (params?: { page?: number; size?: number }) => {\n const res: ServicePageDataType<D> = { list: [], page: 1, total: 0 }\n if (!service) return res\n\n const currentPagV = unref(pagination)\n\n const currentParams =\n currentPagV !== false\n ? {\n pageNum: params?.page ?? 1,\n pageSize: params?.size ?? 10\n }\n : undefined\n\n if (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum)) firstLoad.value = true\n\n let tParams: TP | undefined\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(\n (currentParams ? easyCopy(currentParams) : currentParams) as ServiceMaybePageParams<Pag>\n )\n )\n if (tpErr) throw tpErr\n\n tParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as TP)))\n if (serviceErr) throw serviceErr\n\n let temp: ServicePageRes<D> | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n temp = trRes\n } else {\n temp = serviceRes as ServicePageRes<D>\n }\n\n if (!temp.records) temp.records = []\n if (isEmpty(temp.total)) temp.total = temp.records.length\n\n if (!currentPagV || currentParams?.pageNum === 1) {\n res.list = temp.records\n } else {\n res.list = res.list.concat(temp.records)\n }\n\n if (currentParams) {\n res.page = currentParams?.pageNum\n res.size = currentParams?.pageSize\n }\n res.total = temp.total\n\n return res\n },\n {\n manual: service ? manual : true,\n cacheKey,\n cacheTime,\n pollingInterval,\n defaultParams: paginationV !== false ? [{ size: paginationV?.pageSize ?? 10 }] : undefined,\n pagination: {\n currentKey: 'page',\n pageSizeKey: 'size',\n totalKey: 'total'\n },\n onBefore,\n onAfter: () => {\n firstLoad.value = false\n manualTriggerLoad.value = false\n onAfter?.()\n },\n onSuccess: (res) => {\n dataList.value = res.list\n onSuccess?.(res)\n },\n onError\n }\n )\n\n function reChangeCurrent(current: number) {\n manualTriggerLoad.value = true\n changeCurrent(current)\n }\n\n function reChangePageSize(pageSize: number) {\n manualTriggerLoad.value = true\n changePageSize(pageSize)\n }\n\n function reChangePagination(current: number, pageSize: number) {\n manualTriggerLoad.value = true\n changePagination(current, pageSize)\n }\n\n function reRefresh() {\n manualTriggerLoad.value = true\n refresh()\n }\n\n function reRefreshAsync() {\n manualTriggerLoad.value = true\n refreshAsync()\n }\n\n onActivated(() => {\n if (!manual && !isEmpty(unref(pollingInterval))) reRefresh()\n })\n\n onDeactivated(() => {\n if (!isEmpty(unref(pollingInterval))) cancel()\n })\n\n onBeforeUnmount(() => {\n if (!isEmpty(unref(pollingInterval))) cancel()\n })\n\n return {\n data,\n dataList,\n firstLoad,\n manualTriggerLoad,\n loading,\n error,\n params,\n current,\n pageSize,\n total,\n totalPage,\n changeCurrent: reChangeCurrent,\n changePageSize: reChangePageSize,\n changePagination: reChangePagination,\n runAsync,\n run,\n cancel,\n refresh: reRefresh,\n refreshAsync: reRefreshAsync,\n mutate\n } as UseServicePaginationResult\n}\n"],"names":["params","current","pageSize"],"mappings":"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"}
@@ -22,11 +22,11 @@ export type ServiceMaybePageParams<T> = UnwrapRef<T> extends false ? undefined :
22
22
  type ServicePageLoadMoreBaseOptions<T> = LoadMoreBaseOptions<ServicePageDataType<T>>;
23
23
  type ServicePaginationBaseOptions<T> = PaginationOptions<ServicePageDataType<T>, unknown[]>;
24
24
  export interface ServicePageBaseOptions<D = unknown, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> {
25
- service: (params: TP) => Promise<R>;
25
+ service?: (params: TP) => Promise<R>;
26
26
  manual?: boolean;
27
27
  transformParams?: (params: ServiceMaybePageParams<Pag>) => TP | Promise<TP>;
28
28
  transformRes?: (res: R) => ServicePageRes<D> | Promise<ServicePageRes<D>>;
29
- pagination?: Pag;
29
+ pagination?: Pag extends ServicePagination ? Pag | false : Pag;
30
30
  }
31
31
  export interface ServicePageLoadMoreOptions<D = unknown, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends ServicePageBaseOptions<D, R, P, TP, Pag> {
32
32
  onBefore?: ServicePageLoadMoreBaseOptions<D>['onBefore'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-shared",
3
- "version": "1.0.52",
3
+ "version": "1.0.53",
4
4
  "description": "QiDian 共享工具函数和钩子",
5
5
  "type": "module",
6
6
  "author": "qidian",