同步小程序与管理端更新,完善抽烟记录和解绑冷静期

This commit is contained in:
2026-10-09 22:15:51 +08:00
parent a68a4ef411
commit b10fc3c4ac
149 changed files with 3794 additions and 589 deletions
+22 -6
View File
@@ -1,3 +1,4 @@
const { withDataCache } = require('../../utils/page-cache');
const { getLayout } = require('../../utils/layout');
// pages/pet/pet.js
const { api } = require('../../utils/request');
@@ -18,9 +19,9 @@ const BREED_EMOJIS = {
const STAGE_NAMES = ['', '幼犬期', '少年期', '青年期', '成年期', '终极期'];
Page({
Page(withDataCache({
onResize: function() { this.setData(getLayout()); },
data: { loading: true, loadError: false,
data: { loading: true, loadError: false, needsBinding: false,
hasPet: false,
pet: null,
daily: null,
@@ -70,8 +71,14 @@ Page({
loadPetInfo: async function() {
if (this._pageLoading) return;
this._pageLoading = true;
this.setData({loading:true, loadError:false});
this.setData({loading: !this._hasCachedData, loadError:false});
try {
const relationship = await api.coupleInfo();
if (relationship.not_bound) {
this.setData({needsBinding:true,hasPet:false,pet:null,daily:null,achievements:[],dynamics:[],displayDynamics:[],showRename:false});
return;
}
this.setData({needsBinding:false});
const res = await api.petInfo();
if (res.has_pet && res.pet) {
const pet = res.pet;
@@ -130,8 +137,12 @@ Page({
this.setData({ hasPet: false, pet:null, daily:null, achievements:[], dynamics:[], displayDynamics:[] });
}
} catch (e) {
this.setData({loadError:true});
console.error(e);
if (e && e.error === '请先绑定情侣') {
this.setData({needsBinding:true,hasPet:false,pet:null,showRename:false});
} else {
this.setData({loadError:true});
console.error(e);
}
}
finally { this._pageLoading = false; this.setData({loading:false}); }
},
@@ -300,10 +311,15 @@ Page({
wx.navigateTo({ url: '/pages/pet/achievements' });
},
bindPartner: function() {
getApp().globalData.openProfileBind = true;
wx.switchTab({url:'/pages/profile/profile'});
},
// 返回
goBack: function() {
wx.navigateBack();
},
stopPropagation: function() {}
});
}, {"loadPetInfo": ["coupleInfo", "petInfo"]}));