diff --git a/manifest.json b/manifest.json
index c72f634..fd63679 100644
--- a/manifest.json
+++ b/manifest.json
@@ -50,7 +50,7 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
- "appid" : "",
+ "appid" : "wxdf340fe2d9aff21d",
"setting" : {
"urlCheck" : false
},
diff --git a/pages.json b/pages.json
index 5f4b807..1540715 100644
--- a/pages.json
+++ b/pages.json
@@ -5,7 +5,8 @@
"style": {
"navigationBarTitleText": "我的宠物",
"navigationBarBackgroundColor": "#ffffff",
- "navigationBarTextStyle": "black"
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
}
},
{
@@ -69,6 +70,60 @@
"navigationStyle": "custom"
}
},
+ {
+ "path": "pages/pets/pet-chat",
+ "style": {
+ "navigationBarTitleText": "AI聊天",
+ "navigationBarBackgroundColor": "#ffffff",
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/pets/pet-chat-simple",
+ "style": {
+ "navigationBarTitleText": "AI聊天",
+ "navigationBarBackgroundColor": "#ffffff",
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/pets/add-record-enhanced",
+ "style": {
+ "navigationBarTitleText": "添加记录",
+ "navigationBarBackgroundColor": "#ffffff",
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/pets/add-record-simple",
+ "style": {
+ "navigationBarTitleText": "添加记录",
+ "navigationBarBackgroundColor": "#ffffff",
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/pets/pet-records",
+ "style": {
+ "navigationBarTitleText": "宠物记录",
+ "navigationBarBackgroundColor": "#ffffff",
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/pets/pet-timeline",
+ "style": {
+ "navigationBarTitleText": "成长时光",
+ "navigationBarBackgroundColor": "#ffffff",
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
+ }
+ },
{
"path": "pages/index/index",
"style": {
diff --git a/pages/pets/add-record-enhanced.vue b/pages/pets/add-record-enhanced.vue
new file mode 100644
index 0000000..6a62027
--- /dev/null
+++ b/pages/pets/add-record-enhanced.vue
@@ -0,0 +1,643 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/pets/add-record-simple.vue b/pages/pets/add-record-simple.vue
new file mode 100644
index 0000000..0fb37c4
--- /dev/null
+++ b/pages/pets/add-record-simple.vue
@@ -0,0 +1,328 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/pets/pet-chat-simple.vue b/pages/pets/pet-chat-simple.vue
new file mode 100644
index 0000000..acab171
--- /dev/null
+++ b/pages/pets/pet-chat-simple.vue
@@ -0,0 +1,442 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/pets/pet-chat.vue b/pages/pets/pet-chat.vue
new file mode 100644
index 0000000..34216e3
--- /dev/null
+++ b/pages/pets/pet-chat.vue
@@ -0,0 +1,639 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/pets/pet-detail.vue b/pages/pets/pet-detail.vue
index 64f672f..6595884 100644
--- a/pages/pets/pet-detail.vue
+++ b/pages/pets/pet-detail.vue
@@ -54,7 +54,7 @@
-
+
@@ -85,33 +85,29 @@ export default {
},
methods: {
loadPetInfo() {
- // 模拟从本地存储或API获取宠物信息
- const mockPets = [
- {
- id: 1,
- name: '小橘',
- breed: '橘猫',
- age: 2,
- companionDays: 365,
- avatar: '/static/cat-avatar.jpg',
- gender: '公',
- weight: '4.5kg',
- birthday: '2022-01-15'
- },
- {
- id: 2,
- name: '小白',
- breed: '金毛',
- age: 3,
- companionDays: 1095,
- avatar: '/static/dog-avatar.jpg',
- gender: '母',
- weight: '25kg',
- birthday: '2021-03-20'
+ try {
+ // 从本地存储获取宠物信息
+ const pets = uni.getStorageSync('pets') || []
+ this.petInfo = pets.find(pet => pet.id == this.petId) || {}
+
+ // 如果没有找到宠物信息,使用默认数据
+ if (!this.petInfo.id) {
+ this.petInfo = {
+ id: this.petId,
+ name: '未知宠物',
+ breed: '未知品种',
+ age: 0,
+ companionDays: 0,
+ avatar: '/static/default-pet.png',
+ gender: '未知',
+ weight: '0kg',
+ birthday: '未知'
+ }
}
- ]
-
- this.petInfo = mockPets.find(pet => pet.id == this.petId) || {}
+ } catch (error) {
+ console.error('加载宠物信息失败', error)
+ this.petInfo = {}
+ }
},
goBack() {
@@ -126,10 +122,16 @@ export default {
addRecord() {
uni.navigateTo({
- url: `/pages/pets/add-record?petId=${this.petId}`
+ url: `/pages/pets/add-record-simple?petId=${this.petId}`
})
},
-
+
+ chatWithPet() {
+ uni.navigateTo({
+ url: `/pages/pets/pet-chat-simple?petId=${this.petId}`
+ })
+ },
+
viewHealth() {
uni.navigateTo({
url: `/pages/pets/health-record?petId=${this.petId}`
@@ -202,7 +204,7 @@ export default {
padding: 30rpx;
display: flex;
gap: 20rpx;
-
+
:deep(.u-button) {
flex: 1;
}
diff --git a/pages/pets/pet-records.vue b/pages/pets/pet-records.vue
new file mode 100644
index 0000000..7d9311f
--- /dev/null
+++ b/pages/pets/pet-records.vue
@@ -0,0 +1,587 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/pets/pet-timeline.vue b/pages/pets/pet-timeline.vue
new file mode 100644
index 0000000..3044f40
--- /dev/null
+++ b/pages/pets/pet-timeline.vue
@@ -0,0 +1,604 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/pets/pets.vue b/pages/pets/pets.vue
index adb2093..f7e243e 100644
--- a/pages/pets/pets.vue
+++ b/pages/pets/pets.vue
@@ -1,32 +1,137 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ 🐾 我的宠物
+ {{ petsList.length }}只小可爱陪伴着你
+
+
+
+
-
- 记录
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+ {{ totalRecords }}
+ 记录
+
+
+ {{ totalDays }}
+ 陪伴天数
+
+
+ {{ upcomingReminders }}
+ 待办提醒
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 记录
+
+
+
+ 聊天
+
+
+
+ 健康
+
+
+
+ 时光
+
+
+
+
+
+
+
+
+ 还没有小伙伴呢
+ 添加你的第一只宠物,开始记录美好时光吧~
+
+
+
+
+
+
+
@@ -34,35 +139,159 @@
export default {
data() {
return {
- petsList: []
+ petsList: [],
+ showQuickActions: false,
+ totalRecords: 0,
+ totalDays: 0,
+ upcomingReminders: 0
}
},
onShow() {
this.loadPets()
+ this.loadStatistics()
+ },
+ computed: {
+ // 计算总陪伴天数
+ totalCompanionDays() {
+ return this.petsList.reduce((total, pet) => total + (pet.companionDays || 0), 0)
+ }
},
methods: {
loadPets() {
try {
- const pets = uni.getStorageSync('pets') || []
+ let pets = uni.getStorageSync('pets') || []
+
+ // 如果没有宠物数据,添加一些模拟数据
+ if (pets.length === 0) {
+ pets = [
+ {
+ id: 1,
+ name: '小橘',
+ breed: '橘猫',
+ age: 2,
+ companionDays: 365,
+ avatar: '/static/default-pet.png',
+ gender: '公',
+ weight: '4.5kg',
+ birthday: '2022-01-15',
+ healthStatus: 'healthy',
+ personality: ['活泼', '粘人', '贪吃'],
+ lastRecord: '2024-01-15'
+ },
+ {
+ id: 2,
+ name: '小白',
+ breed: '金毛',
+ age: 3,
+ companionDays: 1095,
+ avatar: '/static/default-pet.png',
+ gender: '母',
+ weight: '25kg',
+ birthday: '2021-03-20',
+ healthStatus: 'healthy',
+ personality: ['温顺', '聪明', '忠诚'],
+ lastRecord: '2024-01-14'
+ }
+ ]
+ // 保存模拟数据到本地存储
+ uni.setStorageSync('pets', pets)
+ }
+
this.petsList = pets
} catch (error) {
console.error('加载宠物列表失败', error)
this.petsList = []
}
},
+
+ loadStatistics() {
+ try {
+ // 加载统计数据
+ const records = uni.getStorageSync('petRecords') || []
+ this.totalRecords = records.length
+
+ // 计算总陪伴天数
+ this.totalDays = this.petsList.reduce((total, pet) => total + (pet.companionDays || 0), 0)
+
+ // 模拟待办提醒数量
+ this.upcomingReminders = Math.floor(Math.random() * 5) + 1
+ } catch (error) {
+ console.error('加载统计数据失败', error)
+ }
+ },
+
+ getHealthIcon(status) {
+ const iconMap = {
+ healthy: 'checkmark',
+ warning: 'warning',
+ sick: 'close'
+ }
+ return iconMap[status] || 'checkmark'
+ },
+
addPet() {
uni.navigateTo({
url: '/pages/pets/add-pet'
})
},
+
viewPetDetail(pet) {
uni.navigateTo({
url: `/pages/pets/pet-detail?id=${pet.id}`
})
},
+
+ chatWithPet(pet) {
+ uni.navigateTo({
+ url: `/pages/pets/pet-chat-simple?petId=${pet.id}`
+ })
+ },
+
addRecord(pet) {
uni.navigateTo({
- url: `/pages/pets/add-record?petId=${pet.id}`
+ url: `/pages/pets/add-record-simple?petId=${pet.id}`
+ })
+ },
+
+ viewHealth(pet) {
+ uni.navigateTo({
+ url: `/pages/pets/health-charts?petId=${pet.id}`
+ })
+ },
+
+ viewTimeline(pet) {
+ uni.navigateTo({
+ url: `/pages/pets/pet-timeline?petId=${pet.id}`
+ })
+ },
+
+ // 快捷操作方法
+ navigateToRecords() {
+ this.showQuickActions = false
+ uni.navigateTo({
+ url: '/pages/pets/all-records'
+ })
+ },
+
+ navigateToStats() {
+ this.showQuickActions = false
+ uni.navigateTo({
+ url: '/pages/pets/statistics'
+ })
+ },
+
+ navigateToReminders() {
+ this.showQuickActions = false
+ uni.navigateTo({
+ url: '/pages/pets/reminders'
+ })
+ },
+
+ exportData() {
+ this.showQuickActions = false
+ uni.showToast({
+ title: '数据导出功能开发中',
+ icon: 'none'
})
}
}
@@ -90,6 +319,9 @@ export default {
.pet-actions {
margin-left: 20rpx;
+ display: flex;
+ gap: 8px;
+ flex-direction: column;
}
}
diff --git a/技术栈选择建议.md b/技术栈选择建议.md
deleted file mode 100644
index 9316a41..0000000
--- a/技术栈选择建议.md
+++ /dev/null
@@ -1,152 +0,0 @@
-# 宠物管家小程序技术栈选择建议
-
-## 推荐方案:uni-app + Vue3
-
-### 选择理由
-
-#### 1. 功能复杂度匹配
-- 你的项目包含8个主要功能模块,功能复杂度较高
-- uni-app的组件化开发模式非常适合复杂业务场景
-- Vue3的组合式API便于组织复杂的业务逻辑
-
-#### 2. 开发效率优势
-- **快速开发**:丰富的UI组件库(uView、uni-ui)
-- **代码复用**:组件可以在不同页面间复用
-- **开发工具**:HBuilderX提供可视化开发支持
-
-#### 3. 跨平台能力
-- 一套代码多端发布(微信小程序、支付宝小程序、H5、App)
-- 为后续业务扩展提供技术基础
-
-#### 4. 生态系统
-- 插件市场丰富,有现成的图表、AI对话等插件
-- 社区活跃,问题解决方案多
-
-## 具体技术栈配置
-
-### 前端技术栈
-```
-核心框架:uni-app + Vue3 + TypeScript
-状态管理:Pinia
-UI组件库:uView UI 2.0
-图表库:uCharts
-工具库:lodash、dayjs
-```
-
-### 后端技术栈
-```
-运行环境:Node.js 16+
-Web框架:Express.js
-数据库:MongoDB + Redis
-文件存储:腾讯云COS
-AI服务:腾讯云AI或百度文心一言
-推送服务:微信小程序模板消息
-```
-
-### 开发工具
-```
-IDE:HBuilderX 或 VS Code + uni-app插件
-版本控制:Git
-API测试:Postman
-数据库管理:MongoDB Compass
-```
-
-## 项目结构建议
-
-```
-pet-miniprogram/
-├── pages/ # 页面文件
-│ ├── index/ # 首页
-│ ├── pet/ # 宠物相关页面
-│ │ ├── list/ # 宠物列表
-│ │ ├── detail/ # 宠物详情
-│ │ └── add/ # 添加宠物
-│ ├── record/ # 记录相关页面
-│ │ ├── list/ # 记录列表
-│ │ ├── add/ # 添加记录
-│ │ └── detail/ # 记录详情
-│ ├── statistics/ # 统计页面
-│ ├── family/ # 家庭管理
-│ ├── adoption/ # 领养专区
-│ ├── ai-assistant/ # AI助手
-│ └── user/ # 用户中心
-├── components/ # 公共组件
-│ ├── pet-card/ # 宠物卡片
-│ ├── record-item/ # 记录项
-│ ├── chart/ # 图表组件
-│ └── upload/ # 上传组件
-├── static/ # 静态资源
-├── store/ # 状态管理
-│ ├── modules/
-│ │ ├── user.js # 用户状态
-│ │ ├── pet.js # 宠物状态
-│ │ └── record.js # 记录状态
-│ └── index.js
-├── utils/ # 工具函数
-│ ├── request.js # 网络请求
-│ ├── auth.js # 认证相关
-│ ├── upload.js # 文件上传
-│ └── common.js # 通用工具
-├── api/ # API接口
-│ ├── user.js
-│ ├── pet.js
-│ ├── record.js
-│ └── adoption.js
-├── manifest.json # 应用配置
-├── pages.json # 页面配置
-└── App.vue # 应用入口
-```
-
-## 关键技术实现要点
-
-### 1. 数据管理
-- 使用Pinia进行状态管理
-- 本地存储用户登录状态和常用数据
-- 实现数据的离线缓存机制
-
-### 2. 图片处理
-- 集成腾讯云COS SDK
-- 实现图片压缩和上传
-- 支持多图上传和预览
-
-### 3. 图表统计
-- 使用uCharts实现消费统计图表
-- 支持柱状图、饼图、折线图
-- 响应式图表适配不同屏幕
-
-### 4. AI对话
-- 集成AI API(腾讯云或百度)
-- 实现对话历史存储
-- 支持语义识别和智能提醒
-
-### 5. 消息推送
-- 集成微信小程序模板消息
-- 实现家庭成员消息通知
-- 支持定时提醒功能
-
-## 开发周期预估
-
-基于uni-app + Vue3的开发效率,预计开发周期:
-
-- **项目搭建**:1周
-- **核心功能开发**:10-12周
-- **测试优化**:2-3周
-- **总计**:13-16周
-
-## 学习资源推荐
-
-1. **uni-app官方文档**:https://uniapp.dcloud.net.cn/
-2. **Vue3官方文档**:https://cn.vuejs.org/
-3. **uView UI文档**:https://www.uviewui.com/
-4. **微信小程序开发文档**:https://developers.weixin.qq.com/miniprogram/dev/framework/
-
-## 总结
-
-对于你的宠物管家小程序项目,**uni-app + Vue3** 是最佳选择:
-
-✅ **开发效率高** - 适合复杂功能快速开发
-✅ **技术成熟** - 生态完善,社区支持好
-✅ **扩展性强** - 支持跨平台发布
-✅ **维护成本低** - 代码结构清晰,易于维护
-
-建议立即开始使用这个技术栈进行项目开发!
diff --git a/第一版本功能拆分详细说明.md b/第一版本功能拆分详细说明.md
index d6934a2..527e47a 100644
--- a/第一版本功能拆分详细说明.md
+++ b/第一版本功能拆分详细说明.md
@@ -1,419 +1,32 @@
# 宠物管家小程序第一版本功能拆分详细说明
-## 1. 功能模块总览
-
-### 1.1 核心功能模块
-1. **用户系统** - 微信登录、用户信息管理
-2. **宠物档案管理** - 宠物信息录入、展示、编辑
-3. **日常记录系统** - 多类型记录的添加、查看、管理
-4. **记账统计功能** - 消费记录、统计分析、图表展示
-5. **分享权限管理** - 记录分享设置、隐私控制
-6. **家庭共养功能** - 家庭创建、成员邀请、权限管理
-7. **AI助手基础版** - 简单对话、知识查询、智能提醒
-8. **领养专区** - 发布领养、浏览申请、沟通管理
-
-## 2. 详细功能拆分
-
-### 2.1 用户系统
-
-#### 2.1.1 微信登录
-**功能描述**:用户通过微信授权登录小程序
-**具体实现**:
-- 调用微信小程序登录API获取code
-- 后端通过code换取openid和session_key
-- 生成JWT token返回给前端
-- 前端存储token用于后续API调用
-
-**页面设计**:
-- 登录页面:显示微信登录按钮
-- 授权页面:获取用户基本信息授权
-
-**数据字段**:
-- openid:微信用户唯一标识
-- nickname:用户昵称
-- avatar:用户头像
-- phone:手机号(可选)
-
-#### 2.1.2 用户信息管理
-**功能描述**:用户可以查看和编辑个人信息
-**具体实现**:
-- 个人中心页面展示用户信息
-- 支持修改昵称、头像、手机号
-- 头像支持拍照或从相册选择
-
-### 2.2 宠物档案管理
-
-#### 2.2.1 宠物信息录入
-**功能描述**:用户可以添加宠物的基本信息
-**必填字段**:
-- 宠物名字:文本输入
-- 品种:下拉选择或文本输入
-- 性别:单选(公/母)
-- 生日:日期选择器
-- 到家日期:日期选择器
-
-**可选字段**:
-- 体重:数字输入(单位:kg)
-- 毛色:文本输入
-- 性格标签:多选标签
-- 特殊说明:文本输入
-- 头像:图片上传
-
-**自动计算字段**:
-- 年龄:根据生日自动计算
-- 陪伴天数:根据到家日期自动计算
-- 星座:根据生日自动计算
-
-#### 2.2.2 宠物信息展示
-**首页宠物卡片**:
-- 宠物头像(圆形)
-- 宠物名字
-- 年龄和陪伴天数
-- 快捷操作按钮(添加记录、查看详情)
-
-**宠物详情页**:
-- 完整的宠物信息展示
-- 编辑按钮
-- 最近记录列表
-- 统计数据概览
-
-#### 2.2.3 多宠物管理
-**功能描述**:支持用户管理多只宠物
-**具体实现**:
-- 宠物列表页面
-- 宠物切换功能
-- 每只宠物独立的记录和统计
-
-### 2.3 日常记录系统
-
-#### 2.3.1 记录分类定义
-**随手记**:
-- 内容:文字描述
-- 图片:可选,最多9张
-- 时间:默认当前时间,可修改
-
-**大事记**:
-- 预设选项:绝育、第一次吃奶、第一次吃猫粮、第一次用猫砂、第一次搞破坏、第一次出门、第一次发情、生日、到家
-- 自定义:用户可以添加自定义大事记
-- 内容:文字描述
-- 图片:可选
-- 时间:必填
-
-**日常记录**:
-- 体重:数值输入(kg)+ 备注
-- 尿便:次数 + 状态描述 + 图片
-- 饮食:食物类型 + 分量 + 时间 + 图片
-- 喝水:水量(ml)+ 时间
-- 记账:金额 + 类别 + 备注
-
-**健康记录**:
-- 喂保健品:保健品名称 + 剂量 + 时间
-- 驱虫:驱虫药名称 + 时间 + 下次提醒
-- 疫苗:疫苗类型 + 时间 + 下次提醒
-- 抗体水平:检测结果 + 时间
-- 体检:体检项目 + 结果 + 图片
-- 看病:症状 + 诊断 + 治疗方案 + 费用
-- 给药:药品名称 + 剂量 + 频次 + 时间
-- 住院:入院时间 + 出院时间 + 原因 + 费用
-- 手术:手术类型 + 时间 + 费用 + 恢复情况
-
-**洗护记录**:
-- 洗澡:时间 + 使用产品 + 图片
-- 剪指甲:时间 + 备注
-- 洗耳朵:时间 + 使用产品
-- 刷牙:时间 + 使用产品
-- 梳毛:时间 + 备注
-- 剃脚毛:时间 + 备注
-- 美容:时间 + 项目 + 费用 + 图片
-- 挤肛门腺:时间 + 备注
-- 擦眼屎:时间 + 备注
-
-**清洁记录**:
-- 消毒:消毒区域 + 使用产品 + 时间
-- 清洁:清洁项目 + 时间
-- 换猫砂:时间 + 猫砂类型
-- 洗猫砂盆:时间 + 清洁产品
-- 洗食盆:时间
-- 洗水盆:时间
-- 洗玩具:时间 + 清洁方式
-- 洗笼子:时间 + 清洁产品
-- 换滤芯:设备名称 + 时间
-- 换干燥剂:时间 + 位置
-
-**自定义类型**:
-- 用户可以创建自定义记录类型
-- 自定义字段配置
-- 保存为模板供后续使用
-
-#### 2.3.2 记录添加流程
-1. 选择宠物(如果有多只)
-2. 选择记录类型
-3. 填写记录内容
-4. 上传图片(可选)
-5. 设置分享权限
-6. 保存记录
-
-#### 2.3.3 记录展示和管理
-**时间线展示**:
-- 按时间倒序显示所有记录
-- 不同类型用不同图标和颜色区分
-- 支持下拉刷新和上拉加载
-
-**分类筛选**:
-- 按记录类型筛选
-- 按时间范围筛选
-- 按宠物筛选(多宠物情况)
-
-**记录详情**:
-- 完整的记录信息展示
-- 图片查看(支持放大)
-- 编辑和删除功能
-
-### 2.4 记账统计功能
-
-#### 2.4.1 消费记录
-**记录字段**:
-- 金额:数字输入(精确到分)
-- 类别:食物、医疗、用品、服务、其他
-- 备注:文字描述
-- 关联宠物:选择宠物(支持多选)
-- 时间:默认当前时间,可修改
-
-**快捷记录**:
-- 常用金额快捷按钮
-- 常用类别快捷选择
-- 语音输入金额
-
-#### 2.4.2 统计分析
-**宠物维度统计**:
-- 可以切换查看不同宠物的消费
-- 支持查看所有宠物的总消费
-
-**时间维度统计**:
-- 按月份统计:当月消费总额和分类占比
-- 按年份统计:全年消费趋势
-- 自定义时间范围统计
-
-**图表展示**:
-- 柱状图:月度消费趋势
-- 饼图:消费类别占比
-- 折线图:消费变化趋势
-
-#### 2.4.3 数据导出
-- 支持导出Excel格式的消费记录
-- 按时间范围和宠物筛选导出
-- 包含详细的消费明细和统计汇总
-
-### 2.5 分享权限管理
-
-#### 2.5.1 分享设置
-**三种分享模式**:
-- 公开:所有用户可见
-- 仅家人:只有家庭成员可见
-- 私有:只有自己可见
-
-**设置方式**:
-- 添加记录时设置
-- 记录详情页修改
-- 批量修改多条记录
-
-#### 2.5.2 默认设置
-- 用户可以设置默认的分享权限
-- 新记录自动使用默认设置
-- 可以为不同类型的记录设置不同的默认权限
-
-### 2.6 家庭共养功能
-
-#### 2.6.1 家庭创建
-**创建流程**:
-1. 用户点击创建家庭
-2. 填写家庭名称
-3. 选择要共享的宠物
-4. 生成邀请码
-
-**家庭信息**:
-- 家庭名称
-- 创建时间
-- 成员数量
-- 共享宠物列表
-
-#### 2.6.2 成员邀请
-**邀请方式**:
-- 邀请码分享:生成6位数字邀请码
-- 微信直接邀请:通过微信分享邀请链接
-
-**邀请流程**:
-1. 家庭主人发送邀请
-2. 被邀请人点击链接或输入邀请码
-3. 确认加入家庭
-4. 设置成员权限
-
-#### 2.6.3 权限管理
-**角色定义**:
-- 主人:所有权限,可以邀请成员、设置权限、删除家庭
-- 家人:可以查看和添加记录,不能删除其他人的记录
-- 观察者:只能查看记录,不能添加或修改
-
-**权限细分**:
-- 查看记录:所有角色都有
-- 添加记录:主人和家人
-- 编辑记录:只能编辑自己添加的记录
-- 删除记录:只能删除自己添加的记录
-- 管理宠物:只有主人可以
-
-#### 2.6.4 消息推送
-**推送场景**:
-- 新成员加入家庭
-- 重要健康记录(生病、疫苗、体检等)
-- 紧急情况记录
-
-**推送方式**:
-- 微信小程序模板消息
-- 站内消息通知
-
-### 2.7 AI助手基础版
-
-#### 2.7.1 基础对话功能
-**对话界面**:
-- 聊天气泡样式
-- 支持文字输入
-- 显示AI回复
-
-**知识问答**:
-- 宠物生病:常见疾病症状和处理建议
-- 宠物训练:基础训练方法和技巧
-- 宠物喂养:不同年龄段的喂养指导
-- 紧急情况:紧急情况的处理步骤
-
-#### 2.7.2 智能提醒功能
-**语义识别**:
-- 识别时间表达:明天、下周、9点等
-- 识别任务内容:疫苗、体检、喂药等
-- 生成结构化提醒
-
-**提醒管理**:
-- 自动生成提醒记录
-- 设置推送时间
-- 提醒后询问完成状态
-- 更新任务状态
-
-#### 2.7.3 对话历史
-**历史记录**:
-- 保存所有对话内容
-- 按日期分组显示
-- 支持搜索历史对话
-
-**分页加载**:
-- 每页显示20条对话
-- 支持上拉加载更多
-- 新对话自动滚动到底部
-
-#### 2.7.4 每日总结
-**总结功能**:
-- 每天晚上自动总结当天对话
-- 识别重要信息(健康问题、异常情况)
-- 生成关注提醒
-
-**主动关怀**:
-- 如果提到宠物生病,第二天主动询问情况
-- 定期询问宠物状况
-- 提供个性化建议
-
-### 2.8 领养专区
-
-#### 2.8.1 发布领养信息
-**宠物信息**:
-- 基本信息:名字、性别、种类、年龄
-- 健康状况:绝育、疫苗、驱虫、疾病情况
-- 性格描述:文字描述宠物性格和习惯
-- 图片上传:最多9张宠物照片
-
-**领养要求**:
-- 基础要求:年龄、居住条件、经济能力
-- 特殊要求:养宠经验、是否同意绝育等
-- 筛选问题:自定义问题列表
-
-**发布设置**:
-- 有效期:可设置领养信息的有效期
-- 联系方式:手机号或微信号
-- 地区:选择所在城市和区域
-
-#### 2.8.2 浏览和筛选
-**列表展示**:
-- 宠物照片和基本信息
-- 发布时间和地区
-- 快速筛选标签
-
-**筛选功能**:
-- 地区筛选:按省市区筛选
-- 类型筛选:按宠物种类筛选
-- 条件筛选:按年龄、性别、绝育状态筛选
-
-**搜索功能**:
-- 关键词搜索
-- 按品种搜索
-- 按发布者搜索
-
-#### 2.8.3 申请和沟通
-**申请流程**:
-1. 查看领养详情
-2. 填写申请信息
-3. 回答筛选问题
-4. 提交申请
-5. 等待审核
-
-**申请信息**:
-- 个人基本信息
-- 养宠经验描述
-- 居住环境说明
-- 承诺和保证
-
-**沟通功能**:
-- 简单的聊天界面
-- 支持文字和图片
-- 消息推送通知
-
-#### 2.8.4 管理和审核
-**发布者管理**:
-- 查看所有申请
-- 筛选合适的申请者
-- 与申请者沟通
-- 选择最终领养者
-
-**管理员审核**:
-- 审核发布的领养信息
-- 处理举报和投诉
-- 维护平台秩序
-
-**状态管理**:
-- 发布中、已暂停、已完成
-- 申请中、已通过、已拒绝
-- 自动状态更新
-
-## 3. 技术实现要点
-
-### 3.1 数据存储
-- 使用MongoDB存储所有数据
-- 图片存储在腾讯云COS
-- Redis缓存热点数据
-
-### 3.2 API设计
-- RESTful API设计
-- JWT token认证
-- 统一的错误处理和返回格式
-
-### 3.3 性能优化
-- 图片压缩和懒加载
-- 分页加载减少数据量
-- 缓存常用数据
-
-### 3.4 安全考虑
-- 用户数据加密存储
-- API接口权限验证
-- 图片内容安全检查
-
----
-
-**文档版本**:v1.0
-**创建日期**:2025年1月
-**负责人**:开发团队
+- 宠物
+ - 我的宠物记录(有多只宠物)
+ - 我的宠物信息(有多只宠物)
+ - 宠物信息详情
+ - 体重图表等等一些宠物健康相关的图形化记录
+ - 宠物信息修改
+ - 宠物性格预设
+ - 我的宠物智能体
+ - 宠物智能体聊天
+ - 宠物智能体互动(通过live2d或者其他方式进行互动)
+ - 我的宠物记录
+ - 添加宠物
+ - 创建记录
+- 助手
+ - AI对话,上半部分有这个助手的基本介绍,介绍助手能做什么,以及加一个宠物医生助手的动图头像之类的,上面有几个常见问题,点了就发送,然后AI回答,或者自己编辑询问等待回答。
+- 测评
+ - 测评列表(TAB上面选择猫或者狗,默认为猫),然后左边有猫粮/猫罐头/猫砂/等等,狗狗同理
+ - 测评详情
+- 领养
+ - 领养宠物列表(地区筛选,种类筛选猫或者狗)
+ - 点击详情可以进行填写信息进行申请
+- 我的
+ - 我的个人信息管理
+ - 登录
+ - 我的家庭
+ - 我的宠物概括(多少只,多少记录,多少提醒)
+ - 领养管理
+ - 进去显示已发布的管理列表
+ - 点进去显示申请领养人填写的申请记录
+ - 或者点击发布申请,你看一下放下右下角的悬浮按钮或者右上角
\ No newline at end of file