赞
踩
说明:本文旨在整理本人在微信公众号开发过程中的一些问题,如有问题请指出
微信公众号官方文档链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
楼主这里引入的是com.github.binarywang的依赖包,该包的JsapiTicket和AccessToken(基础token)都是自行管理的,用户只需要调用
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>(不同模块参考下文)</artifactId>
<version>3.4.0</version>
</dependency>
链接地址如下:
各模块的artifactId,如下查看
楼主这里直接使用的Demo进行开发,Demo地址如下:
https://gitee.com/binary/weixin-java-tools/blob/master/demo.md
我这里项目用的是SpringBoot,所以我直接拷贝了一份Sring Boot 的Demo,这个Demo里面自行封装了很多事件以及鉴权的操作,比如关注/取消关注事件等,各自根据自己的实际情况来使用各个事件和接口,如果只拿openId的话可以直接使用OAuth2.0网页授权去拿就可以,就不用启用开发者模式了(你如果把demo拷贝过来了,这时候启用开发者模式的话,微信平台系统会自动对接开发者模式,就不能自定义菜单了)地址如下
因为现在公众号权限调整,只有授权认证过后的微信公众号才有权限,所以这里采用微信测试账号进行本地测试以及服务器测试,申请地址为:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
扫码申请后,系统为你提供一个测试使用的appId以及appSecret,注意要使用JSSDK的话需要配置安全域名(注意:这里是指的配置安全域名,注意域名的含义,是不带http以及https的),如下图所示
如果使用OAuth2.0授权也要配置一个授权回调域名,如下图所示
如下图所示,参考Demo文档按步骤配置,配置完后就是各自的业务逻辑实现了,我是把Demo拷贝到自己的项目中使用的
楼主在调试JSSDK的时候使用到了该工具,对接微信JSSDK有些信息在本地或者在手机端调试总有些不便之处,所以下载了该工具
该工具的下载地址为:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140
上面粗略的说明了下微信开发的步骤,可以依据各自情况斟酌使用,接下来说下项目中的踩坑过程
本地使用的是http环境,调试没出现问题,但是上了服务器,服务器使用的是https,所以在引用微信的JSSDK开发的http地址:http://res.wx.qq.com/open/js/jweixin-1.4.0.js 会出现问题,最纠结的是本机调试没问题,上了服务器,在手机上访问的时候就出错了,但不知道错误在哪,只知道invalid signature签名错误,所以楼主下载了微信Web开发工具,用工具调试的时候才知道是引用问题
参考链接:https://segmentfault.com/q/1010000005872734
楼主使用的第一种方法可以解决楼主的问题
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
可以参考官方文档拿当前访问页的地址去验签
我验签地址:https://www.xxxxx.cn/mactivity.html
而我的访问地址是:https://www.xxxxx.cn/mactivity.html?openId=xxx
所以一直报错,所以根据自己实际业务保证验签地址跟访问地址保持一致
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。