微信强大的整合能力让企业公众号的开发迅速窜红。尤其是企业须要个性化定制的一些功能。公司在同一时候上线的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检查公众号是否获取了这些权限。假设没有勿必先获取权限。否则无法正常使用。另外一个须要注意的问题就是在微信内置浏览器的缓存问题。常常困扰验证结果的就是缓存。所以每当进行一次測试之前最好先关闭微信。因缓存造成的麻烦太让人痛苦了。

转载于:https://www.cnblogs.com/zfyouxi/p/5153302.html

微信jssdk已无力吐槽相关推荐

  1. 解决Nacos无法连接Mysql8.0+的问题(坑爹的阿里官方文档,已无力吐槽)

    如果你的mysql是8.0以上的的就不要在参考阿里的官方文档了,因为阿里的文档只适用于mysql5版本,再次吐槽一下,阿里的文档才是真正的挖坑埋人!!!,以下才是标准的配置过程 1 初始化mysql数 ...

  2. 遇到这样的一个求职者,真心无力吐槽了

    这两天因为公司的事情挺郁闷,话说我们就是一家刚刚起步不久的创业公司,对于员工的渴求愿望是很大的.就在前两天发生了一件很诡异的事情,请带我细细道来: 话说就在上个月底7月26号的时候,突然接到一个电话, ...

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

    微信JSSDK与录音相关的坑 欢迎各位转载, 以让微信团队重视这些恼人的BUG. 请注明出处微信JSSDK与录音相关的坑 by lzl124631x 我的github repo audio.js是我在 ...

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

    根据微信开发文档步骤如下: 1.先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". JS接口安全域名设置 mi. ...

  5. 微信 jssdk 看着文档简单总结

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  6. 使用微信js-sdk上传语音并将语音下载到服务器

    JSSDK使用步骤 步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". 备注:登录后可在&qu ...

  7. C# 微信JS-SDK之config接口注入权限验证invalid signature签名错误

    文章目录 1.开发环境 2.我的代码 3.问题描述 4.问题分析 5.问题根源 6.解决办法 记一次使用微信JS-SDK分享接口,config接口注入权限验证失败, 提示invalid signatu ...

  8. 前端vue+后台node实现获取微信用户基本信息+调用微信JS-SDK(下篇)

    1. 获取微信用户基本信息 2. vue接入微信JS-SDK 环境: 前端:vue2.0 后台:node.js 公众号:微信提供的测试号 以分享至微信和分享至朋友圈为例. 微信网页接入微信JS-SDK ...

  9. 微信jssdk录音功能开发记录

    微信jssdk录音功能开发记录 标签(空格分隔): 前端 0.需求描述 在微信浏览器内打开的页面,制作一个按钮,用户按住按钮后开始录音,松手后停止录音并将录音上传并长期保存. 1.开发流程 如果开发的 ...

最新文章

  1. Windows版 mysql 5.7.16安装
  2. python mysql库对比_mysqlclient和PyMySQL对比
  3. 并发编程-14线程安全策略之并发容器(J.U.C)中的集合类
  4. C#对事务的代码封装
  5. 列举6个常见且实用的Web前端性能优化方法
  6. java 字段为空设置默认值_java – 当字段为空时使用MyBatis添加默认值
  7. luogu 4768
  8. java secondtotime_Java中的LocalTime toSecondOfDay()方法
  9. mysql用户权限重置_mysql中重置密码与新用户权限分配的方法介绍
  10. 第三章EF的基本使用 EF添加数据实体模型
  11. GDI+ 保存HDC为位图文件
  12. 数据结构课设——航空航天订票系统
  13. 全国省市区县数据库(大全)
  14. 基金定投如何选择买卖点?——关于定投的择时研究
  15. 106短信发送失败的原因
  16. 保持健康和活力 - 颈椎病康复指南
  17. 电脑突然关机重启是什么原因?
  18. cad指定服务器名称,天正打开后CAD显示服务器名称为空? CAD 服务器名称为空
  19. android 获取年月日
  20. 室友打了一晚上游戏我学会了使用GDB调试

热门文章

  1. Z-blogPHP蜘蛛访问日志统计插件+自动收集死链
  2. 【通州建设】地铁S6线更名为21号线!途径通州多站!
  3. JavaScript中节点获取,节点的属性,如何操作节点
  4. java List去除重复数据的五种方式
  5. win10+Docker Toolbox+mysql
  6. matlab中如何用数组绘图,matlab 基础学习(1)——数组,矩阵操作和绘图基础学习...
  7. LVGL lv_line线条(15)
  8. 在麒麟v10系统上面安装达梦数据库8
  9. 小红书笔记发布软件 批量上传视频
  10. 艺赛旗RPA8.0-用户体验提升抢先看(一)