减少登录等待时间。
This commit is contained in:
parent
75c3380ff3
commit
5ed553b2a0
@ -265,7 +265,7 @@ class AppServer:
|
|||||||
|
|
||||||
def _initialize_devices(self):
|
def _initialize_devices(self):
|
||||||
"""
|
"""
|
||||||
初始化设备(在用户登录成功后调用)
|
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
self.logger.info('开始初始化设备...')
|
self.logger.info('开始初始化设备...')
|
||||||
|
|||||||
@ -426,7 +426,6 @@ const handleRegisterSubmit = async () => {
|
|||||||
|
|
||||||
// 登录处理
|
// 登录处理
|
||||||
const handleLogin = async () => {
|
const handleLogin = async () => {
|
||||||
isLoading.value = true
|
|
||||||
// 验证用户名
|
// 验证用户名
|
||||||
if (!form.value.account) {
|
if (!form.value.account) {
|
||||||
showError('请输入登录账号!')
|
showError('请输入登录账号!')
|
||||||
@ -439,7 +438,9 @@ const handleLogin = async () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 网络访问测试(最多重试3次,每次延迟2秒)
|
isLoading.value = true
|
||||||
|
|
||||||
|
// 网络访问测试(最多重试3次,短退避:200/400/800ms,总上限约 1.4s)
|
||||||
let healthOk = false
|
let healthOk = false
|
||||||
for (let attempt = 1; attempt <= 3; attempt++) {
|
for (let attempt = 1; attempt <= 3; attempt++) {
|
||||||
try {
|
try {
|
||||||
@ -451,9 +452,11 @@ const handleLogin = async () => {
|
|||||||
// 后台返回非 healthy 状态
|
// 后台返回非 healthy 状态
|
||||||
if (attempt === 3) {
|
if (attempt === 3) {
|
||||||
showError('后台服务异常,请稍后重试!')
|
showError('后台服务异常,请稍后重试!')
|
||||||
|
isLoading.value = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
await new Promise(resolve => setTimeout(resolve, 2000))
|
const delay = 200 * Math.pow(2, attempt - 1)
|
||||||
|
await new Promise(resolve => setTimeout(resolve, delay))
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// 捕获异常,等待后重试
|
// 捕获异常,等待后重试
|
||||||
@ -462,7 +465,8 @@ const handleLogin = async () => {
|
|||||||
isLoading.value = false
|
isLoading.value = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
await new Promise(resolve => setTimeout(resolve, 2000))
|
const delay = 200 * Math.pow(2, attempt - 1)
|
||||||
|
await new Promise(resolve => setTimeout(resolve, delay))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user