dexif / wialonjs-api

Lightweight and flexible JS wrapper for Wialon Remote API

Home Page:http://sdk.wialon.com/libs/js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wialonjs-api

Lightweight and flexible wrapper for Wialon Remote API

wialonjs-api helps you to work with Wialon Hosting and Wialon Local throught Remote API

Usage sample

<script scr='dist/wialon-src.js'></script>
<script>
    // create Wialon session instance
    var sess = new W.Session('https://hst-api.wialon.com', {
        eventsTimeout: 5
    });

    // set Remote API 'svc' param
    var svc = 'core/login';
    // set Remote API 'params' param
    var params = {
        user: 'wialon_test',
        password: 'test'
    };
    // Execute request
    sess.execute(svc, params, function(data) {
        // callback
        console.log('login succeed');
    });
</script>

Demo

API

Library all library classes use W namespace.

W.Session

The central class of the API. Store all information about session, SID, cache results, can execute avl_event automatically, etc.

Usage sample

    // Wialon server url
    var url = 'https://hst-api.wialon.com';
    // internal session options
    var options = {
        eventsTimeout: 5
    };
    // create Session instance
    var sess = new W.Session(url, options);

    // login
    sess.execute('core/login', {user: 'wialon_test', password: 'test'}, function (data) {
        // login callback
        // sid automatically saved, you can exec next request
    });

Options

  • eventsTimeout Timeout for auto executing avl_evts request. Set 0 to prevent avl_evts request sending. Default: 10 (sec).

Methods

  • execute Execute Remote API request
  • getEvents Get events from server (execute 'avl_evts' request). Run automaticaly if options.eventsTimeout != 0.
  • getBaseUrl Get session base url (e.g. https://hst-api.wialon.com)
  • getItems Get items loaded in session by type. Execute core/update_data_flag before use this method.
  • getItem Get items loaded in session by id. Execute core/update_data_flag before use this method.

W.Request

Helps to performs remote requests

Usage sample

    // create Request instance
    var req = new W.Request('https://hst-api.wialon.com');

    // execute 'core/login' request with 'api' method
    req.api(
        'core/login',
        {user: 'wialon_test', password: 'test'},
        function() {
            // callback
        }
    );

    // execute 'core/login' request with 'send' method
    req.send(
        '/wialon/ajax.html?svc=core/login',
        {user: 'wialon_test', password: 'test'},
        function success() {
            // success callback
        },
        function error() {
            // error callback
        }
    );

Methods

  • api Execute simple Remote API request
  • send Process request sending

W.Class

Powers the OOP facilities and is used to create library classes.

Usage sample

var MyClass = W.Class.extend({
    initialize: function (greeter) {
        this.greeter = greeter;
        // class constructor
    },

    greet: function (name) {
        alert(this.greeter + ', ' + name)
    }
});

// create instance of MyClass, passing "Hello" to the constructor
var a = new MyClass("Hello");

// call greet method, alerting "Hello, World"
a.greet("World");

W.Util

Various utility functions, used internally.

Contribution

Feel free to pull request

Build

We use Jake for building

# global jake install
npm install -g jake
# install dependencies
npm install
# build project
jake

Code Conventions

We use JSHint and JSCS to validate code. Run jake jshint and jake jscs to check

License

The MIT License

About

Lightweight and flexible JS wrapper for Wialon Remote API

http://sdk.wialon.com/libs/js

License:MIT License


Languages

Language:JavaScript 92.7%Language:HTML 6.8%Language:CSS 0.5%