Files
msh-system/docs/打卡详情页_一键打卡入口设计.md

440 lines
12 KiB
Markdown
Raw Normal View History

# 打卡详情页 - 一键打卡入口设计
> **更新日期**2025-11-20
> **版本**v2.2.1
> **核心优化**:在打卡详情页增加"一键打卡"入口
---
## 🎯 优化目标
用户在查看打卡详情时,希望能快速复制该打卡内容,无需返回到列表页操作。
---
## 📱 三个主要入口
### 入口1打卡历史页 → 直接复制 ⭐推荐快速打卡
```
我的饮食记录
┌──────────────────────────┐
│ 11月19日 早餐 │
│ ✅ 达标率92% ⭐高分 │
│ [📊 查看详情] │
│ [⚡一键复制打卡] ←入口1 │
└──────────────────────────┘
```
**特点**
- ✅ 最快捷的方式
- ✅ 无需进入详情页
- ✅ 适合确定要复制的情况
- ✅ 30秒完成打卡
**流程**
```
点击"⚡一键复制打卡"
复制确认页(预览内容)
打卡页(内容已填充)
修改内容(可选)
发布完成(+5积分
```
---
### 入口2打卡详情页 → 详细查看后复制 ⭐⭐⭐本次新增
```
我的饮食记录
[📊 查看详情] ←先点这里
打卡详情页
┌──────────────────────────┐
│ 📸 完整照片查看 │
│ 📊 营养数据详情 │
│ 📋 菜品清单 │
│ ┌──────────────────────┐ │
│ │ ⚡一键复制打卡 ←入口2 │ │
│ └──────────────────────┘ │
└──────────────────────────┘
```
**特点**
- ✅ 查看完整信息后决定
- ✅ 可以看到所有照片和数据
- ✅ 更了解打卡内容
- ✅ 适合需要详细查看的情况
**流程**
```
点击"📊 查看详情"
进入打卡详情页
查看照片、营养数据、菜品清单
点击"⚡一键复制打卡"
复制确认页
打卡页(内容已填充)
发布完成(+5积分
```
---
### 入口3社区打卡详情页 → 借鉴他人 ⭐学习优质内容
```
社区广场 → 他人的打卡
[点击帖子查看详情]
打卡详情页(他人的)
┌──────────────────────────┐
│ 查看他人饮食方案 │
│ 营养数据参考 │
│ ┌──────────────────────┐ │
│ │ 🎬一键借鉴打卡 ←入口3 │ │
│ └──────────────────────┘ │
└──────────────────────────┘
```
**特点**
- ✅ 学习他人优质饮食方案
- ✅ AI自动调整用量根据你的情况
- ✅ 必须上传自己的照片
- ✅ 原作者也会获得积分
**流程**
```
浏览社区打卡内容
点击感兴趣的帖子
进入打卡详情页(他人的)
点击"🎬一键借鉴打卡"
借鉴确认页AI调整用量
打卡页(需上传自己的照片)
发布完成
自己+5积分原作者+2积分
```
---
## 🎨 UI设计对比
### 场景A查看【自己的】打卡详情页
```
┌────────────────────────────────┐
│ 【快速操作】 │
│ ┌──────────────────────────┐ │
│ │ ⚡ 一键复制打卡 │ │
│ │ 快速复用这份饮食方案 │ │
│ └──────────────────────────┘ │
│ │
│ 点击后可以: │
│ ✅ 复制照片和备注到新打卡 │
│ ✅ 修改内容后重新发布 │
│ ✅ 可选生成AI视频 │
│ ✅ 获得5积分奖励 │
│ │
│ 💡 适用场景: │
│ • 今天吃的和之前某天一样 │
│ • 想复用高分打卡记录 │
│ • 快速打卡不想重新拍照 │
└────────────────────────────────┘
```
**按钮样式**
- 颜色:绿色渐变(#4CAF50#45B649
- 大小宽度100%高度56px
- 字体18px加粗
- 图标:⚡(闪电,表示快速)
- 圆角12px
- 阴影0 4px 12px rgba(76, 175, 80, 0.3)
---
### 场景B查看【他人的】打卡详情页
```
┌────────────────────────────────┐
│ 【一键借鉴】 │
│ ┌──────────────────────────┐ │
│ │ 🎬 一键借鉴打卡 │ │
│ │ 学习这份营养方案 │ │
│ └──────────────────────────┘ │
│ │
│ 点击后可以: │
│ ✅ 复制菜品清单到我的打卡 │
│ ✅ 根据我的情况调整用量 │
│ ✅ AI生成适合我的食谱 │
│ ✅ 获得5积分奖励 │
│ │
│ 💡 适用场景: │
│ • 看到他人的优质打卡想学习 │
│ • 发现适合自己的饮食方案 │
│ • 需要新的饮食灵感 │
└────────────────────────────────┘
```
**按钮样式**
- 颜色:蓝色渐变(#2196F3#1E88E5
- 大小宽度100%高度56px
- 字体18px加粗
- 图标:🎬(摄像机,表示学习和记录)
- 圆角12px
- 阴影0 4px 12px rgba(33, 150, 243, 0.3)
---
## 💻 技术实现
### 1. 判断打卡详情页的场景
```javascript
/**
* 判断打卡详情页的场景
*/
function getCheckInDetailScene(recordId, currentUserId) {
const record = getCheckInRecordById(recordId);
if (record.user_id === currentUserId) {
// 场景A查看自己的打卡
return {
scene: 'self',
buttonText: '⚡ 一键复制打卡',
buttonColor: 'green',
buttonClass: 'copy-btn-self',
action: 'copyOwnCheckIn'
};
} else {
// 场景B查看他人的打卡
return {
scene: 'others',
buttonText: '🎬 一键借鉴打卡',
buttonColor: 'blue',
buttonClass: 'copy-btn-others',
action: 'learnFromOthers'
};
}
}
```
### 2. 一键复制自己的打卡
```javascript
/**
* 一键复制自己的打卡
*/
function copyOwnCheckIn(recordId) {
const record = getCheckInRecordById(recordId);
// 复制数据
const copiedData = {
photos_json: record.photos_json, // 照片URL数组
notes: record.notes, // 备注说明
voice_url: record.voice_url, // 语音备注(如果有)
copied_from_record_id: recordId, // 记录复制来源
is_copied: 1 // 标记为复制的打卡
};
// 保存到临时存储
wx.setStorageSync('tempCheckInData', copiedData);
// 跳转到打卡页
wx.navigateTo({
url: '/pages/check-in/check-in?from=copy&recordId=' + recordId
});
// 埋点统计
trackEvent('copy_own_check_in', {
record_id: recordId,
source: 'detail_page'
});
}
```
### 3. 一键借鉴他人的打卡
```javascript
/**
* 一键借鉴他人的打卡
*/
function learnFromOthers(recordId, currentUserId) {
const record = getCheckInRecordById(recordId);
// 获取用户自己的营养计划
const myPlan = getNutritionPlan(currentUserId);
// AI自动调整菜品用量
const adjustedDishes = adjustDishesForUser(
record.actual_dishes_json,
myPlan
);
// 准备借鉴数据
const learnedData = {
dishes_json: adjustedDishes, // AI调整后的菜品清单
reference_record_id: recordId, // 参考来源
reference_user_id: record.user_id, // 原作者ID
is_learned_from_others: 1 // 标记为借鉴的打卡
};
// 保存到临时存储
wx.setStorageSync('tempCheckInData', learnedData);
// 跳转到打卡页
wx.navigateTo({
url: '/pages/check-in/check-in?from=learn&recordId=' + recordId
});
// 给原作者增加积分(+2分
addPointsToUser(record.user_id, 2, 'content_learned', recordId);
// 埋点统计
trackEvent('learn_from_others', {
record_id: recordId,
original_user_id: record.user_id,
source: 'detail_page'
});
}
```
### 4. AI调整菜品用量
```javascript
/**
* AI调整菜品用量根据用户的营养计划
*/
function adjustDishesForUser(originalDishes, userPlan) {
// 计算原始菜品的总营养
const originalNutrition = calculateTotalNutrition(originalDishes);
// 计算调整比例
const proteinRatio = userPlan.target_protein / originalNutrition.protein;
const energyRatio = userPlan.target_energy / originalNutrition.energy;
// 取平均比例
const avgRatio = (proteinRatio + energyRatio) / 2;
// 调整每个菜品的用量
return originalDishes.map(dish => {
const newAmount = Math.round(dish.amount * avgRatio);
return {
...dish,
amount: newAmount, // 调整后的用量
adjusted: true, // 标记为AI调整过的
original_amount: dish.amount, // 保留原始用量供参考
adjustment_ratio: avgRatio.toFixed(2) // 调整比例
};
});
}
```
---
## 📊 页面路径说明
| 页面 | 路径 | 参数 | 说明 |
|-----|------|------|------|
| 打卡历史页 | `/pages/check-in-history/history` | - | 显示用户的打卡记录列表 |
| 打卡详情页(自己的) | `/pages/check-in-detail/detail` | `?id={recordId}&type=self` | 查看自己的打卡详情 |
| 打卡详情页(他人的) | `/pages/check-in-detail/detail` | `?id={recordId}&type=others` | 查看他人的打卡详情 |
| 复制确认页 | `/pages/copy-confirm/confirm` | `?from={recordId}` | 复制自己的打卡确认页 |
| 借鉴确认页 | `/pages/learn-confirm/confirm` | `?from={recordId}` | 借鉴他人的打卡确认页 |
| 打卡页 | `/pages/check-in/check-in` | `?from=copy&recordId={id}``?from=learn&recordId={id}` | 填写打卡内容 |
---
## 🎁 积分规则
| 行为 | 积分 | 说明 |
|-----|------|------|
| 一键复制打卡(自己的) | +5分 | 从历史记录快速复制 |
| 一键借鉴打卡(他人的) | +5分 | 学习他人的饮食方案 |
| 内容被借鉴(原作者) | +2分 | 自己的打卡被他人借鉴 |
---
## 📈 预期效果
| 指标 | 优化前 | 优化后 | 提升 |
|-----|-------|-------|------|
| **详情页停留时长** | 15秒 | 30秒 | +100% |
| **从详情页发起的打卡** | 5% | 20% | +300% |
| **一键复制打卡使用率** | 25% | 40% | +60% |
| **打卡转化率** | 30% | 45% | +50% |
**数据支持**
- 用户在详情页查看完整信息后,打卡意愿更强
- 详情页提供更多上下文,用户更愿意复制高质量打卡
- 减少操作步骤,提升转化率
---
## 💡 设计亮点
### 1. **场景区分** ⭐⭐⭐
- 智能判断是"自己的打卡"还是"他人的打卡"
- 不同场景显示不同的按钮文案和颜色
- 提供差异化的体验
### 2. **三重入口** ⭐⭐⭐
- 历史列表页:快速直接复制
- 详情页:查看后再复制
- 社区详情页:学习他人
### 3. **AI智能调整** ⭐⭐⭐
- 借鉴他人打卡时AI自动调整菜品用量
- 根据用户的营养计划个性化调整
- 降低借鉴门槛,提升使用率
### 4. **积分激励** ⭐⭐⭐
- 借鉴者获得+5分
- 原作者获得+2分
- 形成"创作-分享-学习"的正向循环
---
## 🚀 下一步优化
1. **智能推荐复制**
- 在详情页根据历史数据推荐"您可能也想复制这几条"
- 提供相似打卡记录推荐
2. **批量复制**
- 支持一次性复制一天的三餐
- 生成"一日食谱计划"
3. **收藏夹功能**
- 收藏优质打卡记录
- 从收藏夹快速复制
4. **打卡模板**
- 将高分打卡保存为模板
- 模板库供用户选择
---
**文档版本**v2.2.1
**更新日期**2025-11-20
**产品名称**:慢生活智能营养专家小程序
---
**让每个打卡详情页都成为下一次打卡的起点!** ⚡🎬