|
<script type="text/javascript">
var gizwitsws;
$(document).ready(setDefault);
function setDefault()
{
$('#apiHost').val($.cookie('apiHost'));
$('#commType').val($.cookie('commType'));
$('#wechatOpenId').val($.cookie('wechatOpenId'));
$('#gizwitsAppId').val($.cookie('gizwitsAppId'));
}
function newObj()
{
if (gizwitsws != null)
{
alert("對象已被初始化,如需改變參數(shù),請刷新頁面.");
return;
}
var apiHost = $('#apiHost').val();
var commType = $('#commType').val();
var wechatOpenId = $('#wechatOpenId').val();
var gizwitsAppId = $('#gizwitsAppId').val();
gizwitsws = new GizwitsWS(apiHost, wechatOpenId, gizwitsAppId, commType);
gizwitsws.onInit = onInit;
gizwitsws.onConnected = onConnected;
gizwitsws.onOnlineStatusChanged = onOnlineStatusChanged;
gizwitsws.onReceivedRaw = onReceivedRaw;
gizwitsws.onReceivedAttrs = onReceivedAttrs;
gizwitsws.onError = onError;
$.cookie('apiHost', apiHost);
$.cookie('commType', commType);
$.cookie('wechatOpenId', wechatOpenId);
$.cookie('gizwitsAppId', gizwitsAppId);
showScreen("初始化對象成功!");
}
function init()
{
gizwitsws.init();
conndids = [];
showScreen("已發(fā)送init指令!");
}
function connect()
{
var did = $('#did').val();
gizwitsws.connect(did);
showScreen("已發(fā)送connect指令!");
}
function read()
{
var did = $('#readDid').val();
gizwitsws.read(did);
showScreen("已發(fā)送read指令!");
}
function writeCommand()
{
var did = $('#writeDid').val();
if ($('#commType').val() == "attrs_v4")
{
var attrs = $('#command').val();
try
{
gizwitsws.write(did, JSON.parse(attrs));
showScreen("已對設(shè)備" + did + "發(fā)送write指令: " + attrs);
}
catch(e)
{
showError("數(shù)據(jù)格式錯誤:" + e);
}
}
else
{
var raw = $('#command').val();
try
{
gizwitsws.send(did, JSON.parse(raw));
showScreen("已對設(shè)備" + did + "發(fā)送raw指令: " + raw);
}
catch(e)
{
showError("數(shù)據(jù)格式錯誤:" + e);
}
}
}
function clearLog()
{
$('#log').html("");
}
//=========================================================
// callback functions
//=========================================================
function onInit(devices)
{
if (devices.length == 0)
{
showScreen("沒有綁定的設(shè)備");
}
else
{
for (var i = 0; i < devices.length; i++)
{
showScreen("==================================================");
showScreen("已綁定設(shè)備,did=" + devices[i].did);
showScreen("已綁定設(shè)備,mac=" + devices[i].mac);
showScreen("已綁定設(shè)備,product_key=" + devices[i].product_key);
showScreen("已綁定設(shè)備,is_online=" + devices[i].is_online);
showScreen("已綁定設(shè)備, dev_alias=" + devices[i].dev_alias);
showScreen("已綁定設(shè)備,remark=" + devices[i].remark);
addSelectOption('#did', devices[i].did, devices[i].did);
}
}
}
function onConnected(did)
{
addSelectOption('#readDid', did, did);
addSelectOption('#writeDid', did, did);
showScreen("與設(shè)備:" + did + "連接成功!");
}
function onOnlineStatusChanged(value)
{
showScreen("設(shè)備上下線通知,did=" + value.did);
showScreen("設(shè)備上下線通知,is_online=" + value.is_online);
}
function onReceivedRaw(value)
{
var str = "收到設(shè)備" + value.did + "的Raw: [";
for (var i = 0; i < value.raw.length; i++)
{
str = str + value.raw[i] + ",";
}
str = str.substr(0, str.length-1) + "]";
showScreen(str);
}
function onReceivedAttrs(value)
{
var str = "收到設(shè)備" + value.did + "的Attrs: ";
for (var key in value.attrs)
{
str = str + key + ":" + value.attrs[key] + "; ";
}
showScreen(str);
}
function onError(value)
{
showError(value.toString());
}
//=========================================================
// inner functions
//=========================================================
function showScreen(txt)
{
$('#log').prepend('<p style="color: blue">' + txt + '</p>');
}
function showError(txt)
{
$('#log').prepend('<p style="color: red">' + txt + '</p>');
}
function addSelectOption(selectId, value, text)
{
if ($(selectId + ' option[value =' + value + ']').length == 0)
{
$(selectId).append("<option value=" + value + ">" + text + "</option>");
}
}
</script>
|
評分
-
查看全部評分
|