| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- //
- // LoginSettingViewController.m
- // RA Image
- //
- // Created by Jack on 2017/4/27.
- // Copyright © 2017年 USAI. All rights reserved.
- //
- #import "LoginSettingViewController.h"
- #import "ScannerViewController.h"
- #import "RAQRCodeScannerViewController.h"
- @interface LoginSettingViewController ()<UITextFieldDelegate>
- @property (strong, nonatomic) IBOutlet UITextField *nameTextField;
- @property (strong, nonatomic) IBOutlet UITextField *internalTextField;
- @property (nonatomic,copy) NSString *checkedAddress;
- @end
- @implementation LoginSettingViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view.
- UIView *v = [UIView new];
- [self.view insertSubview:v atIndex:0];
-
- self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(doneItemClick:)];
- self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Scan" style:UIBarButtonItemStylePlain target:self action:@selector(scanItemClick:)];
-
- [self loadAddress];
- [self registListenKeyboard];
-
- }
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
- - (void)loadAddress {
- NSDictionary *addressDic = [self userDefaultsValue:kScanAddress];
- if (addressDic) {
- NSString* ia=addressDic[@"internalAddress"];
- NSString* ea=addressDic[@"externalAddress"];
- NSString* sa=addressDic[@"serverAddress"];
- if(sa.length==0)
- {
- if(ea.length>0)
- sa=ea;
- else if(ia.length>0)
- sa=ia;
- }
- self.internalTextField.text = sa;
- self.nameTextField.text = [addressDic objectForKey:@"name"];
- // NSUInteger selectedIndex = [[addressDic objectForKey:@"selectedIndex"] integerValue];
- // switch (selectedIndex) {
- // case 0:
- // case 1: {
- // [self internalCheckBtnClick:self.internalCheckBtn];
- // }
- // break;
- // case 2: {
- // [self externalCheckBtnClick:self.externalCheckBtn];
- // }
- // break;
- //
- // default:
- // break;
- // }
- } else {
- // [self internalCheckBtnClick:self.internalCheckBtn];
- }
- }
- #pragma mark - Button Click
- - (void)doneItemClick:(UIBarButtonItem *)sender {
- self.checkedAddress = nil;
- NSUInteger selectedIndex = 1;
- self.checkedAddress = self.internalTextField.text;
- // if (self.internalCheckBtn.selected) {
- // self.checkedAddress = self.internalTextField.text;
- // selectedIndex = 1;
- // }
- // if (self.externalCheckBtn.selected) {
- // self.checkedAddress = self.externalTextField.text;
- // selectedIndex = 2;
- // }
-
- if (self.returnValue) {
- self.returnValue(self.checkedAddress);
- }
- __weak typeof(self) weakself = self;
- [self.navigationController dismissViewControllerAnimated:YES completion:^{
- if (weakself.checkedAddress.length) {
- // 保存信息
- NSString *name = weakself.nameTextField.text;
- NSString *internalAddr = weakself.internalTextField.text;
- // NSString *externalAddr = weakself.externalTextField.text;
- NSMutableDictionary *addressDic = [NSMutableDictionary dictionary];
- if (internalAddr.length) {
- [addressDic setObject:internalAddr forKey:@"serverAddress"];
- }
- // if (externalAddr.length) {
- // [addressDic setObject:externalAddr forKey:@"externalAddress"];
- // }
- if (name.length) {
- [addressDic setObject:name forKey:@"name"];
- }
- [addressDic setObject:@(selectedIndex) forKey:@"selectedIndex"];
- [weakself setUserDefaultsValue:addressDic forKey:kScanAddress];
- }
- }];
- }
- - (void)scanItemClick:(UIBarButtonItem *)sender {
-
- __weak typeof(self) weakself = self;
- // ScannerViewController *scannerVC = [[UIStoryboard storyboardWithName:@"cam_scan" bundle:nil] instantiateViewControllerWithIdentifier:@"NewScannerViewController"];
- // scannerVC.returnCode = ^(NSString *code) {
- // // 扫描成功保存扫描值
- // if (weakself) {
- // __strong typeof(weakself) strongSelf = weakself;
- // [strongSelf processScanResult:code];
- // }
- // };
- // [self presentViewController:scannerVC animated:YES completion:nil];
-
- RAQRCodeScannerViewController *scannerVC = [RAQRCodeScannerViewController viewControllerFromStoryboard];
- scannerVC.QRCodeViewControllerDidCompletion = ^(RAQRCodeScannerViewController *qrcodeViewController, NSString *value) {
-
- if (weakself) {
- __strong typeof(weakself) strongSelf = weakself;
- [strongSelf processScanResult:value];
- }
-
- [qrcodeViewController dismissViewControllerAnimated:YES completion:nil];
- };
-
- scannerVC.QRCodeViewControllerDidCanceled = ^(RAQRCodeScannerViewController *qrcodeViewController) {
-
- [qrcodeViewController dismissViewControllerAnimated:YES completion:nil];
- };
-
- [self presentViewController:scannerVC animated:YES completion:nil];
- }
- //- (IBAction)internalCheckBtnClick:(UIButton *)sender {
- // sender.selected = !sender.selected;
- // if (sender.selected) self.externalCheckBtn.selected = NO;
- //}
- //
- //- (IBAction)externalCheckBtnClick:(UIButton *)sender {
- // sender.selected = !sender.selected;
- // if (sender.selected) self.internalCheckBtn.selected = NO;
- //}
- #pragma mark - TextField Delegate
- - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
- self.currentFirstResponder = textField;
- return YES;
- }
- - (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
- return YES;
- }
- #pragma mark - Private
- - (void)processScanResult:(NSString *)result {
-
- if (result.length) {
-
- NSArray *dataArr = [result componentsSeparatedByString:@";"];
- if (dataArr.count == 3) {
- NSString *name = [dataArr objectAtIndex:0];
- NSString *internalAddr = [dataArr objectAtIndex:2];
- // NSString *externalAddr = [dataArr objectAtIndex:2];
-
- self.nameTextField.text = name;
- self.internalTextField.text = internalAddr;
- // strongself.externalTextField.text = externalAddr;
- }
- else if (dataArr.count == 2) {
- NSString *name = [dataArr objectAtIndex:0];
- NSString *internalAddr = [dataArr objectAtIndex:1];
- // NSString *externalAddr = [dataArr objectAtIndex:2];
-
- self.nameTextField.text = name;
- self.internalTextField.text = internalAddr;
- // strongself.externalTextField.text = externalAddr;
- }
- else {
- [RAUtils alert_view:@"Wrong QR-CODE?" title:@"Can not setup server"];
- // strongself.nameTextField.text = nil;
- // strongself.internalTextField.text = [dataArr firstObject];
- // strongself.externalTextField.text = nil;
- }
-
- }
-
- }
- @end
|