From b1c62419aa9a4ebc4a470e94d061910f4b69a4cf Mon Sep 17 00:00:00 2001 From: "https://blog.iamtsm.cn" <1905333456@qq.com> Date: Sun, 20 Aug 2023 23:26:40 +0800 Subject: [PATCH] feat: socket heartbeat feat: video face mode feat: change nickname feat: update self connect css feat: docker-compose inner env fix: some lang error --- docker-compose-with-all-env.yml | 184 ++++++++++++++++++ svr/conf/cfg.json | 2 +- svr/res/css/index.css | 15 +- svr/res/index.html | 34 ++-- svr/res/js/index.js | 111 ++++++++++- svr/res/js/language.js | 8 + svr/res/js/videoShare.js | 4 +- svr/src/bussiness/notify/notifyHandler.js | 20 +- svr/src/socket/connect.js | 12 ++ .../rtcChangeNickName/changeNickName.js | 105 ++++++++++ svr/src/socket/rtcConstant.js | 8 + svr/src/socket/rtcHeartbeat/heartbeat.js | 26 +++ svr/static/layui/font-ext/demo_index.html | 75 ++++++- svr/static/layui/font-ext/iconfont.css | 18 +- svr/static/layui/font-ext/iconfont.js | 2 +- svr/static/layui/font-ext/iconfont.json | 21 ++ svr/static/layui/font-ext/iconfont.ttf | Bin 38572 -> 39952 bytes svr/static/layui/font-ext/iconfont.woff | Bin 22820 -> 23684 bytes svr/static/layui/font-ext/iconfont.woff2 | Bin 19456 -> 20236 bytes 19 files changed, 604 insertions(+), 41 deletions(-) create mode 100644 docker-compose-with-all-env.yml create mode 100644 svr/src/socket/rtcChangeNickName/changeNickName.js create mode 100644 svr/src/socket/rtcHeartbeat/heartbeat.js diff --git a/docker-compose-with-all-env.yml b/docker-compose-with-all-env.yml new file mode 100644 index 0000000..caa841b --- /dev/null +++ b/docker-compose-with-all-env.yml @@ -0,0 +1,184 @@ +## !!!!!!用于docker-compose部署并启动官方镜像!!!!!! +## !!!!!!内置配置的形式启动!!!!!!!!!!!!!!!!!!!!!!! + +version: '3' + +################## 按需修改好配置 +x-tlrtcfile-env: &tlrtcfile-env + ## api服务端口 + tl_rtc_file_api_port: 9092 + ## websocket服务端口 + tl_rtc_file_socket_port: 8444 + ## websocket服务地址 + tl_rtc_file_socket_host: 127.0.0.1:8444 + ## webrtc-stun中继服务地址 + tl_rtc_file_webrtc_stun_host: stun:127.0.0.1:3478 + ## webrtc-turn中继服务地址 + tl_rtc_file_webrtc_turn_host: turn:127.0.0.1:3478?transport=udp + ## webrtc中继服务用户名 + tl_rtc_file_webrtc_turn_username: tlrtcfile + ## webrtc中继服务密码 + tl_rtc_file_webrtc_turn_credential: tlrtcfile + ## webrtc中继服务Secret + tl_rtc_file_webrtc_turn_secret: tlrtcfile + ## webrtc中继服务帐号过期时间 (毫秒) + tl_rtc_file_webrtc_turn_expire: 86400000 + ## 是否开启数据库 + tl_rtc_file_db_open: true + ## 数据库地址 + tl_rtc_file_db_mysql_host: mysql + ## 数据库端口 + tl_rtc_file_db_mysql_port: 3306 + ## 数据库名称 + tl_rtc_file_db_mysql_dbName: webchat + ## 数据库用户名 + tl_rtc_file_db_mysql_user: tlrtcfile + ## 数据库密码 + tl_rtc_file_db_mysql_password: tlrtcfile + ## oss-seafile存储库ID + tl_rtc_file_oss_seafile_repoid: + ## oss-seafile地址 + tl_rtc_file_oss_seafile_host: + ## oss-seafile用户名 + tl_rtc_file_oss_seafile_username: + ## oss-seafile密码 + tl_rtc_file_oss_seafile_password: + ## oss-alyun存储accessKey + tl_rtc_file_oss_alyun_AccessKey: + ## oss-aly存储SecretKey + tl_rtc_file_oss_alyun_Secretkey: + ## oss-aly存储bucket + tl_rtc_file_oss_alyun_bucket: + ## oss-txyun存储accessKey + tl_rtc_file_oss_txyun_AccessKey: + ## oss-txyunt存储SecretKey + tl_rtc_file_oss_txyun_Secretkey: + ## oss-txyun存储bucket + tl_rtc_file_oss_txyun_bucket: + ## oss-qiniuyun存储accessKey + tl_rtc_file_oss_qiniuyun_AccessKey: + ## oss-qiniuyunt存储SecretKey + tl_rtc_file_oss_qiniuyun_Secretkey: + ## oss-qiniuyun存储bucket + tl_rtc_file_oss_qiniuyun_bucket: + ## 管理后台房间号 + tl_rtc_file_manage_room: tlrtcfile + ## 管理后台密码 + tl_rtc_file_manage_password: tlrtcfile + ## openai-key,如果有多个key,逗号分隔 + tl_rtc_file_openai_keys: + ## 企业微信通知开关 + tl_rtc_file_notify_open: false + ## 企业微信通知机器人KEY,正常通知,如果有多个key,逗号分隔 + tl_rtc_file_notify_qiwei_normal: + ## 企业微信通知机器人KEY,错误通知,如果有多个key,逗号分隔 + tl_rtc_file_notify_qiwei_error: + + +services: + + #http模式启动api服务 + api-http: + profiles: ['http'] + image: iamtsm/tl-rtc-file-api + container_name: api + environment: + <<: *tlrtcfile-env + tl_rtc_file_env_mode: http + command: + - tlapi + ports: + - 9092:9092 + links: + - mysql + depends_on: + - mysql + - coturn + + #https模式启动api服务 + api-https: + profiles: ['https'] + image: iamtsm/tl-rtc-file-api + container_name: api + environment: + <<: *tlrtcfile-env + tl_rtc_file_env_mode: https + command: + - tlapi + ports: + - 9092:9092 + links: + - mysql + depends_on: + - mysql + - coturn + + #http模式启动socket服务 + socket-http: + profiles: ['http'] + image: iamtsm/tl-rtc-file-socket + container_name: socket + command: + - tlsocket + environment: + <<: *tlrtcfile-env + tl_rtc_file_env_mode: http + ports: + - 8444:8444 + links: + - mysql + depends_on: + - mysql + - coturn + + #https模式启动socket服务 + socket-https: + profiles: ['https'] + image: iamtsm/tl-rtc-file-socket + container_name: socket + command: + - tlsocket + environment: + <<: *tlrtcfile-env + tl_rtc_file_env_mode: https + ports: + - 8444:8444 + links: + - mysql + depends_on: + - mysql + - coturn + + #mysql服务 + mysql: + profiles: ['http','https'] + image: iamtsm/tl-rtc-file-mysql + container_name: mysql + restart: always + environment: + #设置root密码 + MYSQL_ROOT_PASSWORD: tlrtcfile + #设置数据库 + MYSQL_DATABASE: webchat + #设置用户 + MYSQL_USER: tlrtcfile + #设置用户密码 + MYSQL_PASSWORD: tlrtcfile + ports: + - 3306:3306 + volumes: + - ./db:/var/lib/mysql + - ./my.cnf:/etc/mysql/conf.d/my.cnf + - ./log:/var/log/mysql + - ./init.sql:/docker-entrypoint-initdb.d/init.sql + + #coturn服务 + coturn: + profiles: ['http','https'] + image: iamtsm/tl-rtc-file-coturn + container_name: coturn + ports: + - "3478:3478/udp" + - "3478:3478/tcp" + volumes: + - ./turnserver-with-secret-user.conf:/etc/turnserver.conf \ No newline at end of file diff --git a/svr/conf/cfg.json b/svr/conf/cfg.json index 9c62bc4..c78f0f9 100644 --- a/svr/conf/cfg.json +++ b/svr/conf/cfg.json @@ -1,5 +1,5 @@ { - "version": "10.4.5", + "version": "10.4.6", "socket": { "port": "请到 tlrtcfile.env 中进行配置", "host": "请到 tlrtcfile.env 中进行配置" diff --git a/svr/res/css/index.css b/svr/res/css/index.css index cf36284..5cd0d0a 100644 --- a/svr/res/css/index.css +++ b/svr/res/css/index.css @@ -258,7 +258,6 @@ body { .tl-rtc-file-user { padding: 10px 20px 0px 10px; cursor: pointer; - background-color: rgb(248, 253, 255); border-radius: 10px; box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px; transition: box-shadow 0.3s; @@ -1081,7 +1080,6 @@ body { user-select: none; } - .chating_input_body{ bottom: 0px; position: absolute; @@ -1111,7 +1109,6 @@ body { border-radius: 5px; } - .remote_user_info{ text-align: left; padding: 20px 20px 0 20px; @@ -1142,7 +1139,7 @@ body { max-width: 40px; width: 5% !important; margin-left: 50% !important; - } +} .tl-rtc-file-tool-mobile { padding: 5px !important; @@ -1157,7 +1154,7 @@ body { word-break: keep-all !important; margin: 0 !important; bottom: 0 !important; - -webkit-transform-origin-x: 0 !important; + -webkit-transform-origin-x: 0 !important; transform: scale(0.6) !important; -webkit-transform: scale(0.6) !important; } @@ -1167,18 +1164,18 @@ body { margin: 10px 20px; border-radius: 8px; cursor: pointer; - transition: all 0.5s; + transition: all 0.3s; font-weight: bold; - color: #595252e3; + color: black; } .tl-rtc-file-live-user-choose svg{ - font-size: 3rem; + font-size: 2rem; margin-bottom: 5px; } .tl-rtc-file-live-user-choose:hover{ - color: black; + color: #79b0e8; } /* 500px以下 */ diff --git a/svr/res/index.html b/svr/res/index.html index 18a2736..bcaa55c 100644 --- a/svr/res/index.html +++ b/svr/res/index.html @@ -330,11 +330,13 @@
-
-
- +
+
+
+ +
【{{roomTypeName}}】- @@ -1035,13 +1037,18 @@
-
+
+ +
+
-
+
-
+
+
+ +
{{changeLiveShareMediaTrackAndStreamTime}}
-
+
-
+
-
+
文件传输通知 - ${data.title}` + + ` - ${data.room}\n` + + `库记录ID: ${data.recoderId}\n` + + `旧的昵称: ${data.oldNickName}\n` + + `新的昵称: ${data.nickName}\n` + + `当前时间: ${utils.formateDateTime(new Date(), "yyyy-MM-dd hh:mm:ss")}\n` + + `访问IP: ${data.ip}\n` + + `访问设备: ${data.userAgent}\n`; + notify.requestMsg(notifyMsg) +} + + /** * 发送文本内容通知 * @param {*} data @@ -507,5 +524,6 @@ module.exports = { prepareCodeFileNotify, sendSystemErrorMsg, sendStartRemoteDrawNotify, - sendStopRemoteDrawNotify + sendStopRemoteDrawNotify, + sendChangeNickNameNotify } \ No newline at end of file diff --git a/svr/src/socket/connect.js b/svr/src/socket/connect.js index be6aaa2..8fc9fc2 100644 --- a/svr/src/socket/connect.js +++ b/svr/src/socket/connect.js @@ -15,6 +15,8 @@ const rtcChatingRoom = require("./rtcChatingRoom/chatingRoom"); const rtcOpenai = require("./rtcOpenai/openai"); const rtcDraw = require("./rtcDraw/draw"); const rtcPrepareCodeFile = require("./rtcCodeFile/prepareCodeFile"); +const rtcChangeNickName = require("./rtcChangeNickName/changeNickName") +const rtcHeartbeat = require("./rtcHeartbeat/heartbeat"); const rtcAddCodeFile = require("./rtcCodeFile/addCodeFile"); const rtcGetCodeFile = require("./rtcCodeFile/getCodeFile"); const rtcServerEvent = require("./rtcConstant").rtcServerEvent @@ -118,4 +120,14 @@ module.exports = (io, socket, tables, dbClient) => { socket.on(rtcServerEvent.getCodeFile, (data) => { rtcGetCodeFile.getCodeFile(io, socket, tables, dbClient, data) }); + + // 心跳 + socket.on(rtcServerEvent.heartbeat, (data) => { + rtcHeartbeat.heartbeat(io, socket, tables, dbClient, data) + }); + + // 修改昵称 + socket.on(rtcServerEvent.changeNickName, (data) => { + rtcChangeNickName.changeNickName(io, socket, tables, dbClient, data) + }); } \ No newline at end of file diff --git a/svr/src/socket/rtcChangeNickName/changeNickName.js b/svr/src/socket/rtcChangeNickName/changeNickName.js new file mode 100644 index 0000000..165cb91 --- /dev/null +++ b/svr/src/socket/rtcChangeNickName/changeNickName.js @@ -0,0 +1,105 @@ +const daoDog = require("./../../dao/dog/dog") +const bussinessNotify = require("./../../bussiness/notify/notifyHandler") +const utils = require("./../../utils/utils"); +const rtcConstant = require("../rtcConstant"); +const rtcClientEvent = rtcConstant.rtcClientEvent +const check = require("../../bussiness/check/content"); + +/** + * 房间内更新昵称 + * 指定了to : 就会发送给指定的用户 + * 没有指定to : 广播给除了自己外的房间内的所有用户 + * @param {*} io socketio对象 + * @param {*} socket 单个socket连接 + * @param {*} tables 数据表对象 + * @param {*} dbClient sequelize-orm对象 + * @param {*} data event参数 + * @returns + */ +async function changeNickName(io, socket, tables, dbClient, data){ + try { + let {handshake, userAgent, ip} = utils.getSocketClientInfo(socket); + + let { nickName = '', preNickName = ''} = data; + + if(nickName && nickName.length > 10){ + nickName = nickName.toString().substr(0, 9); + } + + await daoDog.addDogData({ + name: "修改个人昵称", + roomId: data.room || "", + socketId: "", + device: userAgent, + flag: 0, + content: JSON.stringify(data), + handshake: JSON.stringify(handshake), + ip: ip + }, tables, dbClient); + + data.nickName = check.contentFilter(nickName); + + bussinessNotify.sendChangeNickNameNotify({ + title: "修改个人昵称", + room: data.room, + nickName: data.nickName, + preNickName: preNickName, + userAgent: userAgent, + ip: ip + }) + + //更新下服务端存下的昵称 + io.sockets.connected[socket.id].nickName = nickName; + + // 指定发送 + if(data.to && data.to !== ''){ + let toOtherSocket = io.sockets.connected[data.to]; + if(toOtherSocket){ + toOtherSocket.emit(rtcClientEvent.chatingRoom, data); + } + return + } + + // 没指定,走广播(除了自己) + let clientsInRoom = io.sockets.adapter.rooms[data.room]; + if (!clientsInRoom) { + return + } + let otherSocketIds = Object.keys(clientsInRoom.sockets); + for (let i = 0; i < otherSocketIds.length; i++) { + if(data.from === otherSocketIds[i]){ //跳过自己 + continue; + } + let otherSocket = io.sockets.connected[otherSocketIds[i]]; + if(!otherSocket){ + continue; + } + otherSocket.emit(rtcClientEvent.changeNickName, data); + } + + } catch (e) { + utils.tlConsole(e) + socket.emit("tips", { + room: data.room, + to: socket.id, + msg: "系统错误" + }); + bussinessNotify.sendSystemErrorMsg({ + title: "socket-changeNickName", + 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 = { + changeNickName +} \ No newline at end of file diff --git a/svr/src/socket/rtcConstant.js b/svr/src/socket/rtcConstant.js index 03895da..e434ab9 100644 --- a/svr/src/socket/rtcConstant.js +++ b/svr/src/socket/rtcConstant.js @@ -44,6 +44,10 @@ const rtcServerEvent = { addCodeFile : "addCodeFile", //获取取件码文件 getCodeFile : "getCodeFile", + //心跳 + heartbeat : "heartbeat", + //修改昵称 + changeNickName : "changeNickName", } /** @@ -124,6 +128,10 @@ let rtcClientEvent = { addCodeFile : "addCodeFile", //获取取件码文件 getCodeFile : "getCodeFile", + //心跳 + heartbeat : "heartbeat", + //修改昵称 + changeNickName : "changeNickName", } /** diff --git a/svr/src/socket/rtcHeartbeat/heartbeat.js b/svr/src/socket/rtcHeartbeat/heartbeat.js new file mode 100644 index 0000000..09e9c03 --- /dev/null +++ b/svr/src/socket/rtcHeartbeat/heartbeat.js @@ -0,0 +1,26 @@ +const rtcConstant = require("../rtcConstant"); +const rtcClientEvent = rtcConstant.rtcClientEvent +const utils = require("../../../src/utils/utils"); + +/** + * 心跳 + * @param {*} io socketio对象 + * @param {*} socket 单个socket连接 + * @param {*} tables 数据表对象 + * @param {*} dbClient sequelize-orm对象 + * @param {*} data event参数 + * @returns + */ +async function heartbeat(io, socket, tables, dbClient, data){ + try{ + socket.emit(rtcClientEvent.heartbeat, { + status : "ok" + }) + }catch(e){ + utils.tlConsole(e) + } +} + +module.exports = { + heartbeat +} \ No newline at end of file diff --git a/svr/static/layui/font-ext/demo_index.html b/svr/static/layui/font-ext/demo_index.html index a3e98ce..12a2c2e 100644 --- a/svr/static/layui/font-ext/demo_index.html +++ b/svr/static/layui/font-ext/demo_index.html @@ -54,6 +54,24 @@
    +
  • + +
    相机反转
    +
    &#xe6de;
    +
  • + +
  • + +
    奖杯7-3
    +
    &#xe6bc;
    +
  • + +
  • + +
    奖杯
    +
    &#xe6ea;
    +
  • +
  • 老师
    @@ -708,9 +726,9 @@
    @font-face {
       font-family: 'iconfont';
    -  src: url('iconfont.woff2?t=1692323109723') format('woff2'),
    -       url('iconfont.woff?t=1692323109723') format('woff'),
    -       url('iconfont.ttf?t=1692323109723') format('truetype');
    +  src: url('iconfont.woff2?t=1692448975663') format('woff2'),
    +       url('iconfont.woff?t=1692448975663') format('woff'),
    +       url('iconfont.ttf?t=1692448975663') format('truetype');
     }
     

    第二步:定义使用 iconfont 的样式

    @@ -736,6 +754,33 @@
      +
    • + +
      + 相机反转 +
      +
      .icon-rtc-file-xiangjifanzhuan +
      +
    • + +
    • + +
      + 奖杯7-3 +
      +
      .icon-rtc-file-jiangbei- +
      +
    • + +
    • + +
      + 奖杯 +
      +
      .icon-rtc-file-jiangbei +
      +
    • +
    • @@ -1717,6 +1762,30 @@
        +
      • + +
        相机反转
        +
        #icon-rtc-file-xiangjifanzhuan
        +
      • + +
      • + +
        奖杯7-3
        +
        #icon-rtc-file-jiangbei-
        +
      • + +
      • + +
        奖杯
        +
        #icon-rtc-file-jiangbei
        +
      • +
      • +2J4}Wmfn%1*mTOVz6 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 YUfix0+KaoZX6ub=wf+INF>j6l07wyLUH||9 diff --git a/svr/static/layui/font-ext/iconfont.woff2 b/svr/static/layui/font-ext/iconfont.woff2 index 0de04cc8994b28c09c11845dadeb25d232609e4a..151242cf7845eaaae01f7918fc2320e848c3c8b0 100644 GIT binary patch literal 20236 zcmV(}K+wN;Pew8T0RR9108b163jhEB0Gtp208Y370RR9100000000000000000000 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 X1>B2Gh0B4nOj746IUiSiG~*TkDjnHS