<?phpclass RoutineCode{ /** * 获取小程序内访问页面的二维码 * @param string $path * @param int $width * @return mixed */ public static function getPages($path = '',$width = 430){ $accessToken = self::get_access_token(); $url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=".$accessToken; $data['path'] = $path; $data['width'] = $width; return self::curlPost($url,json_encode($data)); } /** * 获取access_token access_token保存在文件中 * @return mixed */ public static function get_access_token(){ $data = json_decode(file_get_contents("access_token.json")); if ($data->expire_time < time()) { $res = self::getAccessToken(); $access_token = $res->access_token; if ($access_token) { $data->expire_time = time() + 7000; $data->access_token = $access_token; $fp = fopen("access_token.json", "w"); fwrite($fp, json_encode($data)); fclose($fp); } }else { $access_token = $data->access_token; } return $access_token; } /** * @param string $routineAppId * @param string $routineAppSecret * @return mixed */ public static function getAccessToken(){ $routineAppId = 'routineAppId'; $routineAppSecret = 'routineAppSecret'; $url ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$routineAppId."&secret=".$routineAppSecret; return json_decode(self::curlGet($url),true); } /** * curl get方式 * @param string $url * @param array $options * @return mixed */ public static function curlGet($url = '', $options = array()) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); if (!empty($options)) { curl_setopt_array($ch, $options); } //https请求 不验证证书和host curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $data = curl_exec($ch); curl_close($ch); return $data; } /** * curl post * @param string $url * @param string $postData * @param array $options * @return mixed */ public static function curlPost($url = '', $postData = '', $options = array()) { if (is_array($postData)) { $postData = http_build_query($postData); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置cURL允许执行的最长秒数 if (!empty($options)) { curl_setopt_array($ch, $options); } //https请求 不验证证书和host curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $data = curl_exec($ch); curl_close($ch); return $data; }}?>