mdm-client 1.0.2 → 1.0.4

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 (43) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +72 -61
  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/platform_app_icon.png +0 -0
  13. package/src/assets/image/common/platform_mini_icon.png +0 -0
  14. package/src/assets/image/common/platform_pc_icon.png +0 -0
  15. package/src/assets/image/common/platform_volte_icon.png +0 -0
  16. package/src/assets/image/common/rotate_icon1.png +0 -0
  17. package/src/assets/image/common/rotate_icon2.png +0 -0
  18. package/src/assets/image/common/rotate_icon3.png +0 -0
  19. package/src/assets/image/common/rotate_icon4.png +0 -0
  20. package/src/assets/style/base.scss +5 -0
  21. package/src/components/LiveMulti/LiveMulti.vue +26 -15
  22. package/src/components/LiveMultipleMeeting/LiveMultipleMeeting.vue +1443 -228
  23. package/src/components/LiveMultipleMeeting/style/index.scss +145 -14
  24. package/src/components/LivePoint/LivePoint.vue +49 -211
  25. package/src/components/LivePointMeeting/LivePointMeeting.vue +159 -10
  26. package/src/components/LivePointMeeting/style/index.scss +35 -0
  27. package/src/components/MeetingReadyDialog/MeetingReadyDialog.vue +96 -14
  28. package/src/components/other/addressBook.vue +274 -37
  29. package/src/components/other/appointDialog.vue +1 -1
  30. package/src/components/other/customGroupDialog.vue +2 -1
  31. package/src/components/other/customLayout.vue +368 -202
  32. package/src/components/other/editGroupDialog.vue +2 -0
  33. package/src/components/other/layoutSwitch.vue +253 -37
  34. package/src/components/other/leadershipFocus.vue +422 -0
  35. package/src/components/other/leaveOptionDialog.vue +1 -1
  36. package/src/components/other/memberManage.vue +61 -4
  37. package/src/components/other/moreOptionDialog.vue +17 -1
  38. package/src/components/other/selectDialog.vue +1 -1
  39. package/src/components/other/selectSpecialDialog.vue +1 -1
  40. package/src/main.js +4 -4
  41. package/src/utils/api.js +28 -0
  42. package/src/utils/livekit/live-client-esm.js +1 -1
  43. package/src/utils/livekit/live-client-esm-old.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mdm-client",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
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,8 +27,7 @@
26
27
  :org="org"
27
28
  :baseUrl="baseUrl"
28
29
  :token="token"
29
- :defaultInviteWay="defaultInviteWay"
30
- :isCustomizeMiniInvitations="isCustomizeMiniInvitations"
30
+ :addressBookTabList="['人员', '会议终端', 'volte', '设备']"
31
31
  ref="liveMultiRef"
32
32
  @inviteReceiveClose="closeMultiInviteReceive"
33
33
  />
@@ -36,37 +36,37 @@
36
36
 
37
37
  <script>
38
38
  import { mittBus, ShowMessage } from "./utils/index.js";
39
- import LiveClient from './utils/livekit/live-client-esm.js';
39
+ import LiveClient from "./utils/livekit/live-client-esm.js";
40
40
 
