微信公众号开发-JS-SDK分享功能(java)

此篇文章是在做微信分享的时候查阅借鉴的相关的文章所做的总结,刚开始没有接触过,一脸懵逼,不知道从哪里下手,咨询了很多同学朋友,总算是有一点苗头,现在记录下来,方便自己以后查阅,以免忘记。

注意点:

1、分享的时候,前端一定要传他当前页面的url(location.href.split('#')[0]),并且必须是截取#之前的那一段给后台,否则签名不成功,会导致分享失败(当时入得坑,一直没发现,幸亏别人提醒);

2、可以使用微信开发工具进行测试,查看问题出在哪里(如何使用后续补上)

3、由于access_token和ticket是有有效期限制的,所以一般都需要保存起来,避免每次都请求新的access_token和ticket,这里我是放入到了redis缓存当中,设定有效时间。

微信分享的大致流程:

网页向java-web请求微信分享,然后通过公众号的appid和secret获取微信的access_token,然后通过access_token获取微信ticket,微信返回的ticket生成时间戳和nonceStr,加上当前的url和ticket进行签名生成signature,然后将 appid,timestamp,nonceStr,signature返回给前端页面,前端通过config接口注入权限验证配置即可(可以使用微信开发工具测试)

具体开发流程(配置和后台java部分):

如果是开发阶段,没有正式的公众号可以使用的话,可以申请一个测试公众号,进行开发测试相关的微信功能。测试公众号的链接:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

一、首先进入公众号,设置相关内容:

1、appID和appsecret是申请的时候就自动生成的;

2、接口配置信息设置里面,URL是域名所在的服务器接入微信服务器的接口地址,需要自己写一个接口;token的值可以自己定义,但是需要与上面接入微信服务器接口里面设定的token保持一致,否则调用微信里面的相关接口会不成功(相关代码在下面)

3、JS接口安全域名设置,这里的域名必须是你js所在的服务器的域名

具体配置示例如图:

微信公众号开发-JS-SDK分享功能(java)_第1张图片

微信公众号开发-JS-SDK分享功能(java)_第2张图片

二、相关java代码如下:

1.接入微信服务器的接口代码:

先导包:

微信公众号开发-JS-SDK分享功能(java)_第3张图片

controller里面的接口方法:

1.以下是工具类:

微信公众号开发-JS-SDK分享功能(java)_第4张图片

2.分享的java代码(最主要是提供前台所需要的appid,timestamp,nonceStr,signature):

微信公众号开发-JS-SDK分享功能(java)_第5张图片

微信公众号开发-JS-SDK分享功能(java)_第6张图片

微信公众号开发-JS-SDK分享功能(java)_第7张图片微信公众号开发-JS-SDK分享功能(java)_第8张图片

微信公众号开发-JS-SDK分享功能(java)_第9张图片

微信公众号开发-JS-SDK分享功能(java)_第10张图片

微信公众号开发-JS-SDK分享功能(java)_第11张图片

微信公众号开发-JS-SDK分享功能(java)_第12张图片

微信公众号开发-JS-SDK分享功能(java)_第13张图片

微信公众号开发-JS-SDK分享功能(java)_第14张图片

微信公众号开发-JS-SDK分享功能(java)_第15张图片

微信公众号开发-JS-SDK分享功能(java)_第16张图片

微信公众号开发-JS-SDK分享功能(java)_第17张图片

微信公众号开发-JS-SDK分享功能(java)_第18张图片

2.然后在serviceimpl里面直接调用:


微信公众号开发-JS-SDK分享功能(java)_第19张图片

3.controller里面调用具体的service方法

你可能感兴趣的:(微信公众号开发-JS-SDK分享功能(java))