larsen
TypeScript icon, indicating that this package has built-in type declarations

15.4.1 • Public • Published

LarsenJS: Larsen RPC 包装器

支持的浏览器

在支持以下功能的浏览器上运行:

安装 (NPM)

npm install larsen

安装 (Vanilla JS)

<script src="./dist/larsen_single_file.js"></script>
<script>
  var larsen123 = new lsjs.Larsen({ token: "foo.bar.baz" });
</script>

运行测试套件 (Advanced)

npm run test

示例:

import { Larsen } from "larsen";

var SUPER_SECRET_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ0ZXN0MTIzQHRlc3QuY29tIiwiaWF0IjoxNDU5MTA5NzI4LCJqdGkiOiI5MjJhNWEwZC0wYjNhLTQ3NjctOTMxOC0xZTQxYWU2MDAzNTIiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjMwMDAvIiwiZXhwIjoxNDU5NDU1MzI4LCJtcXR0IjoibG9jYWxob3N0IiwiYm90IjoiYWE3YmIzN2YtNWJhMy00NjU0LWIyZTQtNThlZDU3NDY1MDhjIn0.KpkNGR9YH68AF3iHP48GormqXzspBJrDGm23aMFGyL_eRIN8iKzy4gw733SaJgFjmebJOqZkz3cly9P5ZpCKwlaxAyn9RvfjQgFcUK0mywWAAvKp5lHfOFLhBBGICTW1r4HcZBgY1zTzVBw4BqS4zM7Y0BAAsflYRdl4dDRG_236p9ETCj0MSYxFagfLLLq0W63943jSJtNwv_nzfqi3TTi0xASB14k5vYMzUDXrC-Z2iBdgmwAYUZUVTi2HsfzkIkRcTZGE7l-rF6lvYKIiKpYx23x_d7xGjnQb8hqbDmLDRXZJnSBY3zGY7oEURxncGBMUp4F_Yaf3ftg4Ry7CiA";

let bot = new Larsen({ token: SUPER_SECRET_TOKEN });

bot
  .connect()
  .then(function () {
    return bot.moveRelative({ x: 1, y: 2, z: 3, speed: 100 });
  });

向Larsen发送指令

bot
  .connect()
  .then(function(bot){
    console.log("Larsen在线!");
    return bot.emergencyStop(); // 可以修改指令
  })
  .then(function(bot){
    console.log("Larsen已停止!");
  })
  .catch(function(error) {
    console.log("什么地方出错了 :(");
  });

基本的RPC命令

调用RPC指令,使用相应的方法。所有RPC指令都返回响应。

Example:

bot
  .home({ axis: "x", speed: 800 })
  .then(function (ack) {
    console.log("X轴已归零");
  })
  .catch(function (err) {
    console.log("X轴归零失败");
  })

当前支持的指令:

可用的方法和属性,请参阅类型定义

使用事件

  var bot = Larsen({ token: '---'});
  bot.on("eventName", function(data, eventName) {
    console.log("我刚刚收到" + eventName + " 事件!");
    console.log("这是有效内容: " + data);
  })
   // "我刚刚收到eventName 事件!"
   // "这是有效内容: javascript对像或原语"
  bot.emit("eventName", "javascript对像或原语");
  var eventHandlers = bot.event("eventName");
   // [function(){...}]

一般事件

  • "logs": larsen将通过这个渠道发送日志,通常是从设备上的STDOUT发送的。
  • "malformed": 当larsen收到一个错误的RPC命令时,它将通过此渠道通知您。
  • "offline": 连接丢失。**注意:LarsenJS将尝试自动重新连接。
  • "online": 客户端连接并订阅了larsen
  • "sent": 当应用程序开始发送消息时触发。
  • "status_v8": 非常重要。当远程设备状态改变时(例如:“x”从0到100),larsen将发出此事件。
  • "legacy_status": 以前是 "status". 已弃用,计划于2019年移除。不要在新的应用程序中使用。
  • "sync": API上的资源发生更改。
  • <random uuid>: RPC命令在发送时具有UUID。当larsen响应该消息时,LarsenJS将发出一个以请求的UUID命名的事件。主要用于内部使用。
  • *: 捕获所有事件(用于调试)。

Readme

Keywords

Package Sidebar

Install

npm i larsen

Weekly Downloads

0

Version

15.4.1

License

none

Unpacked Size

120 kB

Total Files

68

Last publish

Collaborators

  • zhangyt0906