Skip to content

[提议] 将微信小店(weixin-java-channel)拆分为独立模块 weixin-java-store #4004

@binarywang

Description

@binarywang

背景

当前微信小店的实现(视频号小店)在 WxJava 中以 weixin-java-channel 模块存在,与视频号直播、联盟分销等功能耦合在一起。

问题

  1. 模块语义混淆channel 模块既包含视频号直播数据(WxChannelLiveDashboardServiceWxFinderLiveService)、联盟/分销功能(League 系列),又包含微信小店的商品/订单/售后等功能
  2. 功能耦合:微信小店的商品管理(Product)、售后管理(AfterSale)、资金管理(Fund)、店铺主页(HomePage)与视频号能力混在同一模块
  3. 命名不直观:对只想使用微信小店的开发者来说,weixin-java-channel 这个名字无法直观反映模块功能
  4. 依赖臃肿:若只需微信小店能力,当前必须引入整个 channel 模块及其所有传递依赖

建议

weixin-java-channel 拆分为两个独立模块:

方案 A:按能力拆分

新模块 包含内容
weixin-java-store 微信小店(商品/订单/售后/资金/品牌/类目/优惠券/店铺管理)
weixin-java-channel(保留) 视频号(直播数据/联盟/分销/引流组件/Compass数据分析)

方案 B:微信小店独立,直播归并

新模块 包含内容
weixin-java-store 微信小店全栈(商品/订单/售后/资金/主页/品牌/类目/优惠券/仓库/物流)
weixin-java-live 视频号直播数据 + FinderLive + Compass + 联盟/分销

优点

  1. 语义清晰:模块名直接反映功能,开发者快速定位所需能力
  2. 按需引入:只需微信小店的场景可单独依赖 weixin-java-store,减少依赖体积
  3. 职责单一:各模块边界清晰,利于维护和扩展
  4. 利于社区贡献:独立模块降低贡献者门槛

影响范围

需要重构的主要内容(预计):

  • weixin-java-channel/src/main/java/me/chanjar/weixin/channel/ 下的代码按上述方案重分布
  • Maven pom.xml 增加 weixin-java-store 模块
  • 现有 WxChannelService 等跨能力聚合接口需要拆分或重构

相关模块

当前 weixin-java-channel 下应拆分的 Service:

  • 微信小店:WxChannelProductService、WxChannelOrderService、WxChannelAfterSaleService、WxChannelFundService、WxChannelBrandService、WxChannelCategoryService、WxChannelCouponService、WxChannelBasicService、WxStoreHomePageService、WxChannelAddressService、WxChannelWarehouseService、WxChannelFreightTemplateService、WxChannelSharerService、WxChannelVipService、WxStoreCooperationService
  • 视频号:WxChannelLiveDashboardService、WxFinderLiveService、WxLeagueService、WxChannelCompassService、WxLeadComponentService

建议优先考虑 方案 A,改动范围相对可控。

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions