DataManager.m 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. //
  2. // DataManager.m
  3. // Artimenring
  4. //
  5. // Created by BaH Cy on 2/11/15.
  6. // Copyright (c) 2015 BaH Cy. All rights reserved.
  7. //
  8. #import "DataManager.h"
  9. #import "DataManager+timer.h"
  10. #import "SKTabbarViewController.h"
  11. #import "SKBabyDetailInfoViewController.h"
  12. #import "ARMacros.h"
  13. #import "UserDataHelper.h"
  14. @implementation MutableDelegateObject
  15. @end
  16. @interface DataManager() {
  17. FBSDKLoginManager* mFBSDKLoginManager;
  18. }
  19. @end
  20. @implementation DataManager
  21. + (DataManager *)shared {
  22. static DataManager *manager;
  23. static dispatch_once_t token;
  24. dispatch_once(&token, ^{
  25. manager = [[DataManager alloc] init];
  26. [manager initData];
  27. });
  28. return manager;
  29. }
  30. - (void)initData {
  31. self.mChildList = [[NSMutableArray alloc] init];
  32. self.mPushRecordArray = [NSMutableArray array];
  33. self.mAddressMap = [[NSMutableDictionary alloc] init];
  34. self.delegateObjects = [[NSMutableArray alloc] init];
  35. }
  36. - (BOOL)isLogin {
  37. return self.loginModel != nil;
  38. }
  39. - (void)logout {
  40. [UserDataHelper setHasLogin:NO];
  41. [[SKWebSocket share] disconnect];
  42. [[VideoManager shared] logoutJuphoon];
  43. self.loginModel = nil;
  44. self.mSelectChildModel = nil;
  45. [self.delegateObjects removeAllObjects];
  46. [self.mChildList removeAllObjects];
  47. self.isNewNotification = NO;
  48. [self stopChildsDevicesTimer];
  49. [self showSKLoginViewController];
  50. }
  51. - (void)showTabBarController {
  52. SKTabbarViewController* nav = [[SKTabbarViewController alloc] init];
  53. [[[UIApplication sharedApplication] delegate].window setRootViewController:nav];
  54. }
  55. - (void)showSKLoginViewController {
  56. NSString* identifier = @"LoginVC";
  57. UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
  58. UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:identifier];
  59. UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:vc];
  60. [[[UIApplication sharedApplication] delegate].window setRootViewController:nav];
  61. }
  62. - (void)showSKSelectAreaViewController {
  63. NSString* identifier = @"SelectAreaVC";
  64. UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
  65. UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:identifier];
  66. UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:vc];
  67. [[[UIApplication sharedApplication] delegate].window setRootViewController:nav];
  68. }
  69. - (void)showBindViewController {
  70. [DataManager shared].bindOptions = BO_ADD;
  71. UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
  72. SKBabyDetailInfoViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"BabyDetailInfo"];
  73. controller.opType = 2;
  74. controller.from = 1;
  75. controller.childModel = [[ChildModel alloc] init];
  76. controller.hidesBottomBarWhenPushed = YES;
  77. UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:controller];
  78. [[[UIApplication sharedApplication] delegate].window setRootViewController:nav];
  79. }
  80. - (BOOL)isRootTabBarController {
  81. UIViewController* vc = [UIApplication sharedApplication].keyWindow.rootViewController;
  82. return [vc isKindOfClass:[UITabBarController class]];
  83. }
  84. - (id)getFBSDKLoginManager {
  85. return mFBSDKLoginManager;
  86. }
  87. - (void)setFBSDKLoginManager:(id)manager {
  88. mFBSDKLoginManager = manager;
  89. }
  90. @end