>  기사  >  웹 프론트엔드  >  WeChat에서 개발한 공유 인터페이스 관련 콘텐츠

WeChat에서 개발한 공유 인터페이스 관련 콘텐츠

jacklove
jacklove원래의
2018-06-20 16:20:292402검색

현재 WeChat 서비스 계정을 개발 중입니다. 나만의 학습과 공유를 용이하게 하기 위해 간략하게 요약하겠습니다.

환경 소개:

Spring+ Spring MVC +Mybatis

개발 언어:

JAVA

Micro Trust the public 플랫폼 개발 과정에서 WeChat 은 Http 프로토콜과 암호화 및 복호화 알고리즘 SDK를 기반으로 한 인터페이스만 발표했습니다. 개발 과정에서 필요에 따라 데이터를 구성하고 관련 인터페이스를 호출할 수 있습니다. 또는 더 성숙한 java 언어를 사용하세요. 저자는 현재 인기 있는

weixin-java-tools

을 인용합니다. 링크를 열려면 클릭하세요.

소개되었다 프로젝트에서 -2.9.0.jar 및 weixin-java-common-2.9.0.jar은 관련 기능 인터페이스를 직접 호출하고 jssdk 인증을 완료할 수 있습니다

공유 인터페이스:

1. 백엔드 준비: 个 个 个 准 准 准: WexinjssdkController, AJAX 인터뷰를 통한 JSSDK 인증 완료:

@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;
		}
	}
	  
}

2. JS 구성 관련 인터페이스의 페이지 초기화:

   <%--通过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");
학습은 끊임없는 탐색에 있습니다. , 생각하고 기록 정리. 마음에 드는 친구들은 아래에 메시지를 남겨 함께 진행해 보세요!

이 기사에서는 WeChat에서 개발한 공유 인터페이스의 관련 내용을 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요.


관련 추천: 프론트엔드 엔지니어가 기본을 배웁니다

JavaScript의 기본 관련 설명 객체 지향 설계 관련 설명에 대하여

위 내용은 WeChat에서 개발한 공유 인터페이스 관련 콘텐츠의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.