From 54187034df43cd573b648452e29454fe1d47ff5c Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Thu, 20 Feb 2025 14:19:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 3 ++- pages/form/index.ts | 12 +++++++++++ pages/meeting/index.scss | 8 +++++-- pages/meeting/index.ts | 46 ++++++++++++++++++++++++++++++++++++---- pages/meeting/index.wxml | 16 +++++++++++--- utils/singlr.ts | 9 ++++++++ 6 files changed, 84 insertions(+), 10 deletions(-) diff --git a/app.json b/app.json index 75e9f5f..2d145fd 100644 --- a/app.json +++ b/app.json @@ -14,7 +14,8 @@ "t-message": "tdesign-miniprogram/message/message", "t-dialog": "tdesign-miniprogram/dialog/dialog", "t-popup": "tdesign-miniprogram/popup/popup", - "t-cell": "tdesign-miniprogram/cell/cell" + "t-cell": "tdesign-miniprogram/cell/cell", + "t-toast": "tdesign-miniprogram/toast/toast" }, "entryPagePath": "pages/form/index", "window": { diff --git a/pages/form/index.ts b/pages/form/index.ts index 285d306..6508db7 100644 --- a/pages/form/index.ts +++ b/pages/form/index.ts @@ -222,6 +222,18 @@ Page({ }) return } + if (this.data.meetingForm.roomName.length > 10) { + Message.error({ + context: this, + offset: [90, 32], + duration: 3000, + content: '入会名称最多10个字!', + }); + this.setData({ + isJoin: false + }) + return + } GetCheckoutRoomNum(this.data.meetingForm.roomNum).then(async res => { if (res.code === 200) { if (res.data) { diff --git a/pages/meeting/index.scss b/pages/meeting/index.scss index 5a074ce..b291836 100644 --- a/pages/meeting/index.scss +++ b/pages/meeting/index.scss @@ -344,14 +344,18 @@ flex-grow: 1; &-text { - flex-grow: 1; color: white; font-size: 14rpx; margin: 0 2rpx; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; - width: 0; + max-width: 100rpx; + } + + &-me { + color: white; + font-size: 14rpx; } } diff --git a/pages/meeting/index.ts b/pages/meeting/index.ts index 16d9c05..8224c4c 100644 --- a/pages/meeting/index.ts +++ b/pages/meeting/index.ts @@ -3,7 +3,7 @@ import { GetRoomRtcToken } from '../../api/form/index' import { agora } from '../../utils/agora' import { onInvoke, onSignalr, getSignIr, offSignalr, onStop } from '../../utils/singlr' import { role, getStorage } from '../../utils/utils' -import { Message } from 'tdesign-miniprogram'; +import { Message, Toast } from 'tdesign-miniprogram'; import * as signalR from "signalr-for-wx"; import dayjs from 'dayjs'; const computedBehavior = require('miniprogram-computed').behavior; @@ -88,11 +88,13 @@ Page({ leaveDialog: false, userPopupVisible: false, chatPopupVisible: false, + inputPopupVisible: false, isFullscreen: false, muted: false, currentRequestSpeakType: '', user: '', messageStr: '', + inputStr: '', commonlyChatList: [ '能听到我说话吗?', '听得到', @@ -366,6 +368,20 @@ Page({ isAutoApplySpeakTime = '' } }, + showInputPopup() { + this.setData({ + inputPopupVisible: true, + inputStr: this.data.messageStr, + chatPopupVisible: false + }) + }, + hideInputPopup() { + this.setData({ + inputPopupVisible: false, + messageStr: this.data.inputStr, + chatPopupVisible: true + }) + }, confirmIsAutoApplySpeakDialog() { if (!this.data.isClicked) { GetApplySpeak(this.data.channelId).then(res => { @@ -605,6 +621,10 @@ Page({ // 显示设备列表 case 'ShowDriverList': + break; + // 修改用户名称 + case 'ModifyNickName': + this.setAllUserListData('ModifyNickName', item) break; case 'SetSpeaker': await onInvoke('SetSpeakerCallback', item.RoomManagerInputDTO) @@ -677,9 +697,6 @@ Page({ item.isRoom = true; item.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager item.avatarName = item.userName?.slice(-2) - if (item.uid === this.data.user.uid) { - item.userName = item.userName + '(我)' - } }) this.setData({ roomUserList: res.data @@ -687,6 +704,13 @@ Page({ } }) }, + showMultiText(e) { + Toast({ + context: this, + selector: '#t-toast', + message: e.currentTarget.dataset.item.userName, + }); + }, async getShowUser(): Promise { await GetShowUser(this.data.channelId).then(async (res) => { if (res.code === 200 && res.data) { @@ -785,6 +809,15 @@ Page({ roomUserList }) break; + case 'ModifyNickName': + let row = roomUserList.find((row: any) => row.uid == item.uid) + if (row) { + row.userName = item.nickName + } + this.setData({ + roomUserList + }) + break; } this.changeAgoraDevice() }, @@ -1064,6 +1097,11 @@ Page({ messageStr: e.detail.value }) }, + changeInputStr(e) { + this.setData({ + inputStr: e.detail.value + }) + }, async sendMeg(e) { if (this.data.messageStr || e.target.dataset.item) { await onInvoke('sendChannelMsg', { diff --git a/pages/meeting/index.wxml b/pages/meeting/index.wxml index bb4018b..93ed59d 100644 --- a/pages/meeting/index.wxml +++ b/pages/meeting/index.wxml @@ -98,9 +98,10 @@ - + {{item.avatarName}} {{item.userName}} + (我) @@ -130,10 +131,19 @@ - + 发送 + + + 确认 + {{inputStr.length}}/30 + + + + - \ No newline at end of file + + \ No newline at end of file diff --git a/utils/singlr.ts b/utils/singlr.ts index 1f0efe8..41006ab 100644 --- a/utils/singlr.ts +++ b/utils/singlr.ts @@ -201,6 +201,14 @@ export const onSignalr = (callBack: Function) => { driversJsonString }) }); + // 修改用户名称 + connection.on("ModifyNickName", (uid, nickName) => { + callBack({ + key: 'ModifyNickName', + uid, + nickName + }) + }); // 设置发言人 connection.on("SetSpeaker", (RoomManagerInputDTO) => { callBack({ @@ -271,6 +279,7 @@ export const offSignalr = () => { connection.off('DriverList'); connection.off('SetDriver'); connection.off('ShowDriverList'); + connection.off('ModifyNickName'); connection.off('SetSpeaker'); connection.off('ReceivedOperation'); }