当前位置:   article > 正文

微信JSAPI几个函数介绍_wx.jsapilist 如何写自定义函数

wx.jsapilist 如何写自定义函数

wx.config

调其他函数之前先调下这个函数,配置一下必要的信息。

<?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
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

wx.getLocation

获取用户定位信息,返回信息中有经纬度,可以根据经纬度去查百度地图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));
        }
    });
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

configWXDeviceWiFi

基于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时
//其它情况为空
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
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密码配置失败!");
    }
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

硬件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认证序列号(仅蓝牙设备)
设备入网许可证号(仅移动网络设备)
通过后将获得
微信互联设备二维码配额
微信互联设备徽标使用权
产品正式收录入微信互联设备信息数据库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/321162
推荐阅读
相关标签
  

闽ICP备14008679号