热点连接流程修改

This commit is contained in:
wbzhan
2019-09-21 17:29:16 +08:00
parent 9342faecbc
commit 41e5233e1f
65 changed files with 2363 additions and 651 deletions
+24 -1
View File
@@ -104,7 +104,17 @@ extern NSString * const kGWNetSessionIdErrorNotification;
withPassword:(NSString*)pwd//密码,需要32位的md5加密处理,如果提供明文密码,内部会自动加密
withAppleToken:(NSString*)token//苹果设备Token,用来远程推送,可空,空时则无法推送
withTimeZone:(NSInteger)timeZone//App用户当前时区,传输格式分钟,例:东八区 480
completion:(GWNetCompletionBlock)completion;//请求完成回
completion:(GWNetCompletionBlock)completion;//请求完成回
#pragma mark 上传ios推送token
/**
上传ios推送token,要在token变化或没有上传成功时才调用
@param token ios推送token
@param userID 用户ID
@param sessionID 会话ID
@param completion 请求完成回调
*/
-(void)uploadIosPushToken:(NSString *)token withUserID:(NSString *)userID sessionID:(NSString *)sessionID completion:(GWNetCompletionBlock)completion;
#pragma mark 第三方登录
/**
@@ -837,6 +847,19 @@ extern NSString * const kGWNetSessionIdErrorNotification;
withUserID:(NSString *)userID
sessionID:(NSString *)sessionID
completion:(GWNetCompletionBlock)completion;
#pragma mark - 检查设备绑定状态V2,用来只设置访客密码,不设管理密码,把id添加切换成分享模式进行统计
/**
检查设备绑定状态
@param deviceID 设备ID
@param userID 用户(主人)ID
@param sessionID 登陆会话ID
@param completion 绑定完成后的block
*/
- (void)getBindedStatusV2Device:(NSString *)deviceID
withUserID:(NSString *)userID
sessionID:(NSString *)sessionID
completion:(GWNetCompletionBlock)completion;
#pragma mark 已联网方式转分享模式
/**
@@ -44,5 +44,7 @@
//服务器加密
#import "MD5Manager.h"
//二维码
#import "GWQRCodeManager.h"
@@ -118,6 +118,19 @@ typedef enum GWUnbindAlarmAccountOperationType {
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
/**
设置AI实验室人形侦测开关状态
获取AI实验室人形侦测开关状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
@param detectionOn 开关状0关,1开
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)setDeviceAIHumanoidDetectionState:(BOOL)detectionOn
withDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
/**
设置设备红蓝灯开关状态
获取设备红蓝灯开关状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
@@ -251,7 +251,23 @@ typedef enum GWP2PRecordDefinition {
devicePassword:(NSString *)devicePassword
dayDate:(NSDate *)dayDate
completionBlock:(CompletionBlock)completionBlock;
#pragma mark - 获取设备卡回放有有回放文件的列表
/**
获取设备卡回放有没有云存储
@param deviceID 设备ID
@param devicePassword 设备密码
@param endDate /从哪一天开始向前查找
@param days /要查找多少天(包括endDate
@param completionBlock 与设备交互完成后的回调Block
*/
-(void)getDevcieRecodePlaybackDatesWithDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
enddate:(NSDate *)endDate
andSearchDays:(NSInteger )days
completionBlock:(CompletionBlock)completionBlock;
#pragma mark - 设置设备云回放上传的质量
/**
设置设备云回放上传的质量
@@ -77,8 +77,8 @@ typedef NS_ENUM(uint8_t, GWProtectionSettingState) {
*/
typedef NS_ENUM(uint8_t, GWProtectionSettingBodyState) {
GWProtectionSettingBodyStateNotSurpport = 0, /**< 设备不支持 */
GWProtectionSettingBodyStateOn = 3, /**< 状态开 */
GWProtectionSettingBodyStateOnlyBodyOff =7, /**< 状态关 */
GWProtectionSettingBodyStateOn = 7, /**< 状态开 */
GWProtectionSettingBodyStateOnlyBodyOff =3, /**< 状态关 */
};
@@ -129,9 +129,14 @@
@property (nonatomic, assign) BOOL isAPMode;/**< 是不是AP模式。此属性只保存上次与路由器交互后的数据,调 getDeviceIDInAPMode 方法会重新与路由器交互更新APMode状态,每次app进入前台时会更新APMode状态 */
@property (nonatomic, assign) NSInteger port;/**< 广播端口 */
@property (nonatomic, strong) NSString* apSSIDPrefix;/**< 自定ap模式wifi前缀如GW_AP_XXXXXXXX,传 GW_AP_ */
@property (nonatomic, assign) BOOL ackBackPreset;/**< 是否预置位ack回复就返回成功,默认是等转到位置再回复*/
@property (nonatomic, assign) BOOL supportIPSendCommand;/**< 是否预设备在局域网内用ip发送命令,默认为NO*/
@property (nonatomic, copy) NSString *serverList; /**< P2P服务器列表,自建服务器需要设置此属性,格式"|p2p1.cloudlinks.cn|p2p2.cloudlinks.cn|p2p3.cloud-links.net" */
@property (nonatomic, copy) NSString *appVersion;
#pragma mark 获取单例
/**
* 获取单例
@@ -84,6 +84,8 @@ typedef NS_ENUM(NSUInteger, GWP2PDeviceIPCSubtype) {
GWP2PDeviceIPCSubtypeSC3035Fisheye360D, //360全景
GWP2PDeviceIPCSubtypeSC3035Fisheye180D = 36, //180全景
GWP2PDeviceIPCSubtypeHiSi3516EV200 = 37, //HiSI 3516E V200 大镜头变焦变倍设备
};
@@ -87,7 +87,8 @@ typedef void (^DeviceReceiveBlock)(NSString *deviceId, BOOL isSupport);
*/
- (void)p2pSmartLinkDeviceWithWiFiSSID:(NSString *)ssid
password:(NSString *)password
deviceLinkIn:(DeviceLinkInBlock)deviceLinkInBlock DEPRECATED_ATTRIBUTE;
useSoundWave:(BOOL)useSoundWave
deviceLinkIn:(DeviceLinkInBlock)deviceLinkInBlock;
@@ -18,6 +18,8 @@
/** 当前播放的文件 */
@property (nonatomic, readonly) GWPlaybackFileModel *playbackFile;
/** 当前播放的文件的时间 */
@property (nonatomic, assign) uint64_t startTime;
/** 当前播放的时间,单位:微秒μs,可监听此时间变化更新播放进度条*/
@property (nonatomic, readonly) uint64_t currentTime;
@@ -49,14 +51,37 @@
accept:(P2PAcceptBlock)acceptBlock
reject:(P2PRejectBlock)rejectBlock
ready:(P2PReadyBlock)readyBlock;
/**
播放设备远程录像文件,原理和监控设备是一样的,需要呼叫连接设备
@param deviceId 设备ID
@param password 设备密码
@param playbackFile 回放文件对象,由GWP2PClient+Record中的获取回放文件列表方法获取
@param callingBlock 正在呼叫回调,详见block定义注释
@param acceptBlock 接收呼叫回调,详见block定义注释
@param rejectBlock 拒绝连接回调,详见block定义注释
@param readyBlock 连接就绪回调,详见block定义注释
*/
- (void)p2pCallPlaybackFileWithDeviceId:(NSString *)deviceId
password:(NSString *)password
filepts:(unsigned int)pts
playbackFile:(GWPlaybackFileModel *)playbackFile
calling:(P2PCallingBlock)callingBlock
accept:(P2PAcceptBlock)acceptBlock
reject:(P2PRejectBlock)rejectBlock
ready:(P2PReadyBlock)readyBlock;
/**
播放远程录像文件,如果已经连接上设备,调用此方法即可快速切换回放文件
@param playbackFile 回放文件对象
*/
- (void)p2pPlayPlaybackFile:(GWPlaybackFileModel *)playbackFile;
/**
播放远程录像文件,如果已经连接上设备,调用此方法即可快速切换回放文件
@param playbackFile 回放文件对象 ,指定播放时间
*/
- (void)p2pPlayPlaybackFile:(GWPlaybackFileModel *)playbackFile andPts:(NSUInteger)pts ;
/**
暂停或者继续播放
@@ -67,7 +92,10 @@
暂停
*/
- (void)p2pPause;
/**
播放
*/
- (void)p2pPlay;
/**
快进或者取消快进
*/
@@ -92,8 +92,8 @@ typedef void (^ScreenshotCompletionBlock)(UIImage *screenshot, NSTimeInterval ti
/** 是否正在播放, 从call开始就为YES,播放中断置为NO */
@property (nonatomic, assign, readonly) BOOL isPlaying;
/** 无声播放 */
@property (nonatomic, assign, getter=isSilent) BOOL silent;
/** 麦克风 */
@property (nonatomic, assign) BOOL micEnable;
/** 静音, 当`silent=YES`时`mute=YES` */
@property (nonatomic, assign, getter=isMute) BOOL mute;
@@ -109,7 +109,8 @@ typedef void (^ScreenshotCompletionBlock)(UIImage *screenshot, NSTimeInterval ti
/** 当前全景视频pts,转化成时间戳(秒)=pts/(1000*1000) */
@property (nonatomic, assign, readonly) uint64_t panoPTS;
/** 刷新*/
@property (nonatomic, assign) BOOL panoPause;
/**
构造方法
@@ -139,7 +139,7 @@ typedef NS_ENUM(NSUInteger, GWP2PPTZDirection) {
/**
视频清晰度
*/
typedef NS_ENUM(NSUInteger, GWP2PPTZDefinition) {
typedef NS_ENUM(NSInteger, GWP2PPTZDefinition) {
GWP2PPTZDefinitionLD = 0, //流畅,NPC:320*240 IPC:320*180
GWP2PPTZDefinitionSD, //标清,NPC:640*480 IPC:640*360
GWP2PPTZDefinitionHD, //高清,NPC:None IPC:1280*720
+88
View File
@@ -0,0 +1,88 @@
//
// GWQRCodeManager.h
// Yoosee
//
// Created by HuangZhen on 2018/5/28.
// Copyright © 2018年 Gwelltimes. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
扫码结果回调
@param scanResult 原始字符串
@param deviceID 设备ID
@param qrNetCfgAvailable 设备是否支持扫码配网
*/
typedef void(^GWQRCodeScanCallback)(NSString * _Nullable scanResult, NSString * _Nullable deviceID, BOOL qrNetCfgAvailable);
@interface GWQRCodeManager : NSObject
/**
初始化二维码扫码
需要手动调用startScan开启扫码
@param preView 视频显示区域
@param cropRect 识别区域,值为CGRectZero时全屏识别
@param callback 识别完成回调
@return GWQRCodeManager实例
*/
- (instancetype)initWithPreView:(UIView*)preView cropRect:(CGRect)cropRect callback:(GWQRCodeScanCallback)callback;
/**
初始化并开启二维码扫码
@param preView 视频显示区域
@param cropRect 识别区域,值为CGRectZero时全屏识别
@param callback 识别完成回调
@return GWQRCodeManager实例
*/
+ (instancetype)startScanWithPreView:(UIView*)preView cropRect:(CGRect)cropRect callback:(GWQRCodeScanCallback)callback;
/**
闪光灯模式
*/
@property (nonatomic, assign) AVCaptureTorchMode torchMode;
/**
开始扫码
*/
- (void)startScan;
/**
停止扫码
*/
- (void)stopScan;
/**
生成二维码
@param wifiName Wi-Fi名称
@param wifiPwd Wi-Fi密码
@param userID 有看头ID
@param size 二维码尺寸
@return 二维码图片, 失败时为nil
*/
+ (nullable UIImage *)createQRCodeWithWifiName:(NSString *)wifiName wifiPwd:(NSString *)wifiPwd userID:(NSString *)userID qrSize:(CGSize)size;
/**
生成二维码
@param qrString 要生成二维码的字符串
@param size 二维码尺寸
@return 二维码图片, 失败时为nil
*/
+ (nullable UIImage *)createQRCodeWithString:(NSString *)qrString qrSize:(CGSize)size;
@end
NS_ASSUME_NONNULL_END