微信强大的整合能力让企业公众号的开发迅速窜红。尤其是企业须要个性化定制的一些功能。公司在同一时候上线的app和触屏版的应用中,微信分享自然是不可或缺的重要一环。

纵观如今大多数的微信公众号。分享大都是弹出二维码或者干脆直接使用微信右上方的分享功能分享网页链接,对于自己定义分享内容这个功能就显得力不从心了,所以在公司伟大领袖的号召下。我们要自己定义分享内容,分享标题。分享链接。好的。领导的精神已经公布了,接下来该我们发神经了。

拿到微信jssdk开发文档的那一刻我信心百倍的告诉自己。小意思。搞得定(我知道我又想多了)。是的,事情确实没有那么的顺利。測试号的开发进行的坎坎坷坷一切都要归功于开发文档的英明指导,一開始是微信版本太低。接着是绑定安全域名,好easy到了js验证的时候一直报“invalid signature”,细致检查下来原来是当前页面的url一定是要动态获取的。

最终搞定了,简单分享一下开发过程。

1.首先引入jweixin-1.0.0.js文件,这个文件是微信验证签名的运行文件。

2.到官网下载微信提供的签名生成类,这个类须要稍加改造,得到生成ticket的方法,同一时候要注意缓存jsapi_ticket和token。防止频繁请求微信。

3.通过js请求后台得到生成的时间戳,nonceStr和signature。

代码例如以下:“(document).ready(function() {  
    var inviteLink = “邀请链接”;(“#shareContent”).val(inviteLink);

$.ajax({

url: ‘<%=path %>/weixin/myshare.htm?url=’+pathURL,

type: ‘POST’,

dataType: ‘json’,

contentType:”application/json;charset=utf-8”,

data:{},

error: function(){alert(‘Error’);},

success: function(result){

wx.config({

debug: false, // 开启调试模式,调用的全部api的返回值会在clientalert出来,若要查看传入的參数,能够在pc端打开,參数信息会通过log打出。仅在pc端时才会打印。

appId: result.appId, // 必填。公众号的唯一标识

timestamp: result.timestamp, // 必填,生成签名的时间戳

nonceStr: result.nonceStr, // 必填,生成签名的随机串

signature: result.signature,// 必填,签名。见附录1

jsApiList: [

‘checkJsApi’,

‘onMenuShareTimeline’,

‘onMenuShareAppMessage’,

‘onMenuShareQQ’,

‘onMenuShareWeibo’

]

});

wx.ready(function(){

        });
wx.error(function(res){
// config信息验证失败会运行error函数
//alert(res);
});
}
});

});“

当中jsApiList中是微信提供的分享功能,各自是分享到朋友圈,发送给微信好友,分享到微博和分享到QQ,开发前期能够使用checkJsApi检查公众号是否获取了这些权限。假设没有勿必先获取权限。否则无法正常使用。另外一个须要注意的问题就是在微信内置浏览器的缓存问题。常常困扰验证结果的就是缓存。所以每当进行一次測试之前最好先关闭微信。因缓存造成的麻烦太让人痛苦了。

微信jssdk已无力吐槽的更多相关文章

  1. 微信JSSDK与录音相关的坑

    欢迎各位转载, 以让微信团队重视这些恼人的BUG. 请注明出处微信JSSDK与录音相关的坑 by lzl124631x 最近一直在做微信JSSDK与录音相关的功能开发, 遇到了各种奇尺大坑, 时不时冷 ...

  2. 微信JSSDK与录音相关的坑

    微信JSSDK与录音相关的坑 最近一直在做微信JSSDK与录音相关的功能开发, 遇到了各种奇尺大坑, 时不时冷不丁地被坑一道, 让我时常想嘶吼: "微信JSSDK就是个大腊鸡!!!!!!!! ...

  3. 微信JS-SDK坐标位置转换为百度地图坐标

    微信JS-SDK开发过程中,使用getLocation获取坐标位置,如何将微信获取的坐标直接应用到百度地图中,显示以下效果: 说明:红色图标是从微信转换过来的位置,蓝色图标是周边位置.首先从微信开发流 ...

  4. 微信公众平台开发 微信JSSDK开发

    根据微信开发文档步骤如下: 1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. JS接口安全域名设置 mi.com(前面不用带www/http,域名必须备案过) 2.引 ...

  5. 微信JS-SDK

    <div class="lbox_close wxapi_form"> <h3 id="menu-basic">基础接口</h3& ...

  6. 微信公开课发布微信官方教程:教你用好微信JS-SDK接口

    微信公众平台开放JS-SDK(微信内网页开发工具包),说明文档已经有相关使用方法和示例了,很多同学觉得不是很直观,为此微信公开课发布微信官方教程:教你用好微信JS-SDK接口. 1.分享类接口:支持获 ...

  7. 官方教程:教你用好微信JS-SDK接口

    微信开放JS-SDK接口,开发者和行业用户可谓是欢欣鼓舞.奔走相告,目测将激起一大波第三方开发商的创新产品!真真是H5开发者的利好!但也有用户表示,还不了解JS-SDK接口到底是啥,究竟怎么用.现在, ...

  8. 微信JS-SDK 接口调用与 php 遇到的坑

    问题:config:invalid signature一直爆这个错误 解决: 看我把这些坑都总结了一下:要命的invalid signature. https://segmentfault.com/q ...

  9. 微信JS-SDK说明文档及常见问题处理

    概述 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微 ...

随机推荐

  1. android listview需要呈现多个布局

    android listview需要呈现多个布局 之前的做法很笨 在getView()方法里面,不仅将viewHolder作为tag属性设置给convertView 还将当前的position作为ta ...

  2. 删除 Windows Azure 网站上的标准服务器头

    编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 请求和响应中包含的 HTTP 头是Web 服务器和浏览器之间的 HTTP 通信过程的一部分.例 ...

  3. 深入探究VC —— 编译器cl.exe(2)

    这一章节介绍的全是VC编译器选项,option参数是cl.exe的编译选项,是cl.exe命令行参数中最复杂.也是最常用的.下面介绍一些常用的编译选项: 1.代码生成有关 这些选项将影响编译完成后生成 ...

  4. BZOJ 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课

    题目 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课 Time Limit: 5 Sec  Memory Limit: 64 MB Description 考虑一 ...

  5. Windbg调试命令详解(1)

    转载注明>> [作者:张佩][镜像:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是 ...

  6. 制作Orcad的变种BOM(Variant BOM)

    通常在Orcad中画的原理图并不仅仅是用于一款产品.比如一个控制器原理图,可能相应着很多款子产品线,而这些子产品线之间的差别就是通讯口组件不同,少焊几个芯片,或者仅仅是少焊几个电阻. 可是这样交付生产 ...

  7. Spring IOC和DI原理讲解并制作LazyCoder版的Spring (一)

    转载请注意出处:http://blog.csdn.net/zcm101 写在前面的话 最近,给项目组成员培训了Spring 控制反转和依赖注入的原理,并自己做了个Lazy Coder版的Spring, ...

  8. 查看一个int数组里边的每个数字出现过几次

    public void aa() { int[] a = { 1, 2, 3, 4, 5, 4, 3, 2, 1 }; Hashtable ht = new Hashtable(); for (int ...

  9. Python中函数式使用

    对于链表来讲,有三个内置函数非常有用: filter(),map() 以及 reduce(). filter(function, sequence) 返回一个 sequence(序列),包括了给定序列 ...

  10. 判断圆和矩形是否相交C - Rectangle and Circle

    Description Given a rectangle and a circle in the coordinate system(two edges of the rectangle are p ...