@tsingroc/tsingroc-components 3.14.0 → 4.0.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 (38) hide show
  1. package/dist/components/Auth.d.ts +98 -15
  2. package/dist/components/Auth.js +147 -63
  3. package/dist/components/Auth.js.map +1 -1
  4. package/dist/components/TsingrocTheme.js +1 -1
  5. package/dist/components/TsingrocTheme.js.map +1 -1
  6. package/dist/components/UserButton.js +24 -17
  7. package/dist/components/UserButton.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/package.json +11 -11
  11. package/src/components/Auth.tsx +608 -0
  12. package/src/components/Calendar.tsx +182 -0
  13. package/src/components/CircularProgress.tsx +38 -0
  14. package/src/components/Header.tsx +136 -0
  15. package/src/components/ImageBackground.tsx +58 -0
  16. package/src/components/IndicatorLight.tsx +106 -0
  17. package/src/components/LineChartEditor.tsx +558 -0
  18. package/src/components/LineChartTable.tsx +285 -0
  19. package/src/components/LinkedLineChart.tsx +223 -0
  20. package/src/components/QuickDateRangePicker.tsx +84 -0
  21. package/src/components/SegmentedButtons.tsx +46 -0
  22. package/src/components/Sidebar.tsx +250 -0
  23. package/src/components/TsingrocDatePicker.tsx +103 -0
  24. package/src/components/TsingrocTheme.tsx +47 -0
  25. package/src/components/UserButton.tsx +168 -0
  26. package/src/components/VerticalColorLegend.tsx +73 -0
  27. package/src/components/WeatherMap.tsx +521 -0
  28. package/src/deckgl/TiandituLayer.ts +56 -0
  29. package/src/deckgl/WeatherData.ts +157 -0
  30. package/src/deckgl/index.ts +4 -0
  31. package/src/echarts/coordinateSystem.ts +132 -0
  32. package/src/echarts/gl.ts +158 -0
  33. package/src/echarts/index.ts +120 -0
  34. package/src/echarts/legend.ts +36 -0
  35. package/src/echarts/radar.ts +46 -0
  36. package/src/echarts/series.ts +441 -0
  37. package/src/echarts/tooltip.ts +17 -0
  38. package/src/index.ts +82 -0
@@ -2,7 +2,8 @@ import { type ReactNode } from "react";
2
2
  import { type JwtPayload } from "jwt-decode";
3
3
  import Sdk from "casdoor-js-sdk";
4
4
  import type { SdkConfig } from "casdoor-js-sdk/lib/esm/sdk";
