微信公众号开发

微信公众号开发

说明:本文旨在整理本人在微信公众号开发过程中的一些问题,如有问题请指出
微信公众号官方文档链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432


一. 引入了第三方jar包

楼主这里引入的是com.github.binarywang的依赖包,该包的JsapiTicket和AccessToken(基础token)都是自行管理的,用户只需要调用

   <dependency>
    	<groupId>com.github.binarywang</groupId>
   	<artifactId>(不同模块参考下文)</artifactId>
    	<version>3.4.0</version>
   </dependency>

链接地址如下:

各模块的artifactId,如下查看

  • 微信小程序:weixin-java-miniapp
  • 微信支付:weixin-java-pay
  • 微信开放平台:weixin-java-open
  • 公众号(包括订阅号和服务号):weixin-java-mp
  • 企业号/企业微信:weixin-java-cp

二. 下载Demo自行解析使用

楼主这里直接使用的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文档按步骤配置,配置完后就是各自的业务逻辑实现了,我是把Demo拷贝到自己的项目中使用的

在这里插入图片描述

五. 下载微信Web开发工具(若有需要调试可下载使用)

楼主在调试JSSDK的时候使用到了该工具,对接微信JSSDK有些信息在本地或者在手机端调试总有些不便之处,所以下载了该工具
该工具的下载地址为:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140

在这里插入图片描述

填坑(列举部分踩坑过程)

上面粗略的说明了下微信开发的步骤,可以依据各自情况斟酌使用,接下来说下项目中的踩坑过程

踩坑一:HTTPS引入HTTP资源问题

本地使用的是http环境,调试没出现问题,但是上了服务器,服务器使用的是https,所以在引用微信的JSSDK开发的http地址:http://res.wx.qq.com/open/js/jweixin-1.4.0.js 会出现问题,最纠结的是本机调试没问题,上了服务器,在手机上访问的时候就出错了,但不知道错误在哪,只知道invalid signature签名错误,所以楼主下载了微信Web开发工具,用工具调试的时候才知道是引用问题

在这里插入图片描述

  • 解决方法:

参考链接:https://segmentfault.com/q/1010000005872734
楼主使用的第一种方法可以解决楼主的问题

  1. 相对协议
    对于同时支持HTTPS和HTTP的资源,引用的时候要把引用资源的URL里的协议头去掉,浏览器会自动根据当前是HTTPS还是HTTP来给资源URL补上协议头的,可以达到无缝切换。
    即引入去除协议头的链接:
    <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
    
  2. iframe方式
    使用iframe的方式引入HTTP资源,然后将这个页面嵌入到HTTPS页面里就可以了
  3. 升级请求为https
    可以在相应的页面的里加上这句代码,意思是自动将http的不安全请求升级为https
    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    
踩坑二:JSSDK验签地址务必跟访问的地址保持一致

可以参考官方文档拿当前访问页的地址去验签
我验签地址:https://www.xxxxx.cn/mactivity.html
而我的访问地址是:https://www.xxxxx.cn/mactivity.html?openId=xxx
所以一直报错,所以根据自己实际业务保证验签地址跟访问地址保持一致

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信公众号开发源码Java是用Java语言编写的用于开发微信公众号的源代码。微信公众号开发是指通过开发者账号申请成为微信公众号开发者,利用微信提供的开发接口和SDK来开发和管理公众号。 Java作为一种广泛应用于企业级开发的编程语言,在微信公众号开发中也得到了广泛应用。通过使用Java开发微信公众号,可以实现公众号的业务逻辑,包括用户管理、消息推送、菜单设置、素材管理等功能,以及与其他系统的对接、数据的处理和存储等。 对于开发微信公众号的源码来说,Java源码通常包括了处理微信服务器与开发者服务器之间的消息通信和交互的代码,以及各类功能模块的实现代码。开发者可以根据自己的需求和业务逻辑,使用Java语言编写各种业务逻辑代码,并通过开发工具集成微信提供的SDK库来实现与微信服务器之间的交互。 在Java源码的基础上,开发者还可以根据需要进行定制和扩展,以满足更具体的业务需求。可以添加自定义的功能模块或者对现有功能进行修改和优化,以适应不同的应用场景和业务要求。 总之,微信公众号开发源码Java是用于开发微信公众号的源代码,通过使用Java语言和相应的开发工具,开发者可以自定义和实现具体的业务功能,满足不同用户的需求,并与微信服务器进行消息交互,为用户提供更好的微信公众号服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值