Files
dvcp-node-service/src/websocket/index.js
2023-02-16 12:31:47 +08:00

30 lines
951 B
JavaScript

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()
})
}))
}