wll8 / sys-shim

使用前端语言快速实现桌面程序。
https://wll8.github.io/sys-shim-doc/
237 stars 19 forks source link

如何使用Neutralino.js的api?大佬能给个demo示范不? #5

Closed yangcore closed 6 months ago

yangcore commented 6 months ago

如何使用Neutralino.js的api?大佬能给个demo示范不?

wll8 commented 6 months ago

稍等几分钟,我马上给你弄个。之前的文档上本来也是有这些 dmeo 的,然后更新的时候又先删掉了。另外现在的 Neutralino api 还没有封装完,太忙了。

yangcore commented 6 months ago

稍等几分钟,我马上给你弄个。之前的文档上本来也是有这些 dmeo 的,然后更新的时候又先删掉了。另外现在的 Neutralino api 还没有封装完,太忙了。

感谢感谢

wll8 commented 6 months ago

image

这样即可得到一个 Neutralino 接口:

globalThis.Neutralino = await main.api.neutralino()

使用方式如:

await Neutralino.os.execCommand(`node -v`)

输出:

image

yangcore commented 6 months ago

image w我之前就尝试过这样,会报错,还以为我的用法不对

wll8 commented 6 months ago

你是在哪里得的 main.exe ?

yangcore commented 6 months ago

你是在哪里得的 main.exe ?

就你文档上直接下载的,没有从git release上下载
SHA256: 01013829A84FE337D7A59F319D272D1B5D3CF8879865357EE41B3071E3474F82

yangcore commented 6 months ago

你是在哪里得的 main.exe ? 刚刚我从release上重新下了一个,然后报这个错误 image

wll8 commented 6 months ago

嗯,现在正在做好版本控制。已经用 npm 来做版本控制了,以后都在 npm 上可以获取最新版本或任意版本。

在 npm 下载的包里 这个位置script/npm-pkg/shim/win/main.exe 有对应版本的 exe 文件。

在 npm 下载的包里 这个位置script/npm-pkg/test 有简单测试文件。

通过 npm i -g sys-shim 运行后,直接运行 sys-shim 命令可以启动一个 sys-shim 服务。

参考文档:在任意项目中引用 sys-shim

PS:这也是昨前天才弄好的。

然后

image

globalThis.main = main
globalThis.native = main.native
globalThis.nativeMain = main.nativeMain
globalThis.Neutralino = await main.api.neutralino()
document.body.append(`${globalThis.ext.wsUrl}?token=${globalThis.ext.token}`)
const ipconfig = await Neutralino.os.execCommand(`ipconfig`)
console.log(`ipconfig`, ipconfig.stdOut)

由于这个项目是个人主要在开发,当前文档和一些三方 API 封装都还没跟上,可能有不少问题。你权衡一下哈。也欢迎一起开发。

yangcore commented 6 months ago

感谢感谢

wll8 commented 6 months ago

你直接下载这个项目打开试试。

win.zip

wll8 commented 6 months ago

然后你后面报销 ws undefined 是因为之前的代码里是这样写的,先要求把 main 挂载到全局上,再从全局上去读取 main.ws 。这个后面的版本处理一下。

image

yangcore commented 6 months ago

你直接下载这个项目打开试试。

win.zip

第一次打开好使,刷新页面会报错 image

wll8 commented 6 months ago

刷新这个由于在做 ws 连接权限时有一个情况需要处理。我现在停下其他事,马上给你处理掉这个问题。

yangcore commented 6 months ago

刷新这个由于在做 ws 连接权限时有一个情况需要处理。我现在停下其他事,马上给你处理掉这个问题。

不急不急,有空再搞,我目前也是在项目选型阶段 😊

wll8 commented 6 months ago

已经搞定了,临时去除权限判断(后面更新时你不需要变更代码)。现在你随便刷新,不会出现问题~,点击下载

方便问下你的项目都可能会用到哪些系统功能吗?如果不是对系统 api 要求比较多且复杂的,选我,我全力协助。

yangcore commented 6 months ago

嗯嗯,可以了,目前还不是很确定需求,公司只是让我先调研一下,最终极的目标公司是想实现一个类似钉钉的软件,有投屏,有打印,好像还要求搞pos机的串联,不过这些都是后续事项,目前公司是有web版的,想给搞成pc端软件

wll8 commented 6 months ago

听起来问题不大,sys-shim windows 内部是使用 aardio 实现的,在 windows 平台上有不少的案例可以直接运行,可供参考。