@peng_kai/kit 0.1.17 → 0.2.0-beta.0

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.
Files changed (64) hide show
  1. package/admin/adminPlugin.ts +47 -0
  2. package/admin/components/filter/src/FilterParam.vue +76 -78
  3. package/admin/components/filter/src/FilterReset.vue +2 -2
  4. package/admin/components/filter/src/useFilterParams.ts +75 -25
  5. package/admin/components/filter/src/useFilterQuery.ts +32 -16
  6. package/admin/components/rich-text/index.ts +2 -0
  7. package/admin/components/rich-text/src/RichText.vue +342 -0
  8. package/admin/components/rich-text/src/imageUploader.ts +34 -0
  9. package/admin/components/rich-text/src/type.d.ts +7 -0
  10. package/admin/components/text/src/Datetime.vue +47 -48
  11. package/admin/components/upload/index.ts +2 -0
  12. package/admin/components/upload/src/PictureCardUpload.vue +143 -0
  13. package/admin/components/upload/src/customRequests.ts +31 -0
  14. package/admin/defines/index.ts +1 -1
  15. package/admin/defines/route/helpers.ts +0 -1
  16. package/admin/defines/startup/defineStartup.ts +8 -1
  17. package/admin/defines/startup/index.ts +1 -1
  18. package/admin/defines/startup/{getStartups.ts → runStartup.ts} +16 -7
  19. package/admin/layout/large/Breadcrumb.vue +68 -69
  20. package/admin/layout/large/Content.vue +23 -24
  21. package/admin/layout/large/Menu.vue +68 -69
  22. package/admin/layout/large/PageTab.vue +70 -71
  23. package/admin/permission/index.ts +2 -4
  24. package/admin/permission/routerGuard.ts +41 -43
  25. package/admin/permission/vuePlugin.ts +46 -30
  26. package/admin/route-guards/collapseMenu.ts +3 -3
  27. package/admin/route-guards/pageTitle.ts +18 -19
  28. package/admin/{hooks/useMenu.ts → stores/createUseMenuStore.ts} +133 -128
  29. package/admin/{hooks/usePage.ts → stores/createUsePageStore.ts} +145 -141
  30. package/admin/stores/createUsePageTabStore.ts +43 -0
  31. package/admin/{permission/usePermission.ts → stores/createUsePermissionStore.ts} +57 -52
  32. package/admin/stores/index.ts +8 -0
  33. package/admin/styles/classCover.scss +8 -0
  34. package/antd/hooks/useAntdForm.helpers.ts +92 -8
  35. package/antd/hooks/useAntdForm.ts +55 -63
  36. package/antd/hooks/useAntdTable.ts +12 -0
  37. package/antd/index.ts +1 -1
  38. package/libs/a-calc.ts +1 -0
  39. package/libs/axios.ts +2 -0
  40. package/libs/bignumber.ts +2 -0
  41. package/libs/dayjs.ts +5 -0
  42. package/libs/echarts.ts +5 -0
  43. package/libs/localstorage-slim.ts +2 -0
  44. package/libs/lodash-es.ts +1 -0
  45. package/libs/pinia.ts +1 -0
  46. package/libs/vue-query.ts +1 -0
  47. package/libs/vueuse.ts +3 -0
  48. package/package.json +55 -16
  49. package/request/helpers.ts +20 -1
  50. package/request/queryClient.ts +34 -21
  51. package/utils/upload/AwsS3.ts +76 -0
  52. package/utils/upload/fileHandlers.ts +27 -0
  53. package/utils/upload/index.ts +2 -0
  54. package/vite/index.d.ts +1 -0
  55. package/vite/index.mjs +27 -0
  56. package/vue/components/echarts/index.ts +1 -0
  57. package/vue/components/echarts/src/ECharts.vue +48 -0
  58. package/vue/components/index.ts +1 -0
  59. package/vue/components/infinite-query/src/InfiniteQuery.vue +2 -8
  60. package/vue/components/test/KitTest.vue +9 -0
  61. package/vue/components/test/testStore.ts +11 -0
  62. package/admin/hooks/index.ts +0 -5
  63. package/admin/hooks/usePageTab.ts +0 -35
  64. package/kitDependencies.ts +0 -43
