视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
微信开发的分享接口相关内容
2020-11-27 15:03:34 责编:小采
文档

最近在做微信服务号开发,简单总结一下,便于自己学习积累和分享给大家:

环境介绍:

Spring+ Spring MVC +Mybatis

开发语言:

JAVA

微信公众平台的开发中,微信只公布了一个基于Http协议的接口和加解密的算法sdk,在开发的过程中可以自己根据需求来配置数据,调用相关接口,也可以引用比较成熟的基于java语言的微信公众号sdk。笔者引用的是目前比较流行的

weixin-java-tools

可以参考:点击打开链接

项目中引入了 weixin-java-mp-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: ['checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
 	 
 	}); 
 	
 	
 	wx.ready(function(){
 	 //	layer.msg("jssdk初始化成功");
 	 // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,
 	 //所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
 	
 	 <%-- 分型内容 分享给朋友、朋友圈、 --%> 
 	 var shareData = { 
 	 title: '${requestScope.atc.trainsubject}', 
 	 desc: '${description}', 
 	 // link: 'https://www.baidu.com', // 分享域名要和当前域名保持一致!!
 	 imgUrl: 'http://www.cyfd.cn/tektcrm/EventNoti/images/attendance.png', 
 	 success: function (res) { 
 	 // alert('已分享'); 
 	 }, 
 	 cancel: function (res) { 
 	 // alert('已取消'); 
 	 }, 
 	 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");

学习在于不断地探索、思考和总结记录,欢迎喜欢的朋友们在下方留言,与君共同进步!

本文讲解了微信开发的分享接口 相关内容,更多相关内容请关注Gxl网。

相关推荐:

前端工程师学习基础知识

关于JavaScript基础的相关讲解

关于面向对象设计的相关讲解

下载本文
显示全文
专题