diff --git a/cocos/asset/asset-manager/editor-path-replace.ts b/cocos/asset/asset-manager/editor-path-replace.ts index 92eeb7d84d..3b2e414315 100644 --- a/cocos/asset/asset-manager/editor-path-replace.ts +++ b/cocos/asset/asset-manager/editor-path-replace.ts @@ -89,7 +89,8 @@ if ((EDITOR || PREVIEW || NODEJS) && !TEST) { try { let text = ''; if (EDITOR) { - const info: { library: { ['.bin']: any } } = await Editor.Message.request('asset-db', 'query-asset-info', uuid); + // eslint-disable-next-line max-len + const info: { library: { ['.bin']: any } } = await fetch(`/cocos-api/assets/queryAssetInfo/?uuid=${uuid}`).then((response) => response.json()); // Current rule: If an asset has only one .bin file, then it is in CCON format. if (info && info.library['.bin'] && Object.keys(info.library).length === 1) { text = '.cconb'; diff --git a/pal/wasm/wasm-native.ts b/pal/wasm/wasm-native.ts index 8a02da18c7..89f5d40b6c 100644 --- a/pal/wasm/wasm-native.ts +++ b/pal/wasm/wasm-native.ts @@ -34,11 +34,13 @@ export function fetchBuffer (binaryUrl: string): Promise { try { // NOTE: when it's in EDITOR, binaryUrl is a url with `external:` protocol. if (EDITOR) { - Editor.Message.request('engine', 'query-engine-info').then((info) => { + fetch('/cocos-api/engine/queryEngineInfo').then((response) => response.json().then((info: any) => { const externalRoot = `${info.native.path}/external/`; binaryUrl = binaryUrl.replace('external:', externalRoot); const arrayBuffer = native.fileUtils.getDataFromFile(binaryUrl); resolve(arrayBuffer); + })).catch((e) => { + reject(e); }); return; } @@ -56,10 +58,12 @@ export function fetchUrl (binaryUrl: string): Promise { try { // NOTE: when it's in EDITOR, binaryUrl is a url with `external:` protocol. if (EDITOR) { - Editor.Message.request('engine', 'query-engine-info').then((info) => { + fetch('/cocos-api/engine/queryEngineInfo').then((response) => response.json().then((info: any) => { const externalRoot = `${info.native.path}/external/`; binaryUrl = binaryUrl.replace('external:', externalRoot); resolve(binaryUrl); + })).catch((e) => { + reject(e); }); return; } diff --git a/pal/wasm/wasm-web.ts b/pal/wasm/wasm-web.ts index 9eeb6fb24d..866ed31317 100644 --- a/pal/wasm/wasm-web.ts +++ b/pal/wasm/wasm-web.ts @@ -35,20 +35,9 @@ export function fetchBuffer (binaryUrl: string): Promise { return new Promise((resolve, reject) => { try { // NOTE: when it's in EDITOR or PREVIEW, binaryUrl is a url with `external:` protocol. - if (EDITOR) { - Editor.Message.request('engine', 'query-engine-info').then((info) => { - const externalRoot = `${info.native.path}/external/`; - binaryUrl = binaryUrl.replace('external:', externalRoot); - // IDEA: it's better we implement another PAL for nodejs platform. - // eslint-disable-next-line @typescript-eslint/no-var-requires - const fs = require('fs'); - const arrayBuffer = fs.readFileSync(binaryUrl) as ArrayBuffer; - resolve(arrayBuffer); - }); - return; - } else if (PREVIEW) { + if (EDITOR || PREVIEW) { // NOTE: we resolve '/engine_external/' in editor preview server. - fetch(`/engine_external/?url=${binaryUrl}`).then((response) => response.arrayBuffer().then(resolve)).catch((e) => { + fetch(`/cocos-api/engine/queryEngineInfo/?url=${binaryUrl}`).then((response) => response.arrayBuffer().then(resolve)).catch((e) => { // noop }); return; @@ -74,16 +63,7 @@ export function fetchUrl (binaryUrl: string): Promise { return new Promise((resolve, reject) => { try { // NOTE: when it's in EDITOR or PREVIEW, binaryUrl is a url with `external:` protocol. - if (EDITOR) { - Editor.Message.request('engine', 'query-engine-info').then((info) => { - const externalRoot = `${info.native.path}/external/`; - binaryUrl = binaryUrl.replace('external:', externalRoot); - // IDEA: it's better we implement another PAL for nodejs platform. - // eslint-disable-next-line @typescript-eslint/no-var-requires - resolve(binaryUrl); - }); - return; - } else if (PREVIEW) { + if (EDITOR || PREVIEW) { resolve(`/engine_external/?url=${binaryUrl}`); return; }