fix localized login network error

This commit is contained in:
david
2026-07-29 17:32:24 +08:00
parent 82742bde58
commit ab0915edaf
2 changed files with 18 additions and 10 deletions

View File

@@ -7,14 +7,19 @@ export type PageResult<T> = { total: number; list: T[] };
export async function request<T>(path: string, init?: RequestInit): Promise<T> {
const token = localStorage.getItem(tokenStorageKey);
const response = await fetch(`${apiBaseURL}${path}`, {
...init,
headers: {
'Content-Type': 'application/json',
...(token ? { Authorization: token } : {}),
...(init?.headers ?? {}),
},
});
let response: Response;
try {
response = await fetch(`${apiBaseURL}${path}`, {
...init,
headers: {
'Content-Type': 'application/json',
...(token ? { Authorization: token } : {}),
...(init?.headers ?? {}),
},
});
} catch {
throw new Error('无法连接服务器,请确认服务已启动');
}
const payload = (await response.json()) as { code?: number; message?: string; details?: T };
if (!response.ok || payload.code !== 0) throw new Error(payload.message || '请求失败');
return payload.details as T;

View File

@@ -2,7 +2,6 @@
<div class="login-form-wrapper">
<div class="login-form-title">登录和气平台</div>
<div class="login-form-sub-title">使用平台管理员账户登录</div>
<div class="login-form-error-msg">{{ errorMessage }}</div>
<a-form
ref="loginForm"
:model="userInfo"
@@ -51,6 +50,9 @@
记住用户名
</a-checkbox>
</div>
<div v-if="errorMessage" class="login-form-error-msg">
{{ errorMessage }}
</div>
<a-button type="primary" html-type="submit" long :loading="loading">
登录
</a-button>
@@ -93,6 +95,7 @@ const handleSubmit = async ({
}) => {
if (loading.value) return;
if (!errors) {
errorMessage.value = '';
setLoading(true);
try {
await userStore.login(values as LoginData);
@@ -105,7 +108,7 @@ const handleSubmit = async ({
});
Message.success('登录成功');
const { rememberPassword } = loginConfig.value;
const { username, password } = values;
const { username } = values;
loginConfig.value.username = rememberPassword ? username : '';
loginConfig.value.password = '';
} catch (err) {