微信公众号二次开发

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

而且我们的任务就是学习  微信公众号二次开发,用代码实现一些前台的功能,比如:菜单栏,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.weixin.qq.com/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": "http://www.soso.com/"
                }, 
                {
                    "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'=>'www.baidu.com','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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值