RYBaseVM.m 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // RYBaseVM.m
  3. // Asteria
  4. //
  5. // Created by 王猛 on 2023/12/25.
  6. //
  7. #import "RYBaseVM.h"
  8. @implementation RYBaseVM
  9. + (instancetype)setupVMclass:(Class)VMclass {
  10. return [[VMclass alloc]init];
  11. }
  12. - (instancetype)initDelegate:(id<RY_baseVMprotocol>)delegte;
  13. {
  14. self = [super init];
  15. if (self) {
  16. _delegate = delegte;
  17. }
  18. return self;
  19. }
  20. -(void)ry_formDataRequestPostApi:(NSString *)mark param:(NSDictionary *)param{
  21. [ASNetTools.shared formData_postWithPath:mark param:param success:^(id _Nonnull json) {
  22. NSLog(@"mark--%@--param-%@\n-json--%@",mark,param,json);
  23. [self ry_respnsSucessWithPath:mark data:json];
  24. } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) {
  25. NSLog(@"mark--%@--param-%@\n-Error--%@",mark,param,msg);
  26. [self ry_reponsFaildWithPath:mark code:code msg:msg];
  27. }];
  28. }
  29. -(void)ry_requestPostApi:(NSString *)mark param:(NSDictionary *)param{
  30. [ASNetTools.shared postWithPath:mark param:param success:^(id _Nonnull json) {
  31. NSLog(@"mark--%@--param-%@\n-json--%@",mark,param,json);
  32. [self ry_respnsSucessWithPath:mark data:json];
  33. } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) {
  34. NSLog(@"mark--%@--param-%@\n-Error--%@",mark,param,msg);
  35. [self ry_reponsFaildWithPath:mark code:code msg:msg];
  36. }];
  37. }
  38. -(void)ry_requestGetApi:(NSString *)mark param:(NSDictionary *)param{
  39. [ASNetTools.shared getWithPath:mark param:param success:^(id _Nonnull json) {
  40. NSLog(@"mark--%@--param-%@\n-json--%@",mark,param,json);
  41. [self ry_respnsSucessWithPath:mark data:json];
  42. } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) {
  43. NSLog(@"mark--%@--param-%@\n-Error--%@",mark,param,msg);
  44. [self ry_reponsFaildWithPath:mark code:code msg:msg];
  45. }];
  46. }
  47. //重写的方法 解析之后再传给 VC
  48. -(void)ry_respnsSucessWithPath:(NSString *)path data:(id)data{
  49. [self ry_VMconfigDelegateData:data parseAry:[NSMutableArray arrayWithArray:@[data]] success:YES mark:path];
  50. }
  51. -(void)ry_reponsFaildWithPath:(NSString *)path code:(NSString *)code msg:(NSString *)msg{
  52. [self ry_VMconfigDelegateData:msg parseAry:[NSMutableArray arrayWithArray:@[msg]] success:NO mark:path];
  53. }
  54. #pragma mark - **************** VM调用绑定 Delgate ****************
  55. - (void)ry_VMconfigDelegateData:(id)data
  56. parseAry:(NSMutableArray *)ary
  57. success:(BOOL)success
  58. mark:(NSString *)mark{
  59. if([self.delegate respondsToSelector:@selector(ry_respnsData:parseAry:sucess:mark:)]){
  60. [self.delegate ry_respnsData:data parseAry:ary sucess:success mark:mark];
  61. }
  62. }
  63. @end