最近,学习了微信公众号中的菜单,深有体会。
//关于获取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和微信公众号中自定义菜单的内容,通过两个方法完成的。
以下的页面便是我们做的项目,这就是自定义菜单,可以提供发布功能,同步以及删除功能。