Преглед изворни кода

腾讯adq新版,如果通过非广告进入,通过此接口获取派单设置的清水书

liuzejian пре 2 година
родитељ
комит
7cdf04243e

+ 39 - 0
app/Http/Controllers/QuickApp/SendOrder/TxAdqNewNoAdvBookController.php

@@ -0,0 +1,39 @@
+<?php
+
+
+namespace App\Http\Controllers\QuickApp\SendOrder;
+
+
+use App\Exceptions\ApiException;
+use App\Http\Controllers\QuickApp\BaseController;
+use App\Modules\SendOrder\Models\QappSendOrder;
+
+class TxAdqNewNoAdvBookController extends  BaseController
+{
+    /**
+     * 腾讯广告新版,非点击广告访问链接的用户将看到配置的非广告书籍
+     * - 如果是通过腾讯adq广告投放的hap链接中,会有腾讯广告那边添加的参数,形如:hap://app/com.beidao.kuaiying.zsy/views/Reader?send_order_id=3402324&bid=5pNo6A7wqQmB1WgQygDjkOM9VZn2vXeY&chapter_id=1252&platform=tx_adq_new&back_name=%E5%BE%AE%E8%A7%86&back_pkg=com.tencent.weishi&back_url=weishi%3A%2F%2F
+     * - 否则,形如:hap://app/com.beidao.kuaiying.zsy/views/Reader?send_order_id=3521701&bid=PGZq37EQ1brwdgpeyaR8Voa42OXNk6Ap&chapter_id=23655059&platform=huawei_fyp
+     * @param $sendOrderId
+     * @return mixed
+     * @throws ApiException
+     */
+    public function getNoAdvBookInfo($sendOrderId) {
+        $extraConfig = QappSendOrder::where('send_order_id', $sendOrderId)
+            ->where('platform', 'tx_adq_new')
+            ->value('extra_config');
+        if($extraConfig) {
+            $extraConfigDecode = \json_decode($extraConfig, true);
+            $bid = $extraConfigDecode['txAdqNoAdvBid'] ?? 0;
+            $cid = $extraConfigDecode['txAdqNoAdvCid'] ?? 0;
+            if($bid) {
+                return response()->success([
+                    'bid' => Hashids::encode($bid),
+                    'cid' => $cid,
+                ]);
+            }
+        }
+
+        throw new ApiException(-1, '没有找到配置的书籍');
+    }
+}

+ 3 - 0
app/Http/Routes/QuickApp/QuickAppRoutes.php

@@ -132,6 +132,9 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
 
         //自定义活动
         Route::get('activity/detail', 'Activity\ActivityController@channelCustomActivityV3');
+
+        // 腾讯广告新版,非点击广告访问链接的用户将看到配置的非广告书籍
+        Route::get('txAdqNew/noAdvBookInfo', 'SendOrder\TxAdqNewNoAdvBookController@getNoAdvBookInfo');
     });
 
 

Разлика између датотеке није приказан због своје велике величине
+ 30 - 0
tests/Http/Controllers/QuickApp/WelcomeControllerTest.php