@kevisual/api 0.0.48 → 0.0.49
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.
- package/dist/query-ai.d.ts +40 -7
- package/dist/query-app.d.ts +182 -8
- package/dist/query-config.d.ts +70 -10
- package/dist/query-login.d.ts +7 -3
- package/dist/query-login.js +28 -19
- package/dist/query-mark.d.ts +38 -10
- package/dist/query-proxy.d.ts +4 -4
- package/dist/query-secret.d.ts +27 -5
- package/dist/query-shop.d.ts +28 -2
- package/dist/store-auth.d.ts +30 -0
- package/dist/store-auth.js +43 -0
- package/dist/store-mark.d.ts +154 -0
- package/dist/store-mark.js +444 -0
- package/dist/utils.d.ts +3 -3
- package/package.json +10 -5
- package/query/query-login/login-cache.ts +4 -0
- package/query/query-login/query-login.ts +26 -19
- package/store/store-auth/index.ts +66 -0
- package/store/store-mark/index.ts +132 -0
package/dist/query-secret.d.ts
CHANGED
|
@@ -28,17 +28,39 @@ type PostOpts = {
|
|
|
28
28
|
declare class QueryConfig {
|
|
29
29
|
query: Query;
|
|
30
30
|
constructor(opts?: QueryConfigOpts);
|
|
31
|
-
post<T = Config>(data: any): Promise<
|
|
31
|
+
post<T = Config>(data: any): Promise<{
|
|
32
|
+
code: number;
|
|
33
|
+
data?: T | undefined;
|
|
34
|
+
message?: string;
|
|
35
|
+
}>;
|
|
32
36
|
getItem({ id, key }: {
|
|
33
37
|
id?: string;
|
|
34
38
|
key?: string;
|
|
35
|
-
}, opts?: PostOpts): Promise<
|
|
36
|
-
|
|
39
|
+
}, opts?: PostOpts): Promise<{
|
|
40
|
+
code: number;
|
|
41
|
+
data?: Config<any> | undefined;
|
|
42
|
+
message?: string;
|
|
43
|
+
}>;
|
|
44
|
+
updateItem(data: Config, opts?: PostOpts): Promise<{
|
|
45
|
+
code: number;
|
|
46
|
+
data?: Config<any> | undefined;
|
|
47
|
+
message?: string;
|
|
48
|
+
}>;
|
|
37
49
|
deleteItem(data: {
|
|
38
50
|
id?: string;
|
|
39
51
|
key?: string;
|
|
40
|
-
}, opts?: PostOpts): Promise<
|
|
41
|
-
|
|
52
|
+
}, opts?: PostOpts): Promise<{
|
|
53
|
+
code: number;
|
|
54
|
+
data?: Config<any> | undefined;
|
|
55
|
+
message?: string;
|
|
56
|
+
}>;
|
|
57
|
+
listItems(opts?: PostOpts): Promise<{
|
|
58
|
+
code: number;
|
|
59
|
+
data?: {
|
|
60
|
+
list: Config[];
|
|
61
|
+
} | undefined;
|
|
62
|
+
message?: string;
|
|
63
|
+
}>;
|
|
42
64
|
}
|
|
43
65
|
|
|
44
66
|
export { QueryConfig };
|
package/dist/query-shop.d.ts
CHANGED
|
@@ -1,12 +1,38 @@
|
|
|
1
1
|
import { Query, BaseQuery, DataOpts } from '@kevisual/query/query';
|
|
2
|
+
import { QueryUtil } from '@kevisual/router/define';
|
|
2
3
|
|
|
3
|
-
declare const shopDefine:
|
|
4
|
+
declare const shopDefine: QueryUtil<{
|
|
5
|
+
getRegistry: {
|
|
6
|
+
path: string;
|
|
7
|
+
key: string;
|
|
8
|
+
description: string;
|
|
9
|
+
};
|
|
10
|
+
listInstalled: {
|
|
11
|
+
path: string;
|
|
12
|
+
key: string;
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
install: {
|
|
16
|
+
path: string;
|
|
17
|
+
key: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
uninstall: {
|
|
21
|
+
path: string;
|
|
22
|
+
key: string;
|
|
23
|
+
description: string;
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
4
26
|
|
|
5
27
|
declare class QueryShop<T extends Query = Query> extends BaseQuery<T> {
|
|
6
28
|
constructor(opts?: {
|
|
7
29
|
query: T;
|
|
8
30
|
});
|
|
9
|
-
getInstall(data: any, opts?: DataOpts):
|
|
31
|
+
getInstall(data: any, opts?: DataOpts): Promise<{
|
|
32
|
+
code: number;
|
|
33
|
+
data?: any;
|
|
34
|
+
message?: string;
|
|
35
|
+
}>;
|
|
10
36
|
}
|
|
11
37
|
|
|
12
38
|
export { QueryShop, shopDefine };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as zustand from 'zustand';
|
|
2
|
+
|
|
3
|
+
type Me = {
|
|
4
|
+
id?: string;
|
|
5
|
+
username?: string;
|
|
6
|
+
nickname?: string | null;
|
|
7
|
+
needChangePassword?: boolean;
|
|
8
|
+
role?: string;
|
|
9
|
+
description?: string | null;
|
|
10
|
+
type?: 'user' | 'org';
|
|
11
|
+
orgs?: string[];
|
|
12
|
+
avatar?: string;
|
|
13
|
+
};
|
|
14
|
+
type LayoutStore = {
|
|
15
|
+
open: boolean;
|
|
16
|
+
setOpen: (open: boolean) => void;
|
|
17
|
+
me: Me;
|
|
18
|
+
setMe: (me: Me) => void;
|
|
19
|
+
getMe: () => Promise<void>;
|
|
20
|
+
openUser: boolean;
|
|
21
|
+
setOpenUser: (openUser: boolean) => void;
|
|
22
|
+
switchOrg: (username?: string, type?: 'user' | 'org') => Promise<void>;
|
|
23
|
+
isAdmin: boolean;
|
|
24
|
+
setIsAdmin: (isAdmin: boolean) => void;
|
|
25
|
+
checkHasOrg: () => boolean;
|
|
26
|
+
};
|
|
27
|
+
declare const useLayoutStore: zustand.UseBoundStore<zustand.StoreApi<LayoutStore>>;
|
|
28
|
+
|
|
29
|
+
export { useLayoutStore };
|
|
30
|
+
export type { LayoutStore };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// store/store-auth/index.ts
|
|
2
|
+
import { create } from "zustand";
|
|
3
|
+
import { toast } from "sonner";
|
|
4
|
+
import { useContextKey } from "@kevisual/context";
|
|
5
|
+
var queryLogin = useContextKey("queryLogin");
|
|
6
|
+
var useLayoutStore = create((set, get) => ({
|
|
7
|
+
open: false,
|
|
8
|
+
setOpen: (open) => set({ open }),
|
|
9
|
+
me: {},
|
|
10
|
+
setMe: (me) => set({ me }),
|
|
11
|
+
getMe: async () => {
|
|
12
|
+
const res = await queryLogin.getMe();
|
|
13
|
+
if (res.code === 200) {
|
|
14
|
+
set({ me: res.data });
|
|
15
|
+
set({ isAdmin: res.data.orgs?.includes("admin") });
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
openUser: false,
|
|
19
|
+
setOpenUser: (openUser) => set({ openUser }),
|
|
20
|
+
switchOrg: async (username, type) => {
|
|
21
|
+
const res = await queryLogin.switchUser(username || "");
|
|
22
|
+
if (res.code === 200) {
|
|
23
|
+
toast.success("Switch success");
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
window.location.reload();
|
|
26
|
+
}, 1000);
|
|
27
|
+
} else {
|
|
28
|
+
toast.error(res.message || "Request failed");
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
isAdmin: false,
|
|
32
|
+
setIsAdmin: (isAdmin) => set({ isAdmin }),
|
|
33
|
+
checkHasOrg: () => {
|
|
34
|
+
const user = get().me || {};
|
|
35
|
+
if (!user.orgs) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return user?.orgs?.length > 0;
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
export {
|
|
42
|
+
useLayoutStore
|
|
43
|
+
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import * as zustand from 'zustand';
|
|
2
|
+
import { Result, DataOpts } from '@kevisual/query/query';
|
|
3
|
+
import { Query } from '@kevisual/query';
|
|
4
|
+
|
|
5
|
+
type SimpleObject = Record<string, any>;
|
|
6
|
+
declare const markType: readonly ["simple", "md", "mdx", "wallnote", "excalidraw", "chat"];
|
|
7
|
+
type MarkType = (typeof markType)[number];
|
|
8
|
+
type MarkData = {
|
|
9
|
+
nodes?: any[];
|
|
10
|
+
edges?: any[];
|
|
11
|
+
elements?: any[];
|
|
12
|
+
permission?: any;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
type Mark = {
|
|
16
|
+
id: string;
|
|
17
|
+
title: string;
|
|
18
|
+
description: string;
|
|
19
|
+
markType: MarkType;
|
|
20
|
+
link: string;
|
|
21
|
+
data?: MarkData;
|
|
22
|
+
uid: string;
|
|
23
|
+
puid: string;
|
|
24
|
+
summary: string;
|
|
25
|
+
thumbnail?: string;
|
|
26
|
+
tags: string[];
|
|
27
|
+
createdAt: string;
|
|
28
|
+
updatedAt: string;
|
|
29
|
+
version: number;
|
|
30
|
+
};
|
|
31
|
+
type SearchOpts = {
|
|
32
|
+
page?: number;
|
|
33
|
+
pageSize?: number;
|
|
34
|
+
search?: string;
|
|
35
|
+
sort?: string;
|
|
36
|
+
markType?: MarkType;
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
};
|
|
39
|
+
type QueryMarkOpts<T extends SimpleObject = SimpleObject> = {
|
|
40
|
+
query?: Query;
|
|
41
|
+
isBrowser?: boolean;
|
|
42
|
+
onLoad?: () => void;
|
|
43
|
+
} & T;
|
|
44
|
+
type ResultMarkList = {
|
|
45
|
+
list: Mark[];
|
|
46
|
+
pagination: {
|
|
47
|
+
pageSize: number;
|
|
48
|
+
current: number;
|
|
49
|
+
total: number;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
declare class QueryMarkBase<T extends SimpleObject = SimpleObject> {
|
|
53
|
+
query: Query;
|
|
54
|
+
isBrowser: boolean;
|
|
55
|
+
load?: boolean;
|
|
56
|
+
storage?: Storage;
|
|
57
|
+
onLoad?: () => void;
|
|
58
|
+
constructor(opts?: QueryMarkOpts<T>);
|
|
59
|
+
setQuery(query: Query): void;
|
|
60
|
+
private init;
|
|
61
|
+
post<T = Result<any>>(data: any, opts?: DataOpts): Promise<T>;
|
|
62
|
+
getMarkList(search: SearchOpts, opts?: DataOpts): Promise<{
|
|
63
|
+
code: number;
|
|
64
|
+
data?: ResultMarkList | undefined;
|
|
65
|
+
message?: string;
|
|
66
|
+
}>;
|
|
67
|
+
getMark(id: string, opts?: DataOpts): Promise<{
|
|
68
|
+
code: number;
|
|
69
|
+
data?: Mark | undefined;
|
|
70
|
+
message?: string;
|
|
71
|
+
}>;
|
|
72
|
+
getVersion(id: string, opts?: DataOpts): Promise<{
|
|
73
|
+
code: number;
|
|
74
|
+
data?: {
|
|
75
|
+
version: number;
|
|
76
|
+
id: string;
|
|
77
|
+
} | undefined;
|
|
78
|
+
message?: string;
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* 检查版本
|
|
82
|
+
* 当需要更新时,返回true
|
|
83
|
+
* @param id
|
|
84
|
+
* @param version
|
|
85
|
+
* @param opts
|
|
86
|
+
* @returns
|
|
87
|
+
*/
|
|
88
|
+
checkVersion(id: string, version?: number, opts?: DataOpts): Promise<boolean>;
|
|
89
|
+
updateMark(data: any, opts?: DataOpts): Promise<{
|
|
90
|
+
code: number;
|
|
91
|
+
data?: Mark | undefined;
|
|
92
|
+
message?: string;
|
|
93
|
+
}>;
|
|
94
|
+
deleteMark(id: string, opts?: DataOpts): Promise<{
|
|
95
|
+
code: number;
|
|
96
|
+
data?: Mark | undefined;
|
|
97
|
+
message?: string;
|
|
98
|
+
}>;
|
|
99
|
+
}
|
|
100
|
+
declare class QueryMark extends QueryMarkBase<SimpleObject> {
|
|
101
|
+
markType: string;
|
|
102
|
+
constructor(opts?: QueryMarkOpts & {
|
|
103
|
+
markType?: MarkType;
|
|
104
|
+
});
|
|
105
|
+
getMarkList(search?: SearchOpts, opts?: DataOpts): Promise<{
|
|
106
|
+
code: number;
|
|
107
|
+
data?: ResultMarkList | undefined;
|
|
108
|
+
message?: string;
|
|
109
|
+
}>;
|
|
110
|
+
updateMark(data: any, opts?: DataOpts): Promise<{
|
|
111
|
+
code: number;
|
|
112
|
+
data?: Mark | undefined;
|
|
113
|
+
message?: string;
|
|
114
|
+
}>;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
type ManagerStore = {
|
|
118
|
+
/** 当前选中的Mark */
|
|
119
|
+
currentMarkId: string;
|
|
120
|
+
setCurrentMarkId: (markId: string) => void;
|
|
121
|
+
markData?: Mark | undefined;
|
|
122
|
+
setMarkData: (mark?: Partial<Mark>) => void;
|
|
123
|
+
/** 获取Mark列表 */
|
|
124
|
+
getList: () => Promise<any>;
|
|
125
|
+
getMarkFromList: (markId: string) => Mark | undefined;
|
|
126
|
+
updateMark: (mark: Mark) => Promise<any>;
|
|
127
|
+
getMark: (markId: string) => Promise<Result<Mark>>;
|
|
128
|
+
deleteMark: (markId: string) => Promise<any>;
|
|
129
|
+
/** Mark列表 */
|
|
130
|
+
list: Mark[];
|
|
131
|
+
setList: (list: Mark[]) => void;
|
|
132
|
+
pagination: {
|
|
133
|
+
current: number;
|
|
134
|
+
pageSize: number;
|
|
135
|
+
total: number;
|
|
136
|
+
};
|
|
137
|
+
setPagination: (pagination: {
|
|
138
|
+
current: number;
|
|
139
|
+
pageSize: number;
|
|
140
|
+
total: number;
|
|
141
|
+
}) => void;
|
|
142
|
+
/** 搜索 */
|
|
143
|
+
search: string;
|
|
144
|
+
setSearch: (search: string) => void;
|
|
145
|
+
/** 初始化 */
|
|
146
|
+
init: (markType: MarkType) => Promise<void>;
|
|
147
|
+
queryMark?: QueryMark;
|
|
148
|
+
markType?: MarkType;
|
|
149
|
+
open: boolean;
|
|
150
|
+
setOpen: (open: boolean) => void;
|
|
151
|
+
};
|
|
152
|
+
declare const useMarkStore: zustand.UseBoundStore<zustand.StoreApi<ManagerStore>>;
|
|
153
|
+
|
|
154
|
+
export { useMarkStore };
|