JXMyBaseInFovc.m 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. //
  2. // JXMyBaseInFovc.m
  3. // shiku_im
  4. //
  5. // Created by 123 on 2020/5/29.
  6. // Copyright © 2020 Reese. All rights reserved.
  7. //
  8. #import "JXMyBaseInFovc.h"
  9. #import "JXQRCodeViewController.h"
  10. #import "JXImageScrollVC.h"
  11. #import "DMScaleTransition.h"
  12. #import "JXTelAreaListVC.h"
  13. #import "RITLPhotosViewController.h"
  14. #import "JXselectSexView.h"
  15. #import "JXCameraVC.h"
  16. #import "STAlertView.h"
  17. #import "selectProvinceVC.h"
  18. @interface JXMyBaseInFovc ()<RITLPhotosViewControllerDelegate,UINavigationControllerDelegate, UIImagePickerControllerDelegate,JXActionSheetVCDelegate,JXCameraVCDelegate>
  19. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *topViewH;
  20. @property (weak, nonatomic) IBOutlet UIView *updateheadIMG;
  21. @property (weak, nonatomic) IBOutlet UIImageView *IconIMG;
  22. @property (weak, nonatomic) IBOutlet UITextField *nickName;
  23. @property (weak, nonatomic) IBOutlet UILabel *sexL;
  24. @property (weak, nonatomic) IBOutlet UILabel *addrL;
  25. @property (weak, nonatomic) IBOutlet UIView *qQCodeView;
  26. @property (weak, nonatomic) IBOutlet UIView *addressView;
  27. @property (weak, nonatomic) IBOutlet UIView *sexView;
  28. @property (weak, nonatomic) IBOutlet UIButton *compleBtn;
  29. @property (nonatomic,copy) NSString *recordUrlIcon;
  30. @property (nonatomic,assign) int cityStr;
  31. @property (nonatomic,assign) int proViStr;
  32. @property (nonatomic,assign) int areaStr;
  33. @property (nonatomic,strong) JXselectSexView *selectSexView;
  34. @property (nonatomic,assign) NSInteger sexInt;
  35. @end
  36. @implementation JXMyBaseInFovc
  37. -(instancetype)init{
  38. if (self=[super init]) {
  39. [g_notify addObserver:self selector:@selector(newRequest:) name:kXMPPNewRequestNotifaction object:nil];
  40. }
  41. return self;
  42. }
  43. #pragma mark - 发送原图
  44. // - (void)photosViewController:(UIViewController *)viewController images:(NSArray<UIImage *> *)images infos:(NSArray<NSDictionary *> *)infos {
  45. //
  46. // self.IconIMG.image = images.firstObject;
  47. //
  48. // // [g_server uploadHeadImage:_user.userId image:self.IconIMG.image toView:self];
  49. //
  50. // }
  51. // #pragma mark - 发送缩略图
  52. // - (void)photosViewController:(UIViewController *)viewController thumbnailImages:(NSArray *)thumbnailImages infos:(NSArray<NSDictionary *> *)infos {
  53. // self.IconIMG.image = thumbnailImages.firstObject;
  54. // // [g_server uploadHeadImage:_user.userId image:self.IconIMG.image toView:self];
  55. // }
  56. - (void)actionSheet:(JXActionSheetVC *)actionSheet didButtonWithIndex:(NSInteger)index {
  57. if (index == 0) {
  58. UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
  59. ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  60. ipc.delegate = self;
  61. ipc.allowsEditing = YES;
  62. //选择图片模式
  63. ipc.modalPresentationStyle = UIModalPresentationCurrentContext;
  64. // [g_window addSubview:ipc.view];
  65. if (IS_PAD) {
  66. UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:ipc];
  67. [pop presentPopoverFromRect:CGRectMake((self.view.frame.size.width - 320) / 2, 0, 300, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
  68. }else {
  69. [self presentViewController:ipc animated:YES completion:nil];
  70. }
  71. }else {
  72. JXCameraVC *vc = [JXCameraVC alloc];
  73. vc.cameraDelegate = self;
  74. vc.isPhoto = YES;
  75. vc = [vc init];
  76. [self presentViewController:vc animated:YES completion:nil];
  77. }
  78. }
  79. - (void)cameraVC:(JXCameraVC *)vc didFinishWithImage:(UIImage *)image {
  80. //_image = [ImageResize image:image fillSize:CGSizeMake(640, 640)];
  81. // [_image retain];
  82. // 照相
  83. self.IconIMG.image = image;
  84. }
  85. -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
  86. {
  87. [picker dismissViewControllerAnimated:YES completion:nil];
  88. }
  89. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
  90. {
  91. //_image = [ImageResize image:[info objectForKey:@"UIImagePickerControllerEditedImage"] fillSize:CGSizeMake(640, 640)];
  92. self.IconIMG.image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
  93. [picker dismissViewControllerAnimated:YES completion:nil];
  94. }
  95. -(void)onHeadImage{
  96. JXActionSheetVC *actionVC = [[JXActionSheetVC alloc] initWithImages:@[] names:@[Localized(@"JX_ChoosePhoto"),Localized(@"JX_TakePhoto")]];
  97. actionVC.delegate = self;
  98. [self presentViewController:actionVC animated:NO completion:nil];
  99. UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
  100. ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  101. ipc.delegate = self;
  102. ipc.allowsEditing = YES;
  103. ipc.modalPresentationStyle = UIModalPresentationFullScreen;
  104. // [g_window addSubview:ipc.view];
  105. if (IS_PAD) {
  106. UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:ipc];
  107. [pop presentPopoverFromRect:CGRectMake((self.view.frame.size.width - 320) / 2, 0, 300, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
  108. }else {
  109. [self presentViewController:ipc animated:YES completion:nil];
  110. }
  111. // RITLPhotosViewController *photoController = RITLPhotosViewController.photosViewController;
  112. // photoController.configuration.maxCount = 1;//最大的选择数目
  113. // photoController.configuration.containVideo = NO;//选择类型,目前只选择图片不选择视频
  114. //
  115. // photoController.photo_delegate = self;
  116. // photoController.thumbnailSize = CGSizeMake(320, 320);//缩略图的尺寸
  117. // // photoController.defaultIdentifers = self.saveAssetIds;//记录已经选择过的资源
  118. //
  119. // [self presentViewController:photoController animated:true completion:^{}];
  120. }
  121. - (void)viewDidLoad {
  122. [super viewDidLoad];
  123. // Do any additional setup after loading the view from its nib.
  124. self.topViewH.constant=JX_SCREEN_HEIGHT>=812?88:64;
  125. [self defineNavBar:@"个人信息" andRinghtBtnImg:@""];
  126. self.IconIMG.layer.cornerRadius=22;
  127. self.IconIMG.layer.masksToBounds=YES;
  128. self.compleBtn.layer.cornerRadius=5;
  129. self.compleBtn.layer.masksToBounds=YES;
  130. _selectSexView=[[JXselectSexView alloc]init];
  131. _selectSexView.backgroundColor=[UIColor colorWithWhite:0.0 alpha:0.7];
  132. _selectSexView.frame=[UIScreen mainScreen].bounds;
  133. [[UIApplication sharedApplication].keyWindow addSubview:_selectSexView];
  134. _selectSexView.hidden=YES;
  135. __weak typeof(self) weakSelf=self;
  136. _selectSexView.selectBtnBlock = ^(UIButton *sender) {
  137. weakSelf.selectSexView.hidden=YES;
  138. weakSelf.sexInt=sender.tag;
  139. if (sender.tag == 0) {// 女
  140. _sexL.text = @"男";
  141. }else {// 男
  142. _sexL.text = @"女";
  143. }
  144. };
  145. self.nickName.text=self.user.userNickname;
  146. if ([_user.sex intValue] == 0) {// 女
  147. _sexL.text = @"女";
  148. }else {// 男
  149. _sexL.text = @"男";
  150. }
  151. //self.addrL.text=[NSString stringWithFormat:@"%@",self.user.cityId];
  152. //self.addrL.text=[NSString stringWithFormat:@"%@%@%@",_user,g_server.myself.provinceId,g_server.myself.cityId];
  153. NSString* city = [g_constant getAddressForNumber:_user.provinceId cityId:_user.cityId areaId:_user.areaId];
  154. _addrL.text = [NSString stringWithFormat:@"%@",city.length > 0 ? city : @"--"];
  155. [g_server getHeadImageLarge:self.user.userId userName:self.user.userNickname imageView:self.IconIMG];
  156. // http://47.57.16.13:8092/user/update?language=zh&access_token=b78dad1a039d4329b7f4bac634613fdf&salt=1591627301966&secret=l2qBmMzO557VWSh62nJiNA%3D%3D
  157. [self.compleBtn addTarget:self action:@selector(compleBtnClick) forControlEvents:UIControlEventTouchUpInside];
  158. [self.updateheadIMG addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onHeadImage)]];
  159. [self.sexView addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(sexViewView)]];
  160. [self.qQCodeView addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(qQCodeViewClick)]];
  161. [self.addressView addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(addressViewClick)]];
  162. [g_server getUser:self.userId toView:self];
  163. }
  164. /**地区选择*/
  165. - (void)addressViewClick{
  166. selectProvinceVC *vc = [[selectProvinceVC alloc] init];
  167. vc.delegate = self;
  168. vc.didSelect = @selector(onSelCity:);
  169. vc.showCity = YES;
  170. vc.showArea = NO;
  171. vc.parentId = 1;
  172. vc = [vc init];
  173. // [g_window addSubview:vc.view];
  174. [g_navigation pushViewController:vc animated:YES];
  175. }
  176. -(void)onSelCity:(selectProvinceVC*)sender{
  177. // resume.cityId = sender.cityId;
  178. // resume.provinceId = sender.provinceId;
  179. // resume.areaId = sender.areaId;
  180. // resume.countryId = 1;
  181. // _city.text = sender.selValue;
  182. _proViStr = sender.provinceId;
  183. _areaStr = sender.areaId;
  184. _cityStr =sender.cityId;
  185. _addrL.text= [NSString stringWithFormat:@"%@",sender.selValue];
  186. }
  187. - (void)didSelectTelArea:(NSDictionary *)areaCode{
  188. _addrL.text= [NSString stringWithFormat:@"%@",areaCode[@"prefix"]];
  189. }
  190. - (void)sexViewView{
  191. _selectSexView.hidden=NO;
  192. }
  193. /**完成 */
  194. - (void)compleBtnClick{
  195. JXUserObject *user=[[JXUserObject alloc]init];
  196. user.userNickname = _nickName.text;
  197. user.sex = [NSNumber numberWithBool:_sexInt];
  198. user.cityId= @(_cityStr);;
  199. user.provinceId= @(_proViStr);;
  200. user.areaId= @(_areaStr);;
  201. user.countryId=@(1);
  202. [g_server delHeadImage:self.user.userId];
  203. [g_server getHeadImageLarge:self.user.userId userName:self.user.userNickname imageView:_IconIMG];
  204. // 更新用户信息
  205. [user updateUserNickname];
  206. [g_server updateUser:user toView:self];
  207. }
  208. -(void) didServerResultSucces:(JXConnection*)aDownload dict:(NSDictionary*)dict array:(NSArray*)array1{
  209. if( [aDownload.action isEqualToString:act_UserGet] ){
  210. JXUserObject* user = [[JXUserObject alloc]init];
  211. [user getDataFromDict:dict];
  212. [user insertFriend];
  213. [user updateUserNickname];
  214. [user updateRemarkName];
  215. [user updateTelephone];
  216. [self setUserInfo:user];
  217. }if( [aDownload.action isEqualToString:act_UploadHeadImage] ){
  218. JXUserObject* user = [[JXUserObject alloc]init];
  219. _recordUrlIcon=dict[@"data"][@"TUrl"];
  220. }if( [aDownload.action isEqualToString:act_UserUpdate] ){
  221. [g_navigation dismissViewController:self animated:NO];
  222. }
  223. }
  224. - (void)newRequest:(NSNotification *)notif {
  225. [g_server getUser:self.user.userId toView:self];
  226. }
  227. - (void) setUserInfo:(JXUserObject *)user {
  228. if (self.user.content) {
  229. user.content = self.user.content;
  230. }
  231. [g_server delHeadImage:self.user.userId];
  232. [g_server getHeadImageLarge:self.user.userId userName:self.user.userNickname imageView:_IconIMG];
  233. // 更新用户信息
  234. [user updateUserNickname];
  235. }
  236. -(int) didServerResultFailed:(JXConnection*)aDownload dict:(NSDictionary*)dict{
  237. return show_error;
  238. }
  239. -(int) didServerConnectError:(JXConnection*)aDownload error:(NSError *)error{//error为空时,代表超时
  240. return show_error;
  241. }
  242. -(void) didServerConnectStart:(JXConnection*)aDownload{
  243. if( [aDownload.action isEqualToString:act_UserGet] ){
  244. return;
  245. }
  246. }
  247. - (void)qQCodeViewClick{
  248. JXQRCodeViewController * qrVC = [[JXQRCodeViewController alloc] init];
  249. qrVC.type = QRUserType;
  250. qrVC.userId = _user.userId;
  251. qrVC.account = _user.account;
  252. qrVC.nickName = _user.userNickname;
  253. qrVC.sex = _user.sex;
  254. // [g_window addSubview:qrVC.view];
  255. [g_navigation pushViewController:qrVC animated:YES];
  256. }
  257. -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
  258. [self.view endEditing:YES];
  259. }
  260. @end