.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
|
||||
HTTP - GET / HTTP - POST (application/x-www-form-urlencoded):
|
||||
==============================================================
|
||||
x) [OUT] DeviceAPIMethod::GET [Args: format, pointer, query?]
|
||||
x) [IN] DeviceAPIMethod::COMMAND [Args: format, pointer, msg]
|
||||
x) [IN] DeviceAPIMethod::STATUS_UPDATE [Args: format, pointer, msg]
|
||||
x) [EVENT] DeviceAPIMethod::REGISTER_EVENT [Args: format, pointer, event]
|
||||
- Long-Polling
|
||||
- WebSocket
|
||||
|
||||
|
||||
API Method Parameter:
|
||||
-- Query: method = get | command | statusupdate | event
|
||||
-- Header: API-METHOD | X-API-METHOD
|
||||
|
||||
Common Parameters:
|
||||
|
||||
x) Format-Parameters:
|
||||
-- Query: format = json | jsonp | xmlplist | ...
|
||||
-- Query: json | jsonp [= <callback>] | xmlplist | ...
|
||||
-- Query: callback = callback - in conjunction with jsonp or format=jsonp, defaults to callback
|
||||
-- Header: application/[x-]javascript = jsonp | application/json = json | application/yaml = yaml | application/xml = xmlplist
|
||||
|
||||
x) Pointer Parameter:
|
||||
-- Query: pointer = <selector in JSON Pointer format>
|
||||
-- URL: .../devices/<id>/[.../]<pointer>
|
||||
|
||||
COMMAND/STATUS_UPDATE Parameters:
|
||||
-- Query: body = <command | status-update>
|
||||
|
||||
EVENT Parameters:
|
||||
-- Query: event = command | statusupdate | statechange | added | removed | all
|
||||
@@ -0,0 +1,32 @@
|
||||
define([
|
||||
"dojo/_base/config",
|
||||
"dojo/store/JsonRest",
|
||||
"dojox/socket",
|
||||
"dojo/_base/xhr"
|
||||
], function(config, JsonRest, Socket, xhr){
|
||||
var _store = new JsonRest({
|
||||
target: config.hos.deviceRepoUrl
|
||||
});
|
||||
var _updateSocketOpened = false;
|
||||
var _updateSocket = new Socket({
|
||||
url: config.hos.deviceRepoUrl,
|
||||
interval: 5000,
|
||||
transport: xhr.get });
|
||||
_updateSocket.on("open", function(event){
|
||||
_socketOpened = true;
|
||||
console.log("Socket Opened ", event.message);
|
||||
});
|
||||
_updateSocket.on("close", function(event){
|
||||
_socketOpened = false;
|
||||
console.log("Socket Closed ", event.message);
|
||||
});
|
||||
_updateSocket.on("error", function(event){
|
||||
_socketOpened = false;
|
||||
console.log("Socket Error ", event.message);
|
||||
});
|
||||
_updateSocket.on("message", function(event) {
|
||||
var data = event.data;
|
||||
console.log("Message: " /*+ data*/);
|
||||
});
|
||||
return _store;
|
||||
});
|
||||
@@ -0,0 +1,52 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Tutorial: Hello Dojo!</title>
|
||||
|
||||
<link rel="stylesheet" href="dojo/dijit/themes/claro/claro.css" media="screen">
|
||||
|
||||
<!-- configure Dojo -->
|
||||
<script>
|
||||
var dojoConfig = {
|
||||
async: true,
|
||||
parseOnLoad: true,
|
||||
isDebug: true,
|
||||
deps: [
|
||||
"dojo/parser"
|
||||
],
|
||||
hos: {
|
||||
deviceRepoUrl: "/hos/api/devices/"
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<!-- load Dojo -->
|
||||
<script src="dojo/dojo/dojo.js"
|
||||
data-dojo-config="async: true"></script>
|
||||
|
||||
</head>
|
||||
<body class="claro">
|
||||
|
||||
|
||||
<script>
|
||||
require(["hos/DeviceRepo"], function(DeviceRepo){
|
||||
|
||||
var self = this;
|
||||
|
||||
var devices = DeviceRepo.query()
|
||||
.then(function(data){
|
||||
console.log("Data: ", data);
|
||||
}, function(err){
|
||||
console.log("Error: ", err);
|
||||
}, function(update){
|
||||
console.log("Update: ", update);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user