diff --git a/frontend/.dockerignore b/frontend/.dockerignore
index b49257678..c6560b62e 100644
--- a/frontend/.dockerignore
+++ b/frontend/.dockerignore
@@ -12,3 +12,5 @@
**/dist/
**/yalc.lock
**/.gitignore
+**/providers/template/templates/
+**/providers/template/templates.json
diff --git a/frontend/desktop/src/services/enable.ts b/frontend/desktop/src/services/enable.ts
index e3f6383b1..ee720c142 100644
--- a/frontend/desktop/src/services/enable.ts
+++ b/frontend/desktop/src/services/enable.ts
@@ -11,7 +11,8 @@ export const enableApi = () => global.AppConfig.common.apiEnabled || false;
export const enableOAuth2 = () => global.AppConfig.desktop.auth.idp.oauth2?.enabled || false;
export const getTeamLimit = () => global.AppConfig.desktop.teamManagement?.maxTeamCount || 50;
-export const getTeamInviteLimit = () => global.AppConfig.desktop.teamManagement?.maxTeamMemberCount || 50;
+export const getTeamInviteLimit = () =>
+ global.AppConfig.desktop.teamManagement?.maxTeamMemberCount || 50;
export const getRegionUid = () => global.AppConfig.cloud.regionUID;
diff --git a/frontend/providers/applaunchpad/src/components/AppStatusTag/index.tsx b/frontend/providers/applaunchpad/src/components/AppStatusTag/index.tsx
index d300ebbc0..42434cdbd 100644
--- a/frontend/providers/applaunchpad/src/components/AppStatusTag/index.tsx
+++ b/frontend/providers/applaunchpad/src/components/AppStatusTag/index.tsx
@@ -27,10 +27,16 @@ const AppStatusTag = ({
fontSize={'xs'}
fontWeight={'bold'}
alignItems={'center'}
- w={'68px'}
+ minW={'68px'}
gap={'4px'}
>
-
+
{t(statusMap.label)}
);
diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/ConfigMapDetailModal.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/ConfigMapDetailModal.tsx
index 0b9887c2c..427b99f8d 100644
--- a/frontend/providers/applaunchpad/src/pages/app/detail/components/ConfigMapDetailModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/ConfigMapDetailModal.tsx
@@ -20,7 +20,7 @@ const ConfigMapDetailModal = ({
onClose: () => void;
}) => {
return (
-
+
{mountPath}
diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/DelModal.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/DelModal.tsx
index d0e07daf9..4ca89a74a 100644
--- a/frontend/providers/applaunchpad/src/pages/app/detail/components/DelModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/DelModal.tsx
@@ -53,7 +53,7 @@ const DelModal = ({
}, [appName, toast, t, onSuccess, onClose]);
return (
-
+
{t('Deletion warning')}
diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/LogsModal.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/LogsModal.tsx
index e0e823760..f32c54c23 100644
--- a/frontend/providers/applaunchpad/src/pages/app/detail/components/LogsModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/LogsModal.tsx
@@ -108,7 +108,7 @@ const LogsModal = ({
}, [appName, podName]);
return (
-
+
diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/MonitorModal.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/MonitorModal.tsx
index 656be317e..896473745 100644
--- a/frontend/providers/applaunchpad/src/pages/app/detail/components/MonitorModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/MonitorModal.tsx
@@ -30,7 +30,7 @@ const MonitorModal = ({ onClose, isOpen }: { isOpen: boolean; onClose: () => voi
const theme = useTheme();
return (
-
+
{t('Real-time Monitoring')}
diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/PodDetailModal.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/PodDetailModal.tsx
index 08ba839a6..b544e3ed6 100644
--- a/frontend/providers/applaunchpad/src/pages/app/detail/components/PodDetailModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/PodDetailModal.tsx
@@ -153,7 +153,7 @@ const Logs = ({
}, [events, onCloseAnalysesModel, onEndAnalyses, onOpenAnalyses, onStartAnalyses, toast]);
return (
-
+
@@ -314,7 +314,7 @@ const Logs = ({
{/* analyses modal */}
-
+
Pod {t('Intelligent Analysis')}
diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/PodFileModal.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/PodFileModal.tsx
index c015b42c8..c36b73de0 100644
--- a/frontend/providers/applaunchpad/src/pages/app/detail/components/PodFileModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/PodFileModal.tsx
@@ -303,7 +303,7 @@ const PodFile = ({
return (
<>
-
+
@@ -551,7 +551,7 @@ const PodFile = ({
-
+
diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/components/ConfigmapModal.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/components/ConfigmapModal.tsx
index 9c1646c21..c5ede83d5 100644
--- a/frontend/providers/applaunchpad/src/pages/app/edit/components/ConfigmapModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/edit/components/ConfigmapModal.tsx
@@ -57,7 +57,7 @@ const ConfigmapModal = ({
return (
<>
-
+
diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/components/CustomAccessModal.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/components/CustomAccessModal.tsx
index e8e4b3d45..98886794e 100644
--- a/frontend/providers/applaunchpad/src/pages/app/edit/components/CustomAccessModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/edit/components/CustomAccessModal.tsx
@@ -61,7 +61,7 @@ const CustomAccessModal = ({
return (
<>
-
+
{t('Custom Domain')}
diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/components/EditEnvs.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/components/EditEnvs.tsx
index f7bb12248..5529ed0ce 100644
--- a/frontend/providers/applaunchpad/src/pages/app/edit/components/EditEnvs.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/edit/components/EditEnvs.tsx
@@ -67,7 +67,7 @@ const EditEnvs = ({
}, [defaultEnv, inputVal, onClose, successCb]);
return (
-
+
{t('Edit Environment Variables')}
diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/components/ErrorModal.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/components/ErrorModal.tsx
index 9498ed8c1..ee9348e97 100644
--- a/frontend/providers/applaunchpad/src/pages/app/edit/components/ErrorModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/edit/components/ErrorModal.tsx
@@ -20,7 +20,7 @@ const ErrorModal = ({
onClose: () => void;
}) => {
return (
-
+
diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/components/StoreModal.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/components/StoreModal.tsx
index 48cce97ca..53a07a897 100644
--- a/frontend/providers/applaunchpad/src/pages/app/edit/components/StoreModal.tsx
+++ b/frontend/providers/applaunchpad/src/pages/app/edit/components/StoreModal.tsx
@@ -72,7 +72,7 @@ const StoreModal = ({
return (
<>
-
+
{textMap[type].title}
diff --git a/frontend/providers/template/src/pages/deploy/index.tsx b/frontend/providers/template/src/pages/deploy/index.tsx
index b418a488a..09ac5df00 100644
--- a/frontend/providers/template/src/pages/deploy/index.tsx
+++ b/frontend/providers/template/src/pages/deploy/index.tsx
@@ -11,7 +11,7 @@ import type { QueryType, YamlItemType } from '@/types';
import { ApplicationType, TemplateSourceType } from '@/types/app';
import { serviceSideProps } from '@/utils/i18n';
import { generateYamlList, parseTemplateString } from '@/utils/json-yaml';
-import { deepSearch, useCopyData } from '@/utils/tools';
+import { compareFirstLanguages, deepSearch, useCopyData } from '@/utils/tools';
import { Box, Flex, Icon, Text } from '@chakra-ui/react';
import { useQuery } from '@tanstack/react-query';
import JSYAML from 'js-yaml';
@@ -350,6 +350,15 @@ export default function EditApp({ appName }: { appName?: string }) {
}
export async function getServerSideProps(content: any) {
+ const local =
+ content?.req?.cookies?.NEXT_LOCALE ||
+ compareFirstLanguages(content?.req?.headers?.['accept-language'] || 'zh');
+
+ content?.res.setHeader(
+ 'Set-Cookie',
+ `NEXT_LOCALE=${local}; Max-Age=2592000; Secure; SameSite=None`
+ );
+
const appName = content?.query?.templateName || '';
return {
diff --git a/frontend/providers/workorder/public/locales/en/common.json b/frontend/providers/workorder/public/locales/en/common.json
index 1811debd7..023d72763 100644
--- a/frontend/providers/workorder/public/locales/en/common.json
+++ b/frontend/providers/workorder/public/locales/en/common.json
@@ -60,5 +60,6 @@
"Copy": "Copy",
"api is error": "api is error",
"region": "region",
- "userId": "userId"
-}
+ "userId": "userId",
+ "other": "other"
+}
\ No newline at end of file
diff --git a/frontend/providers/workorder/public/locales/zh/common.json b/frontend/providers/workorder/public/locales/zh/common.json
index f59b5f71c..e3f582018 100644
--- a/frontend/providers/workorder/public/locales/zh/common.json
+++ b/frontend/providers/workorder/public/locales/zh/common.json
@@ -60,5 +60,6 @@
"Copy": "复制",
"api is error": "api is error",
"region": "可用区",
- "userId": "用户ID"
-}
+ "userId": "用户ID",
+ "other": "其他"
+}
\ No newline at end of file
diff --git a/frontend/providers/workorder/src/constants/workorder.ts b/frontend/providers/workorder/src/constants/workorder.ts
index 581a58a4d..25cb92531 100644
--- a/frontend/providers/workorder/src/constants/workorder.ts
+++ b/frontend/providers/workorder/src/constants/workorder.ts
@@ -35,6 +35,10 @@ export const OrderTypeList: {
{
id: WorkOrderType.FunctionServer,
label: 'functionserver'
+ },
+ {
+ id: WorkOrderType.Other,
+ label: 'other'
}
];
diff --git a/frontend/providers/workorder/src/pages/api/ai/fastgpt.ts b/frontend/providers/workorder/src/pages/api/ai/fastgpt.ts
index 913a6581a..f686c905e 100644
--- a/frontend/providers/workorder/src/pages/api/ai/fastgpt.ts
+++ b/frontend/providers/workorder/src/pages/api/ai/fastgpt.ts
@@ -82,6 +82,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
res.write(value);
}
} catch (error) {
+ console.log(error);
res.end();
}
}
diff --git a/frontend/providers/workorder/src/pages/api/platform/feishu.ts b/frontend/providers/workorder/src/pages/api/platform/feishu.ts
index 91a23c28b..4e38d2330 100644
--- a/frontend/providers/workorder/src/pages/api/platform/feishu.ts
+++ b/frontend/providers/workorder/src/pages/api/platform/feishu.ts
@@ -1,5 +1,6 @@
import { verifyAccessToken } from '@/services/backend/auth';
import { jsonRes } from '@/services/backend/response';
+import { getRegionById } from '@/services/db/region';
import { updateOrder } from '@/services/db/workorder';
import { ApiResp } from '@/services/kubernet';
import { WorkOrderType } from '@/types/workorder';
@@ -28,6 +29,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
message: "'token is invaild'"
});
}
+ const regionInfo = await getRegionById(payload.regionUid || '');
const feishuUrl = process.env.ADMIN_FEISHU_URL;
const feishuCallBackUrl = process.env.ADMIN_FEISHU_CALLBACK_URL;
const title = switchToManual ? `工单:${orderId},请求人工处理` : '有新的工单,请立即查看';
@@ -48,7 +50,9 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
elements: [
{
tag: 'markdown',
- content: `**用户ID:** ${payload.userId}\n**可用区ID:** ${payload.regionUid}\n所属分类: ${type}\n描述信息: ${description}`
+ content: `**用户ID:** ${payload.userId}\n**可用区ID:** ${
+ regionInfo?.sealosRegionUid ? regionInfo.sealosRegionDomain : payload.regionUid
+ }\n所属分类: ${type}\n描述信息: ${description}`
},
{
tag: 'action',
diff --git a/frontend/providers/workorder/src/pages/workorder/detail/components/AppBaseInfo.tsx b/frontend/providers/workorder/src/pages/workorder/detail/components/AppBaseInfo.tsx
index fa1be8575..ede9d8888 100644
--- a/frontend/providers/workorder/src/pages/workorder/detail/components/AppBaseInfo.tsx
+++ b/frontend/providers/workorder/src/pages/workorder/detail/components/AppBaseInfo.tsx
@@ -82,14 +82,16 @@ const AppBaseInfo = ({ app }: { app: WorkOrderDB }) => {
mt="12px"
gap="12px"
py="16px"
- pl="16px"
+ px="16px"
borderRadius={'4px'}
bg="#F8FAFB"
>
{appendixs?.map((item) => (
{item.fileIcon}
- {item.fileName}
+
+ {item.fileName}
+