5
- export interface AccessTokenPayload extends JwtPayload {
5
+ export type AccessTokenPayload = CasdoorAccessTokenPayload | LocalAccessTokenPayload;
6
+ interface CasdoorAccessTokenPayload extends JwtPayload {
6
7
  /**
7
8
  * Token 的发布者。见 [JWT 标准][1]。
8
9
  *
@@ -55,7 +56,42 @@ export interface AccessTokenPayload extends JwtPayload {
55
56
  tokenType: "access-token";
56
57
  scope: "profile";
57
58
  }
58
- export interface UserInfo {
59
+ interface LocalAccessTokenPayload extends JwtPayload {
60
+ /** Token 的过期时间(Unix 时间戳)。*/
61
+ exp: number;
62
+ /** Token 的生效时间(Unix 时间戳)。*/
63
+ nbf: number;
64
+ /** Token 的签发时间(Unix 时间戳)。*/
65
+ iat: number;
66
+ /** 用户信息 */
67
+ User: {
68
+ /** 注册时间。*/
69
+ createTime: string;
70
+ /** 用户的 UUID。*/
71
+ id?: string;
72
+ /** 用户名。*/
73
+ username?: string;
74
+ /** 是否已删除。*/
75
+ deleted?: boolean;
76
+ /** 用户的角色。*/
77
+ role: {
78
+ /** 角色的 UUID。*/
79
+ id: string;
80
+ /** 角色名。*/
81
+ name: string;
82
+ /** 角色的显示名。*/
83
+ display_name: string;
84
+ /** 角色拥有的权限。*/
85
+ functions: string[];
86
+ /** 角色的优先级。*/
87
+ priority: number;
88
+ };
89
+ /** 用户的角色的 UUID。*/
90
+ roleId: string;
91
+ };
92
+ }
93
+ export type UserInfo = CasdoorUserInfo | LocalUserInfo;
94
+ interface CasdoorUserInfo {
59
95
  /**
60
96
  * Token 的发布者。见 [JWT 标准][1]。
61
97
  *
@@ -93,26 +129,38 @@ export interface UserInfo {
93
129
  /** 用户的角色。*/
94
130
  roles: string[];
95
131
  }
96
- interface User {
97
- /** 用户的个人信息,未经过 {@linkcode AuthCheck} 验证时为空。*/
98
- userInfo?: UserInfo;
99
- /** Access Token,未登录时为空。*/
100
- accessToken?: string;
101
- /** 解码后的 Access Token,未登录时为空。这里也会有一些用户的个人信息。*/
102
- decodedAccessToken?: AccessTokenPayload;
132
+ interface LocalUserInfo {
133
+ /** 注册时间。*/
134
+ createTime?: string;
135
+ /** 用户的 UUID。*/
136
+ id?: string;
137
+ /** 用户名。*/
138
+ username?: string;
139
+ /** 用户的角色。*/
140
+ roles: string[];
103
141
  }
104
- export interface Auth extends User {
105
- /** 全局的 Casdoor SDK 对象。*/
106
- sdk: Sdk;
142
+ export type Auth = CasdoorAuth | LocalAuth;
143
+ interface CommonAuth {
144
+ /**
145
+ * 当前使用的登录机制。
146
+ *
147
+ * - `"casdoor"`:基于 Casdoor 的登录系统。
148
+ * - `"local"`:场站端使用的内网登录系统。
149
+ */
150
+ mode: "casdoor" | "local";
107
151
  /**
108
- * 跳转到登录。
152
+ * 跳转到登录页面。
109
153
  *
110
154
  * 参数 `redirect` 可以填入登录完成后要跳转到的地址。如果省略,那么跳转目标将由
111
155
  * {@linkcode AuthCallback} 的 {@linkcode AuthCallbackProps.onRedirect | onRedirect}
112
156
  * 属性决定,默认为跳转到主页。
113
157
  */
114
158
  login(redirect?: string): void;
115
- /** 从登录页面返回时应该调用的回调。当登录状态无效时会**抛出异常**。*/
159
+ /**
160
+ * 从登录页面返回时应该调用的回调。当登录状态无效时会**抛出异常**。
161
+ *
162
+ * 当 {@linkcode mode | mode === "local"} 时,该函数无效。
163
+ */
116
164
  callback(): Promise<void>;
117
165
  /** 在线检查用户是否登录。用户未登录时会**抛出异常**。*/
118
166
  validate(): Promise<void>;
@@ -128,6 +176,30 @@ export interface Auth extends User {
128
176
  * 用法与正常的 {@linkcode fetch} 完全一致。未登录时,返回的 Promise 会立即失败。
129
177
  */
130
178
  fetchWithAuth(resource: RequestInfo | URL, options?: RequestInit): Promise<Response>;
179
+ /** 用户的个人信息,未经过 {@linkcode AuthCheck} 验证时为空。*/
180
+ userInfo?: UserInfo;
181
+ /** Access Token,未登录时为空。*/
182
+ accessToken?: string;
183
+ /** 解码后的 Access Token,未登录时为空。这里也会有一些用户的个人信息。*/
184
+ decodedAccessToken?: AccessTokenPayload;
185
+ }
186
+ export interface CasdoorAuth extends CommonAuth {
187
+ mode: "casdoor";
188
+ /** 全局的 Casdoor SDK 对象。*/
189
+ sdk: Sdk;
190
+ userInfo?: CasdoorUserInfo;
191
+ decodedAccessToken?: CasdoorAccessTokenPayload;
192
+ }
193
+ export interface LocalAuth extends CommonAuth {
194
+ mode: "local";
195
+ /**
196
+ * 在登录页面需要通过该函数调用登录 API。
197
+ *
198
+ * 账号或密码错误时会**抛出异常**。
199
+ */
200
+ localLogin(username: string, password: string): Promise<void>;
201
+ userInfo?: LocalUserInfo;
202
+ decodedAccessToken?: LocalAccessTokenPayload;
131
203
  }
132
204
  /**
133
205
  * 获取登录鉴权相关的工具函数和全局状态。必须在 {@linkcode AuthProvider} 内部才能使用。
@@ -136,12 +208,23 @@ export interface Auth extends User {
136
208
  */
137
209
  export declare function useAuth(user?: string): Auth;
138
210
  export interface AuthProviderProps {
211
+ /**
212
+ * 要使用的登录机制。
213
+ *
214
+ * - `"casdoor"`:基于 Casdoor 的登录系统。
215
+ * - `"local"`:场站端使用的内网登录系统。
216
+ *
217
+ * @default "casdoor"
218
+ */
219
+ mode?: "casdoor" | "local";
139
220
  /**
140
221
  * 用于初始化 Casdoor SDK 的配置对象。
141
222
  * {@linkcode SdkConfig.redirectPath | sdkConfig.redirectPath} 应该指向一个包含
142
223
  * {@linkcode AuthCallback} 组件的路径。
143
224
  */
144
- sdkConfig: SdkConfig;
225
+ sdkConfig?: SdkConfig;
226
+ /** {@linkcode mode | mode: "local"} 时,登录页面的路径。*/
227
+ loginPage?: string;
145
228
  /**
146
229
  * 登录 API 的源点,末尾不带 `/`。
147
230
  * @default location.origin
@@ -2,6 +2,133 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext, useEffect, useMemo, useRef, useState, } from "react";
3
3
  import { jwtDecode } from "jwt-decode";
4
4
  import Sdk from "casdoor-js-sdk";
5
+ const commonAuth = (user, setUser) => ({
6
+ async logout(redirect) {
7
+ localStorage.removeItem("access_token");
8
+ setUser({});
9
+ if (redirect) {
10
+ location.href = redirect;
11
+ }
12
+ },
13
+ async fetchWithAuth(resource, options) {
14
+ const token = user.accessToken;
15
+ if (!token) {
16
+ throw new Error("未登录时无法使用 fetchWithAuth");
17
+ }
18
+ return await fetch(resource, {
19
+ ...options,
20
+ headers: {
21
+ Authorization: `Bearer ${token}`,
22
+ ...options?.headers,
23
+ },
24
+ });
25
+ },
26
+ });
27
+ function casdoorAuth(user, setUser, sdkConfig, signinOrigin, signinPath) {
28
+ const sdk = new Sdk(sdkConfig);
29
+ return {
30
+ mode: "casdoor",
31
+ sdk,
32
+ login(redirect) {
33
+ location.href = sdk.getSigninUrl();
34
+ if (redirect) {
35
+ sessionStorage.setItem("login_redirect", redirect);
36
+ }
37
+ },
38
+ async callback() {
39
+ // sdk 的类型声明有误
40
+ const resp = (await sdk.signin(signinOrigin ?? location.origin, signinPath));
41
+ const token = resp.token;
42
+ if (!token) {
43
+ throw new Error("登录 API 返回了异常的结果:" + JSON.stringify(resp));
44
+ }
45
+ localStorage.setItem("access_token", token);
46
+ setUser({
47
+ accessToken: token,
48
+ get decodedAccessToken() {
49
+ return jwtDecode(token);
50
+ },
51
+ });
52
+ },
53
+ async validate() {
54
+ const token = user.accessToken;
55
+ if (!token) {
56
+ throw new Error("未登录!");
57
+ }
58
+ // sdk 的类型声明有误
59
+ const resp = (await sdk.getUserInfo(token));
60
+ if ("status" in resp) {
61
+ localStorage.removeItem("access_token");
62
+ setUser({});
63
+ throw new Error("登陆状态无效!");
64
+ }
65
+ else {
66
+ setUser({ ...user, userInfo: resp });
67
+ }
68
+ },
69
+ ...commonAuth(user, setUser),
70
+ ...user,
71
+ };
72
+ }
73
+ const localAuth = (user, setUser, loginPage, signinOrigin, signinPath) => ({
74
+ mode: "local",
75
+ login(redirect) {
76
+ location.href = loginPage;
77
+ if (redirect) {
78
+ sessionStorage.setItem("login_redirect", redirect);
79
+ }
80
+ },
81
+ async localLogin(username, password) {
82
+ const resp = await fetch(new URL(signinPath ?? "/api/signin", signinOrigin ?? location.origin), {
83
+ method: "post",
84
+ headers: { "Content-Type": "application/json" },
85
+ body: JSON.stringify({ username, password }),
86
+ });
87
+ if (resp.status !== 200) {
88
+ throw new Error("账号或密码错误!");
89
+ }
90
+ const json = await resp.json();
91
+ const token = json.token;
92
+ if (typeof token !== "string") {
93
+ throw new Error("登录 API 返回了异常的结果:" + JSON.stringify(json));
94
+ }
95
+ localStorage.setItem("access_token", token);
96
+ setUser({
97
+ accessToken: token,
98
+ get decodedAccessToken() {
99
+ return jwtDecode(token);
100
+ },
101
+ });
102
+ const redirect = sessionStorage.getItem("login_redirect");
103
+ sessionStorage.removeItem("login_redirect");
104
+ location.href = redirect ?? "/";
105
+ },
106
+ async callback() { },
107
+ async validate() {
108
+ const token = user.accessToken;
109
+ if (!token) {
110
+ throw new Error("未登录!");
111
+ }
112
+ const resp = await fetch(new URL("/api/userInfo", signinOrigin ?? location.origin), { headers: { Authorization: `Bearer ${token}` } });
113
+ try {
114
+ if (resp.status !== 200) {
115
+ throw new Error("登陆状态无效!");
116
+ }
117
+ const json = await resp.json();
118
+ if (!json.data) {
119
+ throw new Error("登陆状态无效!");
120
+ }
121
+ setUser({ ...user, userInfo: json.data });
122
+ }
123
+ catch (err) {
124
+ localStorage.removeItem("access_token");
125
+ setUser({});
126
+ throw err;
127
+ }
128
+ },
129
+ ...commonAuth(user, setUser),
130
+ ...user,
131
+ });
5
132
  const AuthContext = createContext(undefined);
6
133
  /**
7
134
  * 获取登录鉴权相关的工具函数和全局状态。必须在 {@linkcode AuthProvider} 内部才能使用。
@@ -43,69 +170,26 @@ export function AuthProvider(props) {
43
170
  }
44
171
  });
45
172
  const auth = useMemo(() => {
46
- const sdk = new Sdk(props.sdkConfig);
47
- return {
48
- sdk,
49
- login(redirect) {
50
- location.href = sdk.getSigninUrl();
51
- if (redirect) {
52
- sessionStorage.setItem("login_redirect", redirect);
53
- }
54
- },
55
- async callback() {
56
- // sdk 的类型声明有误
57
- const resp = (await sdk.signin(props.signinOrigin ?? location.origin, props.signinPath));
58
- const token = resp.token;
59
- if (!token) {
60
- throw new Error("登录 API 返回了异常的结果:" + JSON.stringify(resp));
61
- }
62
- localStorage.setItem("access_token", token);
63
- setUser({
64
- accessToken: token,
65
- get decodedAccessToken() {
66
- return jwtDecode(token);
67
- },
68
- });
69
- },
70
- async validate() {
71
- const token = user.accessToken;
72
- if (!token) {
73
- throw new Error("未登录!");
74
- }
75
- // sdk 的类型声明有误
76
- const resp = (await sdk.getUserInfo(token));
77
- if ("status" in resp) {
78
- localStorage.removeItem("access_token");
79
- setUser({});
80
- throw new Error("登陆状态无效!");
81
- }
82
- else {
83
- setUser({ ...user, userInfo: resp });
84
- }
85
- },
86
- logout(redirect) {
87
- localStorage.removeItem("access_token");
88
- setUser({});
89
- if (redirect) {
90
- location.href = redirect;
91
- }
92
- },
93
- async fetchWithAuth(resource, options) {
94
- const token = user.accessToken;
95
- if (!token) {
96
- throw new Error("未登录时无法使用 fetchWithAuth");
97
- }
98
- return await fetch(resource, {
99
- ...options,
100
- headers: {
101
- Authorization: `Bearer ${token}`,
102
- ...options?.headers,
103
- },
104
- });
105
- },
106
- ...user,
107
- };
108
- }, [props.sdkConfig, props.signinOrigin, props.signinPath, user]);
173
+ if ((props.mode ?? "casdoor") === "casdoor") {
174
+ if (!props.sdkConfig) {
175
+ throw new Error(`设置了 mode === "casdoor",却没有设置 sdkConfig!`);
176
+ }
177
+ return casdoorAuth(user, setUser, props.sdkConfig, props.signinOrigin, props.signinPath);
178
+ }
179
+ else {
180
+ if (!props.loginPage) {
181
+ throw new Error(`设置了 mode === "local",却没有设置 loginPage!`);
182
+ }
183
+ return localAuth(user, setUser, props.loginPage, props.signinOrigin, props.signinPath);
184
+ }
185
+ }, [
186
+ props.mode,
187
+ props.sdkConfig,
188
+ props.loginPage,
189
+ props.signinOrigin,
190
+ props.signinPath,
191
+ user,
192
+ ]);
109
193
  return (_jsx(AuthContext.Provider, { value: auth, children: props.children }));
110
194
  }
111
195
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/components/Auth.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AACxD,OAAO,GAAG,MAAM,gBAAgB,CAAC;AA2IjC,MAAM,WAAW,GAAG,aAAa,CAAmB,SAAS,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe,SAAS;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAuBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,WAAW,EAAE,KAAK;gBAClB,IAAI,kBAAkB;oBACpB,OAAO,SAAS,CAAqB,KAAK,CAAC,CAAC;gBAC9C,CAAC;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAO,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO;YACL,GAAG;YACH,KAAK,CAAC,QAAQ;gBACZ,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,QAAQ,EAAE,CAAC;oBACb,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YACD,KAAK,CAAC,QAAQ;gBACZ,cAAc;gBACd,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAC5B,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM,EACrC,KAAK,CAAC,UAAU,CACjB,CAAkC,CAAC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBAC5C,OAAO,CAAC;oBACN,WAAW,EAAE,KAAK;oBAClB,IAAI,kBAAkB;wBACpB,OAAO,SAAS,CAAqB,KAAK,CAAC,CAAC;oBAC9C,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,QAAQ;gBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;gBACD,cAAc;gBACd,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAEnB,CAAC;gBACxB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBACxC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,MAAM,CAAC,QAAQ;gBACb,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBACxC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACZ,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;gBACD,OAAO,MAAM,KAAK,CAAC,QAAQ,EAAE;oBAC3B,GAAG,OAAO;oBACV,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,GAAG,OAAO,EAAE,OAAO;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,GAAG,IAAI;SACR,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAClE,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YAAG,KAAK,CAAC,QAAQ,GAAwB,CAC3E,CAAC;AACJ,CAAC;AA2BD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,+BAA+B;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO;YAAE,OAAO;QAC/B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,iBAAiB;QACjB,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,SAAS,IAAI,WAAW,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC;IACnC,CAAC;AACH,CAAC;AAoBD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAC;IAC9C,+BAA+B;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO;YAAE,OAAO;QAC/B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACxB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,GAAG,QAAQ,IAAI,GAAG,CAAC;YAClC,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,iBAAiB;QACjB,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/components/Auth.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AACxD,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAqOjC,MAAM,UAAU,GAAG,CACjB,IAAU,EACV,OAA6B,EACiB,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,QAAQ,EAAE;YAC3B,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,WAAW,CAClB,IAAU,EACV,OAA6B,EAC7B,SAAoB,EACpB,YAAqB,EACrB,UAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,SAAS;QACf,GAAG;QACH,KAAK,CAAC,QAAiB;YACrB,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,cAAc;YACd,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAC5B,YAAY,IAAI,QAAQ,CAAC,MAAM,EAC/B,UAAU,CACX,CAAkC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC;gBACN,WAAW,EAAE,KAAK;gBAClB,IAAI,kBAAkB;oBACpB,OAAO,SAAS,CAAqB,KAAK,CAAC,CAAC;gBAC9C,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YACD,cAAc;YACd,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAEnB,CAAC;YACxB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBACxC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;QAC5B,GAAI,IAAoB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAChB,IAAU,EACV,OAA6B,EAC7B,SAAiB,EACjB,YAAqB,EACrB,UAAmB,EACR,EAAE,CAAC,CAAC;IACf,IAAI,EAAE,OAAO;IACb,KAAK,CAAC,QAAQ;QACZ,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,EACrE;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAC7C,CACF,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC;YACN,WAAW,EAAE,KAAK;YAClB,IAAI,kBAAkB;gBACpB,OAAO,SAAS,CAAqB,KAAK,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,GAAG,QAAQ,IAAI,GAAG,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,QAAQ,KAAI,CAAC;IACnB,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,IAAI,GAAG,CAAC,eAAe,EAAE,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,EACzD,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAClD,CAAC;QACF,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACxC,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;IAC5B,GAAI,IAAkB;CACvB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,aAAa,CAAmB,SAAS,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe,SAAS;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAkCD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,WAAW,EAAE,KAAK;gBAClB,IAAI,kBAAkB;oBACpB,OAAO,SAAS,CAAqB,KAAK,CAAC,CAAC;gBAC9C,CAAC;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAO,GAAG,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,WAAW,CAChB,IAAI,EACJ,OAAO,EACP,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,SAAS,CACd,IAAI,EACJ,OAAO,EACP,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,CACjB,CAAC;QACJ,CAAC;IACH,CAAC,EAAE;QACD,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,UAAU;QAChB,IAAI;KACL,CAAC,CAAC;IACH,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YAAG,KAAK,CAAC,QAAQ,GAAwB,CAC3E,CAAC;AACJ,CAAC;AA2BD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,+BAA+B;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO;YAAE,OAAO;QAC/B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,iBAAiB;QACjB,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,SAAS,IAAI,WAAW,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC;IACnC,CAAC;AACH,CAAC;AAoBD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAC;IAC9C,+BAA+B;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO;YAAE,OAAO;QAC/B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACxB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,GAAG,QAAQ,IAAI,GAAG,CAAC;YAClC,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,iBAAiB;QACjB,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ConfigProvider, theme } from "antd";
3
3
  import dayjs from "dayjs";
4
- import zhCN from "antd/locale/zh_CN";
4
+ import zhCN from "antd/es/locale/zh_CN";
5
5
  import "dayjs/locale/zh-cn";
6
6
  /**
7
7
  * 清鹏智能的公共 Ant Design 主题,会影响内部的所有 Ant Design 组件的样式。
@@ -1 +1 @@
1
- {"version":3,"file":"TsingrocTheme.js","sourceRoot":"","sources":["../../src/components/TsingrocTheme.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,oBAAoB,CAAC;AAS5B;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAyB;IAC9C,sBAAsB;IACtB,kDAAkD;IAClD,YAAY;IACZ,oeAAoe;IACpe,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,CACL,KAAC,cAAc,IACb,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACpE,KAAK,EAAE,KAAK,CAAC,IAAI;gBACf,CAAC,CAAC;oBACE,YAAY,EAAE,SAAS;oBACvB,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,SAAS;iBACxB;gBACH,CAAC,CAAC;oBACE,YAAY,EAAE,SAAS;oBACvB,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,SAAS;iBACxB;SACN,YAEA,KAAK,CAAC,QAAQ,GACA,CAClB,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"TsingrocTheme.js","sourceRoot":"","sources":["../../src/components/TsingrocTheme.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,oBAAoB,CAAC;AAS5B;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAyB;IAC9C,sBAAsB;IACtB,kDAAkD;IAClD,YAAY;IACZ,oeAAoe;IACpe,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,CACL,KAAC,cAAc,IACb,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACpE,KAAK,EAAE,KAAK,CAAC,IAAI;gBACf,CAAC,CAAC;oBACE,YAAY,EAAE,SAAS;oBACvB,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,SAAS;iBACxB;gBACH,CAAC,CAAC;oBACE,YAAY,EAAE,SAAS;oBACvB,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,SAAS;iBACxB;SACN,YAEA,KAAK,CAAC,QAAQ,GACA,CAClB,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Avatar, Button, Dropdown, theme, } from "antd";
3
3
  import { DownOutlined, LogoutOutlined, UpOutlined, UserOutlined, } from "@ant-design/icons";
4
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
- import { AuthCheck, AuthProvider, useAuth } from "./Auth";
4
+ import { AuthCheck, // eslint-disable-line @typescript-eslint/no-unused-vars
5
+ AuthProvider, useAuth, } from "./Auth";
6
6
  /**
7
7
  * 显示用户信息的按钮,点击弹出登出或跳转到账户页的菜单。
8
8
  * 该组件必须包裹在 {@linkcode AuthProvider} 内,并且经过 {@linkcode AuthCheck} 验证后,
@@ -16,24 +16,28 @@ function UserButton(props) {
16
16
  const { token } = theme.useToken();
17
17
  const auth = useAuth("UserButton");
18
18
  const userInfo = auth.userInfo;
19
- const { compact, layout = "sidebar", onOpenProfile = () => {
20
- const account = auth.accessToken === undefined
21
- ? undefined
22
- : { accessToken: auth.accessToken };
23
- location.href = auth.sdk.getMyProfileUrl(account, location.href);
24
- }, onLogout = () => {
19
+ const { compact, layout = "sidebar", onOpenProfile = auth.mode === "casdoor"
20
+ ? () => {
21
+ const account = auth.accessToken === undefined
22
+ ? undefined
23
+ : { accessToken: auth.accessToken };
24
+ location.href = auth.sdk.getMyProfileUrl(account, location.href);
25
+ }
26
+ : undefined, onLogout = () => {
25
27
  auth.logout();
26
28
  location.href = "/";
27
29
  }, dropdownProps, ...rest } = props;
28
30
  return (_jsx(Dropdown, { trigger: ["click"], placement: layout === "sidebar" ? "topLeft" : "bottomRight", ...dropdownProps, menu: {
29
31
  items: [
30
- {
31
- key: "profile",
32
- label: _jsx(_Fragment, { children: "\u8D26\u6237" }), // 如果使用字符串,在缩小时会被裁剪,即使宽度足够
33
- icon: _jsx(UserOutlined, {}),
34
- title: "", // 若不设置,在缩小时总是会显示工具提示,即使宽度足够
35
- onClick: onOpenProfile,
36
- },
32
+ onOpenProfile
33
+ ? {
34
+ key: "profile",
35
+ label: _jsx(_Fragment, { children: "\u8D26\u6237" }), // 如果使用字符串,在缩小时会被裁剪,即使宽度足够
36
+ icon: _jsx(UserOutlined, {}),
37
+ title: "", // 若不设置,在缩小时总是会显示工具提示,即使宽度足够
38
+ onClick: onOpenProfile,
39
+ }
40
+ : null,
37
41
  {
38
42
  key: "logout",
39
43
  icon: _jsx(LogoutOutlined, {}),
@@ -47,7 +51,7 @@ function UserButton(props) {
47
51
  minWidth: "100%",
48
52
  ...dropdownProps?.menu?.style,
49
53
  },
50
- }, children: _jsx(Button, { type: "text", icon: _jsx(Avatar, { alt: "\u5934\u50CF", src: userInfo?.picture, icon: _jsx(UserOutlined, {}) }), ...rest, styles: {
54
+ }, children: _jsx(Button, { type: "text", icon: _jsx(Avatar, { alt: "\u5934\u50CF", src: userInfo?.picture ?? undefined, icon: _jsx(UserOutlined, {}) }), ...rest, styles: {
51
55
  icon: {
52
56
  display: "inline-flex",
53
57
  alignItems: "center",
@@ -64,7 +68,10 @@ function UserButton(props) {
64
68
  paddingBlock: token.padding + token.paddingXS,
65
69
  }),
66
70
  ...rest.style,
67
- }, children: !compact && (_jsxs(_Fragment, { children: [_jsx("span", { style: { marginRight: token.marginXXS }, children: userInfo?.name ?? userInfo?.prefered_username ?? "平台用户" }), layout === "sidebar" ? _jsx(UpOutlined, {}) : _jsx(DownOutlined, {})] })) }) }));
71
+ }, children: !compact && (_jsxs(_Fragment, { children: [_jsx("span", { style: { marginRight: token.marginXXS }, children: userInfo?.name ??
72
+ userInfo?.prefered_username ??
73
+ auth.userInfo?.username ??
74
+ "平台用户" }), layout === "sidebar" ? _jsx(UpOutlined, {}) : _jsx(DownOutlined, {})] })) }) }));
68
75
  }
69
76
  export default UserButton;
70
77
  //# sourceMappingURL=UserButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserButton.js","sourceRoot":"","sources":["../../src/components/UserButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserButton.js","sourceRoot":"","sources":["../../src/components/UserButton.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { AuthProvider, type AuthProviderProps, AuthCheck, type AuthCheckProps, AuthCallback, type AuthCallbackProps, useAuth, } from "./components/Auth";
1
+ export { AuthProvider, type AuthProviderProps, AuthCheck, type AuthCheckProps, AuthCallback, type AuthCallbackProps, useAuth, type Auth, type CasdoorAuth, type LocalAuth, } from "./components/Auth";
2
2
  export { default as Calendar, type CalendarProps } from "./components/Calendar";
3
3
  export { default as CircularProgress, type CircularProgressProps, } from "./components/CircularProgress";
4
4
  export { default as Header, type HeaderProps } from "./components/Header";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,SAAS,EAET,YAAY,EAEZ,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,OAAO,IAAI,gBAAgB,GAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EACL,OAAO,IAAI,eAAe,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,cAAc,GAE1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,OAAO,IAAI,eAAe,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,cAAc,GAE1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,qBAAqB,GAGtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,oBAAoB,GAEhC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,OAAO,IAAI,gBAAgB,EAC3B,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,OAAO,IAAI,kBAAkB,GAE9B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,OAAO,IAAI,aAAa,GAEzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,OAAO,IAAI,UAAU,GAEtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,OAAO,IAAI,UAAU,GAGtB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,SAAS,EAET,YAAY,EAEZ,OAAO,GAIR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,OAAO,IAAI,gBAAgB,GAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EACL,OAAO,IAAI,eAAe,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,cAAc,GAE1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,OAAO,IAAI,eAAe,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,cAAc,GAE1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,qBAAqB,GAGtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,oBAAoB,GAEhC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,OAAO,IAAI,gBAAgB,EAC3B,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,OAAO,IAAI,kBAAkB,GAE9B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,OAAO,IAAI,aAAa,GAEzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,OAAO,IAAI,UAAU,GAEtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,OAAO,IAAI,UAAU,GAGtB,MAAM,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "@tsingroc/tsingroc-components",
3
- "version": "3.14.0",
3
+ "version": "4.0.0",
4
4
  "author": "",
5
5
  "license": "ISC",
6
6
  "description": "",
7
7
  "keywords": [],
8
8
  "type": "module",
9
9
  "main": "dist/index.js",
10
- "types": "dist/index.d.ts",
11
10
  "sideEffects": [
12
11
  "**/*.css"
13
12
  ],
@@ -17,7 +16,8 @@
17
16
  "./echarts/gl": "./dist/echarts/gl.js"
18
17
  },
19
18
  "files": [
20
- "dist"
19
+ "dist",
20
+ "src"
21
21
  ],
22
22
  "scripts": {
23
23
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -53,29 +53,29 @@
53
53
  "devDependencies": {
54
54
  "@ant-design/icons": "^6.0.0",
55
55
  "@eslint/js": "^9.21.0",
56
- "@rsbuild/core": "^1.3.21",
56
+ "@rsbuild/core": "^1.3.22",
57
57
  "@rsbuild/plugin-react": "^1.3.1",
58
58
  "@rspress/plugin-preview": "2.0.0-beta.2",
59
- "@types/node": "^22.15.21",
60
- "@types/react": "^18.3.22",
59
+ "@types/node": "^22.15.29",
60
+ "@types/react": "^18.3.23",
61
61
  "@types/react-dom": "^18.3.7",
62
- "antd": "^5.25.2",
62
+ "antd": "^5.25.4",
63
63
  "antd-style": "^3.7.1",
64
64
  "echarts": "^5.6.0",
65
65
  "echarts-for-react": "^3.0.2",
66
66
  "echarts-gl": "^2.0.9",
67
- "eslint": "^9.27.0",
67
+ "eslint": "^9.28.0",
68
68
  "eslint-plugin-react-hooks": "^5.2.0",
69
- "globals": "^16.1.0",
69
+ "globals": "^16.2.0",
70
70
  "prettier": "^3.5.3",
71
71
  "react": "^18.3.1",
72
72
  "react-dom": "^18.3.1",
73
73
  "react-markdown": "^10.1.0",
74
74
  "remark-gfm": "^4.0.1",
75
75
  "rspress": "2.0.0-beta.2",
76
- "typedoc": "^0.28.4",
76
+ "typedoc": "^0.28.5",
77
77
  "typescript": "^5.8.3",
78
- "typescript-eslint": "^8.32.1"
78
+ "typescript-eslint": "^8.33.0"
79
79
  },
80
80
  "prettier": {
81
81
  "trailingComma": "all"