`

2015最新微信分享功能开发,自定义分享内容。

 
阅读更多

在2015年之前很长一段时间,微信分享功能,只需要页面埋几段js代码即可捕获用户点击分享按钮的事情,并且自定义。

但后来微信的新版本里已经屏蔽了次方法直接调用分享接口

需要在服务端坐一点开发工作。

当然你的呈现页面,比如html最终还是需要js代码,不过js代码需要做一个signature的签名处理。

只有这个正确的signature腾讯微信才允许你调用分享接口,并自定义分享菜单的内容。

 

页面代码如下:

 

写道
<script type="text/javascript">

var signature = "8cd09386c103dee9c2c98a8t49a126drea39f1ad";
var timestampNum = "1442538327"; //这里是时间戳,需要在服务端获取后传到客户端中。加密需要用到
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'wxex020f1cb01435e9', // 必填,公众号的唯一标识
timestamp: timestampNum, // 必填,生成签名的时间戳
nonceStr: timestampNum, // 必填,生成签名的随机串
signature: signature,// 必填,签名,见附录1
jsApiList: ['checkJsApi','onMenuShareTimeline','onMenuShareAppMessage','onMenuShareAppMessage','onMenuShareQQ'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});



wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。
//对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
//分享到朋友圈
wx.onMenuShareTimeline({
title: '中秋祝福2015', // 分享标题
link: 'http://weixin.xxxx.com/xxxx.php', // 分享链接
imgUrl: 'http://images.xxxx.com/xxxx/M00/00/0C/wKgF9FX2sad3f5tAAkrdgEd3146.jpg', // 分享图标
desc: "这里你可以写你需要分享的内容简介",
success: function () {
// 用户确认分享后执行的回调函数
alert("分享到朋友圈成功.");
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});

//获取“分享给朋友”按钮点击状态及自定义分享内容接口
wx.onMenuShareAppMessage({
title: '中秋祝福2015', // 分享标题
desc: '这里写分享的内容简介', // 分享描述
link: 'http://weixin.xxxx.com/xxx.php', // 分享链接
imgUrl: 'http://images.xxxx.com/xxxx/M00/00/0C/wKgF9d2dff3t5tAA4fxts146.jpg', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
alert("分享给朋友成功.");
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});

wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。

});

</script>

 

 

上述代码最关键的就是获取正确的

var signature = "8cd09386c103dee9c2c98a8t49a126drea39f1ad";

 

腾讯微信开发文档里有介绍,比较麻烦,需要多步骤,我感觉腾讯做这个真是蛋疼,就不能简化步骤吗?

获取服务端的token还需要2次,时间也就只有7200秒,晕啊

详细可以参考下面链接

 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E6.AD.A5.E9.AA.A4.E4.B8.80.EF.BC.9A.E7.BB.91.E5.AE.9A.E5.9F.9F.E5.90.8D

 

你的分享页面必须引入腾讯的js文件

http://res.wx.qq.com/open/js/jweixin-1.0.0.js

 

要得到上面的signature签名,比较麻烦,这里要吐槽腾讯的技术人员

 

首先要通过下面链接获取一个token

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

 

这个token有效期7200秒,得到后

在拿到这个token以后,还需要通过这个token到下面链接

https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

获取一个新的token,也就是jsapi_ticket

 

然后通过最后这个新的token

使用sha1加密

下面是需要加密的串

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value

//timestamp是时间戳,在服务端获取,并存储传入页面中  url是你展示页面的完整url地址

这样把上面字符串sha1加密后,传入客户端,并写入wx.config配置的signature中即可完成操作。

分享到:
评论

相关推荐

    DedeCMS微信端分享显示自定义图片和简介模块插件.zip

    这款“微信端分享显示自定义图片和简介模块插件”正是针对DedeCMS设计的,其核心功能在于允许用户在分享网站内容到微信时,自定义分享的图片和简介。通常,当用户通过浏览器分享网页时,微信会自动抓取网页中的元...

    友盟分享集成QQ/微信/微博的自定义面板分享

    在移动应用开发中,社交平台的分享功能已成为用户互动的重要组成部分。友盟作为一个提供社会化分享服务的平台,为开发者提供了方便地集成QQ、微信、微博等主流社交应用的分享功能。本文将详细介绍如何使用友盟SDK...

    tp微信自定义分享功能demo

    在IT行业中,微信自定义分享功能是移动应用和网站中常见的功能,用于增强用户体验和推广。本示例基于ThinkPHP框架实现,...这个示例对于理解微信分享机制、熟悉ThinkPHP框架以及掌握前后端协作开发具有很高的参考价值。

    微信公众号Java后台自定义分享源代码

    微信公众号开发 从前台到Java后台 调用微信JS接口分享朋友圈,博客中的源代码。数据库请到博客中的GitHub链接自取,建好数据库后需要修改数据库的配置信息。

    微信自定义分享

    以上就是微信自定义分享的基本操作和关键知识点,通过灵活运用这些技术,我们可以打造出更具吸引力的微信分享内容,提升用户体验和分享效果。同时,随着微信平台的不断更新,开发者需要持续关注官方文档,以便及时...

    Android实现QQ和微信分享功能

    以上就是Android应用中实现QQ和微信分享功能的基本步骤和技术要点。在实际开发中,可能还需要根据业务需求进行定制化处理,比如自定义分享界面、监听分享状态等。在开发过程中,可以参考腾讯和微信的官方开发者文档...

    Android 布局生成微信分享图片

    在Android开发中,微信分享是常见的社交功能,允许用户将应用程序内的内容,如文本、图片、链接等,分享到微信朋友圈或与微信好友互动。在这个过程中,“Android布局生成微信分享图片”是一个关键环节,它涉及到...

    微信自定义分享SDK--.net平台使用

    微信自定义分享SDK是微信官方提供的一个开发工具,主要用于在.NET平台上实现微信应用程序中的自定义分享功能。这个SDK允许开发者自定义分享的内容、样式和交互,以提供更丰富的用户体验和品牌展示。以下是对该知识点...

    shareDemo微信分享插件!分享可自定义标题,缩略图,简介!

    在移动应用开发中,微信分享功能是一个非常重要的组成部分,它允许用户将应用程序的内容轻松地分享到微信社交平台,提升用户体验并扩大应用的影响力。本文将详细介绍"shareDemo微信分享插件"及其使用方法,帮助...

    微信分享给好友,自定义标题,图标,链接(针对微信2015.1.9)java版

    针对微信2015.1.9的更新,开发者需要利用微信的JS-SDK(JavaScript SDK)来实现自定义分享功能,包括标题、图标和链接。下面我们将详细探讨如何在Java环境中实现这一功能。 首先,我们需要理解微信JS-SDK的核心概念...

    微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解

    最近开发一个项目时,有微信H5网页自定义分享功能,使用了微信JS-SDK的分享到好友和分享到朋友圈功能。 微信开发文档这样写的 自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0) wx.ready(function () {...

    自定义Dialog对话框(实现微信分享对话框)

    在Android开发中,自定义Dialog对话框是一种常见的需求,...通过以上步骤,你可以创建一个功能丰富的、类似于微信分享的自定义Dialog,提升应用的用户体验。在实际项目中,还可以根据具体需求进行更复杂的设计和扩展。

    android防微信分享功能

    这就涉及到了“防微信分享功能”。本文将深入探讨如何在Android应用中实现这一功能。 首先,理解Android中启动其他应用的基本原理是至关重要的。在Android系统中,应用间通信(Inter-Process Communication, IPC)...

    asp实现微信JS-SDK分享朋友圈(自定义图标等)功能

    用ASP程序实现手机网页,获取“分享到朋友圈”按钮点击状态及自定义分享内容接口。通过asp实现以下数据:timestamp(时间戳)、access_token、jsapi_ticket、sha1加密、signature。

    微信分享 留在微信没有回调问题

    该问题主要出现在微信分享功能中,具体表现为在微信内完成分享操作后返回原应用时,应用程序未能正确地接收到分享结果。这通常与应用程序内部的状态管理和回调机制设计有关。 #### 解决方案 ##### 关键思路 为了...

    Typecho微信分享插件WeChatShare

    Typecho微信分享插件WeChatShare是一款专为Typecho博客系统设计的扩展工具,旨在提升博客内容在社交媒体上的分享体验。通过这款插件,用户可以轻松定制微信和QQ平台上的分享链接,自定义内容包括分享的标题、描述、...

    微信分享(html5兼容所有的移动端浏览器)

    在移动互联网时代,微信已经成为国内最流行的社交应用之一,而微信分享功能的使用频率极高。本文将深入探讨如何使用HTML5技术实现一个兼容所有移动端浏览器的微信分享功能。 首先,我们要明白HTML5是现代网页开发的...

    微信分享到朋友圈代码

    微信分享功能主要依赖于微信官方提供的微信开放平台(WeChat Open Platform)以及它的SDK(Software Development Kit)。微信SDK为开发者提供了丰富的接口,包括登录、支付、分享等多种功能。要使用这些功能,首先...

    JS中静态页面实现微信分享功能

    在JavaScript(JS)中,为静态页面实现微信分享功能是一项常见的需求,特别是在使用Ajax构建的单页应用(SPA)中。微信提供了JavaScript SDK(JSSDK),使得开发者能够调用微信的分享接口,使得用户可以方便地将网页...

    微信分享-android

    在实际开发中,你可能还需要考虑更多细节,比如处理用户未安装微信的情况、用户授权问题、自定义分享界面样式等。对于`WeChatShareDemo-master`这个示例项目,你可以通过查看源代码,了解每个步骤的实现细节,学习...

Global site tag (gtag.js) - Google Analytics