diff --git a/mixly/common/modules/mixly-modules/web-socket/burn-upload.js b/mixly/common/modules/mixly-modules/web-socket/burn-upload.js index 2bded58a..d6937575 100644 --- a/mixly/common/modules/mixly-modules/web-socket/burn-upload.js +++ b/mixly/common/modules/mixly-modules/web-socket/burn-upload.js @@ -12,6 +12,7 @@ goog.loadJs('web', () => { goog.require('Mixly.MString'); goog.require('Mixly.LayerProgress'); goog.require('Mixly.Boards'); + goog.require('Mixly.Web.BU'); goog.require('Mixly.WebSocket.Serial'); goog.provide('Mixly.WebSocket.BU'); @@ -28,7 +29,10 @@ goog.loadJs('web', () => { WebSocket } = Mixly; - const { SELECTED_BOARD } = Config; + const { SELECTED_BOARD, BOARD } = Config; + + // 引入本地 Web.BU 模块,用于 MicroPython 本地上传 + const WebBU = Mixly.Web?.BU; const { Serial } = WebSocket; @@ -69,6 +73,11 @@ goog.loadJs('web', () => { } this.initBurn = function () { + // MicroPython 板卡使用本地 Web Serial API 烧录,而非通过服务器 + if (SELECTED_BOARD?.language === 'MicroPython' && WebBU) { + return WebBU.initBurn(); + } + if (!this.mixlySocket.isConnected()) { layer.msg(Msg.Lang['websocket.offline'], { time: 1000 }); return; @@ -101,6 +110,11 @@ goog.loadJs('web', () => { } this.initUpload = function () { + // MicroPython 板卡使用本地 Web Serial API 上传,而非通过服务器 + if (SELECTED_BOARD?.language === 'MicroPython' && WebBU) { + return WebBU.initUpload(); + } + if (!this.mixlySocket.isConnected()) { layer.msg(Msg.Lang['websocket.offline'], { time: 1000 }); return;