梦想云图Node.JS服务在HarmonyOS鸿蒙Next中的应用(最近更新时间:2022-12-30 10:04:50)
梦想云图Node.JS服务在HarmonyOS鸿蒙Next中的应用(最近更新时间:2022-12-30 10:04:50)
说明
后台提供梦想Node.JS服务,方便调用控件后台功能,Windows服务程序所在目录:Bin\MxDrawServer\Windows,Linux服务程序所在目录:Bin\Linux\MxDrawServer
启动服务
Windows:进入Bin\MxDrawServer\Windows目录,运行start.bat启动服务,如下:
Linux: 进入Bin\Linux\MxDrawServer,
执行如下命令,增加文件的执行权限
su root chmod -R 777 *
如下:
运行: ./node app.js 启动服务
服务启动后,默认会在1337端口监听,目录下有个ini.js文件,编辑该文件,配置服务参数,如下图:
服务使用
A.上传文件,DWG文件格式转换
服务接口说明:
直接调用POST对服务器上的文件进行转换:
- POST users { cmd: “convert”, file: “O:/1.dwg” }
- file: 需要转的cad文件路径
如下代码:
$.ajax({
url: 'http://localhost:1337/users',
data: { cmd: "convert", file: "O:/1.dwg" },
method: 'post'
}).success(function(res) {
console.log(res);
})
前端上传文件转换如下:
POST convert file;file是<input id="input" type="file"> 选择的文件.
该接口后台源码在Bin\MxDrawNode\MxDrawNode\src\mxconvert\MxConvert.ts 中的CadToMx
参考例子:Bin\MxDrawServer\Test\sample.html
代码如下:
默认文件转换后存放位置如下图:
B. 保存批注到DWG文件
服务接口说明:
- POST savecomment {filename:保存到的DWG文件;savefile :保存后的dwg, userConvertPath:false}
- userConvertPath: 默认值是false,把当前图上的批注内容保存到指定的dwg文件中
- filename: 是个相对路径,默认是相对于后台程序所在目录Bin\Release(windows),Bin\Linux\Bin(linux)
- 如果userConvertPath为接true,相对于Bin\Release\ini.json [linux:Bin\Linux\Bin\ini.json] 中的nodeConvert.path设置值
- savefile: 也是个相对路径,同filename。该接口后台源码在Bin\MxDrawNode\MxDrawNode\src\mxconvert\SaveCommentToDwg.ts 中的SaveCommentToDWG.do
参考例子:SRC\sample\Browse\VueBrowse,代码如下:
demo运行后,点击“保存到DWG文件”,查看接口调用效果:
C. 得到到DWG文件中信息
参考例子: Bin\MxDrawServer\Test\sample.html
服务接口说明:
POST users {cmd:“getcaddata”,cadfile:“1.dwg”,outfile:“1.dwg.json”}
代码如下:
function TestPost(){
$.ajax({
url:'http://localhost:1337/users',
data:{cmd:"getcaddata",cadfile:"1.dwg",outfile:"1.dwg.json"},
method:'post'
}).success(function(res){
console.log(res);
})
}
getcaddata的实现,参见“梦想控件2-后台读写CAD文件.doc”执行结果如下:
D. DWG文件转成PDF
参考例子: Bin\MxDrawServer\Test\sample.html
服务接口说明:
POST tools { cmd: “cadtopdf”, param: “file=O:/1.dwg” },
代码如下:
$.ajax({
url:'http://localhost:1337/users/tools',
data:{
cmd:"cadtopdf",
param:"file=O:/1.dwg"
},
method:'post'
}).success(function(res){
console.log(res);
})
E. DWG文件转成JPG
参考例子: Bin\MxDrawServer\Test\sample.html
服务接口说明:
POST tools { cmd: “cadtojpg”, param: “file=O:/1.dwg” },
代码如下:
$.ajax({
url:'http://localhost:1337/users/tools',
data:{
cmd:"cadtojpg",
param:"file=O:/1.dwg"
},
method:'post'
}).success(function(res){
console.log(res);
})
F. 对CAD图纸剪切,剪切输出pdf,dwg
参考例子: Bin\MxDrawServer\Test\sample.html
服务接口说明:
POST tools { cmd: “cutcad”, param: “file=O:/hhhh.dwg out=O:/1.pdf lbx=60009.152793 lby=42457.503649 rtx=120145.567345 rty=85507.693766”},
out传的值扩展名是pdf输出pdf文件,是dwg时输出dwg
代码如下:
$.ajax({
url:'http://localhost:1337/users/tools',
data:{
cmd:"cutcad",
param:"file=O:/hhhh.dwg out=O:/1.pdf lbx=60009.152793 lby=42457.503649 rtx=120145.567345 rty=85507.693766"
},
method:'post'
}).success(function(res){
console.log(res);
})
E. 根据图框,折分pdf
参考例子: Bin\MxDrawServer\Test\sample.html
服务接口说明:
POST tools { cmd: “cadtopdf”, file: “tk.dwg”},
调用 代码如下:
$.ajax({
url:'http://localhost:1337/users',
data:{
cmd:"cadtopdf",
file:"O:/tk.dwg"
},
method:'post'
}).success(function(res){
console.log(res);
})
该功能的源码在:
Bin\MxDrawNode\MxDrawNode\src\mxconvert\CADToPDF.ts
更多关于梦想云图Node.JS服务在HarmonyOS鸿蒙Next中的应用(最近更新时间:2022-12-30 10:04:50)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
梦想云图Node.JS服务在HarmonyOS鸿蒙Next中的应用主要涉及在鸿蒙系统中集成和运行Node.JS服务。Node.JS作为基于Chrome V8引擎的JavaScript运行时,能够在鸿蒙系统中提供高效的服务器端开发能力。鸿蒙Next作为华为新一代操作系统,支持多种编程语言和框架,包括Node.JS。
在鸿蒙Next中,开发者可以通过鸿蒙的分布式能力,将Node.JS服务部署到不同的设备上,实现跨设备的服务调用和数据处理。鸿蒙的分布式任务调度和数据管理能力,能够优化Node.JS服务的性能和资源利用。
具体实现上,开发者需要在鸿蒙Next的开发环境中配置Node.JS运行环境,编写和部署Node.JS服务代码。鸿蒙系统提供了丰富的API和工具,支持Node.JS服务的调试、监控和优化。此外,鸿蒙的分布式数据管理能力,能够帮助Node.JS服务在不同设备间高效地共享和处理数据。
总结来说,梦想云图Node.JS服务在鸿蒙Next中的应用,主要依赖于鸿蒙系统的分布式能力和对Node.JS的支持,能够实现高效、跨设备的服务部署和数据处理。
更多关于梦想云图Node.JS服务在HarmonyOS鸿蒙Next中的应用(最近更新时间:2022-12-30 10:04:50)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
梦想云图Node.JS服务在HarmonyOS鸿蒙Next中的应用主要涉及跨平台开发与集成。通过Node.JS,开发者可以在鸿蒙Next上构建高效的后端服务,支持实时数据处理、API接口开发等功能。鸿蒙Next的分布式架构与Node.JS的事件驱动模型相结合,能够提升应用的响应速度与扩展性。此外,Node.JS丰富的生态系统(如Express、Socket.IO等框架)可加速开发进程,适用于物联网、智能设备等场景。