diff --git a/src/Add-on/999.ts b/src/Add-on/999.ts index 2040ffd0f..ed5be7658 100644 --- a/src/Add-on/999.ts +++ b/src/Add-on/999.ts @@ -1,19 +1,46 @@ -import { app } from "../ApplicationServices/Application"; +import { Intent } from "@blueprintjs/core"; import { ReportError } from "../Common/ErrorMonitoring"; -import { Log } from "../Common/Log"; +import { ErrorReportUrl } from "../Common/HostUrl"; +import { PostJson, RequestStatus } from "../Common/Request"; import { FileServer } from "../DatabaseServices/FileServer"; import { Command } from "../Editor/CommandMachine"; +import { AppToaster } from "../UI/Components/Toaster"; export class Command_999 implements Command { async exec() { let fileServer = FileServer.GetInstance() as FileServer; - ReportError("报告错误!" + fileServer.m_CurFileId); + if (!fileServer.m_CurFileId) + { + AppToaster.show({ + message: "图纸尚未保存,无法报告!", + timeout: 5000, + intent: Intent.DANGER, + }); + return; + } - Log("成功发送图纸给开发人员!"); + let msg = prompt("请输出错误原因:"); + if (msg === null) + { + AppToaster.show({ + message: "取消发送!", + timeout: 5000, + intent: Intent.WARNING, + }); + return; + } - if (!app.Saved) - Log("图纸尚未保存!"); + ReportError("报告错误!\n错误id:" + fileServer.m_CurFileId + "\n错误原因:" + msg); + + let res = await PostJson(ErrorReportUrl, { file_id: fileServer.m_CurFileId }); + + if (res.err_code === RequestStatus.Ok) + AppToaster.show({ + message: "成功发送图纸!", + timeout: 5000, + intent: Intent.SUCCESS, + }); } } diff --git a/src/Common/HostUrl.ts b/src/Common/HostUrl.ts index 061d9f17a..4c1e6221b 100644 --- a/src/Common/HostUrl.ts +++ b/src/Common/HostUrl.ts @@ -134,3 +134,6 @@ export const RecycleBinUrls = { Re: CURRENT_HOST + "/CAD-recycleFiles", Delete: CURRENT_HOST + "/CAD-recycleDelete" }; + +//错误报告 +export const ErrorReportUrl = CURRENT_HOST + "/CAD-fastFileSend";