mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import Optional
 | |
| 
 | |
| from configs import dify_config
 | |
| from services.recommend_app.recommend_app_factory import RecommendAppRetrievalFactory
 | |
| 
 | |
| 
 | |
| class RecommendedAppService:
 | |
|     @classmethod
 | |
|     def get_recommended_apps_and_categories(cls, language: str) -> dict:
 | |
|         """
 | |
|         Get recommended apps and categories.
 | |
|         :param language: language
 | |
|         :return:
 | |
|         """
 | |
|         mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE
 | |
|         retrieval_instance = RecommendAppRetrievalFactory.get_recommend_app_factory(mode)()
 | |
|         result = retrieval_instance.get_recommended_apps_and_categories(language)
 | |
|         if not result.get("recommended_apps") and language != "en-US":
 | |
|             result = (
 | |
|                 RecommendAppRetrievalFactory.get_buildin_recommend_app_retrieval().fetch_recommended_apps_from_builtin(
 | |
|                     "en-US"
 | |
|                 )
 | |
|             )
 | |
| 
 | |
|         return result
 | |
| 
 | |
|     @classmethod
 | |
|     def get_recommend_app_detail(cls, app_id: str) -> Optional[dict]:
 | |
|         """
 | |
|         Get recommend app detail.
 | |
|         :param app_id: app id
 | |
|         :return:
 | |
|         """
 | |
|         mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE
 | |
|         retrieval_instance = RecommendAppRetrievalFactory.get_recommend_app_factory(mode)()
 | |
|         result = retrieval_instance.get_recommend_app_detail(app_id)
 | |
|         return result
 | 
