feat(client): 实现跟卖精灵异步启动和Chrome驱动预加载- 在GenmaiServiceImpl中添加@Async注解实现异步启动跟卖精灵- 增加ChromeDriverPreloader组件预加载Chrome驱动- 添加AsyncConfig配置类启用异步支持
- 优化跟卖精灵启动提示信息和加载状态显示 - 移除Java代码中关于刷新令牌的相关逻辑和依赖- 更新版本号从2.5.5到2.5.6
This commit is contained in:
@@ -33,20 +33,29 @@ async function getToken(): Promise<string> {
|
||||
|
||||
async function request<T>(path: string, options: RequestInit & { signal?: AbortSignal }): Promise<T> {
|
||||
const token = await getToken();
|
||||
const res = await fetch(`${resolveBase(path)}${path}`, {
|
||||
credentials: 'omit',
|
||||
cache: 'no-store',
|
||||
...options,
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
...(token ? { 'Authorization': `Bearer ${token}` } : {}),
|
||||
...options.headers
|
||||
}
|
||||
});
|
||||
let res: Response;
|
||||
|
||||
try {
|
||||
res = await fetch(`${resolveBase(path)}${path}`, {
|
||||
credentials: 'omit',
|
||||
cache: 'no-store',
|
||||
...options,
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
...(token ? { 'Authorization': `Bearer ${token}` } : {}),
|
||||
...options.headers
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
throw new Error('无法连接服务器,请检查网络后重试');
|
||||
}
|
||||
|
||||
if (!res.ok) {
|
||||
if (res.status >= 500) {
|
||||
throw new Error('无法连接服务器,请检查网络后重试');
|
||||
}
|
||||
const text = await res.text().catch(() => '');
|
||||
throw new Error(text || `HTTP ${res.status}`);
|
||||
throw new Error(text || '无法连接服务器,请检查网络后重试');
|
||||
}
|
||||
|
||||
const contentType = res.headers.get('content-type') || '';
|
||||
@@ -81,18 +90,27 @@ export const http = {
|
||||
|
||||
async upload<T>(path: string, form: FormData, signal?: AbortSignal) {
|
||||
const token = await getToken();
|
||||
const res = await fetch(`${resolveBase(path)}${path}`, {
|
||||
method: 'POST',
|
||||
body: form,
|
||||
credentials: 'omit',
|
||||
cache: 'no-store',
|
||||
headers: token ? { 'Authorization': `Bearer ${token}` } : {},
|
||||
signal
|
||||
});
|
||||
let res: Response;
|
||||
|
||||
try {
|
||||
res = await fetch(`${resolveBase(path)}${path}`, {
|
||||
method: 'POST',
|
||||
body: form,
|
||||
credentials: 'omit',
|
||||
cache: 'no-store',
|
||||
headers: token ? { 'Authorization': `Bearer ${token}` } : {},
|
||||
signal
|
||||
});
|
||||
} catch (e) {
|
||||
throw new Error('无法连接服务器,请检查网络后重试');
|
||||
}
|
||||
|
||||
if (!res.ok) {
|
||||
if (res.status >= 500) {
|
||||
throw new Error('无法连接服务器,请检查网络后重试');
|
||||
}
|
||||
const text = await res.text().catch(() => '');
|
||||
throw new Error(text || `HTTP ${res.status}`);
|
||||
throw new Error(text || '无法连接服务器,请检查网络后重试');
|
||||
}
|
||||
|
||||
const contentType = res.headers.get('content-type') || '';
|
||||
|
||||
Reference in New Issue
Block a user