Ver Fonte

小程序码

shish há 3 anos atrás
pai
commit
95f6960e6e
2 ficheiros alterados com 25 adições e 7 exclusões
  1. 15 7
      app-ghs/controllers/ItemController.php
  2. 10 0
      common/components/stringUtil.php

+ 15 - 7
app-ghs/controllers/ItemController.php

@@ -8,6 +8,7 @@ use bizGhs\item\services\ItemService;
 use common\components\dict;
 use common\components\imgUtil;
 use common\components\miniUtil;
+use common\components\stringUtil;
 use common\components\util;
 use bizGhs\product\classes\ProductClass;
 use bizHd\wx\classes\WxOpenClass;
@@ -48,15 +49,22 @@ class ItemController extends BaseController
         $ptStyle = dict::getDict('ptStyle', 'hd');
         //scene不能超过32个字条
         $scene = "id=" . $id;
-        $imgUrl = miniUtil::generateUnlimitedMiniCode($merchant, $page, $scene, $ptStyle);
+        $miniCode = miniUtil::generateUnlimitedMiniCode($merchant, $page, $scene, $ptStyle);
+        $miniCode = $miniCode . '?x-oss-process=image/resize,m_fill,h_200,w_200';
+        $miniCodeBase64 = stringUtil::ossBase64($miniCode);
+
         $prefix = imgUtil::getPrefix();
-        $itemCover = $cover . '?x-oss-process=image/resize,m_fill,h_750,w_750';
-        $itemCoverBase64 = base64_encode($itemCover);
+
         //将结果中的加号(+)替换成短划线(-) 将结果中的正斜线(/)替换成下划线(_)将结果中尾部的所有等号(=)省略
-        $itemCoverBase64 = str_replace('/', '_', $itemCoverBase64);
-        $itemCoverBase64 = str_replace('+', '-', $itemCoverBase64);
-        $itemCoverBase64 = rtrim($itemCoverBase64, '=');
-        $url = $prefix . 'poster/1234.jpg?x-oss-process=image/watermark,image_' . $itemCoverBase64 . ',g_nw,x_0,y_0';
+        $itemCover = $cover . '?x-oss-process=image/resize,m_fill,h_750,w_750';
+        $itemCoverBase64 = stringUtil::ossBase64($itemCover);
+
+        $url = $prefix . 'poster/1234.jpg?x-oss-process=image';
+        //花材主图
+        $url .= '/watermark,image_' . $itemCoverBase64 . ',g_nw,x_0,y_0';
+        //小程序码
+        $url .= '/watermark,image_' . $miniCodeBase64 . ',g_se';
+
         $respond = ['imgUrl' => $url];
         util::success($respond);
     }

+ 10 - 0
common/components/stringUtil.php

@@ -10,6 +10,16 @@ class stringUtil
 
     const KEY = 'Aos4eLEmqpo8dmJleG610tR1KxUVQ5OzgkzpYM23PLqwSaU3Io';
 
+    //oss的base64方法 ssh 20230111
+    public static function ossBase64($str)
+    {
+        $str = base64_encode($str);
+        $str = str_replace('/', '_', $str);
+        $str = str_replace('+', '-', $str);
+        $str = rtrim($str, '=');
+        return $str;
+    }
+
     public static function passwordCheck($password)
     {
         if (preg_match('/^([0-9]{6,16})$/', $password)) {