| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 | ////  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"@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;@end@implementation ASUserCenterViewController- (void)viewDidLoad {    [super viewDidLoad];    self.vm = [ASUserCenterViewModel new];    [self configSubVs];    [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(setData) name:UserInfoUpdate object:nil];    }- (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated];    [self setData];    [self getOrders];}// MARK: - setData- (void)setData {    [self.tableHeadV.topV setData];    [self.tableHeadV.signV refreshData];}- (void)getOrders {    [self.vm getAllOrderNet:^(NSArray<KWMineHomeOrderModel *> * _Nonnull arr) {        self.orderArr = arr;        [self.tableV reloadData];    }];}// MARK: - subVs- (void)configSubVs {    __block typeof(self) wSelf = self;    [self ucHomeStyle:^{            }];        [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 setViewOrderCall:^{            if (![ASUserInfoManager.shared isLogin]) {                [self popAndToLogin];                return;            }            // 查看订单            NSLog(@"查看订单 view order");//            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;    KWMineMoreProductModel * model = [KWMineMoreProductModel demoData];    [cell setData: model];    @weakify(self);    [cell setProductClick:^(NSInteger i, ASProductBaseModel *m) {//        if (![weak_self checkLogin:true]) {//            return;//        }       // 点击推荐商品//        [weak_self goto_WKM_GoodsDetailsC:m.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;//    @weakify(self);    [v setToAllBlock:^{//        if (![weak_self checkLogin:true]) {//            return;//        }//        KWM_OrderListC *orderC = [[KWM_OrderListC alloc]init];//        [self.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
 |