1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > H5页面分享到朋友圈 自定义标题描述封面图 前端+php代码

H5页面分享到朋友圈 自定义标题描述封面图 前端+php代码

时间:2024-06-04 06:26:03

相关推荐

H5页面分享到朋友圈 自定义标题描述封面图   前端+php代码

<script type="text/javascript">

console.log('huati')

wx.config({

debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: 'XXXXXXXXXXXXXX', // 必填,公众号的唯一标识

timestamp: "{$wxdata['timestamp']}", // 必填,生成签名的时间戳

nonceStr: "{$wxdata['noncestr']}", // 必填,生成签名的随机串

signature: "{$wxdata['signature']}",// 必填,签名,见附录1

jsApiList: [

'checkJsApi',

'onMenuShareTimeline',

'onMenuShareAppMessage',

'onMenuShareQQ',

'onMenuShareWeibo',

'onMenuShareQZone',

'hideMenuItems',

'showMenuItems',

'hideAllNonBaseMenuItem',

'showAllNonBaseMenuItem',

'translateVoice',

'startRecord',

'stopRecord',

'onVoiceRecordEnd',

'playVoice',

'onVoicePlayEnd',

'pauseVoice',

'stopVoice',

'uploadVoice',

'downloadVoice',

'chooseImage',

'previewImage',

'uploadImage',

'downloadImage',

'getNetworkType',

'openLocation',

'getLocation',

'hideOptionMenu',

'showOptionMenu',

'closeWindow',

'scanQRCode',

'chooseWXPay',

'openProductSpecificView',

'addCard',

'chooseCard',

'openCard'

] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

});

wx.ready(function(){

// console.log(wx)

wx.onMenuShareTimeline({

title: 'test1', // 分享标题

link: "{$wxdata['link']}", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

imgUrl: '/chinaxfta/img/logo.png', // 分享图标

success: function () {

//console.log('分享成功1');

// 用户确认分享后执行的回调函数

},

cancel: function () {

//console.log('分享失败1');

// 用户取消分享后执行的回调函数

}

});

wx.onMenuShareAppMessage({

title: 'test1', // 分享标题

desc: 'test1的描述', // 分享描述

link: "{$wxdata['link']}", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

imgUrl: '/chinaxfta/img/logo.png', // 分享图标

type: 'link', // 分享类型,music、video或link,不填默认为link

dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空

success: function () {

//console.log('分享成功');

// 用户确认分享后执行的回调函数

},

cancel: function () {

//console.log('分享失败');

// 用户取消分享后执行的回调函数

}

});

})

</script>

<script src="/jquery/1.10.2/jquery.min.js"></script>

<!-- 9.27分享 -->

<script src="https://res./open/js/jweixin-1.0.0.js"></script>

//获取微信签名所需的access_token

public function getAccessToken() {

//查询数据表里面的值

$info = M('wxtoken')->find();

if($info['expires_in'] < time()){

//获取token的值

$url_token = 'https://api./cgi-bin/token?grant_type=client_credential&appid=XXXXX&secret=XXXXXXX';

$tmp = $this->CURLSend($url_token); //json格式

//var_dump($tmp);die;

$obj = json_decode($tmp);

if($obj->access_token != null){

$data['access_token'] = $obj->access_token;

$data['expires_in'] = time() + $obj->expires_in;

if($info['id']){

$res = M('wxtoken')->where('id='.$info['id'])->save($data);

}else{

$res = M('wxtoken')->add($data);

}

if($res){

$data_new = $obj->access_token;

}else{

$data_new = 'error';

}

return $data_new;

}else return 'error';

}else{

return $info['access_token'];

}

}

//获取微信签名所需的 ticket

public function getTicket(){

$token = $this->getAccessToken();

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

$tmp = $this->CURLSend($url); //json格式

$obj = json_decode($tmp);

return $obj->ticket;

}

//整理数据并获取微信签名

public function generateSign(){

$noncestr = uniqid();

$timestamp = time();

$url = 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];

$ticket = $this->getTicket();

if ($ticket) {

$str = 'jsapi_ticket='.$ticket.'&noncestr='.$noncestr.'&timestamp='.$timestamp.'&url='.$url;

$signature = sha1($str);

$data['noncestr'] = $noncestr;

$data['timestamp'] = $timestamp;

$data['signature'] = $signature;

$data['appId'] = 'XXXXXX';

$data['link'] = $url;

return $data;

}

}

function CURLSend($url){

$timeout = 15;

$con = curl_init((string)$url);

curl_setopt($con, CURLOPT_HEADER, false);

curl_setopt($con, CURLOPT_RETURNTRANSFER, true);

curl_setopt($con, CURLOPT_TIMEOUT, (int)$timeout);

return curl_exec($con);

}

$wxdata = $this->generateSign();

$this->assign('wxdata',$wxdata);

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