From 4a4c21d2580a0c674343f60ed712875cdddb0fc1 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Fri, 4 Aug 2023 11:54:44 +0800 Subject: [PATCH] feat: custom domain port --- frontend/providers/applaunchpad/.env.template | 1 + .../providers/applaunchpad/deploy/manifests/deploy.yaml.tmpl | 1 + frontend/providers/applaunchpad/src/pages/_app.tsx | 2 +- .../applaunchpad/src/pages/api/platform/getInitData.ts | 2 ++ .../src/pages/app/detail/components/AppMainInfo.tsx | 5 +++-- .../applaunchpad/src/pages/app/edit/components/Form.tsx | 3 ++- frontend/providers/applaunchpad/src/store/static.ts | 3 +++ 7 files changed, 13 insertions(+), 4 deletions(-) diff --git a/frontend/providers/applaunchpad/.env.template b/frontend/providers/applaunchpad/.env.template index 7a4cf131089..92b424a6c59 100644 --- a/frontend/providers/applaunchpad/.env.template +++ b/frontend/providers/applaunchpad/.env.template @@ -1,3 +1,4 @@ NEXT_PUBLIC_MOCK_USER= SEALOS_DOMAIN="cloud.sealos.io" +DOMAIN_PORT= FASTGPT_KEY= \ No newline at end of file diff --git a/frontend/providers/applaunchpad/deploy/manifests/deploy.yaml.tmpl b/frontend/providers/applaunchpad/deploy/manifests/deploy.yaml.tmpl index b2ad952a60d..3b2e4875466 100644 --- a/frontend/providers/applaunchpad/deploy/manifests/deploy.yaml.tmpl +++ b/frontend/providers/applaunchpad/deploy/manifests/deploy.yaml.tmpl @@ -45,6 +45,7 @@ spec: - env: - name: SEALOS_DOMAIN value: {{ .cloudDomain }} + - name: DOMAIN_PORT - name: INGRESS_SECRET value: {{ .ingressSecret }} - name: FASTGPT_KEY diff --git a/frontend/providers/applaunchpad/src/pages/_app.tsx b/frontend/providers/applaunchpad/src/pages/_app.tsx index ff85656a23a..ccdfcaa8bdc 100644 --- a/frontend/providers/applaunchpad/src/pages/_app.tsx +++ b/frontend/providers/applaunchpad/src/pages/_app.tsx @@ -77,7 +77,7 @@ const App = ({ Component, pageProps }: AppProps) => { NProgress.done(); return response; - }, [getUserSourcePrice, openConfirm]); + }, [getUserSourcePrice, initFormSliderList, openConfirm]); // add resize event useEffect(() => { diff --git a/frontend/providers/applaunchpad/src/pages/api/platform/getInitData.ts b/frontend/providers/applaunchpad/src/pages/api/platform/getInitData.ts index e613de68417..8fb204ff5c8 100644 --- a/frontend/providers/applaunchpad/src/pages/api/platform/getInitData.ts +++ b/frontend/providers/applaunchpad/src/pages/api/platform/getInitData.ts @@ -6,6 +6,7 @@ import { noGpuSliderKey } from '@/constants/app'; export type Response = { SEALOS_DOMAIN: string; + DOMAIN_PORT: string; INGRESS_SECRET: string; SHOW_EVENT_ANALYZE: boolean; FORM_SLIDER_LIST_CONFIG: FormSliderListType; @@ -40,6 +41,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) jsonRes(res, { data: { SEALOS_DOMAIN: process.env.SEALOS_DOMAIN || 'cloud.sealos.io', + DOMAIN_PORT: process.env.DOMAIN_PORT || '', INGRESS_SECRET: process.env.INGRESS_SECRET || 'wildcard-cert', SHOW_EVENT_ANALYZE: !!process.env.FASTGPT_KEY, FORM_SLIDER_LIST_CONFIG: global.FormSliderListConfig diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx index 8dc7bdd6d6e..2ac6c876994 100644 --- a/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx +++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx @@ -5,7 +5,7 @@ import PodLineChart from '@/components/PodLineChart'; import { printMemory, useCopyData } from '@/utils/tools'; import dayjs from 'dayjs'; import { getUserNamespace } from '@/utils/user'; -import { SEALOS_DOMAIN } from '@/store/static'; +import { SEALOS_DOMAIN, DOMAIN_PORT } from '@/store/static'; import MyIcon from '@/components/Icon'; import { MOCK_APP_DETAIL } from '@/mock/apps'; import { useTranslation } from 'next-i18next'; @@ -21,7 +21,8 @@ const AppMainInfo = ({ app = MOCK_APP_DETAIL }: { app: AppDetailType }) => { () => app.accessExternal.use ? `https://${ - app.accessExternal.selfDomain || `${app.accessExternal.outDomain}.${SEALOS_DOMAIN}` + app.accessExternal.selfDomain || + `${app.accessExternal.outDomain}.${SEALOS_DOMAIN}${DOMAIN_PORT}` }` : '', [app] diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/components/Form.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/components/Form.tsx index 8f06cbf66f8..9f6d741759d 100644 --- a/frontend/providers/applaunchpad/src/pages/app/edit/components/Form.tsx +++ b/frontend/providers/applaunchpad/src/pages/app/edit/components/Form.tsx @@ -26,7 +26,7 @@ import type { QueryType } from '@/types'; import type { AppEditType } from '@/types/app'; import { customAlphabet } from 'nanoid'; import { GpuAmountMarkList } from '@/constants/editApp'; -import { SEALOS_DOMAIN } from '@/store/static'; +import { DOMAIN_PORT, SEALOS_DOMAIN } from '@/store/static'; import { useTranslation } from 'next-i18next'; import { useGlobalStore } from '@/store/global'; @@ -785,6 +785,7 @@ const Form = ({ {getValues('accessExternal.outDomain')}.{SEALOS_DOMAIN} + {DOMAIN_PORT} diff --git a/frontend/providers/applaunchpad/src/store/static.ts b/frontend/providers/applaunchpad/src/store/static.ts index 357338962b4..7a87584e8f3 100644 --- a/frontend/providers/applaunchpad/src/store/static.ts +++ b/frontend/providers/applaunchpad/src/store/static.ts @@ -1,6 +1,7 @@ import { getInitData } from '@/api/platform'; export let SEALOS_DOMAIN = 'cloud.sealos.io'; +export let DOMAIN_PORT = ''; export let INGRESS_SECRET = 'wildcard-cert'; export let SHOW_EVENT_ANALYZE = false; @@ -8,11 +9,13 @@ export const loadInitData = async () => { try { const res = await getInitData(); SEALOS_DOMAIN = res.SEALOS_DOMAIN; + DOMAIN_PORT = res.DOMAIN_PORT; INGRESS_SECRET = res.INGRESS_SECRET; SHOW_EVENT_ANALYZE = res.SHOW_EVENT_ANALYZE; return { SEALOS_DOMAIN, + DOMAIN_PORT, INGRESS_SECRET, FORM_SLIDER_LIST_CONFIG: res.FORM_SLIDER_LIST_CONFIG };