mdm-client 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +72 -67
  3. package/src/assets/image/common/layout-active16.png +0 -0
  4. package/src/assets/image/common/layout-active25.png +0 -0
  5. package/src/assets/image/common/layout-active3.png +0 -0
  6. package/src/assets/image/common/layout-active9.png +0 -0
  7. package/src/assets/image/common/layout16.png +0 -0
  8. package/src/assets/image/common/layout25.png +0 -0
  9. package/src/assets/image/common/layout3.png +0 -0
  10. package/src/assets/image/common/layout9.png +0 -0
  11. package/src/assets/image/common/mirror.png +0 -0
  12. package/src/assets/image/common/rotate_icon1.png +0 -0
  13. package/src/assets/image/common/rotate_icon2.png +0 -0
  14. package/src/assets/image/common/rotate_icon3.png +0 -0
  15. package/src/assets/image/common/rotate_icon4.png +0 -0
  16. package/src/assets/style/base.scss +5 -0
  17. package/src/components/LiveMulti/LiveMulti.vue +27 -6
  18. package/src/components/LiveMultipleMeeting/LiveMultipleMeeting.vue +1163 -99
  19. package/src/components/LiveMultipleMeeting/style/index.scss +145 -14
  20. package/src/components/LivePoint/LivePoint.vue +71 -208
  21. package/src/components/LivePointMeeting/LivePointMeeting.vue +223 -13
  22. package/src/components/LivePointMeeting/style/index.scss +35 -0
  23. package/src/components/MeetingReadyDialog/MeetingReadyDialog.vue +96 -14
  24. package/src/components/MiniumVideoDialog/MiniumVideoDialog.vue +185 -50
  25. package/src/components/other/addressBook.vue +137 -20
  26. package/src/components/other/appointDialog.vue +1 -1
  27. package/src/components/other/customLayout.vue +368 -202
  28. package/src/components/other/layoutSwitch.vue +253 -37
  29. package/src/components/other/leadershipFocus.vue +422 -0
  30. package/src/components/other/leaveOptionDialog.vue +1 -1
  31. package/src/components/other/moreOptionDialog.vue +17 -1
  32. package/src/components/other/screenShareBoard.vue +2 -2
  33. package/src/components/other/selectDialog.vue +1 -1
  34. package/src/components/other/selectSpecialDialog.vue +1 -1
  35. package/src/utils/api.js +19 -0
  36. package/src/utils/livekit/live-client-esm.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mdm-client",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "private": false,
5
5
  "main": "index.js",
