fix: 修复记录页登录状态检测和重试逻辑
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user