Files
tl-rtc-file/svr/src/socket/rtcManage/reload.js
https://blog.iamtsm.cn e5a10db41c feat: 支持绘画同步
feat: 支持敏感词检测
feat: 支持多语言版本
feat: 支持回车发送消息
feat: 支持展示房主,语言版本
feat: 支持分享链接带上语言版本
feat: 支持设置公共聊天频道消息展示条数
feat: 支持固定/临时turn账号切换
feat: 支持一键启动脚本
feat: 支持浏览器控制台打印logo
feat: 调整优化svg, icon图标
feat: 调整优化弹窗动画
feat: 调整优化媒体流时间动画
feat: 调整优化oss逻辑
feat: 调整优化报错告警信息
2023-07-04 14:45:31 +08:00

105 lines
3.4 KiB
JavaScript

const bussinessManageDataPage = require("./../../bussiness/manage/dataPage")
const bussinessManageRoomPage = require("./../../bussiness/manage/roomPage")
const bussinessManageSettingPage = require("./../../bussiness/manage/settingPage")
const bussinessNotify = require("./../../bussiness/notify/notifyHandler")
const rtcConfirm = require("./confirm");
const utils = require("./../../utils/utils");
const cfg = require("./../../../conf/cfg.json")
const manageConfig = cfg.manage
const rtcConstant = require("../rtcConstant");
const rtcClientEvent = rtcConstant.rtcClientEvent
const check = require("./../../utils/check/content");
/**
* 管理后台登陆验证
* @param {*} io socketio对象
* @param {*} socket 单个socket连接
* @param {*} tables 数据表对象
* @param {*} dbClient sequelize-orm对象
* @param {*} data event参数
* @returns
*/
async function reload(io, socket, tables, dbClient, data){
try {
let {handshake, userAgent, ip} = utils.getSocketClientInfo(socket);
let tokens = rtcConfirm.getTokenList();
if (!data.token || !tokens.includes(data.token)) {
bussinessNotify.sendManageUpdateFailedNotify({
title: "管理后台非法刷新数据",
token: data.token,
room: data.room,
content: data.content,
userAgent: userAgent,
ip: ip
})
return
}
socket.emit(rtcClientEvent.manage, {
token: data.token,
socketId: socket.id,
title: manageConfig.title,
content: [{
title: "房间频道",
html: await bussinessManageRoomPage.getRoomPageHtml({
tables: tables,
dbClient: dbClient,
sockets: io.sockets,
day: data.content,
})
}, {
title: "数据传输",
html: await bussinessManageDataPage.getDataPageHtml({
tables: tables,
dbClient: dbClient,
sockets: io.sockets,
day: data.content,
})
}, {
title: "其他设置",
html: await bussinessManageSettingPage.getSettingPageHtml({
tables: tables,
dbClient: dbClient,
sid: socket.id,
ip: ip,
device: userAgent
})
}]
})
bussinessNotify.sendManageUpdateInfoNotify({
title: "管理后台重新获取配置",
token: data.token,
room: data.room,
content: JSON.stringify(data.content),
userAgent: userAgent,
ip: ip
})
} catch (e) {
utils.tlConsole(e)
socket.emit(rtcClientEvent.tips, {
room: data.room,
to: socket.id,
msg: "系统错误"
});
bussinessNotify.sendSystemErrorMsg({
title: "socket-manage-reload",
data: JSON.stringify(data),
room: data.room,
from : socket.id,
msg : JSON.stringify({
message: e.message,
fileName: e.fileName,
lineNumber: e.lineNumber,
stack: e.stack,
name: e.name
}, null, '\t')
})
}
}
module.exports = {
reload
}