From b9f3b1983c406abab097f70cd143ea1095287bf9 Mon Sep 17 00:00:00 2001 From: ShenQiLun <97694732@qq.com> Date: Fri, 26 Jun 2026 11:24:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=8E=BB=E6=8E=89200=E6=AC=A1=E8=AE=A1?= =?UTF-8?q?=E6=95=B0,=E6=94=B9=E4=B8=BA=E6=B0=B8=E4=B9=85=E5=A4=8D?= =?UTF-8?q?=E7=94=A8+=E7=BB=91=E5=AE=9A=E5=A4=B1=E8=B4=A5=E6=97=B6?= =?UTF-8?q?=E9=87=8D=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/upload/upload.vue | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pages/upload/upload.vue b/pages/upload/upload.vue index 48f4555..63ce29f 100644 --- a/pages/upload/upload.vue +++ b/pages/upload/upload.vue @@ -2508,7 +2508,7 @@ export default { }, // 调用波次接口(syncBook 成功后调用) - // 一个波次最多使用 200 次,避免每次上架都创建新波次 + // 复用波次机制:首次创建后永久复用,绑定失败时重新创建 async callWaveApi(warehouseData, productId) { var timestamp = String(Math.floor(Date.now() / 1000)) var price = this.currentTab === 'isbn' @@ -2527,23 +2527,21 @@ export default { return } - var WAVE_MAX_USE = 200 var waveNo = uni.getStorageSync('reuseWaveNo') || '' - var waveCount = parseInt(uni.getStorageSync('reuseWaveCount') || '0') - // 已有可用波次且未达上限 → 跳过创建波次,直接绑定 + 入库 - if (waveNo && waveCount < WAVE_MAX_USE) { - console.log('【波次】复用 wave_no=' + waveNo + ' 已用=' + (waveCount + 1) + '/' + WAVE_MAX_USE) + // 已有波次 → 尝试复用 + if (waveNo) { + console.log('【波次】尝试复用 wave_no=' + waveNo) var bindResult = await this.callBindWaveApi(timestamp, waveNo) if (bindResult) { await this.callReceiveSubmitApi(timestamp, bindResult, productId, stock, warehouseData) - uni.setStorageSync('reuseWaveCount', waveCount + 1) + return } - return + console.log('【波次】复用失败,创建新波次') } - // 无可用波次或已达上限 → 创建新波次 - console.log('【波次】创建新波次(当前已用=' + waveCount + '/' + WAVE_MAX_USE + ')') + // 无波次或复用失败 → 创建新波次 + console.log('【波次】创建新波次') // 调用波次接口 const params = { @@ -2595,9 +2593,8 @@ export default { var releaseWaveNo = await this.callWaveReleaseApi(timestamp, waveId, orderId, carInfo, productId, stock, price) // 2. 绑定波次(使用 release 返回的 wave_no) if (releaseWaveNo) { - // 保存 wave_no 供后续复用 + // 保存 wave_no 供后续永久复用 uni.setStorageSync('reuseWaveNo', releaseWaveNo) - uni.setStorageSync('reuseWaveCount', 1) var bindResult = await this.callBindWaveApi(timestamp, releaseWaveNo) // 3. 提交入库(使用 bind-wave 返回的数据) if (bindResult) {