H5网页实现微信分享功能

一,首先在公众号管理后台“公众号设置”的“功能设置”里填写JS接口安全域名,域名需要通过ICP备案,没有备案域名可以用SAE、BAE等平台。此外,自定义分享功能需要通过微信认证才能使用,没有认证的可以跟关系好的朋友借用权限,在他的JS接口安全域名设置这里填上你的域名和共享同一个开发者ID。

二,在需要调用JS接口的页面引入微信JSSDK的JS文件 。这个文件在需要分享的页面是必须要引用的,单独特别重申一下,其他方面请阅读官方文档。

/*

* 注意:

* 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

* 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。

* 3. 常见问题及完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

*

* 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:

* 邮箱地址:weixin-open@qq.com

* 邮件主题:【微信JS-SDK反馈】具体问题

* 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。

*/

$(function() {

var url = location.href.split('#')[0];

//alert(url);

$.ajax({

url : "wap_sign_signature.htm",

data : {

"url" : url

},

dataType : "json",

timeout : 5000,

error : function(XMLHttpRequest, textStatus, errorThrown) {

if (textStatus == "timeout") { // 请求超时

} else {

}

},

success : function(data, textStatus) {

if (textStatus == "success") { // 请求成功

//alert(data.nonceStr);

//alert(data.timestamp);

//alert(data.signature);

wx.config({

debug : false,

appId : 'wxc4cf8e62667f92ea',

timestamp : data.timestamp,

nonceStr : data.nonceStr,

signature : data.signature,

jsApiList : [ 'onMenuShareAppMessage',

'onMenuShareTimeline' ]

});

}

}

});

});

/*

* 注意:

* 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

* 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。

* 3. 完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

*

* 如有问题请通过以下渠道反馈:

* 邮箱地址:weixin-open@qq.com

* 邮件主题:【微信JS-SDK反馈】具体问题

* 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。

*/

// 发送给朋友并返回结果

/* wx.checkJsApi({

jsApiList: ['onMenuShareAppMessage','onMenuShareTimeline'],

success: function(res) {

alert(reg);

}})

// 以键值对的形式返回,可用的api值true,不可用为false// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}});

}) */

wx.ready(function() {

/* wx.checkJsApi({

jsApiList: ['onMenuShareAppMessage'],

success:function(res){

alert(res.checkResult.chooseImage);

}

}) ; */

var title = "魔法妈咪学院入学啦!好妈咪快进来!";

var myurl = "http://diy-haier.highset.cn/index.jsp";

//分享给朋友

wx.onMenuShareAppMessage({

title : title, // 分享标题

desc : '海尔定制母婴家电,让你魔法加身,搞定养娃的大问题!', // 分享描述

link : myurl, // 分享链接

imgUrl : 'http://diy-haier.highset.cn/fx.jpg', // 分享图标

type : 'link', // 分享类型,music、video或link,不填默认为link

success : function() {

// 用户确认分享后执行的回调函数

},

cancel : function() {

// 用户取消分享后执行的回调函数

}

});

wx.onMenuShareTimeline({

title : title, // 分享标题

link : myurl, // 分享链接

imgUrl : 'http://diy-haier.highset.cn/fx.jpg', // 分享图标

success : function() {

// 用户确认分享后执行的回调函数

},

cancel : function() {

// 用户取消分享后执行的回调函数

}

});

});

wx.error(function(res) {

alert(res.errMsg);

});

三、需要一个提供appid的token认证的服务,

package cn.com.highset.controller;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import cn.com.highset.weixin.util.Constants;

import cn.com.highset.weixin.util.JS_Sign;

import cn.com.sunnet.wx.api.WeiXinUtil;

@Controller

public class WeixinController {

/**

* 获取微信签名

*

*/

@RequestMapping(value = "wap_sign_signature.htm", method = {

RequestMethod.GET, RequestMethod.POST })

@ResponseBody

public Map WapSignSignatureAction(String url,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

String accesstoken = (String) request.getSession().getAttribute(

"accesstoken_session");

if (accesstoken == null || "".equals(accesstoken)) {

WeiXinUtil util = new WeiXinUtil(Constants.APPID,

Constants.AppSecret);

accesstoken = util.getAccessToken();

request.getSession().setAttribute("accesstoken_session",

accesstoken);

request.getSession().setMaxInactiveInterval(7200);

}

Map js_data = JS_Sign.getJSSignMapResult(accesstoken,

url, request);

return js_data;

}

}

