这里基于微信的都是需要用到参考以下文档获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token):../15/54ce45d8d30b6bf6758f68d2e95bc627.html

1服务器绑定域名,

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)

@ResponseBody

public Map 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 map =Snippet.sign(url);

map.put("shareUrl", shareUrl);

map.put("appId",Snippet.getAppid());

return map;

}

public static Map sign(String url) {

Map ret = new HashMap();

String nonce_str = create_nonce_str();

String timestamp = create_timestamp();

String jsapi_ticket="";

try {

jsapi_ticket = getJsapiTicket();

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.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;

}

微信分享到朋友圈java_微信开发(三)微信分享朋友朋友圈相关推荐

  1. 微信怎么自动加好友java_iOS逆向开发之微信自动添加好友功能

    这一次,小程演示怎么让一个APP自动地运行,从而代替手工的操作.同样以"微信"以例,实现在一个微信群里面,对所有的成员,自动地一个一个地发出添加好友的请求. 知识点还是之前介绍的东 ...

  2. 微信食堂就餐人数统计小程序开发,微信饭堂报餐人数,怎样统计公司每日就餐人数,就餐人数不固定如何统计,制作报餐微信小程序

    单位食堂想控制成本 ,想弄个小程序 ,只要实现扫二维码预约第二天吃饭和扫二维码领餐 ,方便后厨统计预约人数做饭 并统计就餐人头看看谁不来, 没预约就不让吃饭.如何实现每天用餐报数,统计就餐人数的小程序 ...

  3. 微信小程序商城搭建,如何开发一个微信小程序商城

    分析架构 我们开发系统,常规有两个架构,一个BS架构(浏览器/服务器模式),一个CS(客户端/服务器端模式):我们微信小程序项目属于CS架构,C客户端是我们要开发的小程序,S端是我们要开发的后台管理系 ...

  4. 微信小程序的语音输入功能开发:微信同声传译插件

    微信小程序的语音输入,语音转文字功能在很多场景要使用到 比如搜索框,搜索关键字的时候用语音输入比用文字方便多了 再比如再天下网吧小程序里发帖,发布回复时,用语音输入比输入文字也方便不少 那么如何实现语 ...

  5. 微信自主出题,答题小程序开发,微信扫描二维码实现方法,扫二维码出试卷答题的软件!

    自己手机做题,每个人都可以免费使用的答题小程序,只要扫一扫就可以使用,无需安装下载,还是挺方便的. 微信小程序在线考试系统的优点: 一.是成本低,基于网络化的电子题库资源的成本远远低于纸本的印刷高成本 ...

  6. 怎么开发商城微信小程序?【商城小程序】

    在现代社会中,随着微信的普及和使用,开发商城微信小程序成为了一个新的热门话题.有些人认为这个领域是最有发展前景的,而有些人则认为这并不是适合所有人的行业.但是无论如何,这都值得我们去探索.那么下面就跟 ...

  7. 微信小程序开发(一) 微信登录流程

    文/YXJ 地址:http://blog.csdn.net/sk719887916/article/details/53761107 最近在研究微信小程序开发,非常有意思的一个东西.花了一点时间写了一 ...

  8. 微信和支付宝H5扫码支付开发记录

    微信和支付宝H5扫码支付开发记录 微信支付 支付宝支付 简单前端实现的一下方法,服务端方法未记录: 微信支付 微信流程步骤简介 1.获取用户code 2.拉起微信支付 支付宝支付 支付宝流程步骤简介: ...

  9. iOS开发之第三方分享微信分享、朋友圈分享,史上最新最全第三方分享微信方式实现、朋友圈方式实现

    本文章项目demo地址: https://github.com/zhonggaorong/weixinLoginDemo 微信分享环境搭建参考(包含登录的源码):http://blog.csdn.ne ...

最新文章

  1. 一篇SSM框架整合友好的文章(二)
  2. GLSL着色语言学习。橙皮书第一个例子GLSL+OpenTK+F#的实现。
  3. 两个构件的重合点_初三物理易错点:你被眼睛欺骗了,那些『平面镜成像』中的困惑...
  4. linux查看应用线程号命令,虚拟机:Linux查看线程信息的步骤
  5. 使用Q进行同步的Promises操作
  6. SAP Commerce Cloud CMS page 和 page template 的概念
  7. php多个构造方法,php多构造器的实例代码
  8. FileWriter和FileReader解析
  9. 荣耀折叠屏手机发布日期曝光?将主打年轻用户
  10. WCF 点滴启示录系列(一)
  11. LINUX更改图标后生效
  12. python day 105
  13. 使用阿里云接口进行银行卡三四要素实名认证(阿里云api接口java)
  14. 全球语种谱系图,看看机器翻译需要跨越的大山
  15. 【动态规划】机器人军团
  16. Ecshop模板开发(二十三):手机版显示商城
  17. 不来了解下JVM支持的语言有哪些?
  18. 为什么一个概念会非常难懂呢?人是如何理解的呢?
  19. 计算机专业创新创业点,计算机专业学生创新能力培养
  20. [读书笔记]捉虫日记[A Bug Hunter's Diary]

热门文章

  1. 井通科技SWTC三个方面:合规,应用和社区
  2. [附源码]java毕业设计网上花店系统
  3. macOS 12 Monterey 无管理员用户解决办法
  4. 流量卡之家:苹果下周发布新品 不支持5G的iphone11你会买吗?
  5. 计算机化英语,当前对抑郁及焦虑的计算机化认知行为治疗(英文)
  6. 优思学院|六西格玛线上课程视频
  7. mysql计算附近1000米店铺_查询附近10千米以内的店铺的SQL写法
  8. OSChina 周六乱弹 —— 早上儿子问我他是怎么来的
  9. 开启运维之路之第 9 篇——Redis单机多点集群
  10. Cesium制作雷达MaterialProperty