const {findFile} = require("../utils/fsUtils"); const chalk = require("chalk"); const dayjs = require("dayjs"); const {log} = console module.exports = { init: ins => new Promise(resolve => ins.ws('/ws', ws => { log(`${chalk.bgBlue.black(" WEBSOCKET ")} 服务已启动!`) ins.send('您已成功连接到node websocket') let heartBeat = setInterval(() => wx.send(`heartBeat at ${dayjs().format("YYYY-MM-DD HH:mm:ss")}`), 5000) ws.on('close', () => { log(`${chalk.bgBlue.black(" WEBSOCKET ")} 连接已断开!`) clearInterval(heartBeat) }) let actions = {} findFile('./src/websocket', file => { if (!/index\.js/.test(file)) { actions[ws.action] = ws.execute } }).then(() => { ws.on('message', res => { if (res?.data) { const data = JSON.parse(res.data) !!data?.action && actions[res.action]?.(ws, data) } }) resolve() }) })) }