apple 6 years ago
parent
commit
0a6bd8e27d
38 changed files with 430 additions and 955 deletions
  1. 4 4
      ios/JianYuIOS/JianYuIOS.xcodeproj/project.pbxproj
  2. BIN
      ios/JianYuIOS/JianYuIOS.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate
  3. 6 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/Contents.json
  4. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/Contents.json
  5. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/laboratory.png
  6. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/laboratory@2x.png
  7. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/laboratory@3x.png
  8. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/Contents.json
  9. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/laboratory1.png
  10. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/laboratory1@2x.png
  11. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/laboratory1@3x.png
  12. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/Contents.json
  13. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/mine.png
  14. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/mine@2x.png
  15. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/mine@3x.png
  16. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/Contents.json
  17. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/mine1.png
  18. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/mine1@2x.png
  19. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/mine1@3x.png
  20. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/Contents.json
  21. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/search.png
  22. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/search@2x.png
  23. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/search@3x.png
  24. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/Contents.json
  25. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/search1.png
  26. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/search1@2x.png
  27. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/search1@3x.png
  28. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/Contents.json
  29. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/subscribe.png
  30. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/subscribe@2x.png
  31. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/subscribe@3x.png
  32. 23 0
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/Contents.json
  33. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/subscribe1.png
  34. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/subscribe1@2x.png
  35. BIN
      ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/subscribe1@3x.png
  36. 8 8
      ios/JianYuIOS/JianYuIOS/JYTabBarController.m
  37. 0 871
      ios/JianYuIOS/JianYuIOS/VfiewController.m
  38. 228 72
      ios/JianYuIOS/JianYuIOS/ViewController.m

+ 4 - 4
ios/JianYuIOS/JianYuIOS.xcodeproj/project.pbxproj

@@ -7,6 +7,7 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		1876C3FC219920DE00BC23DE /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1876C3FB219920DE00BC23DE /* ViewController.m */; };
 		188036FB2193EA09006F9D7B /* JYNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 188036F72193EA08006F9D7B /* JYNavigationController.m */; };
 		188036FC2193EA09006F9D7B /* JYTabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 188036F92193EA09006F9D7B /* JYTabBarController.m */; };
 		1880371E2193EB25006F9D7B /* JYSearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 188037162193EB25006F9D7B /* JYSearchViewController.m */; };
@@ -34,7 +35,6 @@
 		C55FF3BF20230E7E0088AECC /* NewWebController.m in Sources */ = {isa = PBXBuildFile; fileRef = C55FF3BD20230E7E0088AECC /* NewWebController.m */; };
 		C55FF3C020230E7E0088AECC /* NewWebController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C55FF3BE20230E7E0088AECC /* NewWebController.xib */; };
 		C5B194D4202EA46D00F0AC76 /* arrowLeft@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C5B194D3202EA46C00F0AC76 /* arrowLeft@2x.png */; };
-		C5BE6E3F2011D99100F28B36 /* VfiewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BE6E3E2011D99100F28B36 /* VfiewController.m */; };
 		C5BE6E422011D99100F28B36 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C5BE6E402011D99100F28B36 /* Main.storyboard */; };
 		C5BE6E442011D99100F28B36 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C5BE6E432011D99100F28B36 /* Assets.xcassets */; };
 		C5BE6E472011D99100F28B36 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C5BE6E452011D99100F28B36 /* LaunchScreen.storyboard */; };
@@ -66,6 +66,7 @@
 /* Begin PBXFileReference section */
 		0CA962A24EED00910F83394E /* libPods-JianYuIOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JianYuIOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 		10D9BC27D00CB4DF3F791728 /* Pods-JianYuIOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JianYuIOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS.release.xcconfig"; sourceTree = "<group>"; };
+		1876C3FB219920DE00BC23DE /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
 		188036F72193EA08006F9D7B /* JYNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JYNavigationController.m; sourceTree = "<group>"; };
 		188036F82193EA09006F9D7B /* JYTabBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JYTabBarController.h; sourceTree = "<group>"; };
 		188036F92193EA09006F9D7B /* JYTabBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JYTabBarController.m; sourceTree = "<group>"; };
@@ -116,7 +117,6 @@
 		C5B194D3202EA46C00F0AC76 /* arrowLeft@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "arrowLeft@2x.png"; sourceTree = "<group>"; };
 		C5BE6E372011D99100F28B36 /* JianYuIOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JianYuIOS.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		C5BE6E3D2011D99100F28B36 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
-		C5BE6E3E2011D99100F28B36 /* VfiewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VfiewController.m; sourceTree = "<group>"; };
 		C5BE6E412011D99100F28B36 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
 		C5BE6E432011D99100F28B36 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		C5BE6E462011D99100F28B36 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
@@ -277,7 +277,7 @@
 				C550BEF420180AB700F0BC2A /* JianYuIOS.entitlements */,
 				188037092193EAD1006F9D7B /* Classes(模块) */,
 				C5BE6E3D2011D99100F28B36 /* ViewController.h */,
-				C5BE6E3E2011D99100F28B36 /* VfiewController.m */,
+				1876C3FB219920DE00BC23DE /* ViewController.m */,
 				188036FA2193EA09006F9D7B /* JYNavigationController.h */,
 				188036F72193EA08006F9D7B /* JYNavigationController.m */,
 				188036F82193EA09006F9D7B /* JYTabBarController.h */,
@@ -524,7 +524,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C5BE6E3F2011D99100F28B36 /* VfiewController.m in Sources */,
+				1876C3FC219920DE00BC23DE /* ViewController.m in Sources */,
 				C55FF3BF20230E7E0088AECC /* NewWebController.m in Sources */,
 				C519972D2020238D007946E8 /* LXMD5.m in Sources */,
 				C555EC282047DC5E0084642F /* LXNetworkManager.m in Sources */,

BIN
ios/JianYuIOS/JianYuIOS.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate


+ 6 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "laboratory.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "laboratory@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "laboratory@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/laboratory.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/laboratory@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory.imageset/laboratory@3x.png


+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "laboratory1.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "laboratory1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "laboratory1@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/laboratory1.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/laboratory1@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/laboratory1.imageset/laboratory1@3x.png


+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "mine.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "mine@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "mine@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/mine.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/mine@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine.imageset/mine@3x.png


+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "mine1.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "mine1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "mine1@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/mine1.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/mine1@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/mine1.imageset/mine1@3x.png


+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "search.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "search@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "search@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/search.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/search@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search.imageset/search@3x.png


+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "search1.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "search1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "search1@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/search1.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/search1@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/search1.imageset/search1@3x.png


+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "subscribe.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "subscribe@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "subscribe@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/subscribe.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/subscribe@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe.imageset/subscribe@3x.png


+ 23 - 0
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "subscribe1.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "subscribe1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "subscribe1@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/subscribe1.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/subscribe1@2x.png


BIN
ios/JianYuIOS/JianYuIOS/Assets.xcassets/tab/subscribe1.imageset/subscribe1@3x.png


+ 8 - 8
ios/JianYuIOS/JianYuIOS/JYTabBarController.m

@@ -47,12 +47,12 @@
         UITabBarItem *tabBarItem = [UITabBarItem appearanceWhenContainedInInstancesOfClasses:@[self]];
         
         NSMutableDictionary *dictNormal = [NSMutableDictionary dictionary];
-        dictNormal[NSForegroundColorAttributeName] = UIColorFromRGB(0x5F5F5F);
-        dictNormal[NSFontAttributeName] = [UIFont systemFontOfSize:12];
+        dictNormal[NSForegroundColorAttributeName] = UIColorFromRGB(0x888888);
+        dictNormal[NSFontAttributeName] = [UIFont systemFontOfSize:10];
         
         NSMutableDictionary *dictSelected = [NSMutableDictionary dictionary];
