UNPKG

@aiot-toolkit/emulator

Version:

vela emulator tool.

128 lines (124 loc) 5.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.emulatorBaseUrl = exports.defaultVvdHome = exports.defaultVncPort = exports.defaultToolsHome = exports.defaultSkinHome = exports.defaultSDKHome = exports.defaultQuickappHome = exports.defaultImageHome = exports.defaultEmulatorHome = exports.defaultDebugPort = exports.defaultAdbPort = exports.baseUrl = exports.VelaImageVersionList = exports.EmulatorEnvVersion = void 0; Object.defineProperty(exports, "getDefaultImage", { enumerable: true, get: function () { return _shared.getDefaultImage; } }); exports.getImageDownloadUrl = getImageDownloadUrl; exports.getSDKPartDownloadUrl = getSDKPartDownloadUrl; Object.defineProperty(exports, "isMiwearImageType", { enumerable: true, get: function () { return _shared.isMiwearImageType; } }); Object.defineProperty(exports, "isVelaImageType", { enumerable: true, get: function () { return _shared.isVelaImageType; } }); exports.versionUrl = exports.systemImageBaseUrl = void 0; var _os = _interopRequireDefault(require("os")); var _path = _interopRequireDefault(require("path")); var _Vvd = require("../typing/Vvd"); var _utils = require("../utils"); var _shared = require("../shared"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const defaultSDKHome = exports.defaultSDKHome = _path.default.resolve(_os.default.homedir(), _Vvd.VELAHOME.SDK); const defaultVvdHome = exports.defaultVvdHome = _path.default.resolve(_os.default.homedir(), _Vvd.VELAHOME.VVD); const defaultImageHome = exports.defaultImageHome = _path.default.resolve(defaultSDKHome, 'system-images', (0, _shared.getDefaultImage)()); const defaultEmulatorHome = exports.defaultEmulatorHome = _path.default.resolve(defaultSDKHome, 'emulator'); const defaultSkinHome = exports.defaultSkinHome = _path.default.resolve(defaultSDKHome, 'skins'); const defaultQuickappHome = exports.defaultQuickappHome = _path.default.resolve(defaultSDKHome, 'qa'); const defaultToolsHome = exports.defaultToolsHome = _path.default.resolve(defaultSDKHome, 'tools'); const defaultVncPort = exports.defaultVncPort = 5900; const defaultAdbPort = exports.defaultAdbPort = 5555; const defaultDebugPort = exports.defaultDebugPort = 10055; const baseUrl = exports.baseUrl = 'https://vela-ide.cnbj3-fusion.mi-fds.com/vela-ide'; const versionUrl = exports.versionUrl = 'https://vela-ide.cnbj3-fusion.mi-fds.com/vela-ide/versions.json'; const emulatorBaseUrl = exports.emulatorBaseUrl = 'https://vela-ide.cnbj3-fusion.mi-fds.com/vela-ide/emulator'; const systemImageBaseUrl = exports.systemImageBaseUrl = 'https://vela-ide.cnbj3-fusion.mi-fds.com/vela-ide/system-images'; // 不确定vela镜像的发布策略,暂时需要手动更新此列表 // 0.0.2和0.0.3版本比较特殊,线上是一个nuttx文件。其他版本都是一个zip包,包含nuttx data.img和vela_source.img /** * vela-release-4.0 : vela 4.0 带 miwear * vela-pre-4.0 : vela 4.0 不带 miwear * vela-dev-0.0.4 : vela 4.0 dev 分支 */ const VelaImageVersionList = exports.VelaImageVersionList = [{ label: 'vela-miwear-watch-5.0', description: '适用于手表/手环的,带表盘的 vela 5.0 镜像,不可自定义模拟器尺寸', value: _Vvd.VelaImageType.VELA_MIWEAR_WATCH_5, time: '20250716', hide: false, icon: '' }, { label: 'vela-watch-5.0', description: '适用于手表/手环的,不带表盘的 vela 5.0 镜像,可自定义模拟器尺寸', value: _Vvd.VelaImageType.VELA_WATCH_5, time: '20250716', hide: false, icon: '' }, { label: 'vela-miwear-watch-4.0', description: '原 vela-release-4.0 版本,适用于手表/手环的,带表盘的 vela 4.0 镜像,不可自定义模拟器尺寸', value: _Vvd.VelaImageType.REL, time: '20250526', hide: false, icon: '' }, { label: 'vela-watch-4.0', description: '原 vela-pre-4.0 版本,适用于手表/手环的,不带表盘的 vela 4.0 镜像,可自定义模拟器尺寸', value: _Vvd.VelaImageType.PRE, time: '20250225', hide: false, icon: '' }, { label: 'vela-miwear-minisound-5.0', description: '适用于音响的 vela-miwear 5.0 镜像,不可自定义模拟器尺寸', value: _Vvd.VelaImageType.VELA_MIWEAR_MINISOUND_5, time: '20250318', hide: true, icon: '' }]; const EmulatorEnvVersion = exports.EmulatorEnvVersion = { name: '模拟器资源版本管理', [_Vvd.SDKParts.EMULATOR]: '0.1.0', [_Vvd.SDKParts.QA]: '0.0.1', [_Vvd.SDKParts.SKINS]: '0.0.10', [_Vvd.SDKParts.SYSTEM_IMAGES]: VelaImageVersionList[0].time, [_Vvd.SDKParts.MODEM_SIMULATOR]: '0.0.3' }; /** 获取镜像下载地址 */ function getImageDownloadUrl() { return VelaImageVersionList.reduce((res, t) => { res[t.value] = `${systemImageBaseUrl}/${t.value}/${t.time}/${t.value}.zip`; return res; }, {}); } /** * 获取各种 SKD 最新版本的下载地址; * 镜像地址默认返回 REL 版本的地址,如果需要获取其他版本,请使用 * {@link getImageDownloadUrl} */ function getSDKPartDownloadUrl(type) { switch (type) { case _Vvd.SDKParts.EMULATOR: const systemOs = _os.default.platform(); const hostArch = (0, _utils.getSystemArch)(); let hostOs = systemOs === 'win32' ? 'windows' : systemOs; return `${emulatorBaseUrl}/v${EmulatorEnvVersion.emulator}/${hostOs}-${hostArch}.zip`; case _Vvd.SDKParts.SYSTEM_IMAGES: return getImageDownloadUrl()[(0, _shared.getDefaultImage)()]; case _Vvd.SDKParts.QA: case _Vvd.SDKParts.MODEM_SIMULATOR: case _Vvd.SDKParts.SKINS: return `${baseUrl}/${type}/v${EmulatorEnvVersion[type]}/${type}.zip`; } }