解决微信二次分享不显示图片和介绍

2019-09-22

1293

function getWeiXinJsTicket () {
    var url, jsapi_ticket, noncestr, timestamp, rankNum, signature, string1 = '';        //主要是这段,通过判断url是否是微信添加过字符的url
    //url(当前网页的URL,不包含#及其后面部分)
    var wx_url = window.location.href.split('#')[0];

    $.ajax({
        url:  'https://wq.nanguapai.cn/addons/ewei_shopv2/dingzhi/public/index.php/index/wanju/get_sign',
        type: 'post',
        dataType :'json',
        cache: false,
        data: {
            // 'force-refresh': !!(attemptTimes.getTicket > 0)
            get_url:wx_url                                //这里把URL传过去,后台的获取签名的代码 url 就用这个。这样就解决二次分享不显示图片的问题
        },
        success: function (data) {
            if (data && data.appId) {
                appid = data.appId;
                dataForWeiXin.appid = appid;
                weiXinConfig(data.timestamp, data.nonceStr, data.signature);
            } else {
                getTicketAgain();
            }
        },
        error: function () {
            getTicketAgain();
        }
    });
}

后端代码

$url = $_POST['get_url'];       // 这个就前端传过来的url
        //$url = ""; // 调用JSSDK的页面地址
        //$url = $_SERVER['HTTP_REFERER']; // 前后端分离的, 获取请求地址(此值不准确时可以通过其他方式解决)
        $str = "jsapi_ticket={$ticket}&noncestr={$nonceStr}&timestamp={$timestamp}&url={$url}";
        $sha_str = sha1($str);
        $signPackage = array(
            "appId" =>  $appid,
            "nonceStr" => $nonceStr,
            "timestamp" => $timestamp,
            "signature" => $sha_str,
        );
        return $signPackage;

这样微信开发过程中的二次分享不显示图片的问题就完美解决了

DLweb`build
度良网络科技有限公司为您建设最时尚前沿的网站以及高端网站设计

沪ICP备16017573号

Copyright©2018 度良 All Rights Reserved.

友情链接:

义乌网站建设