public static function reqMenu($interface, $data) { $token = tokenStub::getToken(); //retry 3 times $retry = 3; while ($retry) { $retry--; if (false === $token) { interface_log(DEBUG, EC_OTHER, "get token error!"); return false; } $url = WX_API_URL . "{$interface}?access_token=" . $token; interface_log(DEBUG, 0, "req url:" . $url . " req data:" . json_encode($data)); $ret = doCurlPostRequest($url, $data); interface_log(DEBUG, 0, "response:" . $ret); $retData = json_decode($ret, true); if (!$retData || $retData['errcode']) { interface_log(DEBUG, EC_OTHER, "req create menu error"); if ($retData['errcode'] == 40014) { $token = tokenStub::getToken(true); } } else { return $retData; } } return false; }
function create_menu($access_token, $menu_array) { array_urlencode($menu_array); //var_dump($menu_array); //json_encode中文会乱码,需要先使用urlencode,然后对json_encode的返回值进行urldecode $menu_json = urldecode(json_encode($menu_array)); //echo $menu_json; $create_menu_url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" . $access_token; $json_result = doCurlPostRequest($create_menu_url, $menu_json); //var_dump($json_result); $json_array = json_decode($json_result); var_dump($json_array); }