1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信分享自定义图标大小限制_网站微信自定义分享代码 可以自定义分享图片标题描述(

微信分享自定义图标大小限制_网站微信自定义分享代码 可以自定义分享图片标题描述(

时间:2023-09-09 10:52:49

相关推荐

微信分享自定义图标大小限制_网站微信自定义分享代码 可以自定义分享图片标题描述(

在网站根目录下新建js目录,放入以下2个文件

js/jssdk.php

js/share.js

jssdk.php 代码如下

$url=$_GET['url'];//-06-27

classJSSDK{

private$appId;

private$appSecret;

private$url;//-06-27

publicfunction__construct($appId,$appSecret,$url){

$this->appId=$appId;

$this->appSecret=$appSecret;

$this->url=$url;//-06-27

}

publicfunctiongetSignPackage(){

$jsapiTicket=$this->getJsApiTicket();

//注意URL一定要动态获取,不能hardcode.

$protocol=(!empty($_SERVER['HTTPS'])&&$_SERVER['HTTPS']!=='off'||

$_SERVER['SERVER_PORT']==443)?"https://":"http://";

//$url="$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";//-06-27

$url=$this->url;//-06-27

$timestamp=time();

$nonceStr=$this->createNonceStr();

//这里参数的顺序要按照key值ASCII码升序排序

$string="jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";

$signature=sha1($string);

$signPackage=array(

"appId"=>$this->appId,

"nonceStr"=>$nonceStr,

"timestamp"=>$timestamp,

"url"=>$url,

"signature"=>$signature,

"rawString"=>$string

);

return$signPackage;

}

privatefunctioncreateNonceStr($length=16){

$chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

$str="";

for($i=0;$i

$str.=substr($chars,mt_rand(0,strlen($chars)-1),1);

}

return$str;

}

privatefunctiongetJsApiTicket(){

//jsapi_ticket应该全局存储与更新,以下代码以写入到文件中做示例

$data=json_decode(file_get_contents("jsapi_ticket.json"));

if($data->expire_time

$accessToken=$this->getAccessToken();

//如果是企业号用以下URL获取ticket

//$url="https://qyapi./cgi-bin/get_jsapi_ticket?access_token=$accessToken";

$url="https://api./cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";

$res=json_decode($this->httpGet($url));

$ticket=$res->ticket;

if($ticket){

$data->expire_time=time()+7000;

$data->jsapi_ticket=$ticket;

$fp=fopen("jsapi_ticket.json","w");

fwrite($fp,json_encode($data));

fclose($fp);

}

}else{

$ticket=$data->jsapi_ticket;

}

return$ticket;

}

privatefunctiongetAccessToken(){

//access_token应该全局存储与更新,以下代码以写入到文件中做示例

$data=json_decode(file_get_contents("access_token.json"));

if($data->expire_time

//如果是企业号用以下URL获取access_token

//$url="https://qyapi./cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";

$url="https://api./cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";

$res=json_decode($this->httpGet($url));

$access_token=$res->access_token;

if($access_token){

$data->expire_time=time()+7000;

$data->access_token=$access_token;

$fp=fopen("access_token.json","w");

fwrite($fp,json_encode($data));

fclose($fp);

}

}else{

$access_token=$data->access_token;

}

return$access_token;

}

privatefunctionhttpGet($url){

$curl=curl_init();

curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);

curl_setopt($curl,CURLOPT_TIMEOUT,500);

curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,true);

curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,true);//https

curl_setopt($curl,CURLOPT_URL,$url);

$res=curl_exec($curl);

curl_close($curl);

return$res;

}

}

$jssdk=newJSSDK("AAPID","appSecret",$url);

$signPackage=$jssdk->GetSignPackage();

$tmp=json_encode(array('appId'=>$signPackage["appId"],'timestamp'=>$signPackage["timestamp"],

'nonceStr'=>$signPackage["nonceStr"],'signature'=>$signPackage["signature"],'url'=>$signPackage["url"]));

$callback=$_GET['callback'];

echo$callback.'('.$tmp.')';

exit;

?>

share.js代码如下

url=location.href;

$.ajax({

type:"get",

url:"../js/jssdk.php?url="+url,

dataType:"jsonp",

jsonp:"callback",

jsonpCallback:"success_jsonpCallback",

success:function(data){

wx.config({

appId:data.appId,

timestamp:data.timestamp,

nonceStr:data.nonceStr,

signature:data.signature,

jsApiList:['chackJsApi','onMenuShareTimeline','onMenuShareAppMessage',

'onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone']

});

},

error:function(data){

alert("连接失败!");

}

});

wx.ready(function(){

varshareData={

title:title,

desc:desc,

link:url,

imgUrl:img,

success:function(res){

//分享成功

},

cancel:function(res){

alert('已取消分享');

}

};

wx.onMenuShareAppMessage(shareData);

wx.onMenuShareTimeline(shareData);

wx.onMenuShareQQ(shareData);

wx.onMenuShareWeibo(shareData);

wx.onMenuShareQZone(shareData);

});

部署方式 页面底部添加如下代码

varurl='你的域名';//用户要分享的网址

vartitle='您的标题';//分享的标题

varimg='您的图片地址';//分享的图片

vardesc='您的描述信息';//分享的描述信息

微信分享自定义图标大小限制_网站微信自定义分享代码 可以自定义分享图片标题描述(支持https)...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。