@@ -29,8 +29,7 @@ const props = withDefaults(defineProps<{
29
29
 
30
30
  const { queryier } = props;
31
31
  const pages = computed(() => queryier.data.value?.pages);
32
- // TODO: 状态之间的互斥仍有问题
33
- const isInitialLoading = computed(() => queryier.isInitialLoading.value);
32
+ const isInitialLoading = computed(() => queryier.isPending.value);
34
33
  const isInitialLoadingError = computed(() => queryier.isLoadingError.value && !isInitialLoading.value);
35
34
  const isMoreLoading = computed(
36
35
  () => (queryier.isFetchingNextPage.value || queryier.isFetching.value) && !isInitialLoading.value,
@@ -60,12 +59,7 @@ const containerCssVars = computed(() => {
60
59
  });
61
60
 
62
61
  function refetchLastPage() {
63
- queryier.refetch({
64
- refetchPage(lastPage: any, _index, allPages: any[]) {
65
- const lastIndex = allPages?.length - 1;
66
- return lastPage?.pagination?.page === allPages?.[lastIndex]?.pagination?.page;
67
- },
68
- });
62
+ queryier.refetch();
69
63
  }
70
64
 
71
65
  function fetchNextPage() {
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ import { useTestStore } from './testStore';
3
+
4
+ useTestStore();
5
+ </script>
6
+
7
+ <template>
8
+ <div>123</div>
9
+ </template>
@@ -0,0 +1,11 @@
1
+ import { useQueryClient } from '@tanstack/vue-query';
2
+ import { defineStore } from 'pinia';
3
+ import { useRouter } from 'vue-router';
4
+
5
+ export const useTestStore = defineStore('test-store', () => {
6
+ const router = useRouter();
7
+ const queryClient = useQueryClient();
8
+ console.log('🤡 / router:', router);
9
+ console.log('🤡 / queryClient:', queryClient);
10
+ return {};
11
+ });
@@ -1,5 +0,0 @@
1
- export { usePage } from './usePage';
2
- export type { TPageState, IBreadcrumb } from './usePage';
3
- export { useMenu } from './useMenu';
4
- export type { TMenu } from './useMenu';
5
- export { usePageTab } from './usePageTab';
@@ -1,35 +0,0 @@
1
- import { createGlobalState } from '@vueuse/core';
2
- import { computed, ref, watch } from 'vue';
3
- import { usePage } from './usePage';
4
-
5
- export { usePageTab };
6
-
7
- const usePageTab = createGlobalState(() => {
8
- const { currentPageKey, pageStateMap, openPage, closePage } = usePage();
9
- const tabKeyList = ref<string[]>([]);
10
- const tabList = computed(() => tabKeyList.value.map((key) => {
11
- const state = pageStateMap.get(key);
12
-
13
- return state ? { key, title: state.title, icon: state.icon } : undefined!;
14
- }).filter(tab => !!tab));
15
-
16
- const closeTab = (key: string) => {
17
- const i = tabKeyList.value.indexOf(key);
18
-
19
- if (i > -1) {
20
- closePage(key);
21
- setTimeout(() => tabKeyList.value.splice(i, 1));
22
- }
23
- };
24
-
25
- watch(
26
- currentPageKey,
27
- (key) => {
28
- if (!tabKeyList.value.includes(key))
29
- tabKeyList.value.push(key);
30
- },
31
- { immediate: true },
32
- );
33
-
34
- return { activeTab: currentPageKey, tabList, closeTab, openTab: openPage };
35
- });
@@ -1,43 +0,0 @@
1
- import type dayjs from 'dayjs';
2
- import type { useRoute, useRouter } from 'vue-router';
3
- import type { useMenu, usePage, usePageTab } from './admin/hooks';
4
- import type { TRole, usePermission } from './admin/permission/usePermission';
5
-
6
- const KEY = '__PK_KIT_DEPENDENCIES__';
7
-
8
- interface Dependencies {
9
- dayjs: typeof dayjs
10
- appName: string
11
- appId: string
12
- roles: Record<string, TRole>
13
- useRoute: typeof useRoute
14
- useRouter: typeof useRouter
15
- useMenu: typeof useMenu
16
- usePage: typeof usePage
17
- usePageTab: typeof usePageTab
18
- usePermission: typeof usePermission
19
- }
20
-
21
- export function setDependencies(deps: Partial<Dependencies>) {
22
- window[KEY] = { ...window[KEY], ...deps };
23
- }
24
-
25
- export function getDependencies() {
26
- if (window[KEY]) {
27
- return new Proxy(window[KEY], {
28
- get(target, prop: keyof Dependencies) {
29
- if (prop in target)
30
- return target[prop];
31
- else
32
- throw new Error(`未发现 kit 依赖 ${prop}`);
33
- },
34
- });
35
- }
36
- else { throw new Error('未发现 kit 依赖'); };
37
- }
38
-
39
- declare global {
40
- interface Window {
41
- [KEY]: Dependencies
42
- }
43
- }