-        dictSelected[NSForegroundColorAttributeName] = UIColorFromRGB(0x785441);
-        dictSelected[NSFontAttributeName] = [UIFont systemFontOfSize:12];
+        dictSelected[NSForegroundColorAttributeName] = UIColorFromRGB(0x2cb7ca);
+        dictSelected[NSFontAttributeName] = [UIFont systemFontOfSize:10];
         
         [tabBarItem setTitleTextAttributes:dictNormal forState:UIControlStateNormal];
         [tabBarItem setTitleTextAttributes:dictSelected forState:UIControlStateSelected];
@@ -97,17 +97,17 @@
 - (void)setUpAllChildVc
 {
     self.V1 = [[JYSearchViewController alloc] init];
-    [self setUpOneChildVcWithVc:self.V1 Image:@"icon-home" selectedImage:@"icon-home2" title:@"搜索" tag:0];
+    [self setUpOneChildVcWithVc:self.V1 Image:@"search" selectedImage:@"search1" title:@"搜索" tag:0];
 
     self.V2 = [[JYSubViewController alloc] init];
-    [self setUpOneChildVcWithVc:self.V2 Image:@"icon-home" selectedImage:@"icon-home2" title:@"订阅" tag:1];
+    [self setUpOneChildVcWithVc:self.V2 Image:@"subscribe" selectedImage:@"subscribe1" title:@"订阅" tag:1];
 
     self.V3 = [[JYExpViewController alloc] init];
-    [self setUpOneChildVcWithVc:self.V3 Image:@"icon-home" selectedImage:@"icon-home2" title:@"实验室" tag:2];
+    [self setUpOneChildVcWithVc:self.V3 Image:@"laboratory" selectedImage:@"laboratory1" title:@"实验室" tag:2];
 
 
     self.V4 = [[JYMineViewController alloc] init];
-    [self setUpOneChildVcWithVc:self.V4 Image:@"icon-home" selectedImage:@"icon-home2" title:@"我的" tag:3];
+    [self setUpOneChildVcWithVc:self.V4 Image:@"mine" selectedImage:@"mine1" title:@"我的" tag:3];
     
     
 //    self.VV1 = [[ViewController1 alloc] init];

+ 0 - 871
ios/JianYuIOS/JianYuIOS/VfiewController.m

@@ -1,871 +0,0 @@
-//
-//  ViewController.m
-//  JianYuIOS
-//
-//  Created by lixianglan on 2018/1/19.
-//  Copyright © 2018年 lixianglan. All rights reserved.
-//
-
-#import "ViewController.h"
-#import <JavaScriptCore/JavaScriptCore.h>
-#import <UShareUI/UShareUI.h>
-#import <UMSocialCore/UMSocialCore.h>
-#import "NewWebController.h"
-#import <UMSocialCore/UMSocialCore.h>
-#import <AFNetworking.h>
-#import "NoNetView.h"
-//#import <WebKit/WebKit.h>
-#import  <CommonCrypto/CommonCryptor.h>
-
-
-
-#define LocalStr_None @""//空字符串
-#define KIsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
-
-@protocol ViewControllerMain<JSExport>
-
-//测试
-
-
-@end
-
-
-
-@protocol ViewControllerJSExport<JSExport>
-
-JSExportAs(loginByWeixin, -(NSString *)jsLoginByWeixin:(NSString *)str);// 微信登录 openid
-JSExportAs(share, -(void)jsShare:(NSString *)type title:(NSString *)title content:(NSString *)content link:(NSString *)link); // 调用分享
-JSExportAs(saveUserToken, -(void)jsSaveUserToken:(NSString *)token);// 登录时获取令牌 保存
-JSExportAs(getUserToken, -(NSString *)jsGetUserToken:(NSString *)str);// 取本地存的令牌
-JSExportAs(removeUserToken, -(void)jsRemoveUserToken:(NSString *)str); // 退出时清空数据
-JSExportAs(checkNoticePermission, -(int)jsCheckNoticePermission:(NSString *)str); // 查询手机通知是否打开
-JSExportAs(openSystemNotification, -(void)jsOpenSystemNotification:(NSString *)str);// 跳转到系统设置
-JSExportAs(getPushRid, -(NSString *)jsGetPushRid:(NSString *)str);// 返回极光id
-JSExportAs(getMessageList, -(NSString *)jsGetMessageList:(NSString *)openid);// 按通知接收时间倒排,取前100条
-JSExportAs(updateMessageState, -(void)jsUpdateMessageState:(NSString *)lxID state:(NSString *)state);// 更新状态
-JSExportAs(deleteMessageById, -(void)jsDeleteMessageById:(NSString *)lxID);// 删除一条消息
-JSExportAs(getMessage, -(NSString *)jsGetMessage:(NSString *)lxID);// 取单条数据
-JSExportAs(getUnReadMessageCount, -(int)jsGetUnReadMessageCount:(NSString *)openid);// 获取未读消息总数
-JSExportAs(updateAllUnReadMessage, -(void)jsUpdateAllUnReadMessage:(NSString *)openid);// 全部置为已读
-JSExportAs(lightStatusBar, -(void)jsLightStatusBar:(NSString *)status);// 导航栏文字颜色
-JSExportAs(openExternalLink, -(void)jsOpenExternalLink:(NSString *)url title:(NSString *)title);// 打开新控制器 加载新web
-JSExportAs(getVersion, -(NSString *)jsGetVersion:(NSString *)str);// 获取当前版本号
-JSExportAs(alert, -(void)jsAlert:(NSString *)content);// 弹框
-JSExportAs(isInstallWeixin, -(int)jsIsInstallWeixin:(NSString *)str);// 是否安装微信
-JSExportAs(changeMessageType, -(void)jsChangeMessageType:(NSString *)link);//已读操作处理
-JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(NSString *)rectype openid:(NSString *)openid);
-
-JSExportAs(getCipherText, -(NSString *)jsGGetCipherText:(NSString *)phone);
-
-JSExportAs(business, -(NSInteger)jsBusiness:(NSInteger)shooID shopType:(NSInteger )shopType);
-
-
-
-
-@end
-
-
-@interface ViewController ()<UIWebViewDelegate, ViewControllerJSExport>
-{
-    CGPoint startTouch;
-    BOOL _isMoving;
-    
-    
-    BOOL _isFirstLogin;
-}
-
-
-
-
-
-@end
-
-NSString *const kInitVector = @"1389461544135476";
-size_t const kKeySize = kCCKeySizeAES128;
-NSString *const AesKey = @"mGlAgnIBB8bx2nch";
-
-@implementation ViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    
-    NSLog(@"viewDidLoadviewDidLoad   初始化");
-    
-    [LXDataBaseManager shareDataBaseManager];
-    if ([[UIDevice currentDevice].systemVersion floatValue] >= 11.0) {
-//        if(KIsiPhoneX) {
-//            self.topC.constant = -44;
-//            [self.webView updateConstraints];
-//        }else {
-//            self.topC.constant = -20;
-//            [self.webView updateConstraints];
-//        }
-        self.topC.constant = -20;
-        [self.webView updateConstraints];
-    }
-    
-    
-    self.view.backgroundColor = [UIColor whiteColor];
-    
-    
-    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT)];
-    [self.view addSubview: self.webView];
-    self.webView.scrollView.bounces = NO;
-    self.webView.delegate = self;
-    
-    
-    
-    
-    [[LXViewControllerManager shareViewControllerManager] showHudText:nil];
-    [self webViewFirstRequest];//请求页面数据
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(requestWebView:) name:kRequestWebViewWithUrl object:nil];
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateNotifyState) name:kUpdateNotifyState object:nil];
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(afterReceiveNewMsg) name:kAfterReceiveNewMsg object:nil];
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadWebView) name:kReloadWebVIew object:nil];
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loginOut:) name:kLoginOut object:nil];
-    
-    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(netReachChanged:) name:AFNetworkingReachabilityDidChangeNotification object:nil];
-    
-    
-
-    
-    [self clearWeb];
-
-    UIPanGestureRecognizer *recognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(paningGestureReceive:)];
-    [recognizer delaysTouchesBegan];
-    [self.view addGestureRecognizer:recognizer];
-    
-
-}
-
--(void)moveViewWithX:(float)x
-{
-    CGRect rect = self.view.bounds;
-    CGFloat width = CGRectGetWidth(rect);
-    x = x>width?width:x;
-    x = x<0?0:x;
-    CGRect frame = self.webView.frame;
-    frame.origin.x = x;
-    self.webView.frame = frame;
-}
-
-#pragma mark – Gesture Recognizer –
--(void)paningGestureReceive:(UIPanGestureRecognizer *)recoginzer
-{
-    CGRect rect = self.view.bounds;
-    CGFloat width = CGRectGetWidth(rect);
-    if (![self.webView canGoBack]) {
-        NSLog(@"不可返回");
-        return;
-    }
-    
-    NSString *current_url = [self.webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
-    NSLog(@"当前页面:%@",current_url);
-//    NSString *current_url = self.webView.request.URL.absoluteString;
-    if([current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/free/me",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/wxkeyset/keyset/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/mainSearch",kHost]]){
-        return;
-    }
-
-    //https://www.jianyu360.com/jyapp/free/me
-    //https://www.jianyu360.com/jyapp/jylab/index
-    //https://www.jianyu360.com/jyapp/wxkeyset/keyset/index
-    //https://www.jianyu360.com/jyapp/jylab/mainSearch
-    
-    CGPoint touchPoint = [recoginzer locationInView:[UIApplication sharedApplication].keyWindow];
-    if (recoginzer.state==UIGestureRecognizerStateBegan) {
-        _isMoving = YES;
-        startTouch = touchPoint;
-    } else if (recoginzer.state==UIGestureRecognizerStateEnded){
-        if (touchPoint.x - startTouch.x > width*0.125) {
-            [UIView animateWithDuration:0.3 animations:^{
-                [self moveViewWithX:width];
-                [self.webView goBack];
-            } completion:^(BOOL finished) {
-                _isMoving = NO;
-                [self moveViewWithX:0];
-            }];
-        } else {
-            [UIView animateWithDuration:0.3 animations:^{
-                [self moveViewWithX:0];
-            } completion:^(BOOL finished) {
-                _isMoving = NO;
-            }];
-        }
-        return;
-    } else if (recoginzer.state==UIGestureRecognizerStateCancelled){
-        [UIView animateWithDuration:0.3 animations:^{
-            [self moveViewWithX:0];
-        } completion:^(BOOL finished) {
-            _isMoving = NO;
-        }];
-        return;
-    }
-    if (_isMoving) {
-        [self moveViewWithX:touchPoint.x - startTouch.x];
-    }
-}
-
-
-// 监控网络状态变化
--(void)netReachChanged:(NSNotification *)notificaition{
-    NSDictionary *userInfo = notificaition.userInfo;
-    if ([userInfo[@"AFNetworkingReachabilityNotificationStatusItem"] intValue] == 0 || [userInfo[@"AFNetworkingReachabilityNotificationStatusItem"] intValue] == -1) {
-        [self addNoNetViews];
-    }else{
-        if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"firstLoad"] intValue] == 0) {
-            [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"firstLoad"];
-            [self removeNoNetViews];
-            [self webViewFirstRequest];
-        }
-    }
-}
-
-// 再次加载页面
--(void)reloadWebView{
-    [[LXViewControllerManager shareViewControllerManager] showHudText:nil];
-    if (!self.webView.canGoBack) {
-        [self webViewFirstRequest];
-    }else{
-        [self.webView reload];
-    }
-
-}
-
-// 首次加载web
--(void)webViewFirstRequest{
-    NSString *url = [NSString stringWithFormat:@"%@%@", kHost, @"jyapp/free/index"];
-    NSString *token = [LXUserDefaults token];
-    if (token) {
-        url = [url stringByAppendingString:[NSString stringWithFormat:@"?sign=%@&url=/jyapp/jylab/mainSearch&from=restart", token]];
-    }
-    url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-    
-}
-
-//收到消息退出并重新加载web
--(void)webViewRequestByMsg{
-    NSString *url = [NSString stringWithFormat:@"%@%@", kHost, @"jyapp/free/kicked"];
-    url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-}
-
--(void)requestWebTime:(NSDictionary *)infoDict
-{
-    NSString * urlStr = [NSString stringWithFormat:@"%@",infoDict[@"url"]];
-
-    if([infoDict[@"type"] isEqualToString:@"message"]) {
-        NSString *url = [NSString stringWithFormat:@"%@",urlStr];
-        NSArray * array = [url componentsSeparatedByString:@"=="];
-        url =  [array.firstObject stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-        [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-        [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
-//
-    }else {
-        NSString *url = [NSString stringWithFormat:@"%@%@", kHost, urlStr];
-        url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-        [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-        [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
-    }
-    
-}
-
-// 点击通知 跳转到通知内url
--(void)requestWebView:(NSNotification *)notification{
-    NSDictionary * infoDict = [notification object];
-    if (!infoDict) {
-        return;
-    }
-    NSString * urlStr = [NSString stringWithFormat:@"%@",infoDict[@"url"]];
-
-    if (urlStr) {
-        [[LXViewControllerManager shareViewControllerManager] showHudText:nil];
-        self.afterOpenPushMessage = YES;
-        
-        
-        [self performSelector:@selector(requestWebTime:) withObject:infoDict afterDelay:1];
-//        if([infoDict[@"type"] isEqualToString:@"message"]) {
-//            NSString *url = [NSString stringWithFormat:@"%@",urlStr];
-//            url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-//            [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-//            [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
-//        }else {
-//            NSString *url = [NSString stringWithFormat:@"%@%@", kHost, urlStr];
-//            url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-//            [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-//            [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
-//        }
-        
-        
-    }
-
-    
-}
-
-
-
-
-// 收到通知消息
--(void)afterReceiveNewMsg{
-    NSLog(@"afterReceiveNewMsg");
-    JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
-    [context evaluateScript:@"afterReceiveNewMsg()"];
-}
-
-// 收到退出登录消息
--(void)loginOut:(NSNotification *)notification{
-    self.signOutContent = notification.object;
-    if (!self.signOutContent) {
-        self.signOutContent = @"1";
-    }
-    NSString *url = [NSString stringWithFormat:@"%@%@?sign=%@", kHost, @"jyapp/free/signOut", [LXUserDefaults token]];
-    url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-
-    UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
-    webView.delegate = self;
-    [self.view addSubview:webView];
-    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-
-//    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-    [self jsRemoveUserToken:nil];
-}
-
-
-
-
-- (void)hideTabBar {
-    
-    kMainQueue(^{
-        if (self.tabBarController.tabBar.hidden == YES) {
-            return;
-        }
-        UIView *contentView;
-        if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )
-            contentView = [self.tabBarController.view.subviews objectAtIndex:1];
-        else
-            contentView = [self.tabBarController.view.subviews objectAtIndex:0];
-        contentView.frame = CGRectMake(contentView.bounds.origin.x,  contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height + self.tabBarController.tabBar.frame.size.height);
-        self.tabBarController.tabBar.hidden = YES;
-    });
-}
-- (void)showTabBar{
-    kMainQueue(^{
-        if (self.tabBarController.tabBar.hidden == NO)
-        {
-            return;
-        }
-        UIView *contentView;
-        if ([[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]])
-            
-            contentView = [self.tabBarController.view.subviews objectAtIndex:1];
-        
-        else
-            
-            contentView = [self.tabBarController.view.subviews objectAtIndex:0];
-        contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height - self.tabBarController.tabBar.frame.size.height);
-        self.tabBarController.tabBar.hidden = NO;
-    });
-}
-
--(void)jsHiddenBottom:(NSString *)hidden
-{
-    if([hidden integerValue]==0) {
-        [self hideTabBar];
-        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT+STATUS_BAR_HEIGHT);
-    }else {
-        [self showTabBar];
-        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT);
-    }
-}
-
--(void)judgeIsHidden
-{
-    NSString *current_url = [self.webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
-//    if([current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/mainSearch",kHost]]){
-//        [self showTabBar];
-//        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT);
-//    }else {
-//        [self hideTabBar];
-//        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT+STATUS_BAR_HEIGHT);
-//    }
-    
-    
-    if([current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/free/me",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/wxkeyset/keyset/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/mainSearch",kHost]]){
-        [self showTabBar];
-        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT);
-    }else {
-        [self hideTabBar];
-        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT+STATUS_BAR_HEIGHT);
-    }
-    
-}
-
-#pragma mark  捕获js中调用的方法
-
-//捕获js中调用的方法
-- (void)webViewDidFinishLoad:(UIWebView *)webView{
-    
-    [self judgeIsHidden];//是否隐藏
-    [self removeNoNetViews];
-    [[LXViewControllerManager shareViewControllerManager] hideHud];
-    JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
-    // Disable user selection
-    [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
-    // Disable callout
-    [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
-    
-    context[@"JyObj"] = self;
-    
-    [context evaluateScript:@"afterPageInit()"];
-    if (self.afterOpenPushMessage) {
-        self.afterOpenPushMessage = NO;
-//        [context evaluateScript:@"afterOpenPushMessage()"];
-        [context evaluateScript:[NSString stringWithFormat:@"afterOpenPushMessage('%d')", [self jsIsCanBack:nil]]];
-    }
-    
-    NSString *url = webView.request.URL.absoluteString;
-    [self doSomeWithLoadUrl:url];
-}
-
--(void)doSomeWithLoadUrl:(NSString *)url{
-    if (!url) {
-        return;
-    }
-    if ([url containsString:@"signOut"]) { // 收到退出消息后 跳转到登录页面
-//        [self webViewFirstRequest];
-        [self webViewRequestByMsg];
-    }else if ([url containsString:@"/free/login"]){ //  如果通过接收消息 跳转到登录页面 展示消息内容
-        if (self.signOutContent && ![self.signOutContent isEqualToString:@"1"]) {
-            [[LXViewControllerManager shareViewControllerManager] showAlertViewWithTitle:@"提示" message:self.signOutContent actions:@[[UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
-                self.signOutContent = nil;
-            }]]];
-        }else{
-            self.signOutContent = nil;
-        }
-    }
-}
-
--(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
-    [[LXViewControllerManager shareViewControllerManager] hideHud];
-
-    NSString *url = webView.request.URL.absoluteString;
-    [self doSomeWithLoadUrl:url];
-}
-
-
-
--(void)webViewDidStartLoad:(UIWebView *)webView{
-//    if ([[UIDevice currentDevice].systemVersion floatValue] < 10) {
-//        [[LXViewControllerManager shareViewControllerManager] hideHud];
-//    }
-}
-
-
-- (void)didReceiveMemoryWarning {
-    [super didReceiveMemoryWarning];
-    [self clearWeb];
-    // Dispose of any resources that can be recreated.
-}
-
--(void)clearWeb{
-    NSURLCache * cache = [NSURLCache sharedURLCache];
-    [cache removeAllCachedResponses];
-    [cache setDiskCapacity:0];
-    [cache setMemoryCapacity:0];
-}
-
--(void)addNoNetViews{
-    kMainQueue(^{
-        [self removeNoNetViews];
-        self.noNetView = [NoNetView shareView];
-        [self.view addSubview:self.noNetView];
-    });
-}
-
--(void)removeNoNetViews{
-    if (self.noNetView ) {
-        [self.noNetView removeFromSuperview];
-        self.noNetView  = nil;
-    }
-}
-
-
-#pragma  mark JS 回调
-// 微信登录
--(NSString *)jsLoginByWeixin:(NSString *)str{
-
-    if ([LXUserDefaults isInstallWeiXin] != 1) { // 没有安装微信 不走友盟
-        [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"微信登录失败,没有安装微信" delay:1.5];
-        return nil;
-    }
-    
-    kMainQueue(^{
-        
-        [[UMSocialManager defaultManager] getUserInfoWithPlatform:UMSocialPlatformType_WechatSession currentViewController:self completion:^(id result, NSError *error) {
-            
-            UMSocialUserInfoResponse *resp = result;
-            
-            [self dealWXDic:(NSDictionary *)resp.originalResponse];
-            
-            [[LXViewControllerManager shareViewControllerManager] hideHud];
-        }];
-        
-        
-        
-    });
-    
-    return nil;
-}
-// 处理微信登录获取到的数据
--(void)dealWXDic:(NSDictionary *)dictionary{
-    
-    [[LXViewControllerManager shareViewControllerManager] showHudText:nil];
-    //如果获取到用户信息,即用户点击了“登录”,则进行用户信息获取
-    if (dictionary.count > 0) {
-        
-        NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithDictionary:dictionary];
-        
-        if (dic) {
-            [dic removeObjectForKey:@"privilege"];
-            [dic removeObjectForKey:@"language"];
-            double currDouble = [[NSDate date] timeIntervalSince1970];
-            [dic setObject:[NSNumber numberWithLong:(long)currDouble] forKey:@"createtime"];
-            
-            //         拼接标志位
-            NSString *sign = [NSString stringWithFormat:@"city=%@&country=%@&createtime=%@&headimgurl=%@&nickname=%@&openid=%@&province=%@&sex=%@&unionid=%@", dic[@"city"], dic[@"country"], dic[@"createtime"], dic[@"headimgurl"], dic[@"nickname"], dic[@"openid"], dic[@"province"],dic[@"sex"],dic[@"unionid"]];
-            sign = [LXMD5 md532BitLower:sign];
-            [dic setObject:sign forKey:@"sign"];
-            NSString *endStr = [[LXViewControllerManager shareViewControllerManager] getJsonStr:dic];
-            NSData *data = [endStr dataUsingEncoding:NSUTF8StringEncoding];
-            endStr = [data base64EncodedStringWithOptions:0];
-            
-            
-            JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
-            NSString * textJS1 = [NSString stringWithFormat:@"loginByWeixinCallBack('%@')", endStr];
-            JSValue *value =   [context evaluateScript:textJS1];
-            NSLog(@"%@", value);
-            
-        }
-    }
-    
-}
-
-// js 调用分享
--(void)jsShare:(NSString *)type title:(NSString *)title content:(NSString *)content link:(NSString *)link{
-    UMSocialPlatformType shareType;
-
-    if ([type intValue] == 1) { // 微信好友
-        shareType = UMSocialPlatformType_WechatSession;
-    }else if ([type intValue] == 2){ /// qq好友
-        shareType = UMSocialPlatformType_QQ;
-    }else if ([type intValue] == 3){ // 朋友圈
-        shareType = UMSocialPlatformType_WechatTimeLine;
-    }else{
-        shareType = UMSocialPlatformType_WechatSession;
-    }
-    
-    kMainQueue((^{
-        
-        //         没有安装app 不走分享逻辑
-        if ([type intValue] == 1 || [type intValue] == 3) {
-            if ([LXUserDefaults isInstallWeiXin] != 1) {
-                [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"没有安装微信" delay:1.5];
-                return;
-            }
-        }
-        //         没有安装app 不走分享逻辑
-        if ([type intValue] == 2) {
-            if (![[UMSocialManager defaultManager] isInstall:UMSocialPlatformType_QQ]) {
-                [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"没有安装QQ" delay:1.5];
-                return;
-            }
-        }
-        
-        //创建分享消息对象
-        UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
-        //创建网页内容对象
-        UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:title descr:content thumImage:[UIImage imageNamed:@"logo"]];
-        //设置网页地址
-        shareObject.webpageUrl = link;
-        messageObject.shareObject = shareObject;
-        //调用分享接口
-        [[UMSocialManager defaultManager] shareToPlatform:shareType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
-            if (error) {
-                NSLog(@"22222222%@",error.userInfo);
-                if (error.userInfo[@"message"] && [error.userInfo[@"message"] containsString:@"Operation is cancel"]) {
-                    [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"取消分享" delay:1];
-                }else{
-                    [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:error.userInfo[@"message"] delay:1];
-                }
-                
-                NSString *textJS =  [NSString stringWithFormat:@"shareCallBack('%@','%@')",type,@"0"];
-                JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
-                [context evaluateScript:textJS];
-                
-            }else{
-                if ([data isKindOfClass:[UMSocialShareResponse class]]) {
-                    UMSocialShareResponse *resp = data;
-                    NSLog(@"33333%@",resp.message);
-                    NSLog(@"44444%@",resp.originalResponse);
-                    
-                    NSString *textJS =  [NSString stringWithFormat:@"shareCallBack('%@','%@')",type,@"1"];
-                    JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
-                    [context evaluateScript:textJS];
-                    
-                }else{
-                    UMSocialLogInfo(@"response data is %@",data);
-                    NSLog(@"55555%@",data);
-                }
-            }
-        }];
-    }));
-}
-
-// 登录时获取到令牌 并保存
--(void)jsSaveUserToken:(NSString *)token{
-    [[LXViewControllerManager shareViewControllerManager] hideHud];
-    [LXUserDefaults saveToken:token];
-}
-
-// 取本地的用户令牌
--(NSString *)jsGetUserToken:(NSString *)str{
-    return [LXUserDefaults token];
-}
-
-// 退出时 清空用户数据
--(void)jsRemoveUserToken:(NSString *)str{
-    [LXUserDefaults clearAll];
-//    [[LXDataBaseManager shareDataBaseManager] clearAll];
-    
-}
-
-
-// 手机通知权限是否打开
--(int)jsCheckNoticePermission:(NSString *)str{
-    int a = [LXUserDefaults notifyState];
-    return a;
-}
-
-// 跳转到系统设置
--(void)jsOpenSystemNotification:(NSString *)str{
-    self.updateNotify = YES;
-    kMainQueue(^{
-         [[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
-    });
-}
-
-// 调用js方法 刷新推送权限状态
--(void)updateNotifyState{
-    if (self.updateNotify) {
-        self.updateNotify = NO;
-        JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
-        NSString * textJS1 = [NSString stringWithFormat:@"updateNoticeSwitch()"];
-         [context evaluateScript:textJS1];
-    }
-}
-// 获取推送id
--(NSString *)jsGetPushRid:(NSString *)str{
-    return [LXUserDefaults registrationID];
-}
-
-// 按通知取数据
--(NSString *)jsGetMessageList:(NSString *)openid{
-    NSArray *arr = [[LXDataBaseManager shareDataBaseManager] getMessageWithKey:nil openid:openid fromTable:kNewsTable start:0 length:100];
-    if (arr.count > 0) {
-        return [[LXViewControllerManager shareViewControllerManager] getJsonStr:arr];
-    }
-    return @"";
-}
-
-// 更新消息状态
--(void)jsUpdateMessageState:(NSNumber *)lxID state:(NSNumber *)state{
-    [[LXDataBaseManager shareDataBaseManager] changeReadedWithID:lxID state:state];
-}
-
-// 删除一条数据
--(void)jsDeleteMessageById:(NSNumber *)lxID{
-    [[LXDataBaseManager shareDataBaseManager] deleteMessage:lxID fromTable:kNewsTable];
-}
-
-// 取单条数据
--(NSString *)jsGetMessage:(NSString *)lxID{
-    return [[LXViewControllerManager shareViewControllerManager] getJsonStr:[[LXDataBaseManager shareDataBaseManager] getMessageWithKey:lxID openid:nil fromTable:kNewsTable start:0 length:0]];
-}
-// 取未读消息总数
--(int)jsGetUnReadMessageCount:(NSString *)openid{
-    NSLog(@"openid=%@",openid);
-//    NSLog(@"%d",[[LXDataBaseManager shareDataBaseManager] getUnReadMessageCount:openid]);
-    
-    return [[LXDataBaseManager shareDataBaseManager] getUnReadMessageCount:openid];
-}
-
-// 全部置为已读
--(void)jsUpdateAllUnReadMessage:(NSString *)openid{
-    [[LXDataBaseManager shareDataBaseManager] updateAllUnReadMessage:openid];
-}
-
-// 改变状态栏文字颜色
--(void)jsLightStatusBar:(NSString *)status{
-    kMainQueue(^{
-        NSInteger index = 0;
-        if ([status intValue] == 1) {
-            index = 1;// hei
-        }else{
-            index = 0;// bai
-        }
-        [[UIApplication sharedApplication] setStatusBarStyle:index];
-    });
-
-}
-// 打开新页面 加载新web
--(void)jsOpenExternalLink:(NSString *)url title:(NSString *)title{
-    if (url) {
-        if ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusNotReachable || [AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusUnknown) {
-//            [self addNoNetViews];
-        }
-        NewWebController *ctr = [[NewWebController alloc] init];
-        ctr.url = url;
-//         有title的话 会显示自定义的导航栏 没有的话不显示导航栏 显示加载进度条
-        if (!title || [title isEqualToString:@""] || [title isEqualToString:@"undefined"]) {
-            ctr.titleShow = nil;
-        }else{
-            ctr.titleShow = title;
-        }
-        kMainQueue(^{
-            [self presentViewController:ctr animated:NO completion:nil];
-        });
-    }
-}
-
-// 获取当前版本号
--(NSString *)jsGetVersion:(NSString *)str{
-    return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
-}
-
-// web是否可退回上页面
--(int)jsIsCanBack:(NSString *)str{
-    return self.webView.canGoBack ? 1:0;
-}
-
-// 弹框
--(void)jsAlert:(NSString *)content{
-    [[LXViewControllerManager shareViewControllerManager] showAlertViewWithMessage:content];
-}
-
-// 是否安装微信
--(int)jsIsInstallWeixin:(NSString *)str{
-    return [LXUserDefaults isInstallWeiXin];
-}
-
-
--(void)jsChangeMessageType:(NSString *)link
-{
-    //已读操作处理
-    NSLog(@"已读操作处理-更改");
-    [[LXDataBaseManager shareDataBaseManager] changeCatagoryTypeWithURL:link];
-}
-
-
-
-
-
-
-
--(void)jsOpenActivityPage:(NSString *)url rectype:(NSString *)rectype openid:(NSString *)openid
-{
-    NSDictionary * infoDic = @{@"url":url,
-                               @"rectype":rectype,
-                               @"openid":openid,
-                               };
-    
-    //    NSString *textJS =  [NSString stringWithFormat:@"messageAccept('%@','%@','%@')",infoDic[@"mid"],infoDic[@"rectype"],infoDic[@"openid"]];
-    //    JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
-    //    [context evaluateScript:textJS];
-    
-    
-    //post请求
-    NSLog(@"%@",[NSString stringWithFormat:@"%@jyapp/free/message/receive",kHost]);
-    [[LXNetworkManager shareLXNetworkManager]postWithURLStr:[NSString stringWithFormat:@"%@jyapp/free/message/receive",kHost] parameters:infoDic progress:^(NSProgress *progress) {
-        NSLog(@"成功:%@",progress);
-    } success:^(id responseObject) {
-        NSLog(@"responseObject=%@",responseObject);
-    } failure:^(NSError *error) {
-        NSLog(@"error=%@",error);
-    }];
-    
-    
-}
-
-
-
-
-
--(NSString *)jsGGetCipherText:(NSString *)phone
-{
-    
-    NSDate *date=[NSDate date];
-    NSDateFormatter *format1=[[NSDateFormatter alloc] init];
-    [format1 setDateFormat:@"yyyyMMddhhmmss"];
-    NSString *dateStr;
-    dateStr=[format1 stringFromDate:date];
-    NSLog(@"%@",dateStr);
-    
-    NSString *content = [[NSString stringWithFormat:@"%@_%@",phone,dateStr] stringByAppendingString:[NSString stringWithFormat:@"_%@",[LXMD5 md532BitLower:[NSString stringWithFormat:@"%@&%@",phone,dateStr]]]];
-    NSData *contentData = [content dataUsingEncoding:NSUTF8StringEncoding];
-    NSUInteger dataLength = contentData.length;
-    // 为结束符'\\0' +1
-    char keyPtr[kKeySize + 1];
-    memset(keyPtr, 0, sizeof(keyPtr));
-    [AesKey getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];
-    // 密文长度 <= 明文长度 + BlockSize
-    size_t encryptSize = dataLength + kCCBlockSizeAES128;
-    void *encryptedBytes = malloc(encryptSize);
-    size_t actualOutSize = 0;
-    NSData *initVector = [kInitVector dataUsingEncoding:NSUTF8StringEncoding];
-    CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt,
-                                          kCCAlgorithmAES,
-                                          kCCOptionPKCS7Padding,  // 系统默认使用 CBC,然后指明使用 PKCS7Padding
-                                          keyPtr,
-                                          kKeySize,
-                                          initVector.bytes,
-                                          contentData.bytes,
-                                          dataLength,
-                                          encryptedBytes,
-                                          encryptSize,
-                                          &actualOutSize);
-    if (cryptStatus == kCCSuccess) {
-        // 对加密后的数据进行 base64 编码
-        return [[NSData dataWithBytesNoCopy:encryptedBytes length:actualOutSize] base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
-    }
-    free(encryptedBytes);
-    return nil;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@end

+ 228 - 72
ios/JianYuIOS/JianYuIOS/ViewController.m

@@ -15,9 +15,11 @@
 #import <AFNetworking.h>
 #import "NoNetView.h"
 //#import <WebKit/WebKit.h>
+#import  <CommonCrypto/CommonCryptor.h>
 
 
 
+#define LocalStr_None @""//空字符串
 #define KIsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
 
 @protocol ViewControllerMain<JSExport>
@@ -27,6 +29,8 @@
 
 @end
 
+
+
 @protocol ViewControllerJSExport<JSExport>
 
 JSExportAs(loginByWeixin, -(NSString *)jsLoginByWeixin:(NSString *)str);// 微信登录 openid
@@ -48,58 +52,71 @@ JSExportAs(openExternalLink, -(void)jsOpenExternalLink:(NSString *)url title:(NS
 JSExportAs(getVersion, -(NSString *)jsGetVersion:(NSString *)str);// 获取当前版本号
 JSExportAs(alert, -(void)jsAlert:(NSString *)content);// 弹框
 JSExportAs(isInstallWeixin, -(int)jsIsInstallWeixin:(NSString *)str);// 是否安装微信
-
-
 JSExportAs(changeMessageType, -(void)jsChangeMessageType:(NSString *)link);//已读操作处理
 JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(NSString *)rectype openid:(NSString *)openid);
 
+JSExportAs(getCipherText, -(NSString *)jsGGetCipherText:(NSString *)phone);
+
+JSExportAs(business, -(NSInteger)jsBusiness:(NSInteger)shooID shopType:(NSInteger )shopType);
 
 
 
-@end
 
+@end
 
 
 @interface ViewController ()<UIWebViewDelegate, ViewControllerJSExport>
 {
     CGPoint startTouch;
     BOOL _isMoving;
+    
+    
+    BOOL _isFirstLogin;
 }
 
-@property (weak, nonatomic) IBOutlet UIWebView *webView;
-//@property(nonatomic, assign)BOOL ;
-@property(nonatomic, assign)BOOL updateNotify;
-@property(nonatomic, assign)BOOL afterOpenPushMessage;
-@property (weak, nonatomic) IBOutlet NSLayoutConstraint *topC;
-//@property(nonatomic, strong)WKWebView *wkWebView;
-@property(nonatomic, strong)NoNetView *noNetView;
-@property(nonatomic, strong)NSURLRequest *errRequest;
-@property(nonatomic, strong)NSString *signOutContent;
 
 
 
 
 @end
 
+NSString *const kInitVector = @"1389461544135476";
+size_t const kKeySize = kCCKeySizeAES128;
+NSString *const AesKey = @"mGlAgnIBB8bx2nch";
+
 @implementation ViewController
 
 - (void)viewDidLoad {
     [super viewDidLoad];
     
+    
+    NSLog(@"viewDidLoadviewDidLoad   初始化");
+    
     [LXDataBaseManager shareDataBaseManager];
     if ([[UIDevice currentDevice].systemVersion floatValue] >= 11.0) {
-//        if(KIsiPhoneX) {
-//            self.topC.constant = -44;
-//            [self.webView updateConstraints];
-//        }else {
-//            self.topC.constant = -20;
-//            [self.webView updateConstraints];
-//        }
+        //        if(KIsiPhoneX) {
+        //            self.topC.constant = -44;
+        //            [self.webView updateConstraints];
+        //        }else {
+        //            self.topC.constant = -20;
+        //            [self.webView updateConstraints];
+        //        }
         self.topC.constant = -20;
         [self.webView updateConstraints];
     }
     
+    
+    self.view.backgroundColor = [UIColor whiteColor];
+    
+    
+    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT)];
+    [self.view addSubview: self.webView];
     self.webView.scrollView.bounces = NO;
+    self.webView.delegate = self;
+    
+    
+    
+    
     [[LXViewControllerManager shareViewControllerManager] showHudText:nil];
     [self webViewFirstRequest];//请求页面数据
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(requestWebView:) name:kRequestWebViewWithUrl object:nil];
@@ -112,13 +129,15 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(netReachChanged:) name:AFNetworkingReachabilityDidChangeNotification object:nil];
     
     
-
     
-//    [self clearWeb];
-
+    
+    [self clearWeb];
+    
     UIPanGestureRecognizer *recognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(paningGestureReceive:)];
     [recognizer delaysTouchesBegan];
     [self.view addGestureRecognizer:recognizer];
