YMCancellationAccountViewModel.m 4.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //
  2. // YMCancellationAccountViewModel.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/3/17.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMCancellationAccountViewModel.h"
  9. @interface YMCancellationAccountViewModel ()
  10. /// 注销账号提示
  11. @property (nonatomic, strong, readwrite) NSAttributedString *cancellationAccountTips;
  12. /// 注销按钮有效性
  13. @property (nonatomic, strong, readwrite) RACSignal *validCancellationSignal;
  14. @end
  15. @implementation YMCancellationAccountViewModel
  16. - (void)ym_initialize{
  17. [super ym_initialize];
  18. self.customNavTitle = @"注销账号";
  19. /// 注销按钮有效性
  20. self.validCancellationSignal = [[[RACSignal combineLatest:@[
  21. RACObserve(self, isAgree),
  22. ] reduce:^(NSNumber *isAgree) {
  23. //是否不为空
  24. return @([isAgree boolValue] ? YES : NO);
  25. }] distinctUntilChanged] takeUntil:self.rac_willDeallocSignal];
  26. NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
  27. NSString *cancellationAccountTipsStr = stringFormat(@"提交注销申请后,系统将注销%@账号并清除所有相关数据。注销%@账号是不可恢复的操作,你应自行备份相关的信息和数据,操作之前,请确认与%@账号相关的所有服务均已妥善处理。请递记:注销%@账号,你将无法再使用%@账号或找回你添加或绑定的任何内容或信息(即使你使用相同的手机号码再次注册并使用%@),包括但不限于:\n1. 你将无法登录、使用本%@账号,你的朋友(包括喜欢、好友等) 将无法通过本%@账号联系你;\n2. 你%@账号中的个人资料和历史信息(包括但不限手昵称、头像、财富值、收藏等)都将被永久全部清除,无法找回;\n3. 你%@账号绑定的手机号、第三方账号、实名信息都将被解绑,解绑后可重新注册新账号;\n4. 靓号将会被系统收回,并对平台其他用户开放申请;\n5 注销账号前,务必确认所有在%@内的收益已经提现,(相关无法提现的虛拟物品,你可以进行消费后再注销,或者直接舍奔),账号注销后,账户内的金币,购买的会员权益视为自动放弃。\n6. 请注意,注销你的%@账号并不代表本%@账号注销前的账号行为和相关责任得到豁免或减轻。\n7、用户自申请注销操作日起,给予7天的注销冷静期,期问可正常登录恢复使用,如申请注销后7天内未登录,则完成注销,所有数据不可恢复。",appName,appName,appName,appName,appName,appName,appName,appName,appName,appName,appName,appName,appName);
  28. NSMutableAttributedString *cancellationAccountTipsAttributed = [[NSMutableAttributedString alloc]initWithString:cancellationAccountTipsStr];
  29. cancellationAccountTipsAttributed.yy_font = LCFont(15);
  30. cancellationAccountTipsAttributed.yy_color = HexColorFromRGB(0x333333);
  31. cancellationAccountTipsAttributed.yy_alignment = NSTextAlignmentJustified;
  32. cancellationAccountTipsAttributed.yy_lineSpacing = 5;
  33. self.cancellationAccountTips = cancellationAccountTipsAttributed;
  34. }
  35. - (void)submitCancellationAccountInfoData{
  36. YMTipsPopupView *customView = [[YMTipsPopupView alloc]init];
  37. [customView configutationWithTips:@"您确定要注销账号吗?" TipsAlignment:NSTextAlignmentCenter IsHideTitle:NO IsHideSingleButton:YES];
  38. YMPopupView *popupView = [YMPopupView initWithCustomView:customView parentView:nil popStyle:YMPopupStyleFade dismissStyle:YMDismissStyleFade];
  39. popupView.priority = 999;
  40. popupView.cornerRadius = adapt(10);
  41. popupView.rectCorners = UIRectCornerAllCorners;
  42. popupView.positionStyle = YMPositionStyleCenter;
  43. popupView.isHideBg = NO;
  44. popupView.bgAlpha = 0.3;
  45. [popupView pop];
  46. @weakify(popupView)
  47. customView.buttonBlock = ^(BOOL isConfirm) {
  48. @strongify(popupView)
  49. if (isConfirm) {
  50. @weakify(self)
  51. [LCHttpHelper requestWithURLString:SubmitCancellationAccount parameters:@{
  52. @"user_id":[LCSaveModel getUserModel].youpaipuserinfo.youpaipuser_id
  53. } needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
  54. @strongify(self)
  55. NSDictionary* dict = (NSDictionary*)responseObject;
  56. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  57. if (code == 0) {
  58. [ZCHUDHelper showTitle:@"请耐心等待~" showtime:1.5];
  59. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  60. [LCTools changeRootToLogin];
  61. });
  62. }
  63. } failure:^(NSError *error) {
  64. [ZCHUDHelper showTitle:error.localizedDescription];
  65. }];
  66. }
  67. [popupView dismissWithStyle:YMDismissStyleFade duration:2.0];
  68. };
  69. }
  70. @end