热点连接流程修改

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
Binary file not shown.
+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
@@ -6,7 +6,7 @@
<dict>
<key>Headers/GWNet.h</key>
<data>
/D/h3V7xJHk/BcZAej7Qdp1XAW8=
qOvnF0hkPDvokoux41oP8C9VOR0=
</data>
<key>Headers/GWNetError.h</key>
<data>
@@ -14,7 +14,7 @@
</data>
<key>Headers/GWP2P.h</key>
<data>
M7yDtyM42ylW+TUlmhIzAeQMm48=
liZyR4OOyDZJLVYePutP2FGuZ6w=
</data>
<key>Headers/GWP2PClient+APMode.h</key>
<data>
@@ -22,7 +22,7 @@
</data>
<key>Headers/GWP2PClient+Alarm.h</key>
<data>
gjdTj+8WL0bZiRGOy/uygkTrEWc=
BP9SrnAEh2hirTF5DzfyK2FInjI=
</data>
<key>Headers/GWP2PClient+Defense.h</key>
<data>
@@ -50,11 +50,11 @@
</data>
<key>Headers/GWP2PClient+Record.h</key>
<data>
Azon8Lg4aPzChgoQ/xWyNhraqa4=
5bOV2cllYEWFjtNSr/WSShm2AEc=
</data>
<key>Headers/GWP2PClient+SceneMode.h</key>
<data>
pwlPuiVmuZhyMjlyGO2egM3C18s=
+DFyByRLpU2+QlXi/QVYRtHtEHE=
</data>
<key>Headers/GWP2PClient+Sensor.h</key>
<data>
@@ -66,7 +66,7 @@
</data>
<key>Headers/GWP2PClient.h</key>
<data>
RYvGLk9NxfGf3yLt0TtgMvEw0so=
hR5W3NX/58FZYHAvjuOrYu5YBw8=
</data>
<key>Headers/GWP2PDefine.h</key>
<data>
@@ -74,11 +74,11 @@
</data>
<key>Headers/GWP2PDevice.h</key>
<data>
G8/oP9uZevx53PoZD5T/9vzN/DQ=
r9ERvKBsChVgYdEgPH3oCNtOx30=
</data>
<key>Headers/GWP2PDeviceLinker.h</key>
<data>
ynGGxd+LY4crGQkTI1NLbdDMvpY=
SNU9iYiYC47fBYLndeQidexS0Bs=
</data>
<key>Headers/GWP2PLanDevice.h</key>
<data>
@@ -86,20 +86,24 @@
</data>
<key>Headers/GWP2PPlaybackPlayer.h</key>
<data>
+blua7Uvw/zRvv9+evEuYFEBlgI=
A9vFPZlggZCfl2/yOxDoeTN59Xg=
</data>
<key>Headers/GWP2PPlayer.h</key>
<data>
l7uVOYTsc/CfKJPvCUkpkiL6xHE=
htZ01wr4y8f2Ld/PbpG1Wec31Lc=
</data>
<key>Headers/GWP2PPlayerDefine.h</key>
<data>
YTMpNTvqgumbSqfzU1FBvzK7xlI=
tclepECQZUkTcauXyarYOMeINbA=
</data>
<key>Headers/GWP2PVideoPlayer.h</key>
<data>
BngQ84XqDG3xpnszWomlx3Boh14=
</data>
<key>Headers/GWQRCodeManager.h</key>
<data>
kIAxpq1Z60YvXk4jJSR2CcAd7ro=
</data>
<key>Headers/MD5Manager.h</key>
<data>
9Ap+BCQmV4CE/09z8spNS9mQ77k=
@@ -119,11 +123,11 @@
<dict>
<key>hash</key>
<data>
/D/h3V7xJHk/BcZAej7Qdp1XAW8=
qOvnF0hkPDvokoux41oP8C9VOR0=
</data>
<key>hash2</key>
<data>
oj8DULbME/XrojhVsH9vFLl1XLent2Sdu5x1p9A3MJ4=
ZumI3TsE2ot1c4IY6lTZH5ONLSzQxuMiAHuJkK7DJmo=
</data>
</dict>
<key>Headers/GWNetError.h</key>
@@ -141,11 +145,11 @@
<dict>
<key>hash</key>
<data>
M7yDtyM42ylW+TUlmhIzAeQMm48=
liZyR4OOyDZJLVYePutP2FGuZ6w=
</data>
<key>hash2</key>
<data>
SYZLQZCuVeESvX/qZvtm5MMR6leqfds0aNxcMy42U/8=
CArVnTeUTjI/UzBiRA4uW9iQ5wBWa+ENTOYwjIpEI6g=
</data>
</dict>
<key>Headers/GWP2PClient+APMode.h</key>
@@ -163,11 +167,11 @@
<dict>
<key>hash</key>
<data>
gjdTj+8WL0bZiRGOy/uygkTrEWc=
BP9SrnAEh2hirTF5DzfyK2FInjI=
</data>
<key>hash2</key>
<data>
s6rg3KlpjqO4giyxE0OYvJG42+pnzuiyt/t8HJDHVco=
o4Me3JeSbi0kReFNPJoctpn+P5kStisdPdaX4eHmBio=
</data>
</dict>
<key>Headers/GWP2PClient+Defense.h</key>
@@ -240,22 +244,22 @@
<dict>
<key>hash</key>
<data>
Azon8Lg4aPzChgoQ/xWyNhraqa4=
5bOV2cllYEWFjtNSr/WSShm2AEc=
</data>
<key>hash2</key>
<data>
W7kyLABk/LawcZ+9ZpwnHbTKphiUJ75XMtZ0hs/Wjxg=
jmMpVcBaOKv2p/37inz8msilwARs2kxyoJAkubrteTQ=
</data>
</dict>
<key>Headers/GWP2PClient+SceneMode.h</key>
<dict>
<key>hash</key>
<data>
pwlPuiVmuZhyMjlyGO2egM3C18s=
+DFyByRLpU2+QlXi/QVYRtHtEHE=
</data>
<key>hash2</key>
<data>
8DrEWWnGtOANRPXQoDaQVpO3z7pQB9Bm/rRMZC+gJlM=
sfIYKrZQeLjOwDRmfU5agZwipjx3AM2N7GSAEDmApcI=
</data>
</dict>
<key>Headers/GWP2PClient+Sensor.h</key>
@@ -284,11 +288,11 @@
<dict>
<key>hash</key>
<data>
RYvGLk9NxfGf3yLt0TtgMvEw0so=
hR5W3NX/58FZYHAvjuOrYu5YBw8=
</data>
<key>hash2</key>
<data>
CJI8BirmzaJFuN1ZFFikCr9zTkyOto5JRMYsYmi5Ntw=
GbXJCamCzLaBtBHrDe8e2qUKcosxv9+ZYaOM/Tm+HhQ=
</data>
</dict>
<key>Headers/GWP2PDefine.h</key>
@@ -306,22 +310,22 @@
<dict>
<key>hash</key>
<data>
G8/oP9uZevx53PoZD5T/9vzN/DQ=
r9ERvKBsChVgYdEgPH3oCNtOx30=
</data>
<key>hash2</key>
<data>
A4XIwRTo78MWLG8iwGYPjg849rPVbe6rhbPyh99oAhA=
hq76cD3su7KZwpO2FzOxjh9HhCMt2f1XNvF0a+mmrkA=
</data>
</dict>
<key>Headers/GWP2PDeviceLinker.h</key>
<dict>
<key>hash</key>
<data>
ynGGxd+LY4crGQkTI1NLbdDMvpY=
SNU9iYiYC47fBYLndeQidexS0Bs=
</data>
<key>hash2</key>
<data>
s8Voc6sCJn8BjsAXJJDGUDnrxEFNvhVZRRiVWeYT5PA=
xdWYPxEsat0fBBthyGFQ3yC/xBR4sMWR1L4GuVzG+gI=
</data>
</dict>
<key>Headers/GWP2PLanDevice.h</key>
@@ -339,33 +343,33 @@
<dict>
<key>hash</key>
<data>
+blua7Uvw/zRvv9+evEuYFEBlgI=
A9vFPZlggZCfl2/yOxDoeTN59Xg=
</data>
<key>hash2</key>
<data>
fCbJW58v8fFL2guvsn6wZ1o9t7zRonmcvDXlRV80DXY=
ds7+FxuUguCSh11xYIzLv7aPM4MgLc+CWxKEeAYzTk8=
</data>
</dict>
<key>Headers/GWP2PPlayer.h</key>
<dict>
<key>hash</key>
<data>
l7uVOYTsc/CfKJPvCUkpkiL6xHE=
htZ01wr4y8f2Ld/PbpG1Wec31Lc=
</data>
<key>hash2</key>
<data>
nujAzHkU1eAeqoJX41QIuENbJmNST46VskCKMksstFA=
ftFc90AfZVS/XHDlrQKYs1iCcgaEO11JKStE7rII3as=
</data>
</dict>
<key>Headers/GWP2PPlayerDefine.h</key>
<dict>
<key>hash</key>
<data>
YTMpNTvqgumbSqfzU1FBvzK7xlI=
tclepECQZUkTcauXyarYOMeINbA=
</data>
<key>hash2</key>
<data>
edkPjmBz3IjZ3K+48tWugH1KiIPqfbDzy2fJjabfmYQ=
bQH3yY1GE6ukMWghneVwxKpq+m3WXhtADYGjPIfTx80=
</data>
</dict>
<key>Headers/GWP2PVideoPlayer.h</key>
@@ -379,6 +383,17 @@
Ra6aFpCNNl/BwtNWr3IoZMEkpNG46c+/w9XhN6+jMMU=
</data>
</dict>
<key>Headers/GWQRCodeManager.h</key>
<dict>
<key>hash</key>
<data>
kIAxpq1Z60YvXk4jJSR2CcAd7ro=
</data>
<key>hash2</key>
<data>
TaBsJLmgQ6Zfeghkk2WxPYr72/x7s316O4Ig4uHFCwQ=
</data>
</dict>
<key>Headers/MD5Manager.h</key>
<dict>
<key>hash</key>