专注小程序 / APP 开发,用代码改变生活

获取方案
全国分站 主站首页 北京分站 石家庄分站 唐山分站 保定分站 廊坊分站 沧州分站 郑州分站

多商户商城小程序开发功能详解

小程序开发 2026-10-12 2 阅读 0 点赞 原创

做了三年多商户商城小程序,踩过的坑比写过的代码还多。今天把功能架构和实现要点一次讲清楚,希望能帮到正在规划这类项目的朋友。

一、多商户商城和单商户的本质区别

单商户商城只有一个卖家,商品、订单、库存都是自己的。多商户商城则是一个平台,里面住着几十上百个商家,每个商家有自己的商品、订单、结算体系。核心区别在于数据隔离和分账逻辑。

  • 数据隔离:每个商户只能看到自己的商品、订单、客户数据
  • 分账逻辑:平台抽成后,剩余货款结算给商户
  • 权限体系:平台管理员、商户管理员、普通用户三层角色

二、核心功能模块拆解

1. 商户入驻与审核

商户通过小程序提交入驻申请,填写店铺名称、联系人、营业执照、经营类目等信息。平台管理员在后台审核,通过后自动创建商户账号和店铺。

// 商户入驻申请提交
wx.request({
  url: 'https://api.example.com/merchant/apply',
  method: 'POST',
  data: {
    shopName: '张三水果店',
    contact: '13800138000',
    license: 'uploaded_file_id',
    category: 'fresh_food'
  },
  success(res) {
    if (res.data.code === 0) {
      wx.showToast({ title: '提交成功,等待审核' })
    }
  }
})

2. 商品管理

商户端需要支持商品发布、编辑、上下架、库存管理。这里要注意的是,商品表必须带 merchant_id 字段,所有查询都要带上这个条件,否则数据就串了。

  • 商品分类:平台统一分类 + 商户自定义分类
  • 规格管理:支持多规格 SKU,价格和库存独立
  • 图片存储:建议用云存储,避免服务器带宽压力

3. 订单与分账

这是整个系统最复杂的部分。用户下单后,订单需要按商户拆分成子订单,每个子订单独立发货、独立结算。

// 订单拆分逻辑示意
const orderItems = cartItems.reduce((acc, item) => {
  if (!acc[item.merchantId]) acc[item.merchantId] = []
  acc[item.merchantId].push(item)
  return acc
}, {})

// 为每个商户生成子订单
Object.keys(orderItems).forEach(merchantId => {
  createSubOrder({
    merchantId,
    items: orderItems[merchantId],
    totalAmount: calcTotal(orderItems[merchantId])
  })
})

分账方面,微信支付的服务商模式支持直接分账,但需要商户号资质。如果资质不够,可以先走平台代收,再手动或定时结算给商户。

4. 营销工具

多商户商城的营销要区分平台级和商户级:

  • 平台级:全场满减、平台优惠券、积分商城
  • 商户级:店铺优惠券、限时折扣、满件包邮
  • 注意优惠叠加规则,避免出现负价订单

5. 结算与提现

商户在后台查看待结算金额,发起提现申请。平台审核后打款。这里建议做一个结算周期,比如 T+7,避免退款纠纷。

三、技术架构建议

后端建议用 Node.js 或 Java,数据库用 MySQL 分表存储订单。小程序端用原生或 uni-app 都可以,关键是接口设计要清晰。

踩坑提醒:多商户系统的权限校验一定要做在服务端,前端隐藏菜单只是体验优化,不能当安全措施。

四、开发顺序建议

  1. 先做商户入驻和审核流程
  2. 再做商品管理和展示
  3. 接着做订单和支付
  4. 最后做分账和结算

多商户商城小程序开发周期一般在 2-3 个月,功能复杂度高,建议先跑通核心流程再迭代营销功能。

私房菜预约小程序:从0到1开发全流程拼团小程序开发实战:从零搭建到上线

评论 (0)

还没有评论,快来抢沙发吧~

好想法,值得被认真交付

从小程序、APP 到全栈网站,一站式把想法变成可落地的产品

微信咨询

微信扫码,直接沟通需求