|
|
@@ -1573,6 +1573,32 @@ class miniUtil
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 记录 getwxacodeunlimit 响应(成功为 JPEG 二进制,失败为 JSON,不可 json_encode 整段 body)
|
|
|
+ */
|
|
|
+ private static function logWxacodeUnlimitResponse(array $context, $result)
|
|
|
+ {
|
|
|
+ $body = is_string($result) ? $result : '';
|
|
|
+ $bytes = strlen($body);
|
|
|
+ $contextJson = Json::encode($context);
|
|
|
+
|
|
|
+ if ($bytes > 0 && isset($body[0]) && $body[0] === '{') {
|
|
|
+ try {
|
|
|
+ $err = Json::decode($body, true);
|
|
|
+ if (is_array($err)) {
|
|
|
+ Yii::error('小程序码接口返回错误 context=' . $contextJson . ' response=' . Json::encode($err), __METHOD__);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Yii::warning('小程序码接口返回疑似 JSON 但解析失败 context=' . $contextJson . ' preview=' . substr($body, 0, 200), __METHOD__);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $isJpeg = $bytes >= 2 && substr($body, 0, 2) === "\xFF\xD8";
|
|
|
+ Yii::info('小程序码接口返回图片 context=' . $contextJson . ' bytes=' . $bytes . ' is_jpeg=' . ($isJpeg ? 1 : 0), __METHOD__);
|
|
|
+ }
|
|
|
+
|
|
|
//小程序码生成,永久有效,数量暂无限制 ssh 2020.4.17
|
|
|
public static function normalizeMiniEnvVersion($envVersion = 'release')
|
|
|
{
|
|
|
@@ -1609,7 +1635,14 @@ class miniUtil
|
|
|
$data["env_version"] = $envVersion;
|
|
|
}
|
|
|
$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
|
|
|
- Yii::info('获取小程序图片资源:' . json_encode($result));
|
|
|
+ self::logWxacodeUnlimitResponse([
|
|
|
+ 'merchantId' => $id,
|
|
|
+ 'page' => $page,
|
|
|
+ 'scene' => $scene,
|
|
|
+ 'ptStyle' => $ptStyle,
|
|
|
+ 'env_version' => $envVersion,
|
|
|
+ 'saveAs' => $behind . $fileName,
|
|
|
+ ], $result);
|
|
|
file_put_contents($file, $result);
|
|
|
//上传oss
|
|
|
$obj = $behind . $fileName;
|
|
|
@@ -1641,7 +1674,13 @@ class miniUtil
|
|
|
}
|
|
|
$data["scene"] = $scene;
|
|
|
$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
|
|
|
- Yii::info('获取小程序图片资源:' . json_encode($result));
|
|
|
+ self::logWxacodeUnlimitResponse([
|
|
|
+ 'merchantId' => $id,
|
|
|
+ 'page' => $page,
|
|
|
+ 'scene' => $scene,
|
|
|
+ 'ptStyle' => $ptStyle,
|
|
|
+ 'saveAs' => $behind . $fileName,
|
|
|
+ ], $result);
|
|
|
file_put_contents($file, $result);
|
|
|
//上传oss
|
|
|
$obj = $behind . $fileName;
|