mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-31 13:33:28 +01:00 
			
		
		
		
	Fix parsing vivo app id from URL when using source override
This commit is contained in:
		| @@ -17,11 +17,7 @@ class VivoAppStore extends AppSource { | ||||
|  | ||||
|   @override | ||||
|   String sourceSpecificStandardizeURL(String url, {bool forSelection = false}) { | ||||
|     var vivoAppId = | ||||
|         Uri.parse(url.replaceAll('/#', '')).queryParameters['appId']; | ||||
|     if (vivoAppId == null) { | ||||
|       throw InvalidURLError(name); | ||||
|     } | ||||
|     var vivoAppId = parseVivoAppId(url); | ||||
|     return '$appDetailUrl$vivoAppId'; | ||||
|   } | ||||
|  | ||||
| @@ -76,20 +72,26 @@ class VivoAppStore extends AppSource { | ||||
|  | ||||
|   Future<Map<String, dynamic>> getDetailJson( | ||||
|       String standardUrl, Map<String, dynamic> additionalSettings) async { | ||||
|     var vivoAppId = Uri.parse(standardUrl).queryParameters['appId']; | ||||
|     var vivoAppId = parseVivoAppId(standardUrl); | ||||
|     var apiBaseUrl = 'https://h5-api.appstore.vivo.com.cn/detail/'; | ||||
|     var params = '?frompage=messageh5&app_version=2100'; | ||||
|  | ||||
|     var detailUrl = '$apiBaseUrl$vivoAppId$params'; | ||||
|     var response = await sourceRequest(detailUrl, additionalSettings); | ||||
|     if (response.statusCode != 200) { | ||||
|       throw getObtainiumHttpError(response); | ||||
|     } | ||||
|  | ||||
|     var json = jsonDecode(response.body); | ||||
|     if (json['id'] == null) { | ||||
|       throw NoReleasesError(); | ||||
|     } | ||||
|     return json; | ||||
|   } | ||||
|  | ||||
|   String parseVivoAppId(String url) { | ||||
|     var appId = Uri.parse(url.replaceAll('/#', '')).queryParameters['appId']; | ||||
|     if (appId == null) { | ||||
|       throw InvalidURLError(name); | ||||
|     } | ||||
|     return appId; | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user