+    
+    
 }
 
 -(void)moveViewWithX:(float)x
@@ -144,11 +163,11 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
     
     NSString *current_url = [self.webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
     NSLog(@"当前页面:%@",current_url);
-//    NSString *current_url = self.webView.request.URL.absoluteString;
+    //    NSString *current_url = self.webView.request.URL.absoluteString;
     if([current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/free/me",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/wxkeyset/keyset/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/mainSearch",kHost]]){
         return;
     }
-
+    
     //https://www.jianyu360.com/jyapp/free/me
     //https://www.jianyu360.com/jyapp/jylab/index
     //https://www.jianyu360.com/jyapp/wxkeyset/keyset/index
@@ -211,7 +230,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
     }else{
         [self.webView reload];
     }
-
+    
 }
 
 // 首次加载web
@@ -236,14 +255,14 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 -(void)requestWebTime:(NSDictionary *)infoDict
 {
     NSString * urlStr = [NSString stringWithFormat:@"%@",infoDict[@"url"]];
-
+    
     if([infoDict[@"type"] isEqualToString:@"message"]) {
         NSString *url = [NSString stringWithFormat:@"%@",urlStr];
         NSArray * array = [url componentsSeparatedByString:@"=="];
         url =  [array.firstObject stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
         [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
         [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
-//
+        //
     }else {
         NSString *url = [NSString stringWithFormat:@"%@%@", kHost, urlStr];
         url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
@@ -260,28 +279,28 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
         return;
     }
     NSString * urlStr = [NSString stringWithFormat:@"%@",infoDict[@"url"]];
-
+    
     if (urlStr) {
         [[LXViewControllerManager shareViewControllerManager] showHudText:nil];
         self.afterOpenPushMessage = YES;
         
         
         [self performSelector:@selector(requestWebTime:) withObject:infoDict afterDelay:1];
-//        if([infoDict[@"type"] isEqualToString:@"message"]) {
-//            NSString *url = [NSString stringWithFormat:@"%@",urlStr];
-//            url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-//            [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-//            [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
-//        }else {
-//            NSString *url = [NSString stringWithFormat:@"%@%@", kHost, urlStr];
-//            url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-//            [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-//            [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
-//        }
+        //        if([infoDict[@"type"] isEqualToString:@"message"]) {
+        //            NSString *url = [NSString stringWithFormat:@"%@",urlStr];
+        //            url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+        //            [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
+        //            [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
+        //        }else {
+        //            NSString *url = [NSString stringWithFormat:@"%@%@", kHost, urlStr];
+        //            url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+        //            [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
+        //            [[NSNotificationCenter defaultCenter] postNotificationName:@"kNewWebControllerDismiss" object:nil];
+        //        }
         
         
     }
-
+    
     
 }
 
@@ -303,24 +322,92 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
     }
     NSString *url = [NSString stringWithFormat:@"%@%@?sign=%@", kHost, @"jyapp/free/signOut", [LXUserDefaults token]];
     url =  [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-
+    
     UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
     webView.delegate = self;
     [self.view addSubview:webView];
     [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
-
-//    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
+    
+    //    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
     [self jsRemoveUserToken:nil];
 }
 
 
 
 
+- (void)hideTabBar {
+    
+    kMainQueue(^{
+        if (self.tabBarController.tabBar.hidden == YES) {
+            return;
+        }
+        UIView *contentView;
+        if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )
+            contentView = [self.tabBarController.view.subviews objectAtIndex:1];
+        else
+            contentView = [self.tabBarController.view.subviews objectAtIndex:0];
+        contentView.frame = CGRectMake(contentView.bounds.origin.x,  contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height + self.tabBarController.tabBar.frame.size.height);
+        self.tabBarController.tabBar.hidden = YES;
+    });
+}
+- (void)showTabBar{
+    kMainQueue(^{
+        if (self.tabBarController.tabBar.hidden == NO)
+        {
+            return;
+        }
+        UIView *contentView;
+        if ([[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]])
+            
+            contentView = [self.tabBarController.view.subviews objectAtIndex:1];
+        
+        else
+            
+            contentView = [self.tabBarController.view.subviews objectAtIndex:0];
+        contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height - self.tabBarController.tabBar.frame.size.height);
+        self.tabBarController.tabBar.hidden = NO;
+    });
+}
+
+-(void)jsHiddenBottom:(NSString *)hidden
+{
+    if([hidden integerValue]==0) {
+        [self hideTabBar];
+        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT+STATUS_BAR_HEIGHT);
+    }else {
+        [self showTabBar];
+        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT);
+    }
+}
+
+-(void)judgeIsHidden
+{
+    NSString *current_url = [self.webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
+    //    if([current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/mainSearch",kHost]]){
+    //        [self showTabBar];
+    //        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT);
+    //    }else {
+    //        [self hideTabBar];
+    //        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT+STATUS_BAR_HEIGHT);
+    //    }
+    
+    
+    if([current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/free/me",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/wxkeyset/keyset/index",kHost]]||[current_url isEqualToString:[NSString stringWithFormat:@"%@jyapp/jylab/mainSearch",kHost]]){
+        [self showTabBar];
+        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT-TAB_BAR_HEIGHT+STATUS_BAR_HEIGHT);
+    }else {
+        [self hideTabBar];
+        self.webView.frame = CGRectMake(0, -STATUS_BAR_HEIGHT, WIDTH, HEIGHT+STATUS_BAR_HEIGHT);
+    }
+    
+}
 
 #pragma mark  捕获js中调用的方法
 
 //捕获js中调用的方法
 - (void)webViewDidFinishLoad:(UIWebView *)webView{
+    
+    [self judgeIsHidden];//是否隐藏
     [self removeNoNetViews];
     [[LXViewControllerManager shareViewControllerManager] hideHud];
     JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
@@ -334,7 +421,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
     [context evaluateScript:@"afterPageInit()"];
     if (self.afterOpenPushMessage) {
         self.afterOpenPushMessage = NO;
-//        [context evaluateScript:@"afterOpenPushMessage()"];
+        //        [context evaluateScript:@"afterOpenPushMessage()"];
         [context evaluateScript:[NSString stringWithFormat:@"afterOpenPushMessage('%d')", [self jsIsCanBack:nil]]];
     }
     
@@ -347,7 +434,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
         return;
     }
     if ([url containsString:@"signOut"]) { // 收到退出消息后 跳转到登录页面
-//        [self webViewFirstRequest];
+        //        [self webViewFirstRequest];
         [self webViewRequestByMsg];
     }else if ([url containsString:@"/free/login"]){ //  如果通过接收消息 跳转到登录页面 展示消息内容
         if (self.signOutContent && ![self.signOutContent isEqualToString:@"1"]) {
@@ -362,7 +449,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 
 -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
     [[LXViewControllerManager shareViewControllerManager] hideHud];
-
+    
     NSString *url = webView.request.URL.absoluteString;
     [self doSomeWithLoadUrl:url];
 }
@@ -370,9 +457,9 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 
 
 -(void)webViewDidStartLoad:(UIWebView *)webView{
-//    if ([[UIDevice currentDevice].systemVersion floatValue] < 10) {
-//        [[LXViewControllerManager shareViewControllerManager] hideHud];
-//    }
+    //    if ([[UIDevice currentDevice].systemVersion floatValue] < 10) {
+    //        [[LXViewControllerManager shareViewControllerManager] hideHud];
+    //    }
 }
 
 
@@ -408,7 +495,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 #pragma  mark JS 回调
 // 微信登录
 -(NSString *)jsLoginByWeixin:(NSString *)str{
-
+    
     if ([LXUserDefaults isInstallWeiXin] != 1) { // 没有安装微信 不走友盟
         [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"微信登录失败,没有安装微信" delay:1.5];
         return nil;
@@ -458,7 +545,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
             JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
             NSString * textJS1 = [NSString stringWithFormat:@"loginByWeixinCallBack('%@')", endStr];
             JSValue *value =   [context evaluateScript:textJS1];
-            LXLog(@"%@", value);
+            NSLog(@"%@", value);
             
         }
     }
@@ -468,7 +555,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 // js 调用分享
 -(void)jsShare:(NSString *)type title:(NSString *)title content:(NSString *)content link:(NSString *)link{
     UMSocialPlatformType shareType;
-
+    
     if ([type intValue] == 1) { // 微信好友
         shareType = UMSocialPlatformType_WechatSession;
     }else if ([type intValue] == 2){ /// qq好友
@@ -479,16 +566,16 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
         shareType = UMSocialPlatformType_WechatSession;
     }
     
-    kMainQueue(^{
+    kMainQueue((^{
         
-//         没有安装app 不走分享逻辑
+        //         没有安装app 不走分享逻辑
         if ([type intValue] == 1 || [type intValue] == 3) {
             if ([LXUserDefaults isInstallWeiXin] != 1) {
                 [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"没有安装微信" delay:1.5];
                 return;
             }
         }
-//         没有安装app 不走分享逻辑
+        //         没有安装app 不走分享逻辑
         if ([type intValue] == 2) {
             if (![[UMSocialManager defaultManager] isInstall:UMSocialPlatformType_QQ]) {
                 [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"没有安装QQ" delay:1.5];
@@ -506,28 +593,34 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
         //调用分享接口
         [[UMSocialManager defaultManager] shareToPlatform:shareType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
             if (error) {
-                UMSocialLogInfo(@"************Share fail with error %@*********",error);
-                if (error.userInfo[@"message"] && [error.userInfo[@"message"] containsString:@"cancel"]) {
+                NSLog(@"22222222%@",error.userInfo);
+                if (error.userInfo[@"message"] && [error.userInfo[@"message"] containsString:@"Operation is cancel"]) {
                     [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:@"取消分享" delay:1];
                 }else{
                     [[LXViewControllerManager shareViewControllerManager] showHudOnlyText:error.userInfo[@"message"] delay:1];
                 }
+                
+                NSString *textJS =  [NSString stringWithFormat:@"shareCallBack('%@','%@')",type,@"0"];
+                JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
+                [context evaluateScript:textJS];
+                
             }else{
                 if ([data isKindOfClass:[UMSocialShareResponse class]]) {
                     UMSocialShareResponse *resp = data;
-                    NSLog(@"%@",resp.message);
-                    NSLog(@"response originalResponse data is %@",resp.originalResponse);
-                    //分享结果消息
-                    UMSocialLogInfo(@"response message is %@",resp.message);
-                    //第三方原始返回的数据
-                    UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);
+                    NSLog(@"33333%@",resp.message);
+                    NSLog(@"44444%@",resp.originalResponse);
+                    
+                    NSString *textJS =  [NSString stringWithFormat:@"shareCallBack('%@','%@')",type,@"1"];
+                    JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
+                    [context evaluateScript:textJS];
                     
                 }else{
                     UMSocialLogInfo(@"response data is %@",data);
+                    NSLog(@"55555%@",data);
                 }
             }
         }];
-    });
+    }));
 }
 
 // 登录时获取到令牌 并保存
@@ -544,7 +637,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 // 退出时 清空用户数据
 -(void)jsRemoveUserToken:(NSString *)str{
     [LXUserDefaults clearAll];
-//    [[LXDataBaseManager shareDataBaseManager] clearAll];
+    //    [[LXDataBaseManager shareDataBaseManager] clearAll];
     
 }
 
@@ -559,7 +652,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 -(void)jsOpenSystemNotification:(NSString *)str{
     self.updateNotify = YES;
     kMainQueue(^{
-         [[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
+        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
     });
 }
 
@@ -569,7 +662,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
         self.updateNotify = NO;
         JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
         NSString * textJS1 = [NSString stringWithFormat:@"updateNoticeSwitch()"];
-         [context evaluateScript:textJS1];
+        [context evaluateScript:textJS1];
     }
 }
 // 获取推送id
@@ -583,7 +676,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
     if (arr.count > 0) {
         return [[LXViewControllerManager shareViewControllerManager] getJsonStr:arr];
     }
-    return@"";
+    return @"";
 }
 
 // 更新消息状态
@@ -603,7 +696,7 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 // 取未读消息总数
 -(int)jsGetUnReadMessageCount:(NSString *)openid{
     NSLog(@"openid=%@",openid);
-//    NSLog(@"%d",[[LXDataBaseManager shareDataBaseManager] getUnReadMessageCount:openid]);
+    //    NSLog(@"%d",[[LXDataBaseManager shareDataBaseManager] getUnReadMessageCount:openid]);
     
     return [[LXDataBaseManager shareDataBaseManager] getUnReadMessageCount:openid];
 }
@@ -624,17 +717,17 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
         }
         [[UIApplication sharedApplication] setStatusBarStyle:index];
     });
