@@ -141,58 +141,67 @@ - (void)downloadFileFromData:(NSDictionary *)data {
141141 }];
142142
143143 NSArray *jsonList = [data objectForKey: @" jsonList" ];
144- dispatch_group_enter (batch_api_group);
145- [[VPLuaLoader sharedLoader ] checkAndDownloadFilesList: jsonList resumePath: self .resumeDataPath complete: ^(NSError * _Nonnull error, VPUPTrafficStatisticsList *trafficList) {
146-
147- if (trafficList) {
148- [VPUPTrafficStatistics sendTrafficeStatistics: trafficList type: VPUPTrafficTypeRealTime];
149- }
150-
151- if (error) {
152- [weakSelf callbackComplete: weakSelf.complete withError: error];
153- }
154- else {
155- NSMutableArray *dataArray = [NSMutableArray arrayWithCapacity: 0 ];
156- for (NSDictionary *fileDict in jsonList) {
157- NSString *url = [fileDict objectForKey: @" url" ];
158- NSString *filename = [url lastPathComponent ];
159- NSString *path = [NSString stringWithFormat: @" %@ /%@ " , self .resumeDataPath, filename];
160- if ([[NSFileManager defaultManager ] fileExistsAtPath: path]) {
161- LVZipArchive *archive = [LVZipArchive archiveWithData: [NSData dataWithContentsOfFile: path]];
162-
163- if (![archive unzipToDirectory: self .resumeDataPath]) {
164- NSError *error = [NSError errorWithDomain: VPLuaErrorDomain code: -4203 userInfo: @{NSLocalizedDescriptionKey :[NSString stringWithFormat: @" unzip file error" ]}];
165- [weakSelf callbackComplete: weakSelf.complete withError: error];
166- return ;
144+ if (jsonList && jsonList.count > 0 ) {
145+ dispatch_group_enter (batch_api_group);
146+ [[VPLuaLoader sharedLoader ] checkAndDownloadFilesList: jsonList resumePath: self .resumeDataPath complete: ^(NSError * _Nonnull error, VPUPTrafficStatisticsList *trafficList) {
147+
148+ if (trafficList) {
149+ [VPUPTrafficStatistics sendTrafficeStatistics: trafficList type: VPUPTrafficTypeRealTime];
150+ }
151+
152+ if (error) {
153+ [weakSelf callbackComplete: weakSelf.complete withError: error];
154+ weakSelf.jsonFileError = error;
155+ }
156+ else {
157+ NSMutableArray *dataArray = [NSMutableArray arrayWithCapacity: 0 ];
158+ for (NSDictionary *fileDict in jsonList) {
159+ NSString *url = [fileDict objectForKey: @" url" ];
160+ NSString *filename = [url lastPathComponent ];
161+ NSString *path = [NSString stringWithFormat: @" %@ /%@ " , self .resumeDataPath, filename];
162+ if ([[NSFileManager defaultManager ] fileExistsAtPath: path]) {
163+ LVZipArchive *archive = [LVZipArchive archiveWithData: [NSData dataWithContentsOfFile: path]];
164+
165+ if (![archive unzipToDirectory: self .resumeDataPath]) {
166+ NSError *error = [NSError errorWithDomain: VPLuaErrorDomain code: -4203 userInfo: @{NSLocalizedDescriptionKey :[NSString stringWithFormat: @" unzip file error" ]}];
167+ [weakSelf callbackComplete: weakSelf.complete withError: error];
168+ self.jsonFileError = error;
169+ dispatch_group_leave (batch_api_group);
170+ return ;
171+ }
167172 }
168173 }
169- }
170- NSArray * array = [[ NSFileManager defaultManager ] contentsOfDirectoryAtPath: self .resumeDataPath error: nil ];
171- for ( NSString * filename in array ) {
172- if (![[filename lastPathComponent ] containsString: @" .zip " ]) {
173- NSData *fileData = [[ NSData alloc ] initWithContentsOfFile: [ self .resumeDataPath stringByAppendingPathComponent: filename]];
174- if ( fileData) {
175- NSDictionary * dataDict = [ NSJSONSerialization JSONObjectWithData: fileData options: NSJSONReadingMutableContainers error: nil ];
176- if (dataDict && dataDict. count > 0 ) {
177- [dataArray addObject: dataDict];
174+ NSArray * array = [[ NSFileManager defaultManager ] contentsOfDirectoryAtPath: self .resumeDataPath error: nil ];
175+ for ( NSString *filename in array) {
176+ if (![[ filename lastPathComponent ] containsString: @" .zip " ] ) {
177+ NSData *fileData = [[ NSData alloc ] initWithContentsOfFile: [ self .resumeDataPath stringByAppendingPathComponent: filename]];
178+ if (fileData) {
179+ NSDictionary *dataDict = [ NSJSONSerialization JSONObjectWithData: fileData options: NSJSONReadingMutableContainers error: nil ];
180+ if ( dataDict && dataDict. count > 0 ) {
181+ [dataArray addObject: dataDict];
182+ }
178183 }
179184 }
180185 }
186+ if (dataArray.count > 0 ) {
187+ weakSelf.videoModeData = @{@" data" : dataArray};
188+ }
189+ else {
190+ weakSelf.videoModeData = nil ;
191+ error = [NSError errorWithDomain: VPLuaErrorDomain code: -4204 userInfo: @{NSLocalizedDescriptionKey :[NSString stringWithFormat: @" local get data error" ]}];
192+ [weakSelf callbackComplete: weakSelf.complete withError: error];
193+ weakSelf.jsonFileError = error;
194+ }
181195 }
182- if (dataArray.count > 0 ) {
183- weakSelf.videoModeData = @{@" data" : dataArray};
184- }
185- else {
186- weakSelf.videoModeData = nil ;
187- error = [NSError errorWithDomain: VPLuaErrorDomain code: -4204 userInfo: @{NSLocalizedDescriptionKey :[NSString stringWithFormat: @" local get data error" ]}];
188- [weakSelf callbackComplete: weakSelf.complete withError: error];
189- }
190- }
191- dispatch_group_leave (batch_api_group);
192- }];
196+ dispatch_group_leave (batch_api_group);
197+ }];
198+ }
199+ else {
200+ self.jsonFileError = nil ;
201+ }
193202
194203 dispatch_group_notify (batch_api_group, dispatch_get_main_queue (), ^{
195- if (!weakSelf.luaFileError && !weakSelf.jsonFileError && weakSelf. videoModeData ) {
204+ if (!weakSelf.luaFileError && !weakSelf.jsonFileError ) {
196205
197206 [weakSelf runLuaWithData: weakSelf.videoModeData];
198207 }
@@ -249,10 +258,12 @@ - (void)runLuaWithData:(NSDictionary *)data {
249258 [dict addEntriesFromDictionary: self .configData];
250259 [dict addEntriesFromDictionary: data];
251260 [dict setObject: self .serviceId forKey: @" id" ];
252- NSURL *url = [NSURL URLWithString: [NSString stringWithFormat: @" %@ ://defaultLuaView?template=%@ &id=%@ " ,VPUPRoutesSDKLuaView, [dict objectForKey: @" template" ], [dict objectForKey: @" id" ]]];
253- [VPUPRoutes routeURL: url withParameters: data completion: ^(id _Nonnull result) {
254-
255- }];
261+ if ([data objectForKey: @" data" ]) {
262+ NSURL *url = [NSURL URLWithString: [NSString stringWithFormat: @" %@ ://defaultLuaView?template=%@ &id=%@ " ,VPUPRoutesSDKLuaView, [dict objectForKey: @" template" ], [dict objectForKey: @" id" ]]];
263+ [VPUPRoutes routeURL: url withParameters: data completion: ^(id _Nonnull result) {
264+
265+ }];
266+ }
256267
257268 NSURL *desktopUrl = [NSURL URLWithString: [NSString stringWithFormat: @" %@ ://desktopLuaView?template=%@ &id=%@ " ,VPUPRoutesSDKLuaView, [dict objectForKey: @" desktopTemplate" ], [dict objectForKey: @" id" ]]];
258269 [VPUPRoutes routeURL: desktopUrl withParameters: data completion: ^(id _Nonnull result) {
0 commit comments