# 商城入驻协议 — 功能需求说明

> 本文档在《商城入驻协议功能需求-草稿》基础上整理，并关联《农资商城web》目录下 **商户管理功能需求》v1.4**、**店铺管理功能需求》v1.3.2**、**会员管理功能需求》v1.0**、**首页banner设置功能需求》v1.0.1**、《关联需求分析.md》v1.2 及同目录 **商城服务协议** 草稿做边界与流程对齐。  
> 范围：平台侧 **商家入驻协议** 的配置与维护，以及 **C 端用户商城「商家入驻」流程** 中的协议展示与勾选；不涉及数据库结构、接口定义及技术实现细节。  
> **说明：** 本协议规范 **想成为商家/入驻经营主体** 的法律告知与承诺，与 **买家会员注册** 的《商城服务协议》为 **不同文档、不同触点**；与 **平台端代为录入商户**（商户管理）可并行存在。  
> **v1.0：** 单条全平台配置；富文本内容；启用开关；C 端入驻须勾选「已知晓/已同意」后方可提交。

---

## 1. 模块定位

### 1.1 业务目标

在农资商城 **平台管理端（Web）** 维护 **商家入驻协议** 正文与生效状态，使：

- 运营可随时更新入驻条款（富文本）；
- 通过 **是否启用** 控制 C 端是否开放「商家入驻」申请；
- 用户在 **C 端用户商城** 走 **商家入驻** 流程时，须 **阅读并勾选** 当前生效协议后方可提交。

**不包含：** 协议多版本审计库、电子签章、按地区/店铺差异化协议；**不** 替代商户主体资质字段采集（归属 **商户管理** 或 C 端入驻表单，以产品为准）。

### 1.2 在业务链中的位置

```text
平台运营
    └── 内容管理
            ├── 商城入驻协议（本模块）──► C 端「商家入驻」勾选
            ├── 商城服务协议（草稿）──► C 端会员注册/登录勾选
            └── 首页 Banner 设置 ──► C 端首页展示

【供给链】
    方式 A：平台端 商户管理 → 代为录入主体（不要求勾选本协议）
    方式 B：C 端 商家入驻申请 → 须勾选本协议 → 审核/落库（与方式 A 关系见 §8.2）

【用户链】会员注册/下单 ── 使用服务协议，不使用本入驻协议
```

| 关联模块 | 关系 | 边界说明 |
|----------|------|----------|
| **商户管理 v1.4** | **业务衔接** | 主体资质字段、认证状态、绑定经营账号等 **不在本模块**；C 端入驻落库后数据语义应对齐商户管理「主体入驻」 |
| **店铺管理 v1.3.2** | 间接 | 入驻 **成功后** 方可开店；本模块 **不参与** 开店校验 |
| **会员管理 v1.0** | **无** | 买家会员注册用 **服务协议**；会员账号 **不是** 经营账号 |
| **商城服务协议（草稿）** | 并列 | 触点不同：服务协议=注册/登录；入驻协议=商家入驻 |
| **首页 Banner v1.0.1** | 并列 | 无数据依赖 |
| **商品/订单** | **无** | 协议变更 **不** 改商品状态、订单 |

### 1.3 与《关联需求分析》的对应

| 关联分析要点 | 本模块 |
|--------------|--------|
| 供给链：商户 → 店铺 → 商品 | 本模块位于 **商户准入** 前端环节（C 端自助路径） |
| 用户链与供给链账号不混用 | 勾选入驻协议 **不** 等于注册会员；入驻申请人身份以产品设计为准（会员/游客均可申请时单独说明） |
| 平台端商户/店铺监管 | 本模块属 **内容运营**，与商户 CRUD **解耦** |
| 状态不级联 | 改协议 **不自动** 改已入驻商户认证状态、店铺状态 |

### 1.4 使用端与角色

