Browse Source

海报二维码

牟新芬 3 years ago
parent
commit
d9f34a251d

+ 43 - 0
app/api/controller/v1/Index.php

@@ -6,9 +6,12 @@ use app\BaseController;
 use app\model\api\Product;
 use app\model\system\Category as CategoryModel;
 use app\model\system\ProductAttr;
+use app\model\system\Attachment;
 use app\Request;
+use EasyWeChat\Factory;
 use library\services\UtilService;
 use library\services\QrcodeService;
+use library\services\upload\Upload as Upload;
 use think\facade\Db;
 
 class Index extends BaseController
@@ -133,4 +136,44 @@ class Index extends BaseController
         return app('json')->successful($data);
     }
 
+    /**
+     * 商品分享二维码
+     * @param Request $request
+     * @param $id
+     * @return mixed
+     */
+    public function code(Request $request, $id)
+    {
+        if (!$id || !($storeInfo = Product::getValidProduct($id, 'id'))) return app('json')->fail('商品不存在或已下架');
+        $user = $request->user();
+        try {
+            //小程序
+            $name = $id . '_' . $user['uid'] . '_product.jpg';
+            $imageInfo = Attachment::getInfo($name, 'name');
+            if (!$imageInfo) {
+                $query = 'id=' . $id . '&uid=' . $user['uid'];
+                $mini = Factory::miniProgram(config('weixin')['mini_program']);
+                $res = $mini->app_code->getQrCode('pages/product/detail?'.$query, 280);
+                if (!$res) return app('json')->fail('二维码生成失败');
+                $upload = new Upload(2,config('upload')['stores']['qiniu']);
+                $res = $upload->to('routine/product')->validate()->stream($res, $name);
+                if ($res === false) {
+                    return app('json')->fail($upload->getError());
+                }
+                $imageInfo = $upload->getUploadInfo();
+                $remoteImage = UtilService::remoteImage($imageInfo['dir']);
+                if (!$remoteImage['status']) return app('json')->fail('小程序二维码未能生成');
+                Attachment::attachmentAdd($imageInfo['name'], $imageInfo['size'], $imageInfo['type'], $imageInfo['dir'], $imageInfo['thumb_path'], 1, 2, $imageInfo['time'], 2);
+                $url = $imageInfo['dir'];
+            } else $url = $imageInfo['att_dir'];
+            return app('json')->successful(['code' => $url]);
+        } catch (\Exception $e) {
+            return app('json')->fail($e->getMessage(), [
+                'code' => $e->getCode(),
+                'line' => $e->getLine(),
+                'message' => $e->getMessage()
+            ]);
+        }
+    }
+
 }

+ 10 - 0
app/api/route/index.php

@@ -2,6 +2,7 @@
 namespace app\api\route;
 
 use app\api\middleware\AllowOriginMiddleware;
+use app\api\middleware\UserMiddleware;
 use think\facade\Route;
 
 /**
@@ -20,3 +21,12 @@ Route::group('index',function () {
 })->middleware([
     AllowOriginMiddleware::class
 ]);
+
+Route::group(function () {
+    //产品分享二维码
+    Route::get('product/code/:id', 'v1.index/code')->name('productCode');
+
+})->middleware([
+    AllowOriginMiddleware::class,
+    UserMiddleware::class
+]);

+ 0 - 1
app/model/system/OrderInfo.php

@@ -119,7 +119,6 @@ class OrderInfo extends BaseModel
             ->field("of.*,(SELECT title from table_express where id = of.exp_id) as exp_name,".
                 "o.order_id,o.pay_time,w.name as warehouse_name,".
                 "(select name from table_platform where id = of.platform_id) as platform_name,".
-                "(select name from table_site where sassid = of.sassid) as site_name,".
                 "u.mobile as user_mobile,u.avatar as user_avatar"
             )
             ->alias("of")

+ 3 - 3
app/system/controller/v1/Category.php

@@ -24,9 +24,9 @@ class Category extends  BaseController{
      */
     public function list(Request $request){
         [$cate_name,$pid,$is_show] = UtilService::getMore([
-            ['cate_name',''],
-            ['pid','0'],
-            ['is_show','0']
+            ['cate_name', ''],
+            ['pid', 0],
+            ['is_show', 0]
         ],$request,true);
         $menuMenu = new CategoryModel();
         $menus = $menuMenu->getArMenu($cate_name,$pid,$is_show);

+ 4 - 2
app/system/controller/v1/Sys.php

@@ -45,10 +45,12 @@ class Sys extends  BaseController
             ['weixin_logo',''],
             ['tag',''],
             ['record_code',''],
+            ['share_title',''],
+            ['share_desc',''],
             ['is_transmatic',0]
         ],$request);
         (new SysModel())->saveSys($post);
         return app('json')->success("数据保存成功");
     }
-    
-}
+
+}

+ 6 - 5
config/qiniu.php

@@ -9,9 +9,10 @@
 // | Date: 2020-08-31 15:20
 // +----------------------------------------------------------------------
 
-return ['accessKeyId'       => 'K-P9_cqutGZOchFKMMaNPStTQLnTP-xer97Qe2ug',
-        'accessKeySecret'   => 'R_WUyYNp7K1CI8w5yqqVnQ0pOAQfE_E7cQ4nkZI2',
-        'endpoint'          => 'https://imgs.boofly.cn/',
-        'bucket'            => 'live-product',
-        'bingW'             => true //如果绑定域名请设置Ture,如果没有请设置flase
+return [
+    'accessKeyId'       => 'K-P9_cqutGZOchFKMMaNPStTQLnTP-xer97Qe2ug',
+    'accessKeySecret'   => 'R_WUyYNp7K1CI8w5yqqVnQ0pOAQfE_E7cQ4nkZI2',
+    'endpoint'          => 'https://imgs.boofly.cn/',
+    'bucket'            => 'live-product',
+    'bingW'             => true, //如果绑定域名请设置Ture,如果没有请设置flase
 ];

+ 7 - 1
config/upload.php

@@ -17,6 +17,12 @@ return [
         //本地上传配置
         'local' => [],
         //七牛云上传配置
-        'qiniu' => [],
+        'qiniu' => [
+            'accessKey'     => 'K-P9_cqutGZOchFKMMaNPStTQLnTP-xer97Qe2ug',
+            'secretKey'     => 'R_WUyYNp7K1CI8w5yqqVnQ0pOAQfE_E7cQ4nkZI2',
+            'uploadUrl'     => 'imgs.boofly.cn',
+            'storageName'   => 'live-product',
+            'storageRegion' => 's3-cn-south-1.qiniucs.com'
+        ]
     ]
 ];