wechat($scene, $width, $page); } public function wechat($scene, $width = 430, $page = null) { /** @var \EasyWeChat\MiniProgram\Application $wechat */ $wechat = \app\modules\client\models\ApiModel::getWechat(); $data = [ 'width' => $width, ]; if ($page) { $data['page'] = $page; } \Yii::warning("GET WXAPP QRCODE:" . "scene => ".$scene." data => ". json_encode($data)); $response = $wechat->app_code->getUnlimit($scene, $data); \Yii::warning($response); // 保存小程序码到文件 if ($response instanceof \EasyWeChat\Kernel\Http\StreamResponse) { if(!is_dir(\Yii::$app->runtimePath . '/image')) { mkdir(\Yii::$app->runtimePath . '/image'); } $file_name = md5(base64_encode($response->getBody())) . '.jpg'; $save_path = \Yii::$app->runtimePath . '/image/'; $response->saveAs($save_path, $file_name); //返回图片 return [ 'code' => 0, 'file_path' => $save_path.$file_name, ]; } else { //返回文字 return [ 'code' => 1, 'msg' => $response['errmsg'], ]; } } //保存图片内容到临时文件 private function saveTempImageByContent($content) { $save_path = \Yii::$app->runtimePath . '/image/' . md5(base64_encode($content)) . '.jpg'; if(!is_dir(\Yii::$app->runtimePath . '/image')) { mkdir(\Yii::$app->runtimePath . '/image'); } $fp = fopen($save_path, 'w'); fwrite($fp, $content); fclose($fp); return $save_path; } }