| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 | 
							- //
 
- //  ASUserInfoManager.m
 
- //  Asteria
 
- //
 
- //  Created by iOS on 2023/11/27.
 
- //
 
- #import "ASUserInfoManager.h"
 
- #import "ASVipUrlTempModel.h"
 
- @interface ASUserInfoManager ()
 
- @end
 
- @implementation ASUserInfoManager
 
- + (instancetype)shared {
 
-     static id sharedInstance = nil;
 
-     static dispatch_once_t onceToken;
 
-     dispatch_once(&onceToken, ^{
 
-         sharedInstance = [[self alloc] init];
 
-     });
 
-     return sharedInstance;
 
- }
 
- - (instancetype)init
 
- {
 
-     self = [super init];
 
-     if (self) {
 
-         
 
-     }
 
-     return self;
 
- }
 
- - (void)getInfo {
 
-     [self baseInfoNet:^{
 
-         
 
-     }];
 
-     [self vipInfoNet];
 
-     [self birthInfoNet];
 
- }
 
- - (void)baseInfoNet:(void(^)(void))comp {
 
-     [ASNetTools.shared getWithPath:userinfoUrl param:@{} success:^(id _Nonnull json) {
 
-         self.userInfo = [ASUserModel mj_objectWithKeyValues:json];
 
-         [NSNotificationCenter.defaultCenter postNotificationName:UserInfoUpdate object:nil];
 
-         NSLog(@"----userInfo:%@-----id:%@----issub:%u----address:%@----", self.userInfo, self.userInfo.Id, self.userInfo.is_subscribed, self.userInfo.addresses);
 
-         comp();
 
-     } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) {
 
-         [Current_normalTool.currentNav.topViewController.view makeToast:msg];
 
-         comp();
 
-     }];
 
- }
 
- - (void)birthInfoNet {
 
-     [ASNetTools.shared getWithPath:userBirthUrl param:@{} success:^(id _Nonnull json) {
 
-         self.birthDay = [NSString stringWithFormat:@"%@", json[@"birthDay"]];
 
-         self.birthStatus = [NSString stringWithFormat:@"%@", json[@"status"]];
 
-         self.amount = [NSString stringWithFormat:@"%@", json[@"amount"]];
 
-         self.code = [NSString stringWithFormat:@"%@", json[@"code"]];
 
-         self.typeId = [NSString stringWithFormat:@"%@", json[@"typeid"]];
 
-         
 
-     } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) {
 
-         [Current_normalTool.currentNav.topViewController.view makeToast:msg];
 
-     }];
 
- }
 
- - (void)vipInfoNet {
 
-     [ASNetTools.shared getWithPath:vipInfoUrl param:@{} success:^(id _Nonnull json) {
 
-         
 
-         ASVipUrlTempModel *tempModel = [ASVipUrlTempModel mj_objectWithKeyValues:json];
 
-         self.pointAmount = tempModel.amount;
 
-         self.userPoints = tempModel.balanceAmount;
 
-         NSMutableArray<ASVipModel *> *arr = [NSMutableArray array];
 
-         ASVipModel *cur = [ASVipModel new];
 
-         ASVipModel *next = [ASVipModel new];
 
-         if (tempModel != nil && tempModel.membergrade.count != 0) {
 
-             NSArray *keys = tempModel.membergrade.allKeys;
 
-             NSMutableArray *sortedArr = [NSMutableArray array];
 
-             for (NSString *key in keys) {
 
-                 if (sortedArr.count == 0) {
 
-                     [sortedArr addObject:key];
 
-                     continue;
 
-                 }
 
-                 for (int i=0; i<sortedArr.count; i++) {
 
-                     NSString *this = sortedArr[i];
 
-                     if (sortedArr.count > i+1) {
 
-                         NSString *nx = sortedArr[i+1];
 
-                         if (key.intValue >= this.intValue && key.intValue < nx.intValue) {
 
-                             [sortedArr insertObject:key atIndex:i+1];
 
-                             break;
 
-                         }
 
-                     } else {
 
-                         if (sortedArr.count == 1 && key.intValue <= this.intValue) {
 
-                             [sortedArr insertObject:key atIndex:i];
 
-                         } else {
 
-                             [sortedArr addObject:key];
 
-                         }
 
-                         break;
 
-                     }
 
-                 }
 
-                 
 
-             }
 
-             for (int i=0; i<sortedArr.count; i++) {
 
-                 ASVipModel *vipM = [ASVipModel mj_objectWithKeyValues: tempModel.membergrade[sortedArr[i]]];
 
-                 if (i+1<sortedArr.count) {
 
-                     ASVipModel *tempNext = [ASVipModel mj_objectWithKeyValues: tempModel.membergrade[sortedArr[i+1]]];
 
-                     vipM.nextExppoints = tempNext.exppoints;
 
-                 }
 
-                 if (cur.level.intValue > 0 && next.level.intValue <= 0) {
 
-                     next = vipM;
 
-                 }
 
-                 if (vipM.is_cur) {
 
-                     cur = vipM;
 
-                 }
 
-                 if (cur.level.intValue > 0 && next.level.intValue <= 0 && i == sortedArr.count-1) {
 
-                     next = vipM;
 
-                 }
 
-                 [arr addObject:vipM];
 
-             }
 
-         }
 
-         self.curVipInfo = cur;
 
-         self.nextVipInfo = next;
 
-         self.vipInfoArr = arr;
 
-         [NSNotificationCenter.defaultCenter postNotificationName:UserInfoUpdate object:nil];
 
-         
 
-     } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) {
 
-         [Current_normalTool.currentNav.topViewController.view makeToast:msg];
 
-     }];
 
- }
 
- - (BOOL)isLogin {
 
-     NSString *token = [DataUtil loginToken];
 
-     return !(token == nil || [token isEqualToString:@""]);
 
- }
 
- @end
 
 
  |