|
|
|
@ -616,7 +616,7 @@ function zmqUpgradeCb(msg: PubMsgData) {
@@ -616,7 +616,7 @@ function zmqUpgradeCb(msg: PubMsgData) {
|
|
|
|
|
const offTransferDlg = ref<typeof OffTransferDlg>() |
|
|
|
|
|
|
|
|
|
const pubIdWithOffDevice = new Map<string, { offDevice: IOfflineDevice; action: 'import' }>() |
|
|
|
|
const importQueue = ref<{ msg: PublishMsg<'import'>; offDevice: IOfflineDevice }[]>([]) // 队列 |
|
|
|
|
const importQueue = ref<{ msg: PublishMsg<'import'>; offDevice: IOfflineDevice }[]>([]) |
|
|
|
|
const isImporting = ref(false) |
|
|
|
|
|
|
|
|
|
async function processNextImport() { |
|
|
|
@ -635,12 +635,10 @@ async function processNextImport() {
@@ -635,12 +635,10 @@ async function processNextImport() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function onOffDeviceTransfer(msg: PublishMsg<'import'>[], offDevice: IOfflineDevice[]) { |
|
|
|
|
// 将设备和消息添加到队列中 |
|
|
|
|
msg.forEach((m, index) => { |
|
|
|
|
importQueue.value.push({ msg: m, offDevice: offDevice[index] }) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
// 开始处理队列 |
|
|
|
|
processNextImport() |
|
|
|
|
onBatchCancel() |
|
|
|
|
openTransferMask('import') |
|
|
|
@ -669,7 +667,6 @@ function zmqImportCb(msg: PubMsgData) {
@@ -669,7 +667,6 @@ function zmqImportCb(msg: PubMsgData) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (code !== ZmqMsgResultType.PROGRESS) { |
|
|
|
|
// 从队列中移除已处理的消息 |
|
|
|
|
importQueue.value.shift() |
|
|
|
|
isImporting.value = false |
|
|
|
|
if (code === ZmqMsgResultType.ERROR) { |
|
|
|
@ -679,7 +676,6 @@ function zmqImportCb(msg: PubMsgData) {
@@ -679,7 +676,6 @@ function zmqImportCb(msg: PubMsgData) {
|
|
|
|
|
status: 'error' |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
// 处理队列中的下一个消息 |
|
|
|
|
processNextImport() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -696,11 +692,9 @@ function zmqImportTimeoutCb(msg: TimeoutMsg) {
@@ -696,11 +692,9 @@ function zmqImportTimeoutCb(msg: TimeoutMsg) {
|
|
|
|
|
device: offDevice, |
|
|
|
|
status: 'error' |
|
|
|
|
}) |
|
|
|
|
// 从队列中移除超时的项目 |
|
|
|
|
importQueue.value.shift() |
|
|
|
|
isImporting.value = false |
|
|
|
|
|
|
|
|
|
// 处理队列中的下一个项目 |
|
|
|
|
processNextImport() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|