| 端 | 角色 | 能力 |
|----|------|------|
| **平台管理端** | 平台管理员 | 查看、编辑入驻协议；设置是否启用 |
| **C 端（用户商城）** | 意向商家/申请人 | **只读** 协议正文；入驻提交前 **必须勾选** |
| **平台端商户管理** | 平台运营 | **不使用** 本模块勾选（线下已授权录入，见 §8.1） |
| **店铺经营管理端** | 商家 | **不使用** 本模块（入驻完成后使用经营账号登录） |

---

## 2. 业务概念

| 概念 | 说明 |
|------|------|
| 商家入驻协议 | 平台制定的、面向 **申请成为平台商户** 的法律文本（权利义务、资质要求摘要等） |
| 协议标题 | 对外展示名称，如「农资商城商家入驻协议」；用于 C 端勾选文案 |
| 协议版本号 | **建议** 展示的版本标识（如 `v1.0`、`2026-05-01`）；便于运营告知变更 |
| 协议内容 | **富文本** 正文；C 端只读展示 |
| 是否启用 | 控制 C 端 **商家入驻** 能力是否开放（见 §2.1） |
| 勾选确认 | 用户在 C 端勾选「已阅读并同意…」类选项；**未勾选不可提交** |
| 当前生效配置 | 全平台 **唯一** 一条入驻协议配置（非多协议并行生效） |

### 2.1 「是否启用」语义（定稿）

| 是否启用 | 平台配置页 | C 端「商家入驻」 |
|----------|------------|------------------|
| **是** | 可编辑并保存；须满足 §5.2 内容校验 | 展示协议；须勾选后方可提交入驻申请 |
| **否** | 可编辑内容但 **不对 C 端生效** | **不可完成** 入驻提交：入驻入口关闭或提交时提示「商家入驻暂未开放」（文案可统一） |

> **定稿：** 禁用后 **已提交待审核/已入驻** 的商户 **不受影响**；仅阻断 **新发起** 的 C 端入驻申请。

### 2.2 与《商城服务协议》的区分（定稿）

| 维度 | 商城入驻协议（本模块） | 商城服务协议（草稿） |
|------|------------------------|----------------------|
| 适用场景 | **申请成为商家/经营主体** | **买家** 注册、登录用户商城 |
| C 端触点 | 商家入驻流程 | 注册/登录页 |
| 勾选时机 | 提交入驻申请前 | 注册/登录前 |
| 平台配置 | 内容管理 → 商城入驻协议 | 内容管理 → 商城服务协议 |
| 同时需要 | 用户可先注册会员再申请入驻 → **须分别勾选** 两份协议（若两者均启用） |

---

## 3. 功能结构

```text
商城入驻协议（平台）
└── 协议配置（单页）
    ├── 查看当前配置（标题、版本、启用状态、内容摘要）
    └── 编辑并保存（标题、版本号、是否启用、富文本内容）
```

> **定稿：** 本期 **不做** 协议历史版本列表、批量删除、排序；仅维护 **当前一条** 全平台配置。

---

## 4. 平台端 — 查看配置

### 4.1 展示内容

| 字段 | 说明 |
|------|------|
| 协议标题 | 文本 |
| 协议版本号 | 可选展示；未填时 C 端勾选文案可不带版本号 |
| 是否启用 | 是 / 否 |
| 协议内容 | 富文本渲染预览（与 C 端展示一致或近似） |
| 最后更新时间 | 只读；取最近一次保存成功时间 |
| 最后更新人 | 只读（若有审计字段） |

### 4.2 页面行为

- 进入页面默认加载 **当前** 配置；若无记录则展示空表单引导「首次配置」。
- 提供 **编辑** 入口（或默认可编辑态，以原型为准）。

---

## 5. 平台端 — 编辑并保存

### 5.1 可编辑项