-
+    
 }
 // 打开新页面 加载新web
 -(void)jsOpenExternalLink:(NSString *)url title:(NSString *)title{
     if (url) {
         if ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusNotReachable || [AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusUnknown) {
-//            [self addNoNetViews];
+            //            [self addNoNetViews];
         }
         NewWebController *ctr = [[NewWebController alloc] init];
         ctr.url = url;
-//         有title的话 会显示自定义的导航栏 没有的话不显示导航栏 显示加载进度条
+        //         有title的话 会显示自定义的导航栏 没有的话不显示导航栏 显示加载进度条
         if (!title || [title isEqualToString:@""] || [title isEqualToString:@"undefined"]) {
             ctr.titleShow = nil;
         }else{
@@ -706,6 +799,69 @@ JSExportAs(openActivityPage, -(void)jsOpenActivityPage:(NSString *)url rectype:(
 }
 
 
+
+
+
+-(NSString *)jsGGetCipherText:(NSString *)phone
+{
+    
+    NSDate *date=[NSDate date];
+    NSDateFormatter *format1=[[NSDateFormatter alloc] init];
+    [format1 setDateFormat:@"yyyyMMddhhmmss"];
+    NSString *dateStr;
+    dateStr=[format1 stringFromDate:date];
+    NSLog(@"%@",dateStr);
+    
+    NSString *content = [[NSString stringWithFormat:@"%@_%@",phone,dateStr] stringByAppendingString:[NSString stringWithFormat:@"_%@",[LXMD5 md532BitLower:[NSString stringWithFormat:@"%@&%@",phone,dateStr]]]];
+    NSData *contentData = [content dataUsingEncoding:NSUTF8StringEncoding];
+    NSUInteger dataLength = contentData.length;
+    // 为结束符'\\0' +1
+    char keyPtr[kKeySize + 1];
+    memset(keyPtr, 0, sizeof(keyPtr));
+    [AesKey getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];
+    // 密文长度 <= 明文长度 + BlockSize
+    size_t encryptSize = dataLength + kCCBlockSizeAES128;
+    void *encryptedBytes = malloc(encryptSize);
+    size_t actualOutSize = 0;
+    NSData *initVector = [kInitVector dataUsingEncoding:NSUTF8StringEncoding];
+    CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt,
+                                          kCCAlgorithmAES,
+                                          kCCOptionPKCS7Padding,  // 系统默认使用 CBC,然后指明使用 PKCS7Padding
+                                          keyPtr,
+                                          kKeySize,
+                                          initVector.bytes,
+                                          contentData.bytes,
+                                          dataLength,
+                                          encryptedBytes,
+                                          encryptSize,
+                                          &actualOutSize);
+    if (cryptStatus == kCCSuccess) {
+        // 对加密后的数据进行 base64 编码
+        return [[NSData dataWithBytesNoCopy:encryptedBytes length:actualOutSize] base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
+    }
+    free(encryptedBytes);
+    return nil;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+