This commit is contained in:
2026-05-22 13:33:13 +08:00
parent c504fca3de
commit 84c8752e0b
17 changed files with 361939 additions and 921 deletions

View File

@ -43,7 +43,7 @@ export const init = async (customConfig = {}) => {
const defaultConfig = {
container: document.querySelector('#renderDom'),
modelUrlList: [],
env: { envPath: 'https://sdk.zguiy.com/resurces/hdr/hdr.env', intensity: 1.2, rotationY: 0.3, background: false },
env: { envPath: 'https://cdn.files.zguiy.com/zt/environment.env', intensity: 1.2, rotationY: 0.3, background: false },
gizmo: {
position: false,
rotation: false,
@ -100,10 +100,9 @@ export const getAutoLoadModelList = async () => {
//获取放置区域
export const getPlacementZone = async (sku) => {
//pergolaSku 是需要在加载棚子的时取其引用传进来的sku则是配件的sku根据配件的sku来判断放置区域
const kernel = getKernel();
console.log(pergolaSku, sku);
let division_include = []
// 同时包含10和13
const only10_13 = /(?=.*10)(?=.*13)/.test(pergolaSku)
// 只包含10 无13 无12
@ -111,7 +110,6 @@ export const getPlacementZone = async (sku) => {
// 同时包含10和12
const only10_12 = /(?=.*10)(?=.*12)/.test(pergolaSku)
// 1. 只要字符串里包含 10就返回 true
const has10 = /10/.test(sku);
@ -121,33 +119,27 @@ export const getPlacementZone = async (sku) => {
// 2. 只要字符串里包含 12就返回 true
const has12 = /12/.test(sku);
//包含10不包含13
//棚子包含10不包含13 并且配件是10 说明是正方体 或者是10*20的
if (only10 && has10) {
console.log('棚子包含10不包含13 并且配件是10 说明是正方体 或者是10*20的');
division_include.push('前', '后', '左', '右', "前1", "后1", "前2", "后2")
}
//同时包10和13
//棚子同时包10和13的并且含配件是10
if (only10_13 && has10) {
console.log('棚子同时包10和13的并且含配件是10');
division_include.push('左', '右')
}
//同时包10和13
//棚子同时包10和13的并且含配件是13
if (only10_13 && has13) {
console.log('棚子同时包10和13的并且含配件是13');
division_include.push('前', '后')
}
//棚子同时包10和12的并且含配件是12
if (only10_12 && has12) {
console.log('棚子同时包10和12的并且含配件是12');
division_include.push('前', '后')
}
//棚子同时包10和12的并且含配件是10
if (only10_12 && has10) {
console.log('棚子同时包10和12的并且含配件是12');
division_include.push('左', '右')
}
const response = await fetch(apiConfig.getApiUrl(`/api/product-configs/by-sku/${sku}`));
const result = await response.json();
if (result.code === 200) {
@ -155,6 +147,7 @@ export const getPlacementZone = async (sku) => {
const { enable_placement_zone, wall_divisions } = result.data;
// const {position_x, position_y, position_z} = data;
if (enable_placement_zone && wall_divisions != undefined) {
console.log(wall_divisions);
const filteredDivisions = wall_divisions.filter(item => division_include.includes(item.name))
console.log(filteredDivisions);