瀏覽代碼

设备接口,及邀请用户接口

MSI\liwei 3 年之前
父節點
當前提交
d35866d0a1
共有 3 個文件被更改,包括 102 次插入6 次删除
  1. 34 0
      src/api/dahua.ts
  2. 30 3
      src/layout/BaseLayout/index.tsx
  3. 38 3
      src/store/useDaHuaStore.ts

+ 34 - 0
src/api/dahua.ts

@@ -11,6 +11,9 @@ export interface DAHUALoginParams {
   pid: 2548;
 }
 
+export interface DAHUADeviceParams {
+  token: string;
+}
 
 export interface DAHUAKeepParams {
  token: string;
@@ -25,6 +28,10 @@ export interface LoginResponse extends BaseResponse {
   userId?: string | number;
 }
 
+export interface MeetingResponse extends BaseResponse {
+  Id?: string;
+}
+
 export interface DAHUAMeetParams extends BaseResponse {
   token?: string;
   name?: string , //会议名称
@@ -42,6 +49,9 @@ export interface DAHUAMeetDeleteParams{
   meetId: string
 }
 
+export interface DAHUAMemberParams{
+  token: string;
+}
 
 export interface KeepAliveResponse extends BaseResponse {
 }
@@ -120,3 +130,27 @@ export const DAHUALogin = (params: DAHUALoginParams) =>
     },
   });
 
+  export const DAHUADevice =(params : DAHUADeviceParams) =>
+  request<BaseResponse>('GET',
+    {
+      url: `${DA_HUA_URL_PREFIX}/videoService/devicesManager/deviceTree`,
+      params:params,
+      headers: {
+        'Content-Type': 'application/json',
+        'X-Subject-Token': params.token,
+      },
+    }
+  )
+
+  export const DAHUAMeetingMember =(params : DAHUAMemberParams) =>
+  request<BaseResponse>('GET',
+    {
+      url: `${DA_HUA_URL_PREFIX}/mcu/meeting/member`,
+      params:params,
+      headers: {
+        'Content-Type': 'application/json',
+        'X-Subject-Token': params.token,
+      },
+    }
+  )
+

+ 30 - 3
src/layout/BaseLayout/index.tsx

@@ -3,6 +3,7 @@ import { RouterView, useRoute, useRouter } from 'vue-router';
 import MarkerMap from '@/components/MarkerMap';
 import './index.scss';
 import { useIncidentStore, useDaHuaStore } from '@/store';
+import { constants } from 'zlib';
 
 export default defineComponent({
   setup() {
@@ -27,14 +28,40 @@ export default defineComponent({
         daHuaStore.DAHUAUserInfo().then(res=>{
               console.log(res);
               daHuaStore.DAHUACreateMeet(res).then(data=>{         //创建会议
-                      console.log(data.id);
+                      console.log(data);
+                      const obj ={
+                        user:res,
+                        meetId:data.id,
+                        member:[{
+                          userName:res.userName,
+                          userId:res.userCode,
+                          region:res.paasId,
+                          type:'client',
+                          speak:'true',
+                          number:res.userPhone
+                        }]
+                      }
+                      obj.member
+                      console.log(obj);
+                      daHuaStore.DAHUAInfomation().then(userList=>{
+                            console.log(userList);
+                            let userObj = {};
+                            for(var index in userList.results){                //此处代码仅为测试用
+                              if(userList.results[index].name == '海康单兵4'){
+                                console.log(userList.results[index])
+                                userObj = userList.results[index]
+                              }
+                            }
+                            console.log(userObj);
+                      })  //获取所有用户信息 
                       daHuaStore.DAHUAMeetingUser(data.id);
                       // daHuaStore.DAHUADeleteMeet(data.id);
               });
        })
         // console.log(dhUser);
-        daHuaStore.DAHUAInfomation();  //获取所有用户信息
-
+        daHuaStore.DAHUADeviceList('S4NbecfYB1DFLAIM9FFHQ8');   //测试执法记录仪
+        daHuaStore.DAHUADeviceList('S4NbecfYB1DGB68AN187Q8');   //执法人员设备列表
+        daHuaStore.DAHUADeviceList('S4NbecfYB1DGB68S6S0UFC');   //执法车辆列表
       }
     });
 

+ 38 - 3
src/store/useDaHuaStore.ts

@@ -1,6 +1,7 @@
 import { defineStore } from 'pinia';
 
-import { DAHUALogin, DAHUALoginParams, LoginResponse,DAHUAKeepAlive,DAHUAUserInfo,DAHUAInfomation,DAHUACreateMeet,DAHUADeleteMeet,DAHUAMeetingUser } from '@/api/dahua';
+import { DAHUALogin, DAHUALoginParams, LoginResponse,DAHUAKeepAlive,DAHUAUserInfo,DAHUAInfomation,DAHUACreateMeet,DAHUADeleteMeet,DAHUAMeetingUser,
+  DAHUADevice,DAHUAMeetingMember,MeetingResponse } from '@/api/dahua';
 import isString from 'lodash/isString';
 import { parseStr } from '@/utils';
 import md5 from 'crypto-js/md5';
@@ -108,7 +109,7 @@ export default defineStore<'daHua', DaHuaStateType, {}, DaHuaActionsType>(
             keyCondition: {},
             token:dahuaToken
           });   
-       console.log(res);
+          return res;
       },
       async DAHUACreateMeet(user){
         const dahuaToken = localStorage.getItem('DAHUA_token').replace('"','');
@@ -124,7 +125,11 @@ export default defineStore<'daHua', DaHuaStateType, {}, DaHuaActionsType>(
           type : 'video',
           token : dahuaToken
           });   
-          return res
+          const next = isString(res)
+          ? parseStr<MeetingResponse>(res)
+          : res ?? {};
+          console.log(next);
+          return next
       },
 
       async DAHUAMeetingUser(id){
@@ -135,6 +140,7 @@ export default defineStore<'daHua', DaHuaStateType, {}, DaHuaActionsType>(
               token: dahuaToken,
               meetId: id
           });   
+
        console.log(res);
       },
 
@@ -148,6 +154,35 @@ export default defineStore<'daHua', DaHuaStateType, {}, DaHuaActionsType>(
           });   
        console.log(res);
       },
+
+      //设备列表
+      async DAHUADeviceList(id){
+        const dahuaToken = localStorage.getItem('DAHUA_token').replace('"','');
+        // console.log(dahuaToken);
+        const res = await DAHUADevice({
+          token: dahuaToken,
+          nodeType: 1,
+          typeCode : '01;1;ALL',
+          page : 1,
+          pageSize : 100,
+          id : id
+      });
+      console.log(res.results);
+      return res;
+      },
+
+      async DAHUAMeetingMember(obj){
+        const dahuaToken = localStorage.getItem('DAHUA_token').replace('"','');
+        console.log(dahuaToken);
+        const res = await DAHUAMeetingMember(
+          {
+            id:obj.meetId,
+            inviteId: obj.user.userCode,
+            inviteName: obj.user.userName,
+            inviteNumber: obj.user.userPhone,
+            member:obj.member
+          });
+      }
     },
   },
 );