1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 微信公众号二次开发

微信公众号二次开发

时间:2022-01-05 07:23:35

相关推荐

微信公众号二次开发

微信是由腾讯公司推出,最先有的就是微信公众平台,很多公司也开始使用微信公众平台来宣传自己的形象已经产品,本来最开始只是利用微信公众平台进行图文推送,但随着微信越来越开放,推出了微信开发平台,微信二次开发便诞生了。其实用通俗一点的话讲就是在微信上面建设自己需要的一些板块,而这些版块是要自己进行开发的,比如大转盘、微投票等等。

而且我们的任务就是学习 微信公众号二次开发,用代码实现一些前台的功能,比如:菜单栏,access_token的获取,用josn方法将字符串与数组之间进行转换,等等。。。。

下面就跟我一起看看代码吧!

access_token的获取

<?php

define('APPID', 'wxc18990fb6a7bec00');

define('APPSECRET', '4b60639bd3cbad1934fa310e09536441');

define('TOKEN_FILE', 'access_token.txt');

$access_token = access_token();

echo $access_token;

function access_token(){

//判断是否存在该文件,如果存在,就读取并取出(时间)若没有,则调用getNewAccess_token函数

if(is_file(TOKEN_FILE)){

$str = file_get_contents(TOKEN_FILE);

$arr = json_decode($str,true);

//判断是否过期

if(time()-$arr['create_time'] > $arr['expires_in']-200){

return getNewAccess_token();

}else{

return $arr['access_token'];

}

}else{

return getNewAccess_token();

}

}

function getNewAccess_token(){

$url = "https://api./cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET ."";

// echo($url);

//接入api

//file_get_contents();读取文件

//设置一个新的curl资源

$ch = curl_init();

//设置url和相应的选项

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_SSLVERSION, 1);

//抓取url并把它传递给浏览器

$str = curl_exec($ch);

//关闭curl,释放系统资源

curl_close($ch);

//将其转化成数组

$arr = json_decode($str,true);

//将时间写入数组

$arr['create_time'] = time();

$str = json_encode($arr);

//写入文件

file_put_contents(TOKEN_FILE, $str);

return $arr['access_token'];

}

?>

自定义菜单的加入

<?php

$str = <<<MENU

{

"button": [

{

"type": "click",

"name": "今日歌曲",

"key": "V1001_TODAY_MUSIC"

},

{

"name": "菜单",

"sub_button": [

{

"type": "view",

"name": "搜索",

"url": "/"

},

{

"type": "click",

"name": "赞一下我们",

"key": "V1001_GOOD"

}

]

}

]

}

MENU;

$arr = json_decode($str,true);

echo "<pre>";

print_r($arr);

echo "</pre>";

$arr1 = array(

array('type'=>'click','name'=>"今日歌曲",'id'=>1,'pid'=>0),

array('name'=>"菜单",'id'=>2,'pid'=>0),

array('type'=>'view','name'=>'搜索','url'=>'','id'=>3,'pid'=>2),

array('type'=>'click','name'=>"赞一下",'id'=>4,'pid'=>2),

);

$arr2 = $arr1;

foreach ($arr1 as $k1 => $row1) {

foreach ($arr2 as $k2 => $row2) {

if($row1['id'] == $row2['pid']){

$arr1[$k1]['sub_button'][] = $row2;

unset($arr1[$k2]);

}

}

}

print_r($arr1);

$arr= array();

$arr['button']=$arr1;

echo "<pre>";

print_r($arr);

echo "</pre>";

$str=json_encode($arr);

josn方法的转换

$str=json_encode($arr);

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