Revert "Revert "Squashed commit of the following:""
This reverts commit b6edc491
This commit is contained in:
parent
3fc6f13c6a
commit
67ea7ef5ae
174
src/api/newChat.js
Normal file
174
src/api/newChat.js
Normal file
@ -0,0 +1,174 @@
|
||||
|
||||
import request from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 获取群列表
|
||||
* @param {String} groupId 房间号
|
||||
* @returns
|
||||
*/
|
||||
export function getGroupList(groupId) {
|
||||
return request({
|
||||
url: `/api/simulation/${groupId}/conversation/group/list`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建群
|
||||
* @param {String} groupId 房间号
|
||||
* @param {String} data
|
||||
* @param {String} data.name 群组名称
|
||||
* @param {String} data.imageUrl 群组头像
|
||||
* @param {Array} data.memberIds 角色id列表
|
||||
* @returns
|
||||
*/
|
||||
export function createGroup(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Create`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改群组名称
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {String} data.id 群组id
|
||||
* @param {String} data.name 群组名称
|
||||
* @returns
|
||||
*/
|
||||
export function updateGroupName(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Update_Name`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改群组群主
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @param {String} data.memberId 角色id
|
||||
* @returns
|
||||
*/
|
||||
export function updateGroupLeader(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Update_Leader`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 邀请人员入群
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @param {Array} data.memberIds 角色id列表
|
||||
* @returns
|
||||
*/
|
||||
export function inviteMemberToGroup(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Invite_Member`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除群内人员
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @param {Array} data.memberIds 角色id列表
|
||||
* @returns
|
||||
*/
|
||||
export function removeMemberFromGroup(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Remove_Member`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出群组
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @returns
|
||||
*/
|
||||
export function exitGroup(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Exit`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 解散群组
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @returns
|
||||
*/
|
||||
export function dissolveGroup(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Dissolve`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送语音信息
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @param {String} data.audioPath 文件地址
|
||||
* @param {String} data.content 语音内容
|
||||
* @returns
|
||||
*/
|
||||
export function sendAudio(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Audio_Chat`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送文字信息
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @param {String} data.content 文字内容
|
||||
* @returns
|
||||
*/
|
||||
export function sendText(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Text_Chat`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送BASE64信息
|
||||
* @param {String} groupId 房间号
|
||||
* @param {Object} data
|
||||
* @param {Number} data.id 群组id
|
||||
* @param {String} data.fileBase64Str 文件base64码
|
||||
* @returns
|
||||
*/
|
||||
export function sendBase64(groupId, data) {
|
||||
return request({
|
||||
url: `/simulation/${groupId}/operate/Conversation_Group_Audio_Base64`,
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
@ -512,7 +512,9 @@ export default {
|
||||
},
|
||||
Conversation: {
|
||||
CMD_Conversation_Chat_Text: {value: 'Conversation_Chat_Text', label: '发送文本消息'},
|
||||
CMD_Conversation_Chat_Audio_Base64: {value: 'Conversation_Chat_Audio_Base64', label: '发送语音消息'}
|
||||
CMD_Conversation_Chat_Audio_Base64: {value: 'Conversation_Chat_Audio_Base64', label: '发送语音消息'},
|
||||
CMD_Conversation_Group_Text_Chat: {value: 'Conversation_Group_Text_Chat', label: '发送会话群文字消息'},
|
||||
CMD_Conversation_Group_Audio_Base64: {value: 'Conversation_Group_Audio_Base64', label: '发送会话群语音消息'}
|
||||
},
|
||||
PSL: {
|
||||
CMD_PSL_PRESS_BUTTON: {value: 'PSL_PRESS_BUTTON', label: 'PSL按钮操作'}
|
||||
|
@ -120,6 +120,14 @@ const socket = {
|
||||
conversationMessage: {},
|
||||
controlTransfer: {},
|
||||
operationModeApplyList: [], // 模式转换消息列表
|
||||
conversationGroup: { // 群组
|
||||
JOIN: {}, // 创建或加入群组
|
||||
UPDATE_NAME: {}, // 更新名称
|
||||
UPDATE_MEMBER: {}, // 更新群成员
|
||||
EXIT: {}, // 退群
|
||||
MESSAGE: {}, // 消息
|
||||
MESSAGE_STATUS: {} // 消息状态
|
||||
},
|
||||
nccRunData: [] // ncc运行数据
|
||||
},
|
||||
getters: {
|
||||
@ -408,6 +416,17 @@ const socket = {
|
||||
}
|
||||
});
|
||||
},
|
||||
setConversationGroup: (state, message) => {
|
||||
if (state.conversationGroup[message.messageType] !== undefined) {
|
||||
state.conversationGroup[message.messageType] = message;
|
||||
}
|
||||
},
|
||||
resetConversationGroup: (state) => {
|
||||
const arr = ['JOIN', 'UPDATE_NAME', 'UPDATE_MEMBER', 'EXIT', 'MESSAGE', 'MESSAGE_STATUS'];
|
||||
arr.forEach(key => {
|
||||
state.conversationGroup[key] = {};
|
||||
});
|
||||
},
|
||||
handleNccRun: (state, list) => {
|
||||
state.nccRunData = list;
|
||||
}
|
||||
@ -649,6 +668,12 @@ const socket = {
|
||||
operationModeApply: ({ commit }, message) => {
|
||||
commit('operationModeApply', message);
|
||||
},
|
||||
setConversationGroup: ({ commit }, message) => {
|
||||
commit('setConversationGroup', message);
|
||||
},
|
||||
resetConversationGroup: ({ commit }) => {
|
||||
commit('resetConversationGroup');
|
||||
},
|
||||
handleNccRun: ({ commit }, message) => {
|
||||
commit('handleNccRun', message);
|
||||
}
|
||||
|
@ -106,6 +106,9 @@ function handle(data) {
|
||||
case 'Simulation_Member':
|
||||
store.dispatch('socket/memberChangeCountIncrease');
|
||||
break;
|
||||
case 'Simulation_Conversation_Group':
|
||||
store.dispatch('socket/setConversationGroup', msg);
|
||||
break;
|
||||
case 'Simulation_Time_Sync':
|
||||
store.dispatch('socket/setSimulationTimeSync', msg);
|
||||
break;
|
||||
|
64
src/views/newMap/display/newChat/index.vue
Normal file
64
src/views/newMap/display/newChat/index.vue
Normal file
@ -0,0 +1,64 @@
|
||||
<template>
|
||||
<div v-quickMenuDrag class="voice-chat-box">
|
||||
<div v-if="chatBoxMin" :id="sideButtonDom.domId" @click="clickBtn">
|
||||
<el-button circle style="color: #0C161A;" icon="el-icon-mic" />
|
||||
</div>
|
||||
<chatDialog ref="chatDialog" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import {UserOperationType} from '@/scripts/ConstDic';
|
||||
import chatDialog from './chatDialog';
|
||||
export default {
|
||||
name: 'ChatBox',
|
||||
components: {
|
||||
chatDialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
};
|
||||
},
|
||||
computed:{
|
||||
chatBoxMin() {
|
||||
return this.$store.state.training.chatBoxMin;
|
||||
},
|
||||
sideButtonDom() {
|
||||
return OperationEvent.Conversation.Chat.sideButton;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
clickBtn() {
|
||||
const operate = {
|
||||
operation: this.sideButtonDom.operation,
|
||||
param: { chatBoxMin: this.chatBoxMin },
|
||||
userOperationType: UserOperationType.LEFTCLICK
|
||||
};
|
||||
this.$store.dispatch('training/setChatBoxMin', false);
|
||||
this.$refs.chatDialog.dialogVisible = true;
|
||||
if (this.$store.state.trainingNew.trainingSwitch) {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('trainingNew/next', operate);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.voice-chat-box {
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
bottom: 50%;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
z-index: 2000;
|
||||
}
|
||||
</style>
|
||||
|
Loading…
Reference in New Issue
Block a user