这段时间有个工作,是要在移动端给地图上加上导航功能,找了一圈,最后决定使用微信JSSDK的‘打开地理位置接口’来开发,也是着实踩了下坑啊,分享一下

微信JSSDK介绍

因为微信公众号的开通对于大部分开发人员来说还是一个稍高的门槛,所以,微信搞了一个微信测试号,开发人员使用微信扫一下就可以获取。测试号貌似是全接口调用的哦!不用担心没有权限调用。

开发配置

所有配置参考下图配置即可

在配置时,需要注意几点

  • 接口配置信息中,要配合系统后台,我的系统是thinkPHP5,下面是我的代码
// 下面代码放在controller中,token是你的访问入口public function token(){ $echoStr = $_GET["echostr"]; if ($this->checkSignature()){ echo $echoStr; exit; }}/** * 用于验证是否是微信服务器发来的消息 * @return bool */private function checkSignature(){ $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = 'whongbin'; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if ($tmpStr == $signature){ return true; }else { return false; }}
  • 配置JS接口安全域名时,注意是 域名 不需要填写http/https,如果填写的话,在代码执行wx.config()时,会报 config:fail,Error: invalid url domain 错误

微信JSSDK使用

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js jssdk的签名权限,这个权限是由后台提供的,前端只需要把签名权限注入到wx.config中就可以了,这里也提供下jssdk的下载地址http://demo.open.weixin.qq.com/jssdk/sample.zip,SDK中有demo,有不懂的可以联系我或者下方留言,我会第一时间回复

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

这里需要注意的地方debug在上线后要改为false,jsApiList里要填你要使用的接口,不然没有作用

给导航按钮注册点击事件,调用wx.openLocation方法,注意:因为这块是需要用户触发的,所以不必放在wx.ready()方法中,若需要页面加载时就执行的话,如分享接口,就必须放在wx.ready()方法中执行

$('.btn2').click(function () { wx.openLocation({ latitude: 22.545538, // 纬度,浮点数,范围为90 ~ -90。如果是动态获取的数据,使用parseFloat()处理数据 longitude: 114.054565, // 经度,浮点数,范围为180 ~ -180。如果是动态获取的数据,使用parseFloat()处理数据; name: '这里填写位置名', // 位置名 address: '位置名的详情说明', // 地址详情说明 scale: 10, // 地图缩放级别,整形值,范围从1~28。默认为最大 });})

c# sha1签名 微信_微信公众号开发——微信JSSDK使用(踩坑)相关推荐

  1. 微信公众号开发--微信JS-SDK分享到朋友圈和分享给朋友

    之前写过一篇使用微信JS-SDK来实现扫一扫功能的博客 微信公众号开发–微信JS-SDK扫一扫功能 在该博客里介绍了微信JS-SDK的基本用法,其中包括以下几个步骤 还详细介绍了通过config接口注 ...

  2. 视频教程-SpringBoot微信公众号开发-微信开发

    SpringBoot微信公众号开发 就职于国内知名在线互联网旅游公司,10+互联网开发经验,精通前后端开发 刘志强 ¥149.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免 ...

  3. 视频教程-微信公众号开发-微信开发

    微信公众号开发 云知梦创始人,国际架构师,11年互联网培训和开发经验,曾在港电讯盈科.北大青鸟集团.远大教育.北京易第优教育等公司任职曾获得美国红帽RHCA构架师和RHCDS数据中心讲师,在国内排名第 ...

  4. 微信小程序公众号开发

    微信小程序&公众号开发 一.什么是微信开发 二.微信开放平台 三.微信公众平台 四.小程序与公众号的区别 1. 用途不同 2. 运营方式不同 3. 操作方法不同 4. 用户体验不同(公众号操作 ...

  5. 微信公众号开发---微信开发学习路线(及供参考)

    目录(?)[-] 1.       热门学习 1.        微信支付之H5页面WAP端接入 2.        微信支付开发系统开发流程及完整Demo展示 3.        微信公共服务平台开 ...

  6. Java微信公众号开发微信网页授权之前端传递code方式获取用户信息

    本片博客讲解的网页授权分为两步,前端先传递backUrl(回调地址)到后台网页授权接口,该接口拿到回调地址后组装授权连接,重定向到前端页面,前端页面截取Code,传入后端获取用户信息方法,获取用户信息 ...

  7. 微信公众号开发——微信获取、操作公众号文章

    微信获取,操作公众号文章 项目地址:https://gitee.com/wrzhxy/wx_article 我以为微信支付和微信企业付款文档就够坑爹了,直到我遇到了微信获取公众号文章... 微信获取公 ...

  8. jssdk信息验证失败_微信公众号开发——微信JSSDK使用

    微信JSSDK介绍 官方文档地址: 概述 | 微信开放文档​links.jianshu.com 因为微信公众号的开通对于大部分开发人员来说还是一个稍高的门槛,所以,微信搞了一个微信测试号,开发人员使用 ...

  9. koa2微信公众号开发及JS-SDK的使用

    微信公众号项目介绍 当前只对实现思路进行说明,不作基础介绍!详细信息查看微信官方文档及git地址! 实现功能 新关注自动回复: 被动回复: 推送消息: 自定义菜单: js-sdk使用: 网页授权获取用 ...

最新文章

  1. python怎么装饰_如何理解python装饰器
  2. k8s/01开启云原生之门(Mooc)
  3. 《Linux内核设计与实现》读书笔记(二十)- 补丁, 开发和社区
  4. php 计划任务 不执行,CentOS 系统下 Laravel 计划任务 PHP artisan schedule:run 不执行,应该如何处理?...
  5. js复制json对象
  6. python中socket.gaierr errno1104_“socket.gaierror:[Errno 11004]getaddrinfo失败”
  7. fpgrowth算法实战 mlib_Spark MLlib FPGrowth关联规则算法
  8. Leo2DNT(雷傲论坛转DiscuzNT)1.0转换程序发布
  9. 前端学习(一):HTML基本语法
  10. 史上最全微信域名防封API原理及实现方案
  11. Mysql 备份的三种方式
  12. Xorg屏幕旋转实现方式
  13. Windows 8 的程序兼容性助手方案详述
  14. 纯css实现tooltip文字浮框
  15. 绕过content-type检测文件类型上传webshell
  16. 实现自定义小圆圈加载
  17. python初步学习(二) 3.19
  18. 7za: not found 或 7zr: not found
  19. java 当年的的第一个月_Java获取当前日期前一周、前一个月、当年的时间、两个日期间的间隔...
  20. c#日期格式操作(贴吧转)

热门文章

  1. 将 vCenter Server vSphere 软件从 VMware vSphere 6.5 升级到 6.7
  2. Kubernetes学习总结(17)—— Kubernetes 快速入门需要掌握的知识点总结
  3. PostgreSQL学习总结(6)—— PostgreSQL 模式(SCHEMA)详解
  4. Docker学习总结(34)——新手使用Docker的11条准则
  5. Spring Cloud与微服务学习总结(3)——认证鉴权与API权限控制在微服务架构中的设计与实现(一)
  6. include引用php,php使用include 和require引入文件的区别
  7. java singleton inner class_Java面向对象设计模式-单例模式
  8. HardSoft-Viewer PHP_index.php
  9. Oracle数据库中文乱码问题
  10. WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式