Przeglądaj źródła

Merge branch 'stabble' into yunqi

zz 6 lat temu
rodzic
commit
ecc2306a38

+ 2 - 0
app/Http/Controllers/Wap/Book/BookController.php

@@ -98,6 +98,8 @@ class BookController extends BaseController
         if(!$this->checkUid()){
             return response()->error('WAP_NOT_LOGIN');
         }
+        // 上传的bid bug问题
+        if(strstr($bid,',')) $bid = explode(',',$bid)[0];
 
         if($this->uid == env('SPECIAL_USER_LOG',2)){
             myLog('special')->info('BookController::index bid is'.$bid);

+ 22 - 0
app/Http/Controllers/Wap/Book/ChapterController.php

@@ -306,10 +306,18 @@ class ChapterController extends BaseController
             return response()->error('WAP_NOT_LOGIN');
         }
         $this->en_bid = $bid;
+
         $bid = Hashids::decode($bid)[0];
         //获取图书信息
         $book_info = BookConfigService::getBookById($bid);
 
+        //是否开启全站按章模式
+        $global_charge_by_chapter_channels = explode(',',env('GLOBAL_CHARGE_BY_CHAPTER_CHANNEL'));
+        if(in_array($this->distribution_channel_id,$global_charge_by_chapter_channels))
+        {
+            $book_info->charge_type = 'CHAPTER';
+        }
+
         if (empty($book_info)) return response()->error('WAP_SYS_ERROR');
         $this->book_info = $book_info;
         $this->cid = $cid;
@@ -339,6 +347,14 @@ class ChapterController extends BaseController
         //用户是否强关
         $this->is_had_subscribe = $is_had_subscribe = $inter_not_need_sub ? true : $this->getSubscribe();
 
+        //判断当前是否有强制显示服务号信息的cookie、已经关注 跳转到服务号信息引导页
+        if(Cookie::get('force_show_qrcode') && $is_had_subscribe)
+        {
+            $force_read_url = '/subscribe/getFromUser';//服务号信息引导页
+            $force_read_data = ['src' => $force_read_url];
+            return response()->error('WAP_NOT_SUBSCRIBE', $force_read_data);
+        }
+        
         //获取强关章节数
         $subscribe_seq = $this->getSubscribeChapterNum($book_info);
         //章节是否需要强关 TRUE:不需要,false:需要
@@ -370,6 +386,7 @@ class ChapterController extends BaseController
             $this->getChapter();
             return response()->item(new ChapterTransformer, $this->chapter);
         }
+
         //需要强制关注 不是vip章节 已经关注了
         if (!$force_subscribe && $chapter->is_vip == 0 && $is_had_subscribe) {
             $this->getChapter();
@@ -677,6 +694,11 @@ class ChapterController extends BaseController
         return false;
     }
 
+    private function getOfficialAccountForceReadNotice()
+    {
+
+    }
+
     //强关页面的统计
     private function subscribeStats()
     {

+ 4 - 3
app/Http/Controllers/Wap/Pay/OrdersController.php

@@ -144,6 +144,7 @@ class OrdersController extends Controller
         if (empty($openid)) {
             $trade_no = date("YmdHis") . hexdec(uniqid());
             $params = compact('uid', 'product_id', 'distribution_channel_id', 'send_order_id', 'bid', 'trade_no', 'pay_redirect_url', 'fromtype', 'activity_id', 'n','suid');
+
             $redirect_url = env('CREATE_PAY_URL') . '?' . http_build_query($params);
             //$redirect_url  = env('CREATE_PAY_URL').'?uid='.$uid.'&product_id='.$product_id.'&distribution_channel_id='
             // .$distribution_channel_id.'&send_order_id='.$send_order_id.'&bid='.$bid.'&pay_redirect_url='.urlencode($pay_redirect_url)
@@ -314,9 +315,9 @@ class OrdersController extends Controller
         if ($request->has('cid')) {
             $pay_info['pay_redirect_url'] = $pay_info['pay_redirect_url'] . '&cid=' . $request->input('cid');
         }
-        if ($hash_bid) {
-            $pay_info['pay_redirect_url'] = $pay_info['pay_redirect_url'] . '&bid=' . $hash_bid;
-        }
+//        if ($hash_bid) {
+//            $pay_info['pay_redirect_url'] = $pay_info['pay_redirect_url'] . '&bid=' . $hash_bid;
+//        }
 
         if ($suid) {
             $prize_fee = (int)(($product_info->price*100)*0.1);

+ 36 - 0
app/Http/Controllers/Wap/Subscribe/SubscribeController.php

@@ -7,6 +7,7 @@ use GuzzleHttp\Client;
 use App\Http\Controllers\Wap\BaseController;
 use Redis;
 use App\Modules\OfficialAccount\Services\OfficialAccountService;
+use App\Modules\OfficialAccount\Services\ForceSubscribeService;
 use Cookie;
 use Hashids;
 use Log;
@@ -103,4 +104,39 @@ class SubscribeController extends BaseController
 
         return false;
     }
+
+    //获取用户的强关信息
+    function getFromUser()
+    {
+        Cookie::queue('force_show_qrcode', 1, -1);
+        $uid = $this->uid;
+        $user_info = ForceSubscribeService::forceSubscribeUsersByUid(compact('uid'));
+        if(isset($_GET['d']))
+        {
+        dump($user_info);
+            }
+        if($user_info)
+        {
+            $appid = $user_info->appid;
+            $official_account = OfficialAccountService::officialAccountByAppid(compact('appid'));
+            if(isset($_GET['d']))
+            {
+                dump($official_account);
+            }
+            $title = $official_account->nickname;
+            $img = 'https://open.weixin.qq.com/qr/code?username='.$official_account->name;
+        }else{
+            return redirect()->to('/recent');
+        }
+
+        $head_img_pool = [
+            'https://cdn-novel.iycdm.com/h5/subscribe/headimg/1.png',
+            'https://cdn-novel.iycdm.com/h5/subscribe/headimg/2.png',
+            'https://cdn-novel.iycdm.com/h5/subscribe/headimg/3.png'
+        ];
+
+        $head_img = array_random($head_img_pool);
+
+        return view('wap.userSubInfo',compact('head_img','img','title'));
+    }
 }

+ 6 - 0
app/Http/Controllers/Wap/Web/RedirectController.php

@@ -109,6 +109,12 @@ class RedirectController extends Controller
                 $uv = Redis::hget('send_order_uv_' . $param, $key);
                 $this->updateSendOrderTime($param, $uv);
             }
