RQUserInfoViewModel.m 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // RQUserInfoViewModel.m
  3. // SDJK
  4. //
  5. // Created by 张嵘 on 2021/8/3.
  6. //
  7. #import "RQUserInfoViewModel.h"
  8. @interface RQUserInfoViewModel ()
  9. @end
  10. @implementation RQUserInfoViewModel
  11. - (instancetype)initWithServices:(id<RQViewModelServices>)services params:(NSDictionary *)params{
  12. if (self = [super initWithServices:services params:params]) {
  13. }
  14. return self;
  15. }
  16. - (void)initialize{
  17. [super initialize];
  18. self.title = @"个人信息";
  19. ///配置数据
  20. [self rq_configureData];
  21. }
  22. #pragma mark - PrivateMethod
  23. - (void)rq_configureData {
  24. // @weakify(self);
  25. /// 第一组
  26. RQCommonGroupViewModel *group0 = [RQCommonGroupViewModel groupViewModel];
  27. group0.headerHeight = CGFLOAT_MIN;
  28. group0.footerHeight = 10;
  29. /// 头像
  30. RQCommonAvatarItemViewModel *avatar = [RQCommonAvatarItemViewModel itemViewModelWithTitle:@"头像"];
  31. RAC(avatar, avatar) = RACObserve(RQ_USER_MANAGER, headImage);
  32. avatar.rowHeight = RQ_FIT_HORIZONTAL(64.0f);
  33. /// 用户名
  34. RQCommonArrowItemViewModel *nickname = [RQCommonArrowItemViewModel itemViewModelWithTitle:@"用户名"];
  35. nickname.rowHeight = RQ_FIT_HORIZONTAL(54.0f);
  36. RAC(nickname, subtitle) = RACObserve(RQ_USER_MANAGER, nickName);
  37. // @weakify(nickname);
  38. // nickname.operation = ^{
  39. // @strongify(self);
  40. // @strongify(nickname);
  41. // NSString *value = RQStringIsNotEmpty(self.user.screenName)?self.user.screenName:@"";
  42. // RQModifyNicknameViewModel *viewModel = [[RQModifyNicknameViewModel alloc] initWithServices:self.services params:@{RQViewModelUtilKey:value}];
  43. // [self.services presentViewModel:viewModel animated:YES completion:NULL];
  44. //
  45. // /// 设置block
  46. // @weakify(self);
  47. // @weakify(nickname);
  48. // viewModel.callback = ^(NSString *screenName) {
  49. // @strongify(self);
  50. // @strongify(nickname);
  51. // self.user.screenName = screenName;
  52. // [[self.services client] saveUser:self.user];
  53. // nickname.subtitle = screenName;
  54. //
  55. // // “手动触发self.dataSource的KVO”,必写。
  56. // [self willChangeValueForKey:@"dataSource"];
  57. // // “手动触发self.now的KVO”,必写。
  58. // [self didChangeValueForKey:@"dataSource"];
  59. // };
  60. // };
  61. group0.itemViewModels = @[avatar, nickname];
  62. /// 第二组
  63. RQCommonGroupViewModel *group1 = [RQCommonGroupViewModel groupViewModel];
  64. group1.headerHeight = CGFLOAT_MIN;
  65. RQProfileLogouItemViewModel *profileLogouItemViewModel = [[RQProfileLogouItemViewModel alloc] initWithTitle:@"注销账号"];
  66. group1.itemViewModels = @[profileLogouItemViewModel];
  67. group1.footerHeight = group1.itemViewModels.count > 0? 10 : CGFLOAT_MIN;
  68. self.dataSource = @[group0 , group1];
  69. }
  70. @end