Initial commit
This commit is contained in:
112
01_设计/产品画布.svg
Normal file
112
01_设计/产品画布.svg
Normal file
@@ -0,0 +1,112 @@
|
||||
<svg width="1200" height="800" viewBox="0 0 1200 800" xmlns="http://www.w3.org/2000/svg">
|
||||
|
||||
<!-- 背景 -->
|
||||
<rect fill="#f8f9fa" width="100%" height="100%"/>
|
||||
|
||||
<!-- 主标题 -->
|
||||
<text x="600" y="45" text-anchor="middle" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="28" font-weight="bold" fill="#28a745">产品画布 - 绿邻回收 (Green Neighbor Recycling)</text>
|
||||
|
||||
<!-- Column 1 -->
|
||||
<g id="col1">
|
||||
<!-- 目标用户 (Customer Segments) -->
|
||||
<rect x="25" y="80" width="370" height="350" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="25" y="80" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="35" y="105" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">1. 目标用户 (Customer Segments)</text>
|
||||
<text x="35" y="140" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">C端用户 (居民):</text>
|
||||
<text x="35" y="165" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 社区中老年人 (对价格敏感, 在意便利性)</text>
|
||||
<text x="35" y="185" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 注重环保的年轻家庭 (追求品质生活)</text>
|
||||
<text x="35" y="205" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 图方便的上班族 (时间宝贵)</text>
|
||||
<text x="35" y="240" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">B端伙伴 (小站):</text>
|
||||
<text x="35" y="265" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 社区小超市、便利店</text>
|
||||
<text x="35" y="285" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 快递驿站、干洗店</text>
|
||||
<text x="35" y="305" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">(诉求: 增加额外收入, 吸引更多客流)</text>
|
||||
|
||||
<!-- 核心问题 (Problem) -->
|
||||
<rect x="25" y="440" width="370" height="330" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="25" y="440" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="35" y="465" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">2. 核心问题 (Problem)</text>
|
||||
<text x="35" y="500" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">对居民:</text>
|
||||
<text x="35" y="525" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 卖废品麻烦: 需囤积、等待、走远路。</text>
|
||||
<text x="35" y="545" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 价格不透明: 流动商贩随意定价。</text>
|
||||
<text x="35" y="565" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 渠道不稳定: 回收车时有时无。</text>
|
||||
<text x="35" y="600" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">对小站伙伴:</text>
|
||||
<text x="35" y="625" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 线下门店客流变现难。</text>
|
||||
<text x="35" y="645" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 缺乏稳定、低成本的增收方式。</text>
|
||||
<text x="35" y="680" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">现有替代方案:</text>
|
||||
<text x="35" y="705" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 流动回收车 (不方便, 不稳定)</text>
|
||||
<text x="35" y="725" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 大型回收站 (距离远)</text>
|
||||
<text x="35" y="745" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 直接丢弃 (不环保, 浪费)</text>
|
||||
</g>
|
||||
|
||||
<!-- Column 2 -->
|
||||
<g id="col2">
|
||||
<!-- 独特价值主张 (Unique Value Proposition) -->
|
||||
<rect x="415" y="80" width="370" height="200" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="415" y="80" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="425" y="105" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">3. 独特价值主张 (UVP)</text>
|
||||
<text x="425" y="150" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="bold" fill="#f57c00">下楼就卖废品,</text>
|
||||
<text x="425" y="180" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="bold" fill="#f57c00">方便、透明、还能换东西!</text>
|
||||
<text x="425" y="220" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 对用户: 极致便利, 公平价格</text>
|
||||
<text x="425" y="240" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 对伙伴: 零成本增收, 锁定客流</text>
|
||||
|
||||
<!-- 解决方案 (Solution) -->
|
||||
<rect x="415" y="290" width="370" height="220" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="415" y="290" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="425" y="315" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">4. 解决方案 (Solution)</text>
|
||||
<text x="425" y="345" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">微信小程序 (核心载体):</text>
|
||||
<text x="425" y="370" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 用户端: LBS找站、个人账户、价格公示。</text>
|
||||
<text x="425" y="390" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444"> (适老化设计: 大字体/图标/语音播报)</text>
|
||||
<text x="425" y="415" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 小站端: 扫码识客、称重计价、数据汇总。</text>
|
||||
<text x="425" y="445" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">线下运营体系:</text>
|
||||
<text x="425" y="470" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 小站 → 小仓 → 大仓 → 打包站 的SOP流程。</text>
|
||||
|
||||
<!-- 渠道 (Channels) -->
|
||||
<rect x="415" y="520" width="370" height="250" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="415" y="520" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="425" y="545" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">5. 渠道 (Channels)</text>
|
||||
<text x="425" y="575" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 线下: 社区地推、合作点(小站)引流、</text>
|
||||
<text x="425" y="595" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444"> 与物业/居委会合作。</text>
|
||||
<text x="425" y="620" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 线上: 微信群、本地生活公众号。</text>
|
||||
<text x="425" y="645" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 传播: 用户口碑、小礼品激励分享。</text>
|
||||
</g>
|
||||
|
||||
<!-- Column 3 -->
|
||||
<g id="col3">
|
||||
<!-- 收入来源 (Revenue Streams) -->
|
||||
<rect x="805" y="80" width="370" height="200" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="805" y="80" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="815" y="105" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">6. 收入来源 (Revenue Streams)</text>
|
||||
<text x="815" y="140" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">• 核心收入: 废品差价</text>
|
||||
<text x="815" y="160" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">(打包站售价 - 居民收购价)</text>
|
||||
<text x="815" y="190" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333" font-weight="bold">• 增值收入:</text>
|
||||
<text x="815" y="210" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">- 小站商品导流佣金</text>
|
||||
<text x="815" y="230" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">- 小程序内广告 (如环保品牌)</text>
|
||||
<text x="815" y="250" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">- To B/G 数据服务</text>
|
||||
|
||||
<!-- 成本结构 (Cost Structure) -->
|
||||
<rect x="805" y="290" width="370" height="220" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="805" y="290" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="815" y="315" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">7. 成本结构 (Cost Structure)</text>
|
||||
<text x="815" y="345" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 技术研发成本 (小程序开发、服务器)</text>
|
||||
<text x="815" y="370" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 线下运营成本 (仓储、物流、车辆)</text>
|
||||
<text x="815" y="395" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 人力成本 (管理团队、司机、分拣员)</text>
|
||||
<text x="815" y="420" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 市场营销成本 (地推、物料、活动)</text>
|
||||
<text x="815" y="445" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 小站补贴/分成 (给合作方的激励)</text>
|
||||
|
||||
<!-- 关键指标 (Key Metrics) -->
|
||||
<rect x="805" y="520" width="370" height="150" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="805" y="520" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="815" y="545" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">8. 关键指标 (Key Metrics)</text>
|
||||
<text x="815" y="575" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 用户增长: 注册用户数、日/月活用户(DAU/MAU)</text>
|
||||
<text x="815" y="600" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 业务量: 日均回收单量、回收品类重量</text>
|
||||
<text x="815" y="625" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 网络扩张: 成功签约并运营的小站数量</text>
|
||||
<text x="815" y="650" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 用户粘性: 用户复用率、单用户月均交易次数</text>
|
||||
|
||||
<!-- 竞争壁垒 (Unfair Advantage) -->
|
||||
<rect x="805" y="680" width="370" height="90" fill="#ffffff" stroke="#e1e4e8" stroke-width="1"/>
|
||||
<rect x="805" y="680" width="370" height="40" fill="#e6f7eb"/>
|
||||
<text x="815" y="705" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" font-weight="600" fill="#0d442a">9. 竞争壁垒 (Unfair Advantage)</text>
|
||||
<text x="815" y="735" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 强大的线下运营和地推能力 (最核心)</text>
|
||||
<text x="815" y="755" font-family="'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#444">• 率先抢占的社区点位网络效应</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
234
01_设计/初步设计文档.md
Normal file
234
01_设计/初步设计文档.md
Normal file
@@ -0,0 +1,234 @@
|
||||
# 废品回收小程序 - 初步设计文档 V1.0
|
||||
|
||||
> **文档状态**: 评审中
|
||||
> **版本**: 1.0
|
||||
> **日期**: 2025-08-08
|
||||
> **联合编制**:
|
||||
> - **产品经理**: Sean
|
||||
> - **项目经理**: Alex (PM)
|
||||
> - **研发经理**: (待定)
|
||||
|
||||
---
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
### 1.1 项目背景与核心矛盾
|
||||
本项目旨在通过O2O平台,连接社区居民、回收小站、物流及处理中心,解决传统废品回收流程中信息不对称、效率低下、体验差的痛点。
|
||||
|
||||
**核心矛盾**: 居民侧“便捷、透明地处理废品”的需求 与 传统回收行业“效率低下、信息不透明”的现状 之间的矛盾。本平台即为解决此矛盾的关键载体。
|
||||
|
||||
### 1.2 项目目标 (MVP V1.0)
|
||||
- **业务目标**: 跑通“居民到小站”的核心商业模式闭环。
|
||||
- **数据目标**: 在1-2个试点社区,实现每周100+笔交易,C端用户次月留存率达到30%。
|
||||
|
||||
---
|
||||
|
||||
## 2. MVP范围定义
|
||||
|
||||
为实现快速验证,MVP版本将聚焦于最核心的功能闭环。
|
||||
|
||||
- **C端 (居民端)**: 核心是“卖钱”。
|
||||
- **功能**: 微信一键登录、我的卖品码、我的余额、交易记录。
|
||||
- **B端 (小站端)**: 核心是“收钱”。
|
||||
- **功能**: 账号登录、核心回收流程(扫码、录入、确认)、语音播报。
|
||||
- **管理后台**: 核心是“能管”。
|
||||
- **功能**: 品类与价格管理、小站管理(用于创建账号)、基础订单流水查询。
|
||||
|
||||
### 2.1 MVP范围之外 (Out of Scope)
|
||||
为确保核心价值的快速验证,以下在PRD中提及的功能将**不包含**在V1.0版本中:
|
||||
- **C端提现功能**: V1.0用户余额仅作记录,V1.1实现提现。
|
||||
- **物流端功能**: V1.0不包含物流角色和相关功能。
|
||||
- **积分商城等增值服务**: 待核心模式验证后规划。
|
||||
|
||||
---
|
||||
|
||||
## 3. 技术架构设计
|
||||
|
||||
### 3.1 架构图
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph 用户端 (User Layer)
|
||||
C_MP[C端居民小程序<br>(uni-app / Vue.js)]
|
||||
B_MP[B端小站小程序<br>(uni-app / Vue.js)]
|
||||
Admin[管理后台Web<br>(Vue 3 + Element Plus)]
|
||||
end
|
||||
|
||||
subgraph 网关层 (API Gateway)
|
||||
Gateway[API Gateway<br>(Nginx)]
|
||||
end
|
||||
|
||||
subgraph 后端服务 (Backend Service)
|
||||
Backend[后端应用服务器<br>(Node.js + NestJS)]
|
||||
end
|
||||
|
||||
subgraph 数据层 (Data Layer)
|
||||
DB[(PostgreSQL<br>核心业务数据)]
|
||||
Cache[(Redis<br>缓存/会话)]
|
||||
end
|
||||
|
||||
C_MP --> Gateway
|
||||
B_MP --> Gateway
|
||||
Admin --> Gateway
|
||||
Gateway --> Backend
|
||||
Backend --> DB
|
||||
Backend --> Cache
|
||||
```
|
||||
|
||||
### 3.2 技术选型理由
|
||||
- **前端 (uni-app + Vue)**: 一次开发,多端发布,极大提升MVP开发效率,统一技术栈。
|
||||
- **后端 (Node.js + NestJS)**: 全栈语言统一(TypeScript),架构清晰,适合企业级应用,保证代码质量和可维护性。
|
||||
- **数据库 (PostgreSQL + Redis)**: PostgreSQL功能强大,满足地理位置查询等复杂需求;Redis作为缓存,保证系统响应速度。
|
||||
|
||||
### 3.3 风险评估与应对策略
|
||||
- **技术风险**:
|
||||
- **风险点**: `uni-app` 在部分低端安卓机型上可能存在性能瓶颈。
|
||||
- **应对策略**: 在开发中期,选取核心页面(如扫码、列表)进行专项性能测试,预留优化时间。
|
||||
- **团队风险**:
|
||||
- **风险点**: 团队成员对 `NestJS` 或 `uni-app` 的熟练度可能不一。
|
||||
- **应对策略**: 在项目启动前安排1-2天的技术预研(Spike),统一代码规范和最佳实践。
|
||||
|
||||
---
|
||||
|
||||
## 4. 数据库设计
|
||||
|
||||
以下为MVP版本所需的核心数据表结构。
|
||||
|
||||
```sql
|
||||
-- 1. C端居民用户表
|
||||
CREATE TABLE users (
|
||||
id SERIAL PRIMARY KEY,
|
||||
wx_openid VARCHAR(255) UNIQUE NOT NULL,
|
||||
nickname VARCHAR(255),
|
||||
avatar_url TEXT,
|
||||
balance DECIMAL(10, 2) NOT NULL DEFAULT 0.00,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 2. B端回收小站表
|
||||
CREATE TABLE stations (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
address TEXT NOT NULL,
|
||||
location GEOGRAPHY(POINT, 4326),
|
||||
manager_name VARCHAR(100),
|
||||
phone_number VARCHAR(20),
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'active',
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 3. 小站员工表
|
||||
CREATE TABLE staff (
|
||||
id SERIAL PRIMARY KEY,
|
||||
station_id INT NOT NULL REFERENCES stations(id),
|
||||
phone_number VARCHAR(20) UNIQUE NOT NULL,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
role VARCHAR(50) NOT NULL DEFAULT 'staff',
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 4. 回收物料品类表
|
||||
CREATE TABLE categories (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) UNIQUE NOT NULL,
|
||||
unit VARCHAR(20) NOT NULL DEFAULT 'kg',
|
||||
is_active BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 5. 价格表
|
||||
CREATE TABLE prices (
|
||||
id SERIAL PRIMARY KEY,
|
||||
category_id INT NOT NULL REFERENCES categories(id),
|
||||
station_id INT NOT NULL REFERENCES stations(id),
|
||||
price DECIMAL(10, 2) NOT NULL,
|
||||
effective_date TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
UNIQUE(category_id, station_id)
|
||||
);
|
||||
|
||||
-- 6. 交易记录总表
|
||||
CREATE TABLE transactions (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INT NOT NULL REFERENCES users(id),
|
||||
station_id INT NOT NULL REFERENCES stations(id),
|
||||
staff_id INT NOT NULL REFERENCES staff(id),
|
||||
total_amount DECIMAL(10, 2) NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- 7. 交易详情表
|
||||
CREATE TABLE transaction_items (
|
||||
id SERIAL PRIMARY KEY,
|
||||
transaction_id INT NOT NULL REFERENCES transactions(id) ON DELETE CASCADE,
|
||||
category_id INT NOT NULL REFERENCES categories(id),
|
||||
weight DECIMAL(10, 2) NOT NULL,
|
||||
price_per_unit DECIMAL(10, 2) NOT NULL,
|
||||
amount DECIMAL(10, 2) NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 核心API接口设计
|
||||
|
||||
### 5.1 管理后台API (`/api/admin`)
|
||||
- **品类管理**: `GET, POST, PUT /categories/:id`
|
||||
- **小站管理**: `GET, POST, PUT /stations/:id`
|
||||
- **价格管理**: `GET, POST /prices`
|
||||
- **员工管理**: `GET, POST /staff`
|
||||
|
||||
### 5.2 C端小程序API (`/api/c`)
|
||||
- **认证**: `POST /auth/login` (微信Code换JWT)
|
||||
- **用户信息**: `GET /profile`
|
||||
- **核心功能**:
|
||||
- `GET /features/prices` (今日回收价)
|
||||
- `GET /features/nearby-stations` (附近小站)
|
||||
- `GET /features/transactions` (交易记录)
|
||||
|
||||
### 5.3 B端小程序API (`/api/b`)
|
||||
- **认证**: `POST /auth/login` (手机号密码登录)
|
||||
- **回收流程**:
|
||||
- `GET /recycle/user-info` (扫码识客)
|
||||
- `POST /recycle/transactions` (创建交易)
|
||||
- **数据查询**:
|
||||
- `GET /data/summary` (今日汇总)
|
||||
- `GET /data/inventory` (库存盘点)
|
||||
- `GET /data/categories` (可用回收品类)
|
||||
|
||||
---
|
||||
|
||||
## 6. 项目排期与资源规划
|
||||
|
||||
### 6.1 总体排期 (估算)
|
||||
项目采用敏捷开发模式,以**2个为期两周的Sprint**完成MVP版本的开发和测试,总计**4周**。
|
||||
|
||||
- **Sprint 1 (第一、二周)**:
|
||||
- **目标**: 完成后端核心API开发与前端基础架构。
|
||||
- **后端**: 完成所有后台、C端、B端的API开发与单元测试。
|
||||
- **前端**: 完成项目脚手架搭建,各端登录、核心页面UI布局。
|
||||
- **产出**: 后端API可供调用,前端页面静态可见。
|
||||
|
||||
- **Sprint 2 (第三、四周)**:
|
||||
- **目标**: 完成前后端对接、联调测试与上线准备。
|
||||
- **前端**: 完成所有业务逻辑开发,与后端API全面对接。
|
||||
- **测试**: 执行端到端的核心流程测试用例,进行多轮Bug修复。
|
||||
- **产出**: 功能完备、通过测试的MVP版本,可随时部署。
|
||||
|
||||
### 6.2 资源分配 (建议)
|
||||
- **后端开发**: 1-2人
|
||||
- **前端开发**: 1-2人 (uni-app, Vue)
|
||||
- **测试(QA)**: 1人 (在Sprint 2后半段集中投入)
|
||||
- **产品/项目**: 1人 (负责需求澄清、进度跟踪)
|
||||
|
||||
### 6.3 沟通与协作
|
||||
- **每日站会**: 每天上午10点,15分钟,同步进度、风险和阻塞点。
|
||||
- **每周复盘**: 每周五下午,复盘本周进展,规划下周计划。
|
||||
- **协作工具**:
|
||||
- **任务管理**: Jira (或类似工具)
|
||||
- **即时沟通**: Slack / 钉钉
|
||||
- **文档中心**: Confluence / Git仓库Wiki
|
||||
185
01_设计/商业计划书-绿邻回收.md
Normal file
185
01_设计/商业计划书-绿邻回收.md
Normal file
@@ -0,0 +1,185 @@
|
||||
|
||||
# 绿邻回收项目商业计划书
|
||||
|
||||
---
|
||||
|
||||
## 1. 执行摘要 (Executive Summary)
|
||||
|
||||
**绿邻回收**是一个旨在革新城市社区废品回收模式的环保科技项目。我们通过构建一个以微信小程序为载体,连接居民、社区小站和回收产业链的超便捷回收网络,解决当前城市废品回收中存在的“最后一公里”难题。
|
||||
|
||||
我们的核心业务是,用户(特别是中老年人)可以方便地将家中的可回收废品(初期聚焦于塑料瓶、纸壳、旧衣物)送到楼下的合作小站(如超市、快递驿站),通过一个极其简单的“适老化”小程序进行称重、计价,并立即获得现金或兑换商品。小站的废品将由我们的物流体系每日归集到城市中心仓,再统一销售给大型打包站,从而形成一个高效、透明、共赢的商业闭环。
|
||||
|
||||
本项目致力于通过技术手段和创新的运营模式,提升回收效率,改善用户体验,为环保事业贡献力量,并创造可观的经济价值。
|
||||
|
||||
---
|
||||
|
||||
## 2. 市场分析 (Market Analysis)
|
||||
|
||||
### 2.1 行业背景
|
||||
随着中国城市化进程的加速和环保政策的收紧(如垃圾分类),传统废品回收模式的弊端日益凸显:
|
||||
- **效率低下**: 零散的回收人员效率低,覆盖面不稳定。
|
||||
- **体验不佳**: 对居民而言,回收时间、地点不固定,价格不透明。
|
||||
- **“适老化”缺失**: 中老年人作为家庭废品处理的主要人群,对复杂的线上APP望而却EB。
|
||||
|
||||
市场需要一个更高效、更便捷、更值得信赖的回收解决方案。
|
||||
|
||||
### 2.2 目标市场
|
||||
- **主要用户 (C端)**:
|
||||
- **中老年居民**: 核心用户群。他们有处理废品的习惯,但对传统回收方式感到不便。
|
||||
- **年轻家庭/环保人士**: 他们有环保意识,追求便捷高效的生活方式。
|
||||
- **合作伙伴 (B端)**:
|
||||
- **社区小店/超市/快递驿站**: 他们有固定的物理空间和客流,希望增加额外收入并提升客户粘性。
|
||||
|
||||
### 2.3 竞争分析
|
||||
- **传统回收人员**: 我们的优势在于价格透明、服务稳定、体验更佳。
|
||||
- **其他线上回收平台**: 我们的核心差异化优势是**超本地化**和**极致简化**的“适老化”设计,解决了其他平台操作复杂、上门服务不及时的问题。
|
||||
|
||||
---
|
||||
|
||||
## 3. 公司与团队 (Organization and Management)
|
||||
|
||||
我们计划组建一个分工明确、执行力强的核心团队:
|
||||
|
||||
- **CEO/创始人**: 负责公司战略、融资、商业模式设计和团队建设。
|
||||
- **产品经理**: 负责市场调研、产品规划(微信小程序)、用户体验设计。
|
||||
- **UI/UX设计师**: 专注于“适老化”的界面与交互设计。
|
||||
- **项目经理**: 负责项目排期、进度跟踪和跨部门沟通。
|
||||
- **技术团队**: 包括小程序前端、后端开发,负责系统的实现。
|
||||
- **测试工程师**: 保证产品质量和用户需求满足度。
|
||||
- **运营总监**: 负责整个线下回收、仓储、物流体系的搭建和管理。
|
||||
- **市场与商务拓展(BD)经理**: 负责小站的拓展和社区地推营销。
|
||||
- **小站站长**: 一线运营人员,负责用户服务和日常回收工作。
|
||||
- **仓储物流专员**: 负责废品从“小仓”到“大仓”的流转。
|
||||
|
||||
---
|
||||
|
||||
## 4. 产品与服务 (Product and Service)
|
||||
|
||||
### 4.1 核心载体:微信小程序
|
||||
分为两个端:用户端和小站端。
|
||||
|
||||
- **用户端**:
|
||||
- **核心功能**: 查看附近小站、回收价格公示、个人账户(交易记录、余额)。
|
||||
- **“适老化”设计**: 超大字体、语音播报、极简流程、无需复杂注册。
|
||||
|
||||
- **小站端**:
|
||||
- **核心功能**: 扫码识别用户、称重品类录入、自动计价、结算(现金/兑换)、当日汇总。
|
||||
- **设计理念**: 操作直观,功能聚焦,稳定可靠。
|
||||
|
||||
### 4.2 业务流程
|
||||
这是一个完整的闭环系统,从居民到最终的打包站。
|
||||
|
||||
``` mermaid
|
||||
graph TD
|
||||
subgraph 用户端
|
||||
A[居民在家整理废品] --> B{下楼前往小站};
|
||||
end
|
||||
|
||||
subgraph 小站
|
||||
B --> C[站长使用小程序称重];
|
||||
C --> D[系统自动计算价格];
|
||||
D --> E{选择结算方式};
|
||||
E --> F[获得现金/兑换商品];
|
||||
E --> G[积分存入账户];
|
||||
F --> H[完成回收];
|
||||
G --> H;
|
||||
C --> I[废品暂存小站];
|
||||
end
|
||||
|
||||
subgraph 物流与仓储
|
||||
I --> J(每日由专人从小站收集);
|
||||
J --> K[转运至邻近小仓];
|
||||
K --> L(专车每日从小仓归集);
|
||||
L --> M[送达城市大仓];
|
||||
M --> N[分类、压缩、存储];
|
||||
end
|
||||
|
||||
subgraph 供应链末端
|
||||
N --> O(定期从大仓转运);
|
||||
O --> P[销售给大型打包站];
|
||||
end
|
||||
|
||||
P --> |资金回流| Q((分润体系));
|
||||
|
||||
subgraph 收益分配
|
||||
Q --> |利润| CEO/公司;
|
||||
Q --> |服务费| B端小站;
|
||||
Q --> |回收金| A;
|
||||
Q --> |工资/运费| 物流与仓储;
|
||||
end
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 市场与营销策略 (Marketing & Sales Strategy)
|
||||
|
||||
- **地推先行**: 深入社区,通过海报、传单、现场演示等方式进行首轮用户教育。
|
||||
- **活动引流**: 策划“回收换鸡蛋”、“周末双倍积分”等接地气的活动,快速获取初始用户。
|
||||
- **合作共赢**: 为小站合作伙伴提供稳定的额外收入和客流,激励他们主动推广。
|
||||
- **口碑传播**: 通过优质的服务和便捷的体验,鼓励用户(尤其是大爷大妈们)进行口碑传播。
|
||||
|
||||
---
|
||||
|
||||
## 6. 运营计划 (Operational Plan)
|
||||
|
||||
1. **第一阶段 (MVP)**:
|
||||
- 选择1-2个成熟社区作为试点。
|
||||
- 完善小程序核心功能开发与测试。
|
||||
- 签约5-10个种子小站。
|
||||
- 租赁一个小型仓库作为“小仓”兼“大仓”。
|
||||
- 验证整个业务流程的可行性。
|
||||
2. **第二阶段 (扩张)**:
|
||||
- 在试点城市进行规模化复制,覆盖主要城区。
|
||||
- 建立标准的城市“大仓”。
|
||||
- 优化物流路线,提升回收效率。
|
||||
- 迭代小程序功能,增加数据分析后台。
|
||||
3. **第三阶段 (全国布局)**:
|
||||
- 将成熟的城市模型复制到其他城市。
|
||||
- 探索更多可回收品类(如旧家电、电池等)。
|
||||
- 建立品牌影响力。
|
||||
|
||||
---
|
||||
|
||||
## 7. 财务规划 (Financial Plan)
|
||||
|
||||
### 7.1 成本结构 (Cost Structure)
|
||||
- **技术开发成本**: 小程序开发、服务器、数据库等。
|
||||
- **人力成本**: 核心团队、线下运营及物流人员的工资。
|
||||
- **营销成本**: 地推活动、物料制作费用。
|
||||
- **运营成本**: 仓储租金、运输车辆油耗及维护。
|
||||
- **给用户的回收金**: 支付给用户的废品费用。
|
||||
|
||||
### 7.2 收入来源 (Revenue Streams)
|
||||
- **核心收入**: 将从大仓集中处理后的可回收物,以更高的价格批量出售给大型打包站或处理厂,赚取其中的差价。
|
||||
- **潜在收入**:
|
||||
- **广告**: 在小程序中为社区商家提供精准广告位。
|
||||
- **政府补贴**: 申请环保项目相关的政府补贴。
|
||||
- **数据服务**: 在合规前提下,为相关行业提供脱敏的消费和环保数据分析。
|
||||
|
||||
---
|
||||
|
||||
## 8. 附录 (Appendix)
|
||||
|
||||
### 用户核心体验旅程图
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User as 用户
|
||||
participant Station as 小站端小程序
|
||||
participant Server as 后端服务器
|
||||
|
||||
User->>User: 在家整理好废品
|
||||
User->>Station: 带着废品到楼下小站
|
||||
Station->>User: 站长:欢迎,请出示您的手机号/会员码
|
||||
User->>Station: (提供手机号后4位)
|
||||
Station->>Server: 查询用户信息 (手机号:xxxx)
|
||||
Server-->>Station: 返回用户信息
|
||||
Station->>Station: 站长选择品类(纸壳),放置上称
|
||||
Station->>Server: 上传数据(用户ID, 品类:纸壳, 重量:2.5kg)
|
||||
Server-->>Station: 返回计算价格(3.75元)
|
||||
Station->>User: 站长:一共3块7毛5,您要现金还是换东西?
|
||||
User->>Station: 就要现金吧
|
||||
Station->>Server: 确认交易(用户ID, 金额:3.75, 方式:现金)
|
||||
Server-->>Station: 交易成功
|
||||
Station->>User: (支付现金)好了,欢迎下次再来!
|
||||
```
|
||||
69
01_设计/商家转账到零钱.md
Normal file
69
01_设计/商家转账到零钱.md
Normal file
@@ -0,0 +1,69 @@
|
||||
|
||||
|
||||
### **微信小程序收款及大型平台提现机制分析**
|
||||
|
||||
**日期:** 2025年8月11日
|
||||
|
||||
**一、 小程序商业收款机制**
|
||||
|
||||
1. **非实时到账原因:**
|
||||
* **资金流向:** 小程序收款资金不会直接进入个人微信零钱余额,而是首先进入微信支付的**商户号(Merchant Account)**。
|
||||
* **商业清算:** 这是因为小程序收款属于商业交易,需要遵循专业的支付清算体系。
|
||||
* **结算周期:** 微信支付商户平台通常设有T+1(即交易日次日)的结算周期,款项在结算后才会到达商户账户。具体结算周期可能因行业和发货方式而异。
|
||||
* **提现流程:** 资金结算到商户账户后,商户需手动或自动将资金从商户平台提现至其绑定的对公银行账户或法人银行卡。
|
||||
|
||||
2. **实时转入微信零钱的限制:**
|
||||
* **不适用于商业收款:** 微信支付提供的“个人收款”功能允许非商业用途的个人间收付款实时进入零钱,但有严格额度限制且不支持商业运营。
|
||||
* **“商家转账到零钱”接口:** 此接口允许商户将其商户号中的资金转账给用户的微信零钱,但这并非收款的结算方式,而是商户主动发起的转账行为。
|
||||
|
||||
**二、 小程序收款所需手续**
|
||||
|
||||
要开通小程序收款功能,需满足以下条件并遵循相应步骤:
|
||||
|
||||
1. **开通条件:**
|
||||
* **主体资格:** 小程序必须为非个人主体(如企业、个体工商户等)注册。
|
||||
* **资质证明:** 需拥有合法营业执照。
|
||||
* **小程序认证:** 小程序需通过微信官方认证。
|
||||
* **微信支付商户号:** 必须申请并拥有一个微信支付商户号。
|
||||
* **开发者账号:** 拥有有效的微信开发者账号。
|
||||
|
||||
2. **开通步骤:**
|
||||
* 注册/拥有非个人主体小程序账号。
|
||||
* 申请微信支付商户号,提交营业执照、法人证件、对公账户等资料。
|
||||
* 完成小程序微信认证。
|
||||
* 在小程序后台关联已有的微信支付商户号。
|
||||
* 配置支付功能并进行API接口开发集成。
|
||||
* 提交小程序审核,通过后即可使用收款功能。
|
||||
|
||||
3. **注意事项:**
|
||||
* 确保业务合法合规,保护用户隐私。
|
||||
* 接入微信支付本身无申请费,但每笔交易会根据经营类目收取0.6%-1%的交易手续费。
|
||||
|
||||
**三、 大型平台(抖音、快手、拼多多)实时提现机制**
|
||||
|
||||
1. **性质差异:**
|
||||
* **小程序收款:** 商家从用户收取销售款。
|
||||
* **大型平台提现:** 平台将资金(如内容收益、推广佣金、签到奖励、购物返现等)支付给用户。资金来源是平台自身的资金池。
|
||||
|
||||
2. **实现方式:**
|
||||
* 大型平台利用微信支付提供的**“商家转账到零钱”(原“企业付款到零钱”)API接口**。
|
||||
* 该接口允许企业从其微信支付商户账户向任意微信用户零钱进行转账,可实现实时到账。
|
||||
|
||||
3. **实时提现优势:**
|
||||
* **营销策略:** 提供即时反馈,提升用户活跃度和留存率。
|
||||
* **技术实力:** 平台具备高并发、高效率的资金处理能力,与微信支付有深度合作。
|
||||
* **手续费承担:** 平台通常会承担或消化“商家转账到零钱”接口产生的手续费,将其作为营销成本。
|
||||
|
||||
**四、 “商家转账到零钱”接口手续费规则**
|
||||
|
||||
* **费用:** 根据微信支付官方最新规定,“商家转账到零钱”服务目前是**免费的**,即微信支付不向商户收取此操作的交易手续费。
|
||||
* **资金来源:** 商户需预先将资金充值到其微信支付的运营账户中。
|
||||
* **区分:** 此免费政策与以下费用不同:
|
||||
* **商家收款手续费:** 顾客使用微信支付(信用卡/非信用卡)向商家付款时,微信支付向商家收取的交易手续费(如0.1%或0.38%)。
|
||||
* **个人用户零钱提现手续费:** 个人微信零钱超出免费额度后,提现到银行卡时收取的0.1%手续费。
|
||||
|
||||
**结论:**
|
||||
|
||||
一般小程序的商业收款涉及严格的资金清算和合规要求,因此存在结算周期。而抖音、快手、拼多多等大型平台实现的“实时提现”是基于其作为“付款方”的业务性质,并利用微信支付提供的企业级“商家转账到零钱”接口,将平台资金支付给用户,且目前该接口本身不收取手续费,从而实现了即时到账和精准营销。
|
||||
|
||||
---
|
||||
213
01_设计/废品回收小程序产品需求文档.md
Normal file
213
01_设计/废品回收小程序产品需求文档.md
Normal file
@@ -0,0 +1,213 @@
|
||||
|
||||
# 废品回收小程序产品需求文档 (PRD) V2.0
|
||||
|
||||
> **文档状态**: 修订中
|
||||
> **版本**: 2.0
|
||||
> **修订日期**: 2025-08-08
|
||||
> **作者**: Claude, AI产品助手
|
||||
|
||||
---
|
||||
|
||||
## 修订历史
|
||||
|
||||
| 版本 | 修订日期 | 修订人 | 修订内容 |
|
||||
| :---- | :--------- | :----- | :------------------------------------------- |
|
||||
| 1.0 | 2025-08-07 | Claude | 初稿,定义了用户端和小站端的核心功能 |
|
||||
| 2.0 | 2025-08-08 | Claude | 根据反馈重构,细化为四端模型,增强可执行性 |
|
||||
|
||||
---
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
### 1.1 项目背景
|
||||
本项目旨在通过数字化的O2O平台,连接社区居民、社区回收小站、物流司机和后端处理中心,打造一个高效、透明、便捷的废品回收生态系统。平台以微信小程序为主要载体,解决传统废品回收流程中信息不对称、效率低下、用户体验差等痛点。
|
||||
|
||||
### 1.2 核心问题与解决方案
|
||||
- **居民侧**: 出售废品渠道少、价格不透明、流程繁琐 → **提供一个稳定、便捷、价格透明的线上出售渠道。**
|
||||
- **小站侧**: 人工记账易出错、库存管理混乱、与上游对接效率低 → **提供一套移动化、自动化的记账、库存及对接工具。**
|
||||
- **物流侧**: 揽收路线不科学、交接凭证混乱、运输过程不可控 → **提供数字化的揽收任务管理和扫码交接功能。**
|
||||
- **公司侧**: 缺乏全局数据、无法精细化运营、业务模式难以复制 → **搭建一个集数据监控、运营管理、财务结算于一体的中心化管理后台。**
|
||||
|
||||
### 1.3 项目目标
|
||||
- **V1.0 (MVP) 目标**:
|
||||
- 验证核心商业模式:居民到小站的回收流程。
|
||||
- 在1-2个试点社区,实现每周100+笔交易。
|
||||
- C端用户次月留存率达到30%,B端小站无主动流失。
|
||||
|
||||
### 1.4 核心用户画像
|
||||
- **C端 - 居民**:
|
||||
- **王大妈**: 65岁,退休在家,对价格敏感,会用微信但对复杂操作有困难。希望卖废品能像去超市买菜一样简单。
|
||||
- **B端 - 小站站长**:
|
||||
- **李老板**: 45岁,社区超市店主。希望回收操作不影响主业,记账清晰,能快速和上游完成交接结算。
|
||||
- **物流端 - 司机**:
|
||||
- **张师傅**: 35岁,回收车队司机。希望能有清晰的揽收路线,交接时不用手写单据,扫个码就能搞定。
|
||||
- **后台 - 运营经理**:
|
||||
- **小陈**: 28岁,公司运营。希望实时看到各小站的回收数据,能灵活调整回收品类和价格。
|
||||
|
||||
---
|
||||
|
||||
## 2. 整体业务流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph C端用户
|
||||
A[1.居民携带废品到小站] --> B{2.出示个人收款码};
|
||||
end
|
||||
|
||||
subgraph B端用户
|
||||
B --> C[3.站长扫码识别用户];
|
||||
C --> D[4.选择品类, 输入重量];
|
||||
D --> E[5.确认金额, 完成交易];
|
||||
E --> F((资金计入用户余额));
|
||||
E --> G[6.定期向上游发起交接];
|
||||
end
|
||||
|
||||
subgraph 物流端
|
||||
G --> H[7.司机接单, 前往小站];
|
||||
H --> I[8.扫小站出库码, 核对品类重量];
|
||||
I --> J[9.确认揽收, 运输至打包站];
|
||||
end
|
||||
|
||||
subgraph 管理后台
|
||||
K[品类/价格管理] --> D;
|
||||
F --> L[订单流水监控];
|
||||
G --> M[库存数据监控];
|
||||
I --> N[物流状态跟踪];
|
||||
J --> O[财务结算管理];
|
||||
end
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. C端(居民端)小程序
|
||||
|
||||
**核心定位:让卖废品像收钱一样简单。**
|
||||
|
||||
### 3.1 功能模块详述
|
||||
|
||||
#### 3.1.1 登录/注册
|
||||
- **需求**: 微信一键授权登录,自动创建账户,无需额外注册步骤。
|
||||
|
||||
#### 3.1.2 首页 (核心页面)
|
||||
- **界面元素**:
|
||||
1. **【我的卖品码】**: 页面最中心、最大的按钮,点击后全屏显示个人专属二维码,并调高屏幕亮度。
|
||||
2. **【附近小站】**: 列表或地图形式,展示附近合作小站的位置、营业时间、联系电话。
|
||||
3. **【今日回收价】**: 醒目位置展示主要品类(纸壳、塑料瓶等)的单价(元/斤)。
|
||||
|
||||
#### 3.1.3 “我的”页面
|
||||
- **界面元素**:
|
||||
1. **【我的余额】**: 突出显示当前账户余额。
|
||||
2. **【提现】(V1.1)**: 将余额提现至微信零钱。需进行实名认证。
|
||||
3. **【交易记录】**: 列表形式,展示每一笔交易的时间、地点、品类、重量、金额。
|
||||
4. **【联系客服】**: 提供客服电话或在线咨询入口。
|
||||
|
||||
#### 3.1.4 消息通知
|
||||
- **需求**:
|
||||
- 交易成功后,收到模板消息推送,告知本次收入金额。
|
||||
- 提现成功后,收到模板消息推送。
|
||||
|
||||
---
|
||||
|
||||
## 4. B端(小站端)小程序
|
||||
|
||||
**核心定位:高效的移动回收工作站。**
|
||||
|
||||
### 4.1 功能模块详述
|
||||
|
||||
#### 4.1.1 登录
|
||||
- **需求**: 由管理员在后台创建账号,站长通过“手机号+验证码”登录。
|
||||
|
||||
#### 4.1.2 工作台 (首页)
|
||||
- **界面元素**:
|
||||
1. **【开始回收】**: 核心操作按钮,点击进入扫码回收流程。
|
||||
2. **【今日汇总】**: 数据卡片,展示当日回收总单数、总重量、总金额。
|
||||
3. **【库存盘点】**: 查看当前各类废品的库存重量。
|
||||
4. **【向上游交接】**: 生成出库单,打印或出示出库二维码,等待物流端揽收。
|
||||
|
||||
#### 4.1.3 回收流程 (核心业务)
|
||||
1. **扫码识客**: 点击“开始回收”,启动扫码器,扫描C端用户的“卖品码”。成功后显示用户昵称。
|
||||
2. **录入信息**:
|
||||
- **品类选择**: 大按钮形式选择“纸壳”、“塑料瓶”等。
|
||||
- **重量输入**: 手动输入称重后的重量。
|
||||
- 系统自动计算金额并显示。
|
||||
3. **确认交易**: 与用户核对无误后,点击“确认”。系统二次弹窗确认。
|
||||
4. **语音播报**: 交易成功后,必须有清晰的语音播报,如“**收款成功,5.8元**”,方便老年用户确认。
|
||||
|
||||
#### 4.1.4 账单与库存
|
||||
- **账单**: 查看每日、每周的交易流水和收入汇总。
|
||||
- **库存**: 实时查看各品类库存,达到阈值时有提醒。
|
||||
|
||||
---
|
||||
|
||||
## 5. 物流端 (打包站/司机端)
|
||||
|
||||
**核心定位:精准、高效的废品“快递员”。** (初期可为H5页面,或集成在B端小程序中)
|
||||
|
||||
### 5.1 功能模块详述
|
||||
|
||||
#### 5.1.1 揽收任务
|
||||
- **需求**: 查看由系统(或后台运营)派发的揽收任务列表,包含小站地址、预计揽收重量、联系方式。
|
||||
- **功能**: 支持路线规划。
|
||||
|
||||
#### 5.1.2 扫码交接
|
||||
- **需求**: 到达小站后,扫描小站端生成的“出库码”。
|
||||
- **流程**: 扫码后,页面显示待交接的品类和重量。司机确认实际收到的重量,可进行修改。双方确认后,完成交接。
|
||||
|
||||
#### 5.1.3 状态更新
|
||||
- **需求**: 可手动更新任务状态,如“运输中”、“已入库”。
|
||||
|
||||
---
|
||||
|
||||
## 6. 统一管理后台 (Web端)
|
||||
|
||||
**核心定位:公司的“大脑”,驱动业务运转。**
|
||||
|
||||
### 6.1 功能模块详述
|
||||
|
||||
#### 6.1.1 Dashboard 数据看板
|
||||
- **需求**: 实时展示核心KPI,如:今日交易额、总用户数、活跃小站数、各品类回收量趋势图等。
|
||||
|
||||
#### 6.1.2 用户管理
|
||||
- **需求**: 查询C端用户信息、交易记录、账户状态。
|
||||
|
||||
#### 6.1.3 小站管理
|
||||
- **需求**: 小站的入驻审核、信息管理、地理位置分布图、服务状态(营业/休息)管理。
|
||||
|
||||
#### 6.1.4 品类与价格管理
|
||||
- **需求**: 动态添加/修改回收品类,实时调整各品类在不同区域的回收单价。
|
||||
|
||||
#### 6.1.5 订单与库存管理
|
||||
- **需求**: 查询全平台所有交易流水。实时监控各小站、各打包站的库存情况。
|
||||
|
||||
#### 6.1.6 物流管理
|
||||
- **需求**: 查看物流司机信息,手动派发或调整揽收任务,跟踪任务状态。
|
||||
|
||||
#### 6.1.7 财务管理
|
||||
- **需求**: 管理与小站、物流司机的结算周期和账单,支持账单导出。
|
||||
|
||||
#### 6.1.8 系统管理
|
||||
- **需求**: 后台操作员的角色与权限管理。
|
||||
|
||||
---
|
||||
|
||||
## 7. 非功能性需求
|
||||
- **性能**: 扫码响应时间 < 1秒。页面加载时间 < 2秒。
|
||||
- **易用性**: C端和B端界面必须严格遵循“适老化”设计,大字体、高对比度、操作简单。
|
||||
- **安全性**: 交易、支付、个人信息等敏感数据必须加密传输和存储。
|
||||
- **可扩展性**: 架构设计应支持未来新品类、新城市、新业务模式(如积分商城、上门回收)的快速扩展。
|
||||
|
||||
---
|
||||
|
||||
## 8. 版本迭代规划 (Roadmap)
|
||||
- **V1.0 (MVP)**:
|
||||
- 核心功能: C端 + B端核心回收流程、管理后台基础框架(品类价格、订单查看)。
|
||||
- 目标: 跑通商业模式闭环。
|
||||
- **V1.1**:
|
||||
- 新增功能: 物流端H5、后台物流管理、后台小站管理、C端提现功能。
|
||||
- 目标: 引入物流角色,实现规范化清运。
|
||||
- **V1.2**:
|
||||
- 新增功能: C端积分商城、后台财务结算模块、数据报表优化。
|
||||
- 目标: 探索增值服务,提升运营效率。
|
||||
|
||||
---
|
||||
**文档结束**
|
||||
214
01_设计/用户故事.md
Normal file
214
01_设计/用户故事.md
Normal file
@@ -0,0 +1,214 @@
|
||||
# 用户故事 (User Stories) - 绿邻回收项目
|
||||
|
||||
> 本文档旨在通过具体的用户故事,详细描述“绿邻回收”项目中不同角色的需求、行为和期望,从而指导产品设计与开发。
|
||||
|
||||
---
|
||||
|
||||
## 角色一:老百姓 (C端用户)
|
||||
|
||||
### 1.1. 核心诉求:方便、省心、价格透明地卖掉家里的废品
|
||||
|
||||
#### **用户画像:王大妈**
|
||||
- **身份**: 65岁退休居民,社区活跃分子。
|
||||
- **习惯**: 精打细算,会用微信基础功能(聊天、发朋友圈、支付),但对复杂App有畏惧心理。
|
||||
- **痛点**: 楼下收废品的小贩时间不固定,价格随口报,还总想压价
|
||||
|
||||
### 1.2. 用户故事
|
||||
|
||||
#### **故事1:查看回收价格**
|
||||
- **作为** 王大妈,
|
||||
- **我想要** 在出门前就能通过小程序看到今天纸壳子、塑料瓶卖多少钱一斤,
|
||||
- **以便于** 我决定今天是否值得跑一趟,并且心里有底,不怕被坑。
|
||||
|
||||
#### **故事2:找到最近的回收站**
|
||||
- **作为** 刚搬来小区的年轻人小张,
|
||||
- **我想要** 在小程序上用地图直接看到最近的回收站在哪,离我有多远,现在是否在营业,
|
||||
- **以便于** 我能快速方便地处理掉家里堆积的快递纸箱。
|
||||
|
||||
#### **故事3:极速卖品**
|
||||
- **作为** 王大妈,
|
||||
- **我想要** 到小站后,让站长扫一下我的手机二维码,他称重、确认后,钱就能马上到我的小程序账户里,并且能听到“收款成功,5块8”这样的语音提醒,
|
||||
- **以便于** 整个过程像在超市用付款码一样简单,不用我输密码、点确认,甚至不用掏手机看,听声音就知道交易成功了,非常安心。
|
||||
|
||||
#### **故事4:查看我的收入**
|
||||
- **作为** 王大妈,
|
||||
- **我想要** 在“我的”页面清楚地看到我的账户里还有多少钱,并且能翻看每一笔卖废品的记录,
|
||||
- **以便于** 我知道这个月靠卖废品攒了多少零花钱,感觉很有成就感。
|
||||
|
||||
---
|
||||
|
||||
## 角色二:小站管理员
|
||||
|
||||
### 2.1. 核心诉求:操作简单高效,不影响主业,账目清晰,交接方便
|
||||
|
||||
#### **用户画像:李老板**
|
||||
- **身份**: 45岁,社区便民超市店主,兼营回收小站。
|
||||
- **习惯**: 熟悉智能手机操作,对钱款非常敏感,追求效率。
|
||||
- **痛点**: 手工记账容易出错,废品堆在店里不知道什么时候能被拉走,跟司机交接时核对重量很麻烦。
|
||||
|
||||
### 2.2. 用户故事
|
||||
|
||||
#### **故事1:快速开始回收**
|
||||
- **作为** 李老板,
|
||||
- **我想要** 在小站端小程序首页最显眼的位置有一个“开始回收”的大按钮,
|
||||
- **以便于** 当有居民来卖废品时,我能一键进入回收
|
||||
流程。
|
||||
|
||||
#### **故事2:高效完成回收**
|
||||
- **作为** 李老板,
|
||||
- **我想要** 扫完居民的码后,直接在屏幕上点选“纸壳”、“塑料瓶”等大按钮,然后输入重量,系统能自动算出价格,
|
||||
- **以便于** 我可以快速完成一笔交易,减少顾客等待时间,尤其是在我超市生意忙的时候。
|
||||
|
||||
#### **故事3:查看今日战果**
|
||||
- **作为** 李老板,
|
||||
- **我想要** 在小程序首页看到今天收了多少单、各种废品有多重、总共收入了多少钱,
|
||||
- **以便于** 我能随时掌握回收业务的经营状况,做到心中有数。
|
||||
|
||||
#### **故事4:库存盘点与交接**
|
||||
- **作为** 李老板,
|
||||
- **我想要** 能在小程序里看到店里各种废品的库存重量,并且在库存快满时,能一键生成出库单并通知物流来收货,
|
||||
- **以便于** 我可以合理安排店铺空间,并与运输司机高效、准确地完成交接,避免扯皮。
|
||||
|
||||
---
|
||||
|
||||
## 角色三:下站运输员 (物流司机)
|
||||
|
||||
### 3.1. 核心诉求:路线清晰,任务明确,交接高效,权责分明
|
||||
|
||||
#### **用户画像:张师傅**
|
||||
- **身份**: 35岁,回收车队司机。
|
||||
- **习惯**: 每天需要跑多个点,时间观念强,不希望在交接流程上浪费时间。
|
||||
- **痛点**: 路线规划不合理导致绕路,手写单据字迹潦草易出错,跟小站站长核对重量时偶尔会发生争执。
|
||||
|
||||
### 3.2. 用户故事
|
||||
|
||||
#### **故事1:查看揽收任务**
|
||||
- **作为** 运输员张师傅,
|
||||
- **我想要** 在我的手机端(H5或小程序)看到今天所有需要去揽收的任务列表,并能一键开启导航,
|
||||
- **以便于** 我可以合理规划路线,节省运输时间。
|
||||
|
||||
#### **故事2:无纸化扫码交接**
|
||||
- **作为** 运输员张师傅,
|
||||
- **我想要** 到达小站后,直接扫描站长出示的出库二维码,手机上就能显示出待交接的品类和重量,
|
||||
- **以便于** 我可以快速核对,确认无误后双方点击确认即可完成交接,无需手写单据,高效且有据可查。
|
||||
|
||||
#### **故事3:更新任务状态**
|
||||
- **作为** 运输员张师傅,
|
||||
- **我想要** 在完成揽收、运输、入库等关键节点时,能在手机上方便地更新任务状态,
|
||||
- **以便于** 公司后台能实时了解我的工作进展,也方便了后续的流程协同。
|
||||
|
||||
---
|
||||
|
||||
## 角色四:大仓库管理员
|
||||
|
||||
### 4.1. 核心诉求:入库清晰,库存准确,出库便捷
|
||||
|
||||
#### **用户画像:赵主管**
|
||||
- **身份**: 50岁,城市大仓的仓库主管。
|
||||
- **习惯**: 工作严谨,对数据准确性要求高。
|
||||
- **痛点**: 司机运回来的货物品类和重量与预期不符,库存盘点耗时耗力,与下游打包站的销售记录对账困难。
|
||||
|
||||
### 4.2. 用户故事
|
||||
|
||||
#### **故事1:扫码确认入库**
|
||||
- **作为** 仓库主管赵主管,
|
||||
- **我想要** 在司机把废品运到大仓时,我能扫描他任务单上的二维码,系统就自动记录某某司机在什么时间、从哪些小站运来了多少斤什么废品,
|
||||
- **以便于** 我可以快速完成入库登记,保证数据的准确性,并自动更新仓库库存。
|
||||
|
||||
#### **故事2:实时库存监控**
|
||||
- **作为** 仓库主管赵主管,
|
||||
- **我想要** 在后台系统的大屏或电脑上,实时看到仓库里所有品类的库存量、存放位置和存放天数,
|
||||
- **以便于** 我可以合理规划仓储空间,并在某种废品库存达到一定数量时,及时安排出库销售。
|
||||
|
||||
#### **故事3:生成出库单**
|
||||
- **作为** 仓库主管赵主管,
|
||||
- **我想要** 当联系好下游的打包站后,能在系统里选择品类和重量,一键生成标准化的出库单,
|
||||
- **以便于** 我可以指导工人备货,并作为与打包站结算的凭证,让整个出库流程规范化。
|
||||
|
||||
---
|
||||
|
||||
## 角色五:区域经理
|
||||
|
||||
### 5.1. 核心诉求:全局掌控,数据驱动,精细运营
|
||||
|
||||
#### **用户画像:小陈**
|
||||
- **身份**: 28岁,公司运营经理,负责一个城市的业务。
|
||||
- **习惯**: 擅长使用各类办公软件,关注数据报表,希望通过数据发现问题、驱动决策。
|
||||
- **痛点**: 无法实时了解各小站的经营状况,调整价格需要层层通知效率低,缺乏有效的数据来评估业务健康度。
|
||||
|
||||
### 5.2. 用户故事
|
||||
|
||||
#### **故事1:查看运营数据大盘**
|
||||
- **作为** 区域经理小陈,
|
||||
- **我想要** 在管理后台的首页看到一个数据驾驶舱,实时展示今日交易额、活跃用户数、各小站回收量排名、各品类回收趋势图等核心KPI,
|
||||
- **以便于** 我能一目了然地掌握整个区域的业务动态,快速发现异常。
|
||||
|
||||
#### **故事2:动态调整回收价格**
|
||||
- **作为** 区域经理小陈,
|
||||
- **我想要** 当废品市场价格波动时,能在后台方便地调整某个或所有小站的某个品类的回收单价,并且能立即生效,
|
||||
- **以便于** 我可以灵活应对市场变化,保证公司的利润空间,同时保持对用户的吸引力。
|
||||
|
||||
#### **故事3:管理与拓展小站**
|
||||
- **作为** 区域经理小陈,
|
||||
- **我想要** 在后台看到所有小站的地理分布、状态和详细信息,并能处理新的小站入驻申请,
|
||||
- **以便于** 我可以进行精细化的小站运营管理,并为BD团队的拓展工作提供数据支持。
|
||||
|
||||
---
|
||||
|
||||
## 角色六:后台系统运维人员
|
||||
|
||||
### 6.1. 核心诉求:保障系统稳定、安全、高效运行
|
||||
|
||||
#### **用户画像:老周**
|
||||
- **身份**: 38岁,公司IT运维工程师。
|
||||
- **习惯**: 熟悉服务器运维、数据库管理、系统监控工具。
|
||||
- **痛点**: 系统出问题时缺乏实时告警,日志分散难以排查,版本更新缺乏回滚机制,安全漏洞修复不及时可能影响业务。
|
||||
|
||||
### 6.2. 用户故事
|
||||
|
||||
#### **故事1:实时监控与告警**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 在运维后台或监控平台上实时查看服务器、数据库、网络的运行状态,并在出现异常(如CPU过高、数据库连接数过多、接口响应超时)时收到短信/邮件/企业微信告警,
|
||||
- **以便于** 我能第一时间介入处理,减少系统宕机时间,保障业务连续性。
|
||||
|
||||
#### **故事2:集中化日志管理**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 所有服务端、数据库、应用日志能集中到一个可检索的平台(如ELK、Grafana Loki),并支持按时间、关键字、服务模块快速筛选,
|
||||
- **以便于** 我能高效定位问题根源,缩短故障排查时间。
|
||||
|
||||
#### **故事3:安全与权限管理**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 能定期查看和管理系统的访问权限、API密钥、数据库账号,并对异常登录行为进行告警,
|
||||
- **以便于** 我能防止未授权访问,保障数据和系统安全。
|
||||
|
||||
#### **故事4:版本更新与回滚**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 在发布新版本时,系统能自动备份当前版本,并在新版本出现严重问题时一键回滚,
|
||||
- **以便于** 我能快速恢复系统到稳定状态,减少对业务的影响。
|
||||
|
||||
#### **故事5:容量与性能规划**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 定期查看系统的资源使用趋势(CPU、内存、磁盘、带宽),并在接近阈值时收到扩容建议,
|
||||
- **以便于** 我能提前规划资源,避免因资源不足导致的性能下降或宕机。
|
||||
|
||||
### 6.3. 业务运维扩展故事
|
||||
|
||||
#### **故事6:添加和管理站点信息**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 在后台可以方便地添加新的回收小站信息,包括名称、地址、地理位置、负责人联系方式、营业时间等,
|
||||
- **以便于** 新站点能快速接入系统并开始运营,同时保持站点信息的准确性。
|
||||
|
||||
#### **故事7:定义产品分类和价格**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 在后台可以新增、修改、停用回收品类,并为不同区域或站点设置不同的回收价格,
|
||||
- **以便于** 系统能灵活应对市场价格波动和业务策略调整。
|
||||
|
||||
#### **故事8:设置物流损耗参数**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 在后台为不同品类设置合理的运输损耗比例(如纸壳运输损耗2%),
|
||||
- **以便于** 在结算时自动扣除损耗,保证财务数据的准确性和公平性。
|
||||
|
||||
#### **故事9:报警处理与上报**
|
||||
- **作为** 系统运维人员老周,
|
||||
- **我想要** 在收到系统或业务异常报警(如库存异常、交易异常、物流延误)时,可以在后台查看详情、处理并记录处理结果,同时支持一键上报给相关负责人,
|
||||
- **以便于** 异常问题能被快速响应和闭环处理,减少对业务的影响。
|
||||
Reference in New Issue
Block a user