TP5实现前端微信分享功能

上传文件

vendor中新建文件夹“wxshare"
将官方的文件直接上传到该文件夹
在这里插入图片描述
其中sample.php没必要上传,其他直接上传就好。

文件修改

但是在使用前由于相对路径问题,还需要对jssdk进行一点修改。

两处:
“access_token.php”
改为
__DIR__."/access_token.php"

两处
"jsapi_ticket.php"
改为
__DIR__."/jsapi_ticket.php"

控制器调用

在controller中调用,由于页面分享功能只能调用当前页面所以不能在不同url中通过axios等异步方式获取。否则会出现63002错误,这个排查的时候很不容易发现,在此做个记录。


public function prize2()
    {
         vendor('wxshare.JSSDK');
        $jssdk = new \JSSDK('wx***************',"f1a5d80***************************");
        $signPackage = $jssdk->GetSignPackage();
        $this->view->assign('data',$signPackage);
        return  $this->view->fetch("prize2");
    }

前端

这里偷个懒,就直接把代码放上来了。

let data={:json_encode($data)};
wx.config({
  debug: false,
  appId: data.appId, // 必填,公众号的唯一标识
  timestamp: data.timestamp, // 必填,生成签名的时间戳
  nonceStr: data.nonceStr, //必填, 生成签名的随机串
  signature: data.signature, //必填,签名
  jsApiList: [
  'updateAppMessageShareData',    'updateTimelineShareData','onMenuShareTimeline', 
  'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareQZone'] //必填, JS接口列表,这里只填写了分享需要的接口
})

	var title = 'this is the sshare title';
    var imgUrl = 'https://img01.yzcdn.cn/vant/logo.png';
    var link = 'http://www.domain.com';
    var desc = 'this is a share description';
    
    wx.ready(function () {
        wx.onMenuShareTimeline({
            title: title,
            link: link,
            desc:desc,
            imgUrl: imgUrl,
            success: function() {
                // 用户确认分享后执行的回调函数
            },
            cancel: function() {
                // 用户取消分享后执行的回调函数
            }
        });
        wx.onMenuShareAppMessage({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            type: 'link', // 分享类型,music、video或link,不填默认为link
            dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
            success: function() {
                // 用户确认分享后执行的回调函数
            },
            cancel: function() {
                // 用户取消分享后执行的回调函数
            }
        });
    })
    ```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值