emis-app/common/messageNotice/socket.js

108 lines
2.7 KiB
JavaScript
Raw Normal View History

2024-12-29 07:16:57 +00:00
import { curEnvConf } from "@/common/env"
import { getCommonReqData } from "@/common/manageServer"
import { showToast, playAudio } from "@/common/untool"
import { audioTypeEnum } from "@/common/enum"
2024-12-29 09:35:07 +00:00
export const currentSocketTask = {
instance: null
}
2024-12-29 07:16:57 +00:00
export const createSocketMessage = ({ userInfo })=> {
2024-12-29 09:35:07 +00:00
const reConnectSock = ()=> {
console.log("reConnectSock 重试连接=====")
2024-12-29 10:06:51 +00:00
socketTask = null
2024-12-29 09:35:07 +00:00
createSocketMessage({ userInfo })
}
2024-12-29 07:16:57 +00:00
const url = curEnvConf.socketHost
let comReqData = getCommonReqData()
2025-01-16 02:50:01 +00:00
let socketTask = uni.connectSocket({
2024-12-29 07:16:57 +00:00
url: `${url}/ws/${userInfo?.userId}`,
// method: 'GET',
header: {
...comReqData.header,
},
success(res){
},
fail(err) {
2024-12-29 09:35:07 +00:00
console.error("connectSocket fail====", err)
setTimeout(reConnectSock, 3000)
2024-12-29 07:16:57 +00:00
}
})
2024-12-29 09:35:07 +00:00
currentSocketTask.instance = socketTask
2024-12-29 07:16:57 +00:00
socketTask.onError((err)=> {
console.log('socketTask.onError: ', err);
})
2024-12-29 09:35:07 +00:00
socketTask.onClose((res = {})=> {
// socketTask.connectSocket
2024-12-29 07:16:57 +00:00
console.log('socketTask.onClose: ', res);
2024-12-29 09:35:07 +00:00
// 正常关闭 不需重连
if(res.code != 1000) {
// 重连
setTimeout(reConnectSock, 3000)
}
// switch (res.code+''){
// case '1006':
// setTimeout(reConnectSock, 3000)
// break;
// default:
// break;
// }
2024-12-29 07:16:57 +00:00
})
socketTask.onOpen((res)=> {
console.log('socketTask.onOpen: ', res);
})
socketTask.onMessage(function (res) {
console.log('onSocketMessage 收到服务器内容:', res?.data);
2024-12-29 09:35:07 +00:00
try{
let data = JSON.parse(res.data)
createSysMessage(data)
}catch(e){
console.error("")
}
2024-12-29 07:16:57 +00:00
});
2024-12-29 09:35:07 +00:00
}
2024-12-29 15:39:44 +00:00
2024-12-29 10:06:51 +00:00
export const pushAddEventListenerInit = ()=> {
2024-12-29 15:39:44 +00:00
// #ifdef APP-PLUS
2024-12-29 10:06:51 +00:00
// 监听 消息栏的点击事件
plus.push.addEventListener('click', function(msg = {}){
// 分析msg.payload处理业务逻辑
console.log("push.addEventListener You clicked:", msg)
// {
// "__UUID__": "androidPushMsg96147834",
// "title": "测试消息c2",
// "appid": "__UNI__BCB0FB5",
// "content": "测试消息内容c2",
// "payload": {
// "clickPath": "/123123/123",
// "uid": 357,
// "title": "测试消息c2",
// "noticeId": 25,
// "content": "测试消息内容c2"
// }
// }
console.log("notice msg-- clickPath ", msg?.payload?.clickPath)
}, false );
2024-12-29 15:39:44 +00:00
// #endif
2024-12-29 10:06:51 +00:00
}
2024-12-29 15:39:44 +00:00
2024-12-29 10:06:51 +00:00
2024-12-29 09:35:07 +00:00
export const createSysMessage = (opt = {})=> {
showToast(`${opt.title} ${opt.content}`)
playAudio(audioTypeEnum.notifyTone)
// #ifdef APP-PLUS
let msgOpt = {
// cover: true,
when: Date.now(),
title: opt.title,
}
let msgBody = opt
console.log("plus.push.createMessage ======", {
content: opt.content, msgBody, msgOpt
})
plus.push.createMessage(opt.content, msgBody, msgOpt);
// #endif
2024-12-29 07:16:57 +00:00
}