nuki-api
是一个基于 Promise 的 npm 包,提供了与 Nuki 智能门锁 API 交互的功能,包括查看门锁状态、锁定/解锁门锁,授权等。
本文将为您详细介绍 nuki-api
使用教程,包括安装、API 文档和示例代码等。
安装
在使用 nuki-api
之前,您需要安装 node.js 和 npm。
接着,在终端中运行以下命令来安装 nuki-api
:
npm install --save nuki-api
API 文档
初始化
const NukiAPI = require('nuki-api'); const nuki = new NukiAPI({ token: 'YOUR_API_TOKEN' });
在初始化 nuki-api
时,需要传入一个对象作为参数。该对象可以包含以下可选属性:
token
: Nuki API 令牌,可以在 Nuki Web 中获得。host
: Nuki API 服务器的主机名,默认为api.nuki.io
。protocol
: 请求协议,可以是http
或https
,默认为https
。
getLockState()
nuki.getLockState('YOUR_SMART_LOCK_ID') .then(state => console.log(state)) .catch(error => console.error(error));
getLockState()
方法用于获得门锁的当前状态。该方法接收门锁 ID 作为参数,并返回门锁状态的对象,例如:
{ state: 0, batteryCritical: false, keypadBatteryCritical: false, doorsensorState: 2, doorsensorStateName: 'opened', timestamp: 1522753548 }
其中,state
属性表示门锁状态的代码,batteryCritical
属性表示门锁电量是否低下,keypadBatteryCritical
属性表示键盘电量是否低下,doorsensorState
属性表示门锁门磁状态的代码,doorsensorStateName
属性表示门磁状态的字符串名称,timestamp
属性表示门锁状态的时间戳。
lock()
nuki.lock('YOUR_SMART_LOCK_ID') .then(() => console.log('Lock is locked.')) .catch(error => console.error(error));
lock()
方法用于锁定门锁。该方法接收门锁 ID 作为参数,并返回一个空的 Promise。
unlock()
nuki.unlock('YOUR_SMART_LOCK_ID') .then(() => console.log('Lock is unlocked.')) .catch(error => console.error(error));
unlock()
方法用于解锁门锁。该方法接收门锁 ID 作为参数,并返回一个空的 Promise。
authorize()
nuki.authorize('YOUR_SMART_LOCK_ID', 'YOUR_USER_ID', 2) .then(() => console.log('User has been authorized.')) .catch(error => console.error(error));
authorize()
方法用于授权用户。该方法接收门锁 ID、用户 ID 和授权类型作为参数,并返回一个空的 Promise。
其中,授权类型可以是:
1
: 持续授权2
: 单次授权
revokeAuthorization()
nuki.revokeAuthorization('YOUR_SMART_LOCK_ID', 'YOUR_AUTHORIZATION_ID') .then(() => console.log('Authorization has been revoked.')) .catch(error => console.error(error));
revokeAuthorization()
方法用于取消授权。该方法接收门锁 ID 和授权 ID 作为参数,并返回一个空的 Promise。
getLogEntries()
nuki.getLogEntries('YOUR_SMART_LOCK_ID', 50) .then(entries => console.log(entries)) .catch(error => console.error(error));
getLogEntries()
方法用于获取门锁日志记录。该方法接收门锁 ID 和返回的最大记录数作为参数,并返回日志记录的数组。
示例代码
下面是一个完整的示例代码,演示如何使用 nuki-api
与 Nuki 智能门锁 API 进行交互:
-- -------------------- ---- ------- ----- ------- - -------------------- ----- ---- - --- --------- ------ ---------------- --- -- ------ --------------------------------------- ----------- -- - ----------------- -------- ------- -- ---- ------ -------------------------------- -- -------- -- ----------------- -- ---------- -------- -- - -- ---- ------ ---------------------------------- -- -------- -- ----------------- -- ------------- -- ---- ------------------------------------ --------------- -- -------- -- ----------------- --- ---- --------------- -- ---- ---------------------------------------------- ------------------------ -------- -- -------------------------- --- ---- ------------ -- -------- ---------------------------------------- --- ------------- -- ---------------- ---------- ----------
通过本文您可以了解 nuki-api
的基本使用方法和 API 文档,希望对您在前端开发中的应用有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d3381e8991b448daf21