蓝信JS-SDK是蓝信开放平台面向网页开发者提供的基于蓝信内的网页开发工具包。通过使用蓝信JS-SDK,网页开发者可借助蓝信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用群组共享、投票、通知、活动等蓝信特有的能力,为蓝信用户提供更优质的网页体验。
先登陆蓝信开放平台进入“公号管理”里填写“JS验证域名”。
所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的webapp可在每次url变化时进行调用)。
2.fail:接口调用失败时执行的回调函数。
3.complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。
4.cancel:用户点击取消时的回调函数,仅部分有用户取消操作的api才会用到。
1.调用成功时:"xxx:ok",其中xxx为调用的接口名
2.用户取消时:"xxx:cancel",其中xxx为调用的接口名
3.调用失败时:其值为具体错误信息
lx.uploadImage({localId:'',//需要上传的图片的本地ID,由chooseImage接口获得isShowProgressTips:1,//默认为1,显示进度提示success:function(res){varserverId=res.serverId;//返回图片的服务器端ID}});接口说明:
lx.downloadImage({serverId:'',//需要下载的图片的服务器端ID,由uploadImage接口获得isShowProgressTips:1,//默认为1,显示进度提示success:function(res){varlocalId=res.localId;//返回图片下载后的本地ID}});接口说明:
lx.startRecord();接口说明:
lx.stopRecord({success:function(res){varlocalId=res.localId;}});接口说明:
lx.playVoice({localId:''//需要播放的音频的本地ID,由stopRecord接口获得});接口说明:
lx.pauseVoice({localId:''//需要暂停的音频的本地ID,由stopRecord接口获得});接口说明:
lx.stopVoice({localId:''//需要停止的音频的本地ID,由stopRecord接口获得});接口说明:
lx.onVoicePlayEnd({success:function(res){varlocalId=res.localId;//返回音频的本地ID}});接口说明:
lx.uploadVoice({localId:'',//需要上传的音频的本地ID,由stopRecord接口获得isShowProgressTips:1,//默认为1,显示进度提示success:function(res){varserverId=res.serverId;//返回音频的服务器端ID}});接口说明:备注:此处获得的serverId即media_id。
lx.downloadVoice({serverId:'',//需要下载的音频的服务器端ID,由uploadVoice接口获得isShowProgressTips:1,//默认为1,显示进度提示success:function(res){varlocalId=res.localId;//返回音频的本地ID}});接口说明:
lx.openLocation({latitude:0,//纬度,浮点数,范围为90~-90longitude:0,//经度,浮点数,范围为180~-180。name:'',//位置名address:'',//地址详情说明scale:1,//地图缩放级别,整形值,范围从1~28。默认为最大infoUrl:''//在查看位置界面底部显示的超链接,可点击跳转});接口说明:
lx.getLocation({type:'wgs84',//默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'success:function(res){varlatitude=res.latitude;//纬度,浮点数,范围为90~-90varlongitude=res.longitude;//经度,浮点数,范围为180~-180。varspeed=res.speed;//速度,以米/每秒计varaccuracy=res.accuracy;//位置精度}});接口说明:
lx.hideOptionMenu();接口说明:
lx.showOptionMenu();接口说明:
lx.closeWindow();接口说明:
lx.hideMenuItems({menuList:[]//要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录2});接口说明:
lx.showMenuItems({menuList:[]//要显示的菜单项,所有menu项见附录2});接口说明:
lx.hideAllNonBaseMenuItem();//“基本类”按钮详见附录2接口说明:
lx.showAllNonBaseMenuItem();接口说明:
lx.scanQRCode({needResult:0,//默认为0,扫描结果由蓝信处理,1则直接返回扫描结果,scanType:["qrCode","barCode"],//可以指定扫二维码还是一维码,默认二者都有success:function(res){varresult=res.resultStr;//当needResult为1时,扫码返回的结果}});接口说明:
lx.chooseFile({success:function(res){varlocalId=res.localId;//返回选定文件的本地ID}});接口说明:首先弹出选择本地资源库的界面,用户可以从图库、文件管理、录音机、音乐、Office等目录中选择文件。之后用户从所选资源库中选择文件,并返回文件本地ID。
lx.uploadFile({localId:'',//需要上传的文件的本地ID,由chooseFile接口获得isShowProgressTips:1//默认为1,显示进度提示success:function(res){varserverId=res.serverId;//返回文件的服务器端ID}});接口说明:上传之前,需先调用chooseFile接口选择文件。只支持单文件上传,即上传最新选择的文件。上传过程中默认提示上传进度。
lx.downloadFile({serverId:'',//需要下载的文件的服务器端ID,由uploadFile接口获得isShowProgressTips:1//默认为1,显示进度提示success:function(res){varlocalId=res.localId;//返回文件下载后的本地ID}});接口说明:下载之前,需先调用uploadFile接口上传文件。只支持单文件下载,即下载最新上传的文件。下载过程中默认提示上传进度。
lx.chooseReceiver({maxCount:5,//最大选人数pickBuddyFlag:0x01,//0x01:常用联系人;0x02:组织通讯录success:function(res){//res为选好的人员信息列表}});res格式[{type:0/1//0:成员,1分支userUniId:'',//用户统一id或分支idphotoResId:‘’//用户头像name:‘’//用户名称或分支名称},companyId:''//分支Id(组织ID)...]接口说明:注意:(当返回的数据中某个字段的值为null时,该key-value在报文中不显示)11蓝信使11.1注册菜单lx.registerMenu({menuItem:'send',//自定义按钮IDstyle:'icon/text'//样式是图标或文本,目前仅支持转发图标,内置在客户端中menuName:'发送/transfer',//自定义按钮名称,转发时固定值为transfersuccess:function(){//自定义菜单点击时执行的函数体,菜单事件}});接口说明:该接口为用户提供了自定义右上角菜单项的功能,通过该接口注册菜单之后,jssdk会通知客户端去创建相应的菜单,同时为菜单绑定事件。当点击菜单时触发菜单事件。
LanxinJSBridge._handleMenuFromNative({menuItem:'send',menuName:'发送',status:'success'})11.2发送按钮注册参考11.1菜单注册,通过lx.registerMenu注册发送事件,并在回调函数的方法体内实现发送的代码即可。
lx.registerMenu({menuItem:'send',//IDstyle:'text',menuName:'发送',//名称success:function(){//发送代码}});11.3转发按钮注册参考11.1菜单注册,通过lx.registerMenu注册发送事件,并在回调函数的方法体内实现发送的代码即可。
lx.registerMenu({menuItem:'send',//IDstyle:'icon',//menuName:'transfer',//success:function(){//转发代码}});11.4转发事件接口参考11.1菜单注册,通过lx.transferMess注册发送事件,并在回调函数的方法体内实现发送的代码即可。
type取值:1,url:蓝信使。2,notify:蓝通知
lx.showBlueCard({mobile:13612345678,//手机号userUniId:'83124@34.uni1'//ueruniidsuccess:function(){//回调}});接口说明:客户端收到请求后根据mobile或者userUniId展示蓝名片
lx.openChat({dialogId:'83124@34.uni1'//success:function(){//打开会话}});接口说明:客户端收到请求后根据dialogId打开会话
lx.registerAction({actionItem:'send',//自定义事件IDactionName:'发送/transfer',//自定义按钮名称,转发时固定值为transfersuccess:function(){//自定义事件}});接口说明:该接口为用户提供了自定义事件功能,通过该接口注册事件之后,jssdk会通知客户端。客户端会去触发该事件。
LanxinJSBridge._dispatchMessageFromNative(JSON.stringify({handlerName:'send',//必填,识别码data:'',//可选,方法有参数时需传callbackId:'xxxxx',//可选,有回调时填上此参数}));14获取设备信息14.1获取wifi设备信息lx.wifiDeviceInfo({success:function(res){alert('ssid:'+res.ssid+"bssid:"+res.bssid+"essid:"+res.essid);},fail:function(res){alert('获取wifi设备信息失败');}});接口说明:该接口为用户提供了获取wifi设备信息的功能。
lx.bluetoothDeviceInfo({success:function(res){alert('mac:'+res.mac+"name:"+res.name);},fail:function(res){alert('获取蓝牙设备信息失败');}});