RYBaseVM.m 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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_requestPostApi:(NSString *)mark param:(NSDictionary *)param{
  21. [ASNetTools.shared 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. [self ry_reponsFaildWithPath:mark code:code msg:msg];
  26. }];
  27. }
  28. -(void)ry_requestGetApi:(NSString *)mark param:(NSDictionary *)param{
  29. [ASNetTools.shared getWithPath:mark param:param success:^(id _Nonnull json) {
  30. NSLog(@"mark--%@--param-%@\n-json--%@",mark,param,json);
  31. [self ry_respnsSucessWithPath:mark data:json];
  32. } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) {
  33. [self ry_reponsFaildWithPath:mark code:code msg:msg];
  34. }];
  35. }
  36. //重写的方法 解析之后再传给 VC
  37. -(void)ry_respnsSucessWithPath:(NSString *)path data:(id)data{
  38. [self ry_VMconfigDelegateData:data parseAry:[NSMutableArray arrayWithArray:@[data]] success:YES mark:path];
  39. }
  40. -(void)ry_reponsFaildWithPath:(NSString *)path code:(NSString *)code msg:(NSString *)msg{
  41. [self ry_VMconfigDelegateData:msg parseAry:[NSMutableArray arrayWithArray:@[msg]] success:NO mark:path];
  42. }
  43. #pragma mark - **************** VM调用绑定 Delgate ****************
  44. - (void)ry_VMconfigDelegateData:(id)data
  45. parseAry:(NSMutableArray *)ary
  46. success:(BOOL)success
  47. mark:(NSString *)mark{
  48. if([self.delegate respondsToSelector:@selector(ry_respnsData:parseAry:sucess:mark:)]){
  49. [self.delegate ry_respnsData:data parseAry:ary sucess:success mark:mark];
  50. }
  51. }
  52. @end