qinyan 1 year ago
parent
commit
ffd555f0d0

+ 5 - 5
package.json

@@ -16,10 +16,10 @@
   "dependencies": {
     "@linaria/core": "^4.1.1",
     "@queenjs-modules/auth": "^0.0.18",
-    "@queenjs-modules/queditor": "^0.0.10",
-    "@queenjs-modules/queentree": "^0.0.9",
-    "@queenjs-modules/queentree-explorer": "^0.0.3",
-    "@queenjs-modules/queentree-explorer-viewer": "^0.0.1",
+    "@queenjs-modules/queditor": "^0.0.12",
+    "@queenjs-modules/queentree": "^0.0.10",
+    "@queenjs-modules/queentree-explorer": "^0.0.6",
+    "@queenjs-modules/queentree-explorer-viewer": "^0.0.3",
     "@queenjs/components": "^0.0.5",
     "@queenjs/controllers": "^0.0.6",
     "@queenjs/icons": "^0.0.20",
@@ -48,7 +48,7 @@
     "proto.gl": "^1.0.0",
     "qrcode": "^1.5.1",
     "queen3d": "^0.0.85",
-    "queenjs": "^1.0.0-beta.69",
+    "queenjs": "^1.0.0-beta.73",
     "queentree": "^0.1.95-nocheck",
     "rimraf": "^3.0.2",
     "scp2": "^0.5.0",

+ 30 - 0
src/controller/MatController.ts

@@ -0,0 +1,30 @@
+export class MatController {
+  changeMatGroupIndex(key: string, matsGroup: MatsMatchComp) {
+    console.log("changeMatGroupIndex");
+  }
+
+  saveMatch() {
+    console.log(" saveMatch ");
+  }
+
+  findMatById(matId: string): any {
+    console.log(" findMatById ");
+  }
+
+  findProductById(productId: string): any {
+    console.log(" findProductById ");
+  }
+
+  switchGroupMatIndex(matsGroup: any, index: number) {
+    console.log(" switchGroupIndex ");
+  }
+
+  isGroupActive(matsGroup: MatsMatchComp): boolean {
+    return false;
+  }
+
+  switchGroup(matsGroup: MatsMatchComp) {
+    console.log("matsGroup: ", matsGroup);
+    //
+  }
+}

+ 3 - 4
src/dict/apis.ts

@@ -1,7 +1,6 @@
 // const baseURL = "https://www.3dqueen.cloud";
-// const baseURL = "http://192.168.110.180:8910";
-// const baseURL = "http://192.168.110.115:53931";
-const baseURL = "http://192.168.110.227:54879";
+const baseURL = "https://www.infish.cn";
+const localURL = "http://192.168.110.227:54879";
 
 const baseVersion = "/cloud/v1";
 const treeVersion = "/tree/v1";
@@ -22,7 +21,7 @@ const Dict_Apis = {
   promoteMesh: `${baseURL}${baseVersion}/meshpromote`,
   queentree: `${baseURL}${treeVersion}/assetcenter`,
   queenter: `${baseURL}${baseVersion}/queenmat`,
-  match: baseURL,
+  match: localURL,
 };
 
 export { Dict_Apis };

+ 4 - 9
src/modules/match/index.ts

@@ -1,32 +1,27 @@
-import { initExpViewer } from "@queenjs-modules/queentree-explorer-viewer";
 import { PageListController, UploadController } from "@queenjs/controllers";
 import { ModuleRoot } from "queenjs";
-import { matchAction } from "./module/actions/match";
-import { designAction } from "./module/actions/design";
-import { initAction } from "./module/actions/init";
+import { actions } from "./module/actions";
 import { helper } from "./module/helper";
 import { https } from "./module/http";
 import { designStore } from "./module/stores/design";
+import { Dict_Apis } from "@/dict/apis";
 
 export class MatchModule extends ModuleRoot {
   config = this.setConfig({});
   https = this.createHttps([https]);
   store = this.createStore(designStore);
   helper = this.createHelper(helper);
-  actions = this.createActions([initAction, matchAction, designAction]);
+  actions = this.createActions(actions);
 
   controls = {
     listCtrl: new PageListController(this.config?.httpConfig),
     uploader: new UploadController({
       httpConfig: {
-        baseURL: "https://www.infish.cn/tree/v1/assetcenter",
+        baseURL: Dict_Apis.queentree,
       },
       dir: "queentree",
     }),
   };
-  // modules = this.useModules({
-  //   expViewer: initExpViewer,
-  // });
 
   onReady() {
     this.controls.listCtrl.setCrudPrefix("/match/style");

+ 3 - 3
src/modules/match/module/actions/design.ts

@@ -1,4 +1,4 @@
-import { ScenePackageSource } from "@queenjs-modules/queditor/module/objects/scenePack";
+import { Pack } from "@queenjs-modules/queditor/objects";
 import { queenApi } from "queenjs";
 import { MatchModule } from "../..";
 
@@ -21,7 +21,7 @@ export const designAction = MatchModule.action({
     await this.https.updateStyle({ _id, matMatchs, prodMatchs, scenePack });
   },
 
-  async addDesign(values) {
+  async addDesign(values: IStyle) {
     const styleItem = { ...values };
 
     if (!styleItem.scenePack.source) {
@@ -29,7 +29,7 @@ export const designAction = MatchModule.action({
       return;
     }
 
-    const packSource: ScenePackageSource = styleItem.scenePack.source;
+    const packSource: Pack["source"] = styleItem.scenePack.source;
     const scenes = packSource.scenes || [];
 
     const prodCompMap = new Map();

+ 5 - 0
src/modules/match/module/actions/index.ts

@@ -0,0 +1,5 @@
+import { designAction } from "./design";
+import { mainAction } from "./main";
+import { matchAction } from "./match";
+
+export const actions = [mainAction, matchAction, designAction];

+ 0 - 3
src/modules/match/module/actions/init.ts

@@ -1,3 +0,0 @@
-import { MatchModule } from "../..";
-
-export const initAction = MatchModule.action("once", {});

+ 3 - 0
src/modules/match/module/actions/main.ts

@@ -0,0 +1,3 @@
+import { MatchModule } from "../..";
+
+export const mainAction = MatchModule.action({});

+ 13 - 31
src/modules/match/module/actions/match.ts

@@ -1,9 +1,14 @@
 import { queenApi } from "queenjs";
 import { MatchModule } from "../..";
+import { details } from "../stores/data";
 
 export const matchAction = MatchModule.action({
   async queryStyleDetail(id: string) {
-    const res = await this.https.getStyleDetail(id);
+    // const res = await this.https.getStyleDetail(id);
+    const res = {
+      result: details,
+    };
+    console.error("res: ", res);
     this.store.setDesignDetail(res.result);
   },
 
@@ -57,17 +62,19 @@ export const matchAction = MatchModule.action({
     this.store.addMatchCategory(group);
   },
 
-  async renameMatGroup() {
-    const res = await queenApi.showInput({
+  async renameMatGroup(matsGroup) {
+    const cusName = await queenApi.showInput({
       title: "重命名",
-      defaultValue: "***",
+      defaultValue: matsGroup.cusName || matsGroup.name,
     });
-    if (!res) return;
+    if (!cusName) return;
+    matsGroup.cusName = cusName;
+    // console.log(this.store.designDetail);
   },
 
   async clearMatGroup(matsGroup: MatsMatchComp) {
     matsGroup.matIds = [];
-    matsGroup.index = 0;
+    matsGroup.index = -1;
   },
   async lockMatGroup() {
     //
@@ -120,31 +127,6 @@ export const matchAction = MatchModule.action({
     //
   },
 
-  switchMatsGroup() {
-    // switchSceneProdComp.call(this, sceneProductId, compName);
-    // queditor.controls.queen3dCtrl.queen3d.
-  },
-
-  async switchMatsGroupIndex(matsGroup: MatsMatchComp, index: number) {
-    matsGroup.index = index;
-    this.actions.renderGroupMat(matsGroup, false);
-  },
-
-  renderGroupMat(matsGroup: MatsMatchComp, isCreate = true) {
-    // const targetPro = queditor.store.pack.products.find(
-    //   (p) => p.id == matsGroup.productId
-    // );
-    // const targetCom = targetPro?.components.find(
-    //   (c) => c.name == matsGroup.name
-    // );
-    // if (!targetCom) return;
-    // const mat = queditor.store.pack.mats.find(
-    //   (m: IMaterial) => m.id == matsGroup.matIds[matsGroup.index]
-    // );
-    // if (!mat) return;
-    // queditor.actions.updatePackProductCompMat(targetCom, mat, isCreate);
-  },
-
   async renameGroupMat(mat) {
     const name = await queenApi.showInput({
       title: "重命名",

+ 1 - 14
src/modules/match/module/helper.ts

@@ -1,16 +1,3 @@
 import { MatchModule } from "..";
 
-export const helper = MatchModule.helper({
-  findMatById(matId: string) {
-    // TODO use queditor source
-    const source = this.store.designDetail.scenePack.source;
-    return source?.mats?.find((element: IMaterial) => element.id == matId);
-  },
-  findProductById(productId: string) {
-    // todo use queditor source
-    const source = this.store.designDetail.scenePack.source;
-    return source?.products?.find(
-      (element: PackProduct) => element.id == productId
-    );
-  },
-});
+export const helper = MatchModule.helper({});

+ 4599 - 0
src/modules/match/module/stores/data.ts

@@ -0,0 +1,4599 @@
+export const packData = {
+  _id: "634fb293a94c14b431ea7eff",
+  userId: "000000000000000000000000",
+  ownerId: "000000000000000000000000",
+  assetType: "shoe",
+  name: "包装盒",
+  cusNum: "008",
+  createTime: "2022-10-19T08:17:23.722Z",
+  updateTime: "0001-01-01T00:00:00Z",
+  thumbnail: {
+    url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/thumbnail/jpg/1686627140446D1SUSW_微信图片_20230613112638 拷贝.jpg",
+    size: 1326248,
+  },
+  categories: [
+    "61dcf6de4b133be3f60fd6dd",
+    "61dcf7784b133be3f60fd6e0",
+    "622f2d0c91872b03261f0b60",
+    "62283be466671afbadc3691c",
+  ],
+  cusCategories: null,
+  taskId: "",
+  assetState: 200,
+  enable: null,
+  source: {
+    version: "1.0",
+    viewMode: "scene",
+    mats: [
+      {
+        id: "62a061fd9e58d40fea04856e",
+        thumbnail: {
+          url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/untitled.20.png",
+          size: 614499,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/480.jpg",
+            size: 263734,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/483.jpg",
+            size: 197902,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/481.jpg",
+            size: 197902,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/482.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fd9e58d40fea04856d",
+        thumbnail: {
+          url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/untitled.13.png",
+          size: 387400,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/450.jpg",
+            size: 263735,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/453.jpg",
+            size: 197902,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/451.jpg",
+            size: 197902,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/comm/materials/材质文件夹/452.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fd9e58d40fea048574",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/specialmat/62454c81cd23c798d0d20a09/1648709308949untitled.159.jpg",
+          size: 283026,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/specialmat/62454c81cd23c798d0d20a09/1648709316652New_Graph_basecolor.jpg",
+            size: 263735,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/mat/62454c81cd23c798d0d20a09/New_Graph_roughness.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/mat/62454c81cd23c798d0d20a09/New_Graph_metallic.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fe9e58d40fea048593",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379629808k9AEwD_untitled.jpg",
+          size: 60365,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379645450YpwRis_24.jpg",
+            size: 263734,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379645867uHbDOD_New_Graph_roughness.jpg",
+            size: 263732,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379646046Q4F6WW_New_Graph_metallic.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/165337964568482rDBR_New_Graph_normal.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fe9e58d40fea048596",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379709764twk2jP_untitled.jpg",
+          size: 59744,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16533797760765xcNGI_27.jpg",
+            size: 263734,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379777226m989Dj_New_Graph_roughness.jpg",
+            size: 263732,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16533797775289dXTtb_New_Graph_metallic.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379776389xew6pm_New_Graph_normal.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660124208275d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660124252868fGm0FO_New_Graph_basecolor.png",
+          size: 33093,
+        },
+        uv: {
+          scale: 0.7,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660124253219f8Af7r_New_Graph_basecolor.png",
+            size: 33093,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660124259231xgovWK_New_Graph_roughness.png",
+            size: 3947987,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660124253313nWnxNy_New_Graph_metallic.png",
+            size: 4550112,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660124255802hQe0bK_New_Graph_normal.png",
+            size: 6186023,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1659948226176d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1659948310279nwJmme_1.jpg",
+          size: 906867,
+        },
+        uv: {
+          scale: 3.5,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1659948311239TeEtvq_1.jpg",
+            size: 906867,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1659948312342XgpCh1_New_Graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1659948311969aQXDnN_New_Graph_metallic.jpg",
+            size: 56698,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/165994831206341J7Nv_New_Graph_normal.jpg",
+            size: 298101,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "6225e14c66671afbadc368b4",
+        name: "5",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1646650155514bVHv6M_Substance_graph_basecolor.jpg",
+          size: 1612981,
+        },
+        uv: {
+          scale: 3.4,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1646650155514bVHv6M_Substance_graph_basecolor.jpg",
+            size: 1612981,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1646650162946DbmHN5_Substance_graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1646650157740x9GONb_Substance_graph_normal.jpg",
+            size: 1153541,
+          },
+          factor: null,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62272aee66671afbadc368e2",
+        name: "22",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1646734556237D7l0Q3_Substance_graph_basecolor.jpg",
+          size: 2809918,
+        },
+        uv: {
+          scale: 2.4,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1646734556237D7l0Q3_Substance_graph_basecolor.jpg",
+            size: 2809918,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1646734561383wU6Gxe_Substance_graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16467345590910yILHt_Substance_graph_normal.jpg",
+            size: 1190802,
+          },
+          factor: null,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660206206063d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660206254407YtS5S0_New_Graph_basecolor.png",
+          size: 6314613,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16602062581679BqMpR_New_Graph_basecolor.png",
+            size: 6314613,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660206265119pM6ZhI_New_Graph_roughness.png",
+            size: 770008,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660206261658QW2ZrO_New_Graph_metallic.png",
+            size: 933754,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16602062623111k5Y2L_New_Graph_normal.png",
+            size: 4851892,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660115170140d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660115229012yeyBoZ_New_Graph_basecolor.png",
+          size: 18778889,
+        },
+        uv: {
+          scale: -4,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660115247722CFvxKT_New_Graph_basecolor.png",
+            size: 18778889,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660115271754BiqtOK_New_Graph_roughness.png",
+            size: 6713735,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660115262291wVSNw7_New_Graph_metallic.png",
+            size: 6658982,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16601152660057fmGvi_New_Graph_normal.png",
+            size: 10351434,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660033696593d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660102787962gWlK8C_New_Graph_basecolor.png",
+          size: 19064407,
+        },
+        uv: {
+          scale: -4.5,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660102764638QgDd5B_New_Graph_basecolor.png",
+            size: 19064407,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660102784254lhmG6N_New_Graph_roughness.png",
+            size: 6713735,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660102775075o9m2as_New_Graph_metallic.png",
+            size: 6658982,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16601027786934P7wkH_New_Graph_normal.png",
+            size: 10351434,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62ecdcb9e5aaeff20480f6ba",
+        name: "qe",
+        cusNum: "qe",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16597001983809Q03sQ_19.jpg",
+          size: 390083,
+        },
+        uv: {
+          scale: 2.8,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16597001983809Q03sQ_19.jpg",
+            size: 390083,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1659690204364B7un31_New_Graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1659690211647TUlj3T_New_Graph_metallic.jpg",
+            size: 50446,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1659690198561Cjnxpy_New_Graph_normal.jpg",
+            size: 264041,
+          },
+          factor: null,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "622f151f91872b03261f0b45",
+        name: "456",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16472532703465UTUVy_Substance_graph_basecolor.jpg",
+          size: 1597675,
+        },
+        uv: {
+          scale: 2,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16472532703465UTUVy_Substance_graph_basecolor.jpg",
+            size: 1597675,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1647253282389NwXD9K_Substance_graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1647253272792ZGGLMa_Substance_graph_normal.jpg",
+            size: 570304,
+          },
+          factor: null,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "625fc10bac0a052f57cc5155",
+        name: "dd-c40-wm-灰色",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1650442521248jAIsX2_Substance_graph_basecolor.jpg",
+          size: 2213113,
+        },
+        uv: {
+          scale: 2,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1650442521248jAIsX2_Substance_graph_basecolor.jpg",
+            size: 2213113,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1650442526465ZYneAb_Substance_graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1650442528292l9MNjr_Substance_graph_metallic.jpg",
+            size: 50446,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1650442524055js4hPg_Substance_graph_normal.jpg",
+            size: 1642574,
+          },
+          factor: null,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62305b7191872b03261f0b9e",
+        name: "31",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1647336818414y0rcsx_Substance_graph_basecolor.jpg",
+          size: 797959,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1647336818414y0rcsx_Substance_graph_basecolor.jpg",
+            size: 797959,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1647336824109ouRV83_Substance_graph_roughness.jpg",
+            size: 50445,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1647336821512EnYjEN_Substance_graph_normal.jpg",
+            size: 567475,
+          },
+          factor: null,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fd9e58d40fea048576",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/specialmat/62454e04cd23c798d0d20a0b/1648709716865untitled.161.jpg",
+          size: 270580,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/specialmat/62454e04cd23c798d0d20a0b/1648709721065New_Graph_basecolor.jpg",
+            size: 263733,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/mat/62454e04cd23c798d0d20a0b/New_Graph_roughness.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/mat/62454e04cd23c798d0d20a0b/New_Graph_metallic.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fe9e58d40fea04858a",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379259619KHjU8a_untitled.jpg",
+          size: 60308,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379219439Sroa1D_15.jpg",
+            size: 263733,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379219814qnogFX_New_Graph_roughness.jpg",
+            size: 263732,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379219962fPnS8w_New_Graph_metallic.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379219637aiqyJv_New_Graph_normal.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061ff9e58d40fea048599",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653618284513CmfQuP_untitled.jpg",
+          size: 45841,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: false,
+          texture: null,
+          color: [1, 1, 1],
+        },
+        roughness: {
+          useTexture: false,
+          texture: null,
+          factor: 0.1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16546708186952Eokip_玻璃粗糙2.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1654670817854YpfDKe_New_Graph_normal.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16546708194507PTxqU_玻璃粗糙2.jpg",
+            size: 263733,
+          },
+          factor: 0.1,
+          enable: true,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061ff9e58d40fea0485a4",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653622236581cXolbt_untitled.jpg",
+          size: 53286,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16546701189343wv75c_7.jpg",
+            size: 263735,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1654670119653TpWX8K_塑料粗糙.jpg",
+            size: 263732,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1654670120553vwLFTE_橡胶3.jpg",
+            size: 263732,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/165467011951151Poki_New_Graph_normal.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1654670120584CTDl70_塑料粗糙.jpg",
+            size: 263732,
+          },
+          factor: 0.2,
+          enable: true,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fd9e58d40fea04857a",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/specialmat/62455fe0cd23c798d0d20a11/1648714303105untitled.165.jpg",
+          size: 275471,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 0.9372549019607843, 0.8352941176470589],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62a061fe9e58d40fea048598",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379867932GcaffN_untitled.jpg",
+          size: 61119,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379826400CGIbnx_29.jpg",
+            size: 263734,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379827184KOAr2t_New_Graph_roughness.jpg",
+            size: 263732,
+          },
+          factor: null,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379827333sDfYw6_New_Graph_metallic.jpg",
+            size: 263733,
+          },
+          factor: null,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1653379826671G5V438_New_Graph_normal.jpg",
+            size: 263734,
+          },
+          factor: null,
+          flipY: false,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: null,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660552848853d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660553016591GVW3ev_New_Graph_basecolor.png",
+          size: 18907012,
+        },
+        uv: {
+          scale: 1.5,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660552944214Xsw35f_New_Graph_basecolor.png",
+            size: 18907012,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660552958353GxtENy_New_Graph_roughness.png",
+            size: 7753608,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660552950283PKix02_New_Graph_metallic.png",
+            size: 7652960,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660552953854nX3306_New_Graph_normal.png",
+            size: 13367357,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "62ecd06fe5aaeff20480f6a4",
+        name: "qe",
+        cusNum: "qe",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16596995457837wgvOf_New_Graph_basecolor.jpg",
+          size: 358540,
+        },
+        uv: {
+          scale: 2.2,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16596995457837wgvOf_New_Graph_basecolor.jpg",
+            size: 358540,
+          },
+          color: null,
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/16596870569588pm84r_New_Graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1659687064736pklx6g_New_Graph_metallic.jpg",
+            size: 50446,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1659687052260FUEjr1_New_Graph_normal.jpg",
+            size: 264041,
+          },
+          factor: null,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        specular: {
+          useTexture: null,
+          texture: null,
+          color: null,
+        },
+        gloss: {
+          useTexture: null,
+          texture: null,
+          factor: 0,
+        },
+        version: 1,
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660206646181d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660206686873BBrVKl_New_Graph_basecolor.png",
+          size: 6105358,
+        },
+        uv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660206690615KYCnpO_New_Graph_basecolor.png",
+            size: 6105358,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16602066976799b33IL_New_Graph_roughness.png",
+            size: 770008,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660206694274sA7xcO_New_Graph_metallic.png",
+            size: 933754,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660206694835kbylyr_New_Graph_normal.png",
+            size: 4851892,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660557719780d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660557898053r7xv90_New_Graph_basecolor.png",
+          size: 18554806,
+        },
+        uv: {
+          scale: 1.5,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660557892879GxBv2Y_New_Graph_basecolor.png",
+            size: 18554806,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660557786199IVQ6Qu_New_Graph_roughness.png",
+            size: 7753608,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16605577789251w43It_New_Graph_metallic.png",
+            size: 7652960,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1660557780823qsXshx_New_Graph_normal.png",
+            size: 13367357,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat-1660012837908d",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1660012964942teYYKZ_12.jpg",
+          size: 997685,
+        },
+        uv: {
+          scale: 4.3,
+          rotate: 0,
+          offsetX: 0,
+          offsetY: 0,
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1660012965807DMndPW_12.jpg",
+            size: 997685,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        roughness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1660012967529wT8K9o_New_Graph_roughness.jpg",
+            size: 50446,
+          },
+          factor: 1,
+        },
+        metalness: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1660012966882efLVbO_New_Graph_metallic.jpg",
+            size: 50446,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1660012967125xh4LI4_New_Graph_normal.jpg",
+            size: 561584,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: null,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0.509803950786591, 0.474509835243225, 0.474509835243225],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        type: "meta",
+        uvMap: "box",
+      },
+      {
+        id: "mat_1686647187173_0",
+        name: "66",
+        cusNum: "66",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686647188475QmJArh_Ndq76A.jpg",
+          size: 1117670,
+        },
+        uv: {
+          scale: 3.05,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        cusUv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        diamond: {
+          scaleY: 1,
+          scaleX: 1,
+          brightness: 1,
+          color: [0.4, 0.4, 0.4],
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686647191790bdQITm_ncg97A.jpg",
+            size: 1117670,
+          },
+          color: [0.5, 0.5, 0.5],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.4,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.23,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1686647188749fMII7F_WysjqO.png",
+            size: 9370217,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0, 1, 0],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 1, 1],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        type: "meta",
+        uvMap: "box",
+        classType: "pbr",
+        userData: [
+          [
+            {
+              Key: "Key",
+              Value: "wechat",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "63a54beaf0da1470d5a833a0",
+            },
+            {
+              Key: "Key",
+              Value: "_id",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value:
+                "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1644914732578lrpLhl_logo2.jpg",
+            },
+            {
+              Key: "Key",
+              Value: "avatar",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: null,
+            },
+            {
+              Key: "Key",
+              Value: "cameras",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "city",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "desc",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "updateTime",
+            },
+            {
+              Key: "Value",
+              Value: "0001-01-01T00:00:00Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "createTime",
+            },
+            {
+              Key: "Value",
+              Value: "2022-12-23T06:34:18.14Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "lastLogin",
+            },
+            {
+              Key: "Value",
+              Value: "2023-06-13T07:01:56.612Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "loginName",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+            {
+              Key: "Key",
+              Value: "name",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+            {
+              Key: "Key",
+              Value: "phone",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "userType",
+            },
+            {
+              Key: "Value",
+              Value: 2,
+            },
+          ],
+        ],
+      },
+      {
+        id: "mat_1686646460922_0",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686646461896KOA6rl_Y7Vg8P.jpg",
+          size: 418358,
+        },
+        uv: {
+          scale: 2.78,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        cusUv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        diamond: {
+          scaleY: 1,
+          scaleX: 1,
+          brightness: 1,
+          color: [0.4, 0.4, 0.4],
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686646463388Kh7lrn_RntZvu.jpg",
+            size: 418358,
+          },
+          color: [0.5, 0.5, 0.5],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.74,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1686646462360XPEVfy_M4SPfU.png",
+            size: 4281365,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0, 1, 0],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 1, 1],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        type: "meta",
+        uvMap: "box",
+        classType: "pbr",
+        userData: [
+          [
+            {
+              Key: "Key",
+              Value: "_id",
+            },
+            {
+              Key: "Value",
+              Value: "63a54beaf0da1470d5a833a0",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "avatar",
+            },
+            {
+              Key: "Value",
+              Value:
+                "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1644914732578lrpLhl_logo2.jpg",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "cameras",
+            },
+            {
+              Key: "Value",
+              Value: null,
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "city",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "createTime",
+            },
+            {
+              Key: "Value",
+              Value: "2022-12-23T06:34:18.14Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "desc",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "lastLogin",
+            },
+            {
+              Key: "Value",
+              Value: "2023-06-13T07:01:56.612Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "loginName",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "name",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "phone",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "updateTime",
+            },
+            {
+              Key: "Value",
+              Value: "0001-01-01T00:00:00Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "userType",
+            },
+            {
+              Key: "Value",
+              Value: 2,
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "wechat",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+        ],
+      },
+      {
+        id: "mat_1686646460922_1",
+        name: "22",
+        cusNum: "22",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686646463593txIyFX_DXWclP.jpg",
+          size: 408967,
+        },
+        uv: {
+          scale: 2,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        cusUv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        diamond: {
+          scaleY: 1,
+          scaleX: 1,
+          brightness: 1,
+          color: [0.4, 0.4, 0.4],
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686646465183JvgfcF_cUTI4u.jpg",
+            size: 408967,
+          },
+          color: [0.5, 0.5, 0.5],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16866464638034jJdZ9_PPgKSi.png",
+            size: 4281365,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0, 1, 0],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 1, 1],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        type: "meta",
+        uvMap: "box",
+        classType: "pbr",
+        userData: [
+          [
+            {
+              Key: "Key",
+              Value: "_id",
+            },
+            {
+              Key: "Value",
+              Value: "63a54beaf0da1470d5a833a0",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value:
+                "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1644914732578lrpLhl_logo2.jpg",
+            },
+            {
+              Key: "Key",
+              Value: "avatar",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "",
+            },
+            {
+              Key: "Key",
+              Value: "wechat",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "lastLogin",
+            },
+            {
+              Key: "Value",
+              Value: "2023-06-13T07:01:56.612Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "loginName",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+            {
+              Key: "Key",
+              Value: "name",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "phone",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: null,
+            },
+            {
+              Key: "Key",
+              Value: "cameras",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "city",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "createTime",
+            },
+            {
+              Key: "Value",
+              Value: "2022-12-23T06:34:18.14Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "desc",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "updateTime",
+            },
+            {
+              Key: "Value",
+              Value: "0001-01-01T00:00:00Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "userType",
+            },
+            {
+              Key: "Value",
+              Value: 2,
+            },
+          ],
+        ],
+      },
+      {
+        id: "mat_1686642169427_0",
+        name: "格子",
+        cusNum: "02",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686642170270Jao50D_DA81Mc.jpg",
+          size: 426582,
+        },
+        uv: {
+          scale: 3.56,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        cusUv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        diamond: {
+          scaleY: 1,
+          scaleX: 1,
+          brightness: 1,
+          color: [0.4, 0.4, 0.4],
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686642172220RgK2ba_chS4Q9.jpg",
+            size: 426582,
+          },
+          color: [0.5, 0.5, 0.5],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16866421707297EtTwv_FFejqv.png",
+            size: 5185783,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0, 1, 0],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 1, 1],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        type: "meta",
+        uvMap: "box",
+        classType: "pbr",
+        userData: [
+          [
+            {
+              Key: "Key",
+              Value: "updateTime",
+            },
+            {
+              Key: "Value",
+              Value: "0001-01-01T00:00:00Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "wechat",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "avatar",
+            },
+            {
+              Key: "Value",
+              Value:
+                "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1644914732578lrpLhl_logo2.jpg",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "cameras",
+            },
+            {
+              Key: "Value",
+              Value: null,
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "desc",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "2023-06-13T07:01:56.612Z",
+            },
+            {
+              Key: "Key",
+              Value: "lastLogin",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "name",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "phone",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "userType",
+            },
+            {
+              Key: "Value",
+              Value: 2,
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "_id",
+            },
+            {
+              Key: "Value",
+              Value: "63a54beaf0da1470d5a833a0",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "city",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "createTime",
+            },
+            {
+              Key: "Value",
+              Value: "2022-12-23T06:34:18.14Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "loginName",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+        ],
+      },
+      {
+        id: "mat_1686641276477_0",
+        name: "艺术纸",
+        cusNum: "003",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686641277689pedwk3_ptPV3C.jpg",
+          size: 1315424,
+        },
+        uv: {
+          scale: 3.5,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        cusUv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        diamond: {
+          scaleY: 1,
+          scaleX: 1,
+          brightness: 1,
+          color: [0.4, 0.4, 0.4],
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/16866412810702xYc2i_LNeAa3.jpg",
+            size: 1315424,
+          },
+          color: [0.5, 0.5, 0.5],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.18,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1686641278492SUBYMB_MrI3sa.png",
+            size: 9794009,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0, 1, 0],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 1, 1],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        type: "meta",
+        uvMap: "box",
+        classType: "pbr",
+        userData: [
+          [
+            {
+              Key: "Key",
+              Value: "updateTime",
+            },
+            {
+              Key: "Value",
+              Value: "0001-01-01T00:00:00Z",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "63a54beaf0da1470d5a833a0",
+            },
+            {
+              Key: "Key",
+              Value: "_id",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "city",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "2023-06-13T07:01:56.612Z",
+            },
+            {
+              Key: "Key",
+              Value: "lastLogin",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "loginName",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "name",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "phone",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "userType",
+            },
+            {
+              Key: "Value",
+              Value: 2,
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "wechat",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "avatar",
+            },
+            {
+              Key: "Value",
+              Value:
+                "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1644914732578lrpLhl_logo2.jpg",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "cameras",
+            },
+            {
+              Key: "Value",
+              Value: null,
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "createTime",
+            },
+            {
+              Key: "Value",
+              Value: "2022-12-23T06:34:18.14Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "desc",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+        ],
+      },
+      {
+        id: "mat_1686640896417_0",
+        name: "艺术纸",
+        cusNum: "002",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686640897304C8mhhW_I9DI2a.jpg",
+          size: 1120105,
+        },
+        uv: {
+          scale: 3.28,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        cusUv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        diamond: {
+          scaleY: 1,
+          scaleX: 1,
+          brightness: 1,
+          color: [0.4, 0.4, 0.4],
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686640900563kT8K7M_RYq0MB.jpg",
+            size: 1120105,
+          },
+          color: [0.5, 0.5, 0.5],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.09,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/1686640897493MEr62U_XJf1Gp.png",
+            size: 9206149,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0, 1, 0],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 1, 1],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        type: "meta",
+        uvMap: "box",
+        classType: "pbr",
+        userData: [
+          [
+            {
+              Key: "Key",
+              Value: "_id",
+            },
+            {
+              Key: "Value",
+              Value: "63a54beaf0da1470d5a833a0",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "avatar",
+            },
+            {
+              Key: "Value",
+              Value:
+                "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/image/jpg/1644914732578lrpLhl_logo2.jpg",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "cameras",
+            },
+            {
+              Key: "Value",
+              Value: null,
+            },
+          ],
+          [
+            {
+              Key: "Value",
+              Value: "",
+            },
+            {
+              Key: "Key",
+              Value: "desc",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "name",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "updateTime",
+            },
+            {
+              Key: "Value",
+              Value: "0001-01-01T00:00:00Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "wechat",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "city",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "createTime",
+            },
+            {
+              Key: "Value",
+              Value: "2022-12-23T06:34:18.14Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "lastLogin",
+            },
+            {
+              Key: "Value",
+              Value: "2023-06-13T07:01:56.612Z",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "loginName",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "phone",
+            },
+            {
+              Key: "Value",
+              Value: "18003252150",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "userType",
+            },
+            {
+              Key: "Value",
+              Value: 2,
+            },
+          ],
+        ],
+      },
+      {
+        id: "mat_1686639791089_0",
+        name: "22",
+        cusNum: "33",
+        thumbnail: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686639792250X1Phst_AZfbLj.jpg",
+          size: 1037903,
+        },
+        uv: {
+          scale: 2,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        cusUv: {
+          scale: 1,
+          rotate: 0,
+          offsetX: 0.5,
+          offsetY: 0,
+        },
+        diamond: {
+          scaleY: 1,
+          scaleX: 1,
+          brightness: 1,
+          color: [0.4, 0.4, 0.4],
+        },
+        albedo: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/jpg/1686639798747V4sJxy_2GflZn.jpg",
+            size: 1037903,
+          },
+          color: [0.5, 0.5, 0.5],
+        },
+        roughness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0.5,
+        },
+        metalness: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 0,
+        },
+        normal: {
+          useTexture: true,
+          texture: {
+            url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/png/16866397929034FKDrB_b32h7j.png",
+            size: 8706263,
+          },
+          factor: 1,
+          flipY: null,
+        },
+        opacity: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        displace: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+          enable: false,
+        },
+        diffuse: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [0, 1, 0],
+        },
+        specular: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          color: [1, 1, 1],
+        },
+        gloss: {
+          useTexture: false,
+          texture: {
+            url: "",
+            size: 0,
+          },
+          factor: 1,
+        },
+        type: "meta",
+        uvMap: "box",
+        classType: "pbr",
+        userData: [
+          [
+            {
+              Key: "Key",
+              Value: "company",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "companyKey",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "desc",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "_id",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "alipay",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "avatar",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "city",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "name",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "phone",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "userType",
+            },
+            {
+              Key: "Value",
+              Value: 2,
+            },
+          ],
+          [
+            {
+              Key: "Key",
+              Value: "wechat",
+            },
+            {
+              Key: "Value",
+              Value: "",
+            },
+          ],
+        ],
+      },
+    ],
+    geoms: [
+      {
+        id: "1",
+        name: "单盒.fbx",
+        thumbnail: {
+          url: "",
+          size: 0,
+        },
+        osgjs: {
+          url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/upload/osgjs/1666167503039CnIQvw_1666167481620.glb.osgjs",
+          size: 25193,
+        },
+        file: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/fbx/16661675027344Mltdg_单盒.fbx",
+          size: 738752,
+        },
+        glb: {
+          url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/QueenTree/glb/1666167503039CnIQvw_1666167481620.glb",
+          size: 4856756,
+        },
+        shadow: {
+          url: "",
+          size: 0,
+        },
+        boundingBox: {
+          min: {
+            x: -84.96784973144531,
+            y: -0.6572778224945068,
+            z: -60.37770462036133,
+          },
+          max: {
+            x: 91,
+            y: 319.3392028808594,
+            z: 61.12229537963867,
+          },
+        },
+      },
+    ],
+    env3ds: [
+      {
+        id: "628c3433633d10f8e365855f",
+        name: "工作室",
+        cusNum: "",
+        thumbnail: {
+          url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/env3d/db/6194da0119af54f894c53644/thumbnail_256.jpg",
+          size: 0,
+        },
+        createTime: "0001-01-01T00:00:00Z",
+        hdr: {
+          url: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/photo_studio_01_8k.hdr",
+          size: 100350789,
+        },
+        config: {
+          textures: [
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/thumbnail_256.jpg",
+                  sizeUncompressed: 0,
+                  samples: 0,
+                  height: 128,
+                  width: 256,
+                  sizeCompressed: 0,
+                  blur: 0,
+                },
+              ],
+              limitSize: 0,
+              encoding: "srgb",
+              type: "thumbnail",
+              format: "panorama",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.0_luv.bin.gz",
+                  sizeUncompressed: 6291456,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 1779853,
+                  blur: 0,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.02_luv.bin.gz",
+                  sizeUncompressed: 6291456,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 1200968,
+                  blur: 0.02,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_256.0_0.055_luv.bin.gz",
+                  sizeUncompressed: 1572864,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 317622,
+                  blur: 0.055,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_128.0_0.1_luv.bin.gz",
+                  sizeUncompressed: 393216,
+                  samples: 2048,
+                  height: 128,
+                  width: 128,
+                  sizeCompressed: 97956,
+                  blur: 0.1,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_64.0_0.15_luv.bin.gz",
+                  sizeUncompressed: 98304,
+                  samples: 2048,
+                  height: 64,
+                  width: 64,
+                  sizeCompressed: 29064,
+                  blur: 0.15,
+                },
+              ],
+              limitSize: 0,
+              encoding: "luv",
+              type: "background",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.0_rgbm.bin.gz",
+                  sizeUncompressed: 6291456,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 2977192,
+                  blur: 0,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.02_rgbm.bin.gz",
+                  sizeUncompressed: 6291456,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 1858076,
+                  blur: 0.02,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_256.0_0.055_rgbm.bin.gz",
+                  sizeUncompressed: 1572864,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 487212,
+                  blur: 0.055,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_128.0_0.1_rgbm.bin.gz",
+                  sizeUncompressed: 393216,
+                  samples: 2048,
+                  height: 128,
+                  width: 128,
+                  sizeCompressed: 149136,
+                  blur: 0.1,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_64.0_0.15_rgbm.bin.gz",
+                  sizeUncompressed: 98304,
+                  samples: 2048,
+                  height: 64,
+                  width: 64,
+                  sizeCompressed: 46566,
+                  blur: 0.15,
+                },
+              ],
+              limitSize: 0,
+              encoding: "rgbm",
+              type: "background",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.0_rgbe.bin.gz",
+                  sizeUncompressed: 6291456,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 3043958,
+                  blur: 0,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.02_rgbe.bin.gz",
+                  sizeUncompressed: 6291456,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 1766005,
+                  blur: 0.02,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_256.0_0.055_rgbe.bin.gz",
+                  sizeUncompressed: 1572864,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 473185,
+                  blur: 0.055,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_128.0_0.1_rgbe.bin.gz",
+                  sizeUncompressed: 393216,
+                  samples: 2048,
+                  height: 128,
+                  width: 128,
+                  sizeCompressed: 149500,
+                  blur: 0.1,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_64.0_0.15_rgbe.bin.gz",
+                  sizeUncompressed: 98304,
+                  samples: 2048,
+                  height: 64,
+                  width: 64,
+                  sizeCompressed: 49221,
+                  blur: 0.15,
+                },
+              ],
+              limitSize: 0,
+              encoding: "rgbe",
+              type: "background",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.0_float.bin.gz",
+                  sizeUncompressed: 18874368,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 16116615,
+                  blur: 0,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_512.0_0.02_float.bin.gz",
+                  sizeUncompressed: 18874368,
+                  samples: 2048,
+                  height: 512,
+                  width: 512,
+                  sizeCompressed: 16067477,
+                  blur: 0.02,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_256.0_0.055_float.bin.gz",
+                  sizeUncompressed: 4718592,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 4041881,
+                  blur: 0.055,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_128.0_0.1_float.bin.gz",
+                  sizeUncompressed: 1179648,
+                  samples: 2048,
+                  height: 128,
+                  width: 128,
+                  sizeCompressed: 1020352,
+                  blur: 0.1,
+                },
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/background_cubemap_64.0_0.15_float.bin.gz",
+                  sizeUncompressed: 294912,
+                  samples: 2048,
+                  height: 64,
+                  width: 64,
+                  sizeCompressed: 258568,
+                  blur: 0.15,
+                },
+              ],
+              limitSize: 0,
+              encoding: "float",
+              type: "background",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_panorama_ue4_1024_luv.bin.gz",
+                  sizeUncompressed: 4194304,
+                  samples: 2048,
+                  height: 1024,
+                  width: 1024,
+                  sizeCompressed: 673838,
+                  blur: 0,
+                },
+              ],
+              limitSize: 32,
+              encoding: "luv",
+              type: "specular_ue4",
+              format: "panorama",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_panorama_ue4_1024_rgbm.bin.gz",
+                  sizeUncompressed: 4194304,
+                  samples: 2048,
+                  height: 1024,
+                  width: 1024,
+                  sizeCompressed: 1095123,
+                  blur: 0,
+                },
+              ],
+              limitSize: 32,
+              encoding: "rgbm",
+              type: "specular_ue4",
+              format: "panorama",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_panorama_ue4_1024_rgbe.bin.gz",
+                  sizeUncompressed: 4194304,
+                  samples: 2048,
+                  height: 1024,
+                  width: 1024,
+                  sizeCompressed: 1130918,
+                  blur: 0,
+                },
+              ],
+              limitSize: 32,
+              encoding: "rgbe",
+              type: "specular_ue4",
+              format: "panorama",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_panorama_ue4_1024_float.bin.gz",
+                  sizeUncompressed: 12582912,
+                  samples: 2048,
+                  height: 1024,
+                  width: 1024,
+                  sizeCompressed: 7099449,
+                  blur: 0,
+                },
+              ],
+              limitSize: 32,
+              encoding: "float",
+              type: "specular_ue4",
+              format: "panorama",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_cubemap_ue4_256_luv.bin.gz",
+                  sizeUncompressed: 2097144,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 635016,
+                  blur: 0,
+                },
+              ],
+              limitSize: 8,
+              encoding: "luv",
+              type: "specular_ue4",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_cubemap_ue4_256_rgbm.bin.gz",
+                  sizeUncompressed: 2097144,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 1055995,
+                  blur: 0,
+                },
+              ],
+              limitSize: 8,
+              encoding: "rgbm",
+              type: "specular_ue4",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_cubemap_ue4_256_rgbe.bin.gz",
+                  sizeUncompressed: 2097144,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 1109686,
+                  blur: 0,
+                },
+              ],
+              limitSize: 8,
+              encoding: "rgbe",
+              type: "specular_ue4",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/specular_cubemap_ue4_256_float.bin.gz",
+                  sizeUncompressed: 6291432,
+                  samples: 2048,
+                  height: 256,
+                  width: 256,
+                  sizeCompressed: 5417781,
+                  blur: 0,
+                },
+              ],
+              limitSize: 8,
+              encoding: "float",
+              type: "specular_ue4",
+              format: "cubemap",
+            },
+            {
+              images: [
+                {
+                  file: "https://3dqueen-test.oss-cn-chengdu.aliyuncs.com/env3d/photo_studio/brdf_ue4.bin.gz",
+                  sizeUncompressed: 65536,
+                  samples: 2048,
+                  height: 128,
+                  width: 128,
+                  sizeCompressed: 59665,
+                  blur: 0,
+                },
+              ],
+              limitSize: 0,
+              encoding: "rg16",
+              type: "brdf_ue4",
+              format: "lut",
+            },
+          ],
+          writeByChannel: true,
+          lights: [
+            {
+              direction: [0.0331058, -0.82285, 0.567294],
+              lum_ratio: 0.0797674,
+              color: [
+                0.5393269775226254, 0.5773180340422288, 0.6130499970523818,
+              ],
+              luminosity: 508.628,
+              sum: 0.74215,
+              area: {
+                y: 0.192383,
+                x: 0.490723,
+                w: 0.0166016,
+                h: 0.0878906,
+              },
+              error: 0,
+              variance: 0.00071996,
+            },
+          ],
+          diffuseSPH: [
+            2.52177, 2.6475, 2.71793, -0.970495, -1.03103, -1.07638, -0.517793,
+            -0.556958, -0.594671, -0.335999, -0.36003, -0.390184, 0.14915,
+            0.157474, 0.170339, 0.305085, 0.325537, 0.345122, -0.000786492,
+            -0.00349557, -0.00655254, -0.000955614, -0.000445611, 0.00699492,
+            -0.00675775, -0.0107802, -0.0170637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0128212, -0.0135017, -0.0145362,
+            0.0321759, 0.0344156, 0.0357341, 0.010143, 0.0108799, 0.0117446,
+            0.0164007, 0.0178076, 0.0192644, 0.0183598, 0.0198073, 0.0203541,
+            0.00825731, 0.00872035, 0.0094819, 0.0411866, 0.044173, 0.0463374,
+            0.0160459, 0.0171311, 0.0176568, -0.0096879, -0.0103498,
+            -0.00986728,
+          ],
+        },
+        options: {
+          rotation: 202,
+          exposure: 1.2,
+        },
+        toneMap: {
+          method: 1,
+          exposure: 1,
+          brightness: 0.1,
+          contrast: 0.06,
+          saturation: 1,
+        },
+        background: {
+          color: [1, 1, 1],
+          image: null,
+          type: 1,
+        },
+        userData: [],
+      },
+    ],
+    products: [
+      {
+        id: "1",
+        geomId: "1",
+        name: "cube",
+        cusNum: "bh001",
+        type: "shoe",
+        thumbnail: {
+          url: "",
+          size: 0,
+        },
+        components: [
+          {
+            id: "comp0",
+            uvmap: null,
+            uvsize: null,
+            name: "图层 25",
+            matId: "62a061fd9e58d40fea04857a",
+            groupId: "",
+            index: 0,
+            visible: true,
+            locked: null,
+          },
+          {
+            id: "comp1",
+            uvmap: null,
+            uvsize: null,
+            name: "图层 24",
+            matId: "62ecd06fe5aaeff20480f6a4",
+            groupId: "",
+            index: 1,
+            visible: true,
+            locked: null,
+          },
+          {
+            id: "comp2",
+            uvmap: null,
+            uvsize: null,
+            name: "图层 23",
+            matId: "mat-1660206646181d",
+            groupId: "",
+            index: 2,
+            visible: true,
+            locked: null,
+          },
+          {
+            id: "comp3",
+            uvmap: null,
+            uvsize: null,
+            name: "图层 19",
+            matId: "62a061fd9e58d40fea04856d",
+            groupId: "",
+            index: 3,
+            visible: true,
+            locked: null,
+          },
+          {
+            id: "comp4",
+            uvmap: null,
+            uvsize: null,
+            name: "图层 18",
+            matId: "62a061fd9e58d40fea04856d",
+            groupId: "",
+            index: 4,
+            visible: true,
+            locked: null,
+          },
+          {
+            id: "comp5",
+            uvmap: null,
+            uvsize: null,
+            name: "图层 17",
+            matId: "mat-1660206646181d",
+            groupId: "",
+            index: 5,
+            visible: true,
+            locked: null,
+          },
+        ],
+        userData: [],
+      },
+    ],
+    scenes: [
+      {
+        id: "001",
+        name: "scene01",
+        thumbnail: {
+          url: "",
+          size: 0,
+        },
+        envId: "628c3433633d10f8e365855f",
+        products: [
+          {
+            id: "1",
+            prodId: "1",
+            transform: {
+              pos: [0, 0, 0],
+              scale: [1, 1, 1],
+              rotation: [0, 0, 0, 1],
+            },
+            visible: true,
+            userData: [],
+          },
+        ],
+        lights: {
+          enable: true,
+          list: null,
+        },
+        createTime: "0001-01-01T00:00:00Z",
+        updateTime: "0001-01-01T00:00:00Z",
+        background: {
+          color: [0.749, 0.749, 0.749],
+          image: {
+            url: "//sku3d-test.obs.cn-east-3.myhuaweicloud.com/assets/background/61a49acdc1245e87ab903207/Web 1920 – 1.png",
+            size: 38679,
+          },
+          type: 2,
+        },
+      },
+    ],
+    userData: [],
+  },
+};
+
+export const details = {
+  _id: "64880e19b85328f3458d4de6",
+  code: "001",
+  name: "定制包装盒",
+  type: "基础款(金红)",
+  price: 3000,
+  matMatchs: [
+    {
+      code: "",
+      name: "图层 25",
+      cusName: "框条",
+      index: 6,
+      productId: "1",
+      sceneProId: "1",
+      groupId: "",
+      groupName: "",
+      matIds: [
+        "62a061fd9e58d40fea04856d",
+        "62a061fd9e58d40fea048576",
+        "62a061fd9e58d40fea04856e",
+        "62a061fe9e58d40fea04858a",
+        "62a061ff9e58d40fea048599",
+        "62a061ff9e58d40fea0485a4",
+        "62a061fd9e58d40fea04857a",
+      ],
+    },
+    {
+      code: "",
+      name: "图层 24",
+      cusName: "面板",
+      index: 8,
+      productId: "1",
+      sceneProId: "1",
+      groupId: "",
+      groupName: "",
+      matIds: [
+        "62a061fd9e58d40fea04856d",
+        "62a061fd9e58d40fea048576",
+        "62a061fd9e58d40fea04856e",
+        "62a061fe9e58d40fea048596",
+        "62a061fe9e58d40fea04858a",
+        "62a061ff9e58d40fea048599",
+        "62a061ff9e58d40fea0485a4",
+        "mat-1660552848853d",
+        "62ecd06fe5aaeff20480f6a4",
+      ],
+    },
+    {
+      code: "",
+      name: "图层 23",
+      cusName: "上盒体",
+      index: 12,
+      productId: "1",
+      sceneProId: "1",
+      groupId: "",
+      groupName: "",
+      matIds: [
+        "62a061fe9e58d40fea048593",
+        "62a061fe9e58d40fea048596",
+        "mat-1659948226176d",
+        "6225e14c66671afbadc368b4",
+        "mat-1660206206063d",
+        "mat-1660033696593d",
+        "62ecdcb9e5aaeff20480f6ba",
+        "622f151f91872b03261f0b45",
+        "62305b7191872b03261f0b9e",
+        "62a061fd9e58d40fea048574",
+        "62a061fd9e58d40fea04856d",
+        "62a061fe9e58d40fea048598",
+        "mat-1660206646181d",
+        "mat-1660557719780d",
+        "mat-1660012837908d",
+        "mat_1686647187173_0",
+        "mat_1686646460922_0",
+        "mat_1686646460922_1",
+        "mat_1686642169427_0",
+        "mat_1686641276477_0",
+        "mat_1686640896417_0",
+        "mat_1686639791089_0",
+      ],
+    },
+    {
+      code: "",
+      name: "图层 19",
+      cusName: "",
+      index: 1,
+      productId: "1",
+      sceneProId: "1",
+      groupId: "634fb2b72a18206fd3a47681_图层 18",
+      groupName: "扣件",
+      matIds: [
+        "62a061fd9e58d40fea04856e",
+        "62a061fd9e58d40fea04856d",
+        "62a061fd9e58d40fea048574",
+        "62a061fe9e58d40fea048593",
+        "62a061fe9e58d40fea048596",
+        "62a061fd9e58d40fea04857a",
+      ],
+    },
+    {
+      code: "",
+      name: "图层 18",
+      cusName: "",
+      index: 1,
+      productId: "1",
+      sceneProId: "1",
+      groupId: "634fb2b72a18206fd3a47681_图层 18",
+      groupName: "扣件",
+      matIds: [
+        "62a061fd9e58d40fea04856e",
+        "62a061fd9e58d40fea04856d",
+        "62a061fd9e58d40fea048574",
+        "62a061fe9e58d40fea048593",
+        "62a061fe9e58d40fea048596",
+        "62a061fd9e58d40fea04857a",
+      ],
+    },
+    {
+      code: "",
+      name: "图层 17",
+      cusName: "下盒体",
+      index: 15,
+      productId: "1",
+      sceneProId: "1",
+      groupId: "",
+      groupName: "",
+      matIds: [
+        "62a061fe9e58d40fea048593",
+        "62a061fe9e58d40fea048596",
+        "mat-1660124208275d",
+        "mat-1659948226176d",
+        "6225e14c66671afbadc368b4",
+        "62272aee66671afbadc368e2",
+        "mat-1660206206063d",
+        "mat-1660115170140d",
+        "mat-1660033696593d",
+        "62ecdcb9e5aaeff20480f6ba",
+        "622f151f91872b03261f0b45",
+        "625fc10bac0a052f57cc5155",
+        "62305b7191872b03261f0b9e",
+        "62a061fd9e58d40fea04856d",
+        "62a061fe9e58d40fea048598",
+        "mat-1660206646181d",
+        "mat-1660557719780d",
+        "mat-1660012837908d",
+        "mat_1686647187173_0",
+        "mat_1686646460922_0",
+        "mat_1686646460922_1",
+        "mat_1686642169427_0",
+        "mat_1686641276477_0",
+        "mat_1686640896417_0",
+        "mat_1686639791089_0",
+      ],
+    },
+  ],
+  prodMatchs: [
+    {
+      index: -1,
+      category: "换装饰",
+      group: "",
+      productIds: [],
+    },
+  ],
+  scenePack: packData,
+  thumbnail: {
+    url: "https://sku3d-test.obs.cn-east-3.myhuaweicloud.com/thumbnail/png/16866385258684IVSxU_微信图片_20230613121956.png",
+    size: 6441878,
+  },
+};

