feat(all): 离线包迁移

This commit is contained in:
plum
2026-04-08 21:54:54 +08:00
parent 404e804143
commit 151bc7c8a2
6 changed files with 52 additions and 16 deletions
@@ -2,7 +2,7 @@
import {nextTick} from "vue";
import {Save} from "@vicons/carbon";
import {t} from "@/language";
import {App,Package} from "@astral3d/engine";
import {App} from "@astral3d/engine";
import { useGlobalConfigStore } from '@/store/modules/globalConfig';
import {fetchUpload} from "@/http/api/sys";
import {filterSize} from "@/utils/common/file";
@@ -59,7 +59,7 @@ function save(){
globalConfigStore.loadingText = window.$t("scene['Scene is being compressed...']");
const p = new Package(window.viewer);
const p = window.viewer.package;
p.pack({
// 首包名称
name:`${sceneInfo.sceneName}`,
@@ -96,8 +96,6 @@ function save(){
setTimeout(() => {
globalConfigStore.loading = false;
p.dispose();
}, 500)
})
}
+2 -5
View File
@@ -1,6 +1,6 @@
<script lang="ts" setup>
import {ref, onMounted, nextTick,provide} from 'vue';
import {Hooks,App,Package,defaultProjectInfo} from "@astral3d/engine";
import {Hooks,App,defaultProjectInfo} from "@astral3d/engine";
import * as Layout from './layouts';
import {connectWebSocket} from "@/hooks/useWebSocket";
import {useRoute} from "vue-router";
@@ -82,8 +82,7 @@ function getScene(sceneInfo) {
closable: false,
})
const p = new Package(window.viewer);
p.unpack({
window.viewer.package.unpack({
url: sceneInfo.zip,
onSceneLoad: () => {
drawingInfo.value = App.project.getKey("drawing");
@@ -94,8 +93,6 @@ function getScene(sceneInfo) {
Hooks.useDispatchSignal("sceneLoadComplete");
notice.destroy();
p.dispose();
}
})
return;
+2 -3
View File
@@ -3,7 +3,7 @@ import {nextTick, onMounted, provide, ref} from "vue";
import {useRoute} from 'vue-router';
import {t} from "@/language";
import {fetchGetOneScene} from "@/http/api/scenes";
import {App,Viewer,Hooks,Package,defaultProjectInfo} from "@astral3d/engine";
import {App,Viewer,Hooks,defaultProjectInfo} from "@astral3d/engine";
import {usePreviewOperationStore} from "@/store/modules/previewOperation";
import EsCubeLoading from "@/components/es/EsCubeLoading.vue";
import PreviewSceneTree from "@/views/preview/components/PreviewSceneTree.vue";
@@ -97,8 +97,7 @@ function getScene(sceneInfo) {
closable: false,
})
const p = new Package(window.viewer);
p.unpack({
window.viewer.package.unpack({
url: sceneInfo.zip,
onSceneLoad: (sceneJson: ISceneJson) => {
if (sceneJson.controls?.state) {