"""兼容层模块 让自研代码既能独立运行,也能在 Dify 环境中运行。 自动检测环境并使用对应的数据库和 Redis 连接。 """ import os def _try_import_dify_db(): """尝试导入 Dify 的数据库扩展。""" try: from extensions.ext_database import db return db except ImportError: return None def _try_import_dify_redis(): """尝试导入 Dify 的 Redis 扩展。""" try: from extensions.ext_redis import redis_client return redis_client except ImportError: return None def _get_standalone_db(): """获取独立部署的数据库实例。""" from insurance.db.database import db return db def _get_standalone_redis(): """获取独立部署的 Redis 客户端。""" from insurance.db.redis import get_redis return get_redis() def is_standalone(): """判断是否为独立部署模式。""" return _try_import_dify_db() is None # 初始化时尝试导入 Dify 扩展 _dify_db = _try_import_dify_db() _dify_redis = _try_import_dify_redis() # 如果 Dify 扩展不可用,使用独立部署的实现 if _dify_db is None: db = _get_standalone_db() else: db = _dify_db if _dify_redis is None: redis_client = _get_standalone_redis() else: redis_client = _dify_redis