详细代码请参考该项目>>传送门

Android微信h5分享,H5网页实现微信分享功能相关推荐

  1. 微信中分享html5网页sdk,微信SDK网页分享

    步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". image.png 步骤二:引入JS文件 ...

  2. 微信中分享html5网页sdk,微信网页分享JS-SDK使用步骤

    ps: 公众号必须开通微信认证,否则无法自定义分享 1.公众平台 绑定域名 登录微信公众平台,进入"公众号设置"-"功能设置",然后填写"JS接口安全 ...

  3. Ubuntu16.04下安装类似于windows下微信软件,非网页版微信(内附安装包和详细安装指令)

    一.下载安装包 安装包下载地址: 链接:https://pan.baidu.com/s/1M8i6mdC952exhyFoLp84rg 提取码:nt5q 然后解压压缩包,获得文件夹如下: 然后进入文件 ...

  4. Python+机器人:(wxpy问题)我的微信号不能登录网页版微信,还能使用微信机器人吗?

  5. 微信公众平台开发之在网页上添加分享到朋友圈,关注微信号等按钮

    微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享 ...

  6. vue 分享给好友 点击分享按钮_点击网页分享按钮,触发微信分享功能

    微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享 ...

  7. 点击网页分享按钮,触发微信分享功能

    微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享 ...

  8. 在网页上添加微信分享按钮,关注微信号等按钮

    转自:http://www.cnblogs.com/GmrBrian/p/3593071.html 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹 ...

  9. 在微信浏览器中做分享到朋友圈和分享到好友

    最近一直看到有关做微信朋友圈分享的,下面我也总结一份: 如何在微信公众平台前端网页上添加分享到朋友圈,关注微信号等按钮: 在微信内嵌浏览器定义了一个私有 JavaScript 对象:WeixinJSB ...

  10. python查看微信撤回消息_想查看微信好友撤回的消息?Python帮你搞定

    要说微信最让人恶心的发明,消息撤回绝对能上榜. 比如你现在正和女朋友用微信聊着天,或者跟自己喜欢的女孩子聊着天,一个不留神,你没注意到对方发的消息就被她及时撤回了,这时你很好奇,好奇她到底发了什么?于 ...

最新文章

  1. controller与servlet区别
  2. 智能车竞赛技术报告 | 节能信标组组 - 大连民族大学 - 粉红靓车队
  3. dslJson、jsoniter、fastjson、jackson解析字符串为map效率比较
  4. 通过缓存数据库结果提高PHP性能(转)
  5. spring17:Bean的生命始末标签@PostConstruct,@PreDestroy和改变作用范围的@Scope标签
  6. python新人绘图_【python 【分享】 爬取一些二刺螈图片 (新手作图)
  7. Java发邮件-QQ服务器认证
  8. CBitmapButton位图按钮简明教程
  9. BugkuCTF-MISC题神秘的文件
  10. 突发!Java首度“落泪”,愿永久祝福Python!网友:我也想哭!
  11. 抖音矩阵号系统搭建及开发思路分享丨抖音短视频关键词优化
  12. IDEA Jrebel 激活方法
  13. 【系统分析师之路】第十九章 复盘知识产权标准化
  14. 毛戈平上市以“光影美学”的理念打造适合中国人的高端化妆品品牌
  15. 《单片机原理及应用(魏洪磊)》第七章第9题
  16. ubuntu Rhythmbox 乱码解决
  17. iframe框架下的子父级页面监控页面关闭事件
  18. python实现千牛客服自动回复语_千牛旺旺客服设置自动回复的技巧有哪些?总结性文章来啦...
  19. SDR HDR 区别
  20. 万国数据指责Blue Orca恶意做空 称做空报告断章取义

热门文章

  1. java实现手机截屏工具
  2. 【计算机毕业设计】029网上购物商城系统研发
  3. (转)UVA11825 Hackers' Crackdown --- 状压dp
  4. 分享SEO优化的8个技巧
  5. 【直流电机】驱动方式介绍:H桥+MOS驱动
  6. python绘图等边三角形,五角星,奥运五环
  7. esp8266系列 wifi模块
  8. Unity3D 互动照片墙
  9. 已知:关系模式R(U,F),U=ABCD,F={A→C,C→A,B→AC,D→AC},将模式R无损失连接并保持函数依赖,分解为3NF
  10. arm_GPIO_简单编程例题