diff --git a/app/api/get-category/route.js b/app/api/get-category/route.js index 6014f21..41abd85 100644 --- a/app/api/get-category/route.js +++ b/app/api/get-category/route.js @@ -1,6 +1,7 @@ import axios from 'axios'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; export async function GET(request) { try { @@ -13,7 +14,7 @@ export async function GET(request) { const response = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_category`, - { params: { pagetype, name } } + { params: { pagetype, name, site_name: JINGROW_SITE_NAME } } ); return Response.json(response.data, { status: response.status }); } catch (error) { diff --git a/app/api/get-component-data/route.js b/app/api/get-component-data/route.js index 5b1e11f..7c0ff90 100644 --- a/app/api/get-component-data/route.js +++ b/app/api/get-component-data/route.js @@ -3,6 +3,7 @@ import fs from 'fs'; import path from 'path'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; const PUBLIC_FILES_DIR = path.join(process.cwd(), 'public/files'); // 确保目录存在 @@ -48,7 +49,7 @@ export async function GET(request) { } const response = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_component_data`, - { params: { component_name } } + { params: { component_name, site_name: JINGROW_SITE_NAME } } ); let data = response.data.message?.data || {}; diff --git a/app/api/get-detailview-data/route.js b/app/api/get-detailview-data/route.js index 1bedd40..b75da31 100644 --- a/app/api/get-detailview-data/route.js +++ b/app/api/get-detailview-data/route.js @@ -1,6 +1,7 @@ import axios from 'axios'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; export async function GET(request) { try { @@ -12,7 +13,7 @@ export async function GET(request) { } const response = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_detailview_data`, - { params: { pagetype, slug } } + { params: { pagetype, slug, site_name: JINGROW_SITE_NAME } } ); const data = response.data.message?.data || {}; return Response.json({ data }); diff --git a/app/api/get-listview-data/route.js b/app/api/get-listview-data/route.js index d22d0aa..c08d05e 100644 --- a/app/api/get-listview-data/route.js +++ b/app/api/get-listview-data/route.js @@ -1,6 +1,7 @@ import axios from 'axios'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; export async function GET(request) { try { @@ -13,7 +14,7 @@ export async function GET(request) { } const response = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_listview_data`, - { params: { pagetype, category, count } } + { params: { pagetype, category, count, site_name: JINGROW_SITE_NAME } } ); const data = response.data.message?.data || []; return Response.json({ data }); diff --git a/app/api/get-menu/route.js b/app/api/get-menu/route.js index 0363538..0ae6361 100644 --- a/app/api/get-menu/route.js +++ b/app/api/get-menu/route.js @@ -1,6 +1,7 @@ import axios from 'axios'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; // 递归处理菜单层级,拼接完整 slug 路径 function buildMenuTree(items, parent = null, parentPath = "") { @@ -25,7 +26,8 @@ function buildMenuTree(items, parent = null, parentPath = "") { export async function GET(request) { try { const response = await axios.get( - `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_menu` + `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_menu`, + { params: { site_name: JINGROW_SITE_NAME } } ); const items = response.data.message?.data || []; const menuTree = buildMenuTree(items); diff --git a/app/api/get-page-data/route.js b/app/api/get-page-data/route.js index 0559425..edb3515 100644 --- a/app/api/get-page-data/route.js +++ b/app/api/get-page-data/route.js @@ -3,6 +3,7 @@ import fs from 'fs'; import path from 'path'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; const PUBLIC_FILES_DIR = path.join(process.cwd(), 'public/files'); if (!fs.existsSync(PUBLIC_FILES_DIR)) { @@ -64,7 +65,7 @@ export async function POST(request) { if (!Array.isArray(slug_list)) { return Response.json({ error: 'slug_list参数必须为数组' }, { status: 400 }); } - const params = { slug_list: JSON.stringify(slug_list), page }; + const params = { slug_list: JSON.stringify(slug_list), page, site_name: JINGROW_SITE_NAME }; if (page_size) params.page_size = page_size; const response = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_page_data`, diff --git a/app/api/send-email/route.js b/app/api/send-email/route.js index 5c126d6..a3b8b29 100644 --- a/app/api/send-email/route.js +++ b/app/api/send-email/route.js @@ -1,6 +1,7 @@ import axios from 'axios'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; export async function POST(request) { try { @@ -11,7 +12,7 @@ export async function POST(request) { } const response = await axios.post( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.send_email`, - { subject, content } + { subject, content, site_name: JINGROW_SITE_NAME } ); const message = response.data.message; if (message?.success) { diff --git a/public/sitemap.xml b/public/sitemap.xml index 0137865..1cbca47 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -7,277 +7,72 @@ 0.7 - http://192.168.2.200:3001/products/algae-extract/organic-water-soluble-and-non-toxic-food-pigment-extracted-and-processed-from-spirulina-platensis-spirulina-blue-spirulina-extract + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-4 weekly 0.7 - http://192.168.2.200:3001/products/ratio-extract/organic-bladderwrack-extract + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-1 weekly 0.7 - http://192.168.2.200:3001/products/fruit-powders + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-13 weekly 0.7 - http://192.168.2.200:3001/products/ratio-extract/organic-white-kidney-bean-extract + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-6 weekly 0.7 - http://192.168.2.200:3001/products/fruit-powders/test008 + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-7 weekly 0.7 - http://192.168.2.200:3001/products/mushroom-extracts/organic-organic-cordyceps-militaris-extract + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-2 weekly 0.7 - http://192.168.2.200:3001/products/fruit-powders/organic-best-price-organic-freeze-dried-organic-pure-goji-berry-powder + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-8 weekly 0.7 - http://192.168.2.200:3001/products/fruit-powders/organic-extract-natural-pigment-fruit-powder-organic-raspberry-powder-green-pure-powder-extract-powder-food-grade-organic + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-5 weekly 0.7 - http://192.168.2.200:3001/products/fruit-powders/test007 + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-10 weekly 0.7 - http://192.168.2.200:3001/products/vegetable-powders/organic-organic-super-green-powder-supply-food-gradevegetable-powder-wheatgrass-powder + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-3 weekly 0.7 - http://192.168.2.200:3001/news + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-12 weekly 0.7 - http://192.168.2.200:3001/products/vegetable-powders/organic-vegetable-powder-spinach-extract-powder-organic-pure-quality + http://192.168.2.200:3001/use-cases weekly 0.7 - http://192.168.2.200:3001/products/ratio-extract/organic-burdock-extract + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-11 weekly 0.7 - http://192.168.2.200:3001/products/algae-extract/test005 - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/organic-supply-food-grade-powder-best-price-organic-raspberry-powder-quality-food-grade-powder-100-pure-fruit-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/algae-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-organic-turkey-tail-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-organic-tremella-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/vegetable-powders/organic-good-quality-plant-extract-natural-pigment-vegetablepowder-freeze-dried-organic-pure-water-kale-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/ratio-extract/organic-schisandra-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/vegetable-powders/organic-vegetable-seasoning-powder-freeze-dried-organic-pure-quality-barley-grass-powde - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-organic-maitake-mushroom-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/organic-100-pure-fruit-powder-instant-filled-powder-mango-powder-freeze-dried-extract-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/algae-extract/sub-category - weekly - 0.7 - - - http://192.168.2.200:3001/products/ratio-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/vegetable-powders/organic-plant-extract-good-quality-beetroot-red-colour-powder-beetroot-juice-powder-beetroot-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-enoki-mushroom-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/organic-freeze-dried-organic-pure-good-quality-organic-strawberry-powder-extract-natural-pigment-fruit-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/algae-extract/Test003 - weekly - 0.7 - - - http://192.168.2.200:3001/project001 - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/organic-healthy-without-pesticide-residues-fruit-fiber-organic-super-freeze-dried-organic-pure-water-fruit-powder-organic-orange-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-organic-chaga-mushroom-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/algae-extract/test001 - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-oyster-mushroom-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/vegetable-powders - weekly - 0.7 - - - http://192.168.2.200:3001/products/algae-extract/organic-cbd-full-spectrum-pure-thc-free-high-quality-no-pesticide-residue-no-heavy-metal-residue-cbd-distillated-oil-refined-oil - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-chaga-mushroom-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/test006 - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-organic-lions-mane-mushroom-extract - weekly - 0.7 - - - http://192.168.2.200:3001/news/test-news - weekly - 0.7 - - - http://192.168.2.200:3001/products/ratio-extract/organic-ashwagandha-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/organic-organic-pure-quality-best-price-organic-supply-fruit-grade-powder-cranberry-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts - weekly - 0.7 - - - http://192.168.2.200:3001/products/ratio-extract/organic-tribulus-terrestris-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/algae-extract/test004 - weekly - 0.7 - - - http://192.168.2.200:3001/products/algae-extract/test002 - weekly - 0.7 - - - http://192.168.2.200:3001/about - weekly - 0.7 - - - http://192.168.2.200:3001/contact - weekly - 0.7 - - - http://192.168.2.200:3001/products/vegetable-powders/organic-best-price-organic-supply-vegetable-grade-powder-100pure-green-vegetable-powder - weekly - 0.7 - - - http://192.168.2.200:3001/page001 - weekly - 0.7 - - - http://192.168.2.200:3001/test1 - weekly - 0.7 - - - http://192.168.2.200:3001/products/mushroom-extracts/organic-snow-mushroom-extract - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/organic-fruit-fiber-organic-super-powder-organic-pure-quality-freeze-dried-extract-blueberry-powder - weekly - 0.7 - - - http://192.168.2.200:3001/products/fruit-powders/organic-organic-powder-extract-supply-food-grade-freeze-dried-pomegranate-extract-powder + http://192.168.2.200:3001/use-cases/ce-shi-biao-ti-9 weekly 0.7 diff --git a/utils/data.js b/utils/data.js index b278a89..50b373b 100644 --- a/utils/data.js +++ b/utils/data.js @@ -3,6 +3,7 @@ import fs from 'fs'; import path from 'path'; const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; +const JINGROW_SITE_NAME = process.env.JINGROW_SITE_NAME; const PUBLIC_FILES_DIR = path.join(process.cwd(), 'public/files'); if (!fs.existsSync(PUBLIC_FILES_DIR)) { @@ -120,7 +121,7 @@ export async function getPageData({ throw new Error('slug_list must be an array'); } - const params = { slug_list: JSON.stringify(slug_list), page }; + const params = { slug_list: JSON.stringify(slug_list), page, site_name: JINGROW_SITE_NAME }; if (page_size) params.page_size = page_size; const response = await axios.get( @@ -158,7 +159,8 @@ export async function getPageData({ export async function getAllSlugs() { try { const response = await axios.get( - `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_all_slugs` + `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_all_slugs`, + { params: { site_name: JINGROW_SITE_NAME } } ); const slugs = response.data.message?.data; if (!Array.isArray(slugs)) { @@ -188,7 +190,7 @@ export async function fetchComponentData(componentName) { const res = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_component_data`, { - params: { component_name: componentName }, + params: { component_name: componentName, site_name: JINGROW_SITE_NAME }, } ); return { data: res.data.message?.data || null }; @@ -209,7 +211,7 @@ export async function fetchComponentData(componentName) { export async function fetchListViewData({ pagetype, category, count }) { try { - const params = { pagetype }; + const params = { pagetype, site_name: JINGROW_SITE_NAME }; if (category) params.category = category; if (count !== undefined && count !== null) params.count = String(count); @@ -235,7 +237,7 @@ export async function fetchCategoryData({ pagetype, name }) { try { const res = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_category`, - { params: { pagetype, name } } + { params: { pagetype, name, site_name: JINGROW_SITE_NAME } } ); return { data: res.data.message?.data || null }; } catch (error) { @@ -254,7 +256,8 @@ export async function fetchCategoryData({ pagetype, name }) { export async function getMenuData() { try { const response = await axios.get( - `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_menu` + `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_menu`, + { params: { site_name: JINGROW_SITE_NAME } } ); const items = response.data.message?.data || []; // 递归组装菜单树 @@ -286,7 +289,7 @@ export async function getSiteSettings() { try { const res = await axios.get( `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_site_settings`, - { headers: get_jingrow_api_headers() } + { headers: get_jingrow_api_headers(), params: { site_name: JINGROW_SITE_NAME } } ); return res.data?.message?.data || { site_name: "Jsite" diff --git a/utils/siteSettings.js b/utils/siteSettings.js deleted file mode 100644 index 7fd567e..0000000 --- a/utils/siteSettings.js +++ /dev/null @@ -1,23 +0,0 @@ -export async function getSiteSettings() { - const JINGROW_SERVER_URL = process.env.JINGROW_SERVER_URL; - const apiKey = process.env.JINGROW_API_KEY; - const apiSecret = process.env.JINGROW_API_SECRET; - const url = `${JINGROW_SERVER_URL}/api/action/jsite.api.v1.get_site_settings`; - - try { - const controller = new AbortController(); - const timeout = setTimeout(() => controller.abort(), 3000); - const res = await fetch(url, { - signal: controller.signal, - headers: { - 'Authorization': `token ${apiKey}:${apiSecret}`, - 'Content-Type': 'application/json' - } - }); - clearTimeout(timeout); - const json = await res.json(); - return json.message?.data || {}; - } catch (e) { - return { site_name: "Jsite", mobile: "", tel: "", email: "" }; - } -} \ No newline at end of file