微信公众号开发(三)--自定义菜单

来源:互联网 发布:王候将相宁有种乎翻译 编辑:程序博客网 时间:2024/05/22 06:56

自定义菜单

参考资料

  1. 微信公众平台
  2. 微信公众号开发文档

遇到的问题

1. 当配置服务器信息并启用过后,在微信公众平台设置的自定义菜单失效了。2. 遇到{"errcode":40033,"errmsg":"invalid charset. please check your request, if include  \\uxxxx will create fail! hint: [OMwCmA0952vr26]"}错误,json_encode对中文默认会编码

这里写图片描述

通过接口进行设置自定义菜单

官方文档—创建自定义菜单

//只展示设置链接的btn$domain = 'http://xxx';$menu = [ 'button'=>[     [         'name'=>'商城',         'sub_button'=>[             ['name'=>'首页','type'=>'view','url'=>$domain.'/index/index/index'],             ['name'=>'0元购物','type'=>'view','url'=>$domain.'/index/goods/zerogoods'],         ]      ],     ['name'=>'热门租赁','type'=>'view','url'=>$domain.'/index/rent/index'],     ['name'=>'个人中心','type'=>'view','url'=>$domain.'/index/index/user'], ],];//{"errcode":40033,"errmsg":"invalid charset. please check your request, if include  \\uxxxx will create fail! hint: [OMwCmA0952vr26]"}//没JSON_UNESCAPED_UNICODE 参数会报上述错误$menuJson = json_encode($menu, JSON_UNESCAPED_UNICODE);$accssToken = '';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$accessToken);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $menuJson);curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json','Content-Length: ' . strlen($menuJson)]);$res= curl_exec($ch);if (curl_errno($ch)) {   return curl_error($ch);}curl_close($ch);//打印设置结果dump($res);
原创粉丝点击