This commit is contained in:
aihe 2024-12-29 17:35:07 +08:00
parent 6d556dcee6
commit 2e0f36f302
2 changed files with 61 additions and 35 deletions

View File

@ -3,7 +3,16 @@ import { getCommonReqData } from "@/common/manageServer"
import { showToast, playAudio } from "@/common/untool"
import { audioTypeEnum } from "@/common/enum"
export const currentSocketTask = {
instance: null
}
export const createSocketMessage = ({ userInfo })=> {
const reConnectSock = ()=> {
console.log("reConnectSock 重试连接=====")
createSocketMessage({ userInfo })
}
const url = curEnvConf.socketHost
let comReqData = getCommonReqData()
const socketTask = uni.connectSocket({
@ -15,50 +24,66 @@ export const createSocketMessage = ({ userInfo })=> {
success(res){
},
fail(err) {
console.error("connectSocket fail====", err)
setTimeout(reConnectSock, 3000)
}
})
currentSocketTask.instance = socketTask
socketTask.onError((err)=> {
console.log('socketTask.onError: ', err);
})
socketTask.onClose((res)=> {
socketTask.onClose((res = {})=> {
// socketTask.connectSocket
console.log('socketTask.onClose: ', res);
// 正常关闭 不需重连
if(res.code != 1000) {
// 重连
setTimeout(reConnectSock, 3000)
}
// switch (res.code+''){
// case '1006':
// setTimeout(reConnectSock, 3000)
// break;
// default:
// break;
// }
})
socketTask.onOpen((res)=> {
console.log('socketTask.onOpen: ', res);
// TODO, 测试消息通知效果
createSysMessage({
"clickPath": "/123123/123",
"uid": 357,
"title": "测试消息c2",
"noticeId": 25,
"content": "测试消息内容c2",
})
})
socketTask.onMessage(function (res) {
debugger
console.log('onSocketMessage 收到服务器内容:', res?.data);
playAudio(audioTypeEnum.notifyTone)
// let that=this;
// if(evtStr==null||evtStr==undefined){
// return;
// }
// let evt= JSON.parse(evtStr);
// if(evt==null||evt==undefined){
// return;
// }
// 播放声音通知
// this.playTone();
// var messageBody = evt.title;
// let noticeId= evt.noticeId;
// 弹出通知提示
// Notification.info({
// title: "系统通知",
// dangerouslyUseHTMLString: true,
// message: messageBody,
// position: 'top-right',
// customClass:'notify-success',
// duration: 0,
// onClick: function () {
// // 提示消息
// //that.setAddReadTimes(noticeId);
// },
// });
debugger
try{
let data = JSON.parse(res.data)
createSysMessage(data)
}catch(e){
console.error("")
}
});
}
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
}

View File

@ -7,7 +7,7 @@ import {
} from "@/session"
import * as apiService from "@/common/api"
import { goto } from "@/common/untool"
import { createSocketMessage } from "@/common/messageNotice/socket"
import { createSocketMessage, currentSocketTask } from "@/common/messageNotice/socket"
export default {
state: {
@ -57,8 +57,9 @@ export default {
}, options) {
setSessionUserInfo({})
setSessionXToken('')
commit(USERKEY.LOGOUT)
// 关闭socket
currentSocketTask.instance?.close?.({ noReConnect: true })
},
async [USERKEY.GETUSERINFO]({
dispatch,