diff --git a/app/src/main/assets/print_demo.html b/app/src/main/assets/print_demo.html index 1cdbc09..24a48fd 100644 --- a/app/src/main/assets/print_demo.html +++ b/app/src/main/assets/print_demo.html @@ -92,12 +92,13 @@
-
高级业务样式
+
高级业务样式与测试
+
@@ -460,7 +461,66 @@ document.getElementById('aboutModal').style.display = 'none'; } - // 安卓回调函数:退出确认时执行 + // 打印机查纸回调 + window.onPaperStateChanged = function(hasPaper) { + if (hasPaper) { + alert("打印机状态正常:当前有纸"); + } else { + alert("⚠️ 打印机缺纸!请装入纸卷!"); + } + updatePrinterStatus(); + }; + + // PTT 各种事件回调 + window.onPttEvent = function(eventType, payload) { + console.log("收到 PTT 事件: ", eventType, payload); + var msg = ""; + switch(eventType) { + case 'GroupList': + msg = "获取群组成功,共 " + payload.length + " 个群组。第一组: " + (payload[0] ? payload[0].groupName : "无"); + break; + case 'MemberList': + msg = "获取群成员成功,共 " + payload.length + " 个成员。"; + break; + case 'SpeakerUpdate': + msg = "当前讲话人: " + payload.talkName + " (组:" + payload.groupName + ")"; + break; + case 'PlayStatus': + msg = (payload.playStatus === 1 ? "开始播放:" : "结束播放:") + payload.talkName; + break; + case 'TempCall': + msg = "临时呼叫消息: " + payload.msg; + break; + case 'UpdateGroup': + msg = "进入群组: " + payload.groupName; + break; + case 'Alarm': + msg = "⚠️收到报警: " + payload.memberName + " (纬度:" + payload.latitude + ")"; + break; + default: + msg = "收到事件: " + eventType; + } + showPttResult("[回调] " + msg); + }; + + // ES6 特性测试函数 + function testES6Features() { + try { + const arr = [1, 2, 3]; + const [a, ...rest] = arr; + let sum = rest.reduce((acc, val) => acc + val, 0); + const myMap = new Map(); + myMap.set('key', `Sum is ${sum}`); + + new Promise((resolve) => { + setTimeout(() => resolve(myMap.get('key')), 100); + }).then(res => { + alert(`ES6 引擎测试成功!\n解构: a=${a}\nPromise/Map 返回: ${res}`); + }); + } catch(e) { + alert("ES6 测试失败: " + e.message); + } + } function addExitText() { var tag = document.getElementById('inject-status'); if (tag) {