6
6
  "author": {
package/src/App.vue CHANGED
@@ -16,6 +16,7 @@
16
16
  <LiveMulti
17
17
  :inviteList="inviteList"
18
18
  :deviceList="deviceList"
19
+ :meetingTerminals="meetingTerminals"
19
20
  :inviteData="inviteData"
20
21
  :tempRoomName="tempRoomName"
21
22
  :tempRoomNum="tempRoomNum"
@@ -26,6 +27,7 @@
26
27
  :org="org"
27
28
  :baseUrl="baseUrl"
28
29
  :token="token"
30
+ :addressBookTabList="['人员', '会议终端', 'volte', '设备']"
29
31
  ref="liveMultiRef"
30
32
  @inviteReceiveClose="closeMultiInviteReceive"
31
33
  />
@@ -34,35 +36,37 @@
34
36
 
35
37
  <script>
36
38
  import { mittBus, ShowMessage } from "./utils/index.js";
37
- import LiveClient from './utils/livekit/live-client-esm.js';
39
+ import LiveClient from "./utils/livekit/live-client-esm.js";
38
40
 
39
41
  export default {
40
- name: 'App',
42
+ name: "App",
41
43
  data() {
42
44
  return {
43
45
  livePointRef: null,
44
46
  liveMultiRef: null,
45
47
  isCallBoardShow: false,
46
48
  isMeetingReadyDialogShow: false,
47
- tempRoomName: '',
48
- tempRoomNum: '',
49
- meetingReadyDialogType: 'launch',
50
- defaultCallNum: '',
49
+ tempRoomName: "",
50
+ tempRoomNum: "",
51
+ meetingReadyDialogType: "launch",
52
+ defaultCallNum: "",
51
53
  inviteList: [],
52
54
  deviceList: [],
55
+ meetingTerminals: [],
53
56
  userData: {
54
- userId: 'liujinbo',
55
- username: 'test01',
56
- mobile: '18151665421',
57
- officeName: 'test_department',
57
+ userId: "liujinbo",
58
+ username: "test01",
59
+ mobile: "18151665421",
60
+ officeName: "test_department",
58
61
  },
59
- org: '7906019982501000',
62
+ org: "7906019982501000",
60
63
  isPointInviteReceiveShow: false,
61
64
  isMultiInviteReceiveShow: false,
62
65
  inviteData: {},
63
66
  baseUrl: "https://10.2.12.103:8443",
64
67
  roomServerUrl: "wss://10.2.12.103:8443",
65
- token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJMb2dpbkluZm8iOnsibG9naW5Db2RlIjoibGl1amluYm8iLCJ1c2VyTmFtZSI6IuWImOmUpuazoiIsInRlbmFudElEIjo3OTA2MDE5OTgyNTAxMDAwLCJkZXB0VHJlZSI6Ijc5MDYwNzA4NTA5MDEwMDAvNzkwNzk1MzkyNjcwMTAwMCIsInVzZXJJRCI6NzkwNjI1NzUyOTgwMTAwMCwicm9sZUlEIjo3OTA2MDc0MzkyMDAxMDAwLCJ2ZXJzaW9uSUQiOjc5MDc5NDk3NjQyMDEwMDB9LCJwbGF0Zm9ybUlEIjowLCJwaG9uZSI6IiIsImV4cCI6MTc1OTc3MDA5OCwiaWF0IjoxNzU5MDUwMDk4fQ.XZ5Lx7dgBGNnrpoAOeauibgl0H8vLV9zij7qXv6n6vE",
68
+ token:
69
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJMb2dpbkluZm8iOnsibG9naW5Db2RlIjoibGl1amluYm8iLCJ1c2VyTmFtZSI6IuWImOmUpuazoiIsInRlbmFudElEIjo3OTA2MDE5OTgyNTAxMDAwLCJkZXB0VHJlZSI6Ijc5MDYwNzA4NTA5MDEwMDAvNzkwNzk1MzkyNjcwMTAwMCIsInVzZXJJRCI6NzkwNjI1NzUyOTgwMTAwMCwicm9sZUlEIjo3OTA2MDc0MzkyMDAxMDAwLCJ2ZXJzaW9uSUQiOjc5MDc5NDk3NjQyMDEwMDB9LCJwbGF0Zm9ybUlEIjowLCJwaG9uZSI6IiIsImV4cCI6MTc2NDA5MzM3MCwiaWF0IjoxNzYzMzczMzcwfQ.sWfU8eZPDc05YIgstuI40C-lDvXZq3G30b-j9qAxWGg",
66
70
  liveClient: null,
67
71
  showMessage: null,
68
72
  };
@@ -79,9 +83,10 @@ export default {
79
83
  },
80
84
  methods: {
81
85
  launchMultiMeeting(e) {
82
- this.meetingReadyDialogType = 'launch';
86
+ this.meetingReadyDialogType = "launch";
83
87
  this.inviteList = e?.inviteList ? e.inviteList : [];
84
88
  this.deviceList = e?.deviceList ? e.deviceList : [];
89
+ this.meetingTerminals = e?.meetingTerminals ? e.meetingTerminals : [];
85
90
  this.isMeetingReadyDialogShow = true;
86
91
  },
87
92
  multiMeetingAppeInvite(e) {
@@ -90,12 +95,12 @@ export default {
90
95
  }
91
96
  },
92
97
  joinMultiMeeting(e) {
93
- this.meetingReadyDialogType = 'join';
98
+ this.meetingReadyDialogType = "join";
94
99
  this.tempRoomNum = e.roomNum;
95
100
  this.isMeetingReadyDialogShow = true;
96
101
  },
97
102
  openCallBoardDialog(e) {
98
- this.defaultCallNum = e?.defaultCallNum || '';
103
+ this.defaultCallNum = e?.defaultCallNum || "";
99
104
  this.isCallBoardShow = true;
100
105
  },
101
106
  openPointInviteReceive(e) {
@@ -113,22 +118,22 @@ export default {
113
118
  this.isMultiInviteReceiveShow = false;
114
119
  },
115
120
  makePointCall(e) {
116
- if (e.type === 'voice') {
121
+ if (e.type === "voice") {
117
122
  this.$refs.livePointRef.makeVoiceCall({
118
- inviteName: e?.inviteName || '',
119
- invitePhone: e?.callNum || '',
123
+ inviteName: e?.inviteName || "",
124
+ invitePhone: e?.callNum || "",
120
125
  inviteType: e?.inviteType || 0,
121
126
  });
122
- } else if (e.type === 'video') {
127
+ } else if (e.type === "video") {
123
128
  this.$refs.livePointRef.makeVideoCall({
124
- inviteName: e?.inviteName || '',
125
- invitePhone: e?.callNum || '',
129
+ inviteName: e?.inviteName || "",
130
+ invitePhone: e?.callNum || "",
126
131
  inviteType: e?.inviteType || 0,
127
132
  });
128
- } else if (e.type === 'miniLink') {
133
+ } else if (e.type === "miniLink") {
129
134
  this.$refs.livePointRef.makeMiniCall({
130
- inviteName: e?.inviteName || '',
131
- invitePhone: e?.callNum || '',
135
+ inviteName: e?.inviteName || "",
136
+ invitePhone: e?.callNum || "",
132
137
  inviteType: e?.inviteType || 0,
133
138
  });
134
139
  }
@@ -142,7 +147,7 @@ export default {
142
147
  }
143
148
  },
144
149
  initLiveClient() {
145
- this.tempRoomName = this.userData.username + '的视频会议';
150
+ this.tempRoomName = this.userData.username + "的视频会议";
146
151
  const initParams = {
147
152
  userId: this.userData.userId,
148
153
  org: this.org,
@@ -152,32 +157,32 @@ export default {
152
157
  roomServerUrl: this.roomServerUrl,
153
158
  token: this.token,
154
159
  };
155
- console.log('initParams', initParams);
160
+ console.log("initParams", initParams);
156
161
  this.liveClient = new LiveClient(initParams);
157
162
  this.initLiveClientEvent();
158
- window['liveClient'] = this.liveClient;
159
- mittBus.emit('liveClientInitSuccess');
163
+ window["liveClient"] = this.liveClient;
164
+ mittBus.emit("liveClientInitSuccess");
160
165
  },
161
166
  initLiveClientEvent() {
162
167
  if (!this.liveClient) {
163
168
  this.showMessage.error({
164
- message: 'liveClient实例未初始化',
169
+ message: "liveClient实例未初始化",
165
170
  });
166
171
  return;
167
172
  }
168
- this.liveClient.on('socketOpen', () => {
169
- console.log('websocket链接建立成功');
173
+ this.liveClient.on("socketOpen", () => {
174
+ console.log("websocket链接建立成功");
170
175
  });
171
- this.liveClient.on('receiveInviteSuccess', e => {
172
- console.log('收到会议邀请', e);
176
+ this.liveClient.on("receiveInviteSuccess", (e) => {
177
+ console.log("收到会议邀请", e);
173
178
  if (e.isP2P == 1) {
174
179
  this.openPointInviteReceive(e);
175
180
  } else {
176
181
  this.openMultiInviteReceive(e);
177
182
  }
178
183
  });
179
- this.liveClient.on('receiveInviteCancel', e => {
180
- console.log('收到会议邀请撤回', e);
184
+ this.liveClient.on("receiveInviteCancel", (e) => {
185
+ console.log("收到会议邀请撤回", e);
181
186
  if (this.isPointInviteReceiveShow && this.inviteData.roomNum === e.roomNum) {
182
187
  this.closePointInviteReceive();
183
188
  }
@@ -189,7 +194,7 @@ export default {
189
194
  removeAllEvent() {
190
195
  if (!this.liveClient) {
191
196
  this.showMessage.error({
192
- message: 'liveClient实例未初始化',
197
+ message: "liveClient实例未初始化",
193
198
  });
194
199
  return;
195
200
  }
@@ -198,45 +203,45 @@ export default {
198
203
  resetLiveClient() {
199
204
  if (this.liveClient) {
200
205
  this.liveClient.closeSocket();
201
- window['liveClient'] = null;
206
+ window["liveClient"] = null;
202
207
  this.liveClient = null;
203
208
  }
204
209
  },
205
210
  addBusEvent() {
206
- mittBus.on('launchMultiMeeting', this.launchMultiMeeting);
207
- mittBus.on('multiMeetingAppeInvite', this.multiMeetingAppeInvite);
208
- mittBus.on('openPointMeetingBoard', this.openCallBoardDialog);
209
- mittBus.on('launchPointMeeting', this.launchPointMeeting);
210
- mittBus.on('joinMultiMeeting', this.joinMultiMeeting);
211
- mittBus.on('makeCall', this.makePointCall);
212
- mittBus.on('pullMonitorDevice', this.pullMonitorDevice);
211
+ mittBus.on("launchMultiMeeting", this.launchMultiMeeting);
212
+ mittBus.on("multiMeetingAppeInvite", this.multiMeetingAppeInvite);
213
+ mittBus.on("openPointMeetingBoard", this.openCallBoardDialog);
214
+ mittBus.on("launchPointMeeting", this.launchPointMeeting);
215
+ mittBus.on("joinMultiMeeting", this.joinMultiMeeting);
216
+ mittBus.on("makeCall", this.makePointCall);
217
+ mittBus.on("pullMonitorDevice", this.pullMonitorDevice);
213
218
  },
214
219
  removeBusEvent() {
215
- mittBus.off('launchMultiMeeting', this.launchMultiMeeting);
216
- mittBus.off('multiMeetingAppeInvite', this.multiMeetingAppeInvite);
217
- mittBus.off('openPointMeetingBoard', this.openCallBoardDialog);
218
- mittBus.off('launchPointMeeting', this.launchPointMeeting);
219
- mittBus.off('joinMultiMeeting', this.joinMultiMeeting);
220
- mittBus.off('makeCall', this.makePointCall);
221
- mittBus.off('pullMonitorDevice', this.pullMonitorDevice);
220
+ mittBus.off("launchMultiMeeting", this.launchMultiMeeting);
221
+ mittBus.off("multiMeetingAppeInvite", this.multiMeetingAppeInvite);
222
+ mittBus.off("openPointMeetingBoard", this.openCallBoardDialog);
223
+ mittBus.off("launchPointMeeting", this.launchPointMeeting);
224
+ mittBus.off("joinMultiMeeting", this.joinMultiMeeting);
225
+ mittBus.off("makeCall", this.makePointCall);
226
+ mittBus.off("pullMonitorDevice", this.pullMonitorDevice);
222
227
  },
223
228
  openMeeingReadyDialog() {
224
229
  this.launchMultiMeeting({
225
- inviteList: [
226
- {
227
- id: '7906257529801000',
228
- label: 'test01',
229
- phone: '18151665421',
230
- source: '外部'
231
- },
232
- {
233
- id: '7906257529801001',
234
- label: 'test03',
235
- phone: '17382678367',
236
- source: 'volte'
237
- }
238
- ],
239
- deviceList: [],
230
+ // inviteList: [
231
+ // {
232
+ // id: "7906257529801001",
233
+ // label: "利哥测试手机",
234
+ // phone: "13218096827",
235
+ // source: "volte",
236
+ // },
237
+ // ],
238
+ // deviceList: [],
239
+ // meetingTerminals: [
240
+ // {
241
+ // id: "8960067290301000",
242
+ // label: "华为会议T100",
243
+ // }
244
+ // ],
240
245
  });
241
246
  },
242
247
  },
@@ -249,4 +254,4 @@ export default {
249
254
  height: 100%;
250
255
  text-align: center;
251
256
  }
252
- </style>
257
+ </style>
@@ -148,6 +148,11 @@
148
148
  --default-avatar-mini: url("../image/common/default_avatar_mini.png");
149
149
  --yq-icon: url("../image/screenBlue/yq.png");
150
150
  --add-icon: url("../image/screenBlue/add.png");
151
+ --meeting-loading-icon: url("../image/common/loading.png");
152
+ --rotate-icon1: url("../image/common/rotate_icon1.png");
153
+ --rotate-icon2: url("../image/common/rotate_icon2.png");
154
+ --rotate-icon3: url("../image/common/rotate_icon3.png");
155
+ --rotate-icon4: url("../image/common/rotate_icon4.png");
151
156
  }
152
157
 
153
158
  * {
@@ -28,12 +28,16 @@
28
28
  :joinType="multiMeetingData.joinType"
29
29
  :tempInviteList="inviteList"
30
30
  :deviceList="deviceList"
31
+ :meetingTerminals="meetingTerminals"
31
32
  :miniPagePath="miniPagePath"
32
33
  :baseUrl="baseUrl"
33
34
  :userData="userData"
34
35
  :isInMeeting="isInMeeting"
35
36
  :org="org"
36
37
  :token="token"
38
+ :isMirror="multiMeetingData.isMirror"
39
+ :isVoiceMotivationOpen="isVoiceMotivationOpen"
40
+ :address-book-tab-list="addressBookTabList"
37
41
  @multiMeetingClose="closeMultiMeeting"
38
42
  @miniInviteSend="sendMiniInvite"
39
43
  @inviteMessageSend="sendMessageInvite"
@@ -102,6 +106,10 @@ export default {
102
106
  type: Array,
103
107
  default: () => []
104
108
  },
109
+ meetingTerminals: {
110
+ type: Array,
111
+ default: () => [],
112
+ },
105
113
  miniPagePath: {
106
114
  type: String,
107
115
  default: ""
@@ -133,7 +141,17 @@ export default {
133
141
  value: {
134
142
  type: Boolean,
135
143
  default: false
136
- }
144
+ },
145
+ // 通讯录可见的标签页配置
146
+ addressBookTabList: {
147
+ type: Array,
148
+ default: () => ["组织架构", "人员", "会议终端", "volte", "设备", "监控", "常用分组"],
149
+ },
150
+ // 语音激励开关
151
+ isVoiceMotivationOpen: {
152
+ type: Boolean,
153
+ default: false,
154
+ },
137
155
  },
138
156
  data() {
139
157
  return {
@@ -148,7 +166,8 @@ export default {
148
166
  audioInputDevice: "",
149
167
  audioOutputDevice: "",
150
168
  videoDevice: "",
151
- joinType: "launch"
169
+ joinType: "launch",
170
+ isMirror: false
152
171
  },
153
172
  trackData: {},
154
173
  isInMeeting: false
@@ -190,7 +209,8 @@ export default {
190
209
  audioInputDevice: "",
191
210
  audioOutputDevice: "",
192
211
  videoDevice: "",
193
- joinType: "launch"
212
+ joinType: "launch",
213
+ isMirror: false
194
214
  };
195
215
  this.isMeetingDialogShow = true;
196
216
  },
@@ -217,10 +237,10 @@ export default {
217
237
  }
218
238
  })
219
239
  },
220
- pullMonitorDevice(monitorID, monitorName) {
240
+ pullMonitorDevice(monitorID, monitorName, integrationType = 0) {
221
241
  if (this.$refs.liveMultipleMeetingRef) {
222
242
  if (this.isInMeeting) {
223
- this.$refs.liveMultipleMeetingRef.pullMonitorDevice(monitorID, monitorName);
243
+ this.$refs.liveMultipleMeetingRef.pullMonitorDevice(monitorID, monitorName, integrationType);
224
244
  } else {
225
245
  this.showMessage.error("请先进入会议");
226
246
  }
@@ -258,7 +278,8 @@ export default {
258
278
  outputStatus: true,
259
279
  audioInputDevice: "",
260
280
  audioOutputDevice: "",
261
- videoDevice: ""
281
+ videoDevice: "",
282
+ isMirror: false
262
283
  });
263
284
  this.inviteReceiveClose();
264
285
  } else {