【转】app之YdbOnline说明文档
概述
YdbOnline是面向网页开发者提供的网页开发工具包。
通过使用YdbOnline,网页开发者可借助YdbOnline高效地使用语音、位置等手机系统的能力,同时可以直接使用清除缓存、扫一扫等App特有的能力,为用户提供更优质的网页体验。
此文档面向网页开发者介绍YdbOnline如何使用及相关注意事项。
JSSDK使用步骤
步骤一:引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://static.ydbimg.com/API/YdbOnline.js
旧的接口(不建议使用):http://static.ydbimg.com/API/YdbOnlineBig.js
例如,页面head部分插入代码:<script src="http://static.ydbimg.com/API/YdbOnline.js" type="text/javascript"></script>
步骤二:初始化YDB对象
初始化方法:var YDB = new YDBOBJ(); //初始化之后才可以调用相应SDK方法,
步骤三:调用YDB的相关方法
例如: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类型
APP界面控制类
隐藏/显示顶部标题栏
YDB.SetHeadBar(0); //参数说明:显示隐藏当前页的顶部导航菜单,0为隐藏,1为显示
隐藏底部菜单栏
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方法。 //示例:<div
onclick=
"gobackprevious();"
>返回前一页面</div>
//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.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"。 //示例:<a href=
"new.html"
onclick=
"OpenNewWindow();"
>新窗口打开</a>
//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")
备注:此功能需配合打开新窗口使用。
修改IOS状态栏文字颜色
YDB.SetStatusBarStyle(fontcolor); //参数说明:fontcolor:文字颜色,可选参数:0 白色 1 黑色 //示例:YDB.SetStatusBarStyle(1);修改IOS状态栏颜色为黑色
备注:此功能仅适用于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);//开启横屏模式
备注:
APP系统功能类
扫一扫
无返回值方法
YDB.Scan(); // 参数说明:此方法无参数,直接调用扫一扫功能,扫描结果由App自行处理
备注:
有返回值方法
YDB.GetScan("你事先准备好的方法名"); //参数说明:web处理扫描结果,传入返回值处理方法名,在这个方法中处理扫描字串, //例如,您定义的方法为 function DoWithScan(outValue){}; //那么,调用SDK可以这样写:YDB.GetScan("DoWithScan");
备注:
分享
YDB.Share('标题','简介','图片路径','链接地址','回调方法'); // 参数说明:分别传入分享信息的标题、简介、图片路径、URL链接地址、分享回调方法名(接收分享结果的json字串) //示例:var YDB = new YDBOBJ(); YDB.Share("测试分享标题", "测试分享标题内容", "http://static.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("测试分享标题", "测试分享标题内容", "http://static.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.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 (字符类型) //当returnDataType为1时,accessUrl在post时接收到参数为:token (Json字串)、resault (Json字串)、openid (字符类型)、sign (Md5加密字串),get时接收到的参数为openid (字符类型)
备注:此插件需要开通微信登录插件并配置相关参数,微信登录整体流程:调用js_sdk方法-->呼出微信登录窗口-->登录验证通过-->手机端post数据给accessUrl(post参数:token,openid,sign等),accessUrl 处理接收到的数据,并标记用户登录状态 --> App跳转到accessUrl(get参数:openid) --> 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。
获取健康步数
YDB.GetHealthStep("处理返回值的函数名"); //参数说明:您需要定义处理返回值函数,例如 function DoWithHealthStep(info){/*info中返回的是您当前的健康步数*/}; //那么,调用SDK可以这样写:YDB.GetHealthStep("DoWithHealthStep")
备注:开通获取健康步数插件后才可使用此功能,此功能适用于安卓和IOS。
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","12345@163.com","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","ioudh12@163.com","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();
备注:开通调用系统音效插件之后,才可使用此功能。
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://app.lrswl.com/?YDBSetHeadBar=1&YDBSetDragRefresh=0&YDBSetMoreButton=1&YDBPopUp=0,122
适用模板:有导航模板、无导航模板
备注:URL参数设置为非js的一种约定,具体按照说明设置链接的URl字串就行。不需要额外的JS(包括YdbOnline.js)支持。
作者:虾米哥
微信公众号:IT虾米,左侧为二维码
个人技术网站-IT虾米网:http://www.itxm.cn
个人技术网站-编程符号网:http://www.itfh.cn
个人技术网站-IT源码网:http://www.itym.cn
新浪微博:https://weibo.com/u/2814576687
如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。