ydbonline是面向网页开发者提供的网页开发工具包。
通过使用ydbonline,网页开发者可借助ydbonline高效地使用语音、位置等手机系统的能力,同时可以直接使用清除缓存、扫一扫等app特有的能力,为用户提供更优质的网页体验。
此文档面向网页开发者介绍ydbonline如何使用及相关注意事项。
在需要调用js接口的页面引入如下js文件,(支持https):
旧的接口(不建议使用):
例如,页面head部分插入代码:<script src="https://staticorigin.ydbimg.com/api/ydbonline.js" type="text/javascript"></script>
初始化方法:var ydb = new ydbobj(); //初始化之后才可以调用相应sdk方法,
例如:ydb.setheadbar(0); //设置隐藏头部标题栏的全部属性 //特别说明:ydb的调用要放到页面尾部,或者放入页面加载完事件中 //方法一:jquery 中:$(function(){} 括号内写你的内容 //方法二:使用body的onload属性,onload='somefunctionswithjssdk()' //方法三:window.onload=function(){//somefunctionsdowithjssdk}//用window的onload事件,窗体加载完毕的时候
所有接口通过实例ydb来调用,影响页面设置的优先级如下:页面内功能>全局设置>url配置
ydb.setglobal(参数1,参数2,参数3,参数4,参数5,参数6,参数7,参数8,参数9,参数10,参数11); //参数1(headbar) 是否显示标题栏,0为隐藏,1为显示 //参数2(dragrefresh) 是否开启下拉刷新,0为关闭,1为开启 //参数3(headbarexceptionlist) 标识为隐藏顶部导航的例外(相反与headbar设置)名单(显示标题栏,参数为url的字符串,多个url以逗号分隔)页面列表 //参数4(dragrefreshexceptionlist) 下拉刷新例外(相反与dragrefresh //设置)名单(页面执行下拉刷新,参数为url的字符串,多个url以逗号分隔) //参数5 (cashtime) 缓存时长,0为不缓存,其他整形数值配合casgtimeunit组成缓存时长 //参数6 (cashtimeunit) 缓存时间单位,小写字母,m/h/d 分别代表分钟/小时/天 ,字串类型 //参数7 (backkeyusetype) 安卓手机返回键功能,0点击返回上级页面,1点击返回顶级页面 //参数8 (showclosebutton) 是否显示关闭按钮,0隐藏,1显示 //参数9 (closetext) 自定义关闭按钮显示文字,''空字串则使用默认的“关闭” //参数10(clearcookie) 关闭应用是否清除cookie,0不清除,1清除 //参数11(bgcolor) 设置app原生底色(app默认底色为#efefef),使用16进制颜色值设置,比如:#ffcc00
备注:全局属性优先级低于局部页面的优先级,所有多状态参数为int类型
ydb.setheadbar(showhidetype,titlecolor,backcolor,titleheight); //显示隐藏当前页的顶部导航菜单 //参数说明: //第一个是显示隐藏(例:"0"(隐藏)、"1"(显示)),第二个是标题文字颜色。第三个背景颜色,第四个是标题栏高度,全是字符类型 //例如:var ydb = new ydbobj(); ydb.setheadbar("1","#ffffff","#2cc2fa","42");//显示标题栏,内页白色标题,蓝底,高度42像素
ydb.setmenubar(0); // 参数说明:显示隐藏底部菜单栏,0为隐藏,1为显示
适用模板:有导航模板
备注:
ydb.setdragrefresh(0); // 参数说明:设置开启关闭下拉刷新功能,0为关闭,1为开启
备注:
ydb.setmorebutton(0); // 参数说明:设置是否显示右侧菜单按钮,0为关闭右侧菜单并隐藏右侧菜单按钮,1为显示右侧菜单按钮
备注:
ydb.menubarautohide(0); // 参数说明:设置是否开启菜单动态隐藏,0关闭,1开启 // 如果开启此功能,滑动屏幕动态隐藏显示菜单、标题栏
适用模板:有导航模板
备注:
ydb.goback(); // 返回前一页面
备注:
ydb.isreloadpreviouspage(operation);
//参数说明, 执行返回前一页面时的操作,operation当传值为1时,刷新前一页面,传值为前一页面的js方法名时,执行js方法。
//示例: onclick=
"gobackprevious();"
>返回前一页面
//function gobackprevious() { var ydb = new ydbobj(); ydb.isreloadpreviouspage('javascript:get_user_status();'); ydb.goback(); }
//其中get_user_status()是您前一个页面的js方法名,返回前一页面时会执行您前一页面中的get_user_status()方法。
备注:此功能仅适用于开启云开发插件的应用。
进入下一页面执行的操作
ydb.isreloadnextpage(operation);
//参数说明, 进入到下一页面时, operation当传值为1时,刷新下一页面,传值为下一页面的js方法名时,执行js方法。
//示例 :var ydb = new ydbobj(); ydb.isreloadnextpage('reload_page();');
//其中reload_page()是您下一个页面的js方法名,进入下一页面时会执行您下一页面中的reload_page()方法。
备注:此功能仅适用于ios。
关闭/开启安卓硬件加速
ydb.sethardware(state);
//参数说明, state 关闭/开启安卓硬件加速,0为关闭,1为开启。
//示例 :var ydb = new ydbobj(); ydb.sethardware(0);//关闭硬件加速
备注:
在指定浏览器中打开
ydb.openbybrowser(type,url);
//参数说明:
//type 字符串类型,值为qq/baidu/uc/360/opera(ios仅支持qq/uc浏览器),任选其一,如果未安装当前指定浏览器,则使用系统自带浏览器
//url 字符串类型,值为将要打开的web地址
//示例 :var ydb = new ydbobj(); ydb.openbybrowser("baidu","http://www.yundabao.cn");//在百度浏览器中打开云打包大发官方网址官网
备注:
复制到剪切板
ydb.copypasteboardtext(txt);
//参数说明:
//txt 字符串类型,值为将要复制的内容
//示例 :var ydb = new ydbobj(); ydb.copypasteboardtext("将要复制的内容");
备注:
按键监听
说明:案件监听为页面公共方法,无需引入ydbonline.js
方法示例:
function ydbonback() { alert("您点击了back键");}
function ydbonhome() { alert("您点击了home键");}
function ydbontask() { alert("您点击了任务键");}
备注:
返回顶级页面
ydb.gotop();
// 返回顶级页面(跳转至此导航节点的起始页面)
备注:
调出右侧菜单
ydb.showtoprightmenu();
// 调出右侧菜单
备注:
单页面设置底色
ydb.setbgcolor(bgcolor);
//设置app原生底色,使用16进制颜色值设置,比如:#ffcc00
备注:
显示/隐藏返回按钮
ydb.setreturnbuttonmode(showmode);
//参数说明,showmode int类型,当传值为1时,显示返回按钮,传值为0 则隐藏返回按钮。
备注:
打开新窗口
ydb.opennewwindow();
//等同于a标签中的target="_blank"。
//打包之后的应用需使用ydb.opennewwindow()方法代替target="_blank"。
//示例:
//function opennewwindow(){var ydb = new ydbobj(); ydb.opennewwindow();}
备注:
新窗口动画效果
ydb.animationway("entranceway","exitway");
//参数说明:entranceway:页面入场方式,可选参数:0 从右往左 1 从下往上 exitway:页面出场方式,可选参数:0 从左往右 1 从上往下。
//当页面中使用ydb.opennewwindow()打开新窗口时,默认动画入场方式为(0)从右往左,出场方式为(0)从左往右。
仅支持ydb.animationway("0","0") 和 ydb.animationway("1","1")
备注:此功能需配合打开新窗口使用。
修改状态栏文字颜色
ydb.setstatusbarstyle(fontcolor);
//参数说明:fontcolor:文字颜色,可选参数:0 白色 1 黑色
//示例:ydb.setstatusbarstyle(1);修改状态栏颜色为黑色
备注:此功能仅适用于ios。
是否固定底部导航
ydb.isfixedbottommenu(intstate);
//此功能为全局功能,仅调用一次即可。
//参数说明:intstate:是否固定,可选参数:0 固定(当页面有输入框等调用键盘的操作时,底部导航不会跟随键盘移动) 1 不固定(当页面有输入框等调用键盘的操作时,底部导航会跟随键盘移动),默认效果为不固定。
//示例:ydb.isfixedbottommenu(0);设置底部导航不跟随键盘移动
备注:此功能仅适用于安卓。
设置app字体大小
ydb.setfontsize();
//调用此方法可设置app字体大小,可以选大小有:小号字、中号字、标准字、大号字、特大号字,调用方法之后在app中直接选择即可。
//示例:var ydb = new ydbobj();ydb.setfontsize();
备注:如调用方法没有生效,请重新生成应用后使用。
调整屏幕亮度
ydb.setbrightness(percent);
//调用此方法可调整屏幕亮度。
//参数说明:percent可选值为0到1,其中0最暗,1最亮。
//示例:var ydb = new ydbobj();ydb.setbrightness("0.6");设置屏幕亮度为60%;
备注:如调用方法没有生效,请重新生成应用后使用。
点击全屏时是否横屏
ydb.isshowlandcape(showmode);
//参数说明:参数 showmode,类型 int, 0 不横屏,1 横屏。
//示例:var ydb = new ydbobj();ydb.isshowlandcape(0);//点击全屏时不横屏
备注:
横屏竖屏模式
ydb.screenorientation(showmode);
//参数说明:参数 showmode,参数类型 int,0竖屏,1自适应,2横屏。
//示例:var ydb = new ydbobj();ydb.screenorientation(2);//开启横屏模式
备注:
顶部侧边菜单显示位置
ydb.isrightmenu(position);
//参数说明:参数 position,参数类型 字符串类型,"0" 在左边显示 ,"1"在右边显示
//示例:var ydb = new ydbobj();ydb.isrightmenu("0");//左边显示侧边菜单
备注:
app系统功能类
扫一扫
无返回值方法
ydb.scan();
// 参数说明:此方法无参数,直接调用扫一扫功能,扫描结果由app自行处理
备注:
有返回值方法
ydb.getscan("你事先准备好的方法名");
//参数说明:web处理扫描结果,传入返回值处理方法名,在这个方法中处理扫描字串,
//例如,您定义的方法为 function dowithscan(outvalue){};
//那么,调用sdk可以这样写:ydb.getscan("dowithscan");
备注:
分享
ydb.share('标题','简介','图片路径','链接地址','回调方法');
// 参数说明:分别传入分享信息的标题、简介、图片路径、url链接地址、分享回调方法名(接收分享结果的json字串)
//示例:var ydb = new ydbobj(); ydb.share("测试分享标题", "测试分享标题内容", "https://staticorigin.ydbimg.com/images/frontimg/logo.png", "http://www.yundabao.cn/","shareback");
//回调方法:function shareback(state) {alert("分享结果:" json.stringify(state)); }
//分享结果的json数据示例:{"platform":"wechat","state":"success"},其中platform中的wechat代表微信好友(其他分享平台分别是wechatmoments(微信朋友圈)、sinaweibo(新浪微博)、qq(qq)、qzone(qq空间)、shortmessage(短信)),state的三种返回结果:success、fail、cancel
//提示:如果您使用qq分享回调的同时开启了qq登录插件,qq登录的插件参数app id需跟分享设置里的腾讯开放平台app id参数保持一致。微信分享回调需在分享设置页面开启微信分享回调才可正常使用。
备注: 原ydbonline方法ydb.share('标题','简介','图片路径','链接地址')可继续使用。
单个平台分享
ydb.singleshare('标题','简介','图片路径','链接地址','要分享的平台','回调方法');
// 参数说明:分别传入分享信息的标题、简介、图片路径、url链接地址、要分享的平台、分享回调方法名(接收分享结果的json字串)
其中'要分享的平台'可选参数:0、1、2、3、4、5 说明:0微信好友 1微信朋友圈 2新浪微博 3qq 4qq空间 5信息
//示例:var ydb = new ydbobj(); ydb.singleshare("测试分享标题", "测试分享标题内容", "https://staticorigin.ydbimg.com/images/frontimg/logo.png", "http://www.yundabao.cn/","1","singleshare");
//回调方法:function singleshareback(state) {alert("分享结果:" json.stringify(state)); }
//分享结果的json数据示例:{"platform":"wechat","state":"success"},其中platform中的wechat代表微信好友(其他分享平台分别是wechatmoments(微信朋友圈)、sinaweibo(新浪微博)、qq(qq)、qzone(qq空间)、shortmessage(短信)),state的三种返回结果:success、fail、cancel
//提示:如果您使用qq分享回调的同时开启了qq登录插件,qq登录的插件参数app id需跟分享设置里的腾讯开放平台app id参数保持一致。微信分享回调需在分享设置页面开启微信分享回调才可正常使用。
备注:
清理缓存
ydb.clearcache();
//不需要参数,调用清理缓存的系统方法
备注:
获取设备信息
ydb.getdeviceinformation("处理返回值的函数名");
//参数说明:您需要定义处理返回值函数,例如 function dowithdeviceinformation(info){/*do something with info*/};
//那么,调用sdk可以这样写:ydb. getdeviceinformation ("dowithdeviceinformation")
备注:
气泡提醒
ydb.popup(index,count);
//参数说明:index 字符串类型,设定气泡所在导航索引,从0开始,多个索引以逗号分隔;
//count 字符串类型,设定气泡中显示数量的数字,多个数量以逗号分隔,跟索引数量要匹配。
//当count设置为零,则表示当前索引不显示气泡!
//示例:ydb.popup("0","2");//表示在第一个导航处带数字2的气泡提醒
备注:
上传图片、拍照上传功能
此功能不需要js支持,页面中只要包含上传组件即可,在用户点击上传的时候,app会自动启动选取相册中图片文件或者调用拍照功能。
备注:
图片预览
ydb.imageviewstate(state);
//参数说明:如果要开启图片预览功能,需要在相应页面调用此功能,当state设置为0时关闭图片预览功能;当state设置为1时,开启图片预览功能,
//同时,页面中在需要预览功能支持的图片超链接进行如下设置:
//需要在图片外层img标签增加属性is9vimg="true",当is9vimg值为true时,点击图片会启动app的图片浏览器。
//需要注意的是img的图片路径src必须是可以直接访问的带http/https的网络路径。
备注:
退出安卓app
ydb.exitapp();
//退出安卓app
备注:此功能仅适用于安卓。
使用浏览器打开
ydb.openwithsafari("openurl");
//参数openurl:需要在浏览器中打开的网址
//示例:ydb.openwithsafari("http://m.baidu.com");;
备注:此功能适用于安卓和ios。
获取个推clientid
ydb.getclientidofgetui("dowithcidfun");
//参数说明:传入返回值处理方法名,在这个方法中处理从个推申请到的cid
//例如,您定义的方法为
// function dowithcidfun (cid){/*do something with cid*/};
//那么,调用sdk可以这样写:ydb.getclientidofgetui("dowithcidfun");
备注:对于ios,此功能仅适用于配置过ios推送证书,并且在个推后台配置过推送证书信息的应用。
检测ios是否安装微信客户端
ydb.iswxappinstalled("处理返回值的函数名");
//参数说明:您需要定义处理返回值函数,例如 function installstate(state){/*state返回的是微信客户端安装状态:0未安装 1已安装*/};
//那么,调用sdk可以这样写:ydb.iswxappinstalled("installstate")
备注:此插件仅适用于ios
增强型上传图片(支持多图上传)
ydb.uploadimage(receiveurl, showfun, username, key, iscut, width, height);
//参数说明:receiveurl 接收并处理图片的页面, showfun 处理上传图片返回路径的函数名, username 用户唯一标识(username可自定义,名称和值之间需用冒号‘:’隔开,例:user:lisi),
key 用户密码(key可自定义,名称和值之间需用冒号‘:’隔开,例:passwd:111111), iscut 是否裁剪图片(0关闭裁剪,1开启裁剪), width 所需图片宽度, height 所需图片高度
备注:
app插件类
语音识别
ydb.speechrecognition("处理语音识别结果函数名");
//参数说明:传入返回值处理方法名,在这个方法中处理扫描字串
//例如,您定义的方法为
// function dowithspeechrecognition (outvalue){/*do something with outvalue*/};
//那么,调用sdk可以这样写:ydb.speechrecognition("dowithspeechrecognition");
备注:此功能需开启语音插件之后才可使用。
地理位置
ydb.getgps("处理返回坐标信息的方法名");
// 您需要定义一个处理函数
//例如:function dowithgps (la,lo){//dosomething with la,lo };
//那么,调用sdk可以这样写:ydb.getgps(“dowithgps”);
备注:开通定位插件并配置相关参数之后,才可使用此功能。
实时地理位置
开启实时定位
ydb.opengps(userid);
//参数说明:userid 用户唯一身份id,用于传递用户身份信息,
//需要在后台系统设置中设置,提交间隔,抓取间隔,接收地址等几项参数,
//接收地址用于接收来自应用post提交的数据(post参数名:gps,值示例:[{"userid":"888","time":"2015-05-06 16:10:45","lon":"113.574804","lat":"34.807128"},{"userid":"888","time":"2015-05-06 16:10:50","lon":"113.574804","lat":"34.807128"}])
备注:开通定位插件并配置相关参数之后,才可使用此功能。
关闭实时定位
ydb.closegps();
// 不需要参数,调用此方法停止实时定位
备注:开通定位插件并配置相关参数之后,才可使用此功能。
支付宝支付
较早版本支付宝支付,开通支付宝支付插件并配置相关参数之后,才可使用此功能。
说明:支付宝支付、支付宝支付新版插件二者不能共存,只能开启其中一个!
ydb.setalipayinfo(productname, desicript, price, outtradeno);
//参数说明:productname 名称, desicript 描述, price 支付金额, outtradeno 订单编号(64个字符以内、可包含字母、数字、下划线,需保证在商户端不重复)
支付宝支付新版插件,开通支付宝支付新版插件并配置相关参数之后,才可使用此功能。
说明:支付宝支付新版插件、支付宝支付二者不能共存,只能开启其中一个!
ydb.setrsa2alipayinfo(productname, desicript, price, outtradeno);
//参数说明:参数均为字符类型,productname 名称, desicript 描述, price 支付金额, outtradeno 订单编号(64个字符以内、可包含字母、数字、下划线,需保证在商户端不重复)
//备注:支付宝()同步通知参数的 result(类型为json结构字符串)会通过‘alipayresult= ’以querstring的形式传递到return_url页面。示例:
alipayresult={
\"alipay_trade_app_pay_response\":{
\"code\":\"10000\",
\"msg\":\"success\",
\"app_id\":\"2014072300007148\",
\"out_trade_no\":\"081622560194853\",
\"trade_no\":\"2016081621001004400236957647\",
\"total_amount\":\"0.01\",
\"seller_id\":\"2088702849871851\",
\"charset\":\"utf-8\",
\"timestamp\":\"2016-10-11 17:43:36\"
},
\"sign\":\"ngfstjf3i3oowbucdiqsumopagbcqz aoaqygh3w6eqa/gmypywlj2refijy9xptapi9yglzymw zmhd3kb0mh4raxmrb6mekx4zu8nf6geowia9klonw0imcjxi4abdifxhxrxyj********\",
\"sign_type\":\"rsa2\"
}
备注:
微信支付
ydb.setwxpayinfo(productname, desicript, price, outtradeno,attach);
//参数说明:productname 名称, desicript 描述, price 支付金额, outtradeno 订单编号(32个字符内、可包含字母),attach 附加参数。
//支付结果页面中outtradeno,attach将以querstring的方式传递
备注:开通微信支付插件并配置相关参数之后,才可使用此功能。
微信登录
ydb.wxlogin(returndatatype, accessurl);
//参数returndatatype: 返回值类型
//参数accessurl: accessurl(必须为带http或https的网络路径)接收返回值的url,可附加url参数,用来判断用户登录状态以及设置用户信息等操作
//参数影响:
//当returndatatype为0时,accessurl在post时接收到参数为:token (字符类型)、openid (字符类型)、sign (md5加密字串),get时接收到的参数为openid (字符类型),相关接口文档参照
//通过接口https://api.weixin.qq.com/sns/auth?access_token=access_token&openid=openid获取用户信息
//当returndatatype为1时,accessurl在post时接收到参数为:token (json字串)、resault (json字串)、openid (字符类型)、sign (md5加密字串),get时接收到的参数为openid (字符类型)
//当returndatatype为2时,accessurl在post时接收到参数为:code (字符类型),相关接口文档参照
备注:此插件需要开通微信登录插件并配置相关参数,微信登录整体流程:调用js_sdk方法-->呼出微信登录窗口-->登录验证通过-->手机端post数据给accessurl(post参数:token,openid,sign等),accessurl
处理接收到的数据,并标记用户登录状态 --> app跳转到accessurl(get参数:openid、unionid(公众号跟开放平台绑定之后才会有unionid)) --> accessurl根据先前存储的信息处理后续跳转等操作
,其中sign为辅助性的安全校验参数,sign=md5(传递参数&链{signkey}),signkey在“服务功能”->"其他功能"->"安全码设置"中配置。
温馨提示:对于ios应用,考虑到ios应用商店审核指南中的相关规定,建议开发者接入微信登录时,先检测用户手机是否已安装微信客户端(使用sdk中iswxappinstalled函数
),对未安装的用户隐藏微信登录按钮,只提供其他登录方式(比如手机号注册登录、游客登录等)。
获取wifi的ssid
ydb.getwifissid("处理返回值的函数名");
//参数说明:您需要定义处理返回值函数,例如 function dowithwifissid(info){/*info返回的是您当前连接wifi的ssid*/};
//那么,调用sdk可以这样写:ydb.getwifissid("dowithwifissid")
备注:开通获取wifi的ssid插件之后,才可使用此功能。
指纹验证
ydb.usetouchid("dowithtouchid","loginurl","accesstitle","fallbacktitle");
//参数说明:dowithtouchid:您需要定义处理返回值函数,例如 function dowithtouchid(info){/*info中返回值 0是验证失败,1是验证成功*/};
loginurl:指纹验证失败时,用户提供的带有其他验证方式的url地址。
accesstitle:提示文字,用来向用户说明使用指纹验证的目的。
fallbacktitle:指纹验证失败时,提示框的文字提示,默认提示为“输入密码”。
//示例:ydb.usetouchid("dowithtouchid","http://你的验证url地址","指纹验证","其他验证方式")
备注:开通指纹验证插件后才可使用此功能,此方法已完全兼容ios、android!
获取健康步数
ydb.gethealthstep("处理返回值的函数名");
//参数说明:您需要定义处理返回值函数,例如 function dowithhealthstep(info){/*info中返回的是您当前的健康步数*/};
//那么,调用sdk可以这样写:ydb.gethealthstep("dowithhealthstep")
备注:开通获取健康步数插件后才可使用此功能,此功能适用于安卓。
qq登录
ydb.qqlogin(accessurl);
//参数accessurl: accessurl(必须为带http或https的网络路径)接收返回值的url,可附加url参数,用来判断用户登录状态以及设置用户信息等操作
//接收参数:
//accessurl接收到参数为:openid(用户唯一标识)字符类型、token 字符类型、userinfo(用户昵称、用户头像等基本信息) json字串
备注:开通qq登录插件并配置相关参数之后,才可使用此功能。
融云即时通讯
融云用户登录
ydb.rongyunlogin(userid, nickname, token, portraituri);
//参数说明:userid(字符类型) 用户id,nickname(字符类型) 用户昵称,portraituri(字符类型) 用户头像,token(字符类型) 用户token(token在服务器端注册用户的时候获取,可参见 demo 或者参照融云相关服务器端开发文档获取token方法)。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
打开融云私聊界面
ydb.initiatechat(otheruserid, nickname, portraituri);
//参数说明:otheruserid(字符类型) 对方用户id,nickname(字符类型) 对方昵称,portraituri(字符类型)对方头像。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
打开融云会话列表
ydb.sessionlist();
//参数说明:不需要传递参数。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
更新融云用户信息
ydb.refreshuserinfo(userid, nickname, portraituri);
//参数说明:userid(字符类型) 要更新的用户id,nickname(字符类型) 要更新的用户昵称,portraituri(字符类型) 要更新的用户头像。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
创建融云群组
ydb.creatediscussgroup(defaultuserid, groupname, groupidfunction);
//参数说明:defaultuserid(字符类型) 默认邀请加入群组的用户id(非本人),groupname(字符类型)群组名,groupidfunction 获取groupid的回调函数。
//需要再web端定义回调函数:function groupidfunction(groupid){/* 获取并记录app返回的群组id */}
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
打开融云群组
ydb.opendiscussgroup(groupid, groupname);
//参数说明:groupid 要打开的群组的id,groupname 要打开的群组名。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
添加融云群组成员
ydb.adddiscussgroup(groupid, userid, nickname, portraituri);
//参数说明:groupid 群组id,userid 要添加的用户id,nickname 要添加的用户昵称,portraituri 要添加的用户头像。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
移除融云群组成员
ydb.removediscussgroup(groupid, userid);
//参数说明:groupid 群组id,userid 要移除的用户id。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
初始化融云好友头像信息
ydb.intportraituri(userid, nickname, portraituri);
//参数说明:userid 要初始化的用户id,nickname 要初始化的用户昵称,portraituri 需初始化的用户头像。
备注:开通融云即时通讯插件并配置相关参数之后,才可使用此功能。
获取手机设备信息
获取手机基本信息
ydb.getbaseinfo(callback);
//参数说明:callback 回调函数。
//安卓端返回数据:{
status: //操作成功状态值
brand: //品牌
model: //型号
manufacturer: //制造商
version: //系统版本
sdkversion: //系统sdk版本
deviceid: //设备串号
macaddress: //mac地址
boottime: //开机时间
}
//ios端返回数据:{
"uuid":"4ad320a1-2a80-4bc7-b9b2-8228d17ed9de", //uuid
"battery":"unknow-100", //电池状态及电量
"device":"simulator", //设备版本
"name":"iphonesimulator",//手机别名
"type":"iphone",//手机型号
"version":"9.3"//手机系统版本
}
//示例:var ydb = new ydbobj();ydb.getbaseinfo("baseinfo"); baseinfo 是您的回调函数
function baseinfo(info){ //info是手机端给您返回的json对象 }
备注:开通获取手机设备信息插件之后,才可使用此功能。
获取cpu信息
ydb.getcpuinfo(callback);
//参数说明:callback 回调函数。
//返回数据:{
status: //操作成功状态值
architecture: //cpu架构
corenumber: //cpu核心数
minfrequency: //cpu最低频率
maxfrequency: //cpu最高频率
}
//示例:var ydb = new ydbobj();ydb.getcpuinfo("cpuinfo"); cpuinfo 是您的回调函数
function cpuinfo(info){ //info是手机端给您返回的json对象 }
备注:开通获取手机设备信息插件之后,才可使用此功能,该功能仅适用于安卓。
获取内存信息
ydb.getmemoryinfo(callback);
//参数说明:callback 回调函数。
//返回数据:{
status: //操作成功状态值
totalmemory: //内存总大小
availablememory: //可用内存大小
}
//示例:var ydb = new ydbobj();ydb.getmemoryinfo("memoryinfo"); memoryinfo 是您的回调函数
function memoryinfo(info){ //info是手机端给您返回的json对象 }
备注:开通获取手机设备信息插件之后,才可使用此功能,该功能仅适用于安卓。
获取手机存储信息
ydb.getstorageinfo(callback);
//参数说明:callback 回调函数。
//返回数据:{
status: //操作成功状态值
sdcardstatus: //sd卡的状态,返回如下值:
//1001 未设置sd卡为御载,直接拔出sd卡后的状态
//1002 手机正在检测sd卡过程中的状态
//1003 sd卡正常使用的状态,并具有读写的权限
//1004 sd卡正常使用的状态,但只有读的权限
//1005 手动设置sd卡为御载之后,再拔出sd卡之后 的状态
//1006 手机连接电脑,sd卡做为u盘使用之后的状态
//1007 sd卡不可被安装
//1008 手工设置sd卡为御载之后的状态
//0 没有获取到sd卡的状态
sdcardpath: //sd卡的路径
sdcardtotalsize: //sd卡总大小
sdcardavailablesize: //sd卡可用大小
romtotalsize: //手机自身存储大小
romavailablesize: //手机自身可用存储大小
rompath: //手机自身存储路径
}
//示例:var ydb = new ydbobj();ydb.getstorageinfo("storageinfo"); storageinfo 是您的回调函数
function storageinfo(info){ //info是手机端给您返回的json对象 }
备注:开通获取手机设备信息插件之后,才可使用此功能,该功能仅适用于安卓。
获取手机显示信息
ydb.getdisplayinfo(callback);
//参数说明:callback 回调函数。
//返回数据:{
status: //操作成功状态值
width: //屏幕宽度(单位为像素)
height: //屏幕高度(单位为像素)
densitydpi: //屏幕密度(单位为dpi)
}
//示例:var ydb = new ydbobj();ydb.getdisplayinfo("displayinfo"); displayinfo 是您的回调函数
function displayinfo(info){ //info是手机端给您返回的json对象 }
备注:开通获取手机设备信息插件之后,才可使用此功能,该功能仅适用于安卓。
系统通讯录
查询所有联系人信息
ydb.contactall(callback);
//参数说明:callback 回调函数。
//返回数据样例:[{"lastname":"张","contactid":18,"email":"","homenum":"0371-12345678","firstname":"三","displayname":"张三","jobnum":"","mobile":"13523002100"},{"lastname":"张","contactid":19,"email":"","homenum":"0371-12345678","firstname":"三","displayname":"张三","jobnum":"","mobile":"13523002100"}]
//示例:var ydb = new ydbobj();ydb.contactall("allcontacter"); allcontacter 是您的回调函数
function allcontacter(info){ //info是手机端给您返回的json对象 }
备注:开通系统通讯录插件之后,才可使用此功能。
打开系统通讯录界面,选择单个联系人,返回已选的联系人信息
ydb.contactselect(callback);
//参数说明:callback 回调函数。
//返回数据样例:{"lastname":"张","contactid":18,"email":"","homenum":"0371-12345678","firstname":"三","displayname":"张三","jobnum":"","mobile":"13523002100"}
//示例:var ydb = new ydbobj();ydb.contactselect("contacter"); contacter 是您的回调函数
function contacter(info){ //info是手机端给您返回的json对象 }
备注:开通系统通讯录插件之后,才可使用此功能。
向通讯录添加一个联系人,所有参数不可同时为空
ydb.contactadd(lastname, firstname, homenum, mobile, email, callback);
//参数说明:lastname 联系人姓 firstname 联系人名字 homenum 住宅电话 mobile手机号 email邮箱 callback回调函数。
//返回数据:0 添加失败 1添加成功
//示例:var ydb = new ydbobj();ydb.contactadd("张","三","0371-12345678","13523002100","[email protected]","addstatus"); addstatus 是您的回调函数
function addstatus(info){ //info是手机端给您返回的添加状态 }
备注:开通系统通讯录插件之后,才可使用此功能。
从通讯录删除一个联系人
ydb.contactdelete(contactid, callback);
//参数说明:contactid 要删除的联系人id(从查询所有联系人信息或选择单个联系人中获取) callback 回调函数。
//返回数据:0 添加失败 1添加成功
//示例:var ydb = new ydbobj();ydb.contactdelete("18","deletestatus"); deletestatus 是您的回调函数
function deletestatus(info){ //info是手机端给您返回的删除状态 }
备注:开通系统通讯录插件之后,才可使用此功能。
根据 id 更新通讯录的联系人信息
ydb.contactupdate(contactid, lastname, firstname, homenum, mobile, email, callback);
//参数说明:contactid 要更新的联系人id(从查询所有联系人信息或选择单个联系人中获取) lastname 联系人姓 firstname 联系人名字 homenum 住宅电话 mobile手机号 email邮箱 callback回调函数。
//返回数据:0 添加失败 1添加成功
//示例:var ydb = new ydbobj();ydb.contactupdate("18","张",三","0371-12345678","13523002112","[email protected]","upstatus"); upstatus 是您的回调函数
function upstatus(info){ //info是手机端给您返回的更新状态 }
备注:开通系统通讯录插件之后,才可使用此功能。
网络音频播放
播放网络音频
ydb.startvoice(path);
//参数说明:path 音频资源地址
//示例:var ydb = new ydbobj();ydb.startvoice("http://music.baidutt.com/up/kwcywdkd/cmypus.mp3");
备注:开通网络音频播放插件之后,才可使用此功能。
设置音量 音量大小,取值范围:0-1
ydb.volumevideo(volume);
//参数说明:volume 音量大小,取值范围:0-1
//示例:var ydb = new ydbobj();ydb.volumevideo('0.6');
备注:开通网络音频播放插件之后,才可使用此功能。
暂停播放
ydb.pausevoice();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.pausevoice();
备注:开通网络音频播放插件之后,才可使用此功能。
继续播放
ydb.playvoice();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.playvoice();
备注:开通网络音频播放插件之后,才可使用此功能。
停止播放
ydb.stopvoice();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.stopvoice();
备注:开通网络音频播放插件之后,才可使用此功能。
网络视频播放
ydb.openvideo(path);
//参数说明:path 视频资源地址。
//示例:var ydb = new ydbobj();ydb.openvideo(path);
备注:开通网络视频播放插件之后,才可使用此功能。
设置安卓手机壁纸
ydb.wallpaper(path);
//参数说明:path 图片路径,支持http://路径的图片。
//示例:var ydb = new ydbobj();ydb.wallpaper(path);
备注:开通设置安卓手机壁纸插件之后,才可使用此功能,该功能仅适用于安卓。
获取手机gps状态
ydb.gpsstate(callback);
//参数说明:callback 回调函数。
//返回数据:{ "gps":true } //返回值为true表示当前手机gps为开启状态 false为关闭状态
//示例:var ydb = new ydbobj();ydb.gpsstate("state"); state 是您的回调函数
function state(info){ //info是手机端给您返回的json对象 }
备注:开通获取手机gps状态插件之后,才可使用此功能。
安卓手机打开系统gps界面
ydb.opengps();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.opengps();
备注:开通获取手机gps状态插件之后,才可使用此功能,该功能仅适用于安卓。
地图导航
判断当前设备是否已安装高德、谷歌、百度地图
ydb.navigatorinfo(callback);
//参数说明:callback 回调方法。
//返回数据样例:{"amap":"false","bmap":"true","gmap":"false"}
其中 bmap:百度地图 amap:高德地图 gmap:谷歌地图
//示例:var ydb = new ydbobj();ydb.navigatorinfo("getnavigator"); getnavigator是您的回调方法名。
function getnavigator(info){ //info是手机端给您返回的json对象 }
备注:开通地图导航插件之后,才可使用此功能。
打开百度地图
ydb.navigatorbaidu();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.navigatorbaidu();
备注:开通地图导航插件之后,才可使用此功能。
打开谷歌地图
ydb.navigatorgoogle();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.navigatorgoogle();
备注:开通地图导航插件之后,才可使用此功能。
打开高德地图
ydb.navigatorgaode();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.navigatorgaode();
备注:开通地图导航插件之后,才可使用此功能。
打开百度地图并规划路线
ydb.navigatorbaidupath(startlat, startlon, endlat, endlon);
//参数说明:startlat 起点纬度(数字类型) startlon 起点经度(数字类型) endlat 终点纬度(数字类型) endlon 终点经度(数字类型)
//示例:var ydb = new ydbobj();ydb.navigatorbaidupath("34.55648","112.4772379","33.784214","112.57062599");
备注:开通地图导航插件之后,才可使用此功能。
打开高德地图并规划路线
ydb.navigatorgaodepath(startlon, startlat, startname, endlon, endlat, endname);
//参数说明:startlat 起点纬度(数字类型) startlon 起点经度(数字类型) startname 起点名称(字符串类型) endlat 终点纬度(数字类型) endlon 终点经度(数字类型) endname 终点名称(字符串类型)
//示例:var ydb = new ydbobj();ydb.navigatorgaodepath("34.55648","112.4772379","起点名称","33.784214","112.57062599","终点名称");
备注:开通地图导航插件之后,才可使用此功能。
打开苹果自带地图并开始导航
ydb.applenavigation(startlat, startlon, endlat, endlon);
//参数说明:startlat 起点纬度(数字类型) startlon 起点经度(数字类型) endlat 终点纬度(数字类型) endlon 终点经度(数字类型)
//示例:var ydb = new ydbobj();ydb.applenavigation("34.55648","112.4772379","33.784214","112.57062599");
备注:开通地图导航插件之后,才可使用此功能。
蓝牙数据传输
ydb.openbluetooth();
//参数说明:该方法不需要参数。
//示例:var ydb = new ydbobj();ydb.openbluetooth();
备注:开通蓝牙数据传输插件之后,才可使用此功能。此功能仅适用于安卓。
蓝牙 4.0
初始化蓝牙4.0管理器
ydb.blinitmanager(callback);
//参数说明:callback 回调方法。
//返回数据样例:{"state": "poweredon" }
//字符串类型;蓝牙4.0设备连接状态,取值范围如下:
//poweredon:设备开启状态 -- 可用状态
//poweredoff:设备关闭状态
//resetting:正在重置状态
//unauthorized:设备未授权状态
//unknown:初始的时候是未知的
//unsupported:设备不支持的状态
//示例:var ydb = new ydbobj();ydb.blinitmanager("getmanagerstate"); getmanagerstate是您的回调方法名。
function getmanagerstate(state){ //state是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
开始搜索蓝牙4.0设备
ydb.blscan(callback);
//开始搜索蓝牙4.0设备,会不断的扫描跟新附近的蓝牙4.0设备信息,可通过 blgetperipheral 接口来获取扫描到的设备信息。若要停止、清空扫描则调用 blstopscan 接口
//参数说明:callback 回调方法。
//返回数据样例:{ "status": "true" } //布尔类型;是否获取成功,true|false
//示例:var ydb = new ydbobj();ydb.blscan("getscanstate"); getscanstate是您的回调方法名。
function getscanstate(state){ //state是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
获取当前扫描到的所有外围设备信息
ydb.blgetperipheral(callback);
//参数说明:callback 回调方法。
//返回数据样例:{
"peripherals":[{ //数组类型;获取到的当前扫描到的蓝牙4.0设备
"uuid": "", //字符串类型;扫描到的蓝牙设备的 uuid
"name": "", //字符串类型;扫描到的蓝牙设备的名字
"rssi": "" //数字类型;扫描到的蓝牙设备的信号强度
},...]
} //json 对象
//示例:var ydb = new ydbobj();ydb.blgetperipheral("getperipherals"); getperipherals是您的回调方法名。
function getperipherals(peripherals){ //peripherals是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
判断是否正在扫描
ydb.blisscanning(callback);
//参数说明:callback 回调方法。
//返回数据样例:{ "status": "true" } //布尔类型;是否在扫描,true|false
//示例:var ydb = new ydbobj();ydb.blisscanning("isscanning"); isscanning是您的回调方法名。
function isscanning(state){ //state是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
停止搜索附近的蓝牙设备,并清空已搜索到的记录在本地的外围设备信息
ydb.blstopscan();
//参数说明:不需要传递参数。
//示例:var ydb = new ydbobj();ydb.blstopscan();
备注:开通蓝牙4.0插件之后,才可使用此功能。
连接指定外围设备
ydb.blconnect(peripheraluuid,callback);
//参数说明:peripheraluuid 要连接的外围设备的 uuid(字符串) callback 回调方法。
//返回数据样例:{ "status": "true" } //布尔类型;是否连接成功,true|false
//示例:var ydb = new ydbobj();ydb.blconnect('88:0f:10:86:6a:cf','connectstate'); connectstate是您的回调方法名。
function connectstate(state){ //state是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
断开与指定外围设备的连接
ydb.bldisconnect(peripheraluuid,callback);
//参数说明:peripheraluuid 要断开连接的外围设备的 uuid(字符串) callback 回调方法。
//返回数据样例:{ "status": "true" } //布尔类型;是否成功断开连接,true|false
//示例:var ydb = new ydbobj();ydb.bldisconnect('88:0f:10:86:6a:cf','disconnectstate'); disconnectstate是您的回调方法名。
function disconnectstate(state){ //state是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
判断与指定外围设备是否为连接状态
ydb.blisconnected(peripheraluuid,callback);
//参数说明:peripheraluuid 指定外围设备的 uuid(字符串) callback 回调方法。
//返回数据样例:{ "status": "true" } //布尔类型;是否连接,true|false
//示例:var ydb = new ydbobj();ydb.blisconnected('88:0f:10:86:6a:cf','getconnectstate'); getconnectstate是您的回调方法名。
function getconnectstate(state){ //state是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据 uuid 找到所有匹配的蓝牙外围设备信息
ydb.blretrieveperipheral(peripheraluuids,callback);
//参数说明:peripheraluuids 指定的蓝牙外围设备的 uuid 组成的数组(字符串) callback 回调方法。
//返回数据样例:{
"peripherals":[{ //数组类型;获取到的蓝牙外围设备信息
"uuid": "", //字符串类型;获取到的蓝牙设备的uuid
"name": "", //字符串类型;获取到的蓝牙设备的名字
"rssi": "" , //数字类型;获取到的蓝牙设备的信号强度
"services":[] //数组类型;获取到的蓝牙设备的所有服务 uuid 的集合
},...]
}
//示例:var ydb = new ydbobj();ydb.blretrieveperipheral('["88:0f:10:86:6a:cf","88:0f:10:80:6a:cf"]', 'getperipherals'); getperipherals是您的回调方法名。
function getperipherals(peripherals){ //peripherals是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。此功能仅适用于ios。
根据指定的服务,找到当前系统处于连接状态的蓝牙中包含这个服务的所有蓝牙外围设备信息
ydb.blretrieveconnectedperipheral(serviceuuids,callback);
//参数说明:serviceuuids 指定的蓝牙4.0设备的服务(service)的 uuid(字符串) 组成的数组(字符串) callback 回调方法。
//返回数据样例:{
"peripherals":[{ //数组类型;获取到的当前处于连接状态的蓝牙外围设备
"uuid": "", //字符串类型;处于连接状态的蓝牙设备的uuid
"name": "", //字符串类型;处于连接状态的蓝牙设备的名字
"rssi": "" , //数字类型;处于连接状态的蓝牙设备的信号强度
"services":[] //数组类型;处于连接状态的蓝牙设备的所有服务 uuid 的集合
},...]
}
//示例:var ydb = new ydbobj();ydb.blretrieveconnectedperipheral('["00002902-0000-1000-8000-00805f9b34fb","00002902-0000-5685-8000-00805f9b34fb"]', 'getperipherals'); getperipherals是您的回调方法名。
function getperipherals(peripherals){ //peripherals是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。此功能仅适用于ios。
根据指定的外围设备 uuid 获取该外围设备的所有服务
ydb.bldiscoverservice(peripheraluuid,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否获取成功,true|false
"services":[] //数组类型;获取的所有服务号集合
}
//示例:var ydb = new ydbobj();ydb.bldiscoverservice('88:0f:10:86:6a:cf', 'getservices'); getservices是您的回调方法名。
function getservices(services){ //services是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据指定的外围设备 uuid 及其服务 uuid 获取该外围设备的所有特征
ydb.bldiscovercharacteristics(peripheraluuid, serviceuuid,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) serviceuuid 指定的服务的 uuid callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否获取成功,true|false
"characteristics":[{ //数组类型;获取的所有特征信息的集合
"uuid": "", //字符串类型;特征的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"permissions": "", //字符串类型;特征的权限,取值范围如下:
//readable:
//writeable:
//readencryptionrequired:
//writeencryptionrequired:
"propertie": "" //字符串类型;特征的属性,取值范围如下:
//broadcast:
//read:
//writewithoutresponse:
//write:
//notify:
//indicate:
//authenticatedsignedwrites:
//extendedproperties:
//notifyencryptionrequired:
//indicateencryptionrequired:
}]
}
//示例:var ydb = new ydbobj();ydb.bldiscovercharacteristics('88:0f:10:86:6a:cf','00002902-0000-1000-8000-00805f9b34fb', 'getcharacteristics'); getcharacteristics是您的回调方法名。
function getcharacteristics(characteristics){ //characteristics是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据指定的外围设备 uuid 及其服务 uuid 和特征 uuid
获取该外围设备的所有描述符
ydb.bldiscoverdescriptorsforcharacteristic(peripheraluuid, serviceuuid, characteristicuuid,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) serviceuuid 指定的服务的 uuid characteristicuuid 指定的特征的 uuid callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否读取成功,true|false
"descriptors":[{ //数组类型;获取的所有描述符信息的集合
"uuid": "", //字符串类型;描述符的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"characteristicuuid":"",//字符串类型;特征的 uuid
"decode":"" , //布尔类型;描述符的值是否是二进制类型数据
"value":"" //字符串类型;描述符的值,若 decode 为 true,则该值为转码后的值
}]
}
//示例:var ydb = new ydbobj();ydb.bldiscoverdescriptorsforcharacteristic('88:0f:10:86:6a:cf', '00002902-0000-1000-8000-00805f9b34fb', '00002a43-0000-1000-8000-00805f9b34fb', 'getdescriptors');
getdescriptors是您的回调方法名。
function getdescriptors(descriptors){ //descriptors是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据指定的外围设备 uuid 及其服务 uuid 和特征 uuid
监听数据回发
ydb.blsetnotify(peripheraluuid, serviceuuid, characteristicuuid,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) serviceuuid 指定的服务的 uuid characteristicuuid 指定的特征的 uuid callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否获取数据,true|false
"characteristic":{ //json对象;获取监听的特征的信息
"uuid": "", //字符串类型;特征的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"value": "" , //字符串类型;特征的值
"permissions": "", //字符串类型;特征的权限,取值范围如下:
//readable:
//writeable:
//readencryptionrequired:
//writeencryptionrequired:
"propertie": "" //字符串类型;特征的属性,取值范围如下:
//broadcast:
//read:
//writewithoutresponse:
//write:
//notify:
//indicate:
//authenticatedsignedwrites:
//extendedproperties:
//notifyencryptionrequired:
//indicateencryptionrequired:
}
}
//示例:var ydb = new ydbobj();ydb.blsetnotify('88:0f:10:86:6a:cf', '00002902-0000-1000-8000-00805f9b34fb', '00002a43-0000-1000-8000-00805f9b34fb', 'getcharacteristic');
getcharacteristic是您的回调方法名。
function getcharacteristic(characteristic){ //characteristic是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据指定的外围设备 uuid 及其服务 uuid 和特征 uuid
读取数据
ydb.blreadvalueforcharacteristic(peripheraluuid, serviceuuid, characteristicuuid,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) serviceuuid 指定的服务的 uuid characteristicuuid 指定的特征的 uuid callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否读取成功,true|false
"characteristic":{ //json对象;获取监听的特征的信息
"uuid": "", //字符串类型;特征的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"value": "" , //字符串类型;特征的值
"permissions": "", //字符串类型;特征的权限,取值范围如下:
//readable:
//writeable:
//readencryptionrequired:
//writeencryptionrequired:
"propertie": "" //字符串类型;特征的属性,取值范围如下:
//broadcast:
//read:
//writewithoutresponse:
//write:
//notify:
//indicate:
//authenticatedsignedwrites:
//extendedproperties:
//notifyencryptionrequired:
//indicateencryptionrequired:
}
}
//示例:var ydb = new ydbobj();ydb.blreadvalueforcharacteristic('88:0f:10:86:6a:cf', '00002902-0000-1000-8000-00805f9b34fb', '00002a43-0000-1000-8000-00805f9b34fb', 'getcharacteristic');
getcharacteristic是您的回调方法名。
function getcharacteristic(characteristic){ //characteristic是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据指定的外围设备 uuid 及其服务 uuid 和特征 uuid
及其描述符获取数据
ydb.blreadvaluefordescriptor(peripheraluuid, serviceuuid, characteristicuuid,descriptoruuid,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) serviceuuid 指定的服务的 uuid characteristicuuid 指定的特征的 uuid descriptoruuid 指定的描述符的 uuid callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否读取成功,true|false
"descriptor":{ //json对象;获取的所有描述符信息
"uuid": "", //字符串类型;描述符的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"characteristicuuid":"",//字符串类型;特征的 uuid
"decode":"" , //布尔类型;描述符的值是否是二进制类型数据
"value":"" //字符串类型;描述符的值,若 decode 为 true,则该值为转码后的值
}
}
//示例:var ydb = new ydbobj();ydb.blreadvaluefordescriptor('88:0f:10:86:6a:cf', '00002902-0000-1000-8000-00805f9b34fb', '00002a43-0000-1000-8000-00805f9b34fb', '00002a43-0000-1000-8000-00805f9b34fb', 'getcharacteristic'); getcharacteristic是您的回调方法名。
function getcharacteristic(characteristic){ //characteristic是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据指定的外围设备 uuid 及其服务 uuid 和特征 uuid
写数据
ydb.blwritevalueforcharacteristic(peripheraluuid, serviceuuid, characteristicuuid,value,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) serviceuuid 指定的服务的 uuid characteristicuuid 指定的特征的 uuid value 要写入的数据 ,十六进制的字符串 callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否发送成功,true|false
"characteristic":{ //json对象;获取监听的特征的信息
"uuid": "", //字符串类型;特征的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"permissions": "", //字符串类型;特征的权限,取值范围如下:
//readable:
//writeable:
//readencryptionrequired:
//writeencryptionrequired:
"propertie": "" //字符串类型;特征的属性,取值范围如下:
//broadcast:
//read:
//writewithoutresponse:
//write:
//notify:
//indicate:
//authenticatedsignedwrites:
//extendedproperties:
//notifyencryptionrequired:
//indicateencryptionrequired:
}
}
//示例:var ydb = new ydbobj();ydb.blwritevalueforcharacteristic('88:0f:10:86:6a:cf', '00002902-0000-1000-8000-00805f9b34fb', '00002a43-0000-1000-8000-00805f9b34fb', 'ceshishuju', 'getcharacteristic');
getcharacteristic是您的回调方法名。
function getcharacteristic(characteristic){ //characteristic是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
根据指定的外围设备 uuid 及其服务 uuid 和特征 uuid
及其描述符发送数据
ydb.blwritevaluefordescriptor(peripheraluuid, serviceuuid, characteristicuuid,descriptoruuid,value,callback);
//参数说明:peripheraluuid 指定的蓝牙外围设备的 uuid(字符串) serviceuuid 指定的服务的 uuid characteristicuuid 指定的特征的 uuid descriptoruuid 指定的描述符的 uuid value 要发送的数据 ,十六进制的字符串 callback 回调方法。
//返回数据样例:{
"status": "true" , //布尔类型;是否发送成功,true|false
"characteristic":{ //json对象;获取监听的特征的信息
"uuid": ", //字符串类型;特征的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"permissions": "", //字符串类型;特征的权限,取值范围如下:
//readable:
//writeable:
//readencryptionrequired:
//writeencryptionrequired:
"propertie": "" , //字符串类型;特征的属性,取值范围如下:
//broadcast:
//read:
//writewithoutresponse:
//write:
//notify:
//indicate:
//authenticatedsignedwrites:
//extendedproperties:
//notifyencryptionrequired:
//indicateencryptionrequired:
"descriptors":[{ //数组类型;获取的所有描述符信息的集合
"uuid": "", //字符串类型;描述符的 uuid
"serviceuuid": "", //字符串类型;服务的 uuid
"characteristicuuid":"",//字符串类型;特征的 uuid
"decode":"" , //布尔类型;描述符的值是否是二进制类型数据
"value": "" //字符串类型;描述符的值,若 decode 为 true,则该值为转码后的值
}]
}
}
//示例:var ydb = new ydbobj();ydb.blwritevaluefordescriptor('88:0f:10:86:6a:cf', '00002902-0000-1000-8000-00805f9b34fb', '00002a43-0000-1000-8000-00805f9b34fb','00002a43-0000-1000-8000-00805f9b34fb', 'ceshishuju', 'getcharacteristic'); getcharacteristic是您的回调方法名。
function getcharacteristic(characteristic){ //characteristic是手机端给您返回的json对象 }
备注:开通蓝牙4.0插件之后,才可使用此功能。
调用系统音效
ydb.ring();
//此方法可调用手机系统默认通知铃声。
//示例:var ydb = new ydbobj();ydb.ring();
备注:开通调用系统音效插件之后,才可使用此功能。
录音
ydb.audiorecord(receiveurl, callbackfun);
//此方法可调用手机系统录音功能,并上传至您提供的接收位置。
//参数说明:参数1,接收wav文件的服务器端url(可返回保存后文件的路径,用于回调函数处理),参数2,回调函数,用于处理服务器端返回结果
//示例:var ydb = new ydbobj();ydb.audiorecord("http://your.com/receiveurl", "callbackfun"); function callbackfun(data){ alert("声音文件:" data); }
备注:开启录音插件之后,才可使用此功能。
app调起小程序
ydb.miniwx(idstr, pathstr);
//用户可以在 app 中跳转至微信某一小程序的指定页面,完成服务后再跳回至原 app 。
//参数说明:参数1,id(小程序原始id) 字符串类型 ,参数2,path(小程序路径) 字符串类型
备注:开通app调起小程序插件之后,才可使用此功能。
腾讯连麦
ydb.logintxlive(userid,username,useravatar);
//登录js第一个是他们的登录唯一标识,第二个是名字,第三个是头像
//参数说明:
参数 类型 说明
userid 字符串类型
username 字符串类型
useravatar 字符串类型
ydb.newtxliveroom(url,roomname);
//腾讯连麦插件-开启直播,直播间名字
//参数说明:
参数 类型 说明
url 字符串类型
roomname 字符串类型
ydb.getroomlist(callback);
//腾讯连麦插件-获取直播列表,参数是回调方法, 会将直播间列表传过去
//参数说明:
参数 类型 说明
callback 字符串类型
ydb.enterliveroom(url,roomjson);
//腾讯连麦插件-进入直播间:参数以json格式传过来,直播间的列表的数据格式
//参数说明:
参数 类型 说明
url 字符串类型
roomjson 字符串类型
备注:开通腾讯连麦插件之后,才可使用此功能。
百度云推流
ydb.baidutuiliu(url, loadurl, callback);
//百度云推流-美颜,参数第一个是推流地址,第二个是加载的网页地址 ,第三个是回调函数
//参数说明:
参数 类型 说明
url 字符串类型
loadurl 字符串类型
callback 字符串类型
备注:开通百度云推流插件之后,才可使用此功能。
腾讯云直播推流
ydb.tuiliu(url, loadurl, callback);
//腾讯云直播推流-定制sdk,参数第一个是推流地址,第二个是原生推流界面加载的网页地址,作为推流界面的浮层 ,第三个是回调函数
//参数说明:
参数 类型 说明
url 字符串类型
loadurl 字符串类型
callback 字符串类型
备注:开通腾讯云直播推流插件之后,才可使用此功能。
分享到小程序
ydb.sharewxmini(title, conabstract, imageurl, url,wxuser_name,minipath);
//分享到小程序,参数分别为:标题、简介、图片路径、url链接地址、小程序原始id、分享小程序页面的具体路径
//参数说明:
参数 类型 说明
title 字符串类型
conabstract 字符串类型
imageurl 字符串类型
url 字符串类型
wxuser_name 字符串类型
minipath 字符串类型
备注:无需开启插件,直接可以使用此功能。
银联商务全民付移动支付(定制)
ydb.qmfwxpay(mid, tid, instmid, merorderid, goods, totalamount, msgsrc, urlstr, md5key, notifyurl, universallink,srcreserve);
//集成微信支付参数:商户号,终端号,机构商户号,订单号,商品详情,总金额,消息来源,下单接口url,md5key,通知地址,universallink,商户定制化展示的内容-长度不大于255
//参数说明:所有参数均为字符串类型
ydb.qmfzfbpay(mid, tid, instmid, merorderid, goods, totalamount, msgsrc, urlstr, md5key, notifyurl,srcreserve);
//集成支付宝支付参数:商户号,终端号,机构商户号,订单号,商品详情,总金额,消息来源,下单接口url,md5key,通知地址,商户定制化展示的内容-长度不大于255
//参数说明:所有参数均为字符串类型
ydb.qmfysfpay(mid, tid, instmid, merorderid, goods, totalamount, msgsrc, urlstr, md5key, notifyurl, successurl, failurl,srcreserve);
//集成云闪付参数:商户号,终端号,机构商户号,订单号,商品详情,总金额,消息来源,下单接口url,md5key,通知地址,成功回调,失败回调,商户定制化展示的内容-长度不大于255
//参数说明:所有参数均为字符串类型
备注:此为定制插件功能,如需要使用,请联系客服。
url参数设置
当url附带约定的参数设置的时候,相应打开的界面会按照参数设置实现约定效果,具体参数如下:
可选参数1(显示隐藏顶部导航):ydbsetheadbar,传值0、1,当值为0时,页面打开后不带顶部导航,当值为1时显示顶部导航
可选参数2(开启关闭下拉刷新):ydbsetdragrefresh,传值0、1,当值为0时关闭下拉刷新,1则开启下拉刷新
可选参数3(顶部菜单呼出按钮):ydbsetmorebutton,传值0、1,当值为0时隐藏顶部更多按钮,1时显示更多按钮
可选参数4(设置气泡提醒):ydbsetpopup,传值以逗号分隔的两个数字,前一个代表气泡出现在导航的索引,后一个代表气泡显示数字
可选参数5(设置显示标题):ydbsettitle,设置显示的标题
示例:如果同时设置了以上四种url参数,则您的url形式如下所示(这里举例为绝对路径方式,当然相对路径方式也支持)
http://www.yundabao.cn/?ydbsetheadbar=1&ydbsetdragrefresh=0&ydbsetmorebutton=1&ydbpopup=0,122
适用模板:有导航模板、无导航模板
备注:url参数设置为非js的一种约定,具体按照说明设置链接的url字串就行。不需要额外的js(包括ydbonline.js)支持。
附录1-常见错误及解决方法
调用ydb相关方法前,一定要先初始化定义。以下为常见错误及解决方法:
- 设置参数后发现没有任何效果。建议按如下顺序检查:
- 请确认您使用的当前版本是否支持ydbonline。
- 确保您初始化了ydb对象,并且调用方法名无误
附录2-demo页面和示例代码
demo页面:
http://www.yundabao.cn/api/jssdkdemo
示例代码:
http://www.yundabao.cn/api/jssdkdemo/jssdkdemo.rar
备注:链接中包含html、c#的示例代码供第三方参考。
附录3-问题反馈
邮箱地址:[email protected]
邮件主题:【ydbonline反馈】
邮件内容说明:
用简明的语言描述问题所在,并讲清楚遇到该问题的场景,可附上截屏图片,我们团队会尽快处理你的反馈。