+ 2 - 0
src/modules/match/module/stores/design.ts

@@ -4,8 +4,10 @@ export const designStore = MatchModule.store({
   state: () => ({
     editType: "mat",
     designDetail: {
+      _id: "",
       matMatchs: [],
       prodMatchs: [],
+      scenePack: {},
     } as any,
   }),
   getters: {

+ 4 - 1
src/pages/match/Design/components/DesignListModel.tsx

@@ -1,14 +1,17 @@
 import PickNodeSteps from "@queenjs-modules/queentree-explorer/components/PickNodeSteps";
+import { StepController } from "@queenjs-modules/queentree-explorer/components/PickNodeSteps/StepController";
 import { useModal } from "queenjs";
 import { defineComponent } from "vue";
 
 export default defineComponent({
   setup() {
     const modal = useModal();
+    const stepCtrol = new StepController(1);
 
     return () => {
       return (
         <PickNodeSteps
+          control={stepCtrol}
           onCancel={() => modal.cancel()}
           onSubmit={(data) => modal.submit(data)}
           lastStepText="确定"
@@ -16,7 +19,7 @@ export default defineComponent({
             {
               title: "选择资产",
               content: () => (
-                <PickNodeSteps.PickNodeStep options={{ nodeType: "pack" }} />
+                <PickNodeSteps.PickNodeStep options={{ nodeTypes: ["pack"] }} />
               ),
             },
           ]}

+ 3 - 1
src/pages/match/Editor/components/RightPanel/Mat/MatItem.tsx

@@ -1,4 +1,5 @@
 import { css, cx } from "@linaria/core";
+import { IQueentree } from "@queenjs-modules/queentree";
 import { IconMore } from "@queenjs/icons";
 import { Image } from "@queenjs/ui";
 import { Dropdown, Menu } from "ant-design-vue";
@@ -8,12 +9,13 @@ import { bool, object } from "vue-types";
 export default defineComponent({
   props: {
     active: bool().def(true),
-    mat: object<PackageMaterial>(),
+    mat: object<IQueentree.IAssetMat>(),
   },
   emits: ["click", "action"],
   setup(props, { emit }) {
     return () => {
       const { active, mat } = props;
+
       return (
         <div
           title={mat?.name || "未命名面料"}

+ 80 - 0
src/pages/match/Editor/components/RightPanel/Mat/UI.tsx

@@ -0,0 +1,80 @@
+import { defineComponent } from "vue";
+import { any, array } from "vue-types";
+
+import { MatController } from "@/controller/MatController";
+import { List } from "@queenjs/ui";
+import PanelCard from "../components/PanelCard";
+import PanelGroup from "../components/PanelGroup";
+import MatItem from "./MatItem";
+
+export default defineComponent({
+  props: {
+    sourceData: array<any>().isRequired,
+    controller: any<MatController>().isRequired,
+  },
+  setup(props) {
+    return () => {
+      const { controller, sourceData } = props;
+
+      return (
+        <PanelCard title="部件库" onSave={controller.saveMatch}>
+          {sourceData.map((matsGroup: MatsMatchComp, index: number) => {
+            const isGroupActive = controller.isGroupActive(matsGroup);
+
+            return (
+              <PanelGroup
+                key={index}
+                class="cursor-pointer"
+                type="asset3d.mat"
+                title={matsGroup.cusName || matsGroup.name}
+                tools={["rename", "lock", "clear"]}
+                target={matsGroup}
+                active={isGroupActive}
+                onAction={(key) =>
+                  controller.changeMatGroupIndex(key, matsGroup)
+                }
+                onClick={() => controller.switchGroup(matsGroup)}
+              >
+                <List data={matsGroup.matIds || []} columns={5} gap="5px">
+                  {{
+                    item: (matId: string, index: number) => {
+                      const currentMats = controller.findMatById(matId);
+                      return (
+                        <MatItem
+                          key={matId}
+                          mat={currentMats}
+                          active={index == matsGroup.index}
+                          onClick={() =>
+                            controller.switchGroupMatIndex(matsGroup, index)
+                          }
+                          // onAction={(key: string) => {
+                          //   switch (key) {
+                          //     case "delete":
+                          //       match.actions.deleteGroupMat(matsGroup, index);
+                          //       break;
+                          //     case "rename":
+                          //       match.actions.renameGroupMat(currentMats);
+                          //       break;
+                          //   }
+                          // }}
+                        />
+                      );
+                    },
+                    empty: () => (
+                      <div class="my-30px text-12px text-center text-gray-500">
+                        暂无数据
+                      </div>
+                    ),
+                  }}
+                </List>
+              </PanelGroup>
+            );
+          })}
+          <div class="mt-20px text-12px text-center text-gray-400">
+            没有更多了
+          </div>
+        </PanelCard>
+      );
+    };
+  },
+});

+ 139 - 0
src/pages/match/Editor/components/RightPanel/Mat/controller.tsx

@@ -0,0 +1,139 @@
+import { MatController } from "@/controller/MatController";
+import { MatchModule } from "@/modules/match";
+import { QueditorModule } from "@queenjs-modules/queditor";
+import { switchSceneProdComp } from "@queenjs-modules/queditor/module/controls/Queen3dCtrl/actions/geom";
+import { PackMat } from "@queenjs-modules/queditor/objects";
+
+export default function createController(
+  match: MatchModule,
+  queditor: QueditorModule
+) {
+  const ctrl = new MatController();
+
+  const switchComp = (compName = "") => {
+    switchSceneProdComp.call(
+      queditor.controls.queen3dCtrl,
+      queditor.store.pack.scenes[0].products[0].id,
+      compName
+    );
+  };
+
+  function findCompDef(product: any, compName = "") {
+    return product.components.find((c: any) => c.name == compName);
+  }
+
+  function renderGroupMat(matsGroup: MatsMatchComp, isCreate = true) {
+    const targetPro = queditor.helper.findProductDef(matsGroup.productId);
+    if (!targetPro) return;
+    const targetCom = findCompDef(targetPro, matsGroup.name);
+    if (!targetCom) return;
+
+    const mat = queditor.helper.findMatDef(matsGroup.matIds[matsGroup.index]);
+    if (!mat) return;
+    queditor.actions.updatePackProductCompMat(targetCom, mat, isCreate);
+  }
+
+  function clearCompMat(matsGroup: MatsMatchComp) {
+    const targetPro = queditor.helper.findProductDef(matsGroup.productId);
+    if (!targetPro) return;
+    const targetCom = findCompDef(targetPro, matsGroup.name);
+    if (!targetCom) return;
+    queditor.actions.updatePackProductCompMat(targetCom, PackMat.create());
+  }
+
+  ctrl.changeMatGroupIndex = (key: string, matsGroup: MatsMatchComp) => {
+    switch (key) {
+      case "rename":
+        match.actions.renameMatGroup(matsGroup);
+        break;
+      case "lock":
+        match.actions.lockMatGroup();
+        break;
+      case "clear":
+        match.actions.clearMatGroup(matsGroup);
+        // removePackMat? 是否删除面料列表数据
+        switchComp(matsGroup.name);
+        clearCompMat(matsGroup);
+        break;
+    }
+  };
+
+  ctrl.switchGroupMatIndex = (matsGroup: any, index: number) => {
+    matsGroup.index = index;
+    renderGroupMat(matsGroup, false);
+  };
+
+  ctrl.saveMatch = () => {
+    match.store.designDetail.scenePack.source = queditor.store.pack;
+    match.actions.saveDesign();
+  };
+
+  ctrl.findMatById = (matId: string) => {
+    const mats = queditor.store.pack.mats;
+    return mats?.find((element) => element.id == matId);
+  };
+
+  ctrl.findProductById = (productId: string) => {
+    const products = queditor.store.pack.products;
+    return products?.find((element) => element.id == productId);
+  };
+
+  ctrl.isGroupActive = (matsGroup: MatsMatchComp) => {
+    return queditor.store.currActiveProdComp?.name == matsGroup.name;
+  };
+
+  ctrl.switchGroup = (matsGroup: MatsMatchComp) => {
+    switchComp(matsGroup.name || "");
+  };
+
+  // queditor.controls.drager.on(
+  //   "drop:selfDrop",
+  //   async (event: DragEvent, { type, data }: any, extraData: any) => {
+  //     const dropData = await data();
+  //     // console.error("dropData: ", dropData);
+  //     if (type == "asset3d.mat") {
+  //       dropMat(dropData, extraData);
+  //     } else if (type == "asset3d.mesh") {
+  //       dropMesh(dropData, extraData);
+  //     }
+  //   }
+  // );
+
+  // function dropMesh(dropData: any, target: any) {
+  //   console.log("dropData: ", dropData, target);
+  //   //
+  // }
+
+  // // 拖拽面料
+  // function dropMat(mat: IMaterial, extraData: any) {
+  //   const currGroup = findmatsGroup(extraData);
+  //   if (!currGroup.matIds) currGroup.matIds = [];
+
+  //   // TODO 判断重复拖拽
+  //   if (currGroup.matIds.includes(mat.id)) {
+  //     queenApi.messageError("不能重复添加色卡");
+  //     return;
+  //   }
+  //   // update
+  //   const targetPro = queditor.store.pack.products.find(
+  //     (p) => p.id == extraData.productId
+  //   );
+  //   const targetCom = targetPro?.components.find(
+  //     (c) => c.name == extraData.name
+  //   );
+  //   if (!targetCom) return;
+  //   queditor.actions.updatePackProductCompMat(targetCom, mat, true);
+  //   currGroup.matIds.push(mat.id);
+  //   currGroup.index = currGroup.matIds.length - 1;
+  // }
+
+  // function findmatsGroup(target: MatsMatchComp) {
+  //   const currGroup = match.store.menuOptions.sourceData.mat.find(
+  //     (r: MatsMatchComp) =>
+  //       r.name == target.name && r.productId == target.productId
+  //   );
+  //   return currGroup;
+  // }
+
+  return ctrl;
+}

+ 9 - 142
src/pages/match/Editor/components/RightPanel/Mat/index.tsx

@@ -1,156 +1,23 @@
+import { defineComponent } from "vue";
+
 import { useMatch } from "@/modules/match";
 import { useQueditor } from "@queenjs-modules/queditor";
-import { List } from "@queenjs/ui";
-import { queenApi } from "queenjs";
-import { defineComponent } from "vue";
-import PanelCard from "../components/PanelCard";
-import PanelGroup from "../components/PanelGroup";
-import MatItem from "./MatItem";
+import PanelUI from "./UI";
+import createController from "./controller";
 
 export default defineComponent({
   setup() {
     const queditor = useQueditor();
     const match = useMatch();
 
-    queditor.controls.drager.on(
-      "drop:selfDrop",
-      async (event: DragEvent, { type, data }: any, extraData: any) => {
-        const dropData = await data();
-        // console.error("dropData: ", dropData);
-        if (type == "asset3d.mat") {
-          dropMat(dropData, extraData);
-        } else if (type == "asset3d.mesh") {
-          dropMesh(dropData, extraData);
-        }
-      }
-    );
-
-    function dropMesh(dropData: any, target: any) {
-      console.log("dropData: ", dropData, target);
-      //
-    }
-
-    // 拖拽面料
-    function dropMat(mat: IMaterial, extraData: any) {
-      const currGroup = findmatsGroup(extraData);
-      if (!currGroup.matIds) currGroup.matIds = [];
-
-      // TODO 判断重复拖拽
-      if (currGroup.matIds.includes(mat.id)) {
-        queenApi.messageError("不能重复添加色卡");
-        return;
-      }
-      // update
-      const targetPro = queditor.store.pack.products.find(
-        (p) => p.id == extraData.productId
-      );
-      const targetCom = targetPro?.components.find(
-        (c) => c.name == extraData.name
-      );
-      if (!targetCom) return;
-      queditor.actions.updatePackProductCompMat(targetCom, mat, true);
-      currGroup.matIds.push(mat.id);
-      currGroup.index = currGroup.matIds.length - 1;
-    }
-
-    function findmatsGroup(target: MatsMatchComp) {
-      const currGroup = match.store.menuOptions.sourceData.mat.find(
-        (r: MatsMatchComp) =>
-          r.name == target.name && r.productId == target.productId
-      );
-      return currGroup;
-    }
-
-    const handleChange = (key: string, matsGroup: MatsMatchComp) => {
-      switch (key) {
-        case "rename":
-          match.actions.renameMatGroup();
-          break;
-        case "lock":
-          match.actions.lockMatGroup();
-          break;
-        case "clear":
-          match.actions.clearMatGroup(matsGroup);
-          break;
-      }
-    };
+    const ctrl = createController(match, queditor);
 
     return () => {
       return (
-        <PanelCard
-          title="部件库"
-          onSave={() => {
-            console.error(queditor.store.pack);
-            match.store.designDetail.scenePack.source =
-              queditor.store.pack;
-            match.actions.saveDesign();
-          }}
-        >
-          {match.store.menuOptions.sourceData?.mat.map(
-            (matsGroup: MatsMatchComp, index: number) => {
-              return (
-                <PanelGroup
-                  key={index}
-                  class="cursor-pointer"
-                  type="asset3d.mat"
-                  active={
-                    queditor.store.currActiveProdComp?.name == matsGroup.name
-                  }
-                  title={matsGroup.name}
-                  tools={["rename", "lock", "clear"]}
-                  target={matsGroup}
-                  onChange={(key) => handleChange(key, matsGroup)}
-                  onSelect={match.actions.switchMatsGroup}
-                >
-                  <List data={matsGroup.matIds || []} columns={5} gap="5px">
-                    {{
-                      item: (matId: string, index: number) => {
-                        const currentMats =
-                          match.helper.findMatById(matId);
-                        return (
-                          <MatItem
-                            key={matId}
-                            mat={currentMats}
-                            active={index == matsGroup.index}
-                            onClick={() =>
-                              match.actions.switchMatsGroupIndex(
-                                matsGroup,
-                                index
-                              )
-                            }
-                            onAction={(key: string) => {
-                              switch (key) {
-                                case "delete":
-                                  match.actions.deleteGroupMat(
-                                    matsGroup,
-                                    index
-                                  );
-                                  break;
-                                case "rename":
-                                  match.actions.renameGroupMat(
-                                    currentMats
-                                  );
-                                  break;
-                              }
-                            }}
-                          />
-                        );
-                      },
-                      empty: () => (
-                        <div class="my-30px text-12px text-center text-gray-500">
-                          暂无数据
-                        </div>
-                      ),
-                    }}
-                  </List>
-                </PanelGroup>
-              );
-            }
-          )}
-          <div class="mt-20px text-12px text-center text-gray-400">
-            没有更多了
-          </div>
-        </PanelCard>
+        <PanelUI
+          controller={ctrl}
+          sourceData={match.store.menuOptions.sourceData.mat}
+        />
       );
     };
   },

+ 1 - 1
src/pages/match/Editor/components/RightPanel/Product/index.tsx

@@ -78,7 +78,7 @@ export default defineComponent({
                   title={prodGroup.group}
                   tools={["rename", "clear", "delete"]}
                   target={prodGroup}
-                  onChange={(key) => handleChange(key, prodGroup)}
+                  onAction={(key) => handleChange(key, prodGroup)}
                 >
                   <List
                     gap="10px"

+ 3 - 3
src/pages/match/Editor/components/RightPanel/components/PanelGroup.tsx

@@ -12,7 +12,7 @@ export default defineComponent({
     target: any(),
     type: string().def("asset3d.*"),
   },
-  emits: ["change", "select"],
+  emits: ["action", "click"],
   setup(props, { emit, slots }) {
     const { components } = useQueditor();
     const { DropView } = components;
@@ -28,14 +28,14 @@ export default defineComponent({
         >
           <div
             class={cx(styles, active && "active")}
-            onClick={() => emit("select")}
+            onClick={() => emit("click")}
           >
             <div class="flex items-center justify-between">
               <span>{title || "默认分组"}</span>
               <Tools
                 class="tools"
                 tools={props.tools}
-                onChange={(...args) => emit("change", ...args)}
+                onChange={(...args) => emit("action", ...args)}
               />
             </div>
             {slots.default?.()}

+ 0 - 290
src/typings/asset.d.ts

@@ -1,290 +0,0 @@
-declare type RequiredPick<T, K extends keyof T> = Partial<T> & Pick<T, K>;
-
-declare interface Image {
-  url: string;
-  size: number;
-}
-
-declare type IOptions = Array<{
-  label: string;
-  value: any; //[din]
-}>;
-
-declare type ILibraryOptions = {
-  defaultOptions: {
-    options: IOptions;
-  };
-  scopeOptions?: {
-    scope: string;
-    options: IOptions;
-  };
-};
-
-declare interface OssType {
-  url: string;
-  size: number;
-}
-
-declare interface ILibrary {
-  id: string;
-  defines: IDefine[];
-  categories: any[];
-}
-
-declare interface IDefine {
-  id: string;
-  label: string;
-  collection: string;
-  type: 10 | 20 | 30 | 31 | 40; // 10 模型 20 图片 30 材质球 40 材质球组 50 环境球
-  categoryIds: any[];
-}
-
-declare interface ISource {
-  Mesh: PackageSource;
-  Material: IMaterial;
-  MaterialGroup: {
-    version: string;
-    colorCards: IMaterial[];
-  };
-  Picture: {
-    file: Image;
-  };
-  Env: {
-    config: any;
-    file: Image;
-    options: {
-      rotation: number;
-      exposure: number;
-    };
-    toneMap: {
-      method: number;
-      exposure: number;
-      brightness: number;
-      contrast: number;
-      saturation: number;
-    };
-  };
-  Scene: PackageSource;
-}
-
-interface IAssetBase<T extends keyof ISource> {
-  _id: string;
-  defineId: string;
-  taskId: string;
-
-  name: string;
-  cusNum: string;
-
-  thumbnail: Image;
-  categories: string[];
-  cusCategories: string[];
-  source: ISource[T];
-  assetState: 0 | 100 | 101 | 102 | 200; // 100 等待处理 101 正在处理 102 处理失败 200 处理成功
-  enable: boolean;
-
-  userId: string;
-  userInfo: {
-    name: string;
-    thumbnail: OssType;
-  };
-  ownerId: string;
-  ownerType: string;
-  assetType: string;
-
-  createTime: string;
-  updateTime: string;
-}
-
-declare type IAsset = IAssetBase<keyof ISource>;
-declare type IAssetMesh = IAssetBase<"Mesh">;
-declare type IAssetMat = IAssetBase<"Material">;
-declare type IAssetMatGroup = IAssetBase<"MaterialGroup">;
-declare type IAssetPic = IAssetBase<"Picture">;
-declare type IAssetEnv = IAssetBase<"Env">;
-declare type IAssetScene = IAssetBase<"Scene">;
-
-type MatFeature = {
-  factor: number;
-  color: number[];
-  texture: {
-    url: string;
-    size: number;
-  };
-  useTexture: boolean;
-  enable: boolean;
-};
-
-declare type IMaterial = {
-  id: string;
-  name: string;
-  cusNum: string;
-  thumbnail: OssType;
-  classType: "pbr" | "diamond" | "cuscolor";
-  type: "meta" | "spec";
-  uvMap: "box" | "uv";
-  cullFace: string;
-  diamond: Diamond;
-  normal: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  metalness: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  roughness: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  gloss: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  albedo: Pick<MatFeature, "color" | "texture" | "useTexture">;
-  diffuse: Pick<MatFeature, "color" | "texture" | "useTexture">;
-  specular: Pick<MatFeature, "color" | "texture" | "useTexture">;
-  displace: Pick<MatFeature, "factor" | "texture" | "useTexture" | "enable">;
-  opacity: Pick<MatFeature, "factor" | "texture" | "useTexture" | "enable">;
-  uv: MaterailUv;
-  cusUv: MaterailUv;
-  userData: any;
-  from?: MatFrom;
-
-  colorMatch?: any;
-  generateType?: "colormatch" | "tech" | undefined;
-};
-
-declare class PackageSource {
-  version: string;
-  mats: PackageMaterial[];
-  geoms: PackageGeom[];
-  env3ds: PackageEnv3d[];
-  products: PackProduct[];
-  scenes: PackScene[];
-  userData: any;
-}
-
-declare class MaterailUv {
-  scale: number;
-  rotate: number;
-  offsetX: number;
-  offsetY: number;
-}
-
-declare class Diamond {
-  scaleX: number;
-  scaleY: number;
-  brightness: number;
-  color: number[];
-}
-
-declare type MatFrom = {
-  AssetConfId: string;
-  MatType: "single" | "group";
-  AssetId: string;
-};
-
-declare class PackageMaterial {
-  id: string;
-  name: string;
-  cusNum: string;
-  thumbnail: OssType;
-  type: "meta" | "spec";
-  uvMap: "box" | "uv";
-  cullFace: string;
-  diamond: Diamond;
-  normal: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  metalness: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  roughness: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  gloss: Pick<MatFeature, "factor" | "texture" | "useTexture">;
-  albedo: Pick<MatFeature, "color" | "texture" | "useTexture">;
-  diffuse: Pick<MatFeature, "color" | "texture" | "useTexture">;
-  specular: Pick<MatFeature, "color" | "texture" | "useTexture">;
-  displace: Pick<MatFeature, "factor" | "texture" | "useTexture" | "enable">;
-  opacity: Pick<MatFeature, "factor" | "texture" | "useTexture" | "enable">;
-  uv: MaterailUv;
-  cusUv: MaterailUv;
-  userData: any;
-  from?: MatFrom;
-}
-
-declare class Obb {
-  min: {
-    x: number;
-    y: number;
-    z: number;
-  };
-  max: {
-    x: number;
-    y: number;
-    z: number;
-  };
-}
-declare class PackageGeom {
-  id: string;
-  name: string;
-  thumbnail: OssType;
-  osgjs: OssType;
-  file?: OssType;
-  glb?: OssType;
-  shadow: OssType;
-  boundingBox: Obb;
-}
-declare class Env3dOption {
-  rotation: number;
-  exposure: number;
-}
-declare class ToneMap {
-  method: number;
-  exposure: number;
-  brightness: number;
-  contrast: number;
-  saturation: number;
-}
-
-declare class PackageEnv3d {
-  id: string;
-  name: string;
-  cusNum: string;
-  thumbnail: OssType;
-  createTime: string;
-  hdr: OssType;
-  config: any;
-  options: Env3dOption;
-  toneMap: ToneMap;
-  background: Evn3dBackground;
-  userData: any;
-}
-declare class PackProductCompMat {
-  id: string;
-  uvMap: OssType;
-  uvsize: {
-    width: number;
-    height: number;
-  };
-  name: string;
-  matId: string;
-  groupId: string;
-  index: number;
-  visible: boolean;
-  userData: any;
-  locked: boolean; //当前部件是否被锁定
-}
-declare class PackProduct {
-  id: string;
-  geomId: string;
-  name: string;
-  cusNum: string;
-  type: string;
-  thumbnail: OssType;
-  components: PackProductCompMat[];
-  userData: any;
-}
-declare class PackSceneProduct {
-  id: string;
-  prodId: string;
-  transform: {
-    pos: number[];
-    scale: number[];
-    rotation: number[];
-  };
-  visible: boolean;
-  noShadow: boolean;
-}
-declare class PackScene {
-  id: string;
-  name: string;
-  thumbnail: OssType;
-  envId: string;
-  lights: [];
-  products: PackSceneProduct[];
-  userData: any;
-}

+ 2 - 1
src/typings/collocation.d.ts → src/typings/match.d.ts

@@ -1,8 +1,9 @@
 declare interface MatsMatchComp {
+  cusName?: string;
   index: number;
   matIds: string[];
   name?: string;
-  productId?: string;
+  productId: string;
   sceneProId?: string;
   visible?: boolean;
 }

+ 0 - 16
src/typings/pro.d.ts

@@ -1,16 +0,0 @@
-declare interface TableListParams<T> {
-  page: number;
-  size: number;
-  query?: T;
-}
-
-declare type TableListResult<T> = Promise<{
-  errorNo: number;
-  errorDesc: string;
-  result: {
-    list: T[];
-    page: number;
-    size: number;
-    total: number;
-  };
-}>;

+ 27 - 25
yarn.lock

@@ -1224,25 +1224,27 @@
   resolved "http://124.70.149.18:4873/@queenjs-modules%2fauth/-/auth-0.0.18.tgz"
   integrity sha512-zQGPz1GUR2QE3qCkfpdQ3vDkNNuFRhvrD+ErCynnlDP/QQNgvOoHizPEO5OE4VzdBu+/psGWymQs+9zONGuO3A==
 
-"@queenjs-modules/queditor@^0.0.10":
-  version "0.0.10"
-  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueditor/-/queditor-0.0.10.tgz#d79b432409a1da86042c4f4e8a00e5704a8b073b"
-  integrity sha512-eQFq07e8CK0VJekDJ43+Cbias7cE8iC2uSPqaKaJiAFnDQ9A5pJYDh6MN6cMzUSUEkoY+5I9hP4PagDSw0KW+Q==
-
-"@queenjs-modules/queentree-explorer-viewer@^0.0.1":
-  version "0.0.1"
-  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueentree-explorer-viewer/-/queentree-explorer-viewer-0.0.1.tgz#0776486096c4f8ceaea25944d07baa2a242e6658"
-  integrity sha512-oTFT2CiQhbY3RM0JFQCc6zaTYcMqFpTrZNlo6QiVgbV7XOf63aTnaKo4HMhFQo2Mv8l1lloTQVHmcV7X5hy2Vg==
+"@queenjs-modules/queditor@^0.0.12":
+  version "0.0.12"
+  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueditor/-/queditor-0.0.12.tgz#12036f9226065cd013507742edd2624a057fd2a9"
+  integrity sha512-lkBFRbamdQVkwT0CZMlW1mTxH1N6Kp7LfTMLYGO/iVPu1QWTUiS6MOE/7yBjLmqZfSiiqzZa0QUo3Oi6u6sVJg==
 
-"@queenjs-modules/queentree-explorer@^0.0.3":
+"@queenjs-modules/queentree-explorer-viewer@^0.0.3":
   version "0.0.3"
-  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueentree-explorer/-/queentree-explorer-0.0.3.tgz#6838878c6b3ca7b3f69eddb8f6ae75824235f515"
-  integrity sha512-QEQouW58aMc5sQqR4mWf96vovnazkOqpECAZFFS/8Q7w75nV1CDLHRPWgYYTYCy7MngyXZTlskiq2mDHIyl9kg==
+  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueentree-explorer-viewer/-/queentree-explorer-viewer-0.0.3.tgz#1952b50a9a0cc92b04ea24cfd3064c8d3b19bd70"
+  integrity sha512-sQYuJdq46GoYIv+yyQPd5eVNKeOPgaOoBEine8PQxVFh7gLxcdRi4mfPZq7Wq92g+5juCSFwkSRavaANHrf1kA==
+
+"@queenjs-modules/queentree-explorer@^0.0.6":
+  version "0.0.6"
+  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueentree-explorer/-/queentree-explorer-0.0.6.tgz#e2ba1ba4a247a5f6ed5a9de50271315bf81e39ee"
+  integrity sha512-2efcbsCT0+4BiuRQk0SPC4cSiVenArCCFxapkgE+4mymwkiIlXBQ/s2bJNUuylLFxjQGsvW2bHdgQzA2zvRqRg==
+  dependencies:
+    "@queenjs-modules/queentree" "^0.0.10"
 
-"@queenjs-modules/queentree@^0.0.9":
-  version "0.0.9"
-  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueentree/-/queentree-0.0.9.tgz#6f9c2513a2c60febf3f807bc028e515e01f3f710"
-  integrity sha512-Tm1sUkyD5ppr1ksGjbgwViBrza5VkKr0iKmyZTT3wKblovHtgzOEZKTJ9KEY6IjtG7XVeAyFxu0l5KHbEUu+xw==
+"@queenjs-modules/queentree@^0.0.10":
+  version "0.0.10"
+  resolved "http://124.70.149.18:4873/@queenjs-modules%2fqueentree/-/queentree-0.0.10.tgz#f6344ab32ba0163a3b8cf4f4b9fe6641aef2bea7"
+  integrity sha512-P4cIjXKgcvd8h3vVs4f1rGLNf3/Kd5G+qGiZN+idkLjiu22HU6SNmOVLUwV6PuKg+9sTPRn7FKamSHuFxXWX5g==
 
 "@queenjs/components@^0.0.5":
   version "0.0.5"
@@ -6375,15 +6377,15 @@ queen3d@^0.0.85:
   resolved "http://124.70.149.18:4873/queen3d/-/queen3d-0.0.85.tgz#34f2914fb7a7a8f723f29c62b1d4454c83008de0"
   integrity sha512-LPJsLl6nlUnf+rDXlutxO0BACJrr6QOFaKxRhv+V1mJkFqljyXVsIKhV+VvDHwCq+hCt4tSX+bRAbog3kF5W6w==
 
-queenjs@^1.0.0-beta.69:
-  version "1.0.0-beta.70"
-  resolved "http://124.70.149.18:4873/queenjs/-/queenjs-1.0.0-beta.70.tgz#c920261bd4fba3b77747a0b9d270de8fbab9c88d"
-  integrity sha512-dA9Xy+sY8WD7vpNZuuM44+QrukAgoSDty/Sz1iaVzP08rPrpSTvv/6BQqUiMnKF6b5wEpAy4IjuBm5F+9YxHzA==
+queenjs@^1.0.0-beta.73:
+  version "1.0.0-beta.73"
+  resolved "http://124.70.149.18:4873/queenjs/-/queenjs-1.0.0-beta.73.tgz#ad9183f5652dd7a57b8d58b5d77193879a3ce168"
+  integrity sha512-uLxILs10cPqKpD0Jj5ASls5qsQxSr685JFEBarycOHu7a4z26kACRHE8piu6axAfK9nwdSq1SqY5T2PhwdpkTA==
   dependencies:
     axios "^0.27.2"
     eventemitter3 "^4.0.7"
     moduse "^0.0.7"
-    vue-moduse "^0.0.9"
+    vue-moduse "^0.0.10"
 
 queentree@^0.1.95-nocheck:
   version "0.1.95-nocheck"
@@ -7618,10 +7620,10 @@ vue-loader@^17.0.0:
     hash-sum "^2.0.0"
     loader-utils "^2.0.0"
 
-vue-moduse@^0.0.9:
-  version "0.0.9"
-  resolved "http://124.70.149.18:4873/vue-moduse/-/vue-moduse-0.0.9.tgz"
-  integrity sha512-flnd6a+C4RvsNEz7jfAWO1dssbGfr7rbZWS5w9V2Kmj1ZOKJRCGzLumoyLNFJ/pwa6qQEXkN7jI6bRN1uAi9Tg==
+vue-moduse@^0.0.10:
+  version "0.0.10"
+  resolved "http://124.70.149.18:4873/vue-moduse/-/vue-moduse-0.0.10.tgz#03d0f5fa21d7db909f9162dc12bfd5c514db397e"
+  integrity sha512-lS0tf4kvJKw+sohwuObujk90NGD024H+pOulVRv73q+75+pccKz6R6VnENMM11AgygOmYK0fioUlgOGYMFYgrw==
 
 vue-router@^4.0.3:
   version "4.1.5"