YMPasswordLoginViewController.m 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. //
  2. // YMPasswordLoginViewController.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/5.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMPasswordLoginViewController.h"
  9. #import "YMPasswordLoginViewModel.h"
  10. #import "YMPasswordLoginView.h"
  11. @interface YMPasswordLoginViewController ()
  12. /// 密码登录VM
  13. @property (nonatomic, strong) YMPasswordLoginViewModel *viewModel;
  14. @property (nonatomic, strong) UIView *loginCoverBgv;
  15. @property (nonatomic, strong) UIView *cornerView;
  16. @property (nonatomic, strong) UIImageView *loginLogo;
  17. /// 登录封面
  18. @property (nonatomic, strong) UIImageView *loginCover;
  19. /// 登录提示标签
  20. @property (nonatomic, strong) UILabel *loginTipsLb;
  21. /// 密码登录视图
  22. @property (nonatomic, strong) YMPasswordLoginView *passwordLoginView;
  23. @end
  24. @implementation YMPasswordLoginViewController
  25. @dynamic viewModel;
  26. - (void)viewDidLoad {
  27. [super viewDidLoad];
  28. self.ym_navigationStyle = YMBaseNavigationStyleClearBgBlackBackArrow;
  29. [OCNotificationCenter addObserver:self selector:@selector(receiveWechatAuth:) name:WECHAT_AUTHORIZATION_NOTIFICATION object:nil];
  30. }
  31. - (void)ym_setupViews{
  32. self.view.backgroundColor = HexColorFromRGB(0xDCADEF);
  33. [self.view addSubview:self.loginCoverBgv];
  34. [self.loginCoverBgv addSubview:self.loginCover];
  35. [self.loginCoverBgv addSubview:self.cornerView];
  36. [self.loginCoverBgv addSubview:self.loginLogo];
  37. // [self.loginCover addSubview:self.loginTipsLb];
  38. [self.view addSubview:self.passwordLoginView];
  39. [self.view setNeedsUpdateConstraints];
  40. [self.view updateConstraintsIfNeeded];
  41. }
  42. - (void)updateViewConstraints{
  43. [self.loginCoverBgv mas_makeConstraints:^(MASConstraintMaker *make) {
  44. make.top.equalTo(self.view);
  45. make.left.equalTo(self.view);
  46. make.right.equalTo(self.view);
  47. make.height.mas_equalTo(adapt(254));
  48. }];
  49. [self.loginCover mas_makeConstraints:^(MASConstraintMaker *make) {
  50. make.top.left.right.equalTo(self.loginCoverBgv);
  51. make.height.mas_equalTo(adapt(268));
  52. }];
  53. [self.cornerView mas_makeConstraints:^(MASConstraintMaker *make) {
  54. make.bottom.equalTo(self.loginCoverBgv);
  55. make.left.equalTo(self.loginCoverBgv);
  56. make.right.equalTo(self.loginCoverBgv);
  57. make.height.mas_equalTo(adapt(27));
  58. }];
  59. [self.loginLogo mas_makeConstraints:^(MASConstraintMaker *make) {
  60. make.bottom.equalTo(self.cornerView.mas_top).offset(adapt(15));
  61. make.centerX.equalTo(self.loginCover);
  62. make.width.mas_equalTo(adapt(191));
  63. make.height.mas_equalTo(adapt(108));
  64. }];
  65. // [self.loginTipsLb mas_makeConstraints:^(MASConstraintMaker *make) {
  66. // make.bottom.equalTo(self.loginCover).offset(-36);
  67. // make.left.equalTo(self.loginCover).offset(28);
  68. // }];
  69. [self.passwordLoginView mas_makeConstraints:^(MASConstraintMaker *make) {
  70. make.top.equalTo(self.view.mas_top).offset(adapt(216));
  71. make.left.equalTo(self.view);
  72. make.right.equalTo(self.view);
  73. make.bottom.equalTo(self.view);
  74. }];
  75. [super updateViewConstraints];
  76. }
  77. - (void)ym_bindViewModel{
  78. [self.passwordLoginView ym_bindViewModel:self.viewModel];
  79. }
  80. - (void)receiveWechatAuth:(NSNotification *)notice{
  81. NSString *code = [notice.userInfo stringValueForKey:@"authCode" defaultValue:@""];
  82. [self.viewModel getWechatLoginAuthWithCode:code];
  83. }
  84. - (UIView *)loginCoverBgv {
  85. if (!_loginCoverBgv) {
  86. _loginCoverBgv = [[UIView alloc]init];
  87. _loginCoverBgv.backgroundColor = UIColor.clearColor;
  88. }
  89. return _loginCoverBgv;
  90. }
  91. - (UIImageView *)loginLogo{
  92. if (!_loginLogo) {
  93. _loginLogo = [[UIImageView alloc]init];
  94. _loginLogo.hidden = YES;
  95. _loginLogo.image = ImageByName(@"ym_login_register_logo");
  96. }
  97. return _loginLogo;
  98. }
  99. - (UIImageView *)loginCover{
  100. if (!_loginCover) {
  101. _loginCover = [[UIImageView alloc]init];
  102. _loginCover.image = ImageByName(@"ym_login_register_cover");
  103. }
  104. return _loginCover;
  105. }
  106. - (UIView *)cornerView{
  107. if (!_cornerView) {
  108. _cornerView = [[UIView alloc]init];
  109. _cornerView.hidden = YES;
  110. _cornerView.backgroundColor = HexColorFromRGB(0xFFFFFF);
  111. [_cornerView addRectCorner:UIRectCornerTopLeft|UIRectCornerTopRight radius:22];
  112. _cornerView.layer.masksToBounds = true;
  113. }
  114. return _cornerView;
  115. }
  116. - (UILabel *)loginTipsLb {
  117. if (!_loginTipsLb) {
  118. _loginTipsLb = [[UILabel alloc]init];
  119. _loginTipsLb.font = LCBoldFont(24);
  120. _loginTipsLb.textColor = HexColorFromRGB(0x1B2739);
  121. _loginTipsLb.textAlignment = NSTextAlignmentLeft;
  122. _loginTipsLb.text = @"您好,\n欢迎登录";
  123. _loginTipsLb.numberOfLines = 0;
  124. }
  125. return _loginTipsLb;
  126. }
  127. - (YMPasswordLoginView *)passwordLoginView{
  128. if (!_passwordLoginView) {
  129. _passwordLoginView = [[YMPasswordLoginView alloc]init];
  130. _passwordLoginView.backgroundColor = HexColorFromRGB(0xFFFFFF);
  131. [_passwordLoginView addRectCorner:UIRectCornerTopLeft|UIRectCornerTopRight radius:adapt(22)];
  132. }
  133. return _passwordLoginView;
  134. }
  135. - (void)dealloc{
  136. // [NSNotification WECHAT_AUTHORIZATION_NOTIFICATION]
  137. [[NSNotificationCenter defaultCenter] removeObserver:self name:WECHAT_AUTHORIZATION_NOTIFICATION object:nil];
  138. }
  139. @end