fix: 修复记录页登录状态检测和重试逻辑

This commit is contained in:
ws
2026-04-30 12:17:14 +08:00
parent 98f5c7bc49
commit c6bef45940
3 changed files with 52 additions and 7 deletions
+41 -4
View File
@@ -7,20 +7,57 @@ Page({
records: [],
filteredRecords: [],
currentTab: 'all',
loading: true
loading: true,
isLoggedIn: false,
loginFailed: false
},
onLoad() {
this.loadRecords()
if (app.globalData.isLoggedIn) {
this.onLoginReady()
} else if (app.globalData.loginFailed) {
this.onLoginFailed()
} else {
app.loginReadyCallback = (userInfo) => {
app.loginReadyCallback = null
if (userInfo) {
this.onLoginReady()
} else {
this.onLoginFailed()
}
}
}
},
onShow() {
// 仅从预约页返回时刷新,避免 onLoad + onShow 双重加载
if (this.data._loaded) {
// 已加载过且已登录时刷新(从预约页返回等场景)
if (this.data._loaded && app.globalData.isLoggedIn) {
this.loadRecords()
}
},
onLoginReady() {
this.setData({ isLoggedIn: true, loginFailed: false })
this.loadRecords()
},
onLoginFailed() {
this.setData({ isLoggedIn: false, loginFailed: true, loading: false })
},
onRetry() {
this.setData({ loginFailed: false, loading: true })
app.silentLogin()
app.loginReadyCallback = (userInfo) => {
app.loginReadyCallback = null
if (userInfo) {
this.onLoginReady()
} else {
this.onLoginFailed()
}
}
},
async loadRecords() {
this.setData({ loading: true })
try {