网页在微信中打开,进行分享,详细过程
1、问题说明
搞了半天,终于搞定。说下基本需求,很简单,网页在微信中打开,分享。
网页是html格式,原来分享时会一直显示链接,看了下代码中没有调用jssdk,调用的是一个第三方的平台的分享接口。
2、问题解析
根据微信官方给出的demo,可以看到核心就是获取四个参数,配置wx.config。
四个参数分别是appId、timestamp、nonceStr、signature
appId不用说,后面三个都是根据微信的接口得到的,有兴趣的可以看下官方,不过也可以不管。
3、解析思路
接下来,说下我的思路,在js中通过ajax调用jssdk部署的接口,返回上述所需参数。
我测了PHP,写了一个myapi.php接口,很简单:
<?php require_once "jssdk.php"; $jssdk = new JSSDK("你的appId", "你的appSecret"); $signPackage = $jssdk->GetSignPackage(); $data = array( 'appId' => $signPackage["appId"], 'timestamp' => $signPackage["timestamp"], 'nonceStr' => $signPackage["nonceStr"], 'signature' => $signPackage["signature"]); echo json_encode($data);
前端页面
<script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script> $(function(){ $.ajax({ type: "GET", url: "./myapi.php", data: "", 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: 'https://gqrcode.alicdn.com/img?type=cs&shop_id=295323332&seller_id=1094878600&w=140&h=140&el=q&v=1', success: function () { alert('success'); }, cancel: function () { alert('cancel'); } }; wx.ready(function () { wx.onMenuShareAppMessage(sharedata); wx.onMenuShareTimeline(sharedata); }); </script>
4、知识点
1、微信分享jssdk的使用
2、html调用ajax
3、解决微信分享为何出现链接的问题