__init__.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # -*- coding: utf-8 -*-
  2. """
  3. 平台发布模块
  4. 支持: 抖音、小红书、视频号、快手、百家号
  5. """
  6. from .base import BasePublisher
  7. from .douyin import DouyinPublisher
  8. from .xiaohongshu import XiaohongshuPublisher
  9. from .weixin import WeixinPublisher
  10. from .kuaishou import KuaishouPublisher
  11. from .baijiahao import BaijiahaoPublisher
  12. __all__ = [
  13. 'BasePublisher',
  14. 'DouyinPublisher',
  15. 'XiaohongshuPublisher',
  16. 'WeixinPublisher',
  17. 'KuaishouPublisher',
  18. 'BaijiahaoPublisher',
  19. ]
  20. # 平台映射
  21. PLATFORM_MAP = {
  22. 'douyin': DouyinPublisher,
  23. 'xiaohongshu': XiaohongshuPublisher,
  24. 'weixin': WeixinPublisher,
  25. 'weixin_video': WeixinPublisher, # 别名
  26. 'kuaishou': KuaishouPublisher,
  27. 'baijiahao': BaijiahaoPublisher,
  28. }
  29. def get_publisher(platform: str) -> type:
  30. """获取平台发布器类"""
  31. publisher_class = PLATFORM_MAP.get(platform.lower())
  32. if not publisher_class:
  33. raise ValueError(f"不支持的平台: {platform},支持的平台: {list(PLATFORM_MAP.keys())}")
  34. return publisher_class