@lark-apaas/miaoda-core 0.0.1-alpha.1
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/LICENSE +13 -0
- package/README.md +8 -0
- package/lib/apis/components/AppContainer.d.ts +1 -0
- package/lib/apis/components/AppContainer.js +2 -0
- package/lib/apis/components/ErrorRender.d.ts +1 -0
- package/lib/apis/components/ErrorRender.js +2 -0
- package/lib/apis/components/NotFoundRender.d.ts +1 -0
- package/lib/apis/components/NotFoundRender.js +2 -0
- package/lib/apis/components/SidebarNav.d.ts +1 -0
- package/lib/apis/components/SidebarNav.js +2 -0
- package/lib/apis/components/User.d.ts +1 -0
- package/lib/apis/components/User.js +1 -0
- package/lib/apis/components/Welcome.d.ts +1 -0
- package/lib/apis/components/Welcome.js +2 -0
- package/lib/apis/constants/img-resources/avatar.d.ts +11 -0
- package/lib/apis/constants/img-resources/avatar.js +12 -0
- package/lib/apis/constants/img-resources/banner.d.ts +24 -0
- package/lib/apis/constants/img-resources/banner.js +25 -0
- package/lib/apis/constants/img-resources/cover.d.ts +36 -0
- package/lib/apis/constants/img-resources/cover.js +37 -0
- package/lib/apis/dataloom.d.ts +1 -0
- package/lib/apis/dataloom.js +2 -0
- package/lib/apis/hooks/useAppInfo.d.ts +1 -0
- package/lib/apis/hooks/useAppInfo.js +1 -0
- package/lib/apis/hooks/useCurrentUserProfile.d.ts +1 -0
- package/lib/apis/hooks/useCurrentUserProfile.js +1 -0
- package/lib/apis/logger.d.ts +1 -0
- package/lib/apis/logger.js +1 -0
- package/lib/apis/tools/generateImage.d.ts +1 -0
- package/lib/apis/tools/generateImage.js +1 -0
- package/lib/apis/tools/generateTextStream.d.ts +1 -0
- package/lib/apis/tools/generateTextStream.js +1 -0
- package/lib/apis/tools/getAppInfo.d.ts +1 -0
- package/lib/apis/tools/getAppInfo.js +1 -0
- package/lib/apis/tools/getCurrentUserProfile.d.ts +1 -0
- package/lib/apis/tools/getCurrentUserProfile.js +1 -0
- package/lib/apis/tools/storage.d.ts +1 -0
- package/lib/apis/tools/storage.js +4 -0
- package/lib/apis/udt-types.d.ts +16 -0
- package/lib/apis/udt-types.js +0 -0
- package/lib/apis/utils/registerChinaMap.d.ts +1 -0
- package/lib/apis/utils/registerChinaMap.js +103319 -0
- package/lib/components/AppContainer/IframeBridge.d.ts +4 -0
- package/lib/components/AppContainer/IframeBridge.js +92 -0
- package/lib/components/AppContainer/LogInterceptor.d.ts +1 -0
- package/lib/components/AppContainer/LogInterceptor.js +44 -0
- package/lib/components/AppContainer/PageHoc.d.ts +4 -0
- package/lib/components/AppContainer/PageHoc.js +40 -0
- package/lib/components/AppContainer/api-proxy/core.d.ts +188 -0
- package/lib/components/AppContainer/api-proxy/core.js +290 -0
- package/lib/components/AppContainer/dayjsPlugins.d.ts +1 -0
- package/lib/components/AppContainer/dayjsPlugins.js +69 -0
- package/lib/components/AppContainer/index.d.ts +7 -0
- package/lib/components/AppContainer/index.js +65 -0
- package/lib/components/AppContainer/sonner.css +101 -0
- package/lib/components/AppContainer/sonner.d.ts +8 -0
- package/lib/components/AppContainer/sonner.js +26 -0
- package/lib/components/AppContainer/utils/api-panel.d.ts +11 -0
- package/lib/components/AppContainer/utils/api-panel.js +21 -0
- package/lib/components/AppContainer/utils/childApi.d.ts +5 -0
- package/lib/components/AppContainer/utils/childApi.js +26 -0
- package/lib/components/AppContainer/utils/listenHot.d.ts +1 -0
- package/lib/components/AppContainer/utils/listenHot.js +43 -0
- package/lib/components/ErrorRender/index.d.ts +5 -0
- package/lib/components/ErrorRender/index.js +79 -0
- package/lib/components/NotFoundRender/index.d.ts +3 -0
- package/lib/components/NotFoundRender/index.js +59 -0
- package/lib/components/SidebarNav/DrawerNav.d.ts +3 -0
- package/lib/components/SidebarNav/DrawerNav.js +64 -0
- package/lib/components/SidebarNav/DropdownNav.d.ts +3 -0
- package/lib/components/SidebarNav/DropdownNav.js +40 -0
- package/lib/components/SidebarNav/Sidebar.d.ts +3 -0
- package/lib/components/SidebarNav/Sidebar.js +33 -0
- package/lib/components/SidebarNav/index.d.ts +5 -0
- package/lib/components/SidebarNav/index.js +61 -0
- package/lib/components/User/UserDisplay.d.ts +9 -0
- package/lib/components/User/UserDisplay.js +39 -0
- package/lib/components/User/UserProfile/UserProfile.css +34 -0
- package/lib/components/User/UserProfile/UserProfile.d.ts +6 -0
- package/lib/components/User/UserProfile/UserProfile.js +41 -0
- package/lib/components/User/UserProfile/UserProfileContainer.d.ts +4 -0
- package/lib/components/User/UserProfile/UserProfileContainer.js +8 -0
- package/lib/components/User/UserProfile/UserProfileSkeleton.d.ts +3 -0
- package/lib/components/User/UserProfile/UserProfileSkeleton.js +36 -0
- package/lib/components/User/UserProfile/UserProfileUI.d.ts +8 -0
- package/lib/components/User/UserProfile/UserProfileUI.js +113 -0
- package/lib/components/User/UserProfile/index.d.ts +1 -0
- package/lib/components/User/UserProfile/index.js +2 -0
- package/lib/components/User/UserProfile/type.d.ts +8 -0
- package/lib/components/User/UserProfile/type.js +0 -0
- package/lib/components/User/UserProfile/utils.d.ts +5 -0
- package/lib/components/User/UserProfile/utils.js +26 -0
- package/lib/components/User/UserSelect.css +11 -0
- package/lib/components/User/UserSelect.d.ts +11 -0
- package/lib/components/User/UserSelect.js +172 -0
- package/lib/components/User/UserWithAvatar.d.ts +3 -0
- package/lib/components/User/UserWithAvatar.js +41 -0
- package/lib/components/User/index.d.ts +7 -0
- package/lib/components/User/index.js +5 -0
- package/lib/components/User/type.d.ts +13 -0
- package/lib/components/User/type.js +0 -0
- package/lib/components/Welcome/index.d.ts +3 -0
- package/lib/components/Welcome/index.js +17 -0
- package/lib/components/common/LogoInfo.d.ts +5 -0
- package/lib/components/common/LogoInfo.js +30 -0
- package/lib/components/common/NavItem.d.ts +20 -0
- package/lib/components/common/NavItem.js +112 -0
- package/lib/components/common/NavMenu.d.ts +9 -0
- package/lib/components/common/NavMenu.js +50 -0
- package/lib/components/common/UserAvatarLayout.d.ts +4 -0
- package/lib/components/common/UserAvatarLayout.js +41 -0
- package/lib/components/common/UserAvatarMenu.d.ts +4 -0
- package/lib/components/common/UserAvatarMenu.js +58 -0
- package/lib/components/common/index.d.ts +9 -0
- package/lib/components/common/index.js +10 -0
- package/lib/components/index.d.ts +8 -0
- package/lib/components/index.js +6 -0
- package/lib/components/theme/ThemeProvider.d.ts +20 -0
- package/lib/components/theme/ThemeProvider.js +75 -0
- package/lib/components/theme/constants.d.ts +48 -0
- package/lib/components/theme/constants.js +557 -0
- package/lib/components/theme/index.d.ts +4 -0
- package/lib/components/theme/index.js +5 -0
- package/lib/components/theme/miaoDarkTheme.d.ts +2 -0
- package/lib/components/theme/miaoDarkTheme.js +310 -0
- package/lib/components/theme/miaoLightTheme.d.ts +2 -0
- package/lib/components/theme/miaoLightTheme.js +296 -0
- package/lib/components/theme/ui-config.d.ts +1 -0
- package/lib/components/theme/ui-config.js +2 -0
- package/lib/components/theme/util.d.ts +20 -0
- package/lib/components/theme/util.js +188 -0
- package/lib/font-family.css +40 -0
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +5 -0
- package/lib/hooks/useAppInfo.d.ts +6 -0
- package/lib/hooks/useAppInfo.js +21 -0
- package/lib/hooks/useCurrentUserProfile.d.ts +12 -0
- package/lib/hooks/useCurrentUserProfile.js +58 -0
- package/lib/hooks/useIsMobile.d.ts +1 -0
- package/lib/hooks/useIsMobile.js +20 -0
- package/lib/hooks/useLogout.d.ts +4 -0
- package/lib/hooks/useLogout.js +37 -0
- package/lib/hooks/useTheme.d.ts +4 -0
- package/lib/hooks/useTheme.js +8 -0
- package/lib/hooks/useUpdatingRef.d.ts +1 -0
- package/lib/hooks/useUpdatingRef.js +7 -0
- package/lib/index.css +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -0
- package/lib/inspector.dev.css +10 -0
- package/lib/integrations/dataloom.d.ts +2 -0
- package/lib/integrations/dataloom.js +32 -0
- package/lib/integrations/generateImage.d.ts +1 -0
- package/lib/integrations/generateImage.js +47 -0
- package/lib/integrations/generateTextStream.d.ts +21 -0
- package/lib/integrations/generateTextStream.js +98 -0
- package/lib/integrations/getAppInfo.d.ts +2 -0
- package/lib/integrations/getAppInfo.js +14 -0
- package/lib/integrations/getCurrentUserProfile.d.ts +6 -0
- package/lib/integrations/getCurrentUserProfile.js +5 -0
- package/lib/logger/index.d.ts +6 -0
- package/lib/logger/index.js +54 -0
- package/lib/override.css +29 -0
- package/lib/tailwind-theme.css +335 -0
- package/lib/theme-layer.css +3 -0
- package/lib/types/common.d.ts +4 -0
- package/lib/types/common.js +0 -0
- package/lib/types/iframe-events.d.ts +55 -0
- package/lib/types/iframe-events.js +0 -0
- package/lib/types/index.d.ts +43 -0
- package/lib/types/index.js +0 -0
- package/lib/utils/copyToClipboard.d.ts +6 -0
- package/lib/utils/copyToClipboard.js +32 -0
- package/lib/utils/getAppId.d.ts +6 -0
- package/lib/utils/getAppId.js +11 -0
- package/lib/utils/getCsrfToken.d.ts +5 -0
- package/lib/utils/getCsrfToken.js +10 -0
- package/lib/utils/getEnvPath.d.ts +4 -0
- package/lib/utils/getEnvPath.js +4 -0
- package/lib/utils/getInitialInfo.d.ts +20 -0
- package/lib/utils/getInitialInfo.js +32 -0
- package/lib/utils/getParentOrigin.d.ts +5 -0
- package/lib/utils/getParentOrigin.js +7 -0
- package/lib/utils/getUserProfile.d.ts +47 -0
- package/lib/utils/getUserProfile.js +39 -0
- package/lib/utils/postMessage.d.ts +8 -0
- package/lib/utils/postMessage.js +11 -0
- package/lib/utils/url.d.ts +8 -0
- package/lib/utils/url.js +22 -0
- package/lib/utils/utils.d.ts +20 -0
- package/lib/utils/utils.js +22 -0
- package/package.json +134 -0
@@ -0,0 +1,98 @@
|
|
1
|
+
import { getAppId } from "../utils/getAppId.js";
|
2
|
+
import { getCsrfToken } from "../utils/getCsrfToken.js";
|
3
|
+
import { getEnvPath } from "../utils/getEnvPath.js";
|
4
|
+
import { isSparkRuntime } from "../utils/utils.js";
|
5
|
+
async function generateTextStream(options, onChunk) {
|
6
|
+
const { text, thinking_type = 'disabled', headers = {} } = options;
|
7
|
+
const appId = getAppId(window.location.pathname);
|
8
|
+
if (!appId) return {
|
9
|
+
content: '',
|
10
|
+
reasoning_content: '',
|
11
|
+
success: false,
|
12
|
+
error: 'appId is required'
|
13
|
+
};
|
14
|
+
try {
|
15
|
+
const mergedHeaders = {
|
16
|
+
'Content-Type': 'application/json',
|
17
|
+
...headers,
|
18
|
+
'X-Kunlun-Token': window.token,
|
19
|
+
'x-miaoda-token': window.MIAODA_BUILTIN_TTT,
|
20
|
+
'x-lgw-csrf-token': window.lgw_csrf_token,
|
21
|
+
...window.CSRF_HEADERS || {}
|
22
|
+
};
|
23
|
+
let response;
|
24
|
+
if (isSparkRuntime()) {
|
25
|
+
mergedHeaders['X-Suda-Csrf-Token'] = getCsrfToken();
|
26
|
+
response = await fetch(`${window.location.origin}/spark/b/${appId}/text/generate`, {
|
27
|
+
method: 'POST',
|
28
|
+
headers: mergedHeaders,
|
29
|
+
credentials: 'include',
|
30
|
+
body: JSON.stringify({
|
31
|
+
text,
|
32
|
+
thinking_type
|
33
|
+
})
|
34
|
+
});
|
35
|
+
} else response = await fetch(`${window.location.origin}/ai/api/${getEnvPath()}/v1/apps/${appId}/text/generate`, {
|
36
|
+
method: 'POST',
|
37
|
+
headers: mergedHeaders,
|
38
|
+
credentials: 'include',
|
39
|
+
body: JSON.stringify({
|
40
|
+
text,
|
41
|
+
thinking_type
|
42
|
+
})
|
43
|
+
});
|
44
|
+
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
|
45
|
+
const reader = response.body?.getReader();
|
46
|
+
if (!reader) throw new Error('无法获取响应流');
|
47
|
+
let fullContent = '';
|
48
|
+
let fullReasoningContent = '';
|
49
|
+
const decoder = new TextDecoder();
|
50
|
+
while(true){
|
51
|
+
const { done, value } = await reader.read();
|
52
|
+
if (done) break;
|
53
|
+
const chunk = decoder.decode(value, {
|
54
|
+
stream: true
|
55
|
+
});
|
56
|
+
const lines = chunk.split('\n').filter((line)=>line.trim());
|
57
|
+
for (const line of lines)if (line.startsWith('data: ')) {
|
58
|
+
const jsonStr = line.slice(6);
|
59
|
+
try {
|
60
|
+
const data = JSON.parse(jsonStr);
|
61
|
+
if (0 !== data.code) return {
|
62
|
+
content: '',
|
63
|
+
reasoning_content: '',
|
64
|
+
success: false,
|
65
|
+
error: data.msg || '生成失败'
|
66
|
+
};
|
67
|
+
if (data.data.content) fullContent += data.data.content;
|
68
|
+
if (data.data.reasoning_content) fullReasoningContent += data.data.reasoning_content;
|
69
|
+
if (onChunk) onChunk({
|
70
|
+
content: data.data.content || '',
|
71
|
+
reasoning_content: data.data.reasoning_content || '',
|
72
|
+
finished: data.finished
|
73
|
+
});
|
74
|
+
if (data.finished) return {
|
75
|
+
content: fullContent,
|
76
|
+
reasoning_content: fullReasoningContent,
|
77
|
+
success: true
|
78
|
+
};
|
79
|
+
} catch (parseError) {
|
80
|
+
console.error(`解析JSON失败: ${jsonStr}`);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
return {
|
85
|
+
content: fullContent,
|
86
|
+
reasoning_content: fullReasoningContent,
|
87
|
+
success: true
|
88
|
+
};
|
89
|
+
} catch (error) {
|
90
|
+
return {
|
91
|
+
content: '',
|
92
|
+
reasoning_content: '',
|
93
|
+
success: false,
|
94
|
+
error: error instanceof Error ? error.message : '未知错误'
|
95
|
+
};
|
96
|
+
}
|
97
|
+
}
|
98
|
+
export { generateTextStream };
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { getInitialInfo } from "../utils/getInitialInfo.js";
|
2
|
+
import { isSparkRuntime } from "../utils/utils.js";
|
3
|
+
async function getAppInfo() {
|
4
|
+
let appInfo = window._appInfo;
|
5
|
+
if (!appInfo && isSparkRuntime()) {
|
6
|
+
const info = (await getInitialInfo()).app_info;
|
7
|
+
appInfo = {
|
8
|
+
name: info?.app_name || '',
|
9
|
+
avatar: info?.app_avatar || ''
|
10
|
+
};
|
11
|
+
}
|
12
|
+
return appInfo ?? {};
|
13
|
+
}
|
14
|
+
export { getAppInfo };
|
@@ -0,0 +1,54 @@
|
|
1
|
+
const LOG_LEVELS = [
|
2
|
+
'debug',
|
3
|
+
'info',
|
4
|
+
'warn',
|
5
|
+
'error'
|
6
|
+
];
|
7
|
+
const defaultConfig = {
|
8
|
+
showLevel: false,
|
9
|
+
showTimestamp: false,
|
10
|
+
level: 'info',
|
11
|
+
prefix: ''
|
12
|
+
};
|
13
|
+
let config = {
|
14
|
+
...defaultConfig
|
15
|
+
};
|
16
|
+
function configureLogger(options) {
|
17
|
+
config = {
|
18
|
+
...defaultConfig,
|
19
|
+
...options
|
20
|
+
};
|
21
|
+
}
|
22
|
+
function getLogLevel() {
|
23
|
+
return config.level;
|
24
|
+
}
|
25
|
+
function shouldLog(level) {
|
26
|
+
return LOG_LEVELS.indexOf(level) >= LOG_LEVELS.indexOf(getLogLevel());
|
27
|
+
}
|
28
|
+
function getFormattedPrefix(level) {
|
29
|
+
const parts = [];
|
30
|
+
if (config.prefix) parts.push(`[${config.prefix}]`);
|
31
|
+
if (config.showLevel) parts.push(`[${level.toUpperCase()}]`);
|
32
|
+
return parts;
|
33
|
+
}
|
34
|
+
configureLogger({
|
35
|
+
showLevel: true,
|
36
|
+
showTimestamp: false,
|
37
|
+
level: 'development' === process.env.NODE_ENV ? 'debug' : 'error',
|
38
|
+
prefix: 'MiaoDa'
|
39
|
+
});
|
40
|
+
const logger = {
|
41
|
+
debug (message, ...args) {
|
42
|
+
if (shouldLog('debug')) console.log(...getFormattedPrefix('debug'), message, ...args);
|
43
|
+
},
|
44
|
+
info (message, ...args) {
|
45
|
+
if (shouldLog('info')) console.log(...getFormattedPrefix('info'), message, ...args);
|
46
|
+
},
|
47
|
+
warn (message, ...args) {
|
48
|
+
if (shouldLog('warn')) console.log(...getFormattedPrefix('warn'), message, ...args);
|
49
|
+
},
|
50
|
+
error (message, ...args) {
|
51
|
+
if (shouldLog('error')) console.error(...getFormattedPrefix('error'), message, ...args);
|
52
|
+
}
|
53
|
+
};
|
54
|
+
export { logger };
|
package/lib/override.css
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
.miao-top-nav {
|
2
|
+
& .ant-menu-overflow.ant-menu-horizontal > .ant-menu-item:after, & .ant-menu-overflow > .ant-menu.ant-menu-horizontal > .ant-menu-item:after, & .ant-menu-overflow.ant-menu-horizontal > .ant-menu-submenu:after, & .ant-menu-overflow > .ant-menu.ant-menu-horizontal > .ant-menu-submenu:after {
|
3
|
+
bottom: 1px !important;
|
4
|
+
}
|
5
|
+
}
|
6
|
+
|
7
|
+
.miao-nav {
|
8
|
+
& .ant-drawer-content-wrapper {
|
9
|
+
width: inherit !important;
|
10
|
+
}
|
11
|
+
|
12
|
+
&.ant-btn-color-default.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover {
|
13
|
+
color: inherit;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
.ant-btn .ant-btn-icon {
|
18
|
+
align-items: center;
|
19
|
+
display: inline-flex;
|
20
|
+
}
|
21
|
+
|
22
|
+
.ant-btn-icon {
|
23
|
+
vertical-align: -.125em;
|
24
|
+
}
|
25
|
+
|
26
|
+
.ant-menu .ant-menu-item, .ant-menu > .ant-menu .ant-menu-item, .ant-dropdown-menu .ant-dropdown-menu-item, .ant-dropdown-menu .ant-dropdown-submenu-title, .ant-menu .ant-menu-submenu-title, .ant-menu > .ant-menu .ant-menu-submenu-title {
|
27
|
+
color: inherit;
|
28
|
+
}
|
29
|
+
|
@@ -0,0 +1,335 @@
|
|
1
|
+
@import "@/inspector.dev.css";
|
2
|
+
|
3
|
+
@layer base {
|
4
|
+
:root {
|
5
|
+
--color-blue-50: #f0f4ff;
|
6
|
+
--color-blue-100: #e0e9ff;
|
7
|
+
--color-blue-200: #c2d4ff;
|
8
|
+
--color-blue-300: #94b4ff;
|
9
|
+
--color-blue-400: #7aa2ff;
|
10
|
+
--color-blue-500: #5083fb;
|
11
|
+
--color-blue-600: #336df4;
|
12
|
+
--color-blue-700: #1456f0;
|
13
|
+
--color-blue-800: #0442d2;
|
14
|
+
--color-blue-900: #002f9e;
|
15
|
+
--color-blue-950: #002270;
|
16
|
+
--color-pink-50: #fef0f8;
|
17
|
+
--color-pink-100: #fee2f2;
|
18
|
+
--color-pink-200: #f8c4e1;
|
19
|
+
--color-pink-300: #f598cc;
|
20
|
+
--color-pink-400: #eb78b8;
|
21
|
+
--color-pink-500: #df58a5;
|
22
|
+
--color-pink-600: #cc398c;
|
23
|
+
--color-pink-700: #b82879;
|
24
|
+
--color-pink-800: #9d1562;
|
25
|
+
--color-pink-900: #730744;
|
26
|
+
--color-pink-950: #550c35;
|
27
|
+
--color-neutral-00: #fff;
|
28
|
+
--color-neutral-50: #f5f6f7;
|
29
|
+
--color-neutral-100: #f2f3f5;
|
30
|
+
--color-neutral-200: #eff0f1;
|
31
|
+
--color-neutral-300: #dee0e3;
|
32
|
+
--color-neutral-400: #d0d3d6;
|
33
|
+
--color-neutral-500: #bbbfc4;
|
34
|
+
--color-neutral-600: #8f959e;
|
35
|
+
--color-neutral-650: #51565d;
|
36
|
+
--color-neutral-700: #646a73;
|
37
|
+
--color-neutral-800: #373c43;
|
38
|
+
--color-neutral-900: #2b2f36;
|
39
|
+
--color-neutral-950: #1f2329;
|
40
|
+
--color-neutral-1000: #000;
|
41
|
+
--color-green-50: #e4fae1;
|
42
|
+
--color-green-100: #d0f5ce;
|
43
|
+
--color-green-200: #95e599;
|
44
|
+
--color-green-300: #5cd168;
|
45
|
+
--color-green-400: #35bd4b;
|
46
|
+
--color-green-500: #32a645;
|
47
|
+
--color-green-600: #258832;
|
48
|
+
--color-green-700: #1a7526;
|
49
|
+
--color-green-800: #0b6017;
|
50
|
+
--color-green-900: #04430c;
|
51
|
+
--color-green-950: #022c07;
|
52
|
+
--color-indigo-50: #f2f3fd;
|
53
|
+
--color-indigo-100: #e9eafb;
|
54
|
+
--color-indigo-200: #cccff9;
|
55
|
+
--color-indigo-300: #abb0f2;
|
56
|
+
--color-indigo-400: #959bee;
|
57
|
+
--color-indigo-500: #757df0;
|
58
|
+
--color-indigo-600: #5b65f5;
|
59
|
+
--color-indigo-700: #4752e6;
|
60
|
+
--color-indigo-800: #333dcc;
|
61
|
+
--color-indigo-900: #1e27a4;
|
62
|
+
--color-indigo-950: #151b70;
|
63
|
+
--color-lime-50: #f2f8d3;
|
64
|
+
--color-lime-100: #e3f0a3;
|
65
|
+
--color-lime-200: #c8dd5f;
|
66
|
+
--color-lime-300: #a2c10b;
|
67
|
+
--color-lime-400: #91ad00;
|
68
|
+
--color-lime-500: #7b9207;
|
69
|
+
--color-lime-600: #6b7f06;
|
70
|
+
--color-lime-700: #5c6d08;
|
71
|
+
--color-lime-800: #4a5804;
|
72
|
+
--color-lime-900: #333d00;
|
73
|
+
--color-lime-950: #262e00;
|
74
|
+
--color-orange-50: #fff3e5;
|
75
|
+
--color-orange-100: #fee7cd;
|
76
|
+
--color-orange-200: #fec48b;
|
77
|
+
--color-orange-300: #ff9d4c;
|
78
|
+
--color-orange-400: #ff811a;
|
79
|
+
--color-orange-500: #ed6d0c;
|
80
|
+
--color-orange-600: #c25705;
|
81
|
+
--color-orange-700: #a44904;
|
82
|
+
--color-orange-800: #853a05;
|
83
|
+
--color-orange-900: #642b02;
|
84
|
+
--color-orange-950: #3b1a02;
|
85
|
+
--color-purple-50: #f5f0fe;
|
86
|
+
--color-purple-100: #efe6fe;
|
87
|
+
--color-purple-200: #dcc9fd;
|
88
|
+
--color-purple-300: #c8a9fc;
|
89
|
+
--color-purple-400: #b791fa;
|
90
|
+
--color-purple-500: #9f6ff1;
|
91
|
+
--color-purple-600: #8d55ed;
|
92
|
+
--color-purple-700: #7a35f0;
|
93
|
+
--color-purple-800: #611fd6;
|
94
|
+
--color-purple-900: #4811a6;
|
95
|
+
--color-purple-950: #2f0080;
|
96
|
+
--color-red-50: #fef0f0;
|
97
|
+
--color-red-100: #fee3e2;
|
98
|
+
--color-red-200: #fdc6c4;
|
99
|
+
--color-red-300: #f89e9b;
|
100
|
+
--color-red-400: #ff7570;
|
101
|
+
--color-red-500: #f54a45;
|
102
|
+
--color-red-600: #e22e28;
|
103
|
+
--color-red-700: #c02a26;
|
104
|
+
--color-red-800: #a11c17;
|
105
|
+
--color-red-900: #741915;
|
106
|
+
--color-red-950: #590603;
|
107
|
+
--color-amber-50: #ffffdb;
|
108
|
+
--color-amber-100: #fffca3;
|
109
|
+
--color-amber-200: #fff67a;
|
110
|
+
--color-amber-300: #fff258;
|
111
|
+
--color-amber-400: #ffe928;
|
112
|
+
--color-amber-500: #e5ce00;
|
113
|
+
--color-amber-600: #c2a800;
|
114
|
+
--color-amber-700: #8f7c00;
|
115
|
+
--color-amber-800: #5c4f00;
|
116
|
+
--color-amber-900: #423700;
|
117
|
+
--color-amber-950: #2c2502;
|
118
|
+
--color-teal-50: #e2f8f5;
|
119
|
+
--color-teal-100: #c4f2ec;
|
120
|
+
--color-teal-200: #6fe8d8;
|
121
|
+
--color-teal-300: #33d6c0;
|
122
|
+
--color-teal-400: #2dbeab;
|
123
|
+
--color-teal-500: #10a893;
|
124
|
+
--color-teal-600: #0f8575;
|
125
|
+
--color-teal-700: #067062;
|
126
|
+
--color-teal-800: #045d51;
|
127
|
+
--color-teal-900: #03443b;
|
128
|
+
--color-teal-950: #02312a;
|
129
|
+
--color-cyan-50: #e7f8fe;
|
130
|
+
--color-cyan-100: #caeffc;
|
131
|
+
--color-cyan-200: #97dcfc;
|
132
|
+
--color-cyan-300: #3ec3f7;
|
133
|
+
--color-cyan-400: #25b0e7;
|
134
|
+
--color-cyan-500: #1295ca;
|
135
|
+
--color-cyan-600: #047fb0;
|
136
|
+
--color-cyan-700: #076a94;
|
137
|
+
--color-cyan-800: #0f587a;
|
138
|
+
--color-cyan-900: #06415c;
|
139
|
+
--color-cyan-950: #072b3d;
|
140
|
+
--color-yellow-50: #fbf4df;
|
141
|
+
--color-yellow-100: #faedc2;
|
142
|
+
--color-yellow-200: #fcdf7e;
|
143
|
+
--color-yellow-300: #fad355;
|
144
|
+
--color-yellow-400: #ffc60a;
|
145
|
+
--color-yellow-500: #d99904;
|
146
|
+
--color-yellow-600: #ad7a03;
|
147
|
+
--color-yellow-700: #865b03;
|
148
|
+
--color-yellow-800: #6f4a01;
|
149
|
+
--color-yellow-900: #573601;
|
150
|
+
--color-yellow-950: #382201;
|
151
|
+
--color-violet-50: #fceefc;
|
152
|
+
--color-violet-100: #f9e2f9;
|
153
|
+
--color-violet-200: #f3c4f3;
|
154
|
+
--color-violet-300: #e59ce5;
|
155
|
+
--color-violet-400: #de81de;
|
156
|
+
--color-violet-500: #cf5ecf;
|
157
|
+
--color-violet-600: #bf3dbf;
|
158
|
+
--color-violet-700: #a630a6;
|
159
|
+
--color-violet-800: #872787;
|
160
|
+
--color-violet-900: #6a116a;
|
161
|
+
--color-violet-950: #520052;
|
162
|
+
--fontReverse: #fff;
|
163
|
+
--bgContentBase: #f8f9fa;
|
164
|
+
--bgMask: 0, 0, 0, .4;
|
165
|
+
--bgTextSelection: 20, 86, 240, .3;
|
166
|
+
--lineDividerDefault: 31, 35, 41, .15;
|
167
|
+
--lineDividerModule: 31, 35, 41, .15;
|
168
|
+
}
|
169
|
+
|
170
|
+
.dark {
|
171
|
+
--color-blue-50: #152340;
|
172
|
+
--color-blue-100: #173166;
|
173
|
+
--color-blue-200: #194294;
|
174
|
+
--color-blue-300: #2655b6;
|
175
|
+
--color-blue-400: #275fce;
|
176
|
+
--color-blue-500: #3370eb;
|
177
|
+
--color-blue-600: #4c88ff;
|
178
|
+
--color-blue-700: #75a4ff;
|
179
|
+
--color-blue-800: #8fb4ff;
|
180
|
+
--color-blue-900: #bdd2ff;
|
181
|
+
--color-blue-950: #bdd2ff;
|
182
|
+
--color-pink-50: #3a182b;
|
183
|
+
--color-pink-100: #591c3f;
|
184
|
+
--color-pink-200: #782b57;
|
185
|
+
--color-pink-300: #94386c;
|
186
|
+
--color-pink-400: #ab417d;
|
187
|
+
--color-pink-500: #c24a8e;
|
188
|
+
--color-pink-600: #db5ea4;
|
189
|
+
--color-pink-700: #ed77ba;
|
190
|
+
--color-pink-800: #fc94cf;
|
191
|
+
--color-pink-900: #ffc2e5;
|
192
|
+
--color-pink-950: #ffe0f2;
|
193
|
+
--color-neutral-00: #aaa;
|
194
|
+
--color-neutral-50: #1a1a1a;
|
195
|
+
--color-neutral-100: #292929;
|
196
|
+
--color-neutral-200: #373737;
|
197
|
+
--color-neutral-300: #434343;
|
198
|
+
--color-neutral-400: #505050;
|
199
|
+
--color-neutral-500: #5f5f5f;
|
200
|
+
--color-neutral-600: #757575;
|
201
|
+
--color-neutral-700: #a6a6a6;
|
202
|
+
--color-neutral-800: #e0e0e0;
|
203
|
+
--color-neutral-900: #e8e8e8;
|
204
|
+
--color-neutral-950: #ebebeb;
|
205
|
+
--color-neutral-1000: #fff;
|
206
|
+
--color-green-50: #022c07;
|
207
|
+
--color-green-100: #04430c;
|
208
|
+
--color-green-200: #0b6017;
|
209
|
+
--color-green-300: #1a7526;
|
210
|
+
--color-green-400: #258832;
|
211
|
+
--color-green-500: #32a645;
|
212
|
+
--color-green-600: #35bd4b;
|
213
|
+
--color-green-700: #5cd168;
|
214
|
+
--color-green-800: #95e599;
|
215
|
+
--color-green-900: #d0f5ce;
|
216
|
+
--color-green-950: #e4fae1;
|
217
|
+
--color-indigo-50: #1e204a;
|
218
|
+
--color-indigo-100: #2a2d69;
|
219
|
+
--color-indigo-200: #373d90;
|
220
|
+
--color-indigo-300: #474fb8;
|
221
|
+
--color-indigo-400: #515ad6;
|
222
|
+
--color-indigo-500: #5e68e8;
|
223
|
+
--color-indigo-600: #7b83f7;
|
224
|
+
--color-indigo-700: #9499f7;
|
225
|
+
--color-indigo-800: #aaaff8;
|
226
|
+
--color-indigo-900: #cdd0f9;
|
227
|
+
--color-indigo-950: #e7e9fe;
|
228
|
+
--color-lime-50: #212702;
|
229
|
+
--color-lime-100: #303804;
|
230
|
+
--color-lime-200: #404c06;
|
231
|
+
--color-lime-300: #53610a;
|
232
|
+
--color-lime-400: #5f700a;
|
233
|
+
--color-lime-500: #6b7f05;
|
234
|
+
--color-lime-600: #82990a;
|
235
|
+
--color-lime-700: #93af04;
|
236
|
+
--color-lime-800: #a6c313;
|
237
|
+
--color-lime-900: #c2e12d;
|
238
|
+
--color-lime-950: #e3f391;
|
239
|
+
--color-orange-50: #33210b;
|
240
|
+
--color-orange-100: #4a2b10;
|
241
|
+
--color-orange-200: #683a12;
|
242
|
+
--color-orange-300: #8a4a19;
|
243
|
+
--color-orange-400: #a15317;
|
244
|
+
--color-orange-500: #b85e1a;
|
245
|
+
--color-orange-600: #db7018;
|
246
|
+
--color-orange-700: #f3871b;
|
247
|
+
--color-orange-800: #f89e44;
|
248
|
+
--color-orange-900: #fec88b;
|
249
|
+
--color-orange-950: #fee7cd;
|
250
|
+
--color-purple-50: #2b194a;
|
251
|
+
--color-purple-100: #3f2073;
|
252
|
+
--color-purple-200: #5529a3;
|
253
|
+
--color-purple-300: #6c39c6;
|
254
|
+
--color-purple-400: #7c4ad4;
|
255
|
+
--color-purple-500: #8c55ec;
|
256
|
+
--color-purple-600: #a575fa;
|
257
|
+
--color-purple-700: #b88ffe;
|
258
|
+
--color-purple-800: #c5a3ff;
|
259
|
+
--color-purple-900: #dbc8fd;
|
260
|
+
--color-purple-950: #efe5ff;
|
261
|
+
--color-red-50: #590603;
|
262
|
+
--color-red-100: #741915;
|
263
|
+
--color-red-200: #a11c17;
|
264
|
+
--color-red-300: #c02a26;
|
265
|
+
--color-red-400: #e22e28;
|
266
|
+
--color-red-500: #f54a45;
|
267
|
+
--color-red-600: #ff7570;
|
268
|
+
--color-red-700: #f89e9b;
|
269
|
+
--color-red-800: #fdc6c4;
|
270
|
+
--color-red-900: #fee3e2;
|
271
|
+
--color-red-950: #fef0f0;
|
272
|
+
--color-amber-50: #29250a;
|
273
|
+
--color-amber-100: #38320c;
|
274
|
+
--color-amber-200: #574d01;
|
275
|
+
--color-amber-300: #7a6a01;
|
276
|
+
--color-amber-400: #9c8702;
|
277
|
+
--color-amber-500: #c9b218;
|
278
|
+
--color-amber-600: #e5cd17;
|
279
|
+
--color-amber-700: #f5df36;
|
280
|
+
--color-amber-800: #f7e663;
|
281
|
+
--color-amber-900: #faed7a;
|
282
|
+
--color-amber-950: #fff59e;
|
283
|
+
--color-teal-50: #132926;
|
284
|
+
--color-teal-100: #173b36;
|
285
|
+
--color-teal-200: #1d4e47;
|
286
|
+
--color-teal-300: #25665e;
|
287
|
+
--color-teal-400: #227369;
|
288
|
+
--color-teal-500: #198578;
|
289
|
+
--color-teal-600: #1fa18f;
|
290
|
+
--color-teal-700: #1ab7a1;
|
291
|
+
--color-teal-800: #17cfb5;
|
292
|
+
--color-teal-900: #65e7d5;
|
293
|
+
--color-teal-950: #b7f7ef;
|
294
|
+
--color-cyan-50: #152830;
|
295
|
+
--color-cyan-100: #103647;
|
296
|
+
--color-cyan-200: #164359;
|
297
|
+
--color-cyan-300: #135a78;
|
298
|
+
--color-cyan-400: #146c91;
|
299
|
+
--color-cyan-500: #1a7fab;
|
300
|
+
--color-cyan-600: #1099cc;
|
301
|
+
--color-cyan-700: #25b2e5;
|
302
|
+
--color-cyan-800: #51c3f0;
|
303
|
+
--color-cyan-900: #89dffe;
|
304
|
+
--color-cyan-950: #c7f0ff;
|
305
|
+
--color-yellow-50: #30250a;
|
306
|
+
--color-yellow-100: #473409;
|
307
|
+
--color-yellow-200: #63470f;
|
308
|
+
--color-yellow-300: #8a6419;
|
309
|
+
--color-yellow-400: #ad7d15;
|
310
|
+
--color-yellow-500: #d49b0b;
|
311
|
+
--color-yellow-600: #f0b622;
|
312
|
+
--color-yellow-700: #fbcb46;
|
313
|
+
--color-yellow-800: #fcd456;
|
314
|
+
--color-yellow-900: #ffde75;
|
315
|
+
--color-yellow-950: #ffeaa3;
|
316
|
+
--color-violet-50: #3b153b;
|
317
|
+
--color-violet-100: #541854;
|
318
|
+
--color-violet-200: #712871;
|
319
|
+
--color-violet-300: #8b378b;
|
320
|
+
--color-violet-400: #a43da4;
|
321
|
+
--color-violet-500: #b54ab5;
|
322
|
+
--color-violet-600: #d661d6;
|
323
|
+
--color-violet-700: #e17fe1;
|
324
|
+
--color-violet-800: #e99be9;
|
325
|
+
--color-violet-900: #f4c3f4;
|
326
|
+
--color-violet-950: #fcdffc;
|
327
|
+
--fontReverse: #000;
|
328
|
+
--bgContentBase: #121212;
|
329
|
+
--bgMask: 0, 0, 0, .6;
|
330
|
+
--bgTextSelection: 117, 164, 255, .3;
|
331
|
+
--lineDividerDefault: 207, 207, 207, .15;
|
332
|
+
--lineDividerModule: 0, 0, 0, 1;
|
333
|
+
}
|
334
|
+
}
|
335
|
+
|
File without changes
|
@@ -0,0 +1,55 @@
|
|
1
|
+
export interface IframeMessage<T = unknown> {
|
2
|
+
type: string;
|
3
|
+
data: T;
|
4
|
+
}
|
5
|
+
export interface PreviewReadyMessage extends IframeMessage<Record<string, never>> {
|
6
|
+
type: 'PreviewReady';
|
7
|
+
}
|
8
|
+
export interface ConsoleMessage extends IframeMessage<Record<string, any>> {
|
9
|
+
method: string;
|
10
|
+
type: 'Console';
|
11
|
+
}
|
12
|
+
export interface ChildLocationChangeMessage extends IframeMessage<any> {
|
13
|
+
type: 'ChildLocationChange';
|
14
|
+
}
|
15
|
+
export interface CreatePageMessage extends IframeMessage<string> {
|
16
|
+
type: 'CreatePage';
|
17
|
+
}
|
18
|
+
export interface RenderErrorMessage extends IframeMessage<any> {
|
19
|
+
type: 'RenderError';
|
20
|
+
location?: any;
|
21
|
+
}
|
22
|
+
export interface RenderErrorRepairMessage extends IframeMessage<any> {
|
23
|
+
type: 'RenderErrorRepair';
|
24
|
+
}
|
25
|
+
export interface PageScreenshotMessage extends IframeMessage<string> {
|
26
|
+
type: 'PageScreenshot';
|
27
|
+
}
|
28
|
+
export interface UpdateRoutesMessage extends IframeMessage<{
|
29
|
+
routes: any[];
|
30
|
+
}> {
|
31
|
+
type: 'UpdateRoutes';
|
32
|
+
}
|
33
|
+
/** 热更新消息 */
|
34
|
+
export interface HmrMessage extends IframeMessage<Record<string, never>> {
|
35
|
+
type: 'HmrMessage';
|
36
|
+
msg: {
|
37
|
+
type: 'hot' | 'errors';
|
38
|
+
data?: any;
|
39
|
+
};
|
40
|
+
}
|
41
|
+
export type OutgoingMessage = PreviewReadyMessage | HmrMessage | ConsoleMessage | ChildLocationChangeMessage | CreatePageMessage | RenderErrorMessage | RenderErrorRepairMessage | PageScreenshotMessage | UpdateRoutesMessage;
|
42
|
+
export interface GetRoutesMessage extends IframeMessage<Record<string, never>> {
|
43
|
+
type: 'GetRoutes';
|
44
|
+
}
|
45
|
+
export type IncomingMessage = GetRoutesMessage;
|
46
|
+
export interface ParentApi {
|
47
|
+
}
|
48
|
+
export interface ChildApi {
|
49
|
+
getRoutes: () => Promise<any[]>;
|
50
|
+
apiProxy: {
|
51
|
+
api: any;
|
52
|
+
getOpenApiJson: () => Promise<any>;
|
53
|
+
getLogJson: () => Promise<any>;
|
54
|
+
};
|
55
|
+
}
|
File without changes
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { type ComponentType } from 'react';
|
2
|
+
export type ITheme = 'dark' | 'light' | 'system';
|
3
|
+
export interface NavItemProps {
|
4
|
+
name: string;
|
5
|
+
to: string;
|
6
|
+
icon?: ComponentType<{
|
7
|
+
className?: string;
|
8
|
+
}>;
|
9
|
+
children?: NavItemProps[];
|
10
|
+
className?: string;
|
11
|
+
hasBadge?: boolean;
|
12
|
+
direction?: 'horizontal' | 'vertical';
|
13
|
+
onClick?: () => void;
|
14
|
+
hideActive?: boolean;
|
15
|
+
}
|
16
|
+
export interface BaseNavProps {
|
17
|
+
navList?: NavItemProps[];
|
18
|
+
className?: string;
|
19
|
+
activeClassName?: string;
|
20
|
+
}
|
21
|
+
export interface NavProps extends BaseNavProps {
|
22
|
+
/** 亮色主题下的主色 */
|
23
|
+
lightColorPrimary?: string;
|
24
|
+
/** 暗色主题下的主色 */
|
25
|
+
darkColorPrimary?: string;
|
26
|
+
/**
|
27
|
+
* 移动端导航栏 变体
|
28
|
+
*/
|
29
|
+
mobileVariant?: 'normal' | 'dropdown';
|
30
|
+
}
|
31
|
+
declare global {
|
32
|
+
interface Window {
|
33
|
+
token?: string;
|
34
|
+
lgw_csrf_token: string;
|
35
|
+
CSRF_HEADERS?: Record<string, string>;
|
36
|
+
MIAODA_BUILTIN_TTT?: string;
|
37
|
+
MIAODA_APP_ID?: string;
|
38
|
+
IS_MIAODA_PREVIEW?: boolean;
|
39
|
+
_IS_Spark_RUNTIME?: boolean;
|
40
|
+
_bucket_id?: string;
|
41
|
+
csrfToken?: string;
|
42
|
+
}
|
43
|
+
}
|
File without changes
|