最近,学习了微信公众号中的菜单,深有体会。
//关于获取Access_token
public function test(){
$accessToken = getAccess_token();
var_dump($accessToken);
}
//关于自定义菜单
public function menuedit(){
// $mp=getAccess_token();
$mp=getCurrentMp();
// echo $mp;
// exit;
if(empty($mp)){
$this->ajaxReturn(array('error'=>true,'msg'=>'没有该公众号!','url'=>U('mp/index')));
exit;
}
$data1=I('post.data');
// $this->ajaxReturn($data);
$arr=array();
foreach ($data1 as $key => $value) {
$row=array();
$row['mp_id']=$mp['id'];
$row['index']=$value['id'];
$row['pindex']=$value['pid'];
$row['name']=$value['name'];
$row['content']=$value['code'];
$row['type']=$value['type'];
$row['sort']=$value['sort'];
$arr[]=$row;
}
$model=M('mp_menu');
$model->where("mp_id={$mp['id']}")->delete();
$model->addAll($arr);
// $this->ajaxReturn(array('error'=>false,'data'=>$arr));
// exit;
$data2=$data1;
foreach ($data1 as $key1 => $value1) {
foreach ($data2 as $key2 => $value2) {
if($value1['id']==$value2['pid']){
$data1[$key1]['type']='';
$data1[$key1]['code']='';
break;
}
}
unset($data1[$key1]['sort']);
if($value['type']='event'){
$value['type']=$value['code'];
$value['code']='k_'.rand(100,999);
}
}
include APP_PATH . 'LaneWeChat/lanewechat.php';
$ret = \LaneWeChat\Core\Menu::setMenu($data);
file_put_contents('menu.txt',$ret);
// $this->ajaxReturn($ret);
if($ret === true){
$this->ajaxReturn(array('msg'=>'创建菜单成功!'));
}else{
$this->ajaxReturn(array('msg'=>$ret));
}
}
以上代码为获取access_token和微信公众号中自定义菜单的内容,通过两个方法完成的。
以下的页面便是我们做的项目,这就是自定义菜单,可以提供发布功能,同步以及删除功能。