//
//  KWMMineVC.m
//  iCemarose
//
//  Created by HouWeiBin on 16/8/22.
//  Copyright © 2016年 kollway. All rights reserved.
//

#import "KWMMineVC.h"
#import "KWMOrderVC.h"
#import "KWMAboutUsVC.h"
#import "KWMContactUsVC.h"
#import "KWMShopCartVC.h"
#import "KWMNewGiftCardVC.h"
#import "KWMLoginVC.h"
#import "KWMMineTitleView.h"
#import "KWMFilterVC.h"
#import "KWMSelectAddressVC.h"

@interface KWMMineVC ()
@property (nonatomic) KWMMineTitleView *vTitle;
@end

@implementation KWMMineVC{
    BOOL isLogin;
}

+(NSString *)kwmTag{
    return @"KWMMineVC";
}

- (void)viewDidDisappear:(BOOL)animated{
    [super viewDidDisappear:animated];
    [_vTitle removeFromSuperview];
}
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    CGFloat height = UI_SCREEN_HEITHT;
    if (height < 568) {
        _vIconHeight.constant = UI_SCREEN_HEITHT*140.0/667;
    }else{
        
        _vIconHeight.constant = UI_SCREEN_HEITHT*160.0/667;
    }
    _loginBottom.constant = UI_SCREEN_HEITHT*40.0/667;
}

- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO];
    [_vTitle removeFromSuperview];
}

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    _user = [KWMUserModel shareUser];
    [self.navigationController setNavigationBarHidden:YES];
    [self initHeaderView];
}

- (void)initHeaderView{
    _vTitle = [[KWMMineTitleView alloc] init];
//    _vTitle = [[KWMMineTitleView alloc] initWithFrame:CGRectMake(0, 0, UI_SCREEN_WIDTH, 64)];
    _vTitle.lbUserName.text = _user.status ? _user.name : @"未登录";
    if (_user.status == 1) {
        [self.btnLogin setTitle:@"退出" forState:UIControlStateNormal];
        [self.btnLogin setImage:[UIImage imageNamed:@"button_mine_log out"] forState:UIControlStateNormal];
    }else{
        [self.btnLogin setTitle:@"登录" forState:UIControlStateNormal];
        [self.btnLogin setImage:[UIImage imageNamed:@"button_mine_login"] forState:UIControlStateNormal];
    }
    [self.view addSubview:_vTitle];
    [self initCustomTitleBarConstarints:_vTitle];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(void)awakeFromNib{
    [super awakeFromNib];
    self.title = @"我的";
}

-(IBAction)onClickCurrency:(id)sender {
    [self performSegueWithIdentifier:@"MeToCurrency" sender:nil];
}

-(void)onClickOrder:(id)sender{
    if (!_user.status) {
        //登录
        KWMLoginVC *loginVc = (KWMLoginVC *)[KWMBaseVC findControllerBy:[KWMLoginVC kwmTag] fromStoryboard:@"Login"];
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:loginVc];
        [self presentViewController:nav animated:YES completion:nil];
    }else{
        KWMOrderVC *orderVC = (KWMOrderVC *)[KWMBaseVC findControllerBy:[KWMOrderVC kwmTag] fromStoryboard:@"Mine"];
        [self.navigationController pushViewController:orderVC animated:YES];
    }
}

-(void)onClickGiftCards:(id)sender{
    if (!_user.status) {
        //登录
        KWMLoginVC *loginVc = (KWMLoginVC *)[KWMBaseVC findControllerBy:[KWMLoginVC kwmTag] fromStoryboard:@"Login"];
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:loginVc];
        [self presentViewController:nav animated:YES completion:nil];
    }else{
        KWMNewGiftCardVC *giftCardVC = (KWMNewGiftCardVC *)[KWMBaseVC findControllerBy:[KWMNewGiftCardVC kwmTag] fromStoryboard:@"Mine"];
        [self.navigationController pushViewController:giftCardVC animated:YES];
    }
}

-(void)onClickAboutUs:(id)sender{
    
    KWMAboutUsVC *aboutVC = (KWMAboutUsVC *)[KWMBaseVC findControllerBy:[KWMAboutUsVC kwmTag] fromStoryboard:@"Mine"];
    [self.navigationController pushViewController:aboutVC animated:YES];
}



-(void)onClickContect:(id)sender{
    KWMContactUsVC *contactVC = (KWMContactUsVC *)[KWMBaseVC findControllerBy:[KWMContactUsVC kwmTag] fromStoryboard:@"Mine"];
    [self.navigationController pushViewController:contactVC animated:YES];
}

-(IBAction)onClickAddress {
    if(!_user.status) {
        KWMLoginVC *loginVc = (KWMLoginVC *)[KWMBaseVC findControllerBy:[KWMLoginVC kwmTag] fromStoryboard:@"Login"];
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:loginVc];
        [self presentViewController:nav animated:YES completion:nil];
    }else{
        KWMSelectAddressVC *addressVC = (KWMSelectAddressVC *)[KWMBaseVC findControllerBy:[KWMSelectAddressVC kwmTag] fromStoryboard:@"ShopCart"];
        addressVC.hidesBottomBarWhenPushed = YES;
        [self.navigationController pushViewController:addressVC animated:YES];
    }
}

- (IBAction)onClickLogout:(id)sender {
    if (_user.status) {
        self.btnLogin.userInteractionEnabled = NO;
        _user.status = 0;
        [self requestLogoutAPI];
    }else{
        //登录
        KWMLoginVC *loginVc = (KWMLoginVC *)[KWMBaseVC findControllerBy:[KWMLoginVC kwmTag] fromStoryboard:@"Login"];
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:loginVc];
        [self presentViewController:nav animated:YES completion:nil];
    }
}

//登出API
- (void)requestLogoutAPI{
    
    self.client.customerToken = [BUYCustomerToken customerTokenWithJSONDictionary:[[NSUserDefaults standardUserDefaults] objectForKey:@"token"]];
    [self showLoading];
    [self.client logoutCustomerCallback:^(BUYStatus status, NSError * _Nullable error) {
        [self hideLoading];
        if (error == nil && status) {
            
        }else if (error != nil){
            //错误吐司并没有显示的意义,并且,如果是登陆超时,在吐司里还会跳转至登陆页面,所以建议注释
            //[self showError:error];
        }
        //不管有没有请求成功,删除本地保存的用户数据,因为请求失败并不影响用户的再次登陆
        //请求此API可能是为了更新后台用户的登录状态显示
        [self refreshLogout];
    }];
}

- (void)refreshLogout{
    [_user logout];
    [[KWMUserDao shareDao] setTags:nil];
    [self showToast:@"已成功下线"];
    _vTitle.lbUserName.text = @"未登录";
    [self.btnLogin setTitle:@"登录" forState:UIControlStateNormal];
    [self.btnLogin setImage:[UIImage imageNamed:@"button_mine_login"] forState:UIControlStateNormal];
}

@end