12
12
13
13
#define kDevice_Is_iPhoneX ([UIScreen instancesRespondToSelector: @selector (currentMode )] ? CGSizeEqualToSize(CGSizeMake(1125 , 2436 ), [[UIScreen mainScreen ] currentMode ].size) : NO )
14
14
15
+ @interface RNNeteaseIm (){
16
+ NSString *strUserAgent;
17
+ }
18
+
19
+ @end
15
20
16
21
@implementation RNNeteaseIm
17
22
@@ -784,9 +789,35 @@ -(void)setSendState{
784
789
// 获取网络状态权限
785
790
RCT_EXPORT_METHOD (getNetWorkStatus:(RCTPromiseResolveBlock)resolve
786
791
reject:(RCTPromiseRejectBlock)reject){
787
- int type = 0 ;// 0:无网络, 1:2G, 2:3G, 3:4G, 4:LTE准4G,5:wifi
792
+ // int type = 0;//0:无网络, 1:2G, 2:3G, 3:4G, 4:LTE准4G,5:wifi
788
793
if (kDevice_Is_iPhoneX ){// iPhone X 目前未找到获取状态栏网络状态,先设置为1
789
- type = 1 ;
794
+ resolve (@(1 ));
795
+ }else {
796
+ NSString *strNetWork = [self getNetStatus ];
797
+ if ([strNetWork isEqualToString: @" NOTFOUND" ]) {
798
+ resolve (@(0 ));
799
+ }else {
800
+ resolve (@(1 ));
801
+ }
802
+ }
803
+ }
804
+ // 设置webview UA
805
+ RCT_EXPORT_METHOD (setupWebViewUserAgent){
806
+ if (!strUserAgent.length ) {
807
+ NSString *version = [[[NSBundle mainBundle ] infoDictionary ] objectForKey: @" CFBundleShortVersionString" ];
808
+ NSString *userAgent = [[[UIWebView alloc ] init ] stringByEvaluatingJavaScriptFromString: @" navigator.userAgent" ];
809
+ strUserAgent = [userAgent stringByAppendingFormat: @" Feima/%@ NetType/" , version];
810
+ }
811
+ NSString *strNetWork = [self getNetStatus ];
812
+ [[NSUserDefaults standardUserDefaults ] registerDefaults: @{@" UserAgent" :[NSString stringWithFormat: @" %@%@ " ,strUserAgent,strNetWork]}];
813
+ }
814
+
815
+ // 获取网络状态
816
+ - (NSString *)getNetStatus {
817
+ NSString *strNetWork = @" " ;
818
+ int type = 0 ;// 0:无网络, 1:2G, 2:3G, 3:4G, 4:LTE准4G,5:wifi,6:iphone x
819
+ if (kDevice_Is_iPhoneX ){// iPhone X 目前未找到获取状态栏网络状态,先设置为1
820
+ type = 6 ;
790
821
}else {
791
822
UIApplication *app = [UIApplication sharedApplication ];
792
823
NSArray *children = [[[app valueForKeyPath: @" statusBar" ] valueForKeyPath: @" foregroundView" ] subviews ];
@@ -796,13 +827,33 @@ -(void)setSendState{
796
827
}
797
828
}
798
829
}
799
- if (type) {
800
- resolve (@(1 ));
801
- }else {
802
- resolve (@(0 ));
830
+ switch (type) {
831
+ case 0 :
832
+ strNetWork = @" NOTFOUND" ;
833
+ break ;
834
+ case 1 :
835
+ strNetWork = @" 2G" ;
836
+ break ;
837
+ case 2 :
838
+ strNetWork = @" 3G" ;
839
+ break ;
840
+ case 3 :
841
+ strNetWork = @" 4G" ;
842
+ break ;
843
+ case 4 :
844
+ strNetWork = @" LTE" ;
845
+ break ;
846
+ case 5 :
847
+ strNetWork = @" WIFI" ;
848
+ break ;
849
+ case 6 :
850
+ strNetWork = @" NOTFOUND" ;
851
+ break ;
852
+ default :
853
+ strNetWork = @" NOTFOUND" ;
854
+ break ;
803
855
}
804
-
856
+ return strNetWork;
805
857
}
806
858
807
-
808
859
@end
0 commit comments