YdbOnline是面向网页开发者提供的网页开发工具包。
通过使用YdbOnline,网页开发者可借助YdbOnline高效地使用语音、位置等手机系统的能力,同时可以直接使用清除缓存、扫一扫等App特有的能力,为用户提供更优质的网页体验。
此文档面向网页开发者介绍YdbOnline如何使用及相关注意事项。
在需要调用JS接口的页面引入如下JS文件,(支持https):http://static.ydbimg.com/API/YdbOnline.js
初始化方法: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(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.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")
备注:此功能需配合打开新窗口使用。
YDB.SetStatusBarStyle(fontcolor); //参数说明:fontcolor:文字颜色,可选参数:0 白色 1 黑色 //示例:YDB.SetStatusBarStyle(1);修改IOS状态栏颜色为黑色
备注:此功能仅适用于IOS。
YDB.IsFixedBottomMenu(IntState); //此功能为全局功能,仅调用一次即可。 //参数说明:IntState:是否固定,可选参数:0 固定(当页面有输入框等调用键盘的操作时,底部导航不会跟随键盘移动) 1 不固定(当页面有输入框等调用键盘的操作时,底部导航会跟随键盘移动),默认效果为不固定。 //示例:YDB.IsFixedBottomMenu(0);设置底部导航不跟随键盘移动
备注:此功能仅适用于安卓。
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.Scan(); // 参数说明:此方法无参数,直接调用扫一扫功能,扫描结果由App自行处理
备注:
YDB.GetScan("你事先准备好的方法名"); //参数说明:web处理扫描结果,传入返回值处理方法名,在这个方法中处理扫描字串, //例如,您定义的方法为 function DoWithScan(outValue){}; //那么,调用SDK可以这样写:YDB.GetScan("DoWithScan");
备注:
YDB.Share('标题','简介','图片路径','链接地址'); // 参数说明:分别传入分享信息的标题、简介、图片路径、URL链接地址
备注:
YDB.ClearCache(); //不需要参数,调用清理缓存的系统方法
备注:
YDB.GetDeviceInformation("处理返回值的函数名"); //参数说明:您需要定义处理返回值函数,例如 function DoWithDeviceInformation(info){/*do something with info*/}; //那么,调用SDK可以这样写:YDB. GetDeviceInformation ("DoWithDeviceInformation")
备注:
YDB.PopUp(index,count); //参数说明:index 设定气泡所在导航索引,多个索引以逗号分隔; //count 设定气泡中显示数量的数字,多个数量以逗号分隔,跟索引数量要匹配。 //当count设置为零,则表示当前索引不显示气泡!
备注:
此功能不需要JS支持,页面中只要包含上传组件即可,在用户点击上传的时候,App会自动启动选取相册中图片文件或者调用拍照功能。
备注:
YDB.ImageViewState(state); //参数说明:如果要开启图片预览功能,需要在相应页面调用此功能,当state设置为0时关闭图片预览功能;当state设置为1时,开启图片预览功能, //同时,页面中在需要预览功能支持的图片超链接进行如下设置: //需要在图片外层img标签增加属性Is9VImg="true",当Is9vImg值为true时,点击图片会启动App的图片浏览器。
备注:
YDB.ExitApp(); //退出安卓APP
备注:此功能仅适用于安卓。
YDB.OpenWithSafari("openurl"); //参数openurl:需要在浏览器中打开的网址 //示例:YDB.OpenWithSafari("http://m.baidu.com");;
备注:此功能适用于安卓和IOS。
YDB.GetClientIDOfGetui("doWithCIDFun"); //参数说明:传入返回值处理方法名,在这个方法中处理从个推申请到的cid //例如,您定义的方法为 // function doWithCIDFun (cid){/*do something with cid*/}; //那么,调用SDK可以这样写:YDB.GetClientIDOfGetui("doWithCIDFun");
备注:此功能适用于自有证书,并且在个推后台配置过证书信息,准备自主整合个推接口的用户,尤其适合上传过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 所需图片高度
备注:
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 订单编号
备注:开通支付宝支付插件并配置相关参数之后,才可使用此功能。
YDB.SetWxpayInfo(ProductName, Desicript, Price, OuttradeNo,attach); //参数说明:ProductName 名称, Desicript 描述, Price 支付金额, OuttradeNo 订单编号,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函数
),对未安装的用户隐藏微信登录按钮,只提供其他登录方式(比如手机号注册登录、游客登录等)。
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。
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对象 }
备注:开通获取手机设备信息插件之后,才可使用此功能。
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是手机端给您返回的删除状态 }
备注:开通系统通讯录插件之后,才可使用此功能。
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");
备注:开通网络音频播放插件之后,才可使用此功能。
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);
备注:开通设置安卓手机壁纸插件之后,才可使用此功能,该功能仅适用于安卓。
YDB.GpsState(callback); //参数说明:callback 回调函数。 //返回数据:{ "gps":true } //返回值为true表示当前手机gps为开启状态 false为关闭状态 //示例:var YDB = new YDBOBJ();YDB.GpsState("State"); State 是您的回调函数 function State(info){ //info是手机端给您返回的json对象 }
备注:开通获取手机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();
备注:开通蓝牙数据传输插件之后,才可使用此功能。此功能仅适用于安卓。
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插件之后,才可使用此功能。
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插件之后,才可使用此功能。
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。
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插件之后,才可使用此功能。
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插件之后,才可使用此功能。
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插件之后,才可使用此功能。
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插件之后,才可使用此功能。
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插件之后,才可使用此功能。
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插件之后,才可使用此功能。
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插件之后,才可使用此功能。
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附带约定的参数设置的时候,相应打开的界面会按照参数设置实现约定效果,具体参数如下: 可选参数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.tjztxk.com/?YDBSetHeadBar=1&YDBSetDragRefresh=0&YDBSetMoreButton=1&YDBPopUp=0,122
适用模板:有导航模板、无导航模板
备注:URL参数设置为非js的一种约定,具体按照说明设置链接的URl字串就行。不需要额外的JS(包括YdbOnline.js)支持。
调用YDB相关方法前,一定要先初始化定义。以下为常见错误及解决方法:
DEMO页面:
http://app.tjztxk.com/API/JssdkDemo
示例代码:
http://app.tjztxk.com/API/JssdkDemo/JssdkDemo.rar
备注:链接中包含html、C#的示例代码供第三方参考。
邮箱地址:3348388407@qq.com
邮件主题:【YdbOnline反馈】
邮件内容说明:
用简明的语言描述问题所在,并讲清楚遇到该问题的场景,可附上截屏图片,我们团队会尽快处理你的反馈。