微信开发(三)微信分享朋友朋友圈
来源:互联网 发布:人工智能视频百度云 编辑:程序博客网 时间:2024/04/29 03:12
这里基于微信的都是需要用到
- 参考以下文档获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token):../15/54ce45d8d30b6bf6758f68d2e95bc627.html
点击打开链接
1服务器绑定域名,
2.引入js( https://res.wx.qq.com/open/js/jweixin-1.0.0.js)
3.通过config接口注入权限验证配置
(注意这里签名返回值放在前台ajax是因为二次分享的时候url会改变所以这样不然直接把签名的值放在request值里面会导致二次分享失败)
function getConfigData(){var url =window.location.href;url = encodeURIComponent(url);var data ="url="+url;$.ajax({type:'post',url:'后台验签url',data:data,asyc:true,success:function(data){if(data){wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: data.appId, // 必填,公众号的唯一标识 timestamp:data.timestamp, // 必填,生成签名的时间戳 nonceStr: data.nonceStr, // 必填,生成签名的随机串 signature: data.signature,// 必填,签名,见附录1 jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2});}wxReady();},error:function(){alert("系统繁忙请稍后再试");}})}wx.ready(function(){wx.onMenuShareTimeline({ title: share_title, // 分享标题 link:share_url, // 分享链接 imgUrl: act_image_url, // 分享图标 success: function () { }, cancel: function () { // 用户取消分享后执行的回调函数 }});wx.onMenuShareAppMessage({ title: share_title, // 分享标题 desc: act_message, // 分享描述 link: share_url, // 分享链接 imgUrl: act_image_url, // 分享图标 type: 'link', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 success: function () { }, cancel: function () { // 用户取消分享后执行的回调函数 }});});后台代码
生成签名
@RequestMapping(value="/getConfigData",method = RequestMethod.POST)@ResponseBodypublic Map<String,String> getConfigData(HttpServletRequest request){String id =request.getParameter("id");String url = request.getParameter("url");String path = request.getContextPath(); String basePath ="xiangm"String shareUrl =basePath+"/act/toActView/"+id+".html";Map<String,String> map =Snippet.sign(url);map.put("shareUrl", shareUrl);map.put("appId",Snippet.getAppid());return map;}
public static Map<String, String> sign(String url) { Map<String, String> ret = new HashMap<String, String>(); String nonce_str = create_nonce_str(); String timestamp = create_timestamp(); String jsapi_ticket="";try {jsapi_ticket = getJsapiTicket();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} String string1; String signature = ""; //注意这里参数名必须全部小写,且必须有序 string1 = "jsapi_ticket=" + jsapi_ticket + "&noncestr=" + nonce_str + "×tamp=" + timestamp +"&url="+url; try { MessageDigest crypt = MessageDigest.getInstance("SHA-1"); crypt.reset(); crypt.update(string1.getBytes("UTF-8")); signature = byteToHex(crypt.digest()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } ret.put("jsapi_ticket", jsapi_ticket); ret.put("nonceStr", nonce_str); ret.put("timestamp", timestamp); ret.put("signature", signature); return ret; }
0 0
- 微信开发(三)微信分享朋友朋友圈
- android 微信朋友分享,朋友圈分享
- 微信开发-发送给朋友,分享到朋友圈开发
- 微信开发-关于分享朋友&朋友圈以及录音功能
- 微信开发-关于分享朋友&朋友圈以及录音功能
- 微信分享朋友,朋友圈,qq
- 微信分享到朋友或朋友圈
- 微信公众号开发--微信JS-SDK分享到朋友圈和分享给朋友
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- js微信分享到朋友圈 分享给朋友代码
- 微信朋友圈分享
- 微信分享给朋友及朋友圈JS代码
- Android微信朋友、朋友圈分享(一)
- Android微信朋友、朋友圈分享(二)
- Linux下C++汇编查看指针和引用区别
- iOS目录和备份
- Windows平台下面MD5 SHA1 SHA256命令行工具
- MySQL从其他表取字段数据更新到本表
- Qt multi screen Support
- 微信开发(三)微信分享朋友朋友圈
- ZJOI 2009 对称的正方形 ST+Manacher
- Google搜索技巧
- hawq执行慢sql
- mysql sql语句大全
- Servlet 3.0新特性概览与开发详解
- [php] Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置
- java正则点匹配到换行符
- 第一天 黑马Android笔记