// // NYFailSpecialExerciseDetailsViewModel.m // jiaPei // // Created by Ning.ge on 2024/12/12. // Copyright © 2024 JCZ. All rights reserved. // #import "NYFailSpecialExerciseDetailsViewModel.h" @interface NYFailSpecialExerciseDetailsViewModel () @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType; @property (nonatomic, readwrite, strong) NSDictionary *dataDicts; @property (nonatomic, readwrite, strong) NSDictionary *titleDict; @end @implementation NYFailSpecialExerciseDetailsViewModel #pragma mark - Public Method - (instancetype)initWithServices:(id)services params:(NSDictionary *)params { if (self = [super initWithServices:services params:params]) { self.homePageSubjectType = [params[RQHomePageSubjectTypeKey] integerValue]; self.title = params[RQHomePageSpTitleKey]; } return self; } - (void)initialize { [super initialize]; [self loadPointData]; [self rq_configureData]; } #pragma mark - ConfigureData - (void)rq_configureData { /// 数据源 RAC(self, dataSource) = [RACSignal combineLatest:@[RACObserve(RQ_USER_MANAGER, isCykh)] reduce:^(NSNumber *isCykh) { NYFailSpecialExerciseGroupViewModel *group0 = [NYFailSpecialExerciseGroupViewModel groupViewModel]; group0.headerHeight = RQ_FIT_HORIZONTAL(130); NYFailSpecialExerciseItemModel *itemModel_0 = [[NYFailSpecialExerciseItemModel alloc] initWithTitle:@"扣分" icon:@"扣分"]; NYFailSpecialExerciseItemModel *itemModel_1 = [[NYFailSpecialExerciseItemModel alloc] initWithTitle:@"驾驶证" icon:@"驾驶证"]; NYFailSpecialExerciseItemModel *itemModel_2 = [[NYFailSpecialExerciseItemModel alloc] initWithTitle:@"罚款" icon:@"罚款"]; NYFailSpecialExerciseItemModel *itemModel_3 = [[NYFailSpecialExerciseItemModel alloc] initWithTitle:@"判刑扣留" icon:@"判刑扣留"]; group0.itemViewModels = @[itemModel_0,itemModel_1,itemModel_2,itemModel_3 ]; RQCommonGroupViewModel *group2 = [RQCommonGroupViewModel groupViewModel]; RQTimeADItemViewModel *timeADItemViewModel = [[RQTimeADItemViewModel alloc] init]; group2.itemViewModels = @[timeADItemViewModel]; return @[group0,group2]; }]; } // 加载 JSON 文件并解析 - (void)loadPointData { // 获取资源文件路径 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"pointData" ofType:@"json"]; if (filePath) { // 读取文件数据 NSData *data = [NSData dataWithContentsOfFile:filePath]; if (data) { NSError *error = nil; // 使用 JSONSerialization 解析 JSON 数据 self.dataDicts = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; NSLog(@"%@",self.dataDicts.allKeys); if (error) { NSLog(@"JSON解析错误: %@", error.localizedDescription); } } else { NSLog(@"文件读取失败"); } } else { NSLog(@"文件路径未找到"); } } - (NSDictionary *)titleDict{ if(!_titleDict){ _titleDict = @{@"扣分":@"koufen", @"驾驶证":@"jiashizheng", @"罚款":@"fakuan", @"判刑扣留":@"juliu", @"安全常识":@"anquanchangshi", @"交警手势":@"shoushi", @"周期":@"zhouqi", @"特殊天气":@"tianqi", @"速度灯光":@"dengguang", @"通行原则":@"tongxing"}; } return _titleDict; } @end