Sharing interface developed by WeChat Related content

jacklove
Release: 2018-06-20 16:20:29
Original
2378 people have browsed it

I have been working on WeChat service account development recently. I will briefly summarize it to facilitate my own learning, accumulation and sharing with everyone:

Environment introduction:

Spring Spring MVC Mybatis

Development language:

JAVA

In the development of WeChat public platform, WeChat only announced an interface and encryption and decryption based on the HTTP protocol Algorithm SDK, during the development process, you can configure data according to your needs, call relevant interfaces, or refer to the more mature WeChat public account SDK based on java language. The author quotes the currently popular

## weixin-java-tools

You can refer to: Click to open the link

weixin-java-mp-2.9.0.jar was introduced in the project and weixin-java-common-2.9.0.jar can directly call relevant functional interfaces and complete jssdk certification

## Sharing interface:

##        1. Backstage preparation:

                      Build a public control class: WeXinJsSdkController, complete jssdk authentication through ajax access:

@Controller
@RequestMapping("jssdk")
public class WeXinJsSdkController {
	
	@Autowired
	private WxMpService wxMpService;
	
	@RequestMapping(value = "/config", method = RequestMethod.GET)
	@ResponseBody
	public WxJsapiSignature wxJsSdkConfig(HttpServletRequest request,String url) {
		try {  // 直接调用wxMpServer 接口 
			WxJsapiSignature wxJsapiSignature = wxMpService.createJsapiSignature(url);
			return wxJsapiSignature;
		} catch (WxErrorException e) {
			return null;
		}
	}
	  
}
Copy after login
   

2. Page initialization js configuration related Interface:


   <%--通过config接口注入权限验证配置--%> 
        /* 初始化jssdk  分享功能  */
 	$.get("${basePath}/jssdk/config.do",{url:window.location.href},function(data,status){
 		if(status == "success"){
 			wx.config({
 			    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
 			    appId: data.appId, // 必填,公众号的唯一标识
 			    timestamp: data.timestamp, // 必填,生成签名的时间戳
 			    nonceStr: data.nonceStr, // 必填,生成签名的随机串
 			    signature: data.signature,// 必填,签名,见附录1
 			    jsApiList: [&#39;checkJsApi&#39;, &#39;onMenuShareTimeline&#39;, &#39;onMenuShareAppMessage&#39;, &#39;onMenuShareQQ&#39;] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
 			 
 			});  
 		
 			
 			wx.ready(function(){
 			  //	layer.msg("jssdk初始化成功");
 			    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,
 			    //所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
 			
 			      <%-- 分型内容  分享给朋友、朋友圈、 --%> 
 		            var shareData = {  
 		                title: &#39;${requestScope.atc.trainsubject}&#39;,  
 		                desc: &#39;${description}&#39;,  
 		            //  link: &#39;https://www.baidu.com&#39;,  // 分享域名要和当前域名保持一致!!
 		                imgUrl: &#39;http://www.cyfd.cn/tektcrm/EventNoti/images/attendance.png&#39;,  
 		                success: function (res) {  
 		                   // alert(&#39;已分享&#39;);  
 		                },  
 		                cancel: function (res) {  
 		                   // alert(&#39;已取消&#39;);  
 		                },  
 		                fail: function (res) {  
 		                   // alert(JSON.stringify(res));  
 		                }  
 		            };  
 		            
 		                <%--分享给朋友接口--%>  
 		            wx.onMenuShareAppMessage(shareData);  
 		               <%--分享到朋友圈接口--%>  
 		            wx.onMenuShareTimeline(shareData);  
 		               <%--分享到QQ朋友接口--%>  
 		            wx.onMenuShareQQ(shareData);  
 			
 			});
 			wx.error(function(res){
 			    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,
 			    //也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
 			//	layer.msg(res);
 			});
 			
 		}
 		},"json");
Copy after login
Learning lies in constant exploration, thinking and summarizing records. Friends who like it are welcome to leave a message below and make progress together with you!


This article explains the relevant content of the sharing interface developed by WeChat. For more related content, please pay attention to the php Chinese website.

related suggestion:Learn basic knowledge for front-end engineers


##About JavaScript Basic related explanations

Related explanations about object-oriented design

The above is the detailed content of Sharing interface developed by WeChat Related content. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!