BogoYouthModePassWordViewController.m 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. //
  2. // BogoYouthModePassWordViewController.m
  3. // BuguLive
  4. //
  5. // Created by 宋晨光 on 2021/9/11.
  6. // Copyright © 2021 xfg. All rights reserved.
  7. //
  8. #import "BogoYouthModePassWordViewController.h"
  9. #import "BogoDelTextfield.h"
  10. #import "BogoYoungModeBlindPhoneVC.h"
  11. #import "BogoYoungModeVideoViewController.h"
  12. #import "MBProgressHUD+MJ.h"
  13. #import "BogoNetworkKit.h"
  14. @interface BogoYouthModePassWordViewController ()<UITextFieldDelegate,ZTextFieldDelegate>
  15. @property (weak, nonatomic) IBOutlet UIView *itemView;
  16. @property (weak, nonatomic) IBOutlet BogoDelTextfield *firstT;
  17. @property (weak, nonatomic) IBOutlet BogoDelTextfield *secondT;
  18. @property (weak, nonatomic) IBOutlet BogoDelTextfield *thirdT;
  19. @property (weak, nonatomic) IBOutlet BogoDelTextfield *fourthT;
  20. @property (weak, nonatomic) IBOutlet UIButton *confirmBtn;
  21. @property (weak, nonatomic) IBOutlet UILabel *contentL;
  22. @property (weak, nonatomic) IBOutlet UIButton *changePasswordBtn;
  23. @property (weak, nonatomic) IBOutlet UIButton *forgetBtn;
  24. @property(nonatomic, strong) NSMutableArray *itemTextArr;
  25. @end
  26. @implementation BogoYouthModePassWordViewController
  27. - (instancetype)initWithYounthType:(BOGO_YOUNTH_TYPE)type{
  28. BogoYouthModePassWordViewController *vc = [BogoYouthModePassWordViewController new];
  29. vc.type = type;
  30. return vc;
  31. }
  32. - (void)viewDidLoad {
  33. [super viewDidLoad];
  34. // Do any additional setup after loading the view from its nib.
  35. self.navigationItem.title = ASLocalizedString(@"青少年模式");
  36. [self backBtnWithBlock];
  37. [self setUpView];
  38. self.firstT.delegate = self;
  39. self.secondT.delegate = self;
  40. self.thirdT.delegate = self;
  41. self.fourthT.delegate = self;
  42. self.firstT.z_delegate = self;
  43. self.secondT.z_delegate = self;
  44. self.thirdT.z_delegate = self;
  45. self.fourthT.z_delegate = self;
  46. self.confirmBtn.enabled = NO;
  47. [self.firstT addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
  48. [self.secondT addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
  49. [self.thirdT addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
  50. [self.fourthT addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
  51. [self replaceChangeType];
  52. [self.changePasswordBtn setTitle:ASLocalizedString(@"修改密码") forState:UIControlStateNormal];
  53. // [self.changePasswordBtn setTitle:ASLocalizedString(@"忘记密码") forState:UIControlStateNormal];
  54. }
  55. -(void)replaceChangeType{
  56. NSString *contentStr = ASLocalizedString(@"启动青少年模式需要先设置独立密码,修改或者关闭青少年模式都需要此密码。");
  57. if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_SET) {
  58. self.navigationItem.title = ASLocalizedString(@"设置密码");
  59. contentStr = ASLocalizedString(@"启动青少年模式需要先设置独立密码,修改或者关闭青少年模式都需要此密码。");
  60. }else if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_CONFIRM) {
  61. self.navigationItem.title = ASLocalizedString(@"确认密码");
  62. contentStr = ASLocalizedString(@"请再次确认密码");
  63. }else if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_CLOSE) {
  64. self.navigationItem.title = ASLocalizedString(@"关闭青少年模式");
  65. contentStr = ASLocalizedString(@"关闭青少年模式,需输入密码进行确认");
  66. self.changePasswordBtn.hidden = self.forgetBtn.hidden = NO;
  67. }else if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_INPUTORIGIN) {
  68. self.navigationItem.title = ASLocalizedString(@"输入密码");
  69. contentStr = ASLocalizedString(@"请输入原密码");
  70. }
  71. NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
  72. paragraphStyle.lineSpacing = 4; //设置行间距
  73. paragraphStyle.lineBreakMode = _contentL.lineBreakMode;
  74. paragraphStyle.alignment = NSTextAlignmentLeft;
  75. NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:contentStr];
  76. NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:14.0],
  77. NSForegroundColorAttributeName:[UIColor colorWithHexString:@"#333333"],
  78. NSParagraphStyleAttributeName:paragraphStyle};
  79. [attributedString setAttributes:attributes range:NSMakeRange(0, attributedString.length)];
  80. _contentL.attributedText = attributedString;
  81. }
  82. - (void)backBtnWithBlock
  83. {
  84. // 返回按钮
  85. [self setupBackBtnWithBlock:nil];
  86. }
  87. -(void)setUpView{
  88. self.itemTextArr = [NSMutableArray array];
  89. }
  90. - (IBAction)clickTagBtn:(UIButton *)sender {
  91. switch (self.itemTextArr.count) {
  92. case 0:
  93. [self.firstT becomeFirstResponder];
  94. break;
  95. case 1:
  96. [self.secondT becomeFirstResponder];
  97. break;
  98. case 2:
  99. [self.thirdT becomeFirstResponder];
  100. break;
  101. case 3:
  102. [self.fourthT becomeFirstResponder];
  103. break;
  104. case 4:
  105. [self.fourthT becomeFirstResponder];
  106. break;
  107. default:
  108. break;
  109. }
  110. }
  111. -(void)zTextFieldDeleteBackward:(BogoDelTextfield *)textField{
  112. NSString *string = textField.text;
  113. NSInteger arrCount = self.itemTextArr.count;
  114. if ([string isEqualToString:@""]) {
  115. [self.itemTextArr removeLastObject];
  116. arrCount = self.itemTextArr.count - 1;
  117. }
  118. switch (arrCount) {
  119. case 0:
  120. [self.firstT becomeFirstResponder];
  121. break;
  122. case 1:
  123. [self.secondT becomeFirstResponder];
  124. break;
  125. case 2:
  126. [self.thirdT becomeFirstResponder];
  127. break;
  128. case 3:
  129. [self.fourthT becomeFirstResponder];
  130. break;
  131. default:
  132. break;
  133. }
  134. }
  135. -(void)textFieldDidChange:(UITextField *)textField{
  136. NSString *text = textField.text;
  137. NSInteger arrCount = self.itemTextArr.count;
  138. if ([text isEqualToString:@""]) {
  139. // [self.itemTextArr removeLastObject];
  140. // arrCount = self.itemTextArr.count - 1;
  141. return;
  142. }else{
  143. if (text.length > 1) {
  144. textField.text = [text substringWithRange:NSMakeRange(0, 1)];
  145. text = [text substringFromIndex:1];
  146. }
  147. [self.itemTextArr addObject:text];
  148. arrCount = self.itemTextArr.count;
  149. }
  150. switch (arrCount) {
  151. case 0:
  152. [self.firstT becomeFirstResponder];
  153. break;
  154. case 1:
  155. self.firstT.text = self.itemTextArr[0];
  156. [self.secondT becomeFirstResponder];
  157. break;
  158. case 2:
  159. self.secondT.text = self.itemTextArr[1];
  160. [self.thirdT becomeFirstResponder];
  161. break;
  162. case 3:
  163. self.thirdT.text = self.itemTextArr[2];
  164. [self.fourthT becomeFirstResponder];
  165. break;
  166. case 4:
  167. self.fourthT.text = self.itemTextArr[3];
  168. [self.fourthT becomeFirstResponder];
  169. break;
  170. default:
  171. break;
  172. }
  173. self.confirmBtn.enabled = self.itemTextArr.count == 4;
  174. if (self.confirmBtn.enabled) {
  175. [self.view endEditing:YES];
  176. }
  177. }
  178. - (IBAction)clickConfirmBtn:(UIButton *)sender {
  179. __block BogoYouthModePassWordViewController *vc;
  180. if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_SET) {
  181. vc = [[BogoYouthModePassWordViewController alloc]initWithYounthType:BOGO_YOUNTH_TYPE_PASSWORD_CONFIRM];
  182. vc.phone = [self.itemTextArr componentsJoinedByString:@","];
  183. }else if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_CONFIRM) {
  184. NSString *phoneStr = [self.itemTextArr componentsJoinedByString:@","];
  185. if (![phoneStr isEqualToString:self.phone]) {
  186. [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"两次密码不一致")];
  187. // showError:ASLocalizedString(@"两次密码不一致")];
  188. return;
  189. }
  190. self.phone = [self.phone stringByReplacingOccurrencesOfString:@"," withString:@""];
  191. NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
  192. [paramDic setObject:self.phone forKey:@"password"];
  193. [[BogoNetwork shareInstance]GET:@"young/setYoung" param:paramDic success:^(BogoNetworkResponseModel * _Nonnull result) {
  194. [GlobalVariables sharedInstance].userModel.is_open_young = @"1";
  195. NSMutableDictionary *hotDic = [NSMutableDictionary dictionary];
  196. [hotDic setObject:@"1" forKey:@"order"];
  197. [hotDic setObject:@"0" forKey:@"cate"];
  198. BogoYoungModeVideoViewController *vc = [BogoYoungModeVideoViewController new];
  199. vc.isHaveNavBar = NO;
  200. vc.paramDict = hotDic;
  201. vc.notHaveTabbar = NO;
  202. [self.navigationController pushViewController:vc animated:YES];
  203. } failure:^(NSString * _Nonnull error) {
  204. [[FDHUDManager defaultManager] show:error ToView:self.view];
  205. }];
  206. }else if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_CLOSE) {
  207. // /shopapi/young/closeYoung?token=499bf32dd443dbbb57156d295057e5c7&password=123456
  208. NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
  209. [paramDic setObject:[NSString stringWithFormat:@"%@%@%@%@",self.firstT.text,self.secondT.text,self.thirdT.text,self.fourthT.text] forKey:@"password"];
  210. [[BogoNetwork shareInstance]GET:@"young/closeYoung" param:paramDic success:^(BogoNetworkResponseModel * _Nonnull result) {
  211. [GlobalVariables sharedInstance].isShutDownYoung = YES;
  212. [self.navigationController popToRootViewControllerAnimated:YES];
  213. } failure:^(NSString * _Nonnull error) {
  214. [[FDHUDManager defaultManager] show:error ToView:self.view];
  215. }];
  216. return;
  217. }else if (self.type == BOGO_YOUNTH_TYPE_PASSWORD_INPUTORIGIN) {
  218. // /shopapi/young/editYoung?token=499bf32dd443dbbb57156d295057e5c7&old_password=111111
  219. NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
  220. [paramDic setObject:[NSString stringWithFormat:@"%@%@%@%@",self.firstT.text,self.secondT.text,self.thirdT.text,self.fourthT.text] forKey:@"old_password"];
  221. [[BogoNetwork shareInstance]GET:@"young/editYoung" param:paramDic success:^(BogoNetworkResponseModel * _Nonnull result) {
  222. vc = [[BogoYouthModePassWordViewController alloc]initWithYounthType:BOGO_YOUNTH_TYPE_PASSWORD_SET];
  223. vc.phone = [self.itemTextArr componentsJoinedByString:@","];
  224. [self.navigationController pushViewController:vc animated:YES];
  225. } failure:^(NSString * _Nonnull error) {
  226. [[FDHUDManager defaultManager] show:error ToView:self.view];
  227. }];
  228. }
  229. [self.navigationController pushViewController:vc animated:YES];
  230. }
  231. - (IBAction)clickChangeBtn:(UIButton *)sender {
  232. BogoYouthModePassWordViewController *vc = [[BogoYouthModePassWordViewController alloc]initWithYounthType:BOGO_YOUNTH_TYPE_PASSWORD_INPUTORIGIN];
  233. [self.navigationController pushViewController:vc animated:YES];
  234. }
  235. - (IBAction)clickForgetBtn:(UIButton *)sender {
  236. BogoYoungModeBlindPhoneVC *vc = [BogoYoungModeBlindPhoneVC new];
  237. [self.navigationController pushViewController:vc animated:YES];
  238. }
  239. /*
  240. #pragma mark - Navigation
  241. // In a storyboard-based application, you will often want to do a little preparation before navigation
  242. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  243. // Get the new view controller using [segue destinationViewController].
  244. // Pass the selected object to the new view controller.
  245. }
  246. */
  247. @end