176 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			176 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
								 * A utility class used for handling objects that use the DataAbilityHelper scheme.
							 | 
						|||
| 
								 | 
							
								 * @name dataUriUtils
							 | 
						|||
| 
								 | 
							
								 * @since 7
							 | 
						|||
| 
								 | 
							
								 * @syscap SystemCapability.Ability.AbilityRuntime.Core
							 | 
						|||
| 
								 | 
							
								 * @permission N/A
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								declare namespace onvifclient {
							 | 
						|||
| 
								 | 
							
								    interface LoginInfo {
							 | 
						|||
| 
								 | 
							
								        /** Host Uri: the maximum length is 64 */
							 | 
						|||
| 
								 | 
							
								        host: string;
							 | 
						|||
| 
								 | 
							
								        /** Username: the length is 32 */
							 | 
						|||
| 
								 | 
							
								        user: string;
							 | 
						|||
| 
								 | 
							
								        /** Password: maximum length is 32 */
							 | 
						|||
| 
								 | 
							
								        pass: string;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
									interface SpeedInfo {
							 | 
						|||
| 
								 | 
							
								        /** horizen speed: -1.0<->1.0  */
							 | 
						|||
| 
								 | 
							
								        speed_x: number;
							 | 
						|||
| 
								 | 
							
								        /** vertical speed -1.0<->1.0 */
							 | 
						|||
| 
								 | 
							
								        speed_y: number;
							 | 
						|||
| 
								 | 
							
								        /** room speed: 0<->1.0 */
							 | 
						|||
| 
								 | 
							
								        speed_room: number;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									interface PositionInfo {
							 | 
						|||
| 
								 | 
							
								        /** horizen speed: -1.0<->1.0  */
							 | 
						|||
| 
								 | 
							
								        pantiltX: number;
							 | 
						|||
| 
								 | 
							
								        /** vertical speed -1.0<->1.0 */
							 | 
						|||
| 
								 | 
							
								        pantiltY: number;
							 | 
						|||
| 
								 | 
							
								        /** room speed: 0<->1 */
							 | 
						|||
| 
								 | 
							
								        zoom: number;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								        interface OnvifResult {
							 | 
						|||
| 
								 | 
							
								        /** isSuccess */
							 | 
						|||
| 
								 | 
							
								        result: boolean;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        /** errorCode: */
							 | 
						|||
| 
								 | 
							
								        errorCode: number;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        /** errorString: */
							 | 
						|||
| 
								 | 
							
								        errorString: string;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        /** int Data: */
							 | 
						|||
| 
								 | 
							
								        dataInt: number;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        /** string Data: */
							 | 
						|||
| 
								 | 
							
								        dataString: string;		
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        /* datetime_type : 0 manual ,1 NTP*/
							 | 
						|||
| 
								 | 
							
								        interface TimeInfo {
							 | 
						|||
| 
								 | 
							
								        datetime_type:number;
							 | 
						|||
| 
								 | 
							
								        year: number;        
							 | 
						|||
| 
								 | 
							
								        month: number;
							 | 
						|||
| 
								 | 
							
								        day: number;
							 | 
						|||
| 
								 | 
							
								        hour: number;
							 | 
						|||
| 
								 | 
							
								        minute: number;
							 | 
						|||
| 
								 | 
							
								        second: number;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
									/***
							 | 
						|||
| 
								 | 
							
									#define SOAP_OK                         0
							 | 
						|||
| 
								 | 
							
								#define SOAP_CLI_FAULT                  1
							 | 
						|||
| 
								 | 
							
								#define SOAP_SVR_FAULT                  2
							 | 
						|||
| 
								 | 
							
								#define SOAP_TAG_MISMATCH               3
							 | 
						|||
| 
								 | 
							
								#define SOAP_TYPE                       4
							 | 
						|||
| 
								 | 
							
								#define SOAP_SYNTAX_ERROR               5
							 | 
						|||
| 
								 | 
							
								#define SOAP_NO_TAG                     6
							 | 
						|||
| 
								 | 
							
								#define SOAP_IOB                        7
							 | 
						|||
| 
								 | 
							
								#define SOAP_MUSTUNDERSTAND             8
							 | 
						|||
| 
								 | 
							
								#define SOAP_NAMESPACE                  9
							 | 
						|||
| 
								 | 
							
								#define SOAP_USER_ERROR                 10
							 | 
						|||
| 
								 | 
							
								#define SOAP_FATAL_ERROR                11       deprecated 
							 | 
						|||
| 
								 | 
							
								#define SOAP_FAULT                      12
							 | 
						|||
| 
								 | 
							
								#define SOAP_NO_METHOD                  13
							 | 
						|||
| 
								 | 
							
								#define SOAP_NO_DATA                    14
							 | 
						|||
| 
								 | 
							
								#define SOAP_GET_METHOD                 15
							 | 
						|||
| 
								 | 
							
								#define SOAP_PUT_METHOD                 16
							 | 
						|||
| 
								 | 
							
								#define SOAP_PATCH_METHOD               17
							 | 
						|||
| 
								 | 
							
								#define SOAP_DEL_METHOD                 18
							 | 
						|||
| 
								 | 
							
								#define SOAP_HTTP_METHOD                19
							 | 
						|||
| 
								 | 
							
								#define SOAP_EOM                        20
							 | 
						|||
| 
								 | 
							
								#define SOAP_MOE                        21
							 | 
						|||
| 
								 | 
							
								#define SOAP_HDR                        22
							 | 
						|||
| 
								 | 
							
								#define SOAP_NULL                       23
							 | 
						|||
| 
								 | 
							
								#define SOAP_DUPLICATE_ID               24
							 | 
						|||
| 
								 | 
							
								#define SOAP_MISSING_ID                 25
							 | 
						|||
| 
								 | 
							
								#define SOAP_HREF                       26
							 | 
						|||
| 
								 | 
							
								#define SOAP_UDP_ERROR                  27
							 | 
						|||
| 
								 | 
							
								#define SOAP_TCP_ERROR                  28
							 | 
						|||
| 
								 | 
							
								#define SOAP_HTTP_ERROR                 29
							 | 
						|||
| 
								 | 
							
								#define SOAP_SSL_ERROR                  30
							 | 
						|||
| 
								 | 
							
								#define SOAP_ZLIB_ERROR                 31
							 | 
						|||
| 
								 | 
							
								#define SOAP_DIME_ERROR                 32
							 | 
						|||
| 
								 | 
							
								#define SOAP_DIME_HREF                  33
							 | 
						|||
| 
								 | 
							
								#define SOAP_DIME_MISMATCH              34
							 | 
						|||
| 
								 | 
							
								#define SOAP_DIME_END                   35
							 | 
						|||
| 
								 | 
							
								#define SOAP_MIME_ERROR                 36
							 | 
						|||
| 
								 | 
							
								#define SOAP_MIME_HREF                  37
							 | 
						|||
| 
								 | 
							
								#define SOAP_MIME_END                   38
							 | 
						|||
| 
								 | 
							
								#define SOAP_VERSIONMISMATCH            39
							 | 
						|||
| 
								 | 
							
								#define SOAP_PLUGIN_ERROR               40
							 | 
						|||
| 
								 | 
							
								#define SOAP_DATAENCODINGUNKNOWN        41       unused 
							 | 
						|||
| 
								 | 
							
								#define SOAP_REQUIRED                   42
							 | 
						|||
| 
								 | 
							
								#define SOAP_PROHIBITED                 43
							 | 
						|||
| 
								 | 
							
								#define SOAP_OCCURS                     44
							 | 
						|||
| 
								 | 
							
								#define SOAP_LENGTH                     45
							 | 
						|||
| 
								 | 
							
								#define SOAP_PATTERN                    46
							 | 
						|||
| 
								 | 
							
								#define SOAP_FD_EXCEEDED                47
							 | 
						|||
| 
								 | 
							
								#define SOAP_UTF_ERROR                  48
							 | 
						|||
| 
								 | 
							
								#define SOAP_NTLM_ERROR                 49
							 | 
						|||
| 
								 | 
							
								#define SOAP_LEVEL                      50
							 | 
						|||
| 
								 | 
							
								#define SOAP_FIXED                      51
							 | 
						|||
| 
								 | 
							
								#define SOAP_EMPTY                      52
							 | 
						|||
| 
								 | 
							
								#define SOAP_END_TAG                    53
							 | 
						|||
| 
								 | 
							
								#define SOAP_ERR                        99
							 | 
						|||
| 
								 | 
							
									*/
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
								     * Obtains the ID attached to the end of the path component of the given uri.
							 | 
						|||
| 
								 | 
							
								     *
							 | 
						|||
| 
								 | 
							
								     * @since 7
							 | 
						|||
| 
								 | 
							
								     * @syscap SystemCapability.Ability.AbilityRuntime.Core
							 | 
						|||
| 
								 | 
							
								     * @param uri Indicates the uri object from which the ID is to be obtained.
							 | 
						|||
| 
								 | 
							
								     * @return Returns the ID attached to the end of the path component;
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
									function startProbDetect(params: string): OnvifResult; 
							 | 
						|||
| 
								 | 
							
									function getProbResult(): OnvifResult;
							 | 
						|||
| 
								 | 
							
									function rebootDevice(loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
									function probDevice(loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
									function ptzMoveTime( speedInfo: SpeedInfo, millsec: number,loginInfo: LoginInfo) : OnvifResult;
							 | 
						|||
| 
								 | 
							
									function ptzMovePosition(positionInfo:PositionInfo,speedInfo: SpeedInfo, loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
									function ptzGetPresets( loginInfo: LoginInfo):OnvifResult;
							 | 
						|||
| 
								 | 
							
									function ptzGotoPreset(presetToken: string, loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
									function ptzSetPreset(presetToken: string,loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
									function ptzRemovePreset(presetToken: string,loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
								        function rebootDevice(loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
								        //调用海康SDk直接打开摄像头(不会获取流地址),播放和暂停和关闭摄像头        
							 | 
						|||
| 
								 | 
							
								        function openStreaming(loginInfo: LoginInfo,uri:string): OnvifResult;
							 | 
						|||
| 
								 | 
							
								        function closeStreaming(loginInfo: LoginInfo,uri:string): OnvifResult;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        //录像通过传入文件路径,调用SDK开启视频录像,第二次点击录像调用sdk关闭视频录制视频
							 | 
						|||
| 
								 | 
							
								        function startRecordVideo(uri:string,filePath:string,fileHandler:number): OnvifResult;
							 | 
						|||
| 
								 | 
							
								        function endRecordVideo(videoHandle: number): OnvifResult;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        //抓拍照片,通过传入文件路径,实现图片的抓拍和下载
							 | 
						|||
| 
								 | 
							
								        function getVideoSnapshot(uri:string,filePath:string,fileHandler:number): OnvifResult;
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        //获取摄像头信息,包含亮度、对比度、饱和度、色度等
							 | 
						|||
| 
								 | 
							
								        function getImageInfo(loginInfo: LoginInfo): OnvifResult;        
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        //设置摄像头时间信息
							 | 
						|||
| 
								 | 
							
								        function setDeviceTime(loginInfo: LoginInfo, timeinfo:TimeInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        // 获取所有的水印 OSD(on-screen display) ,作为文字水印,有两种TextType模式,DateAndTime 和 Plain
							 | 
						|||
| 
								 | 
							
								          //{"OSDToken":"OsdToken_100","ConfigurationToken": "VideoSourceToken","Type": "Text","PositionType": "Custom","Position_X": -1,"Position_Y": 0.88888901472091675,
							 | 
						|||
| 
								 | 
							
								                        // 	"TextType": "DateAndTime","DateFormat": "yyyy/MM/dd","TimeFormat": "HH:mm:ss","FontSize": 32	}
							 | 
						|||
| 
								 | 
							
								          // {	"OSDToken":"OsdToken_100","ConfigurationToken": "VideoSourceToken","Type": "Text","PositionType": "Custom","Position_X": 0.45454499125480652,"Position_Y": -0.7777780294418335,
							 | 
						|||
| 
								 | 
							
									                      //	  "TextType": "Plain",		"FontSize": 32,"PlainText": "Camera 01"	}
							 | 
						|||
| 
								 | 
							
								        function getAllOSD(loginInfo: LoginInfo): OnvifResult;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        // 设置水印 osdString 是json string  形式如同 getAllOSD 返回的结果
							 | 
						|||
| 
								 | 
							
								        function setOSD(loginInfo: LoginInfo,osdString:string): OnvifResult;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        // 创建水印 osdString 是json string  形式如同 setOSD方法 ,但不用传递OSDToken ,OSDToken 在方法的返回值里携带
							 | 
						|||
| 
								 | 
							
								        function createOSD(loginInfo: LoginInfo,osdString:string): OnvifResult;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        // 删除水印 osdToken 是唯一的传入参数,不必其他参数
							 | 
						|||
| 
								 | 
							
								        function deleteOSD(loginInfo: LoginInfo,osdToken:string): OnvifResult; 
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								export default onvifclient;
							 |