From 63bf142c5545f67c7871aa3dd0316758e70b4cba Mon Sep 17 00:00:00 2001 From: yvan <8574526@qq.com> Date: Tue, 12 Aug 2025 10:33:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=AE=A0=E7=89=A9=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✨ 新增功能: - 宠物详情页面:展示完整的宠物信息和最近记录 - 添加宠物页面:支持头像上传、基本信息录入、表单验证 - 添加记录页面:支持多种记录类型、照片上传、日期选择 - 本地存储集成:宠物数据和记录数据持久化存储 🎨 界面优化: - 使用uView组件构建现代化表单界面 - 支持图片选择和预览功能 - 响应式网格布局展示信息 - 完善的空状态和加载状态 📱 用户体验: - 表单验证和错误提示 - 图片上传和预览 - 日期选择器集成 - 数据持久化存储 🔧 技术改进: - 页面路由配置完善 - 自定义导航栏样式 - 组件化开发模式 --- pages.json | 27 +++++ pages/pets/add-pet.vue | 209 ++++++++++++++++++++++++++++++++ pages/pets/add-record.vue | 244 ++++++++++++++++++++++++++++++++++++++ pages/pets/pet-detail.vue | 210 ++++++++++++++++++++++++++++++++ pages/pets/pets.vue | 38 ++---- 5 files changed, 703 insertions(+), 25 deletions(-) create mode 100644 pages/pets/add-pet.vue create mode 100644 pages/pets/add-record.vue create mode 100644 pages/pets/pet-detail.vue diff --git a/pages.json b/pages.json index 36e98da..5cba2cc 100644 --- a/pages.json +++ b/pages.json @@ -32,6 +32,33 @@ "navigationBarTextStyle": "black" } }, + { + "path": "pages/pets/pet-detail", + "style": { + "navigationBarTitleText": "宠物详情", + "navigationBarBackgroundColor": "#ffffff", + "navigationBarTextStyle": "black", + "navigationStyle": "custom" + } + }, + { + "path": "pages/pets/add-pet", + "style": { + "navigationBarTitleText": "添加宠物", + "navigationBarBackgroundColor": "#ffffff", + "navigationBarTextStyle": "black", + "navigationStyle": "custom" + } + }, + { + "path": "pages/pets/add-record", + "style": { + "navigationBarTitleText": "添加记录", + "navigationBarBackgroundColor": "#ffffff", + "navigationBarTextStyle": "black", + "navigationStyle": "custom" + } + }, { "path": "pages/index/index", "style": { diff --git a/pages/pets/add-pet.vue b/pages/pets/add-pet.vue new file mode 100644 index 0000000..2e973c3 --- /dev/null +++ b/pages/pets/add-pet.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/pages/pets/add-record.vue b/pages/pets/add-record.vue new file mode 100644 index 0000000..17cedfa --- /dev/null +++ b/pages/pets/add-record.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/pages/pets/pet-detail.vue b/pages/pets/pet-detail.vue new file mode 100644 index 0000000..f7198b3 --- /dev/null +++ b/pages/pets/pet-detail.vue @@ -0,0 +1,210 @@ + + + + + diff --git a/pages/pets/pets.vue b/pages/pets/pets.vue index 1e1dba9..b29b09e 100644 --- a/pages/pets/pets.vue +++ b/pages/pets/pets.vue @@ -34,34 +34,22 @@ export default { data() { return { - petsList: [ - // 示例数据 - { - 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' - } - ] + petsList: [] } }, + onShow() { + this.loadPets() + }, methods: { + loadPets() { + try { + const pets = uni.getStorageSync('pets') || [] + this.petsList = pets + } catch (error) { + console.error('加载宠物列表失败', error) + this.petsList = [] + } + }, addPet() { uni.navigateTo({ url: '/pages/pets/add-pet'