wll8/sys-shim

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

yangcore opened this issue · 17 comments

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

wll8 commented

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

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

感谢感谢

wll8 commented

image

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

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

使用方式如:

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

输出:

image

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

wll8 commented

你是在哪里得的 main.exe ?

你是在哪里得的 main.exe ?

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

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

wll8 commented

嗯,现在正在做好版本控制。已经用 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 封装都还没跟上,可能有不少问题。你权衡一下哈。也欢迎一起开发。

感谢感谢

wll8 commented

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

win.zip

wll8 commented

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

image

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

win.zip

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

wll8 commented

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

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

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

wll8 commented

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

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

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

wll8 commented

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