机智云小程序启蒙:WebSocket网页控制

机智云小程序启蒙:WebSocket网页控制 

机智云Web版的JS远程控制设备,是调用了机智云开放的Open API和WebSocket API来实现的。这个是设计小程序最好的基础,也可以使无安卓设备的用户用网页远程控制设备。

其中,Open API用到的接口有匿名登录用户、绑定设备和获取绑定设备列表。而WebSocket API上的用户登陆、设备上线下线通知、浏览器与云端的数据交互(数据透传)、心跳和非法消息通知。

具体的流程图如下:

[ 一、准备工作]

获取需要调用OPEN API匿名登录用户和绑定设备

1.获取phone_id

phone_id 可以是手机的唯一识别码,简单来说就是自己的注册名,自己随意取,支持英文大小写、数字、特殊符号,中文格式我没测试过。

2.创建用户

http://swagger.gizwits.com/doc/index/openapi_apps#/用户管理/post_app_users

2.1.填写appid

2.2.填写body

2.3.登录匿名用户,获取token

3.绑定设备

POST请求链接:

http://swagger.gizwits.com/doc/index/openapi_apps#/绑定管理/post_app_bind_mac

3.1.填写appid

3.2.填写刚才自己命名的iphone_id登录回调的token

3.3.填写Timestamp、Signature和body

时间戳计算链接 tool.chinaz.com/Tools/unixtime.aspx

MD5计算链接 tool.oschina.net/encrypt?type=2

如下图:

[ 二、网页控制界面]

1.websocket API封装起来的sdk

链接如下:

github.com/gizwits/gizwits-wechat-js-sdk

2.运行index.html

3.Websocket网页控制界面

下面使用的参数有:

  • 参数
  • 说明
  • 数值

apiHost机智云OpenApi域名api.gizwits.com

commType标准数据点协议格式attrs_v4

wechatOpenId微信用户OpenID(就是手机的iPhone_id)String

gizwitsAppId机智云平台应用标识String

核心代码:

[ 三、补充]返回搜狐,查看更多

  1. 下载的文件包是我精心改良的网页版,机智云官网有原版:https://github.com/gizwits/gizwits-wechat-js-sdk
  2. 本次测试是用了虚拟设备,mac为“virtual:site”
  3. 重点:经过本人测试,网页版绑定实际设备,除了第一部安卓手机app绑定设备,获得主权限,不能立马分享给其他用户,需要先网页版自动绑定,然后才可以分享给其他有安卓手机app的用户,这就是app与网页版的用户绑定的顺序 不一样
  4. 源码:http://www.demodashi.com/demo/15679.html

转载于:https://www.cnblogs.com/dapangsen/p/11224159.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 数据类型判断

