MSI\liwei пре 3 година
родитељ
комит
883c8d7548

+ 30 - 2
src/api/dahua.ts

@@ -23,6 +23,11 @@ export interface DAHUAInfomationParams{
   token: string;
 }
 
+export interface DAHUADeviceParams{
+  token: string;
+  id: string
+}
+
 export interface LoginResponse extends BaseResponse {
   token?: string;
   userId?: string | number;
@@ -51,6 +56,7 @@ export interface DAHUAMeetDeleteParams{
 
 export interface DAHUAMemberParams{
   token: string;
+  obj:{}
 }
 
 export interface KeepAliveResponse extends BaseResponse {
@@ -143,10 +149,32 @@ export const DAHUALogin = (params: DAHUALoginParams) =>
   )
 
   export const DAHUAMeetingMember =(params : DAHUAMemberParams) =>
-  request<BaseResponse>('GET',
+  request<BaseResponse>('POST',
     {
       url: `${DA_HUA_URL_PREFIX}/mcu/meeting/member`,
-      params:params,
+      data:params.obj,
+      headers: {
+        'Content-Type': 'application/json',
+        'X-Subject-Token': params.token,
+      },
+    }
+  )
+
+  export const DAHUADeviceObj =(params : DAHUADeviceParams) =>
+  request<BaseResponse>('GET',
+    {
+      url: `${DA_HUA_URL_PREFIX}/videoService/devicesManager/devices/`+params.id,
+      headers: {
+        'Content-Type': 'application/json',
+        'X-Subject-Token': params.token,
+      },
+    }
+  )
+
+  export const DAHUAUserObj =(params : DAHUADeviceParams) =>
+  request<BaseResponse>('GET',
+    {
+      url: `${DA_HUA_URL_PREFIX}/ras/user/`+params.id,
       headers: {
         'Content-Type': 'application/json',
         'X-Subject-Token': params.token,

+ 14 - 0
src/assets/icons/home/dbsb.svg

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#5CC9FF;}
+	.st1{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M186.9,88.2c0,47.7-86.4,110.9-86.4,110.9S14.1,135.9,14.1,88.2S52.8,1.7,100.5,1.7S186.9,40.4,186.9,88.2z"/>
+<path class="st1" d="M67.3,87.3h66.3V51H67.3V87.3z M118.9,116.3V109h-14.7V94.5h-7.4V109H82.1v7.3h14.7v14.5h7.4v-14.5H118.9
+	L118.9,116.3z M141,36.5c4.1,0,7.4,3.3,7.4,7.3v50.8c0,4-3.3,7.3-7.4,7.3V138c0,4-3.3,7.3-7.4,7.3H67.3c-4,0-7.3-3.2-7.4-7.3v-36.3
+	c-4,0-7.3-3.2-7.4-7.3V43.7c0-4,3.3-7.3,7.4-7.3v-7.3h7.4V14.7h7.4v14.5h7.4v7.3H141L141,36.5z M96.8,116.3V109h7.4v7.3H96.8z
+	 M74.7,80V58.2h51.6V80H74.7z"/>
+</svg>

+ 34 - 1
src/components/MarkerMap/index.tsx

@@ -11,6 +11,7 @@ import { useRoute, useRouter } from 'vue-router';
 import isString from 'lodash/isString';
 import useMarkerStore, { MarkerType } from '@/store/useMarkerStore';
 import MapView from '../MapView';
+import { useDaHuaStore } from '@/store';
 
 /** @ts-ignore */
 import icon_map_yjcl from '@/assets/icons/home/yjcl.svg';
@@ -26,6 +27,9 @@ import icon_map_spjk from '@/assets/icons/home/spjk.svg';
 import icon_map_dcz from '@/assets/icons/home/dcz.svg';
 /** @ts-ignore */
 import icon_map_dpf from '@/assets/icons/home/dpf.svg';
+/** @ts-ignore */
+import icon_map_dbsb from '@/assets/icons/home/dbsb.svg';
+
 
 import './index.scss';
 import {
@@ -113,6 +117,7 @@ export default defineComponent({
 
     const store = useMarkerStore();
     const incidentStore = useIncidentStore();
+    const daHuaStore = useDaHuaStore();
     const router = useRouter();
     const route = useRoute();
 
@@ -170,7 +175,7 @@ export default defineComponent({
         type: '单兵',
         hasActioned: state.hasTypes.includes('单兵'),
         action: () =>
-          handleAddMarkers('单兵', store.singleDevice, icon_map_yjck),
+          handleAddMarkers('单兵', store.singleDevice, icon_map_dbsb),
         remove: () => handleRemoveMarkers('单兵', store.singleDevice),
       }
     ]);
@@ -190,7 +195,35 @@ export default defineComponent({
         case '单兵': { 
           var callback = () => {
             console.log(marker["deviceCode"])
+            console.log(marker["userId"])
+            daHuaStore.DAHUAUserObj(marker["userId"]).then(deviceUser=>{
+                         console.log(deviceUser);
+                         let memberObj = {
+                                userName:deviceUser.userName,
+                                userId:deviceUser.userCode,
+                                region:deviceUser.paasId,
+                                type:'single',
+                                // speak:'true',
+                                number:deviceUser.userPhone,
+                                deviceId:marker["deviceCode"],
+                                channelId:marker["channelId"],
+                         }
+                         let meetObj = JSON.parse(localStorage.getItem('meeting'));
+                         let memberList = [];
+                         memberList.push(memberObj);
+                         memberList.push(meetObj.member[0]);
+                         meetObj.member = memberList
+                         console.log(meetObj);
+                         daHuaStore.DAHUAMeetingMember(meetObj).then(data=>{
+                                   console.log(11111111)
+                                   daHuaStore.DAHUAMeetingUser(meetObj.meetId);
+                         })
+                         
+                        //  console.log(memberObj);
+                        //  meetObj.mebmber.push(memberObj);
 
+            });
+            // console.log(daHuaStore.deviceUser);
           };
             return GET_SINGLE_DEVICE_DIALOG_HTML(marker as SingleDeviceItem,callback);
         }

+ 9 - 19
src/layout/BaseLayout/index.tsx

@@ -23,13 +23,12 @@ export default defineComponent({
       if(!localStorage.getItem("DAHUA_token")){
                daHuaStore.DAHUALogin();
       }else{
-        daHuaStore.KEEPAlive();  //保活
-        daHuaStore.DAHUAUserInfo();   //获取当前用户信息
+        daHuaStore.KEEPAlive();  //保活 //获取当前用户信息
         daHuaStore.DAHUAUserInfo().then(res=>{
               console.log(res);
               daHuaStore.DAHUACreateMeet(res).then(data=>{         //创建会议
                       console.log(data);
-                      const obj ={
+                      let obj ={
                         user:res,
                         meetId:data.id,
                         member:[{
@@ -37,24 +36,15 @@ export default defineComponent({
                           userId:res.userCode,
                           region:res.paasId,
                           type:'client',
-                          speak:'true',
-                          number:res.userPhone
+                          // speak:'true',
+                          number:res.userPhone,
+                          // department:'根组织'
                         }]
                       }
-                      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);
+                      localStorage.setItem('meeting',JSON.stringify(obj));
+                      // console.log(obj);
+                      // daHuaStore.DAHUAMeetingMember(obj);
+                      // daHuaStore.DAHUAMeetingUser(data.id);
                       // daHuaStore.DAHUADeleteMeet(data.id);
               });
        })

+ 22 - 4
src/store/useDaHuaStore.ts

@@ -1,7 +1,7 @@
 import { defineStore } from 'pinia';
 
 import { DAHUALogin, DAHUALoginParams, LoginResponse,DAHUAKeepAlive,DAHUAUserInfo,DAHUAInfomation,DAHUACreateMeet,DAHUADeleteMeet,DAHUAMeetingUser,
-  DAHUADevice,DAHUAMeetingMember,MeetingResponse } from '@/api/dahua';
+  DAHUADevice,DAHUAMeetingMember,MeetingResponse,DAHUAUserObj } from '@/api/dahua';
 import isString from 'lodash/isString';
 import { parseStr } from '@/utils';
 import md5 from 'crypto-js/md5';
@@ -18,13 +18,15 @@ export interface DaHuaActionsType {
   KEEPAlive(): void;
   DAHUAUserInfo(): void;
   DAHUAInfomation(): void;
+  DAHUAUserObj(): void;
 }
 
 export default defineStore<'daHua', DaHuaStateType, {}, DaHuaActionsType>(
   'daHua',
   {
     state: () => ({
-        dhuser:{}
+        dhuser:{},
+        deviceUser:{}
     }),
     actions: {
       async DAHUALogin() {
@@ -176,13 +178,29 @@ export default defineStore<'daHua', DaHuaStateType, {}, DaHuaActionsType>(
         console.log(dahuaToken);
         const res = await DAHUAMeetingMember(
           {
-            id:obj.meetId,
+            obj:{id:obj.meetId,
             inviteId: obj.user.userCode,
             inviteName: obj.user.userName,
             inviteNumber: obj.user.userPhone,
             member:obj.member
+          },
+            token:dahuaToken
           });
-      }
+      },
+
+      async DAHUAUserObj(id){
+        console.log(id);
+        const dahuaToken = localStorage.getItem('DAHUA_token').replace('"','');
+        // console.log(user.userName);
+        const res = await DAHUAUserObj({
+              token: dahuaToken,
+              id: id
+          });   
+          // this.deviceUser = res;
+         return res;
+      },
+
+      
     },
   },
 );