酷Q社区»社区 分享交流区 编程技术

【发布】Node.js 图形化SDK(测试版)[复制链接]

作者: Blue_sdo|查看: 415|回复: 11
跳转到指定楼层
5-22 11:56

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Blue_sdo 于 2020-5-28 12:59 编辑
ps:发的这个版本可能有点小问题,如果有小伙伴运行不起来的话,记得回复反馈下哈,因为我手头有好几个版本,有点乱

介绍
1. 这啥?
这是一个用electron写的基于httpAPI的图形化客户端
(平台支持:win64)
2. 能干什么
你可以使用node.js编写带有图形界面的酷Q迷你应用
3. 要怎么使用
说明和主程序以及范例稍后发布
4.实现工具:
1. node.js 核心
2. electron 图形化界面
3. hapi.js 服务器框架
4. 内置浏览器localStorage,伪数据库

使用说明

1. 首先捏,下载酷Q主程序……(这句是废话emmm

2. 其次,下载本程序……(这也是废话 囧

3. 然后,启动程序,配置好通讯地址、通讯密匙、和接收地址
通讯地址 即酷Q主程序服务端的地址,监听到消息后,需要将消息上报到哪里
通讯密钥 通讯的加密密钥,具体参考酷QhttpAPI说明,默认为空
接收地址 本客户端的地址,酷Q主程序需要将消息推送到这个地址,递交给本程序接收



4. 再然后,下载并配置酷QhttpAPI(戳开前往)插件,前往:

酷Q主程序目录=>数据文件夹(data)=>应用(app)=>HTTP插件(io.github.richardchien.coolqhttpapi)=>配置(config)=>用户_id.json

5. 编辑JSON配置文件,将我们配置好的通讯地址,通讯密钥(如果有)和接收地址依次填入:host、port、secret、post_url,并设置允许跨域请求:"allow_cors":true,然后重载酷Q并启动插件(重要),等待命令行提示连接成功。

6. 编写你的插件,你需要在某个文件夹下的view目录下的src目录下的view目录下的plugin目录下放置你写好的插件
为什么是某个文件夹下呢?因为electron编写的时候和打包的时候的根目录结构是不一样的,所以需要你找找嗯

7. 插件编写格式,首先是插件目录,名字任意(尽量使用英文),该目录对应你编写的插件名字/标识。创建好目录后,进入目录,参考范例插件,创建2个js文件,即插件标识_main.js和插件标识_handler.js,这两个文件分别对应负责插件的视图显示和数据处理。

xxx_man.js

插件的html视图展示控制器,这个文件将作为一个mithril组件被主程序调用并展示,点开插件的配置按钮,将前往此编写的这个页面。
啥是mithril?这是一个和react类似的前端框架,有react开发经验即可快速熟悉它,戳我查看说明
如果没有相关开发经验,可以暂时不要使用视图功能,可以直接配置handler文件处理数据。不过也请保留main文件并配置好info里面的数据,否则插件会启用不了的。

  1. var m;

  2. m = require("mithril");

  3. module.exports = {
  4.   info: {
  5.     name: "测试插件",
  6.     id: "test",
  7.     describe: "这是一个测试插件嘻嘻"
  8.   },
  9.   view: function() {
  10.     return m("", [m("", "测试插件")]);
  11.   }
  12. };
复制代码


导出的视图组件请带一个info属性,里面放置的是该插件的相关信息,name-插件中文名,id-对应插件的目录名,describe-插件描述。配置完后打开主程序,你编写的插件就会呈现在插件列表里啦。

xxx_handler.js

  1. module.exports = function(req, h) {
  2.   var que;
  3.   que = req.payload;
  4.   console.log("111我执行了");
  5. };
复制代码


这里导出的一个简单的处理函数,只要酷Q有推送任何消息过来,都会触发这个函数,其中的req参数是推送消息包括消息头在内的各种信息,你可以直接控制台输出看看,不过酷Q推送的post数据放在req.payload下面,你只要处理这个数据即可。h是hapi.js框架的响应工具集,没错这里用到了hapi服务器框架,这个handler.js也是hapi的一个路由(不过我希望你不要关心这些)。你只需要根据req.payload的内容编写你的操作即可。

关于响应:我还在调试,回头在写嗯(真的是草率……

截图
(以上地址均可带端口号,使用范例文本框已经给出)
config.png
plugin.png

下载地址
链接:https://share.weiyun.com/4gKcsK0L


被感谢 9

不懂+1+1
支持楼主·~~
这....很可以
支持可以
支持一下
本帖最后由 WxinyuanW 于 2020-5-24 13:09 编辑

占个位
node.js  可以呀
支持大佬(3cp感谢入股)
支持大佬(3cp感谢入股)
群主写的必须支持一下
electron都整上了,i了i了
您需要登录后才可以回帖 登录 | 注册

本版积分规则尽量使你的回复能够对他人有所帮助

Powered by Discuz!Designed by hexapp© 2020 CoolQ

快速回复返回顶部返回列表