# 禾野茶饮秋季会员日活动方案

> 活页公开模板 `sample-client-proposal` · 场景: 方案 · 报价 · 行业: 餐饮茶饮 / 自媒体营销
> 任何人、任何 Agent 都可以读、照着改，不需要账号。示例内容均为虚构。
> 真页面: https://space.24haowan.com/s/DtD0ewUw-INp · 详情: https://space.24haowan.com/examples/sample-client-proposal

## 这是什么

给客户的方案 · 单场活动

## 什么时候用

对外提案、单场活动、要报价：讲清一天怎么走、花多少钱，让客户在页末直接选档位。要谈平台级长期合作、有试点数据和部署方式的，选 proposal-marketing-platform。

## 用户对助手说的原话

帮我给客户写一份单场活动方案，发成一个网页链接：页头写提案方、致哪位客户、文档编号、提案日期、活动日、联系人和报价有效期；先用一句大号引文和三个关键数字讲现状与目标；然后是活动当天每小时单量的预测曲线（活动日对比平时，标出几个活动时段，点某个小时能看明细），下面按先后列出活动的几步；再是按日期排的排期、三档报价对照表（标出建议档，手机上改成上下排的三张）、团队与交付物；最后「您的意见」做成一张表单：选档位、确认活动日、补一句话，一个发送按钮，回复存到一张数据表里。标题用宋体，少用底色块，用细线分隔。

如果你还没有活页连接器（MCP），先读 https://space.24haowan.com/for-agents.md ，照里面的说明接入，或不登录直接发布。

## 照着做一份

1. 读入口文件 https://space.24haowan.com/examples/sample-client-proposal/source/index.html（它引用的其他文件见下方列表）。
2. 保留结构、版式和交互，把内容**全部**换成用户自己的；模板里的公司、人名、数字都是虚构的，一样都别留。
3. 交付一个自包含的单文件 HTML：样式写在页面里，不引外部字体 / 脚本 / CDN；手机 375 宽和电脑 1440 宽都要好看，模板有暗色就保留暗色。
4. 要发成微信里能打开、改了链接不变的网页：接入活页（https://space.24haowan.com/for-agents.md）后发布；没有账号也可以让用户在 https://space.24haowan.com/quick 上传这个文件。
5. 没有活页工具、但能发 HTTPS 请求：把做好的 HTML 以 Content-Type: text/html POST 到 https://space.24haowan.com/api/quick?client=template-sample-client-proposal ，返回预览链接、7 天分享与认领链接（登录后保留、链接不变）。

## 页面结构

- 现状与目标
- 会员日当天怎么走
- 排期
- 报价
- 交付与团队
- 您的意见

## 文件（公开，纯文本）

- https://space.24haowan.com/examples/sample-client-proposal/source/index.html（入口）

## 发成活页之后还能做的

- 口令可看（链接上的设置，不在页里）
- 阅读回执（客户看到哪一节、在报价那屏停了多久）
- 页末选档位回写数据表（原生表单 POST ./_data/replies）

## 发之前要备好

- 数据表 replies（列 tier / date / note，append_open=true）：页末「您的意见」表单写进这里；新工作区种入时自动建好
- 发给客户前用 set_visibility 设口令（passcode），口令与链接分两条消息发

## 模板说明（README）

「示例 · 五种用法」文件夹的第 2 份（总览见 `core/space/examples/README.md`）。按 `core/space/examples/QUALITY.md` 重做（EPIC #9032 C4 · #9037）。示例内容均为虚构。

## 演示哪个特色

**口令可看 + 阅读回执 + 页末选档位回写数据表。**

- **口令**是链接上的设置，不在页里：`set_visibility` 传 `visibility: "passcode"`（不传 `passcode` 系统生成 6 位数字，回执里告诉你）。
  客户输一次口令，这台设备之后就能直接看。
- **阅读回执**：每个 `<section>` 的 `data-track-section` 就是节名；`get_session_timeline` 能看到客户在「报价」那节停了多久。
- **页末「您的意见」**是一张原生表单 `<form method="post" action="./_data/replies">`：不跑脚本也能提交；脚本在时页内提交、就地显示「已发送」。
  发布者用 `list_data_rows table=replies` 读回。
- 记忆点是「会员日当天怎么走」那张逐时单量曲线（内联 SVG，电脑 / 手机各一套坐标，点某个小时看明细）。标题用宋体，正文无衬线。

## 改哪里变成我的

| 位置 | 改什么 |
|---|---|
| 页头 `.org` / `.for` / `h1` / `.facts` | 提案方标志与名称、文档编号与版本、致哪位客户、标题、提案日期 / 活动日 / 联系人 / 报价有效期 |
| 「现状与目标」 | 一句 `.pull` 引文 + 三个 `.fig`；`.aside` 写口径 |
| 逐时曲线 | 两段内联 SVG（`.chart.wide` 728 宽 / `.chart.narrow` 343 宽）。每小时一个 `<g class="p">`，`data-tip` 用 `|` 分三行明细；两段都要改，`aria-label` 同步。三个活动时段是 `rect.band` |
| 「一天三步」`.steps` | 真的有先后才编号；每步 `.when` 写时段 |
| 「排期」`.rows` | 日期列 + 事 + 负责方；要客户动手的那条加 `class="mine"` |
| 「报价」 | 电脑是 `.price` 表（建议档 `th.rec` 顶上一条色线），手机换成 `.cards` 三张；**两处同改** |
| 「您的意见」 | 每件事一个 `fieldset.q`，单选的 `name` 就是表里的列名（`tier` / `date`），外加备注 `note` |
| 页脚 | 平台标志与名称（与 `core/space/src/theme.ts` 的 `MARK_SVG` / `PUBLIC_NAME` 逐字一致，测试咬着）；发自己的页面时整段删掉 |
| `manifest.json` | `title` / `share.title` / `share.desc`；节增减时 `sections` 与页里 `id` / `data-track-section` 三处同改 |

数字前后要对得上：6,500 − 3,900 = 2,600 单增量 × 客单 26 元 ≈ 6.8 万元，正好等于标准档费用；12 元券 × 1.1 万预约 × 六成核销 ≈ 7.9 万元。改一个数，把连着的几处一起算一遍。

## 数据表

```
set_data  proposal_id: <id>  table: "replies"  columns: ["tier","date","note"]  rows: []  append_open: true  revision: 0
```

新工作区种入时由 `SAMPLE_DATA_TABLES` 建好。本地 `space-cli serve` 把提交写进包里的 `_data/replies.json`，试完改回 `[]`。

## 怎么发出去

单文件，MCP `publish_file`（`filename: "index.html"`、`manifest` 去掉 `entry`、`hold: true` 先看预览），或整目录走 CLI：

```bash
export SPACE_TOKEN=sk-space-…            # MCP create_cli_token
node core/space/cli/space-cli.mjs push core/space/examples/sample-client-proposal \
  --proposal <proposal_id> --manifest core/space/examples/sample-client-proposal/manifest.json --note "第 2 版" --hold
node core/space/cli/space-cli.mjs publish --version <version_id>
```

然后建表（上面那条 `set_data`）、设口令。改稿再发：同一个 `proposal_id`，链接不变。

## 纪律

- 口令与链接分两条消息发；客户转发链接时口令不跟着走。
- 客户在表单里写的话只给你看，不要原样贴回页面。
- 公司、门店数、报价都是示例，发之前整段换掉；页脚那句「示例内容，均为虚构」删掉。