判断type类型 isString (o) { //是否字符串return Object.prototype.toString.call(o).slice(8, -1) String }isNumber (o) { //是否数字return Object.prototype.toString.call(o).slice(8, -1) Number }isBoolean (o) { //是否booleanreturn Object.prototype.toString.cal…

Maven排除所有传递依赖项

“ 传递依赖项是Maven 2.0中的新功能。 这样一来,您就可以避免发现和指定自己的依赖项所需的库,并自动将它们包括在内。” 我遇到了一个问题,其中一些依赖项在运行时可用,但在公共关系存储库中不可用。 例如,Hibernate…

Web service 超过了最大请求长度错误解决

Web service 超过了最大请求长度错误解决 System.Web.Services.Protocols.SoapException: 运行配置文件中指定的扩展时出现异常。 ---> System.Web.HttpException: 超过了最大请求长度。 在 System.Web.HttpRequest.GetEntireRawContent() 在 System.Web.HttpRequest.ge…

Hibernate关联映射(一对多/多对多)

版权声明:翀版 https://blog.csdn.net/biggerchong/article/details/843401053. Hibernate关联映射上接Hibernate持久化类:https://blog.csdn.net/biggerchong/article/details/84260707 目录3. Hibernate关联映射 3.1 数据库表之间的关系 3.1.1 一对多…

微信小程序适配iphonex

// 在app.js中判断是否是哪种设备 globalData: { isIphoneX: false, userInfo: null }, onShow:function(){ let that this; wx.getSystemInfo({ success: res>{ // console.log(手机信息res res.model) let modelmes res.model; if (modelmes.search(iPho…

Java Minor发布计划再次进行了调整

2013年,Oracle宣布了Java SE –版本编号方案更改 。 该公告指出,将使用特定的版本号方案来发行受限更新版本(那些“包括新功能和非安全修复程序”)和关键补丁更新(CPU)“那些仅包含安全漏洞修复程序”。 特…

asp.net服务器端跳转页面的三种方法

asp.net服务器端跳转页面的三种方法1、Response.Redirect这个跳转页面的方法跳转速度不快,因为它要走2次回发(postback)。 它可以跳转到任何页面,没有站点页面限制(可以由baidu跳转到google),但不能跳过登录保护。 速度慢是其最大缺陷&#x…

动态规划--图像压缩

<算法设计与分析> --王晓东 题目描述和解析参照&#xff1a;http://blog.csdn.net/liufeng_king/article/details/8648195 他在那里分析得非常的详细。我也是按照这种思路来解的&#xff0c;而且算法设计与实现的课件上也是这么个解法。 主要是理解这个公式&#xff0c;…

如何安全使用SWT的显示器asyncExec

大多数用户界面&#xff08;UI&#xff09;工具包都是单线程的&#xff0c; SWT也不例外。 这意味着必须仅从单个线程&#xff08;即所谓的UI线程&#xff09;访问UI对象。 另一方面&#xff0c;应在后台线程中执行长时间运行的任务&#xff0c;以使UI保持响应。 这使得后台线程…

解决添加Com引用 生成的Interop.*.dll 版本号永远是1.0的问题

在项目里面&#xff0c;添加对COM的引用时&#xff0c;自动生成了Interop.*.dll&#xff0c;但是这个dll的版本号永远是1.0. 如果使用InstallShield 制作安装包&#xff0c;进行修改安装时&#xff0c;这个dll不会被更新&#xff0c;就因为版本号永远是1.0 想修改这个版本号&am…

web页面全角半角

根据Unicode编码&#xff0c;全角空格为12288&#xff0c;半角空格为32 &#xff1b; 其他字符半角(33-126)与全角(65281-65374)的对应关系是&#xff1a;均相差65248 全角-->半角函数 //半角转换为全角函数 function ToBCD(str) { var tmp ""; for(var i0;…

Cannot find module '@babel/plugin-proposal-class-properties'

cnpm install --save-dev babel/plugin-proposal-class-properties转载于:https://www.cnblogs.com/qq917937712/p/11226922.html

可选和对象:空指针救星!

没有人喜欢空指针异常 &#xff01; 我们有办法摆脱它们吗&#xff1f; 也许 。 。 。 这篇文章中讨论了几种技术&#xff1a; 可选类型&#xff08;Java 8中的新增功能&#xff09; 对象类&#xff08;旧的Java 7东西&#xff01;&#xff09; Java 8中的可选类型 它是什…

oracle 存储过程的基本语法 及注意事项

oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :0;变量2 DATE;BEGIN END 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中&#xff0c;可以同时将多个列存…

function——函数声明头的提升和预解析

函数&#xff1a; 即function语句的集合&#xff0c;就是将多个语句封装到一起&#xff1b; 函数的执行要会自己遍历&#xff0c;遇见函数 a&#xff08;&#xff09;&#xff1b;执行语句&#xff0c;就要移交控制权&#xff0c;函数执行完毕之后&#xff0c;控制权又移交回…

在JDeveloper 12.1.3中将Java API用于WebSockets

介绍 最新版本的JDeveloper 12c&#xff08;12.1.3.0&#xff09;和WebLogic Server 12.1.3一起提供了一些新的Java EE 7功能。 其中之一是对用于WebSocket的JSR 356 Java API的支持。 实际上&#xff0c;从12.1.2.0版本开始就支持WebSocket协议&#xff08;RFC 6455&#xff0…

基于Verilog语言的伪随机码的编写

写之初&#xff0c;笔者并没有太大的自信&#xff0c;因为笔者对伪随机码并没有太多的认识。但老师有命&#xff0c;笔者不得不进行编写&#xff0c;同时笔者也特别希望能有个项目来锻炼自己。 笔者在开始编写的时候&#xff0c;首先上网查了很多的资料&#xff0c;对伪随机码算…

【HBuilder】手机App推送至Apple App Store过程

一、前言 最近由于公司同事离职&#xff0c;顶替这位同事从事手机App的研发工作&#xff0c;BIM数据平台部门采用的是HBuilder作为手机App的制作环境。本篇介绍我是如何将HBuilder的Release包发布至App Store的。 二、内容 1. 首先登录Apple Developer网站 2. 点击iTunes Conn…

Java性能调优调查结果(第四部分)

这是系列文章中的最后一篇&#xff0c;我们将分析我们在2014年10月进行的Java Performance Tuning Survey的结果。如果您还没有阅读第一篇文章&#xff0c;我建议您首先阅读以下内容&#xff1a; 性能问题的频率和严重性 最受欢迎的监控解决方案 查找根本原因的工具和技术 …

2012年第一个工作日

换代理尝试&#xff0c;竟然可以发博客了。以前的博客太散乱&#xff0c;打算在这里安家。 今天花了一上午时间&#xff0c;在各大网站不停地晃。希望自己能够弄清楚这个快速变化的世界。 2012确切的目标&#xff1a; 1. 工作仍然是首要的&#xff0c;锻炼的能力不同而已&#…