wangfukang 2 weeks ago
parent
commit
ea169ce76d
  1. 45
      App.vue

45
App.vue

@ -172,15 +172,7 @@
} else if (content.includes('您有一笔预约订单可以出餐啦')) { } else if (content.includes('您有一笔预约订单可以出餐啦')) {
this.onPlayAudio(9) this.onPlayAudio(9)
} }
const printData = this.parsePushExtras(this.getPushInAppExtras(result)); this.enqueuePrintFromPush(result);
if (printData && printData.order_id) {
//
this.globalData.printData.push(printData)
//
if (!this.globalData.isPrinting) {
this.processPrintQueue()
}
}
} }
} }
@ -252,19 +244,46 @@
getPushInAppExtras(result) { getPushInAppExtras(result) {
if (!result) return ''; if (!result) return '';
if (this.NB.isAndroidOrIOS() == 'iOS') { if (this.NB.isAndroidOrIOS() == 'iOS') {
return result.ios && result.ios.inAppExtras ? result.ios.inAppExtras : result.extras; if (result.ios && result.ios.inAppExtras) return result.ios.inAppExtras;
if (result.iOS && result.iOS.inAppExtras) return result.iOS.inAppExtras;
if (result.extras && Object.keys(result.extras).length > 0) return result.extras;
return result.iOS || '';
} }
return result.android && result.android.inAppExtras ? result.android.inAppExtras : result.extras; return result.android && result.android.inAppExtras ? result.android.inAppExtras : result.extras;
}, },
parsePushExtras(extras) { parsePushExtras(extras) {
if (!extras) return null; if (!extras) return null;
if (typeof extras === 'object') return extras; if (typeof extras === 'object') {
if (extras._j_data_) {
try {
return Object.assign({}, extras, JSON.parse(extras._j_data_));
} catch (e) {
return extras;
}
}
return extras;
}
try { try {
return JSON.parse(extras); return JSON.parse(extras);
} catch (e) { } catch (e) {
return null; return null;
} }
}, },
enqueuePrintFromPush(result) {
const printData = this.parsePushExtras(this.getPushInAppExtras(result));
if (!printData) return;
if (!printData.order_id && printData.orderId) {
printData.order_id = printData.orderId;
}
if (!printData.order_id) {
console.log('JPush print skipped, missing order_id:', JSON.stringify(printData));
return;
}
this.globalData.printData.push(printData)
if (!this.globalData.isPrinting) {
this.processPrintQueue()
}
},
autoConnectPrinter() { autoConnectPrinter() {
if (!uni.getStorageSync('bluetoothDeviceId')) return; if (!uni.getStorageSync('bluetoothDeviceId')) return;
const bluetooth = new Bluetooth({ const bluetooth = new Bluetooth({
@ -296,6 +315,10 @@
return; return;
} }
} }
if (!data.order_id && data.orderId) {
data.order_id = data.orderId;
}
if (!data.order_id) return;
const targetUrl = `/pages/shop/orderDetail?id=${data.order_id}`; const targetUrl = `/pages/shop/orderDetail?id=${data.order_id}`;
uni.setStorageSync('push_jump_url', targetUrl); uni.setStorageSync('push_jump_url', targetUrl);
const pages = getCurrentPages(); const pages = getCurrentPages();

Loading…
Cancel
Save