| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 | ////  ASUserCenterViewController.m//  Asteria////  Created by iOS on 2023/5/15.//#import "ASUserCenterViewController.h"#import "ASUserCenterTableHeadView.h"#import "KWMineHomeOrderHeadView.h"#import "KWMineHomeOrderListCell.h"#import "KWMineMoreProductsCell.h"#import "ASCouponsListViewController.h"#import "ASGiftCardListViewController.h"#import "ASPointsHomeViewController.h"#import "ASVipCenterViewController.h"#import "ASMessageListViewController.h"#import "ASSettingViewController.h"#import "ASUserCenterViewModel.h"#import "ASOrderListViewController.h"#import "ASOrderDetailsViewController.h"@interface ASUserCenterViewController ()<UITableViewDelegate,UITableViewDataSource>@property (nonatomic,strong) UITableView *tableV;@property (nonatomic,strong) ASUserCenterTableHeadView *tableHeadV;@property (nonatomic, strong) ASUserCenterViewModel *vm;@property (nonatomic, strong) NSArray<KWMineHomeOrderModel *> *orderArr;@property (nonatomic, strong) NSArray *recommendGoodsArr;@end@implementation ASUserCenterViewController- (void)viewDidLoad {    [super viewDidLoad];    self.vm = [ASUserCenterViewModel new];        //获取推荐商品    [self getRecommendGoodsData];        [self configSubVs];    [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(setData) name:UserInfoUpdate object:nil];        //切换币种之后通知首页数据刷新    [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(getRecommendGoodsData) name:HomeDataUpdateByCurrency object:nil];    }- (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated];        if (ASUserInfoManager.shared.isLogin) {        [self setData];        [self getSignInfoData];        [self getOrders];    } else {        [Fuction_Tool pop_toLoginVC];    }}// MARK: - setData- (void)setData {    [self.tableHeadV.topV setData];    //    [self.tableHeadV.signV refreshData];}- (void)getSignInfoData {    [self.tableHeadV.signV refreshData];}- (void)getOrders {    K_WEAK_SELF;    [self.vm getAllOrderNet:^(NSArray<KWMineHomeOrderModel *> * _Nonnull arr) {        K_STRONG_SELF;        self.orderArr = arr;        [self.tableV reloadData];    }];}- (void)getRecommendGoodsData {    K_WEAK_SELF;    [self.vm getRecommmendGoodsData:^(NSArray<HomeFilterModel *> * _Nonnull array) {        K_STRONG_SELF;        self.recommendGoodsArr = array;        [self.tableV reloadData];    }];}// MARK: - subVs- (void)configSubVs {//    __block typeof(self) wSelf = self;    [self ucHomeStyle:^{            }];        self.nav_logoBlock = ^{        [Fuction_Tool popToHomeVc];    };        [self.view addSubview:self.tableV];    [self.tableV mas_makeConstraints:^(MASConstraintMaker *make) {        make.top.equalTo(self.customNavBar.mas_bottom);        make.leading.trailing.equalTo(self.view);        make.bottom.equalTo(self.view);    }];                __weak typeof(self) weakSelf = self;    [self.tableHeadV.itemsV setItemTapCallBack:^(NSInteger tag) {        /// 0 优惠券  1礼品卡 2积分 3vip  4联系  5消息        switch (tag) {            case 0: {                ASCouponsListViewController *vc = [[ASCouponsListViewController alloc] init];                [weakSelf.navigationController pushViewController:vc animated:true];            }                break;            case 1: {                ASGiftCardListViewController *vc = [[ASGiftCardListViewController alloc] init];                [weakSelf.navigationController pushViewController:vc animated:true];            }                break;            case 2: {                ASPointsHomeViewController *vc = [[ASPointsHomeViewController alloc] init];                [weakSelf.navigationController pushViewController:vc animated:true];            }                break;            case 3: {                ASVipCenterViewController *vc = [ASVipCenterViewController new];                [weakSelf.navigationController pushViewController:vc animated:true];            }                break;            case 4: {                NSURL *url = [NSURL URLWithString:mailServiceUrlStr];                if (url != nil && [UIApplication.sharedApplication canOpenURL:url]) {                    [UIApplication.sharedApplication openURL:url options:nil completionHandler:nil];                }            }                break;            case 5: {                ASMessageListViewController *vc = [ASMessageListViewController new];                [weakSelf.navigationController pushViewController:vc animated:true];            }                break;            default:                break;        }    }];        [self.tableHeadV.topV setSettingBlock:^{        ASSettingViewController *vc = [ASSettingViewController new];        [weakSelf.navigationController pushViewController:vc animated:true];    }];}#pragma mark - UITableViewDelegate,UITableViewDataSource- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {}- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {    return 2;}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {    if (section == 0) {        return self.orderArr.count; //self.orderVm.orderList.count;    }    if (section == 1) {        return 1;    }        return 0;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {        if (indexPath.section == 0) {        KWMineHomeOrderListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"KWMineHomeOrderListCell" forIndexPath:indexPath];        if (self.orderArr.count <= indexPath.row) {            return cell;        }        KWMineHomeOrderModel *m = self.orderArr[indexPath.row];        [cell setData:m];        @weakify(self);        cell.viewOrderCall = ^(NSInteger type, KWMineHomeOrderModel * _Nonnull model) {            @strongify(self)            if (![ASUserInfoManager.shared isLogin]) {                [self popAndToLogin];                return;            }            // 查看订单            NSLog(@"查看订单 view order");                        ASOrderDetailsViewController *orderDetailsVC = [[ASOrderDetailsViewController alloc] init];            orderDetailsVC.orderId = model.entity_id;            [self.navigationController pushViewController:orderDetailsVC animated:YES];            //            KWM_OrderViewC *vc = [[KWM_OrderViewC alloc]init];//            vc.order_id = m.orderId;//            [[Current_normalTool topViewController].navigationController pushViewController:vc animated:YES];        };                return cell;    }    KWMineMoreProductsCell *cell = [tableView dequeueReusableCellWithIdentifier:@"KWMineMoreProductsCell" forIndexPath:indexPath];    cell.topSpace = 20;    [cell setTypeArray:self.recommendGoodsArr];        K_WEAK_SELF;    cell.productBlock = ^(ASProductBaseModel * _Nonnull model) {        K_STRONG_SELF;//        [self goto_WKM_GoodsDetailsC:model.Id];        UIViewController *viewController = [[CTMediator sharedInstance] Goods_GoodsDetailsC:@{@"entity_id":model.Id}];        [self.navigationController pushViewController:viewController animated:YES];    };        cell.addCartBlock = ^(ASProductBaseModel * _Nonnull model) {        K_STRONG_SELF;        [self action_GoodsSizeC:model.Id];    };            return cell;}-(void)goto_WKM_GoodsDetailsC:(NSString *)entity_id {}-(void)pushToProductList:(NSString *)name typeid:(NSString *)typeId {    if (typeId == nil || [typeId isEqualToString:@""]) {        return;    }    if (name == nil || [name isEqualToString:@""]) {        name = @"Products";    }    UIViewController *vc = [CTMediator.sharedInstance getProductListVc:@{}];    [self.navigationController pushViewController:vc animated:true];    }- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {    if (section == 0) {        return self.orderArr.count == 0 ? 0 : 80;    }    return 0;}- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {    KWMineHomeOrderHeadView *v = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@"KWMineHomeOrderHeadView"];    v.backgroundColor = UIColor.whiteColor;    __weak typeof(self) weakSelf = self;    [v setToAllBlock:^{        ASOrderListViewController *orderC = [[ASOrderListViewController alloc]init];        [weakSelf.navigationController pushViewController:orderC animated:true];    }];    return v;}// MARK: - subViews- (ASUserCenterTableHeadView *)tableHeadV {    if (!_tableHeadV) {        ASUserCenterTableHeadView *v = [[ASUserCenterTableHeadView alloc] initWithFrame:CGRectZero];                _tableHeadV = v;    }    return _tableHeadV;}- (UITableView *)tableV {    if (!_tableV) {        UITableView *v = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];        v.tableHeaderView = self.tableHeadV;        [v registerClass:[KWMineHomeOrderListCell class] forCellReuseIdentifier:@"KWMineHomeOrderListCell"];        [v registerClass:[KWMineHomeOrderHeadView class] forHeaderFooterViewReuseIdentifier:@"KWMineHomeOrderHeadView"];        [v registerClass:[KWMineMoreProductsCell class] forCellReuseIdentifier:@"KWMineMoreProductsCell"];        v.delegate = self;        v.dataSource = self;        [v baseSet];                _tableV = v;    }    return _tableV;}@end
 |