extract archive * help [command] display help for command 2.1 解包app.asar
我们进入StarUML安装目录,找到app.asar文件,如我的安装目录C:\Program Files\StarUML\resources下有如下文件:
app.asar app-update.yml elevate.exe* mdj.ico
解压app.asar:
asar extract app.asar app
得到app目录, 进入目录app\src\engine:
C:\Program Files\StarUML\resources\app\src\engine $ ls clipboard-manager.js default-commands.js engine.js font-manager.js pdf-graphics.js selection-manager.js update-manager.js command-manager.js diagram-export.js factory.js license-manager.js project-manager.js unicode.js
最关键的是两个文件:license-manager.js和diagram-export.js,看看英文都知道,一个管注册license,一个管图片导出。
2.2 去掉注册提示
打开license-manager.js,找到如下代码:
checkLicenseValidity() {
if (packageJSON.config.setappBuild) {
setStatus(this, true);
} else {
this.validate().then(
() => {
setStatus(this, true);
},
() => {
setStatus(this, false);
UnregisteredDialog.showDialog();
},
);
}
}
修改为:
checkLicenseValidity() {
if (packageJSON.config.setappBuild) {
setStatus(this, true);
} else {
this.validate().then(
() => {
setStatus(this, true);
},
() => {
//setStatus(this, false);
//UnregisteredDialog.showDialog();
setStatus(this, true);
},
);
}
}
那么我们的注册提示就去掉了。
2.3 去掉图片水印
打开diagram-export.js,找到如下代码:
// Draw watermark if application is not registered
if (app.licenseManager.getStatus() !== true) {
diagram.drawWatermark(
canvas,
canvasElement.width,
canvasElement.height,
70,
12,
"UNREGISTERED",
);
} else if (app.licenseManager.getLicenseInfo().licenseType === "STD") {
const dgmType = diagram.constructor.name;
if (app.licenseManager.isProDiagram(dgmType)) {
diagram.drawWatermark(
canvas,
canvasElement.width,
canvasElement.height,
45,
12,
"PRO ONLY",
);
}
}
// Draw diagram to the new canvas
diagram.arrangeDiagram(canvas);
diagram.drawDiagram(canvas);
// Return the new canvas to base64-encoded data
var data = canvasElement
.toDataURL(type)
.replace(/^data:image\/(png|jpeg);base64,/, "");
return data;
}
修改为:
// Draw watermark if application is not registered
/*
if (app.licenseManager.getStatus() !== true) {
diagram.drawWatermark(
canvas,
canvasElement.width,
canvasElement.height,
70,
12,
"UNREGISTERED",
);
} else if (app.licenseManager.getLicenseInfo().licenseType === "STD") {
const dgmType = diagram.constructor.name;
if (app.licenseManager.isProDiagram(dgmType)) {
diagram.drawWatermark(
canvas,
canvasElement.width,
canvasElement.height,
45,
12,
"PRO ONLY",
);
}
}
*/
// Draw diagram to the new canvas
diagram.arrangeDiagram(canvas);
diagram.drawDiagram(canvas);
// Return the new canvas to base64-encoded data
var data = canvasElement
.toDataURL(type)
.replace(/^data:image\/(png|jpeg);base64,/, "");
return data;
}
就是把两个处理水印的代码注释掉即可。
2.4 打包app.asar
在安装目录C:\Program Files\StarUML\resources下执行:
asar pack app app.asar
新的app.asar已经生成成功,则我们重新去打开StarUML,以上两个问题都完美解决了。
3. 总结
StarUML6.0.1还是很好使用的,很小巧,建议使用UML做架构设计的同仁来试试,看到很多年轻开发人员做设计时随意用word里的图形功能来设计,或者其它脑图来设计,我还是推荐采用UML来做软件设计,毕竟是一个很成熟的标准,何必放着标准不用而去用其它呢。
柚子快报激活码778899分享:StarUML6.0.1使用
http://yzkb.51969.com/
文章链接
评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。
发表评论