import { curEnvConf } from "@/common/env" 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 重试连接=====") socketTask = null createSocketMessage({ userInfo }) } const url = curEnvConf.socketHost let comReqData = getCommonReqData() const socketTask = uni.connectSocket({ url: `${url}/ws/${userInfo?.userId}`, // method: 'GET', header: { ...comReqData.header, }, 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.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); }) socketTask.onMessage(function (res) { console.log('onSocketMessage 收到服务器内容:', res?.data); try{ let data = JSON.parse(res.data) createSysMessage(data) }catch(e){ console.error("") } }); } export const pushAddEventListenerInit = ()=> { // #ifdef APP-PLUS // 监听 消息栏的点击事件 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 ); // #endif } 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 }