41
41
  export default {
42
- name: 'App',
42
+ name: "App",
43
43
  data() {
44
44
  return {
45
45
  livePointRef: null,
46
46
  liveMultiRef: null,
47
47
  isCallBoardShow: false,
48
48
  isMeetingReadyDialogShow: false,
49
- tempRoomName: '',
50
- tempRoomNum: '',
51
- meetingReadyDialogType: 'launch',
52
- defaultCallNum: '',
49
+ tempRoomName: "",
50
+ tempRoomNum: "",
51
+ meetingReadyDialogType: "launch",
52
+ defaultCallNum: "",
53
53
  inviteList: [],
54
54
  deviceList: [],
55
+ meetingTerminals: [],
55
56
  userData: {
56
- userId: 'liujinbo',
57
- username: 'test01',
58
- mobile: '18151665421',
59
- officeName: 'test_department',
57
+ userId: "liujinbo",
58
+ username: "test01",
59
+ mobile: "18151665421",
60
+ officeName: "test_department",
60
61
  },
61
- org: '7906019982501000',
62
+ org: "7906019982501000",
62
63
  isPointInviteReceiveShow: false,
63
64
  isMultiInviteReceiveShow: false,
64
65
  inviteData: {},
65
- defaultInviteWay: 'identity',
66
- isCustomizeMiniInvitations: false,
67
66
  baseUrl: "https://10.2.12.103:8443",
68
67
  roomServerUrl: "wss://10.2.12.103:8443",
69
- token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJMb2dpbkluZm8iOnsibG9naW5Db2RlIjoibGl1amluYm8iLCJ1c2VyTmFtZSI6IuWImOmUpuazoiIsInRlbmFudElEIjo3OTA2MDE5OTgyNTAxMDAwLCJkZXB0VHJlZSI6Ijc5MDYwNzA4NTA5MDEwMDAvNzkwNzk1MzkyNjcwMTAwMCIsInVzZXJJRCI6NzkwNjI1NzUyOTgwMTAwMCwicm9sZUlEIjo3OTA2MDc0MzkyMDAxMDAwLCJ2ZXJzaW9uSUQiOjc5MDc5NDk3NjQyMDEwMDB9LCJwbGF0Zm9ybUlEIjowLCJwaG9uZSI6IiIsImV4cCI6MTc1NTg4NDExNCwiaWF0IjoxNzU1MTY0MTE0fQ.NXXtuVG6ZxRObwwEsQzZpwKGiD6YN4vVVn2ojz_syNk",
68
+ token:
69
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJMb2dpbkluZm8iOnsibG9naW5Db2RlIjoibGl1amluYm8iLCJ1c2VyTmFtZSI6IuWImOmUpuazoiIsInRlbmFudElEIjo3OTA2MDE5OTgyNTAxMDAwLCJkZXB0VHJlZSI6Ijc5MDYwNzA4NTA5MDEwMDAvNzkwNzk1MzkyNjcwMTAwMCIsInVzZXJJRCI6NzkwNjI1NzUyOTgwMTAwMCwicm9sZUlEIjo3OTA2MDc0MzkyMDAxMDAwLCJ2ZXJzaW9uSUQiOjc5MDc5NDk3NjQyMDEwMDB9LCJwbGF0Zm9ybUlEIjowLCJwaG9uZSI6IiIsImV4cCI6MTc2MzIxNjUyNSwiaWF0IjoxNzYyNDk2NTI1fQ.FEGXEUhOfOC0nqKr9oaARnbzrqhGW8iE7WixaapiXXE",
70
70
  liveClient: null,
71
71
  showMessage: null,
72
72
  };
@@ -83,11 +83,10 @@ export default {
83
83
  },
84
84
  methods: {
85
85
  launchMultiMeeting(e) {
86
- this.meetingReadyDialogType = 'launch';
86
+ this.meetingReadyDialogType = "launch";
87
87
  this.inviteList = e?.inviteList ? e.inviteList : [];
88
88
  this.deviceList = e?.deviceList ? e.deviceList : [];
89
- this.defaultInviteWay = e?.defaultInviteWay || 'identity';
90
- this.isCustomizeMiniInvitations = e?.isCustomizeMiniInvitations || false;
89
+ this.meetingTerminals = e?.meetingTerminals ? e.meetingTerminals : [];
91
90
  this.isMeetingReadyDialogShow = true;
92
91
  },
93
92
  multiMeetingAppeInvite(e) {
@@ -96,12 +95,12 @@ export default {
96
95
  }
97
96
  },
98
97
  joinMultiMeeting(e) {
99
- this.meetingReadyDialogType = 'join';
98
+ this.meetingReadyDialogType = "join";
100
99
  this.tempRoomNum = e.roomNum;
101
100
  this.isMeetingReadyDialogShow = true;
102
101
  },
103
102
  openCallBoardDialog(e) {
104
- this.defaultCallNum = e?.defaultCallNum || '';
103
+ this.defaultCallNum = e?.defaultCallNum || "";
105
104
  this.isCallBoardShow = true;
106
105
  },
107
106
  openPointInviteReceive(e) {
@@ -119,22 +118,22 @@ export default {
119
118
  this.isMultiInviteReceiveShow = false;
120
119
  },
121
120
  makePointCall(e) {
122
- if (e.type === 'voice') {
121
+ if (e.type === "voice") {
123
122
  this.$refs.livePointRef.makeVoiceCall({
124
- inviteName: e?.inviteName || '',
125
- invitePhone: e?.callNum || '',
123
+ inviteName: e?.inviteName || "",
124
+ invitePhone: e?.callNum || "",
126
125
  inviteType: e?.inviteType || 0,
127
126
  });
128
- } else if (e.type === 'video') {
127
+ } else if (e.type === "video") {
129
128
  this.$refs.livePointRef.makeVideoCall({
130
- inviteName: e?.inviteName || '',
131
- invitePhone: e?.callNum || '',
129
+ inviteName: e?.inviteName || "",
130
+ invitePhone: e?.callNum || "",
132
131
  inviteType: e?.inviteType || 0,
133
132
  });
134
- } else if (e.type === 'miniLink') {
133
+ } else if (e.type === "miniLink") {
135
134
  this.$refs.livePointRef.makeMiniCall({
136
- inviteName: e?.inviteName || '',
137
- invitePhone: e?.callNum || '',
135
+ inviteName: e?.inviteName || "",
136
+ invitePhone: e?.callNum || "",
138
137
  inviteType: e?.inviteType || 0,
139
138
  });
140
139
  }
@@ -148,7 +147,7 @@ export default {
148
147
  }
149
148
  },
150
149
  initLiveClient() {
151
- this.tempRoomName = this.userData.username + '的视频会议';
150
+ this.tempRoomName = this.userData.username + "的视频会议";
152
151
  const initParams = {
153
152
  userId: this.userData.userId,
154
153
  org: this.org,
@@ -158,32 +157,32 @@ export default {
158
157
  roomServerUrl: this.roomServerUrl,
159
158
  token: this.token,
160
159
  };
161
- console.log('initParams', initParams);
160
+ console.log("initParams", initParams);
162
161
  this.liveClient = new LiveClient(initParams);
163
162
  this.initLiveClientEvent();
164
- window['liveClient'] = this.liveClient;
165
- mittBus.emit('liveClientInitSuccess');
163
+ window["liveClient"] = this.liveClient;
164
+ mittBus.emit("liveClientInitSuccess");
166
165
  },
167
166
  initLiveClientEvent() {
168
167
  if (!this.liveClient) {
169
168
  this.showMessage.error({
170
- message: 'liveClient实例未初始化',
169
+ message: "liveClient实例未初始化",
171
170
  });
172
171
  return;
173
172
  }
174
- this.liveClient.on('socketOpen', () => {
175
- console.log('websocket链接建立成功');
173
+ this.liveClient.on("socketOpen", () => {
174
+ console.log("websocket链接建立成功");
176
175
  });
177
- this.liveClient.on('receiveInviteSuccess', e => {
178
- console.log('收到会议邀请', e);
176
+ this.liveClient.on("receiveInviteSuccess", (e) => {
177
+ console.log("收到会议邀请", e);
179
178
  if (e.isP2P == 1) {
180
179
  this.openPointInviteReceive(e);
181
180
  } else {
182
181
  this.openMultiInviteReceive(e);
183
182
  }
184
183
  });
185
- this.liveClient.on('receiveInviteCancel', e => {
186
- console.log('收到会议邀请撤回', e);
184
+ this.liveClient.on("receiveInviteCancel", (e) => {
185
+ console.log("收到会议邀请撤回", e);
187
186
  if (this.isPointInviteReceiveShow && this.inviteData.roomNum === e.roomNum) {
188
187
  this.closePointInviteReceive();
189
188
  }
@@ -195,7 +194,7 @@ export default {
195
194
  removeAllEvent() {
196
195
  if (!this.liveClient) {
197
196
  this.showMessage.error({
198
- message: 'liveClient实例未初始化',
197
+ message: "liveClient实例未初始化",
199
198
  });
200
199
  return;
201
200
  }
@@ -204,33 +203,45 @@ export default {
204
203
  resetLiveClient() {
205
204
  if (this.liveClient) {
206
205
  this.liveClient.closeSocket();
207
- window['liveClient'] = null;
206
+ window["liveClient"] = null;
208
207
  this.liveClient = null;
209
208
  }
210
209
  },
211
210
  addBusEvent() {
212
- mittBus.on('launchMultiMeeting', this.launchMultiMeeting);
213
- mittBus.on('multiMeetingAppeInvite', this.multiMeetingAppeInvite);
214
- mittBus.on('openPointMeetingBoard', this.openCallBoardDialog);
215
- mittBus.on('launchPointMeeting', this.launchPointMeeting);
216
- mittBus.on('joinMultiMeeting', this.joinMultiMeeting);
217
- mittBus.on('makeCall', this.makePointCall);
218
- 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);
219
218
  },
220
219
  removeBusEvent() {
221
- mittBus.off('launchMultiMeeting', this.launchMultiMeeting);
222
- mittBus.off('multiMeetingAppeInvite', this.multiMeetingAppeInvite);
223
- mittBus.off('openPointMeetingBoard', this.openCallBoardDialog);
224
- mittBus.off('launchPointMeeting', this.launchPointMeeting);
225
- mittBus.off('joinMultiMeeting', this.joinMultiMeeting);
226
- mittBus.off('makeCall', this.makePointCall);
227
- 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);
228
227
  },
229
228
  openMeeingReadyDialog() {
230
229
  this.launchMultiMeeting({
231
- inviteList: [],
232
- deviceList: [],
233
- defaultInviteWay: "identity",
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
+ // ],
234
245
  });
235
246
  },
236
247
  },
@@ -243,4 +254,4 @@ export default {
243
254
  height: 100%;
244
255
  text-align: center;
245
256
  }
246
- </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,14 +28,16 @@
28
28
  :joinType="multiMeetingData.joinType"
29
29
  :tempInviteList="inviteList"
30
30
  :deviceList="deviceList"
31
- :isCustomizeMiniInvitations="isCustomizeMiniInvitations"
31
+ :meetingTerminals="meetingTerminals"
32
32
  :miniPagePath="miniPagePath"
33
- :defaultInviteWay="defaultInviteWay"
34
33
  :baseUrl="baseUrl"
35
34
  :userData="userData"
36
35
  :isInMeeting="isInMeeting"
37
36
  :org="org"
38
37
  :token="token"
38
+ :isMirror="multiMeetingData.isMirror"
39
+ :isVoiceMotivationOpen="isVoiceMotivationOpen"
40
+ :address-book-tab-list="addressBookTabList"
39
41
  @multiMeetingClose="closeMultiMeeting"
40
42
  @miniInviteSend="sendMiniInvite"
41
43
  @inviteMessageSend="sendMessageInvite"
@@ -104,18 +106,14 @@ export default {
104
106
  type: Array,
105
107
  default: () => []
106
108
  },
107
- isCustomizeMiniInvitations: {
108
- type: Boolean,
109
- default: false
109
+ meetingTerminals: {
110
+ type: Array,
111
+ default: () => [],
110
112
  },
111
113
  miniPagePath: {
112
114
  type: String,
113
115
  default: ""
114
116
  },
115
- defaultInviteWay: {
116
- type: String,
117
- default: "identity"
118
- },
119
117
  baseUrl: {
120
118
  type: String,
121
119
  default: ""
@@ -143,7 +141,17 @@ export default {
143
141
  value: {
144
142
  type: Boolean,
145
143
  default: false
146
- }
144
+ },
145
+ // 通讯录可见的标签页配置
146
+ addressBookTabList: {
147
+ type: Array,
148
+ default: () => ["组织架构", "人员", "会议终端", "volte", "设备", "监控", "常用分组"],
149
+ },
150
+ // 语音激励开关
151
+ isVoiceMotivationOpen: {
152
+ type: Boolean,
153
+ default: false,
154
+ },
147
155
  },
148
156
  data() {
149
157
  return {
@@ -158,7 +166,8 @@ export default {
158
166
  audioInputDevice: "",
159
167
  audioOutputDevice: "",
160
168
  videoDevice: "",
161
- joinType: "launch"
169
+ joinType: "launch",
170
+ isMirror: false
162
171
  },
163
172
  trackData: {},
164
173
  isInMeeting: false
@@ -200,7 +209,8 @@ export default {
200
209
  audioInputDevice: "",
201
210
  audioOutputDevice: "",
202
211
  videoDevice: "",
203
- joinType: "launch"
212
+ joinType: "launch",
213
+ isMirror: false
204
214
  };
205
215
  this.isMeetingDialogShow = true;
206
216
  },
@@ -227,10 +237,10 @@ export default {
227
237
  }
228
238
  })
229
239
  },
230
- pullMonitorDevice(monitorID, monitorName) {
240
+ pullMonitorDevice(monitorID, monitorName, integrationType = 0) {
231
241
  if (this.$refs.liveMultipleMeetingRef) {
232
242
  if (this.isInMeeting) {
233
- this.$refs.liveMultipleMeetingRef.pullMonitorDevice(monitorID, monitorName);
243
+ this.$refs.liveMultipleMeetingRef.pullMonitorDevice(monitorID, monitorName, integrationType);
234
244
  } else {
235
245
  this.showMessage.error("请先进入会议");
236
246
  }
@@ -268,7 +278,8 @@ export default {
268
278
  outputStatus: true,
269
279
  audioInputDevice: "",
270
280
  audioOutputDevice: "",
271
- videoDevice: ""
281
+ videoDevice: "",
282
+ isMirror: false
272
283
  });
273
284
  this.inviteReceiveClose();
274
285
  } else {