小编这次要给大家分享的是详解如何开发微信公众号网页分享功能,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
创新互联建站专注于茶陵网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供茶陵营销型网站建设,茶陵网站制作、茶陵网页设计、茶陵网站官网定制、重庆小程序开发服务,打造茶陵网络公司原创品牌,更为您提供茶陵网站排名全网营销落地服务。现在每天都可以看到很多微信分享的链接上面有网站或者商家的自定义的分享标题,和分享链接的描述及分享出去的图像,例如下面的分享出去的链接:
上面这个是微信的js-SDK页面分享给微信好友在聊天列表中显示的视觉效果。
微信JS-SDK Demo :这个是微信网页分享出去的标题。
微信JS-SDK,帮助第三方为用户提供更优质的移动web服务:这个是被分享的这个页面的分享描述。
微信图标:这个就是自己网站或者自己自定义的图像。
上面这个是微信官方网页分享出去的定义描述,那么怎样实现自己网站网页的自定义分享的标题,描述及分享出去的显示图片呢,下面就具体的来探讨一下微信网页第三方分享自定的实现方式。
关于微信网页分享自定义主要有两方面的工作需要我们来做,一是:分享页面的js分享代码的编写,二是:微信分享网页的链接地址签名。
首先来看一下网页的连接地址签名,这个功能主要是在服务端来时实现。
第一步:基础数据的准备,需要如下数据信息:
APPID:微信公众号的id; APP_SECRECT:公众号号的密钥。签名的网站域名(这个建议配置在配置文件中)。
第二步:微信签名数据的准备:
appid,secret,url将这三个参数放入map中, 键值为:appid=微信公众号的id,secret=APP_SECRECT,url=网站的域名+网页的请求地址+请求的参数。
代码的实现方式如下:
1. controller层的代码实现:
@RequestMapping("cover") public String identifyCover(HttpServletRequest request, HttpServletResponse response) //微信分享授权开始 String appId = ;//取项目中配置的公众号id String secret = ;//取项目中配置的公众号密钥 //例如我们有一个分享的链接为:http://test.weixinfwenx.cn/project/fenxiang.do?id=1&name=2; //那么domainAddr = http://test.weixinfwenx.cn,这个可以动态的配置在项目里,方便测试环境和生产 //域名的切换 String domainAddr = "";//项目中配置的网站的域名 //这个取的是链接上的参数,例如在上面的这个链接中,id=1&name=2就是我们要动态去的参数,可能有人 //会想到,这个两个参数直接写在地址中不是挺简单的为啥还要动态去获取这个参数呢;在这里我们引出了一 //个微信二次分享的问题,就是别人转发的链接给你,然后你再转发给别人,在你转发给别人后这个链接的签 //名就会失败,为啥呢,因为经过再次转发的链接,微信会自动加上一些自己的参数,这样会导致页面上微信 //分享的链接和签名的链接不一致。直接导致自定义的标题和链接描述,显示失败,失败原因是微信默认的在 //我们的分享链接上加上了&from=singlemessage。 String str = request.getQueryString(); Mapmap = new HashMap (); map.put("appid", appId); map.put("secret", secret); String url = domainAddr + "/project/fenxiang.do?"+str; map.put("url", url); //这个地址是传给页面使用 request.setAttribute("fenxurl", url); //开始微信分享链接签名 Map params = weixinService.weixinjsIntefaceSign(map); request.setAttribute("params", params); return "自己的页面";