0.2.1 • Published 8 years ago
touch-sprite-remote v0.2.1
touch-sprite-remote
Touch script remote API for Node.js
Table of Contents
Installation
npm install touch-sprite-remoteGetting Started
import { fetchAuth, run, status } from 'touch-sprite-remote';
(async function () {
const { auth } = await fetchAuth({
key: '<my_key>',
devices: ['<my_device_id>'],
});
const runResult = await run('192.168.1.23', { auth });
console.log('run:', runResult); /* "ok" or "fail" */
const statusResult = await status('192.168.1.23', { auth });
console.log('status:', statusResult); /* "f00", "f01" or "f02" */
}());API Reference
fetchAuth(options)
Fetch auth / access token.
Options
key(String): Developer access keydevices: (String): Devices IDsexpiresIn(Number): Expires in seconds. Defaults to 3600
Returns
{
status: 200,
message: 'error message if status is not 200',
time: 1422930265, // current unix timestamp
auth: 'auth / access token',
expiresIn: 3600, // expires in second
remainderToken: 4, // remainder token
}getDeviceName(target)
Get device name.
Arguments
target(String): Device host target. eg: '192.168.1.23'
Returns
(String): Device name.
status(target, options)
Get status.
Arguments
target(String): Device host target. eg: '192.168.1.23'options(Object): Definesoptions.authfor access token (required)
Returns
(String): Returns one of these string:
f00: Freef01: In running scriptsf02: In recording screen
run(target, options)
Run script.
Arguments
target(String): Device host target. eg: '192.168.1.23'options(Object): Definesoptions.authfor access token (required)
Returns
(String): ok or fail
stop(target, options)
Stop script.
Arguments
target(String): Device host target. eg: '192.168.1.23'options(Object): Definesoptions.authfor access token (required)
Returns
(String): ok or fail
upload(target, options)
Upload file.
Arguments
target(String): Device host target. eg: '192.168.1.23'options(Object):auth(String): Access token (required)file(String): Local file pathremoteFile(String): Remote file pathtype(String): Defining root type. One oflua,res,logorpluginis supported. By default, iffileext is.lua,.luacor.txt, it would belua, otherwise, it would beres
Returns
(String): ok or fail
TSRemote
TSRemote class. A TSRemote instance by calling new TSRemote(options) provides all methods above, but could only get and set auth once.
The options is almost the same with fetchAuth(options), but also provides these two auth cache getter and setter functions:
async getAuth(): Will call when calling any api needsauth. It's useful to getauthfrom your cache systemasync setAuth(authObject): Will call whengetAuth()doesn't returnauth. TheauthObjectis the same with the result offetchAuth(). It's useful to save theauthto your cache system
Example
import TSRemote from 'touch-sprite-remote';
let cache;
(async function () {
const tsr = new TSRemote({
key: '<my_key>',
devices: ['<my_device_id>'],
/* add `getAuth()` and `setAuth()` functions */
getAuth: async () => cache,
setAuth: async ({ auth, expiresIn }) => (cache = auth),
});
/* no need `auth` option */
const runResult = await tsr.run('192.168.1.23');
const statusResult = await tsr.status('192.168.1.23');
}());Additional instance methods
refreshToken(): Force refresh tokenaddDevices(device[, ...device]): Add device. Will refresh tokenremoveDevices(device[, ...device]): Add device. Will refresh token
License
MIT