| | |
| | | this.wsUrl = CommonUtils.httpFormatWs(); // WebSocket 基础地址 |
| | | |
| | | // 超时校验配置 |
| | | this.businessMessageInterval = 5 * 60 * 1000; |
| | | this.businessMessageInterval = 5 * 60 * 1000; |
| | | this.noMessageTimeout = this.businessMessageInterval + 2 * 60 * 1000; |
| | | this.noMessageTimer = null; // 无消息超时定时器 |
| | | |
| | |
| | | this.resetNoMessageTimer(); |
| | | |
| | | // 处理业务消息 |
| | | if (message.Type === "Message") { |
| | | if (message.Type === "MessageUnRead") { // 未读消息 |
| | | let payload = { |
| | | pagePath: "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList", |
| | | itemId: 0 |
| | | } |
| | | const content = JSON.parse(message.Content); |
| | | this.showTaskTip(`您有${content.length}条消息需要处理!`); |
| | | this.showTaskTip(`您有${content.length}条消息需要处理!`, payload); |
| | | // this.emit("message", content); // 支持外部监听 |
| | | } else if (message.Type === "Message") { |
| | | const content = JSON.parse(message.Content) |
| | | let payload = { |
| | | pagePath: "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList", |
| | | itemId: 0 |
| | | } |
| | | this.showTaskTip(content[0]["内容"], payload, content[0]["主题"]); |
| | | |
| | | } |
| | | } catch (error) { |
| | | console.error("[WebSocket] 消息解析失败", error, res.data); |
| | |
| | | } |
| | | |
| | | |
| | | showTaskTip(Content) { |
| | | showTaskTip(Content, payloads, Title = "重要通知") { |
| | | // #ifdef APP-PLUS || APP |
| | | let content = Content; |
| | | let options = { |
| | | title: "重要通知", |
| | | title: Title, |
| | | cover: true, // 是否覆盖上一次的通知 |
| | | when: new Date() // 通知显示时间 |
| | | when: new Date(), // 通知显示时间 |
| | | icon: "../static/logo.png", |
| | | largeIcon: "../static/logo.png" |
| | | }; |
| | | // TODO 跳转到指定页 |
| | | let payload = JSON.stringify({}); |
| | | let payload = JSON.stringify(payloads); |
| | | console.log('payload: ', payload); |
| | | |
| | | plus.push.createMessage(content, payload, options); |
| | | // #endif |