Skip to content

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

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,改动范围相对可控。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions