wx公众号页面 调用微信sdk(wx.openLocation) 导航

ws jssdk 文档
导入微信sdk

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

sdk验证
签名签名文档

// https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

const appid = 'xxxxx'
const AppSecret = ''

let nonceStr,
    signature,
    timestamp;
// 生成签名的接口 生成签名
// 验证获取 nonceStr signature timestamp 参考文档 
loadAjax({
    url:"getWxSdkSign",
    params:{
        Url:window.location.href
    } 
}).then(res=>{
    var obj = res.data.data
    nonceStr = obj.nonceStr
    signature = obj.signature
    timestamp = obj.timestamp

    configVerify()
}).catch(err=>{
    console.log("err:",err)
    // alert(JSON.stringify(err))
})





function configVerify(){
    wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: appid, // 必填,公众号的唯一标识
        timestamp: timestamp, // 必填,生成签名的时间戳
        nonceStr: nonceStr, // 必填,生成签名的随机串
        signature: signature,// 必填,签名
        jsApiList: ['openLocation'] // 必填,需要使用的JS接口列表
    });
    wx.ready(function(){
        console.log("ready")

        // alert('openLocation')
        // wx.openLocation({
        //     latitude: 22.545538, // 纬度,浮点数,范围为90 ~ -90
        //     longitude: 114.054565, // 经度,浮点数,范围为180 ~ -180。
        //     name: '象山影视城', // 位置名
        //     address: '位置名的详情说明', // 地址详情说明
        //     scale: 10, // 地图缩放级别,整形值,范围从1~28。默认为最大
        // })

        // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
    });
    
    wx.error(function(res){
        console.log("error",res)
        // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
    });


    
}




你可能感兴趣的:(JavaScript,微信小程序)