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) {