JavaScript

超轻量级php框架startmvc

微信分享调用jssdk实例

更新时间:2020-05-16 23:30:01 作者:startmvc
网页在微信中打开,进行分享,详细过程1、问题说明搞了半天,终于搞定。说下基本需求

网页在微信中打开,进行分享,详细过程

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="http://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、解决微信分享为何出现链接的问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

微信分享 jssdk