加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

微信分享调用jssdk实例

发布时间:2020-12-15 21:07:55 所属栏目:百科 来源:网络整理
导读:0、上demo,补充一点小问题 按照之前的思路,发现一直签名失败,我查了半天,发现是url那地方有问题。通过api获取时,签名的url默认获取的是接口的api地址,比较纳闷。后来我在请求时加入了当前网址,然后再myapi中获取一下,再赋值过去。就可以了。具体代码

0、上demo,补充一点小问题

按照之前的思路,发现一直签名失败,我查了半天,发现是url那地方有问题。通过api获取时,签名的url默认获取的是接口的api地址,比较纳闷。后来我在请求时加入了当前网址,然后再myapi中获取一下,再赋值过去。就可以了。具体代码见第三段。
测试通过了一个demo,下载地址如下:demo下载地址

效果如图。

demo下载地址

1、问题说明

搞了半天,终于搞定。说下基本需求,很简单,网页在微信中打开,分享。
网页是html格式,原来分享时会一直显示链接,看了下代码中没有调用jssdk,调用的是一个第三方的平台的分享接口,坑爹。

2、问题解析

根据微信官方给出的demo,可以看到核心就是获取四个参数,从而配置wx.config。
四个参数分别是appId、timestamp、nonceStr、signature
appId不用说,后面三个都是根据微信的接口得到的,有兴趣的可以看下官方,不过也可以不管。

3、解析思路

接下来,说下我的思路,在js中通过ajax调用jssdk部署的接口,返回上述所需参数。
我测了php,写了一个myapi.php接口,很简单:

<?php require_once "jssdk.class.php"; $uurl = ""; if(is_array($_GET)&&count($_GET)>0)//先判断是否通过get传值了 { if(isset($_GET["urlparam"]))//是否存在"urlparam"的参数 { $uurl=$_GET["urlparam"];//存在 } } $cfg_appid = "你的appid"; $cfg_screct = "你的appsecrect"; $weixin = new jssdk($cfg_appid,$cfg_screct,$uurl); $signPackage = $weixin->get_sign(); $data = array( 'appId' => $signPackage["appId"],'timestamp' => $signPackage["timestamp"],'nonceStr' => $signPackage["nonceStr"],'signature' => $signPackage["signature"]); echo json_encode($data);

前端页面

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript"> $(function(){ $.ajax({ type: "GET",url: "../wxconfig/myapi.php",data: "urlparam="+window.location.href.split('#')[0],success: function(data){ var result = JSON.parse(data); if (result != null) { wx.config({ debug: false,appId: result.appId,timestamp: result.timestamp,nonceStr: result.nonceStr,signature: result.signature,jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] }); } },error: function(){ } }); }); window.sharedata = { title: '标题',desc: '描述',link: window.location.href,imgUrl: 'http://avatar.csdn.net/0/4/F/1_zyq527758142.jpg',success: function () { alert('成功分享'); },cancel: function () { alert('取消分享'); } }; wx.ready(function () { wx.onMenuShareAppMessage(sharedata); wx.onMenuShareTimeline(sharedata); }); </script>

4、知识点

1、微信分享jssdk的使用 2、html调用ajax 3、解决微信分享为何出现链接的问题

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读