NewLoginViewController.m 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876
  1. //
  2. // NewLoginViewController.m
  3. // SERVICE
  4. //
  5. // Created by 罗云飞 on 2017/6/14.
  6. // Copyright © 2017年 Luo. All rights reserved.
  7. //
  8. #import "NewLoginViewController.h"
  9. #import "NewRegisterViewController.h"
  10. #import "NewForgotPasswordViewController.h"
  11. #import "UINavigationController+FDFullscreenPopGesture.h"
  12. #import "NewInterfaceReplacement.h"
  13. #import "HuanXinHelper.h"
  14. #import "JPushHelper.h"
  15. #define logoImage_top SCREEN_WIDTH==414?120:SCREEN_WIDTH==375?80:100
  16. //#define baseMapView_account_bottom SCREEN_WIDTH==414?(SCREEN_HEIGHT/2)-22:SCREEN_WIDTH==375?(SCREEN_HEIGHT/2)-22:(SCREEN_HEIGHT/2)-32
  17. //#define dividing_bottom SCREEN_WIDTH==414?100:SCREEN_WIDTH==375?80:60
  18. //#define registerAccount_bottom SCREEN_WIDTH==414?60:SCREEN_WIDTH==375?50:0
  19. @interface NewLoginViewController (){
  20. UIButton *selectedBtn;
  21. UIButton *loginBT;
  22. NSString *yonghutype;
  23. }
  24. @property (strong ,nonatomic) UIImageView * loginLogo;
  25. @property (strong ,nonatomic) UIImageView * baseMapView_account;
  26. @property (strong ,nonatomic) UIImageView * baseMapView_password;
  27. @property (strong ,nonatomic) UIImageView * identification_account;
  28. @property (strong ,nonatomic) UIImageView * identification_password;
  29. @property (strong ,nonatomic) UITextField * account;
  30. @property (strong ,nonatomic) UITextField * password;
  31. @property (strong ,nonatomic) UIButton * yhtypeStr;
  32. @property (strong ,nonatomic) UIButton * ciphertext;
  33. @property (strong ,nonatomic) UIButton * signIn;
  34. @property (strong ,nonatomic) UILabel * dividing;
  35. @property (strong ,nonatomic) UIButton * registerAccount;
  36. @property (strong ,nonatomic) UIButton * forgetPassword;
  37. @property (copy ,nonatomic) NSString * accountString;
  38. @property (copy ,nonatomic) NSString * passwordString;
  39. @end
  40. @implementation NewLoginViewController
  41. -(void)dealloc
  42. {
  43. NSLog(@"登录界面销毁");
  44. }
  45. - (void)viewWillAppear:(BOOL)animated
  46. {
  47. [super viewWillAppear:animated];
  48. [self.navgationBar setHidden:YES];
  49. }
  50. - (void)viewDidDisappear:(BOOL)animated
  51. {
  52. [super viewDidDisappear:animated];
  53. [self.navgationBar setHidden:NO];
  54. }
  55. - (void)viewDidLoad {
  56. [super viewDidLoad];
  57. // Do any additional setup after loading the view.
  58. [UserEntity sharedInstance].type = @"0";
  59. yonghutype = @"请选择用户类型";
  60. [self setNavTitle:@"登录"];
  61. // [self obtainCache];
  62. // [self createView];
  63. // [self loginLayoutSubviews];
  64. // [self automaticLogon];
  65. [self loadUI];
  66. }
  67. - (void)loadUI {
  68. UIImageView *backimage = [UIImageView new];
  69. [backimage setImage:[UIImage imageNamed:@"dlbj"]];
  70. backimage.backgroundColor = NewWhiteColor;
  71. backimage.userInteractionEnabled = YES;
  72. [self.view addSubview:backimage];
  73. backimage.sd_layout
  74. .leftEqualToView(self.view)
  75. .topEqualToView(self.view)
  76. .bottomEqualToView(self.view)
  77. .rightEqualToView(self.view);
  78. UIButton *fanhuiBT = [UIButton new];
  79. [fanhuiBT setBackgroundImage:NewImageNamed(@"fh") forState:UIControlStateNormal];
  80. NewTouchUpInside(fanhuiBT, fanhuiBTclick:);
  81. [backimage addSubview:fanhuiBT];
  82. if (NavHeader == 88) {
  83. fanhuiBT.sd_layout
  84. .leftSpaceToView(backimage, 17)
  85. .topSpaceToView(backimage, 52)
  86. .heightIs(21)
  87. .widthIs(11);
  88. }else{
  89. fanhuiBT.sd_layout
  90. .leftSpaceToView(backimage, 17)
  91. .topSpaceToView(backimage, 32)
  92. .heightIs(21)
  93. .widthIs(11);
  94. }
  95. UIImageView *logoimage = [UIImageView new];
  96. [logoimage setImage:[UIImage imageNamed:@"logo"]];
  97. logoimage.backgroundColor = NewClearColor;
  98. [backimage addSubview:logoimage];
  99. logoimage.sd_layout
  100. .centerXEqualToView(backimage)
  101. .topSpaceToView(backimage, fitScreenHeight(90))
  102. .heightIs(fitScreenWidth(80))
  103. .widthIs(fitScreenWidth(80));
  104. UIView *usernameview = [UIView new];
  105. usernameview.backgroundColor = [UIColor colorWithRed:247/255.0 green:247/255.0 blue:247/255.0 alpha:1];
  106. usernameview.userInteractionEnabled = YES;
  107. ViewRadius(usernameview, 5);
  108. [backimage addSubview:usernameview];
  109. usernameview.sd_layout
  110. .leftSpaceToView(backimage, 45)
  111. .rightSpaceToView(backimage, 45)
  112. .heightIs(45)
  113. .topSpaceToView(logoimage, fitScreenHeight(107));
  114. UIImageView *usernameimage = [UIImageView new];
  115. [usernameimage setImage:[UIImage imageNamed:@"yh"]];
  116. [usernameimage setBackgroundColor:NewClearColor];
  117. [usernameview addSubview:usernameimage];
  118. usernameimage.sd_layout
  119. .centerYEqualToView(usernameview)
  120. .leftSpaceToView(usernameview, 15)
  121. .heightIs(19)
  122. .widthIs(16);
  123. [usernameview addSubview:self.account];
  124. _account.sd_layout
  125. .leftSpaceToView(usernameimage, 15)
  126. .heightIs(30)
  127. .centerYEqualToView(usernameview)
  128. .rightSpaceToView(usernameview, 15);
  129. UIView *passwordView = [UIView new];
  130. passwordView.backgroundColor = [UIColor colorWithRed:247/255.0 green:247/255.0 blue:247/255.0 alpha:1];
  131. passwordView.userInteractionEnabled = YES;
  132. ViewRadius(passwordView, 5);
  133. [backimage addSubview:passwordView];
  134. passwordView.sd_layout
  135. .leftSpaceToView(backimage, 45)
  136. .rightSpaceToView(backimage, 45)
  137. .heightIs(45)
  138. .topSpaceToView(usernameview, 15);
  139. UIImageView *passwordimage = [UIImageView new];
  140. [passwordimage setImage:[UIImage imageNamed:@"qr"]];
  141. [passwordimage setBackgroundColor:NewClearColor];
  142. [passwordView addSubview:passwordimage];
  143. passwordimage.sd_layout
  144. .centerYEqualToView(passwordView)
  145. .leftSpaceToView(passwordView, 15)
  146. .heightIs(19)
  147. .widthIs(16);
  148. [passwordView addSubview:self.password];
  149. self.password.sd_layout
  150. .leftSpaceToView(passwordimage, 15)
  151. .heightIs(30)
  152. .centerYEqualToView(passwordView)
  153. .rightSpaceToView(passwordView, 15);
  154. UIView *yhtypeView = [UIView new];
  155. yhtypeView.backgroundColor = [UIColor colorWithRed:247/255.0 green:247/255.0 blue:247/255.0 alpha:1];
  156. yhtypeView.userInteractionEnabled = YES;
  157. ViewRadius(yhtypeView, 5);
  158. // [backimage addSubview:yhtypeView];
  159. yhtypeView.sd_layout
  160. .leftSpaceToView(backimage, 45)
  161. .rightSpaceToView(backimage, 45)
  162. .heightIs(45)
  163. .topSpaceToView(passwordView, 15);
  164. UIImageView *yhtype = [UIImageView new];
  165. [yhtype setImage:[UIImage imageNamed:@"用户类型"]];
  166. [yhtype setBackgroundColor:NewClearColor];
  167. [yhtypeView addSubview:yhtype];
  168. yhtype.sd_layout
  169. .centerYEqualToView(yhtypeView)
  170. .leftSpaceToView(yhtypeView, 15)
  171. .heightIs(19)
  172. .widthIs(16);
  173. _yhtypeStr = [UIButton new];
  174. [_yhtypeStr setTitle:yonghutype forState:UIControlStateNormal];
  175. [_yhtypeStr setTitleColor:[UIColor colorWithString:@"#9A9A9A"] forState:UIControlStateNormal];
  176. _yhtypeStr.titleLabel.font = NewFont(fitScreenWidth(12));
  177. NewTouchUpInside(_yhtypeStr, yhbuttoncilck);
  178. _yhtypeStr.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  179. [yhtypeView addSubview:_yhtypeStr];
  180. self.yhtypeStr.sd_layout
  181. .leftSpaceToView(yhtype, 15)
  182. .heightIs(30)
  183. .centerYEqualToView(yhtype)
  184. .rightSpaceToView(yhtypeView, 15);
  185. loginBT = [UIButton new];
  186. loginBT.backgroundColor = [UIColor colorWithString:@"#45A1F7"];
  187. [loginBT setTitle:@"登 录" forState:UIControlStateNormal];
  188. loginBT.titleLabel.font = NewFont(17);
  189. NewTouchUpInside(loginBT, loginBTclick:);
  190. ViewRadius(loginBT, 5);
  191. [backimage addSubview:loginBT];
  192. loginBT.sd_layout
  193. .leftSpaceToView(backimage, 45)
  194. .rightSpaceToView(backimage, 45)
  195. .heightIs(45)
  196. .topSpaceToView(passwordView, 44);
  197. UIButton *forgetpasswordBT = [UIButton new];
  198. [forgetpasswordBT setTitle:@"忘记密码" forState:UIControlStateNormal];
  199. [forgetpasswordBT setTitleColor:[UIColor colorWithString:@"#45A1F7"] forState:UIControlStateNormal];
  200. forgetpasswordBT.titleLabel.font = NewFont(fitScreenHeight(13));
  201. forgetpasswordBT.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
  202. NewTouchUpInside(forgetpasswordBT, forgetpasswordBTclick:);
  203. [backimage addSubview:forgetpasswordBT];
  204. forgetpasswordBT.sd_layout
  205. .rightSpaceToView(backimage, 45)
  206. .topSpaceToView(loginBT, 15)
  207. .widthIs(100)
  208. .heightIs(15);
  209. UILabel *label1 = [UILabel new];
  210. label1.text = @"还没注册账号?";
  211. label1.textColor = [UIColor colorWithString:@"#AEAEAE"];
  212. label1.font = NewFont(13);
  213. label1.textAlignment = NSTextAlignmentRight;
  214. [backimage addSubview:label1];
  215. label1.sd_layout
  216. .bottomSpaceToView(backimage, fitScreenWidth(45))
  217. .heightIs(15)
  218. .rightSpaceToView(backimage, SCREEN_WIDTH/2)
  219. .widthIs(100);
  220. [backimage addSubview:self.registerAccount];
  221. self.registerAccount.sd_layout
  222. .leftSpaceToView(label1, 1)
  223. .topEqualToView(label1)
  224. .heightIs(15)
  225. .widthIs(100);
  226. }
  227. - (void)loginBTclick:(UIButton *)sender {
  228. NSLog(@"登录");
  229. [self touchSignIn];
  230. }
  231. - (void)forgetpasswordBTclick:(UIButton *)sender {
  232. NSLog(@"忘记密码");
  233. NewInitWithName(NewForgotPasswordViewController, vc);
  234. NewPushViewController(vc);
  235. }
  236. #pragma mark - 获取本地数据
  237. - (void)obtainCache
  238. {
  239. _accountString = [NewUtils userDefaultsStringKey:NewAccountNumber];
  240. _passwordString = [NewUtils userDefaultsStringKey:NewAccountPassword];
  241. }
  242. #pragma mark - 加载UI
  243. - (void)createView
  244. {
  245. self.backButton.hidden = YES;
  246. UIImage *backButtonImage = [[UIImage imageNamed:@"navigationBackImage2"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)];
  247. UIButton *backButton= [UIButton buttonWithType:UIButtonTypeCustom];
  248. backButton.frame = CGRectMake(15, 25, 55, 30);
  249. [backButton setBackgroundColor:[UIColor clearColor]];
  250. [backButton setBackgroundImage:backButtonImage forState:UIControlStateNormal];
  251. [backButton addTarget:self action:@selector(popViewController) forControlEvents:UIControlEventTouchUpInside];
  252. [self.navgationBar addSubview:backButton];
  253. [self.view addSubview:self.account];
  254. [self.view addSubview:self.password];
  255. [self.view addSubview:self.forgetPassword];
  256. [self.view addSubview:self.signIn];
  257. [self.navgationBar addSubview:self.registerAccount];
  258. }
  259. - (void)popViewController
  260. {
  261. if ([_string isEqualToString:@"退出登录"]) {
  262. NewPopViewController;
  263. }else{
  264. NewDismissNavigationController;
  265. }
  266. }
  267. #pragma mark - 自动登录
  268. - (void)automaticLogon
  269. {
  270. if (_account.text.length>0 && _password.text.length>0) {
  271. [self touchSignIn];
  272. }
  273. }
  274. #pragma mark - 密码密文
  275. - (void)touchCiphertextButton:(UIButton *)sender
  276. {
  277. [sender setSelected:!sender.isSelected];
  278. _password.secureTextEntry = !_password.secureTextEntry;
  279. NSString* text = _password.text;
  280. _password.text = @" ";
  281. _password.text = text;
  282. }
  283. #pragma mark - 手机号码/密码 作字符输入限制
  284. - (void)textFieldEditingChanged:(UITextField *)textField
  285. {
  286. if (textField == _account) {
  287. if ([textField.text length]>11) {
  288. textField.text=[textField.text substringToIndex:11];//手机号码11位
  289. }
  290. }else if (textField == _password) {
  291. if ([textField.text length]>20) {
  292. textField.text=[textField.text substringToIndex:20];//密码最长20位
  293. }
  294. }
  295. }
  296. - (BOOL)verification
  297. {
  298. if (_account.text.length <= 0) {
  299. [self.view makeToast:@"账号输入有误" duration:1.0 position:CSToastPositionCenter];
  300. return NO;
  301. }
  302. if (_password.text.length <= 0) {
  303. [self.view makeToast:@"密码输入有误" duration:1.0 position:CSToastPositionCenter];
  304. return NO;
  305. }
  306. return YES;
  307. }
  308. #pragma mark - 登录网络请求
  309. - (void)touchSignIn
  310. {
  311. if (![self verification]) {
  312. return;
  313. }
  314. // if ([yonghutype isEqualToString:@"请选择用户类型"]) {
  315. // [MBProgressHUD showError:@"请先选择用户类型" toView:self.view];
  316. // return;
  317. // }
  318. loginBT.userInteractionEnabled = NO;
  319. [MBProgressHUD showLoadToView:self.view title:@"请稍后..."];
  320. NSMutableDictionary *parameters = NewMutableDictionaryInit;
  321. [parameters safeSetObject:_account.text forKey:@"mobile"];//账号
  322. [parameters safeSetObject:_password.text forKey:@"password"];//密码
  323. // if ([yonghutype isEqualToString:@"个人"]) {
  324. [parameters safeSetObject:@"0" forKey:@"type"];//类别 个人or企业
  325. // }else if ([yonghutype isEqualToString:@"企业"]){
  326. // [parameters safeSetObject:@"1" forKey:@"type"];//类别 个人or企业
  327. // }
  328. [NetworkRequestManager requestPostWithInterfacePrefix:JT_signin parameters:parameters onSuccess:^(id requestData) {
  329. loginBT.userInteractionEnabled = YES;
  330. [MBProgressHUD hideHUDForView:self.view];
  331. NSLog(@"服务器返回数据 :%@",requestData);
  332. if ([requestData[@"error"] count] !=0) {
  333. for (NSDictionary *dic in requestData[@"error"]) {
  334. [MBProgressHUD showError:dic[@"message"] toView:self.view];
  335. }
  336. }else{
  337. //用户的单利数据更新
  338. [UserEntity sharedInstance].account = requestData[@"data"][@"mobile"];
  339. [UserEntity sharedInstance].accountPassword = _password.text;
  340. NSString *str = [NSString stringWithFormat:@"%@",requestData[@"data"][@"type"]];
  341. if ([str isEqualToString:@"0"]) {
  342. [UserEntity sharedInstance].type = @"个人用户";
  343. }else{
  344. [UserEntity sharedInstance].type = @"企业用户";
  345. }
  346. // [UserEntity sharedInstance].type = requestData[@"data"][@"type"];
  347. [UserEntity sharedInstance].token = requestData[@"token"];
  348. [UserEntity sharedInstance].name = requestData[@"data"][@"identifyName"];
  349. if([requestData[@"data"][@"headPortraitUrl"] isEqual:[NSNull null]]) {
  350. [UserEntity sharedInstance].headPortraitUrl = @"";
  351. }else{
  352. [UserEntity sharedInstance].headPortraitUrl = requestData[@"data"][@"headPortraitUrl"];
  353. }
  354. [UserEntity sharedInstance].ID = requestData[@"data"][@"id"];
  355. // if ([requestData[@"data"][@"easemobName"] isEqual:[NSNull null]]) {
  356. // [UserEntity sharedInstance].HXusername = @"";
  357. //
  358. // }else{
  359. // [UserEntity sharedInstance].HXusername = requestData[@"data"][@"easemobName"];
  360. // }
  361. // if ([requestData[@"data"][@"easemobPass"] isEqual:[NSNull null]]) {
  362. // [UserEntity sharedInstance].HXpassword = @"";
  363. // }else{
  364. // [UserEntity sharedInstance].HXpassword = requestData[@"data"][@"easemobPass"];
  365. // }
  366. //缓存用户信息到本地
  367. [UserHelper cacheUserInfoFromLocation];
  368. //绑定登录的账号作为推送对象
  369. // [[JPushHelper sharedInstance] addAlias];
  370. NSLog(@"1---%@",[NewUtils userDefaultsStringKey:NewAccountNumber]);
  371. NSLog(@"2---%@",[NewUtils userDefaultsStringKey:NewAccountPassword]);
  372. NSLog(@"3---%@",[NewUtils userDefaultsStringKey:NewToken]);
  373. NSLog(@"4---%@",[NewUtils userDefaultsStringKey:NewType]);
  374. // _LoginSuccess();
  375. // //跳转程序控制器
  376. [MBProgressHUD showSuccess:@"登录成功" toView:self.view];
  377. //技淘登录成功后 环信跟着登录
  378. // [[HuanXinHelper sharedInstance] LoginHuanXin:[UserEntity sharedInstance].HXusername password:[UserEntity sharedInstance].HXpassword];
  379. NSLog(@"登录成功");
  380. [JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) {
  381. if(resCode == 0){
  382. NSLog(@"registrationID获取成功:%@",registrationID);
  383. [self synBindingAccount:registrationID];
  384. }
  385. else{
  386. NSLog(@"registrationID获取失败,code:%d",resCode);
  387. }
  388. }];
  389. if ([_string isEqualToString:@"退出登录"]) {
  390. [[NewInterfaceReplacement sharedInstance] replacementController];
  391. }else{
  392. _LoginSuccess(@"");
  393. }
  394. }
  395. } onFailure:^{
  396. NSLog(@"登录失败");
  397. _signIn.userInteractionEnabled = YES;
  398. [MBProgressHUD hideHUDForView:self.view];
  399. }];
  400. }
  401. #pragma mark ------绑定极光推送账号--------
  402. - (void)synBindingAccount:(NSString *)registrationID{
  403. NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
  404. [dic safeSetObject:NewUDID forKey:@"uuid"];
  405. [dic safeSetObject:registrationID forKey:@"registrationId"];
  406. [NetworkRequestManager requestPostWithInterfacePrefix:JT_synBindingAccount parameters:dic onSuccess:^(id requestData) {
  407. NSLog(@"服务器返回数据 :%@",requestData);
  408. if ([requestData[@"error"] count] !=0) {
  409. for (NSDictionary *dic in requestData[@"error"]) {
  410. NSLog(@"%@",dic[@"message"]);
  411. }
  412. }else{
  413. NSLog(@"绑定极光账号成功");
  414. }
  415. } onFailure:^{
  416. }];
  417. }
  418. #pragma mark - 注册赏识
  419. - (void)touchRegister
  420. {
  421. NewInitWithName(NewRegisterViewController, vc);
  422. NewPushViewController(vc);
  423. }
  424. #pragma mark - 忘记密码
  425. - (void)touchForgetPassword
  426. {
  427. NewInitWithName(NewForgotPasswordViewController, vc);
  428. NewPushViewController(vc);
  429. }
  430. #pragma mark - UI布局
  431. - (void)loginLayoutSubviews
  432. {
  433. //手机号码固定
  434. UILabel *mobilenumber = [UILabel new];
  435. mobilenumber.text = @"手机号码";
  436. mobilenumber.font = NewFont(fitScreenWidth(14));
  437. mobilenumber.textColor = [UIColor colorWithString:@"#3C3C3C"];
  438. [mobilenumber setSingleLineAutoResizeWithMaxWidth:0];
  439. [self.view addSubview:mobilenumber];
  440. mobilenumber.sd_layout
  441. .leftSpaceToView(self.view, 30)
  442. .topSpaceToView(self.view, ViewStartY+40)
  443. .heightIs(20);
  444. //+86 区间号
  445. UILabel *areacode = [UILabel new];
  446. areacode.text = @"+86";
  447. areacode.font = NewFont(fitScreenWidth(12));
  448. areacode.textColor = [UIColor colorWithString:@"#9A9A9A"];
  449. [areacode setSingleLineAutoResizeWithMaxWidth:0];
  450. [self.view addSubview:areacode];
  451. areacode.sd_layout
  452. .leftSpaceToView(mobilenumber, 15)
  453. .bottomEqualToView(mobilenumber)
  454. .heightIs(20);
  455. //线条1
  456. UILabel *line = [UILabel new];
  457. line.backgroundColor = [UIColor colorWithString:@"#ececec"];
  458. [self.view addSubview:line];
  459. line.sd_layout
  460. .leftEqualToView(mobilenumber)
  461. .rightSpaceToView(self.view, 30)
  462. .topSpaceToView(mobilenumber, 5)
  463. .heightIs(0.8);
  464. _account.sd_layout
  465. .leftSpaceToView(areacode, 10)
  466. .topEqualToView(areacode)
  467. .widthIs(120)
  468. .heightIs(20);
  469. //密码固定
  470. UILabel *password = [UILabel new];
  471. password.text = @"密 码";
  472. password.font = NewFont(fitScreenWidth(14));
  473. password.textColor = [UIColor colorWithString:@"#3C3C3C"];
  474. [password setSingleLineAutoResizeWithMaxWidth:0];
  475. [self.view addSubview:password];
  476. password.sd_layout
  477. .leftEqualToView(mobilenumber)
  478. .topSpaceToView(line, 30)
  479. .heightIs(20);
  480. _password.sd_layout
  481. .leftEqualToView(areacode)
  482. .bottomEqualToView(password)
  483. .widthIs(120)
  484. .heightIs(20);
  485. //线条2
  486. UILabel *line2 = [UILabel new];
  487. line2.backgroundColor = [UIColor colorWithString:@"#ececec"];
  488. [self.view addSubview:line2];
  489. line2.sd_layout
  490. .leftEqualToView(password)
  491. .rightSpaceToView(self.view, 30)
  492. .topSpaceToView(password, 5)
  493. .heightIs(0.8);
  494. //忘记密码按钮
  495. _forgetPassword.sd_layout
  496. .rightEqualToView(line2)
  497. .bottomEqualToView(password)
  498. .heightIs(20);
  499. UILabel *personal = [UILabel new];
  500. personal.text = @"个 人";
  501. personal.textColor = NewBlackColor;
  502. personal.font = NewFont(fitScreenWidth(12));
  503. [personal setSingleLineAutoResizeWithMaxWidth:0];
  504. [self.view addSubview:personal];
  505. personal.sd_layout
  506. .rightSpaceToView(self.view, SCREEN_WIDTH/2+20)
  507. .topSpaceToView(line2, 30)
  508. .heightIs(20);
  509. UIButton *personalBT = [UIButton new];
  510. [personalBT setImage:[UIImage imageNamed:@"未选中状态"] forState:UIControlStateNormal];
  511. [personalBT setImage:[UIImage imageNamed:@"选中"] forState:UIControlStateSelected];
  512. personalBT.selected = YES;
  513. selectedBtn = personalBT;
  514. NewTouchUpInside(personalBT, personalBTclick:);
  515. personalBT.tag = 100;
  516. [self.view addSubview:personalBT];
  517. personalBT.sd_layout
  518. .rightSpaceToView(personal, 5)
  519. .topSpaceToView(line2, 30)
  520. .heightIs(20)
  521. .widthIs(20);
  522. //企业
  523. UIButton *enterpriseBT = [UIButton new];
  524. [enterpriseBT setImage:[UIImage imageNamed:@"未选中状态"] forState:UIControlStateNormal];
  525. [enterpriseBT setImage:[UIImage imageNamed:@"选中"] forState:UIControlStateSelected];
  526. enterpriseBT.tag = 101;
  527. NewTouchUpInside(enterpriseBT, personalBTclick:);
  528. [self.view addSubview:enterpriseBT];
  529. enterpriseBT.sd_layout
  530. .leftSpaceToView(self.view, SCREEN_WIDTH/2+20)
  531. .topSpaceToView(line2, 30)
  532. .heightIs(20)
  533. .widthIs(20);
  534. UILabel *enterprise = [UILabel new];
  535. enterprise.text = @"企 业";
  536. enterprise.textColor = NewBlackColor;
  537. enterprise.font = NewFont(fitScreenWidth(12));
  538. [enterprise setSingleLineAutoResizeWithMaxWidth:0];
  539. [self.view addSubview:enterprise];
  540. enterprise.sd_layout
  541. .leftSpaceToView(enterpriseBT, 5)
  542. .topEqualToView(enterpriseBT)
  543. .heightIs(20);
  544. //登录按钮
  545. _signIn.sd_layout
  546. .leftEqualToView(mobilenumber)
  547. .topSpaceToView(enterprise, 40)
  548. .rightSpaceToView(self.view, 30)
  549. .heightIs(40);
  550. _registerAccount.sd_layout
  551. .rightSpaceToView(self.navgationBar, 15)
  552. .heightIs(44)
  553. .topSpaceToView(self.navgationBar, 18);
  554. }
  555. #pragma mark ---- 点击个人or企业按钮 ------
  556. - (void)personalBTclick:(UIButton *)sender {
  557. if (sender != selectedBtn)
  558. {
  559. selectedBtn.selected = NO;
  560. selectedBtn = sender;
  561. }
  562. selectedBtn.selected = YES;
  563. NSLog(@"%ld",sender.tag);
  564. if (sender.tag == 100) {
  565. NSLog(@"个人");
  566. [UserEntity sharedInstance].type = @"0";
  567. }else{
  568. NSLog(@"企业");
  569. [UserEntity sharedInstance].type = @"1";
  570. }
  571. }
  572. #pragma mark - UI初始化
  573. - (UIImageView *)loginLogo
  574. {
  575. if (!_loginLogo)
  576. {
  577. _loginLogo = [UIImageView new];
  578. }
  579. return _loginLogo;
  580. }
  581. - (UIImageView *)baseMapView_account
  582. {
  583. if (!_baseMapView_account)
  584. {
  585. _baseMapView_account = [UIImageView new];
  586. // UIImage *logoImage = [UIImage imageNamed:@"Rectangle_white"];
  587. [_baseMapView_account setUserInteractionEnabled:YES];
  588. // [_baseMapView_account setImage:logoImage];
  589. ViewBorderRadius(_baseMapView_account, 10, 1, NewNavigationColor);
  590. }
  591. return _baseMapView_account;
  592. }
  593. - (UIImageView *)baseMapView_password
  594. {
  595. if (!_baseMapView_password)
  596. {
  597. _baseMapView_password = [UIImageView new];
  598. //UIImage *logoImage = [UIImage imageNamed:@"Rectangle_white"];
  599. [_baseMapView_password setUserInteractionEnabled:YES];
  600. // [_baseMapView_password setImage:logoImage];
  601. ViewBorderRadius(_baseMapView_password, 10, 1, NewNavigationColor);
  602. }
  603. return _baseMapView_password;
  604. }
  605. - (UIImageView *)identification_account
  606. {
  607. if (!_identification_account)
  608. {
  609. _identification_account = [UIImageView new];
  610. UIImage *logoImage = [UIImage imageNamed:@"手机号码"];
  611. [_identification_account setImage:logoImage];
  612. }
  613. return _identification_account;
  614. }
  615. - (UIImageView *)identification_password
  616. {
  617. if (!_identification_password)
  618. {
  619. _identification_password = [UIImageView new];
  620. UIImage *logoImage = [UIImage imageNamed:@"密码"];
  621. [_identification_password setImage:logoImage];
  622. }
  623. return _identification_password;
  624. }
  625. - (UITextField *)account
  626. {
  627. if (!_account)
  628. {
  629. _account = [UITextField new];
  630. [_account setBackgroundColor:[UIColor clearColor]];
  631. [_account setTextColor:NewGrayColor];
  632. [_account setPlaceholder:@"请输入手机号"];
  633. [_account setText:_accountString];
  634. [_account setFont:[UIFont systemFontOfSize:fitScreenWidth(12)]];
  635. [_account setSecureTextEntry:NO];
  636. [_account setKeyboardType:UIKeyboardTypeNumberPad];
  637. [_account setReturnKeyType:UIReturnKeyDefault];
  638. [_account addTarget:self action:@selector(textFieldEditingChanged:) forControlEvents:UIControlEventEditingChanged];
  639. }
  640. return _account;
  641. }
  642. - (UITextField *)password
  643. {
  644. if (!_password)
  645. {
  646. _password = [UITextField new];
  647. [_password setBackgroundColor:[UIColor clearColor]];
  648. [_password setTextColor:[UIColor colorWithString:@"#9A9A9A"]];
  649. [_password setPlaceholder:@"密码不少于6位数"];
  650. [_password setText:_passwordString];
  651. [_password setFont:[UIFont systemFontOfSize:fitScreenWidth(12)]];
  652. [_password setSecureTextEntry:YES];
  653. [_password setKeyboardType:UIKeyboardTypeDefault];
  654. [_password setReturnKeyType:UIReturnKeyDefault];
  655. [_account addTarget:self action:@selector(textFieldEditingChanged:) forControlEvents:UIControlEventEditingChanged];
  656. }
  657. return _password;
  658. }
  659. - (UIButton *)ciphertext
  660. {
  661. if (!_ciphertext)
  662. {
  663. _ciphertext = [UIButton buttonWithType:UIButtonTypeCustom];
  664. [_ciphertext setBackgroundImage:[UIImage imageNamed:@"隐藏密码"] forState:UIControlStateNormal];
  665. [_ciphertext addTarget:self action:@selector(touchCiphertextButton:) forControlEvents:UIControlEventTouchUpInside];
  666. }
  667. return _ciphertext;
  668. }
  669. - (UIButton *)signIn
  670. {
  671. if (!_signIn)
  672. {
  673. _signIn = [UIButton buttonWithType:UIButtonTypeCustom];
  674. [_signIn setTitle:@"登录" forState:UIControlStateNormal];
  675. [_signIn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  676. //[_signIn setBackgroundImage:[UIImage imageNamed:@"Rectangle_red"] forState:UIControlStateNormal];
  677. [_signIn setBackgroundColor:NewButtonColor];
  678. [_signIn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
  679. [_signIn.titleLabel setFont:[UIFont systemFontOfSize:18]];
  680. ViewRadius(_signIn, 6);
  681. [_signIn addTarget:self action:@selector(touchSignIn) forControlEvents:UIControlEventTouchUpInside];
  682. }
  683. return _signIn;
  684. }
  685. - (UILabel *)dividing
  686. {
  687. if (!_dividing)
  688. {
  689. _dividing = [UILabel new];
  690. _dividing.text = @"丨";
  691. [_dividing setBackgroundColor:[UIColor clearColor]];
  692. [_dividing setTextColor:NewGray2Color];
  693. [_dividing setTextAlignment:NSTextAlignmentCenter];
  694. [_dividing setFont:[UIFont systemFontOfSize:18]];
  695. }
  696. return _dividing;
  697. }
  698. - (UIButton *)registerAccount
  699. {
  700. if (!_registerAccount)
  701. {
  702. _registerAccount = [UIButton buttonWithType:UIButtonTypeCustom];
  703. [_registerAccount setTitle:@"点我立即注册" forState:UIControlStateNormal];
  704. [_registerAccount setTitleColor:[UIColor colorWithString:@"#45A1F7"] forState:UIControlStateNormal];
  705. [_registerAccount setBackgroundColor:[UIColor clearColor]];
  706. [_registerAccount setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
  707. [_registerAccount.titleLabel setFont:[UIFont systemFontOfSize:13]];
  708. [_registerAccount addTarget:self action:@selector(touchRegister) forControlEvents:UIControlEventTouchUpInside];
  709. // [_registerAccount setupAutoSizeWithHorizontalPadding:5 buttonHeight:44];
  710. }
  711. return _registerAccount;
  712. }
  713. - (UIButton *)forgetPassword
  714. {
  715. if (!_forgetPassword)
  716. {
  717. _forgetPassword = [UIButton buttonWithType:UIButtonTypeCustom];
  718. [_forgetPassword setTitle:@"忘记密码" forState:UIControlStateNormal];
  719. [_forgetPassword setTitleColor:[UIColor colorWithString:@"#3C3C3C"] forState:UIControlStateNormal];
  720. [_forgetPassword setBackgroundColor:[UIColor clearColor]];
  721. [_forgetPassword setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
  722. [_forgetPassword.titleLabel setFont:[UIFont systemFontOfSize:fitScreenWidth(12)]];
  723. [_forgetPassword setupAutoSizeWithHorizontalPadding:5 buttonHeight:20];
  724. [_forgetPassword addTarget:self action:@selector(touchForgetPassword) forControlEvents:UIControlEventTouchUpInside];
  725. }
  726. return _forgetPassword;
  727. }
  728. - (void)fanhuiBTclick:(UIButton *)sender {
  729. NewPopViewController;
  730. }
  731. -(void)yhbuttoncilck
  732. {
  733. UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"用户类型" message:@"请选择用户类型" preferredStyle:UIAlertControllerStyleActionSheet];
  734. // 创建action,这里action1只是方便编写,以后再编程的过程中还是以命名规范为主
  735. UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"个人" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
  736. yonghutype = @"个人";
  737. [_yhtypeStr setTitle:yonghutype forState:UIControlStateNormal];
  738. }];
  739. UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"企业" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
  740. yonghutype = @"企业";
  741. [_yhtypeStr setTitle:yonghutype forState:UIControlStateNormal];
  742. }];
  743. UIAlertAction *action3 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
  744. }];
  745. //把action添加到actionSheet里
  746. [actionSheet addAction:action1];
  747. [actionSheet addAction:action2];
  748. [actionSheet addAction:action3];
  749. //相当于之前的[actionSheet show];
  750. [self presentViewController:actionSheet animated:YES completion:nil];
  751. }
  752. - (void)didReceiveMemoryWarning {
  753. [super didReceiveMemoryWarning];
  754. // Dispose of any resources that can be recreated.
  755. }
  756. /*
  757. #pragma mark - Navigation
  758. // In a storyboard-based application, you will often want to do a little preparation before navigation
  759. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  760. // Get the new view controller using [segue destinationViewController].
  761. // Pass the selected object to the new view controller.
  762. }
  763. */
  764. @end