| 字段 | 必填 | 说明 |
|------|:----:|------|
| 协议标题 | 是 | 建议 ≤64 字；用于 C 端展示与勾选文案 |
| 协议版本号 | 否 | 建议 ≤32 字；仅展示用 |
| 是否启用 | 是 | 是 / 否 |
| 协议内容 | 条件必填 | **启用=是** 时正文 **必填**；禁用时可空或保留草稿内容 |

### 5.2 提交校验

| 校验 | 失败提示（示例） |
|------|------------------|
| 协议标题为空 | 请输入协议标题 |
| 启用=是 且内容为空 | 启用状态下请填写协议内容 |
| 内容仅空白/HTML 空标签 | 协议内容不能为空 |
| 富文本超长 | 超出平台约定上限时提示（具体上限由产品/原型约定） |

### 5.3 保存成功

- 提示保存成功。
- **立即生效**：C 端后续进入入驻流程读取 **最新** 正文与启用状态（无须单独「发布」步骤）。
- 修改正文 **不追溯** 已勾选过的历史申请记录（见 §9 AP6）。

### 5.4 富文本要求（定稿）

| 项 | 说明 |
|----|------|
| 编辑器能力 | 支持标题、段落、加粗、列表、链接等常用排版（与平台其他富文本场景一致） |
| 图片 | 若支持插入图片，须走平台统一上传规范；**非必须** |
| 安全 | 对外展示须防 XSS（实现层要求，本文不展开） |
| C 端展示 | 按保存后的 HTML/富文本 **原样渲染**（样式以 C 端为准） |

---

## 6. C 端 — 商家入驻流程中的协议

> **前提：** 产品提供 **用户商城内的商家入驻** 入口与表单（主体字段与《商户管理》个人/企业入驻对齐或子集，**另册/另原型**）。本模块仅规定 **协议环节**。

### 6.1 展示规则

```text
用户进入「商家入驻」
    → 加载当前配置
    ├── 未启用 → 提示「商家入驻暂未开放」，不可进入提交（或入口不可见）
    └── 已启用
            → 展示协议标题 + 版本号（若有）+ 正文（可滚动区域/弹窗全文）
            → 展示勾选框：「我已阅读并同意《{协议标题}》」或含版本号文案
            → 用户填写入驻资料（与协议展示顺序：建议 **先协议勾选再填表** 或 **提交前二次校验**，以原型为准）
            → 提交
```

| 规则 | 说明 |
|------|------|
| 正文来源 | 仅读取 **当前启用** 的配置；**不** 使用禁用态或历史缓存 |
| 勾选必选 | **未勾选** 时点击提交 → 阻断，提示「请先阅读并同意商家入驻协议」 |
| 勾选记录 | 本期 **仅** 校验当次请求已勾选；**不要求** 落库勾选时间戳（若合规需要，单独立项） |
| 重新进入 | 每次新发起入驻申请均须 **重新勾选**（不记忆上次勾选） |

### 6.2 提交成功后

- 后续主体审核、平台补录、开店等流程遵循 **商户管理 / 店铺管理** 规则。
- 本模块 **不参与** 审核通过/驳回逻辑。

### 6.3 异常与空态

| 场景 | C 端表现 |
|------|----------|
| 启用但内容加载失败 | 提示「协议加载失败，请稍后重试」；不可提交 |
| 启用但内容为空（配置异常） | 视同未开放或加载失败，不可提交 |
| 用户未登录 | 是否允许未登录申请入驻由产品定；**若允许**，仍须展示协议并勾选 |

---

## 7. 页面与交互要点（平台）

| 场景 | 要求 |
|------|------|
| 配置页 | 启用开关旁说明：「关闭后 C 端将无法提交新的商家入驻申请」 |
| 富文本 | 编辑区与预览区分或提供预览按钮 |
| 保存 | 启用且无内容时 **前端+后端** 双重校验 |
| 首次使用 | 空数据时给出默认标题占位或模板说明（可选） |

---

## 8. 与关联模块的协作

### 8.1 平台端「商户管理」新增商户

