2022年7月10日

微信公众号开发 网站分享朋友圈带图解决方案


切图网专门做网站的前端切图开发,而网站的本质是引流获客,所以对于任何提高网站点击的方法也是需要了解一下的。开发这个功能也是为了跨屏网saas建站项目中自用的。

网站分享朋友圈带图 可以有效提高网页的点击,从而达到引流的目的,要想实现这个功能首先要开通微信300一年的认证,这种情况下才拥有以下微信公众号开发所需要的权限,并且开发过程并不容易,踩了很多坑,最终才得以实现,没有过多的无用代码,实现了在网站上实现微信分享接口(设置标题、缩略图、连接、描述),具体的方法如下:

一、先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。(注:认证帐号才有分享权限)

二、创建一个demo.php文件和wxshare.js文件:

demo.php


<?php
// 步骤1.设置appid和appsecret
$appid = 'wxff4f410748ba11027'; //此处填写绑定的微信公众号的appid
$appsecret = '246fbf3e581efeff3b11100aa17d4c4'; //此处填写绑定的微信公众号的密钥id

// 步骤2.生成签名的随机串
function nonceStr($length){
$str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJK1NGJBQRSTUVWXYZ';//随即串,62个字符
$strlen = 62;
while($length > $strlen){
$str .= $str;
$strlen += 62;
}
$str = str_shuffle($str);
return substr($str,0,$length);
}

// 步骤3.获取access_token
$result = http_get('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret);
$json = json_decode($result,true);
$access_token = $json['access_token'];

function http_get($url){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}

// 步骤4.获取ticket
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$access_token";
$res = json_decode ( http_get ( $url ) );
$ticket = $res->ticket;

// 步骤5.生成wx.config需要的参数
$surl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$ws = getWxConfig( $ticket,$surl,time(),nonceStr(16) );

function getWxConfig($jsapiTicket,$url,$timestamp,$nonceStr) {
$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";
$signature = sha1 ( $string );

$WxConfig["appId"] = $appid;
$WxConfig["nonceStr"] = $nonceStr;
$WxConfig["timestamp"] = $timestamp;
$WxConfig["url"] = $url;
$WxConfig["signature"] = $signature;
$WxConfig["rawString"] = $string;
return $WxConfig;
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="gbk">
<title>微信分享接口示例</title>
<meta name="keywords" content="微信分享接口示例"/>
<meta name="description" content="这是一个微信分享接口示例预览页面,可以发送到微信端预览并转发给朋友或者分享朋友圈看看效果如何!"/>
</head>
<body>
<p></p>
<h1 style="text-algin:center;">这是一个微信分享接口示例预览页面,可以发送到微信端预览并转发给朋友或者分享朋友圈看看效果如何!</h1>
<!--步骤6.调用JS接口-->
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'wxff4f410721541a1967', // 必填,公众号的唯一标识
timestamp: "<?php echo $ws["timestamp"]; ?>", // 必填,生成签名的时间戳
nonceStr: '<?php echo $ws["nonceStr"]; ?>', // 必填,生成签名的随机串
signature: '<?php echo $ws["signature"]; ?>',// 必填,签名,见附录1
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo'
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
var wstitle = "微信分享接口示例预览"; //此处填写分享标题
var wsdesc = "这是一个微信分享接口示例预览页面,可以发送到微信端预览并转发给朋友或者分享朋友圈看看效果如何!"; //此处填写分享简介
var wslink = "<?php echo $surl; ?>"; //此处获取分享链接
var wsimg = "https://demo.qietu.com/demo/wxshare/wx.jpg"; //此处获取分享缩略图

</script>
<script src="https://demo.qietu.com/demo/wxshare/wxshare.js"></script>
</body>
</html>

wxshare.js



wx.ready(function () {
// 分享到朋友圈
wx.onMenuShareTimeline({
title: wstitle,
link: wslink,
imgUrl: wsimg,
success: function () {
alert('分享成功');
},
cancel: function () {
}
});

// 分享给朋友
wx.onMenuShareAppMessage({
title: wstitle,
desc: wsdesc,
link: wslink,
imgUrl: wsimg,
success: function () {
alert('分享成功');
},
cancel: function () {
}
});

// 分享到QQ
wx.onMenuShareQQ({
title: wstitle,
desc: wsdesc,
link: wslink,
imgUrl: wsimg,
success: function () {
alert('分享成功');
},
cancel: function () {
}
});

// 微信到腾讯微博
wx.onMenuShareWeibo({
title: wstitle,
desc: wsdesc,
link: wslink,
imgUrl: wsimg,
success: function () {
alert('分享成功');
},
cancel: function () {
}
});

// 分享到QQ空间
wx.onMenuShareQZone({
title: wstitle,
desc: wsdesc,
link: wslink,
imgUrl: wsimg,
success: function () {
alert('分享成功');
},
cancel: function () {
}
});

});

 

作为像我们07 08年开始做网页的人来说,深受w3c网页标准的影响,做前端切图的时候,网页代码都讲究一个代码标准规范,一个标准的网页,代码已经是符合规范的,css命名是语义化的,html代码是规范的,所以对于微信小程序最初是比较抗拒,因为它的代码本质wxml是改写了html,wxss是改写了css,对于这种重新定义标准的小程序来说,很不适应,不过最终耐不住微信流量大啊,所以还是琢磨开发了微信分享带图功能。

标签:, , ,

微信扫一扫二维码访问


16年前端经验
加微信好友直接沟通
了解《我的十年》