找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2256|回复: 0
收起左侧

gokit远程控制

[复制链接]
ID:186488 发表于 2017-4-11 00:39 | 显示全部楼层 |阅读模式
<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("对象已被初始化,如需改变参数,请刷新页面.");
                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("已发送init指令!");
        }

        function connect()
        {
            var did = $('#did').val();
            gizwitsws.connect(did);
            showScreen("已发送connect指令!");
        }

        function read()
        {
            var did = $('#readDid').val();
            gizwitsws.read(did);
            showScreen("已发送read指令!");
        }

        function writeCommand()
        {
            var did = $('#writeDid').val();
            if ($('#commType').val() == "attrs_v4")
            {
                var attrs = $('#command').val();
                try
                {
                    gizwitsws.write(did, JSON.parse(attrs));
                    showScreen("已对设备" + did + "发送write指令: " + attrs);
                }
                catch(e)
                {
                    showError("数据格式错误:" + e);
                }
            }
            else
            {
                var raw = $('#command').val();
                try
                {
                    gizwitsws.send(did, JSON.parse(raw));
                    showScreen("已对设备" + did + "发送raw指令: " + raw);
                }
                catch(e)
                {
                    showError("数据格式错误:" + e);
                }

            }
        }

        function clearLog()
        {
            $('#log').html("");
        }

        //=========================================================
        // callback functions
        //=========================================================
        function onInit(devices)
        {
            if (devices.length == 0)
            {
                showScreen("没有绑定的设备");
            }
            else
            {
                for (var i = 0; i < devices.length; i++)
                {
                    showScreen("==================================================");
                    showScreen("已绑定设备,did=" + devices[i].did);
                    showScreen("已绑定设备,mac=" + devices[i].mac);
                    showScreen("已绑定设备,product_key=" + devices[i].product_key);
                    showScreen("已绑定设备,is_online=" + devices[i].is_online);
                    showScreen("已绑定设备, dev_alias=" + devices[i].dev_alias);
                    showScreen("已绑定设备,remark=" + devices[i].remark);

                    addSelectOption('#did', devices[i].did, devices[i].did);
                }
            }
        }

        function onConnected(did)
        {
            addSelectOption('#readDid', did, did);
            addSelectOption('#writeDid', did, did);
            showScreen("与设备:" + did + "连接成功!");
        }

        function onOnlineStatusChanged(value)
        {
            showScreen("设备上下线通知,did=" + value.did);
            showScreen("设备上下线通知,is_online=" + value.is_online);
        }

        function onReceivedRaw(value)
        {
            var str = "收到设备" + 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 = "收到设备" + 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>

gizwits-wechat-js-sdk-master.zip

43.19 KB, 下载次数: 8, 下载积分: 黑币 -5

实现代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表