云巴-JavaScript API测试与实例(新)
一、云巴介绍
给大家推荐一个提供后台消息服务的服务供应商,个人用户一般是免费的,可作为开发者的后台服务提供商。
专注于为需要实时数据交换的产品提供完美解决方案。支持包括 手机、Web、智能设备 的几乎所有平台。
二、JavaScript JDK下载与引入
三、应用实例
一个简单的浏览器端接收云巴消息demo
1.引入bootstrap作为默认样式插件
<!DOCTYPE html>
<html>
<head>
<title>云巴推送---消息收听</title> <!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="bootstrap.min.css"> <!-- 可选的Bootstrap主题文件(一般不用引入) -->
<!-- <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> --> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<!-- <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> -->
<script src="jquery-1.10.2.min.js"></script> <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="bootstrap.min.js"></script> </div>
</body>
</html>
2.依次引入socket.io 和 yunba-js-sdk.js
<script src="socket.io-1.3.5.min.js"></script> <script src="yunba-js-sdk.js"></script>
3.建立client.js并绘制client.html的UI
<!DOCTYPE html>
<html>
<head>
<title>云巴推送---消息收听</title> <!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="bootstrap.min.css"> <!-- 可选的Bootstrap主题文件(一般不用引入) -->
<!-- <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> --> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<!-- <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> -->
<script src="jquery-1.10.2.min.js"></script> <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="bootstrap.min.js"></script> <script src="socket.io-1.3.5.min.js"></script> <script src="yunba-js-sdk.js"></script> <script src="client.js"></script> </head>
<body> <div class="jumbotron">
<div class="container">
<h1>Hello, Yunba!</h1>
<p>点击订阅接受推送消息</p>
<p><a class="btn btn-primary btn-lg" href="#" role="button">订阅</a></p>
</div>
</div> <div class="dialog">
<h3>消息框</h3>
<textarea class="form-control" rows="6" disabled=""> </textarea>
</div>
</body>
</html>
4.client.js
yunba.init(function (success) {
if (success) {
$(".container").append("<p>初始化成功</p>");
console.log('初始化成功');
mqtt_connect();
}
}, function () {
//重新连接
});
3.yunba.connect_by_customid(cid, connected);
function mqtt_connect() {
var cid = "8888";
var connected = function(success, msg, sessionid) {
if (success) {
$(".container").append("<p>连接成功</p>");
console.log('连接成功');
} else {
alert(msg);
}
};
if (!cid || cid.length === 0) {
alert('请输入自定义ID');
} else {
yunba.connect_by_customid(cid, connected);
}
}
function Yunba_subscribe(){
//默认一个12345频道
var topic = "12345";
yunba.subscribe({'topic': topic},
function (success, msg) {
if (success) {
console.log('你已成功订阅频道:12345');
$(".dialog textarea").val("你已成功订阅频道:12345");
} else {
console.log(msg);
}
}
);
5.yunba.set_message_cb
yunba.set_message_cb(function (data) {
console.log('Topic:' + data.topic + ',Msg:' + data.msg);
var val = $(".dialog textarea").val();
$(".dialog textarea").val(val+'\r\n'+"来自云巴:"+data.topic+"的消息:"+data.msg+"");
});
6.最终client.js代码如下,已经可以在云巴官网的应用界面向订阅了相应频道(“12345”)的web页面发送消息并实时响应
var yunba = new Yunba({server: 'sock.yunba.io', port: 3000, appkey: ""});
yunba.init(function (success) {
if (success) {
$(".container").append("<p>初始化成功</p>");
console.log('初始化成功');
mqtt_connect();
}
}, function () {
//重新连接
});
function mqtt_connect() {
var cid = "8888";
var connected = function(success, msg, sessionid) {
if (success) {
$(".container").append("<p>连接成功</p>");
console.log('连接成功');
} else {
alert(msg);
}
};
if (!cid || cid.length === 0) {
alert('请输入自定义ID');
} else {
yunba.connect_by_customid(cid, connected);
}
}
$(document).ready(function(e){
$(document).on("click","a",function(){
console.log('订阅点击');
Yunba_subscribe();
})
})
function Yunba_subscribe(){
var topic = "12345";
yunba.subscribe({'topic': topic},
function (success, msg) {
if (success) {
console.log('你已成功订阅频道:12345');
$(".dialog textarea").val("你已成功订阅频道:12345");
} else {
console.log(msg);
}
}
);
}
yunba.set_message_cb(function (data) {
console.log('Topic:' + data.topic + ',Msg:' + data.msg);
var val = $(".dialog textarea").val();
$(".dialog textarea").val(val+'\r\n'+"来自云巴:"+data.topic+"的消息:"+data.msg+"");
});
云巴-JavaScript API测试与实例(新)的更多相关文章
- API测试自动化——基于CDIF的SOA基本功能(实例篇)
今天我们通过一些实例来体验一下API的自动化测试,感受一下基于CDIF的SOA的一些基本功能. 传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的 ...
- Google Map JavaScript API V3 实例大全
Google Map JavaScript API V3 实例大全 基础知识 简单的例子 地理位置 语言 位置 坐标 简单的投影 事件 简单事件 关闭事件 多次添加事件 事件属性 控制 php禁用ui ...
- aaronyang的百度地图API之LBS云与.NET开发 Javascript API 2.0【基本地图的操作】
为了更简单的演示,我们创建个.NET的ASP.NET MVC4项目 好了,上面都是后话,POI说白了,就是你的用户的数据,很多数据,不过没关系,因为你的数据如果存在百度的LBS云上,那么大数据你就不用 ...
- poium测试库之JavaScript API封装原理
poium一直我在维护的一个开源项目,它的定位是以极简的方式在自动化项目中Page Objects设计模式.我在之前的文章中也有介绍. 本篇文章主要介绍一个JavaScript元素操作的封装原理. 为 ...
- 出色的 JavaScript API 设计秘诀
设计是一个很普遍的概念,一般是可以理解为为即将做的某件事先形成一个计划或框架. (牛津英语词典)中,设计是一种将艺术,体系,硬件或者更多的东西编织到一块的主线.软件设计,特别是作为软件设计的次类的AP ...
- 使用JMeter进行RESTful API测试
使用JMeter进行RESTful API测试 在哪里设置实现最优脚本重用的属性 由于支持云的应用程序通常可以轻松.快速地进行复制和部署,所以可以在多种环境中对其进行测试.如果您需要在多个环境中测试和 ...
- 百度地图 JavaScript API 极速版 开发体会
前段时间百度地图API推出了 JavaScript API 极速版 1.0 简单看了一下,从产品定位来说真是挺好. 把开发人员细分成普通web开发人员和移动web开发人员.正好用到了手机地图这块决定尝 ...
- PhantomJS:基于WebKit、开源的服务器端JavaScript API
PhantomJS是一个基于WebKit的服务器端JavaScript API,它基于 BSD开源协议发布.PhantomJS无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM ...
- PhantomJS是一个基于WebKit的服务器端JavaScript API
PhantomJS是一个基于WebKit的服务器端JavaScript API,它基于 BSD开源协议发布.PhantomJS无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM ...
随机推荐
- 从零开始的Python学习Episode 11——装饰器
装饰器 装饰器是用来处理其他函数的函数,主要作用是在不修改原有函数的情况下添加新的功能,装饰器的返回值也是一个函数对象. 简单的装饰器 import time def show_time(f): de ...
- [C++基础] 成员变量的初始化顺序
转载链接:https://blog.csdn.net/qq_37059483/article/details/78608375 1.成员变量在使用初始化列表初始化时,只与定义成员变量的顺序有关,与构造 ...
- eos开发实践
一 下载前端代码 git clone https://github.com/baidang201/eos-todo 二 安装nodejs sudo apt-get install python-sof ...
- Python学习 - 入门篇2(更新中)
前言 学习渠道:慕课网:Python进阶 记录原因:我只是想边上课边做笔记而已,呵呵哒 食用提示:教程环境基于Python 2.x,有些内容在Python 3.x中已经改变 函数式编程 定义:一种抽象 ...
- 项目Beta冲刺(团队)第二天
1.昨天的困难 夜间模式实现的时候一点击开关就会出现app黑屏卡死的状态,recreate()方法实现有问题 服务器有点问题 2.今天解决的进度 成员 进度 陈家权 研究如何实现私信模块 赖晓连 最新 ...
- 划分树---hdu4417---区间查找(不)大于h的个数
http://acm.hdu.edu.cn/showproblem.php?pid=4417 Super Mario Time Limit: 2000/1000 MS (Java/Others) ...
- RovingUI组件库-包含堆栈式通知提醒框(Toast)的小程序组件库
RovingUI是个人在开发小程序过程中将用到的组件集合而成的一个UI库,包含一些基本通用组件(按钮.栅格.通用样式.徽标.通知和面包屑). 源起得归于我在开发中没有找到现成的堆栈式提醒框(比如ant ...
- springMVC 流程
springMVC流程控制 SpringMVC流程 web.xml 中配置 org.springframework.web.servlet.DispatcherServlet 这一步其实和spring ...
- mysql-otp 驱动中设置utf8mb4
utf8mb4支持emoji表情,在mysql中设置连接字符集为utf8mb4可以直接储存emoji表情. 可以在客户端连接中设置: SET NAMES utf8mb4 查看是否起效: SHOW VA ...
- SQL 语句(增删改查)
一.增:有4种方法1.使用insert插入单行数据: --语法:insert [into] <表名> [列名] values <列值> 例:insert into Strden ...