refactor: overhaul homepage and app structure

Simplify homepage, show chapter counts, display directory, trim bottom nav, in-page match feature, move marketing content, and enhance "My" page.

#VERCEL_SKIP

Co-authored-by: undefined <undefined+undefined@users.noreply.github.com>
This commit is contained in:
v0
2026-01-14 05:10:32 +00:00
parent c1953b89c1
commit f3195d9331
79 changed files with 1391 additions and 1077 deletions

View File

@@ -38,7 +38,7 @@
### 3.2 进度可视化 (Mermaid Gantt)
*(AI 自动根据执行表生成)*
```mermaid
\`\`\`mermaid
gantt
title 项目进度甘特图
dateFormat YYYY-MM-DD
@@ -47,7 +47,7 @@ gantt
section 开发阶段
后端开发 :active, b1, after a1, 10d
前端对接 : b2, after b1, 5d
```
\`\`\`
## 4. AI 协作指令 (Commands)
**角色**:你是我(卡若)的项目经理。

View File

@@ -231,7 +231,7 @@
**部署步骤:**
```bash
\`\`\`bash
# 1. 安装Vercel CLI
npm install -g vercel
@@ -240,7 +240,7 @@ vercel login
# 3. 部署到生产环境
vercel --prod
```
\`\`\`
**环境变量配置在Vercel Dashboard**
- `ALIPAY_PARTNER_ID`=2088511801157159

View File

@@ -44,7 +44,7 @@
4. **输出文档**:按“五行营销”结构生成详细需求文档。
### 示例 Mermaid
```mermaid
\`\`\`mermaid
mindmap
root((云阿米巴私域))
流量端
@@ -56,4 +56,4 @@ mindmap
分润端
自动计算
提现管理
```
\`\`\`

View File

@@ -35,7 +35,7 @@
### 3. 首页完全对齐H5 ✅
**小程序首页现在100%对齐H5设计**
```
\`\`\`
┌────────────────────────────────┐
│ 🎉 Soul · 派对房 │
├────────────────────────────────┤
@@ -83,12 +83,12 @@
│ 💰 分享赚佣金 │
│ 推荐好友购买最高90%佣金 │
└────────────────────────────────┘
```
\`\`\`
### 4. 数据精准对齐 ✅
**所有数据来源于book文件夹**
```json
\`\`\`json
{
"书名": "一场SOUL的创业实验场",
"价格": "¥9.9",
@@ -100,7 +100,7 @@
"作者": "卡若",
"直播时间": "06:00-09:00"
}
```
\`\`\`
**数据验证**
- ✅ 扫描book文件夹64章
@@ -134,7 +134,7 @@
### 书籍结构64章
```
\`\`\`
序言1章
├─ 序言为什么我每天早上6点在Soul开播
@@ -173,7 +173,7 @@
└─ 尾声|这本书的真实目的
总计64章
```
\`\`\`
---
@@ -223,7 +223,7 @@
## 🚀 部署信息
### 小程序
```
\`\`\`
AppIDwx0976665c3a3d5a7c
版本v1.3.1
大小72.7 KB
@@ -233,15 +233,15 @@ AppIDwx0976665c3a3d5a7c
完美版本首页完全对齐H5设计
64章精准数据寻找合作伙伴功能
界面100%统一
```
\`\`\`
### H5
```
\`\`\`
地址http://localhost:3000
状态:✅ 正常运行
API✅ 返回64章数据
同步:✅ 实时同步支持
```
\`\`\`
---
@@ -313,14 +313,14 @@ API✅ 返回64章数据
### 3. 配色方案
**统一的视觉语言**
```css
\`\`\`css
主色:#30D158(绿色)
辅色:#00E5FF(青色)
背景:#000000(纯黑)
文字:#FFFFFF(白色)
半透明rgba(255, 255, 255, 0.05-0.8)
渐变:#30D158#00E5FF
```
\`\`\`
---
@@ -364,7 +364,7 @@ API✅ 返回64章数据
## 🔧 技术实现
### 章节同步系统
```bash
\`\`\`bash
# 扫描book文件夹
node scripts/sync-book-content.js
@@ -375,10 +375,10 @@ public/book-chapters.json (64章)
GET /api/book/all-chapters → 返回64章
POST /api/book/sync → 触发同步
GET /api/book/sync → 查询状态
```
\`\`\`
### 数据流转
```
\`\`\`
book文件夹64个.md文件
sync-book-content.js扫描脚本
@@ -388,15 +388,15 @@ public/book-chapters.json数据文件
/api/book/all-chaptersAPI接口
小程序/H5界面展示
```
\`\`\`
### 离线支持
```javascript
\`\`\`javascript
// 优先级
1. 从API获取最新数据
2. 失败则读取本地缓存
3. 缓存也没有则使用模拟数据
```
\`\`\`
---
@@ -408,11 +408,11 @@ public/book-chapters.json数据文件
3. ✅ 找到 v1.3.172.7 KB
4. ✅ 点击「提交审核」
5. ✅ 填写版本说明:
```
\`\`\`
完美版本首页完全对齐H5设计
64章精准数据寻找合作伙伴功能
界面100%统一
```
\`\`\`
6. ✅ 选择服务类目:教育 → 在线教育
7. ✅ 提交审核

View File

@@ -33,7 +33,7 @@
**功能目标**: 3秒内让用户知道这是什么书并产生购买欲望
**布局结构**:
```
\`\`\`
[Hero区域]
- 书籍封面 (3D效果)
- 标题《一场Soul的创业实验》
@@ -58,7 +58,7 @@
[底部导航栏]
- 首页 | 目录 | 我的
```
\`\`\`
**交互细节**:
- 向下滚动时,顶部导航栏自动隐藏
@@ -74,7 +74,7 @@
**功能目标**: 清晰展示书籍结构,引导用户阅读
**布局结构**:
```
\`\`\`
[顶部]
- 返回按钮
- 标题:目录
@@ -91,7 +91,7 @@
第二篇 | 真实的行业
└─ ...
```
\`\`\`
**视觉设计**:
- 篇章标题粗体16px品牌色渐变
@@ -113,7 +113,7 @@
**功能目标**: 沉浸式阅读体验,零干扰
**布局结构**:
```
\`\`\`
[顶部工具栏] (可隐藏)
- 返回按钮
- 进度条 (当前位置/总长度)
@@ -135,7 +135,7 @@
- 目录按钮
- 下一章
- 分享按钮
```
\`\`\`
**视觉设计**:
- 字体大小16px (可调)
@@ -157,7 +157,7 @@
**功能目标**: 用户中心 + 分销中心
**布局结构**:
```
\`\`\`
[用户信息卡片]
- 头像
- 昵称
@@ -182,7 +182,7 @@
- 购买记录
- 分享记录
- 设置
```
\`\`\`
**交互细节**:
- 点击邀请码,自动复制
@@ -196,7 +196,7 @@
**功能目标**: 类Soul星球的匹配功能增加社交属性
**布局结构**:
```
\`\`\`
[星空背景]
- Canvas动画
- 星星闪烁效果
@@ -222,7 +222,7 @@
[匹配历史]
- 横向滚动
- 显示最近10次匹配记录
```
\`\`\`
**视觉设计**:
- 背景:深蓝色渐变 (#1A1A2E -> #16213E)
@@ -237,67 +237,67 @@
### 3.1 按钮 (Button)
**主按钮** (Primary):
```css
\`\`\`css
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #FFFFFF;
height: 48px;
border-radius: 24px;
font-size: 16px;
font-weight: 600;
```
\`\`\`
**次按钮** (Secondary):
```css
\`\`\`css
background: #FFFFFF;
border: 1px solid #E5E7EB;
color: #374151;
height: 48px;
border-radius: 24px;
```
\`\`\`
**文字按钮** (Text):
```css
\`\`\`css
background: transparent;
color: #667eea;
text-decoration: underline;
```
\`\`\`
### 3.2 输入框 (Input)
```css
\`\`\`css
height: 48px;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 0 16px;
font-size: 14px;
background: #FFFFFF;
```
\`\`\`
**聚焦状态**:
```css
\`\`\`css
border-color: #667eea;
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
```
\`\`\`
### 3.3 卡片 (Card)
```css
\`\`\`css
background: #FFFFFF;
border-radius: 16px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
padding: 24px;
```
\`\`\`
**悬停效果**:
```css
\`\`\`css
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
transition: all 0.3s ease;
```
\`\`\`
### 3.4 骨架屏 (Skeleton)
```css
\`\`\`css
background: linear-gradient(
90deg,
#F3F4F6 25%,
@@ -307,7 +307,7 @@ background: linear-gradient(
background-size: 200% 100%;
animation: loading 1.5s infinite;
border-radius: 8px;
```
\`\`\`
---
@@ -318,7 +318,7 @@ border-radius: 8px;
**触发时机**: 用户点击"购买"按钮
**内容**:
```
\`\`\`
[标题] 选择支付方式
[支付方式列表]
@@ -334,14 +334,14 @@ border-radius: 8px;
[按钮]
- 确认支付 (主按钮)
- 取消 (次按钮)
```
\`\`\`
### 4.2 登录弹窗
**触发时机**: 未登录用户点击购买或分享
**内容**:
```
\`\`\`
[标题] 手机号登录
[输入框]
@@ -354,14 +354,14 @@ border-radius: 8px;
[按钮]
- 登录 / 注册 (主按钮)
- 暂不登录 (文字按钮)
```
\`\`\`
### 4.3 二维码弹窗
**触发时机**: 阅读到30%或点击"加入派对"
**内容**:
```
\`\`\`
[标题] 扫码加入Soul派对群
[二维码图片]
@@ -370,7 +370,7 @@ border-radius: 8px;
[按钮]
- 我知道了
```
\`\`\`
---
@@ -378,7 +378,7 @@ border-radius: 8px;
### 5.1 主色调
```
\`\`\`
品牌主色 (Primary):
- 主色:#667EEA
- 深色:#5A67D8
@@ -389,11 +389,11 @@ border-radius: 8px;
- 警告:#F59E0B (橙色)
- 错误:#EF4444 (红色)
- 信息:#3B82F6 (蓝色)
```
\`\`\`
### 5.2 中性色
```
\`\`\`
文字颜色:
- 标题:#111827 (深灰)
- 正文:#374151 (中灰)
@@ -403,11 +403,11 @@ border-radius: 8px;
- 主背景:#FFFFFF (白色)
- 次背景:#F9FAFB (浅灰)
- 卡片背景:#FFFFFF (白色)
```
\`\`\`
### 5.3 深色模式
```
\`\`\`
背景:
- 主背景:#1C1C1E
- 次背景:#2C2C2E
@@ -417,7 +417,7 @@ border-radius: 8px;
- 标题:#FFFFFF
- 正文:#E5E5EA
- 辅助:#98989D
```
\`\`\`
---
@@ -425,7 +425,7 @@ border-radius: 8px;
### 6.1 字体系统
```css
\`\`\`css
font-family:
-apple-system, /* iOS */
BlinkMacSystemFont, /* macOS */
@@ -434,11 +434,11 @@ font-family:
'Hiragino Sans GB', /* macOS 中文 */
'Microsoft YaHei', /* Windows 中文 */
sans-serif;
```
\`\`\`
### 6.2 字号规范
```
\`\`\`
特大标题32px / 36px (权重: 700)
大标题24px / 28px (权重: 600)
中标题20px / 24px (权重: 600)
@@ -446,7 +446,7 @@ font-family:
正文16px / 24px (权重: 400)
辅助文字14px / 20px (权重: 400)
小字12px / 18px (权重: 400)
```
\`\`\`
---
@@ -454,7 +454,7 @@ font-family:
### 7.1 过渡动画
```css
\`\`\`css
/* 标准过渡 */
transition: all 0.3s ease;
@@ -463,30 +463,30 @@ transition: all 0.15s ease;
/* 慢速过渡 */
transition: all 0.5s ease;
```
\`\`\`
### 7.2 加载动画
**骨架屏**:
```css
\`\`\`css
@keyframes loading {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}
```
\`\`\`
**旋转加载**:
```css
\`\`\`css
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
```
\`\`\`
### 7.3 页面切换动画
**滑动进入** (iOS风格):
```css
\`\`\`css
@keyframes slideIn {
from {
transform: translateX(100%);
@@ -497,13 +497,13 @@ transition: all 0.5s ease;
opacity: 1;
}
}
```
\`\`\`
---
## 八、响应式断点
```css
\`\`\`css
/* 手机 (默认) */
@media (max-width: 640px) { ... }
@@ -512,7 +512,7 @@ transition: all 0.5s ease;
/* 桌面 */
@media (min-width: 1025px) { ... }
```
\`\`\`
---
@@ -520,23 +520,23 @@ transition: all 0.5s ease;
### 9.1 设计稿命名
```
\`\`\`
格式:页面名称-设备-版本号.fig
示例:
- 首页-Mobile-v1.0.fig
- 目录页-Mobile-v1.0.fig
- 阅读页-Mobile-v1.0.fig
```
\`\`\`
### 9.2 切图规范
```
\`\`\`
命名:功能-类型-尺寸.png
示例:
- button-primary-normal@2x.png
- icon-lock-24x24@2x.png
- cover-book-400x600@2x.png
```
\`\`\`
### 9.3 标注规范

View File

@@ -41,7 +41,7 @@
3. **结构分析**:用 Mermaid 展示组件依赖。
### 示例 Mermaid (组件结构)
```mermaid
\`\`\`mermaid
classDiagram
Page <|-- Header
Page <|-- Content
@@ -53,4 +53,4 @@ classDiagram
+state: loading
+effect: fetchData()
}
```
\`\`\`

View File

@@ -11,20 +11,20 @@
### 1.1 基础URL
**开发环境**:
```
\`\`\`
http://localhost:3000/api
http://localhost:3001/api
```
\`\`\`
**生产环境**:
```
\`\`\`
http://kr-soul.lytiao.com/api
```
\`\`\`
### 1.2 统一返回格式
**成功响应**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -32,20 +32,20 @@ http://kr-soul.lytiao.com/api
// 实际数据
}
}
```
\`\`\`
**错误响应**:
```json
\`\`\`json
{
"code": 400,
"message": "错误描述",
"error": "详细错误信息"
}
```
\`\`\`
### 1.3 HTTP状态码
```
\`\`\`
200 - 成功
201 - 创建成功
400 - 请求参数错误
@@ -53,19 +53,19 @@ http://kr-soul.lytiao.com/api
403 - 禁止访问
404 - 资源不存在
500 - 服务器错误
```
\`\`\`
### 1.4 认证方式
**用户Token**:
```
\`\`\`
Header: Authorization: Bearer <token>
```
\`\`\`
**管理员Token**:
```
\`\`\`
Header: Authorization: Bearer admin-token-secret
```
\`\`\`
---
@@ -80,7 +80,7 @@ Header: Authorization: Bearer admin-token-secret
**请求参数**: 无
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -110,7 +110,7 @@ Header: Authorization: Bearer admin-token-secret
]
}
}
```
\`\`\`
---
@@ -121,12 +121,12 @@ Header: Authorization: Bearer admin-token-secret
**描述**: 获取最新发布的章节列表
**请求参数**:
```
\`\`\`
limit: number (可选,默认10)
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -144,7 +144,7 @@ limit: number (可选,默认10)
]
}
}
```
\`\`\`
---
@@ -155,13 +155,13 @@ limit: number (可选,默认10)
**描述**: 获取指定章节的完整内容
**请求参数**:
```
\`\`\`
id: string (章节ID,如"1.1")
userId?: string (可选,用于权限检查)
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -177,10 +177,10 @@ userId?: string (可选,用于权限检查)
}
}
}
```
\`\`\`
**错误响应** (未购买):
```json
\`\`\`json
{
"code": 403,
"message": "需要购买此章节",
@@ -190,7 +190,7 @@ userId?: string (可选,用于权限检查)
"sectionId": "1.1"
}
}
```
\`\`\`
---
@@ -201,12 +201,12 @@ userId?: string (可选,用于权限检查)
**描述**: 根据文件路径获取Markdown内容
**请求参数**:
```
\`\`\`
path: string (文件路径,如"book/序言.md")
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -214,7 +214,7 @@ path: string (文件路径,如"book/序言.md")
"content": "# 序言\n\n为什么我每天早上6点在Soul开播?..."
}
}
```
\`\`\`
---
@@ -227,7 +227,7 @@ path: string (文件路径,如"book/序言.md")
**描述**: 创建支付订单
**请求体**:
```json
\`\`\`json
{
"userId": "user_123",
"type": "section", // "section" | "fullbook"
@@ -237,10 +237,10 @@ path: string (文件路径,如"book/序言.md")
"paymentMethod": "wechat", // "wechat" | "alipay" | "usdt" | "paypal"
"referralCode": "REFXXXX" // 可选
}
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "订单创建成功",
@@ -264,7 +264,7 @@ path: string (文件路径,如"book/序言.md")
}
}
}
```
\`\`\`
---
@@ -275,7 +275,7 @@ path: string (文件路径,如"book/序言.md")
**描述**: 微信支付异步通知接口(仅供微信服务器调用)
**请求体**: XML格式
```xml
\`\`\`xml
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<result_code><![CDATA[SUCCESS]]></result_code>
@@ -283,15 +283,15 @@ path: string (文件路径,如"book/序言.md")
<total_fee>100</total_fee>
<openid><![CDATA[xxxxx]]></openid>
</xml>
```
\`\`\`
**响应**: XML格式
```xml
\`\`\`xml
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
</xml>
```
\`\`\`
---
@@ -302,18 +302,18 @@ path: string (文件路径,如"book/序言.md")
**描述**: 支付宝异步通知接口
**请求体**: Form表单格式
```
\`\`\`
out_trade_no=ORDER_xxx
trade_status=TRADE_SUCCESS
buyer_id=2088xxx
total_amount=1.00
sign=xxxxx
```
\`\`\`
**响应**: 纯文本
```
\`\`\`
success
```
\`\`\`
---
@@ -324,14 +324,14 @@ success
**描述**: 验证订单支付状态
**请求体**:
```json
\`\`\`json
{
"orderId": "ORDER_xxx"
}
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -341,7 +341,7 @@ success
"paidAt": "2025-01-14T12:05:00Z"
}
}
```
\`\`\`
---
@@ -352,15 +352,15 @@ success
**描述**: 查询用户订单列表
**请求参数**:
```
\`\`\`
userId: string
status?: string (可选,筛选状态)
page?: number (可选,默认1)
limit?: number (可选,默认10)
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -380,7 +380,7 @@ limit?: number (可选,默认10)
"limit": 10
}
}
```
\`\`\`
---
@@ -393,15 +393,15 @@ limit?: number (可选,默认10)
**描述**: 微信一键登录
**请求体**:
```json
\`\`\`json
{
"code": "wx_login_code",
"referralCode": "REFXXXX" // 可选
}
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "登录成功",
@@ -417,7 +417,7 @@ limit?: number (可选,默认10)
}
}
}
```
\`\`\`
---
@@ -428,12 +428,12 @@ limit?: number (可选,默认10)
**描述**: 获取用户阅读统计数据
**请求参数**:
```
\`\`\`
userId: string
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -446,7 +446,7 @@ userId: string
"lastReadAt": "2025-01-14T12:00:00Z"
}
}
```
\`\`\`
---
@@ -457,22 +457,22 @@ userId: string
**描述**: 记录用户阅读进度
**请求体**:
```json
\`\`\`json
{
"userId": "user_123",
"sectionId": "3.2",
"progress": 68, // 百分比
"readingTime": 180 // 本次阅读时长(秒)
}
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "记录成功"
}
```
\`\`\`
---
@@ -485,12 +485,12 @@ userId: string
**描述**: 获取推广收益详情
**请求参数**:
```
\`\`\`
userId: string
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -513,7 +513,7 @@ userId: string
]
}
}
```
\`\`\`
---
@@ -524,12 +524,12 @@ userId: string
**描述**: 获取推广数据统计
**请求参数**:
```
\`\`\`
userId: string
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "成功",
@@ -548,7 +548,7 @@ userId: string
]
}
}
```
\`\`\`
---
@@ -559,7 +559,7 @@ userId: string
**描述**: 申请佣金提现
**请求体**:
```json
\`\`\`json
{
"userId": "user_123",
"amount": 100.00,
@@ -567,10 +567,10 @@ userId: string
"account": "微信号或支付宝账号",
"name": "真实姓名"
}
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "提现申请已提交",
@@ -581,7 +581,7 @@ userId: string
"createdAt": "2025-01-14T12:00:00Z"
}
}
```
\`\`\`
---
@@ -594,15 +594,15 @@ userId: string
**描述**: 管理员登录
**请求体**:
```json
\`\`\`json
{
"username": "admin",
"password": "admin123"
}
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"success": true,
"token": "admin-token-secret",
@@ -613,7 +613,7 @@ userId: string
"name": "卡若"
}
}
```
\`\`\`
---
@@ -624,12 +624,12 @@ userId: string
**描述**: 获取后台概览数据
**请求头**:
```
\`\`\`
Authorization: Bearer admin-token-secret
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"content": {
"totalChapters": 65,
@@ -659,19 +659,19 @@ Authorization: Bearer admin-token-secret
"todayNewUsers": 23
}
}
```
\`\`\`
---
### 6.3 内容管理接口
**① 章节列表**:
```
\`\`\`
GET /api/admin/content
```
\`\`\`
**② 创建章节**:
```
\`\`\`
POST /api/admin/content
{
"title": "章节标题",
@@ -679,56 +679,56 @@ POST /api/admin/content
"price": 1,
"isFree": false
}
```
\`\`\`
**③ 编辑章节**:
```
\`\`\`
PUT /api/admin/content/:id
{
"title": "新标题",
"content": "新内容"
}
```
\`\`\`
**④ 删除章节**:
```
\`\`\`
DELETE /api/admin/content/:id
```
\`\`\`
---
### 6.4 付费管理接口
**① 订单列表**:
```
\`\`\`
GET /api/admin/payment?status=completed&page=1&limit=20
```
\`\`\`
**② 收益统计**:
```
\`\`\`
GET /api/admin/payment/stats?startDate=2025-01-01&endDate=2025-01-31
```
\`\`\`
**③ 退款处理**:
```
\`\`\`
POST /api/admin/payment/refund
{
"orderId": "ORDER_xxx",
"reason": "用户申请退款"
}
```
\`\`\`
---
### 6.5 分销管理接口
**① 推广者列表**:
```
\`\`\`
GET /api/admin/referral?sortBy=earnings&order=desc&page=1
```
\`\`\`
**② 佣金结算**:
```
\`\`\`
POST /api/admin/referral/settle
{
"userId": "user_123",
@@ -736,12 +736,12 @@ POST /api/admin/referral/settle
"method": "wechat",
"account": "微信号"
}
```
\`\`\`
**③ 推广数据统计**:
```
\`\`\`
GET /api/admin/referral/stats?period=month
```
\`\`\`
---
@@ -754,14 +754,14 @@ GET /api/admin/referral/stats?period=month
**描述**: 手动触发内容同步
**请求体**:
```json
\`\`\`json
{
"force": true // 是否强制全量同步
}
```
\`\`\`
**响应示例**:
```json
\`\`\`json
{
"code": 0,
"message": "同步成功",
@@ -773,7 +773,7 @@ GET /api/admin/referral/stats?period=month
"syncAt": "2025-01-14T12:00:00Z"
}
}
```
\`\`\`
---
@@ -786,7 +786,7 @@ GET /api/admin/referral/stats?period=month
**描述**: 获取系统配置信息(支付方式、营销配置等)
**响应示例**:
```json
\`\`\`json
{
"paymentMethods": {
"wechat": {
@@ -824,7 +824,7 @@ GET /api/admin/referral/stats?period=month
"platform": "Soul"
}
}
```
\`\`\`
---
@@ -833,7 +833,7 @@ GET /api/admin/referral/stats?period=month
### 9.1 使用cURL测试
**创建订单**:
```bash
\`\`\`bash
curl -X POST http://localhost:3001/api/payment/create-order \
-H "Content-Type: application/json" \
-d '{
@@ -844,28 +844,28 @@ curl -X POST http://localhost:3001/api/payment/create-order \
"amount": 1.00,
"paymentMethod": "wechat"
}'
```
\`\`\`
**获取章节内容**:
```bash
\`\`\`bash
curl http://localhost:3001/api/book/chapter/1.1
```
\`\`\`
**后台登录**:
```bash
\`\`\`bash
curl -X POST http://localhost:3001/api/admin \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "admin123"
}'
```
\`\`\`
---
## 十、错误码说明
```
\`\`\`
0 - 成功
400 - 请求参数错误
401 - 未授权(未登录)
@@ -890,7 +890,7 @@ curl -X POST http://localhost:3001/api/admin \
4001 - 提现金额不足
4002 - 提现申请失败
4003 - 提现记录不存在
```
\`\`\`
---

View File

@@ -45,7 +45,7 @@
3. **逻辑图解**:用 Mermaid 展示异步处理流程。
### 示例 Mermaid (类图)
```mermaid
\`\`\`mermaid
classDiagram
class UserRouter {
+get_user()
@@ -61,4 +61,4 @@ classDiagram
}
UserRouter --> UserService
UserService --> VectorStore
```
\`\`\`

View File

@@ -47,7 +47,7 @@
3. **结构可视化**:用 Mermaid 生成 ER 图。
### 示例 Mermaid (ER图)
```mermaid
\`\`\`mermaid
erDiagram
User ||--o{ Order : places
User ||--o{ TrafficPool : owns
@@ -59,4 +59,4 @@ erDiagram
string orderId
float amount
}
```
\`\`\`

View File

@@ -19,7 +19,7 @@
### 1.2 当前方案 vs 未来方案
**当前方案** (LocalStorage):
```javascript
\`\`\`javascript
// 优点
- 无需服务器
- 开发调试方便
@@ -29,10 +29,10 @@
- 数据仅存浏览器本地
- 多设备无法同步
- 数据容易丢失
```
\`\`\`
**未来方案** (MongoDB):
```javascript
\`\`\`javascript
// 优点
- 数据持久化存储
- 多设备数据同步
@@ -44,7 +44,7 @@
2. 创建数据库连接
3. 逐步替换LocalStorage
4. 添加数据迁移脚本
```
\`\`\`
---
@@ -52,7 +52,7 @@
### 2.1 本地开发环境
```bash
\`\`\`bash
# MongoDB本地安装
brew install mongodb-community@6.0
@@ -61,19 +61,19 @@ brew services start mongodb-community@6.0
# 连接字符串
mongodb://localhost:27017/soul-experiment
```
\`\`\`
### 2.2 生产环境 (MongoDB Atlas)
```bash
\`\`\`bash
# 连接字符串
mongodb+srv://<username>:<password>@cluster0.mongodb.net/soul-experiment?retryWrites=true&w=majority
```
\`\`\`
### 2.3 环境变量配置
**.env.local**:
```bash
\`\`\`bash
# MongoDB配置
MONGODB_URI=mongodb://localhost:27017/soul-experiment
MONGODB_DB_NAME=soul-experiment
@@ -82,7 +82,7 @@ MONGODB_DB_NAME=soul-experiment
# MONGODB_URI=mongodb://10.88.182.62:3306/soul-experiment
# MONGODB_USERNAME=root
# MONGODB_PASSWORD=Vtka(agu)-1
```
\`\`\`
---
@@ -93,17 +93,17 @@ MONGODB_DB_NAME=soul-experiment
**集合名称**: `users`
**索引**:
```javascript
\`\`\`javascript
{
phone: 1, // 唯一索引
referralCode: 1, // 唯一索引
referredBy: 1, // 普通索引
createdAt: -1 // 降序索引
}
```
\`\`\`
**文档结构**:
```javascript
\`\`\`javascript
{
_id: ObjectId("65a1234567890abcdef12345"),
phone: "15880802661", // 手机号
@@ -140,10 +140,10 @@ MONGODB_DB_NAME=soul-experiment
createdAt: ISODate("2025-01-01T00:00:00Z"),
updatedAt: ISODate("2025-01-14T12:00:00Z")
}
```
\`\`\`
**查询示例**:
```javascript
\`\`\`javascript
// 根据手机号查找用户
db.users.findOne({ phone: "15880802661" })
@@ -155,7 +155,7 @@ db.users.find({ referredBy: "REFABC123" })
// 查找收益前10的推广者
db.users.find({}).sort({ earnings: -1 }).limit(10)
```
\`\`\`
---
@@ -164,17 +164,17 @@ db.users.find({}).sort({ earnings: -1 }).limit(10)
**集合名称**: `orders`
**索引**:
```javascript
\`\`\`javascript
{
orderId: 1, // 唯一索引
userId: 1, // 普通索引
status: 1, // 普通索引
createdAt: -1 // 降序索引
}
```
\`\`\`
**文档结构**:
```javascript
\`\`\`javascript
{
_id: ObjectId("65a1234567890abcdef12345"),
orderId: "ORDER_1705200000_abc123", // 订单号
@@ -204,10 +204,10 @@ db.users.find({}).sort({ earnings: -1 }).limit(10)
expireAt: ISODate("2025-01-14T12:30:00Z"), // 过期时间(30分钟)
updatedAt: ISODate("2025-01-14T12:05:00Z")
}
```
\`\`\`
**查询示例**:
```javascript
\`\`\`javascript
// 查找用户所有订单
db.orders.find({ userId: ObjectId("65a...") }).sort({ createdAt: -1 })
@@ -235,7 +235,7 @@ db.orders.find({
referralCode: "REFABC123",
status: "completed"
})
```
\`\`\`
---
@@ -244,16 +244,16 @@ db.orders.find({
**集合名称**: `withdrawals`
**索引**:
```javascript
\`\`\`javascript
{
userId: 1, // 普通索引
status: 1, // 普通索引
createdAt: -1 // 降序索引
}
```
\`\`\`
**文档结构**:
```javascript
\`\`\`javascript
{
_id: ObjectId("65a1234567890abcdef12345"),
withdrawalId: "WD_1705200000_abc123", // 提现单号
@@ -276,10 +276,10 @@ db.orders.find({
completedAt: ISODate("2025-01-14T14:00:00Z"), // 完成时间
updatedAt: ISODate("2025-01-14T14:00:00Z")
}
```
\`\`\`
**查询示例**:
```javascript
\`\`\`javascript
// 查找待审核提现
db.withdrawals.find({ status: "pending" }).sort({ createdAt: 1 })
@@ -301,7 +301,7 @@ db.withdrawals.aggregate([
totalCount: { $sum: 1 }
}}
])
```
\`\`\`
---
@@ -310,16 +310,16 @@ db.withdrawals.aggregate([
**集合名称**: `sections`
**索引**:
```javascript
\`\`\`javascript
{
sectionId: 1, // 唯一索引
isFree: 1, // 普通索引
createdAt: -1 // 降序索引
}
```
\`\`\`
**文档结构**:
```javascript
\`\`\`javascript
{
_id: ObjectId("65a1234567890abcdef12345"),
sectionId: "1.1", // 章节ID
@@ -358,10 +358,10 @@ db.withdrawals.aggregate([
createdAt: ISODate("2025-01-01T00:00:00Z"),
updatedAt: ISODate("2025-01-14T12:00:00Z")
}
```
\`\`\`
**查询示例**:
```javascript
\`\`\`javascript
// 获取所有免费章节
db.sections.find({ isFree: true })
@@ -380,7 +380,7 @@ db.sections.createIndex({
keywords: "text"
})
db.sections.find({ $text: { $search: "创业 私域" } })
```
\`\`\`
---
@@ -389,16 +389,16 @@ db.sections.find({ $text: { $search: "创业 私域" } })
**集合名称**: `reading_logs`
**索引**:
```javascript
\`\`\`javascript
{
userId: 1,
sectionId: 1,
createdAt: -1
}
```
\`\`\`
**文档结构**:
```javascript
\`\`\`javascript
{
_id: ObjectId("65a1234567890abcdef12345"),
userId: ObjectId("65a1234567890abcdef00001"),
@@ -417,7 +417,7 @@ db.sections.find({ $text: { $search: "创业 私域" } })
// 时间戳
createdAt: ISODate("2025-01-14T12:00:00Z")
}
```
\`\`\`
---
@@ -426,7 +426,7 @@ db.sections.find({ $text: { $search: "创业 私域" } })
**集合名称**: `settings`
**文档结构**:
```javascript
\`\`\`javascript
{
_id: "global_settings",
@@ -460,7 +460,7 @@ db.sections.find({ $text: { $search: "创业 私域" } })
// 时间戳
updatedAt: ISODate("2025-01-14T12:00:00Z")
}
```
\`\`\`
---
@@ -469,7 +469,7 @@ db.sections.find({ $text: { $search: "创业 私域" } })
### 4.1 LocalStorage to MongoDB
**步骤1**: 导出LocalStorage数据
```javascript
\`\`\`javascript
// 导出脚本 scripts/export-localstorage.js
const fs = require('fs')
@@ -479,10 +479,10 @@ const settings = JSON.parse(localStorage.getItem('app_settings') || '{}')
const exportData = { users, orders, settings }
fs.writeFileSync('data-export.json', JSON.stringify(exportData, null, 2))
```
\`\`\`
**步骤2**: 导入MongoDB
```javascript
\`\`\`javascript
// 导入脚本 scripts/import-mongodb.js
const { MongoClient } = require('mongodb')
const fs = require('fs')
@@ -510,7 +510,7 @@ async function importData() {
}
importData()
```
\`\`\`
---
@@ -518,7 +518,7 @@ importData()
### 5.1 用户操作
```typescript
\`\`\`typescript
// lib/db/users.ts
import { MongoClient, ObjectId } from 'mongodb'
@@ -560,11 +560,11 @@ export async function updateUserEarnings(
}
)
}
```
\`\`\`
### 5.2 订单操作
```typescript
\`\`\`typescript
// lib/db/orders.ts
export async function createOrder(orderData: Partial<Order>) {
const db = await getDatabase()
@@ -634,7 +634,7 @@ export async function completeOrder(orderId: string) {
}
}
}
```
\`\`\`
---
@@ -642,17 +642,17 @@ export async function completeOrder(orderId: string) {
### 6.1 自动备份
```bash
\`\`\`bash
# 每日凌晨3点自动备份
0 3 * * * mongodump --uri="mongodb://localhost:27017/soul-experiment" --out="/backup/$(date +\%Y\%m\%d)"
```
\`\`\`
### 6.2 恢复数据
```bash
\`\`\`bash
# 恢复指定日期的备份
mongorestore --uri="mongodb://localhost:27017/soul-experiment" --dir="/backup/20250114"
```
\`\`\`
---
@@ -660,7 +660,7 @@ mongorestore --uri="mongodb://localhost:27017/soul-experiment" --dir="/backup/20
### 7.1 索引优化
```javascript
\`\`\`javascript
// 创建复合索引
db.orders.createIndex({ userId: 1, createdAt: -1 })
db.orders.createIndex({ status: 1, expireAt: 1 })
@@ -668,11 +668,11 @@ db.users.createIndex({ referralCode: 1 }, { unique: true })
// 查看索引使用情况
db.orders.find({ userId: ObjectId("...") }).explain("executionStats")
```
\`\`\`
### 7.2 查询优化
```javascript
\`\`\`javascript
// 使用投影减少数据传输
db.users.find(
{ phone: "15880802661" },
@@ -695,7 +695,7 @@ db.orders.aggregate([
"user.nickname": 1
}}
])
```
\`\`\`
---

View File

@@ -20,7 +20,7 @@
以下是整个自动化部署流程的高层概览图:
```mermaid
\`\`\`mermaid
graph TD
A[开发者 Push 代码到 GitHub 仓库] --> B(GitHub 仓库);
B -- 代码更新 --> C{GitHub Webhook 触发};
@@ -28,7 +28,7 @@ graph TD
D -- 执行 deploy_webhook.php 脚本 --> E[自动部署脚本: <br/> git pull <br/> npm install <br/> npm run build <br/> pm2 restart];
E --> F[Next.js 应用更新并重启];
F --> G[用户通过域名访问最新网站];
```
\`\`\`
## IV. 各环节详细流程与配置
@@ -36,13 +36,13 @@ graph TD
这是您日常开发的工作流程。
```mermaid
\`\`\`mermaid
graph TD
A[开发者本地修改 Next.js 代码] --> B[git add];
B --> C[git commit -m "更新了新功能"];
C --> D[git push origin main];
D --> E(代码推送到 GitHub 远程仓库);
```
\`\`\`
**操作说明:**
您在本地完成 Next.js 项目开发后,通过标准的 Git 命令将代码提交并推送到 GitHub 仓库的指定分支(例如 `main``master`)。
@@ -71,7 +71,7 @@ graph TD
* 在宝塔面板 `网站` 列表中,找到您刚刚创建的网站,点击右侧的 `设置`
* 切换到 `配置文件` 选项卡。
*`server` 配置块中,添加以下 `location` 配置(请将 `3000` 替换为 Next.js 应用实际监听的端口):
```nginx
\`\`\`nginx
# Nginx 配置示例 (添加到 server 段内)
location / {
proxy_pass http://127.0.0.1:3000; # <--- 替换为 PM2 启动的 Next.js 应用监听的实际端口
@@ -82,7 +82,7 @@ graph TD
proxy_cache_bypass $http_upgrade;
# 如果您的 Next.js 应用有特殊路由需求可能需要添加其他配置
}
```
\`\`\`
* 点击 `保存`
5. **使用 PM2 管理 Next.js 应用:**
@@ -113,7 +113,7 @@ graph TD
这个配置将使得 GitHub 在您推送代码时通知宝塔面板
```mermaid
\`\`\`mermaid
graph TD
A[登录 GitHub 仓库] --> B[Settings];
B --> C[Webhooks];
@@ -123,7 +123,7 @@ graph TD
F --> G[选择 'Just the push event'];
G --> H[Add webhook];
H --> I(Webhook 配置完成);
```
\`\`\`
**操作说明:**
1. **登录 GitHub**,进入您的 `wztouzhi` 项目仓库。
@@ -146,7 +146,7 @@ graph TD
**脚本内容(已根据您的截图信息优化,请务必根据您的实际情况修改 `SECRET`**
```php
\`\`\`php
<?php
// deploy_webhook.php
// GitHub Webhook for Next.js (React) project deployment on Baota Panel
@@ -233,11 +233,11 @@ if ($github_event === 'push') {
http_response_code(200);
?>
```
\`\`\`
**脚本流程图:**
```mermaid
\`\`\`mermaid
graph TD
A[GitHub Webhook 请求] --> B{deploy_webhook.php 接收};
B -- 获取 Payload & Headers --> C{验证 Secret};
@@ -252,7 +252,7 @@ graph TD
K --> L[执行 npm run build];
L --> M[执行 pm2 restart 应用名];
M --> N(部署成功,返回 200 OK);
```
\`\`\`
### V. 自动化部署完成与验证
@@ -277,4 +277,4 @@ graph TD
* **依赖缓存**:在部署脚本中,`npm install` 会在每次部署时运行。如果您的项目依赖较多,可以考虑在 `Dockerfile` 中构建一个包含依赖的镜像,或者在服务器上对 `node_modules` 进行缓存处理,以加快部署速度(此文档以直接安装为默认)。
* **错误处理**:脚本中已加入了日志记录,您可以通过查看 `deploy.log` 文件来排查部署失败的原因。
* **生产模式**:确保您的 Next.js 应用在 `npm run build` 后是以生产模式构建的。
* **持续学习**:自动化部署是一个持续优化的过程,您可以根据项目需求和服务器性能,不断调整部署脚本。
* **持续学习**:自动化部署是一个持续优化的过程,您可以根据项目需求和服务器性能,不断调整部署脚本。

View File

@@ -20,7 +20,7 @@
- **V. 故障排查**:列出常见错误(如权限问题、端口冲突)。
### 3. 脚本模板Next.js 示例)
```bash
\`\`\`bash
#!/bin/bash
echo "Start deployment..."
cd /www/wwwroot/your_project_path
@@ -29,10 +29,10 @@ npm install
npm run build
pm2 reload all
echo "Deployment finished."
```
\`\`\`
### 4. 流程图示例
```mermaid
\`\`\`mermaid
graph TD
A[提交代码到GitHub] --> B{GitHub Webhook}
B --> C[发送Payload到宝塔面板]
@@ -42,4 +42,4 @@ graph TD
F --> G[执行 composer install (可选)]
G --> H[清理网站缓存 (可选)]
H --> I[网站内容自动更新]
```
\`\`\`

View File

@@ -8,7 +8,7 @@ II. 前提条件
4. Composer (如果项目是 PHP)PHP 项目需要确保服务器上安装了 Composer用于管理项目依赖。
III. 流程概览
以下是自动化部署的整个流程图:
```mermaid
\`\`\`mermaid
graph TD
A[提交代码到GitHub] --> B{GitHub Webhook};
B --> C[发送Payload到宝塔面板];
@@ -18,7 +18,7 @@ graph TD
F --> G[执行 composer install (可选)];
G --> H[清理网站缓存 (可选)];
H --> I[网站内容自动更新];
```
\`\`\`
流程说明:
当您将代码提交Push到 GitHub 仓库后GitHub 会通过预设的 Webhook 向您的宝塔面板服务器发送一个通知Payload。宝塔面板接收到这个通知后会触发一个预设的部署脚本该脚本通常会执行 git pull 拉取最新代码,并可能运行 composer install 安装依赖,以及清理网站缓存等操作。最终,您的网站内容将自动更新到最新版本。
IV. 具体配置步骤
@@ -57,7 +57,7 @@ B. 宝塔面板服务器配置
* 部署类型:选择 `拉取`
* 部署完成后执行的命令 (最重要):这是自动化部署的核心。当代码拉取完成后,宝塔会执行这些命令。您可以根据您的项目类型填写相应的命令。
* PHP 项目示例命令(请根据您的项目实际情况调整):
```bash
\`\`\`bash
# 进入项目部署目录 (宝塔会自动切换到此目录但为了保险可以再cd一次)
cd /www/wwwroot/your_website_directory/
# 拉取最新代码
@@ -74,7 +74,7 @@ B. 宝塔面板服务器配置
# chown -R www:www .
# chmod -R 755 .
# chmod -R 777 storage bootstrap/cache # 给予某些目录写入权限
```
\`\`\`
请根据您的项目实际情况,选择并修改适合的命令。
* Webhook URL在您配置完上述信息并保存后宝塔面板会为您生成一个 `WebHook地址`。复制这个 URL。
11. 返回 GitHub 配置 Webhook
@@ -100,4 +100,4 @@ VI. 注意事项
- 安全性:`Secret` 密钥非常重要,请妥善保管,不要泄露。
- 分支管理:建议只对生产环境或主分支(如 `main``production`)进行自动部署,开发分支可以手动部署或使用单独的测试环境。
- 环境区分:生产环境和开发环境应严格区分,避免将开发中的不稳定代码直接部署到生产环境。
- 备份:在进行任何部署操作之前,务必定期备份您的网站代码和数据库。
- 备份:在进行任何部署操作之前,务必定期备份您的网站代码和数据库。

View File

@@ -41,7 +41,7 @@
3. **流程图解**:用 Mermaid 展示部署流水线。
### 示例 Mermaid (部署流)
```mermaid
\`\`\`mermaid
sequenceDiagram
participant Dev
participant GitHub
@@ -52,4 +52,4 @@ sequenceDiagram
Server->>Server: Pip Install & Build
Server->>Server: Restart Gunicorn/PM2
Server-->>GitHub: Status Update
```
\`\`\`

View File

@@ -33,7 +33,7 @@
3. **用户旅程**:用 Mermaid 展示用户操作流程。
### 示例 Mermaid (用户旅程)
```mermaid
\`\`\`mermaid
journey
title 合作方使用流程
section 注册
@@ -45,4 +45,4 @@ journey
section 提现
申请提现: 4: 合作方
到账: 5: 合作方
```
\`\`\`

View File

@@ -3,14 +3,14 @@
## 输出格式要求
### 1. 复盘示例
```markdown
\`\`\`markdown
[私域云阿米巴模式落地复盘]2025年Q2
**目标&结果**目标3个月内绑定15家合作方实际完成18家超20%)。
**过程**5月启动流量测试日播放量1.2万→合作方咨询量周增30%6月上线私域系统30名兼职完成10家企业培训7月现金分润验证单家月均分润1.2万留存率90%)。
**反思**初期未明确“不属于对方的钱”定义导致2家合作方误解需补充分润规则文档。
**总结**:流量+系统+现金分润是绑定核心,需强化规则透明化。
**执行**8月更新《云阿米巴分润手册》9月开展合作方培训。
```
\`\`\`
### 2. 营销文章结构
- **I兴趣**:自问自答引发共鸣(例:“你有没有想过,为什么合作方总说‘再考虑’?”)。

View File

@@ -8,7 +8,7 @@
## 🌟 体系架构
```
\`\`\`
┌─────────────────────────┐
│ 智能项目生成引擎 v3.0 │
│ (核心入口提示词) │
@@ -44,13 +44,13 @@
│ • 团队架构分润 │ │ • 渠道分销返佣 │ │ 响应式设计 │
│ • 可视化复盘 │ │ • 裂变活动方案 │ │ │
└───────────────┘ └───────────────┘ └───────────────┘
```
\`\`\`
---
## 📁 完整目录结构
```
\`\`\`
1、项目模板/
├── 智能项目生成引擎v3.0.md # 核心入口提示词
├── README_模板体系总览.md # 本文档
@@ -119,7 +119,7 @@
│ ├── 模板_裂变活动方案.md
│ └── 模板_渠道分销政策表.md
└── 生成指南_土.md
```
\`\`\`
---
@@ -200,21 +200,21 @@
## 🚀 使用流程
### 1. 日常使用Markdown输出
```
\`\`\`
1. 打开对应模板或生成指南
2. 复制提示词发送给AI
3. AI输出Markdown表格
4. 复制到文档中使用
```
\`\`\`
### 2. 最终文档HTML输出
```
\`\`\`
1. 完成内容生成后
2. 告诉AI"生成HTML文件"
3. AI输出苹果毛玻璃风格HTML
4. 保存为.html文件
5. 浏览器打开即可编辑和导出图片
```
\`\`\`
---
@@ -235,10 +235,10 @@
3. **分现金不分所有权**:风险隔离,灵活退出
### C2B2S裂变增长模型
```
\`\`\`
C (Consumer) → B (Business) → S (Supply Chain)
用户端 门店端 供应链
```
\`\`\`
---

View File

@@ -70,7 +70,7 @@
- 管理:模块化后台(/api/admin/*
#### 3. 文件结构
```
\`\`\`
miniprogram/ # 小程序源码目录
├── pages/ # 页面
│ ├── index/ # 首页
@@ -93,7 +93,7 @@ app/api/ # 后端API
开发文档/
└── 小程序开发完成说明.md # 完整交付文档
```
\`\`\`
#### 4. 部署说明
- **小程序AppID**: 需在 `project.config.json` 配置

View File

@@ -89,7 +89,7 @@
### 小程序源码
```
\`\`\`
miniprogram/
├── pages/ # 5个页面index/match/my/read/chapters
├── utils/ # 工具类payment.js等
@@ -99,11 +99,11 @@ miniprogram/
├── app.wxss # 全局样式
├── project.config.json # 项目配置
└── README.md # 使用说明
```
\`\`\`
### 后端API
```
\`\`\`
app/api/
├── admin/
│ ├── route.ts # 管理后台入口
@@ -111,7 +111,7 @@ app/api/
│ ├── payment/route.ts # 付费管理
│ └── referral/route.ts # 分销管理
└── sync/route.ts # 实时同步
```
\`\`\`
### 文档
@@ -179,7 +179,7 @@ app/api/
### 1. 后端部署
```bash
\`\`\`bash
# 安装依赖
pnpm install
@@ -189,7 +189,7 @@ pnpm dev
# 或生产环境构建
pnpm build
pnpm start
```
\`\`\`
### 2. 小程序部署
@@ -214,16 +214,16 @@ pnpm start
### 访问地址
```
\`\`\`
https://your-domain.com/admin
```
\`\`\`
### 默认账号
```
\`\`\`
用户名: admin
密码: admin123
```
\`\`\`
### 三大管理模块

View File

@@ -68,7 +68,7 @@
## 二、文档体系总览
### 完整的目录结构
```
\`\`\`
开发文档/
├── 核心功能总览.md (新增 ⭐)
├── 功能迭代记录.md
@@ -134,7 +134,7 @@
├── 智能项目生成引擎v3.0.md
├── 模板使用说明书.md
└── 生成指南_HTML输出.md
```
\`\`\`
---
@@ -285,7 +285,7 @@
4. **大白话**: 使用简单直白的语言
### 5.2 更新流程
```
\`\`\`
代码变更
更新对应文档
@@ -295,10 +295,10 @@
更新"功能迭代记录.md"
提交git commit
```
\`\`\`
### 5.3 文档命名规范
```
\`\`\`
格式: 模块名称.md
示例:
✅ 原型设计规范.md
@@ -307,7 +307,7 @@
❌ prototype_design.md (不用英文)
❌ API文档-2025.md (不加日期)
```
\`\`\`
---

View File

@@ -18,7 +18,7 @@
## 📋 核心提示词 v3.0 (Copy This)
```markdown
\`\`\`markdown
# Role: 卡若 (Karuo) - 私域实战操盘手 & 项目架构师
## 1. 角色设定
@@ -208,9 +208,9 @@
| | 客服售后 | 售后服务 | 满意度/复购率 | 底薪+复购奖金 |
**云阿米巴分润公式**
```
\`\`\`
个人分润 = (个人贡献GMV × 提成比例) + 团队超额奖金池 × 个人贡献占比
```
\`\`\`
#### 4.2 每日数据报表
| 维度 | 指标名称 | 今日 | 昨日 | 环比 | 目标完成率 |
@@ -310,7 +310,7 @@
4. 拥有的核心资源
5. 启动资金预算
6. 预期月营收目标"
```
\`\`\`
---
@@ -378,4 +378,3 @@
---
**Designed by Karuo Team | 2025 v3.2**

View File

@@ -9,13 +9,13 @@
## 一、项目架构概览
### 1.1 双端架构
```
\`\`\`
Web端 (Next.js) 小程序端 (WeChat Mini Program)
↓ ↓
共享后端API (Next.js API Routes)
统一数据层 (localStorage + 未来MongoDB)
```
\`\`\`
### 1.2 核心业务模块
- **内容模块**: Markdown文件系统 + 动态渲染
@@ -37,7 +37,7 @@ Web端 (Next.js) 小程序端 (WeChat Mini Program)
#### 2.1.2 内容管理
**文件系统架构**:
```
\`\`\`
book/
├── 序言为什么我每天早上6点在Soul开播?.md
├── _第一篇真实的人/
@@ -54,10 +54,10 @@ book/
├── 第四篇|真实的赚钱/
├── 第五篇|真实的社会/
└── 尾声|这本书的真实目的.md
```
\`\`\`
**核心数据结构**:
```typescript
\`\`\`typescript
// 五级结构: Part -> Chapter -> Section
interface Section {
id: string // 章节ID (如: "1.1")
@@ -68,7 +68,7 @@ interface Section {
unlockAfterDays?: number // 定时解锁(天数)
createdAt?: string // 创建时间
}
```
\`\`\`
**关键功能**:
- ✅ Markdown自动解析和渲染
@@ -88,7 +88,7 @@ interface Section {
#### 2.2.1 多渠道支付架构
**支付适配器模式**:
```typescript
\`\`\`typescript
// 统一支付接口
interface PaymentProvider {
createOrder(params): PaymentData
@@ -101,12 +101,12 @@ interface PaymentProvider {
- WechatPayService (微信支付)
- USDTPayService (USDT加密货币)
- PayPalService (PayPal国际支付)
```
\`\`\`
#### 2.2.2 订单流程
**创建订单**:
```
\`\`\`
POST /api/payment/create-order
{
userId: string,
@@ -117,7 +117,7 @@ POST /api/payment/create-order
paymentMethod: "wechat" | "alipay" | "usdt" | "paypal",
referralCode?: string
}
```
\`\`\`
**支付回调**:
- `POST /api/payment/wechat/notify` - 微信支付回调
@@ -131,7 +131,7 @@ POST /api/payment/create-order
#### 2.2.3 配置信息
**微信支付配置**:
```typescript
\`\`\`typescript
wechat: {
websiteAppId: "wx432c93e275548671", // 网站应用
websiteAppSecret: "25b7e7fdb7998e5107e242ebb6ddabd0",
@@ -141,17 +141,17 @@ wechat: {
merchantId: "1318592501", // 商户号
apiKey: "wx3e31b068be59ddc131b068be59ddc2"
}
```
\`\`\`
**支付宝配置**:
```typescript
\`\`\`typescript
alipay: {
partnerId: "2088511801157159", // 合作者ID
securityKey: "lz6ey1h3kl9zqkgtjz3avb5gk37wzbrp",
mobilePayEnabled: true,
paymentInterface: "official_instant" // 即时到账
}
```
\`\`\`
### 2.3 分销裂变系统
@@ -163,21 +163,21 @@ alipay: {
3. **用流量绑定合作方**: 通过高佣金激励分发
**分润配置**:
```typescript
\`\`\`typescript
settings: {
distributorShare: 90, // 推广者90%
authorShare: 10 // 平台10%
}
```
\`\`\`
#### 2.3.2 邀请码系统
**生成规则**:
```typescript
\`\`\`typescript
// 用户注册时自动生成
referralCode: `REF${Date.now().toString(36).toUpperCase()}`
// 示例: REFK2M8N9P4
```
\`\`\`
**绑定逻辑**:
1. 新用户注册时填写邀请码
@@ -186,7 +186,7 @@ referralCode: `REF${Date.now().toString(36).toUpperCase()}`
4. 推荐人的 `earnings``pendingEarnings` 字段更新
**数据结构**:
```typescript
\`\`\`typescript
interface User {
referralCode: string // 自己的邀请码
referredBy?: string // 被谁推荐
@@ -195,24 +195,24 @@ interface User {
withdrawnEarnings: number // 已提现
referralCount: number // 推荐人数
}
```
\`\`\`
#### 2.3.3 佣金计算
**购买章节**:
```typescript
\`\`\`typescript
// 章节价格: 1元
const referrerEarnings = 1 * 0.9 = 0.9元
```
\`\`\`
**购买整书**:
```typescript
\`\`\`typescript
// 整书价格: 9.9元
const referrerEarnings = 9.9 * 0.9 = 8.91元
```
\`\`\`
**代码实现** (`lib/store.ts`):
```typescript
\`\`\`typescript
if (user.referredBy) {
const referrer = users.find(u => u.referralCode === user.referredBy)
if (referrer) {
@@ -222,19 +222,19 @@ if (user.referredBy) {
purchase.referrerEarnings = referrerEarnings
}
}
```
\`\`\`
#### 2.3.4 提现功能
**提现接口**:
```typescript
\`\`\`typescript
requestWithdrawal(
amount: number,
method: "wechat" | "alipay",
account: string,
name: string
)
```
\`\`\`
**提现状态**:
- `pending`: 待审核
@@ -246,7 +246,7 @@ requestWithdrawal(
#### 2.4.1 匹配算法
**核心逻辑**:
```javascript
\`\`\`javascript
// pages/match/match.js
function calculateMatchScore(user1, user2) {
// 基于兴趣标签计算匹配度
@@ -258,7 +258,7 @@ function calculateMatchScore(user1, user2) {
user2.interests.length
)) * 100
}
```
\`\`\`
**匹配流程**:
1. 点击"开始匹配"按钮
@@ -279,32 +279,32 @@ function calculateMatchScore(user1, user2) {
#### 2.5.1 管理员认证
**登录接口**:
```typescript
\`\`\`typescript
POST /api/admin
{
username: "admin",
password: "admin123"
}
```
\`\`\`
**返回Token**:
```typescript
\`\`\`typescript
{
success: true,
token: "admin-token-secret",
user: { id: "admin", role: "admin", name: "卡若" }
}
```
\`\`\`
#### 2.5.2 三大管理模块
**① 内容管理 (`/api/admin/content`)**
```
\`\`\`
GET /api/admin/content # 章节列表
POST /api/admin/content # 创建章节
PUT /api/admin/content/:id # 编辑章节
DELETE /api/admin/content/:id # 删除章节
```
\`\`\`
**功能**:
- 章节CRUD操作
@@ -313,14 +313,14 @@ DELETE /api/admin/content/:id # 删除章节
- 章节排序调整
**② 付费管理 (`/api/admin/payment`)**
```
\`\`\`
GET /api/admin/payment # 订单列表
GET /api/admin/payment/stats # 收益统计
POST /api/admin/payment/refund # 退款处理
```
\`\`\`
**数据统计**:
```typescript
\`\`\`typescript
{
totalRevenue: 12800.50, // 总收益
todayRevenue: 560.00, // 今日收益
@@ -328,17 +328,17 @@ POST /api/admin/payment/refund # 退款处理
todayOrders: 12, // 今日订单
averagePrice: 100.00 // 平均单价
}
```
\`\`\`
**③ 分销管理 (`/api/admin/referral`)**
```
\`\`\`
GET /api/admin/referral # 推广者列表
GET /api/admin/referral/stats # 推广统计
POST /api/admin/referral/settle # 佣金结算
```
\`\`\`
**数据统计**:
```typescript
\`\`\`typescript
{
totalReferrers: 45, // 推广者总数
activeReferrers: 28, // 活跃推广者
@@ -346,12 +346,12 @@ POST /api/admin/referral/settle # 佣金结算
paidCommission: 8500.00, // 已支付
pendingCommission: 3020.45 // 待支付
}
```
\`\`\`
#### 2.5.3 后台概览数据
**GET /api/admin**:
```typescript
\`\`\`typescript
{
content: {
totalChapters: 65,
@@ -378,19 +378,19 @@ POST /api/admin/referral/settle # 佣金结算
todayNewUsers: 23
}
}
```
\`\`\`
### 2.6 实时同步功能
#### 2.6.1 文件监听同步
**同步接口**:
```
\`\`\`
POST /api/sync
{
force: boolean // 是否强制全量同步
}
```
\`\`\`
**同步逻辑**:
1. 监听 `book/` 目录文件变化
@@ -400,11 +400,11 @@ POST /api/sync
5. 记录同步日志
**手动触发同步**:
```bash
\`\`\`bash
curl -X POST https://kr-soul.lytiao.com/api/sync \
-H "Content-Type: application/json" \
-d '{"force": true}'
```
\`\`\`
---
@@ -412,7 +412,7 @@ curl -X POST https://kr-soul.lytiao.com/api/sync \
### 3.1 页面结构
```
\`\`\`
miniprogram/
├── pages/
│ ├── index/ # 首页(书籍展示)
@@ -425,30 +425,30 @@ miniprogram/
├── app.js # 全局配置
├── app.json # 页面路由配置
└── project.config.json # 项目配置
```
\`\`\`
### 3.2 小程序配置
**AppID配置** (`project.config.json`):
```json
\`\`\`json
{
"appid": "wx0976665c3a3d5a7c",
"projectname": "soul-party-book"
}
```
\`\`\`
**API地址配置** (`app.js`):
```javascript
\`\`\`javascript
globalData: {
apiBase: 'http://localhost:3001/api', // 开发环境
// apiBase: 'https://kr-soul.lytiao.com/api' // 生产环境
}
```
\`\`\`
### 3.3 微信支付集成
**支付工具类** (`utils/payment.js`):
```javascript
\`\`\`javascript
function wxPay(orderId, amount) {
// 1. 调用后端创建订单
const paymentData = await createOrder({
@@ -470,22 +470,22 @@ function wxPay(orderId, amount) {
}
})
}
```
\`\`\`
### 3.4 小程序特色功能
**毛玻璃效果**:
```css
\`\`\`css
.glass-effect {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.2);
}
```
\`\`\`
**骨架屏预加载**:
```xml
\`\`\`xml
<view wx:if="{{loading}}" class="skeleton">
<view class="skeleton-item"></view>
<view class="skeleton-item"></view>
@@ -493,7 +493,7 @@ function wxPay(orderId, amount) {
<view wx:else>
<!-- 实际内容 -->
</view>
```
\`\`\`
---
@@ -521,7 +521,7 @@ function wxPay(orderId, amount) {
### 4.2 未来方案 (MongoDB)
**数据模型设计**:
```typescript
\`\`\`typescript
// users集合
{
_id: ObjectId,
@@ -558,7 +558,7 @@ function wxPay(orderId, amount) {
status: String,
createdAt: Date
}
```
\`\`\`
**迁移计划**:
1. 安装MongoDB驱动 (`npm install mongodb`)
@@ -579,7 +579,7 @@ function wxPay(orderId, amount) {
- ✅ Image组件自动优化图片
**Zustand状态管理**:
```typescript
\`\`\`typescript
// 简洁的状态管理,无需Redux复杂配置
const useStore = create(persist((set, get) => ({
user: null,
@@ -587,7 +587,7 @@ const useStore = create(persist((set, get) => ({
logout: () => { ... },
purchaseSection: async (id) => { ... }
})))
```
\`\`\`
**Tailwind CSS**:
- ✅ 原子化CSS,开发效率高
@@ -598,7 +598,7 @@ const useStore = create(persist((set, get) => ({
### 5.2 支付架构
**适配器模式**:
```typescript
\`\`\`typescript
// 统一接口,支持多种支付方式
class PaymentAdapter {
private providers: Map<string, PaymentProvider> = new Map()
@@ -612,12 +612,12 @@ class PaymentAdapter {
return await provider.createOrder(params)
}
}
```
\`\`\`
### 5.3 分销架构
**自动佣金计算**:
```typescript
\`\`\`typescript
// 购买时自动追溯推荐人并计算佣金
function distributeCommission(order: Order) {
if (order.referralCode) {
@@ -627,31 +627,31 @@ function distributeCommission(order: Order) {
referrer.pendingEarnings += commission
}
}
```
\`\`\`
### 5.4 性能优化
**懒加载**:
```typescript
\`\`\`typescript
// 动态导入组件
const PaymentModal = dynamic(() => import('@/components/payment-modal'), {
loading: () => <Skeleton />,
ssr: false
})
```
\`\`\`
**骨架屏**:
```tsx
\`\`\`tsx
// 加载状态使用骨架屏代替Loading文字
{loading ? (
<Skeleton className="h-[200px] w-full" />
) : (
<ContentComponent />
)}
```
\`\`\`
**图片优化**:
```tsx
\`\`\`tsx
// Next.js Image组件自动优化
<Image
src="/cover.jpg"
@@ -660,7 +660,7 @@ const PaymentModal = dynamic(() => import('@/components/payment-modal'), {
height={600}
priority // 优先加载
/>
```
\`\`\`
---
@@ -669,20 +669,20 @@ const PaymentModal = dynamic(() => import('@/components/payment-modal'), {
### 6.1 开发环境
**启动后端**:
```bash
\`\`\`bash
cd /Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验
pnpm install
pnpm dev
# 访问: http://localhost:3000
```
\`\`\`
**启动小程序**:
```bash
\`\`\`bash
# 打开微信开发者工具
# 导入目录: miniprogram/
# 配置AppID: wx0976665c3a3d5a7c
# 编译运行
```
\`\`\`
### 6.2 生产环境
@@ -692,13 +692,13 @@ pnpm dev
- **PM2进程管理**: `pm2 start ecosystem.config.js`
**环境变量** (`.env.production`):
```bash
\`\`\`bash
NEXT_PUBLIC_BASE_URL=http://kr-soul.lytiao.com
WECHAT_APP_ID=wx0976665c3a3d5a7c
WECHAT_APP_SECRET=a262f1be43422f03734f205d0bca1882
ALIPAY_APP_ID=wx432c93e275548671
ALIPAY_PARTNER_ID=2088511801157159
```
\`\`\`
### 6.3 小程序发布
@@ -709,12 +709,12 @@ ALIPAY_PARTNER_ID=2088511801157159
4. 审核通过后点击"发布"
**服务器域名配置**:
```
\`\`\`
小程序后台 → 开发管理 → 开发设置 → 服务器域名:
- request合法域名: http://kr-soul.lytiao.com
- uploadFile合法域名: http://kr-soul.lytiao.com
- downloadFile合法域名: http://kr-soul.lytiao.com
```
\`\`\`
---
@@ -722,7 +722,7 @@ ALIPAY_PARTNER_ID=2088511801157159
### 7.1 用户购买流程
```
\`\`\`
用户点击购买
选择支付方式
@@ -746,11 +746,11 @@ POST /api/payment/create-order (创建订单)
更新推荐人收益
发送购买成功通知
```
\`\`\`
### 7.2 分销推广流程
```
\`\`\`
推广者生成邀请码 (自动生成: REFXXXX)
分享链接给好友 (?ref=REFXXXX)
@@ -770,7 +770,7 @@ POST /api/payment/create-order (创建订单)
管理员审核提现
完成打款
```
\`\`\`
---

View File

@@ -21,7 +21,7 @@
### 通用HTML生成提示词
```markdown
\`\`\`markdown
# Role: 卡若 - HTML文档生成专家
# Task: 将模板内容输出为【苹果毛玻璃风格HTML文件】
@@ -48,7 +48,7 @@
- **打印友好**:添加打印样式
## 3. HTML结构
```html
\`\`\`html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
@@ -74,10 +74,10 @@
</script>
</body>
</html>
```
\`\`\`
## 4. 必须包含的CSS样式
```css
\`\`\`css
:root {
--glass-bg: rgba(255, 255, 255, 0.1);
--glass-border: rgba(255, 255, 255, 0.2);
@@ -142,10 +142,10 @@ th {
cursor: pointer;
font-weight: 500;
}
```
\`\`\`
## 5. 必须包含的JavaScript
```javascript
\`\`\`javascript
function exportImage() {
html2canvas(document.getElementById('content'), {
backgroundColor: null,
@@ -161,14 +161,14 @@ function exportImage() {
function toggleTheme() {
document.body.classList.toggle('light-theme');
}
```
\`\`\`
# Output:
- 输出完整的HTML代码
- 可直接保存为.html文件并在浏览器打开
- 所有内容可编辑
- 支持导出图片
```
\`\`\`
---
@@ -176,7 +176,7 @@ function toggleTheme() {
### 1. 人物画像分析表 HTML
```markdown
\`\`\`markdown
# Task: 生成【人物画像分析表】HTML文件
# Input:
@@ -193,11 +193,11 @@ function toggleTheme() {
- A/B/C用户画像表格
- 痛点层级分析表格
- 导出图片功能
```
\`\`\`
### 2. 朋友圈投放表 HTML
```markdown
\`\`\`markdown
# Task: 生成【朋友圈投放表】HTML文件
# Input:
@@ -212,11 +212,11 @@ function toggleTheme() {
- 五行属性颜色标注
- 配图预览区域
- 导出图片功能
```
\`\`\`
### 3. 复盘报告 HTML
```markdown
\`\`\`markdown
# Task: 生成【复盘报告】HTML文件
# Input:
@@ -233,7 +233,7 @@ function toggleTheme() {
- 深层归因
- 行动计划表格
- 导出图片功能
```
\`\`\`
---
@@ -287,4 +287,3 @@ function toggleTheme() {
**模板版本**v1.0
**设计者**Karuo Team | 2025

View File

@@ -66,7 +66,7 @@
请确保生成的文档严格遵循以下目录树:
```text
\`\`\`text
开发文档/
├── 1、需求/
│ ├── 业务需求.md (基于代码反推的核心业务逻辑)
@@ -92,7 +92,7 @@
│ └── 使用手册.md (用户操作指南)
└── 10、项目管理/
└── 开发进度.md (基于目前完成度的预估)
```
\`\`\`
## 核心原则 (卡若风格)
1. **不要废话**:直接给代码、给结构、给方案。