sensecap
Version:
## Install ``` npm install sensecap --save ```
69 lines (59 loc) • 2.04 kB
JavaScript
var assert = require('assert');
var logger = require('./utils/loggerUtil');
var OrganizationManager = require('./manager/OrganizationManager');
var GroupManager = require('./manager/GroupManager');
var DeviceManager = require('./manager/DeviceManager');
var DataManager = require('./manager/DataManager');
var GroupModel = require('./model/GroupModel');
var BaseRequest = require('./base/BaseRequest');
var BaseMqtt = require('./base/BaseMqtt');
var Error = require('./utils/error');
var axios = require('axios')
/**
* Client提供获取所有model的接口
*/
function Client(options, callback) {
// 参数校验
assert(options.region, 'options.region is required');
assert(options.accessKeyId, 'options.accessKeyId is required');
assert(options.accessKeySecret, 'options.accessKeySecret is required');
// 初始化
this.baseRequest = new BaseRequest(options);
this.baseMqtt = new BaseMqtt(options);
this.organizationManager = new OrganizationManager(this.baseRequest);
this.groupManager = new GroupManager(this.baseRequest);
this.deviceManager = new DeviceManager(this.baseRequest);
this.dataManager = new DataManager(this.baseRequest, this.baseMqtt);
this.listeners = [];
}
Client.prototype = {
getOrganizationManager: function() {
return this.organizationManager;
},
getGroupManager: function() {
return this.groupManager;
},
getDeviceManager: function() {
return this.deviceManager;
},
getDataManager: function() {
return this.dataManager;
},
getDeviceMeasurementList: function(callback) {
this.baseRequest.baseGet('https://sensecap-statics.seeed.cn/refer/def/sensor.json', callback)
},
/**
* 全局错误处理
*/
errorHandler: function (error, callback) {
this.listeners['error'](error);
callback(error)
},
/**
* 事件监听
*/
on: function (event, callback) {
this.listeners[event] = callback
}
};
module.exports = Client;