feat: 新增多个页面及功能,优化用户体验
在项目中新增了多个页面,包括押金页面、设备详情页面、反馈页面和帮助页面。同时,更新了订单支付和归还成功页面的逻辑,确保用户在支付和归还设备时能够获得清晰的反馈。优化了扫码和订单状态处理逻辑,提升了整体用户体验。
This commit is contained in:
@@ -0,0 +1 @@
|
||||
"use strict";const e=require("../common/vendor.js"),s=require("../config/user.js");const r=new class{constructor(){this.activeOrders=new Map,this.timer=null,this.checkInterval=1e4,this.isRunning=!1}addOrder(e){e&&e.orderId?(console.log("添加订单到监控队列:",e.orderId),this.activeOrders.set(e.orderId,e),this.isRunning||this.start()):console.error("添加订单监控失败:无效的订单数据")}removeOrder(e){this.activeOrders.has(e)&&(console.log("从监控队列移除订单:",e),this.activeOrders.delete(e),0===this.activeOrders.size&&this.stop())}start(){this.isRunning||(console.log("启动订单监控服务"),this.isRunning=!0,this.checkOrders(),this.timer=setInterval((()=>{this.checkOrders()}),this.checkInterval))}stop(){this.isRunning&&(console.log("停止订单监控服务"),this.isRunning=!1,this.timer&&(clearInterval(this.timer),this.timer=null))}async checkOrders(){if(0!==this.activeOrders.size){console.log(`检查 ${this.activeOrders.size} 个活跃订单状态`);for(const[s,r]of this.activeOrders.entries())try{await this.checkOrderStatus(s)}catch(e){console.error(`检查订单状态失败: ${s}`,e)}}}async checkOrderStatus(r){try{console.log(`检查订单 ${r} 的状态`);const t=await s.queryById(r);if(200===t.code&&t.data){const s=t.data;if(this.activeOrders.set(r,s),"used_done"===s.orderStatus||"used_down"===s.orderStatus){console.log(`订单 ${r} 已完成!`),e.index.$emit("orderCompleted",s),e.index.showToast({title:"充电宝归还成功",icon:"success",duration:2e3});const t=e.index.createInnerAudioContext();t.src="/static/audio/return_success.mp3",t.play(),this.removeOrder(r),setTimeout((()=>{e.index.showModal({title:"归还成功",content:"充电宝已归还成功,剩余押金将退还到您的账户",confirmText:"查看详情",success:s=>{s.confirm&&e.index.redirectTo({url:`/pages/order/return-success?orderId=${r}`})}})}),500)}}}catch(t){console.error(`检查订单 ${r} 状态出错:`,t)}}};(()=>{const s=e.index.getStorageSync("activeOrderId");if(s){const e={orderId:s};r.addOrder(e)}})(),exports.orderMonitor=r;
|
||||
Reference in New Issue
Block a user