调用微信JSSDK接口,实现自定义分享功能

时间:2024-04-01 18:46:59

1,你需有一个公众号,没有不用谈自定义分享内容了;

2,公众号上把你的域名增加到“JS接口安全域名”:

调用微信JSSDK接口,实现自定义分享功能

3,我这功能是基于thinkphp3.1实现的,按下图上网下包放在对应该目录下:

调用微信JSSDK接口,实现自定义分享功能

4,修改内核公共文件:functions.php

调用微信JSSDK接口,实现自定义分享功能

加入代码:

/**
* 微信分享初始化
* @return array
* @author simon
*/

if(!function_exists('wx_share_init')){
    function wx_share_init(){
    $wxconfig = array();
    vendor('Wxjssdk.Jssdk');
    $config = array('appid'=>WXAPPID,'appsecret'=>WXAPPSECRET); //这里配置了微信公众号的AppId和AppSecret
    $jssdk =new JSSDK($config['appid'], $config['appsecret']);
    $wxconfig = $jssdk->GetSignPackage();
    return $wxconfig;
    }
}

5,在项目配置文件:config.php

调用微信JSSDK接口,实现自定义分享功能

加入代码:(星为公众号的appid和appsecret)

define("WXAPPID", "******");
define("WXAPPSECRET", "*****");

6,在对应要调用的页面控制器里加入代码:

public function _initialize() {
        //调用微信JSSDK接口,为自定义分享功能提供验证参数----
        $this->wxconfig = wx_share_init();
        $this->assign('wxconfig', $this->wxconfig); 
    }

6,在对应要调用的页面控制器的模板文件里加入代码:

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script type="application/javascript" language="javascript">
//alert("sdfasfasf");
var shareimg='http://{$Think.server.http_host}/Public/images/choujiang-ad.jpg';
var appId="{$wxconfig['appId']}";
var timestamp="{$wxconfig['timestamp']}";
var nonceStr="{$wxconfig['nonceStr']}";
var signature="{$wxconfig['signature']}";
//微信分享-------------------------
wx.config({
debug:false,// 是否开启调试模式
appId:appId,// 必填,微信号AppID
timestamp:timestamp,// 必填,生成签名的时间戳
nonceStr:nonceStr,// 必填,生成签名的随机串
signature:signature,// 必填,签名,见附录1
jsApiList: [
                    'checkJsApi',
                    'onMenuShareTimeline',
                    'onMenuShareAppMessage',
                    'onMenuShareQQ',
                    'onMenuShareWeibo',
                    'onMenuShareQZone'
                  ]
});


wx.ready(function(){
//alert("出现");
 // 1 判断当前版本是否支持指定 JS 接口,支持批量判断
                wx.checkJsApi({
                  jsApiList: [
                    'getNetworkType',
                    'previewImage',
                     'onMenuShareTimeline',
                    'onMenuShareAppMessage',
                    'onMenuShareQQ',
                    'onMenuShareWeibo',
                    'onMenuShareQZone'
                  ],            
                });
var shareData ={
title:'{$title}',// 分享标题
link:'{$wxconfig.url}',// 分享链接,记得使用绝对路径
imgUrl:shareimg,// 分享图标,记得使用绝对路径
desc:'{$art.description}',// 分享描述
type: 'link',
success:function(){
console.info('分享成功!');
// 用户确认分享后执行的回调函数
},

cancel:function(){
console.info('取消分享!');
// 用户取消分享后执行的回调函数
}
}
wx.onMenuShareAppMessage(shareData);
wx.onMenuShareTimeline(shareData);
wx.onMenuShareQQ(shareData);
wx.onMenuShareWeibo(shareData);

});

wx.error(function(res){ 
  console.info(res);
});
</script>

 

搞掂,不是程序员的勿看,不会tp的自学去,不了解微信JS接口勿做