| 项 | 定稿 |
|----|------|
| 是否勾选入驻协议 | **不要求** |
| 原因 | 平台运营代录入视为已授权；法律流程线下处理 |
| 数据 | 录入后商户主体、认证、绑定账号规则仍按《商户管理》v1.4 |

### 8.2 C 端自助入驻 vs 平台代录入

| 路径 | 协议 | 主体数据 |
|------|------|----------|
| C 端商家入驻 | **必须** 勾选本协议 | 提交后进入平台侧商户档案（待审核/直接正常等，**由产品定**） |
| 平台商户管理新增 | **不需要** 勾选 | 运营直接创建 |

> **说明：** 若 C 端入驻为 **待审核** 模式，审核通过前商户是否出现在「开店选商户」列表，遵循商户管理认证状态规则，**不由本模块配置**。

### 8.3 状态联动（不级联）

| 平台操作 | 已入驻商户 | 店铺/商品 |
|----------|------------|-----------|
| 修改协议正文 | **不变** 认证与资质 | **不变** |
| 关闭启用 | **不变** 已有商户 | **不变**；仅拦新 C 端申请 |
| 开启启用 | — | — |

---

## 9. 业务规则汇总

| 编号 | 规则 |
|------|------|
| **AP1** | 全平台 **唯一** 一条入驻协议配置，非店铺/地区维度 |
| **AP2** | 仅 **平台管理端** 可编辑；C 端 **只读** |
| **AP3** | C 端商家入驻提交前 **必须勾选** 同意当前协议 |
| **AP4** | **未启用** 时 C 端 **不可完成** 新入驻申请 |
| **AP5** | **启用=是** 时协议正文 **必填** 且非空 |
| **AP6** | 协议变更 **不追溯** 已提交申请/已入驻商户的效力认定（合规另议） |
| **AP7** | 与 **商城服务协议** 独立；注册会员 **不替代** 入驻勾选 |
| **AP8** | 平台端商户管理代录入 **不要求** 勾选本协议 |
| **AP9** | 保存后 **即时** 对 C 端生效，无单独发布步骤 |
| **AP10** | 协议变更 **不自动** 修改商户/店铺/商品/订单状态 |

---

## 10. 非本期范围

| 项 | 说明 |
|----|------|
| 协议多版本并存、历史版本对比、回滚 | — |
| 用户勾选时间/IP 存证 | 合规增强，单独立项 |
| 强制阅读时长、滑动到底才能勾选 | — |
| PDF 下载、外链协议 | — |
| 商家端展示或签署 | — |
| 按商户类型（个人/企业）不同协议正文 | — |
| 多语言 | — |

---

## 11. 草稿对照与修订说明

| 草稿条目 | 本文档处理 |
|----------|------------|
| C 端入驻商家时勾选已知晓 | §6 定稿为须勾选「已阅读并同意」 |
| 是否启用 | §2.1、§5、§6 |
| 富文本填写协议内容 | §5、§7 |
| 异常返回 code/msg/data | **不纳入**（实现层） |
| 技术栈 RuoYi/MySQL | **不纳入** |
| 未写：与商户管理/服务协议边界 | §1、§2.2、§8 |
| 未写：平台代录入是否勾选 | §8.1 AP8 |
| 未写：单条配置 vs 列表 | §3 定稿单条全平台配置 |

---

## 12. 修订记录

| 版本 | 说明 |
|------|------|
| **v1.0** | 首版定稿：单条配置、富文本、启用、C 端入驻勾选；与商户/会员/服务协议边界 |

---

*文档版本：v1.0（定稿）· 关联《商户管理功能需求.md》v1.4、《店铺管理功能需求.md》v1.3.2、《会员管理功能需求.md》v1.0、《首页banner设置功能需求.md》v1.0.1、《关联需求分析.md》v1.2 · 草稿《商城入驻协议功能需求-草稿.md》保持不变。*
