赞
踩
调其他函数之前先调下这个函数,配置一下必要的信息。
<?php
$wx_js_config=new wx_js_config();
$signMap=$wx_js_config->getSignPackage();
$appid=$signMap['appid'];
$timestamp=$signMap["timestamp"];
$nonceStr=$signMap['nonceStr'];
$signature=$signMap['signature'];
?>
var appid = "<?php echo $appid?>";//appid
var timestamp ="<?php echo $timestamp?>";//时间戳
var nonceStr = "<?php echo $nonceStr?>";//随机串
var signature ="<?php echo $signature?>";//签名
wx.config({
debug : false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId : appid, // 必填,公众号的唯一标识
timestamp : timestamp, // 必填,生成签名的时间戳
nonceStr : nonceStr, // 必填,生成签名的随机串
signature : signature,// 必填,签名
jsApiList : [ "configWXDeviceWiFi","getLocation"]// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
获取用户定位信息,返回信息中有经纬度,可以根据经纬度去查百度地图api的接口,即可获取所在省份地市信息。
function positoin(){
wx.getLocation({
// timestamp: 0, // 位置签名时间戳,仅当需要兼容6.0.2版本之前时提供
// nonceStr: '', // 位置签名随机串,仅当需要兼容6.0.2版本之前时提供
// addrSign: '', // 位置签名,仅当需要兼容6.0.2版本之前时提供,详见附录4
type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
var speed = res.speed; // 速度,以米/每秒计
var accuracy = res.accuracy; // 位置精度
$.ajax({
type : "post",
data : {"location" : latitude+","+longitude},
url : "<?php echo base_url()?>wechat/province/requestGeocoder?openID=<?php echo $openID?>",
contentType : "application/x-www-form-urlencoded; charset=utf8",
dataType : "json",
success : function(data) {
if(data.status == 0){
var address = data.result.addressComponent;
if(address.province==address.city){//直辖市
$("#sun_city").html(address.province+"."+address.district);
}else{
$("#sun_city").html(address.province+"."+address.city);
}
changeProvince(address.province);
}else{
//alert("定位失败");
}
},
error : function(err) {
//alert("定位错误!");
}
});
},
cancel: function (res) {
//alert('用户拒绝授权获取地理位置');
},
fail: function (res) {
//alert("获取地理位置失败"+JSON.stringify(res));
}
});
}
基于AirKiss技术,配置设备连接wifi的密码。
configWXDeviceWiFi函数有点特殊,需要使用WeixinJSBridge.invoke来调用。
函数名configWXDeviceWiFi
描叙调起原生AirKiss界面,不需要先调用openWXDeviceLib
参数key(可选):base64 编码的AirKiss的密钥
返回值
configWXDeviceWiFi:ok //配置成功
configWXDeviceWiFi:fail //超时
configWXDeviceWiFi:cancel //用户取消
//返回res.desc,取值如下:
wifi_not_connected //当res.err_msg为config_wx_device_wifi:cancel时
//其它情况为空
WeixinJSBridge.invoke("configWXDeviceWiFi",{},function(res){
if(res.err_msg=="configWXDeviceWiFi:ok"){
setTimeout(new function(){
salert("WIFI密码配置成功",function (){
location.reload();
});
},500);//0.5秒钟后刷新界面
}
else if (res.err_msg=="configWXDeviceWiFi:cancel") {
//salert("取消配置");
}else {
salert("WIFI密码配置失败!");
}
});
硬件JSAPI目前还未向开发者测试账号开放,已认证的服务号开通了设备功能插件后可以发送邮件到
wxthings@foxmail.com 进行开通。
函数名configWXDeviceWiFi
描叙调起原生AirKiss界面,不需要先调用openWXDeviceLib
参数key(可选):base64 编码的AirKiss的密钥
返回值
configWXDeviceWiFi:ok //配置成功
configWXDeviceWiFi:fail //超时
configWXDeviceWiFi:cancel //用户取消
//返回res.desc,取值如下:
wifi_not_connected //当res.err_msg为config_wx_device_wifi:cancel时
//其它情况为空
调用微信硬件JSAPI需要先申请设备接入。
硬件JSAPI目前还未向开发者测试账号开放,已认证的服务号开通了设备功能插件后可以发送邮件到
wxthings@foxmail.com 进行开通。
1设备基本资料审核
只有收到承诺函以后微信才会进行基本资料审核,请确保提交资料时承诺函已经寄出。
若在基本资料提交后15个工作日内,微信团队未收到承诺函,将自动取消本次申请记录。
需要签署并邮寄承诺函
下载承诺函模板、填写并签署盖章,按照如下的收件地址寄送到微信。 下载承诺函
收件地址:广东省广州市海珠区新港中路397号TIT创意园腾讯自编四号楼 解路禄(收)
2申请测试设备授权号
产品未上市前可获得少量测试用授权设备号及二维码,用于调试和开发。
通过后将获得
100个微信互联设备二维码,设备可通过微信扫一扫绑定当前服务号
微信设备功能开发调试接口(AirSync, AirKiss目前需要发送邮件到 wxthings@foxmail.com 开通)
3微信互联设备技术认证
寄送产品样机到微信指定的第三方认证公司,进行微信互联设备认证测试,并获得证书。
接入设备在大量上市发售之前需要通过第三方的技术认证。 查看认证流程
需要准备
完整产品样机一台
4技术认证结果、产品交互体验审核
只有收到样机或产品交互体验视频以后,微信才会进行体验审核,请确保提交审核时样机或视频已经寄出。
收件地址:广东省广州市海珠区新港中路397号TIT创意园腾讯自编四号楼 解路禄(收)
需要准备
完整样机三台(大件设备可将产品交互体验视频发到 wxthings@foxmail.com 并注明公众号名称、原始ID)
WeChat AirSync认证序列号(仅蓝牙设备)
设备入网许可证号(仅移动网络设备)
通过后将获得
微信互联设备二维码配额
微信互联设备徽标使用权
产品正式收录入微信互联设备信息数据库
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。