// // YMPasswordLoginViewController.m // MSYOUPAI // // Created by YoMi on 2024/2/5. // Copyright © 2024 MS. All rights reserved. // #import "YMPasswordLoginViewController.h" #import "YMPasswordLoginViewModel.h" #import "YMPasswordLoginView.h" @interface YMPasswordLoginViewController () /// 密码登录VM @property (nonatomic, strong) YMPasswordLoginViewModel *viewModel; @property (nonatomic, strong) UIView *loginCoverBgv; @property (nonatomic, strong) UIView *cornerView; @property (nonatomic, strong) UIImageView *loginLogo; /// 登录封面 @property (nonatomic, strong) UIImageView *loginCover; /// 登录提示标签 @property (nonatomic, strong) UILabel *loginTipsLb; /// 密码登录视图 @property (nonatomic, strong) YMPasswordLoginView *passwordLoginView; @end @implementation YMPasswordLoginViewController @dynamic viewModel; - (void)viewDidLoad { [super viewDidLoad]; self.ym_navigationStyle = YMBaseNavigationStyleClearBgBlackBackArrow; [OCNotificationCenter addObserver:self selector:@selector(receiveWechatAuth:) name:WECHAT_AUTHORIZATION_NOTIFICATION object:nil]; } - (void)ym_setupViews{ self.view.backgroundColor = HexColorFromRGB(0xDCADEF); [self.view addSubview:self.loginCoverBgv]; [self.loginCoverBgv addSubview:self.loginCover]; [self.loginCoverBgv addSubview:self.cornerView]; [self.loginCoverBgv addSubview:self.loginLogo]; // [self.loginCover addSubview:self.loginTipsLb]; [self.view addSubview:self.passwordLoginView]; [self.view setNeedsUpdateConstraints]; [self.view updateConstraintsIfNeeded]; } - (void)updateViewConstraints{ [self.loginCoverBgv mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.view); make.left.equalTo(self.view); make.right.equalTo(self.view); make.height.mas_equalTo(adapt(254)); }]; [self.loginCover mas_makeConstraints:^(MASConstraintMaker *make) { make.top.left.right.equalTo(self.loginCoverBgv); make.height.mas_equalTo(adapt(268)); }]; [self.cornerView mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.loginCoverBgv); make.left.equalTo(self.loginCoverBgv); make.right.equalTo(self.loginCoverBgv); make.height.mas_equalTo(adapt(27)); }]; [self.loginLogo mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.cornerView.mas_top).offset(adapt(15)); make.centerX.equalTo(self.loginCover); make.width.mas_equalTo(adapt(191)); make.height.mas_equalTo(adapt(108)); }]; // [self.loginTipsLb mas_makeConstraints:^(MASConstraintMaker *make) { // make.bottom.equalTo(self.loginCover).offset(-36); // make.left.equalTo(self.loginCover).offset(28); // }]; [self.passwordLoginView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.view.mas_top).offset(adapt(216)); make.left.equalTo(self.view); make.right.equalTo(self.view); make.bottom.equalTo(self.view); }]; [super updateViewConstraints]; } - (void)ym_bindViewModel{ [self.passwordLoginView ym_bindViewModel:self.viewModel]; } - (void)receiveWechatAuth:(NSNotification *)notice{ NSString *code = [notice.userInfo stringValueForKey:@"authCode" defaultValue:@""]; [self.viewModel getWechatLoginAuthWithCode:code]; } - (UIView *)loginCoverBgv { if (!_loginCoverBgv) { _loginCoverBgv = [[UIView alloc]init]; _loginCoverBgv.backgroundColor = UIColor.clearColor; } return _loginCoverBgv; } - (UIImageView *)loginLogo{ if (!_loginLogo) { _loginLogo = [[UIImageView alloc]init]; _loginLogo.hidden = YES; _loginLogo.image = ImageByName(@"ym_login_register_logo"); } return _loginLogo; } - (UIImageView *)loginCover{ if (!_loginCover) { _loginCover = [[UIImageView alloc]init]; _loginCover.image = ImageByName(@"ym_login_register_cover"); } return _loginCover; } - (UIView *)cornerView{ if (!_cornerView) { _cornerView = [[UIView alloc]init]; _cornerView.hidden = YES; _cornerView.backgroundColor = HexColorFromRGB(0xFFFFFF); [_cornerView addRectCorner:UIRectCornerTopLeft|UIRectCornerTopRight radius:22]; _cornerView.layer.masksToBounds = true; } return _cornerView; } - (UILabel *)loginTipsLb { if (!_loginTipsLb) { _loginTipsLb = [[UILabel alloc]init]; _loginTipsLb.font = LCBoldFont(24); _loginTipsLb.textColor = HexColorFromRGB(0x1B2739); _loginTipsLb.textAlignment = NSTextAlignmentLeft; _loginTipsLb.text = @"您好,\n欢迎登录"; _loginTipsLb.numberOfLines = 0; } return _loginTipsLb; } - (YMPasswordLoginView *)passwordLoginView{ if (!_passwordLoginView) { _passwordLoginView = [[YMPasswordLoginView alloc]init]; _passwordLoginView.backgroundColor = HexColorFromRGB(0xFFFFFF); [_passwordLoginView addRectCorner:UIRectCornerTopLeft|UIRectCornerTopRight radius:adapt(22)]; } return _passwordLoginView; } - (void)dealloc{ // [NSNotification WECHAT_AUTHORIZATION_NOTIFICATION] [[NSNotificationCenter defaultCenter] removeObserver:self name:WECHAT_AUTHORIZATION_NOTIFICATION object:nil]; } @end