优化:尝试修复错误的图纸

pull/2527/head
ChenX 10 months ago
parent cb8258e3a2
commit e360f2855c

@ -150,45 +150,53 @@ export class FileServer extends Singleton
} }
catch (error) catch (error)
{ {
if (error.message.indexOf("at position") === -1) let pos: number;
if (error.message.indexOf("at position") !== -1)
pos = Number(/at position[ ]+(\d+)/.exec(error.message)[1]);
else if (error.message.indexOf("Unexpected token") !== -1)
{
let pos1 = error.message.indexOf("\"");
let pos2 = error.message.indexOf("\"", pos1 + 1);
let subStr = error.message.substring(pos1 + 1, pos2);
pos = info.file.indexOf(subStr);
}
if (pos === undefined || pos === -1)
{ {
AppToaster.show({ AppToaster.show({
message: "图纸损坏!您现在可以打开历史记录修复图纸!", message: "图纸损坏!您现在可以打开历史记录修复图纸!或者将图纸发给我们进行修复!",
timeout: 3000, timeout: 3000,
intent: Intent.DANGER intent: Intent.DANGER
}, 'canelfix'); }, 'canelfix');
break; break;
} }
else
{
let pos = Number(/at position[ ]+(\d+)/.exec(error.message)[1]);
let startPos = Math.max(0, pos - 100);
let endPos = Math.min(pos + 100, info.file.length - 1);
let newStr = prompt(`数据损坏,请修复数据,下面数据中,第${pos - startPos + 1}个字符出错了(如果您不会修复,请发送给售后工程师!)点击取消可以直接放弃修复,您可以打开历史记录还原图纸!`, info.file.substring(startPos, endPos)); let startPos = Math.max(0, pos - 100);
if (newStr) let endPos = Math.min(pos + 100, info.file.length - 1);
let newStr = prompt(`数据损坏,请修复数据,下面数据中,第${pos - startPos + 1}个字符出错了(如果您不会修复,请发送给售后工程师!)点击取消可以直接放弃修复,您可以打开历史记录还原图纸!`, info.file.substring(startPos, endPos));
if (newStr)
{
try
{ {
try info.file = info.file.substring(0, startPos) + newStr + info.file.substring(endPos);
{ fileData = JSON.parse(info.file);
info.file = info.file.substring(0, startPos) + newStr + info.file.substring(endPos); break;
fileData = JSON.parse(info.file);
break;
}
catch (error)
{
}
} }
else catch (error)
{ {
AppToaster.show({
message: "你放弃了修复,你现在可以打开历史记录修复图纸!",
timeout: 3000,
intent: Intent.SUCCESS
}, 'canelfix');
break;
} }
} }
else
{
AppToaster.show({
message: "你放弃了修复,你现在可以打开历史记录修复图纸!",
timeout: 3000,
intent: Intent.SUCCESS
}, 'canelfix');
break;
}
} }
} }

Loading…
Cancel
Save