Skip to content

分站:完整生命周期 ​

什么是分站 ​

分站让别人在你的平台上“开一家自己的店”:

  • 分销商有自己的域名(例如 sakura.example.com)、店名、Logo、公告和客服联系方式;
  • 分站卖的是你的商品,库存、发货、收款都由你的主站完成;
  • 分销商自己定加价,买家在分站付的钱里,超出你的基础价的部分就是分销商的利润;
  • 利润过了结算确认期后,分销商可以申请提现,你线下打款。

分站不需要单独部署:所有分站和主站共用同一个后端、同一套网页,后端根据访问的域名判断是哪个分站。

text
买家 ─► sakura.example.com ─┐
买家 ─► neon.example.com  ──┼─► 同一个斑马小铺后端 ─► 同一个数据库
买家 ─► shop.example.com  ──┘      (按域名区分主站 / 分站)

整体流程 ​

text
用户申请 ─► 站长审核(设默认/最高加价)─► 分配子域名 ─► 分销商配置分站和商品加价
    ─► 买家在分站下单付款 ─► 记录利润快照 ─► 确认期后利润可用 ─► 分销商申请提现 ─► 站长打款

开启分销功能 ​

在 config.yml 中设置(改完重启后端):

yaml
reseller:
  enabled: true
  main_hosts: [shop.example.com, localhost, 127.0.0.1, "::1"]   # 主站域名,一定要加上你的主域名
  subdomain_base: example.com                                     # 分站子域名的基础域名
  self_apply_enabled: true                                        # 允许用户自助申请
  settlement_confirm_days: 7                                      # 利润结算确认天数

然后:

  1. DNS:添加泛解析 *.example.com → 服务器 IP,或者给每个分站单独加 A 记录;
  2. Web 服务器:让这些子域名也指向同一套配置。Caddy 在站点地址里追加即可 (shop.example.com, sakura.example.com, neon.example.com { … }),Nginx 在 server_name 里追加。 每个分站都需要证书:Caddy 会逐个自动申请;泛域名证书需要 DNS 验证;
  3. 用 main_hosts 以外、又没有登记给分销商的域名访问时,后端会拒绝,这是正常的保护。

Host 头

分站依赖 HTTP Host 头识别,反向代理必须原样转发 Host(各部署页面的配置已经包含)。 只有反向代理会改写 Host 时,才需要打开 reseller.trusted_forwarded_host。

1. 用户申请 ​

用户在主站登录 → 个人中心 → 分销 → 进入分销控制台(/reseller)→ 申请,填写申请理由。

分销控制台只能在主站打开,分站上不显示“成为分销商”入口。

分销商申请分销商申请

2. 站长审核 ​

后台 分销商管理 → 分销商审核 → 通过,设置:

  • 默认加价:分销商没有给某个商品单独设置时使用,例如 10%;
  • 最高加价:分销商的加价不能超过它,例如 50%。

也可以 驳回(写原因)。见 分销商管理。

3. 分配域名 ​

  • 系统子域名:后台分销商详情 → 填写子域名 sakura,分站地址就是 sakura.example.com;
  • 自定义域名:分销商在控制台 域名 页提交自己的域名(例如 shop.sakura.com),按页面上的验证说明设置 DNS, 站长在后台 分销域名 审核通过,并可以设为主域名。自定义域名同样需要在 Web 服务器里配置并申请证书。

分销控制台域名分销控制台域名

4. 配置分站 ​

分销控制台 → 站点:

字段说明
站点名称、Logo、Favicon分站自己的品牌
公告开关、类型、标题和内容(三语,富文本)
客服Telegram、WhatsApp、邮箱、客服链接
SEO标题、关键字、描述、分享图
页脚链接、导航开关

主题颜色跟随主站(与原版 dujiao-next 一致)。分站上不显示优惠券输入框。

分站配置分站配置

5. 设置商品加价 ​

分销控制台 → 商品:对每个商品(或每个规格)选择是否上架,以及定价方式。计算规则和例子见 加价与利润计算。

分销商品加价分销商品加价

6. 买家在分站下单 ​

买家打开 sakura.example.com,看到的是分销商的店名和加价后的价格。下单、付款、发货都和主站一样。 订单记在主站,买家在主站和分站都能查到自己的订单。

分站前台分站前台

7. 利润、结算与提现 ​

  • 付款时记录利润快照,之后改价不影响这一单;
  • 利润先是“待确认”,过了 settlement_confirm_days 天变成“可用”;
  • 分销商在控制台 提现 页申请,站长在后台 分销提现 打款或驳回。

详见 结算与提现。

8. 停用分销商 ​

后台 分销商审核 → 禁用:分站域名立即无法访问,分销商控制台也不能继续操作。恢复 后一切照旧。 如果只是想暂停提现,把结算状态改成 冻结 即可。

分销控制台页面一览 ​

页面地址用途
概览/reseller开店进度清单、余额、订单分布、最近订单
申请/reseller/apply申请成为分销商
域名/reseller/domains系统子域名和自定义域名
站点/reseller/site分站品牌、公告、客服、SEO
商品/reseller/products上架和加价
订单/reseller/orders分站订单和每单利润(买家邮箱已打码)
财务/reseller/finance余额和结算状态
流水/reseller/ledger每一笔利润、扣回、提现
提现/reseller/withdraws申请提现、查看记录

斑马小铺 Zebra Store:dujiao-next 的 Rust + Vue 3 复刻版