GithubHelp home page GithubHelp logo

ejklock / wialonjs-api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wialon/wialonjs-api

1.0 0.0 0.0 614 KB

Lightweight and flexible JS wrapper for Wialon Remote API

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

License: MIT License

JavaScript 100.00%

wialonjs-api's Introduction

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

Installation

Using npm

npm install wialonjs-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 = 'token/login';
    // set Remote API 'params' param
    var params = {
        token: 'YOUR TOKEN'
    };
    // 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).
internalGis Boolean flag to allow to use intertnal GIS service. Default: false.

Methods

Name Description
checkFeature Check if billing service is avaible for given session
execute Execute Remote API request
getBaseUrl Return session base url (e.g. https://hst-api.wialon.com)
getCurrentUser Return currently logged in user
getEvents Get events from server (execute 'avl_evts' request). Run automaticaly if `options.eventsTimeout` != 0.
getFeatures Return avaible billing services for given session
getItem Return item loaded in session by id. Execute `core/update_data_flag` before use this method.
getItems Return items loaded in session filtered by type. Execute `core/update_data_flag` before use this method.
getSid Return session id or null if not logged in
getBaseGisUrl Return GIS service url (e.g. https://render-maps.wialon.com/hst-api.wialon.com)
getLocations Detect location for provided coordinates
getCurrentTime Return current server time
getTimeZone Return server timezone
getTimeZoneOffset Return server timezone offset, in seconds
getDSTOffset Return DST offset for specified timezone, in seconds
getUserTime Convert absolute time to user time
getLocale Return user localization settings
updateLocale Update user localization settings

Events

W.Session fires following events

Name Description
itemChanged item changed (renamed, flags changed etc.)
itemDeleted item deleted from Wialon
positionChanged item position changed
featuresChanged billing services avaible for current session changed
lastMessageChanged item's last message changed (new message obtained)
messageParamsChanged item's messages params changed

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

Name Description
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 into dev branch

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

wialonjs-api's People

Contributors

ashmigelski avatar

Stargazers

Evaldo Klock avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.