+
+            //判断是否强制到服务号阅读
+            if($link->force_show_qrcode)
+            {
+                Cookie::queue('force_show_qrcode', 1, 1);
+            }
             //
             $redirect_path = $request->get('redirect_path');
            if($redirect_path){

+ 4 - 1
app/Http/Controllers/Wap/Web/WelcomeController.php

@@ -98,6 +98,8 @@ class WelcomeController extends BaseController
         if($show_title_in_reader_setting && in_array($this->distribution_channel_id,explode(',',$show_title_in_reader_setting))){
             $show_title_in_reader = true;
         }
+        $hide_chapter_channels = explode(',',env('HIDE_CHAPTER_CONSUME_CHANNEL'));
+        $is_hide_chapter_consume = in_array($this->distribution_channel_id,$hide_chapter_channels) ? 1 : 0;
 
         $options = json_encode([
             'distribution_channel_id' => (int)$this->distribution_channel_id,
@@ -127,7 +129,8 @@ class WelcomeController extends BaseController
             'adTargetId'=>$adTargetId,
             'ad_type'=>'1',
             'is_show_ad_frame'=>$is_show_ad_frame,
-            'show_title_in_reader'=>$show_title_in_reader
+            'show_title_in_reader'=>$show_title_in_reader,
+            'is_hide_chapter_consume'=>$is_hide_chapter_consume
         ]);
         if($this->uid == env('SPECIAL_USER_LOG',2)){
             myLog('special')->info('welcome --------------------------');

+ 2 - 1
app/Http/Middleware/EncryptCookies.php

@@ -20,6 +20,7 @@ class EncryptCookies extends BaseEncrypter
         'force_subscribe_name',
         'sub_random_num',
         'reader_share_bid',
-        'reader_share_cid'
+        'reader_share_cid',
+        'force_show_qrcode'
     ];
 }

+ 3 - 0
app/Http/Routes/Wap/WapRoutes.php

@@ -186,6 +186,9 @@ Route::group(['domain'=>env('WAP_DOMAIN'),'namespace'=>'App\Http\Controllers\Wap
         //继续阅读
         Route::get('continue','User\ReadRecordController@latestRead');
 
+        //用户强关信息页
+        Route::any('subscribe/getFromUser','Subscribe\SubscribeController@getFromUser');
+
         Route::any('{slug}','Web\WelcomeController@index')->where('slug', '(.*)?');
 
     });

+ 2 - 1
app/Modules/SendOrder/Models/SendOrder.php

@@ -43,7 +43,8 @@ class SendOrder extends Model
         'send_time',
         'charge_type',
         'pre_send_date',
-        'promotion_point'
+        'promotion_point',
+        'force_show_qrcode'
     ];
 
     /**

+ 1 - 1
app/Modules/SendOrder/Services/SendOrderService.php

@@ -274,7 +274,7 @@ class SendOrderService
      */
     static function getRedirectUrlById($id)
     {
-        return SendOrder::where('id', $id)->select('redirect_url', 'book_id', 'send_time', 'distribution_channel_id', 'name','promotion_point')->first();
+        return SendOrder::where('id', $id)->select('redirect_url', 'book_id', 'send_time', 'distribution_channel_id', 'name','promotion_point','force_show_qrcode')->first();
     }
 
     /**

+ 1 - 1
resources/views/pay/order/index.blade.php

@@ -89,7 +89,7 @@
                 "timeStamp":"{{ $pay_info['timeStamp'] }}",         //时间戳,自1970年以来的秒数
                 "nonceStr":"{{ $pay_info['nonceStr'] }}", //随机串
                 "package":"{{ $pay_info['package'] }}",
-                "signType":"MD5",         //微信签名方式:
+                "signType":"{{ $pay_info['signType'] }}",         //微信签名方式:
                 "paySign":"{{ $pay_info['paySign'] }}" //微信签名
             },
             function(res){

Plik diff jest za duży
+ 4 - 28
resources/views/wap/index.blade.php


Plik diff jest za duży
+ 484 - 471
resources/views/wap/subscribeV2.blade.php


Plik diff jest za duży
+ 450 - 0
resources/views/wap/userSubInfo.blade.php