diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/client/env.d.ts b/client/env.d.ts index 323c78a6..65d697c5 100644 --- a/client/env.d.ts +++ b/client/env.d.ts @@ -1,5 +1,9 @@ /// +interface ImportMetaEnv { + readonly VITE_PORTAL_SITE_CODE?: string +} + declare module '*.vue' { import type { DefineComponent } from 'vue' const component: DefineComponent<{}, {}, any> diff --git a/client/src/api/index.ts b/client/src/api/index.ts index c4d63a99..05554048 100644 --- a/client/src/api/index.ts +++ b/client/src/api/index.ts @@ -1,4 +1,5 @@ import request from '@/utils/request' +import { portalSiteQueryParams } from '@/config/portalSite' export const portalApi = { getCompanyInfo: () => request.get('/portal/company'), @@ -17,9 +18,12 @@ export const portalApi = { getCaseCategories: () => request.get('/portal/case/category'), getCases: (params?: any) => request.get('/portal/case', { params }), getCaseById: (id: number) => request.get(`/portal/case/${id}`), - getNewsCategories: () => request.get('/portal/news/category'), - getNewsList: (params?: any) => request.get('/portal/news', { params }), - getNewsById: (id: number) => request.get(`/portal/news/${id}`), + getNewsCategories: () => + request.get('/portal/news/category', { params: { ...portalSiteQueryParams() } }), + getNewsList: (params?: any) => + request.get('/portal/news', { params: { ...portalSiteQueryParams(), ...params } }), + getNewsById: (id: number) => + request.get(`/portal/news/${id}`, { params: { ...portalSiteQueryParams() } }), } export const adminApi = { @@ -85,11 +89,12 @@ export const adminApi = { addCaseCategory: (data: any) => request.post('/admin/case/category', data), deleteCaseCategory: (id: number) => request.delete(`/admin/case/category/${id}`), - getNewsList: (params?: any) => request.get('/admin/news', { params }), + getNewsList: (params?: any) => request.get('/admin/news', { params: { ...params } }), addNews: (data: any) => request.post('/admin/news', data), updateNews: (data: any) => request.put('/admin/news', data), deleteNews: (id: number) => request.delete(`/admin/news/${id}`), - getNewsCategories: () => request.get('/admin/news/category'), + getNewsCategories: (params?: any) => + request.get('/admin/news/category', { params: { ...params } }), addNewsCategory: (data: any) => request.post('/admin/news/category', data), deleteNewsCategory: (id: number) => request.delete(`/admin/news/category/${id}`), diff --git a/client/src/config/portalSite.ts b/client/src/config/portalSite.ts new file mode 100644 index 00000000..388a2c99 --- /dev/null +++ b/client/src/config/portalSite.ts @@ -0,0 +1,8 @@ +/** 前台新闻等接口按站点隔离;与后端 app.portal.allowed-site-codes 一致。不设则走后端默认 site-code。 */ +export function portalSiteQueryParams(): Record { + const code = import.meta.env.VITE_PORTAL_SITE_CODE as string | undefined + if (code && String(code).trim() !== '') { + return { siteCode: String(code).trim().toLowerCase() } + } + return {} +} diff --git a/client/src/views/admin/NewsPage.vue b/client/src/views/admin/NewsPage.vue index 2f5ac55b..d3d68eeb 100644 --- a/client/src/views/admin/NewsPage.vue +++ b/client/src/views/admin/NewsPage.vue @@ -2,10 +2,19 @@
+