diff --git a/pets-be/internal/service/user_profile.go b/pets-be/internal/service/user_profile.go index 3d4ae2d..e330f2f 100644 --- a/pets-be/internal/service/user_profile.go +++ b/pets-be/internal/service/user_profile.go @@ -123,9 +123,19 @@ func (s *Service) keepStats(userID string, withPets bool) (*KeepStats, []PetCard cards = nil } - // 养宠天数按最早那只的建档日算。用建档日而不是生日:这里要表达的是 - // 「你在这个 App 上照顾它多久了」,不是宠物活了多久 - st.Days = int(time.Since(pets[0].CreatedAt).Hours()/24) + 1 + // 养宠天数按最早那只的到家日算(没填到家日就退回建档日),和首页 + // 「一起生活的第 N 天」口径一致。用建档日会因为重新建档而被重置成 1,很怪 + earliest := time.Now() + for _, p := range pets { + start := p.CreatedAt + if p.ArrivedAt != nil && !p.ArrivedAt.IsZero() { + start = *p.ArrivedAt + } + if start.Before(earliest) { + earliest = start + } + } + st.Days = int(time.Since(earliest).Hours()/24) + 1 var total int64 s.db.Model(&model.HealthRecord{}).Where("pet_id IN ?", ids).Count(&total) diff --git a/pets-fe/components/profile-head/index.js b/pets-fe/components/profile-head/index.js index e02950b..9b32445 100644 --- a/pets-fe/components/profile-head/index.js +++ b/pets-fe/components/profile-head/index.js @@ -7,6 +7,7 @@ Component({ card: { type: Object, value: null }, // 装扮页的实时预览:只看效果,不要底部那排按钮 preview: { type: Boolean, value: false }, + hideWall: { type: Boolean, value: false }, // 「我的」页藏掉社交宠物墙,避免和「我的毛孩子」卡重复 }, data: { initial: '', theme: 'warm' }, observers: { diff --git a/pets-fe/components/profile-head/index.wxml b/pets-fe/components/profile-head/index.wxml index 4507357..bc4210d 100644 --- a/pets-fe/components/profile-head/index.wxml +++ b/pets-fe/components/profile-head/index.wxml @@ -29,8 +29,10 @@ {{card.stats.streak || 0}}连续打卡 - - + diff --git a/pets-fe/pages/mine/mine.wxml b/pets-fe/pages/mine/mine.wxml index 85a0d33..f3b9ec1 100644 --- a/pets-fe/pages/mine/mine.wxml +++ b/pets-fe/pages/mine/mine.wxml @@ -3,7 +3,7 @@ -