chore: force category management to use real tenant APIs
This commit is contained in:
@@ -12,6 +12,9 @@ VITE_TENANT_ID=806357433394921472
|
|||||||
# 是否开启 Nitro Mock服务,true 为开启,false 为关闭
|
# 是否开启 Nitro Mock服务,true 为开启,false 为关闭
|
||||||
VITE_NITRO_MOCK=false
|
VITE_NITRO_MOCK=false
|
||||||
|
|
||||||
|
# 是否开启商品分类管理 mock(默认 false,分类管理强制走真实 API)
|
||||||
|
VITE_MOCK_PRODUCT_CATEGORY=false
|
||||||
|
|
||||||
# 是否打开 devtools,true 为打开,false 为关闭
|
# 是否打开 devtools,true 为打开,false 为关闭
|
||||||
VITE_DEVTOOLS=false
|
VITE_DEVTOOLS=false
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Mock 数据入口,仅在开发环境下使用
|
// Mock 数据入口,仅在开发环境下使用
|
||||||
// 门店模块已切换真实 TenantApi,此处仅保留其他业务的 mock。
|
// 门店模块与商品分类管理已切换真实 TenantApi,此处仅保留其他业务 mock。
|
||||||
import './product';
|
import './product';
|
||||||
import './product-extensions';
|
import './product-extensions';
|
||||||
|
|
||||||
console.warn('[Mock] 非门店模块 Mock 数据已启用');
|
console.warn('[Mock] 已启用非门店/非分类管理 Mock 数据(分类管理强制走真实 API)');
|
||||||
|
|||||||
@@ -150,6 +150,8 @@ const PRODUCT_SEEDS = [
|
|||||||
|
|
||||||
const storeMap = new Map<string, ProductExtensionStoreState>();
|
const storeMap = new Map<string, ProductExtensionStoreState>();
|
||||||
let idSeed = 10_000;
|
let idSeed = 10_000;
|
||||||
|
const ENABLE_PRODUCT_CATEGORY_MOCK =
|
||||||
|
import.meta.env.VITE_MOCK_PRODUCT_CATEGORY === 'true';
|
||||||
|
|
||||||
function parseUrlParams(url: string) {
|
function parseUrlParams(url: string) {
|
||||||
const parsed = new URL(url, 'http://localhost');
|
const parsed = new URL(url, 'http://localhost');
|
||||||
@@ -592,6 +594,8 @@ function ensureStoreState(storeId = '') {
|
|||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 分类管理与商品选择器默认走真实 TenantApi,需手动开启才启用 mock。
|
||||||
|
if (ENABLE_PRODUCT_CATEGORY_MOCK) {
|
||||||
Mock.mock(
|
Mock.mock(
|
||||||
/\/product\/category\/manage\/list(?:\?|$)/,
|
/\/product\/category\/manage\/list(?:\?|$)/,
|
||||||
'get',
|
'get',
|
||||||
@@ -639,7 +643,8 @@ Mock.mock(
|
|||||||
}
|
}
|
||||||
|
|
||||||
const currentSortMax =
|
const currentSortMax =
|
||||||
state.categories.reduce((max, item) => Math.max(max, item.sort), 0) + 1;
|
state.categories.reduce((max, item) => Math.max(max, item.sort), 0) +
|
||||||
|
1;
|
||||||
const existingIndex = state.categories.findIndex((item) => item.id === id);
|
const existingIndex = state.categories.findIndex((item) => item.id === id);
|
||||||
|
|
||||||
const next =
|
const next =
|
||||||
@@ -873,6 +878,7 @@ Mock.mock(
|
|||||||
return { code: 200, data: list };
|
return { code: 200, data: list };
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
Mock.mock(
|
Mock.mock(
|
||||||
/\/product\/spec\/list(?:\?|$)/,
|
/\/product\/spec\/list(?:\?|$)/,
|
||||||
|
|||||||
@@ -296,6 +296,8 @@ const PRODUCT_SEEDS: ProductSeed[] = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const productStoreMap = new Map<string, ProductStoreState>();
|
const productStoreMap = new Map<string, ProductStoreState>();
|
||||||
|
const ENABLE_PRODUCT_CATEGORY_MOCK =
|
||||||
|
import.meta.env.VITE_MOCK_PRODUCT_CATEGORY === 'true';
|
||||||
|
|
||||||
/** 解析 URL 查询参数。 */
|
/** 解析 URL 查询参数。 */
|
||||||
function parseUrlParams(url: string) {
|
function parseUrlParams(url: string) {
|
||||||
@@ -540,7 +542,8 @@ function resolveStatusByShelfMode(
|
|||||||
return fallback;
|
return fallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 获取商品分类。 */
|
/** 获取商品分类(默认走真实 TenantApi,需手动开启才启用 mock)。 */
|
||||||
|
if (ENABLE_PRODUCT_CATEGORY_MOCK) {
|
||||||
Mock.mock(
|
Mock.mock(
|
||||||
/\/product\/category\/list(?:\?|$)/,
|
/\/product\/category\/list(?:\?|$)/,
|
||||||
'get',
|
'get',
|
||||||
@@ -554,6 +557,7 @@ Mock.mock(
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/** 获取商品列表。 */
|
/** 获取商品列表。 */
|
||||||
Mock.mock(/\/product\/list(?:\?|$)/, 'get', (options: MockRequestOptions) => {
|
Mock.mock(/\/product\/list(?:\?|$)/, 'get', (options: MockRequestOptions) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user