feat: 添加下载进度条

This commit is contained in:
2025-08-04 19:59:59 +08:00
parent e0ac21d141
commit aff9da2a60
20 changed files with 1073 additions and 361 deletions

View File

@@ -12,7 +12,7 @@ import { AuthManager } from "@/utils/AuthManager";
import { HubConnection, HubConnectionBuilder } from "@microsoft/signalr";
import { getHubProxyFactory, getReceiverRegister } from "@/TypedSignalR.Client";
import type { ResourceInfo } from "@/APIClient";
import type { IJtagHub } from "@/TypedSignalR.Client/server.Hubs.JtagHub";
import type { IJtagHub } from "@/TypedSignalR.Client/server.Hubs";
export const useEquipments = defineStore("equipments", () => {
// Global Stores
@@ -123,24 +123,27 @@ export const useEquipments = defineStore("equipments", () => {
enableJtagBoundaryScan.value = enable;
}
async function jtagUploadBitstream(bitstream: File, examId?: string): Promise<number | null> {
async function jtagUploadBitstream(
bitstream: File,
examId?: string,
): Promise<number | null> {
try {
// 自动开启电源
await powerSetOnOff(true);
const resourceClient = AuthManager.createAuthenticatedResourceClient();
const resp = await resourceClient.addResource(
'bitstream',
'user',
"bitstream",
"user",
examId || null,
toFileParameterOrUndefined(bitstream),
);
// 如果上传成功,设置为当前选中的比特流
if (resp && resp.id !== undefined && resp.id !== null) {
return resp.id;
}
return null;
} catch (e) {
dialog.error("上传错误");
@@ -149,10 +152,10 @@ export const useEquipments = defineStore("equipments", () => {
}
}
async function jtagDownloadBitstream(bitstreamId?: number): Promise<boolean> {
async function jtagDownloadBitstream(bitstreamId?: number): Promise<string> {
if (bitstreamId === null || bitstreamId === undefined) {
dialog.error("请先选择要下载的比特流");
return false;
return "";
}
const release = await jtagClientMutex.acquire();
@@ -170,7 +173,7 @@ export const useEquipments = defineStore("equipments", () => {
} catch (e) {
dialog.error("下载错误");
console.error(e);
return false;
throw e;
} finally {
release();
}