关于调用微信朋友圈分享及参数

一、微信JS-SDK

1. 获得Access Token

2. 获取jsapi_ticket

以上方法不再写  看之前写的博客里有介绍的

2. 获得前台参数 方法

function getSignPackage($appid,$appsecret) {
    $access_token = getAccessToken($appid,$appsecret);
    $jsapiTicket = getJsapi_ticket($access_token);
    // 注意 URL 一定要动态获取,不能 hardcode.
    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
    $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

    $timestamp = time();
    $nonceStr = createNonceStr();

    // 这里参数的顺序要按照 key 值 ASCII 码升序排序
    $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";

    $signature = sha1($string);
    $signPackage = array(
        "appId"     => $this->appId,
        "nonceStr"  => $nonceStr,
        "timestamp" => $timestamp,
        "url"       => $url,
        "signature" => $signature,
        "rawString" => $string
    );
    return $signPackage;
}


function createNonceStr($length = 16) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    $str = "";
    for ($i = 0; $i < $length; $i++) {
        $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
    }
    return $str;
}
  前台页面代码   搞定
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>


<script>
    wx.config({
        debug: false,
        appId: '{$signPackage["appId"]}',
        timestamp: {$signPackage["timestamp"]},
        nonceStr: '{ $signPackage["nonceStr"]}',
        signature: '{$signPackage["signature"]}',
        jsApiList: [
            // 所有要调用的 API 都要加到这个列表中
            'checkJsApi',
            'openLocation',
            'getLocation',
            'onMenuShareTimeline',
            'onMenuShareAppMessage'
          ]
    });
</script>


wx.ready(function () {
//分享至朋友
wx.onMenuShareAppMessage({
          title: '{$news['Title']}',
          desc: '{$news['Description']}',
          link: '{$news['Url']}',
          imgUrl: '{$news['PicUrl']}',
          trigger: function (res) {
            // 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用 ajax的回包会还没有返回
            // alert('用户点击发送给朋友');
          },
          success: function (res) {
            // alert('已分享');
          },
          cancel: function (res) {
            // alert('已取消');
          },
          fail: function (res) {
            // alert(JSON.stringify(res));
          }
        });

});
微信内的一些相关参数 配合官方手册  微信开发者文档
jsApiList://相关参数

'checkJsApi', //判断当前客户端版本是否支持指定JS接口
'openLocation',//
'getLocation',//
'onMenuShareTimeline',//获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
'onMenuShareAppMessage',//获取“分享给朋友”按钮点击状态及自定义分享内容接口
'onMenuShareQQ',//获取“分享到QQ”按钮点击状态及自定义分享内容接口
'onMenuShareWeibo',//获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口
'onMenuShareQZone',//获取“分享到QQ空间”按钮点击状态及自定义分享内容接口
'chooseImage',//拍照或从手机相册中选图接口
'uploadImage',//上传图片接口
'previewImage',//预览图片接口
'downloadImage',//下载图片接口
'startRecord',//开始录音接口
'stopRecord',//停止录音接口
'onVoiceRecordEnd',//监听录音自动停止接口
'playVoice',//播放语音接口
'pauseVoice',//暂停播放接口
'stopVoice',//停止播放接口
'onVoicePlayEnd',//监听语音播放完毕接口
'uploadVoice',//上传语音接口
'downloadVoice',//下载语音接口
'translateVoice',//识别音频并返回识别结果接口
'getNetworkType',//获取网络状态接口
'openLocation',//使用微信内置地图查看位置接口
'getLocation',//获取地理位置接口
'startSearchBeacons',// 摇一摇周边  开启查找周边ibeacon设备接口
'stopSearchBeacons',//关闭查找周边ibeacon设备接口
'onSearchBeacons',//监听周边ibeacon设备接口
'hideOptionMenu',//隐藏右上角菜单接口
'showOptionMenu',//显示右上角菜单接口
'hideMenuItems',//批量隐藏功能按钮接口
'showMenuItems',//批量显示功能按钮接口
'hideAllNonBaseMenuItem',//隐藏所有非基础按钮接口
'showAllNonBaseMenuItem',//显示所有功能按钮接口
'scanQRCode',//微信扫一扫  调起微信扫一扫接口
'openProductSpecificView',//微信小店  跳转微信商品页接口


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值