fly 5 years ago
parent
commit
5abf23bd2f

+ 1 - 0
app/Http/Controllers/QuickApp/WelcomeController.php

@@ -28,6 +28,7 @@ class WelcomeController extends BaseController
                     'gzh_name' => $quick_send_order->child_gzh_nickname,
                     'gzh_name' => $quick_send_order->child_gzh_nickname,
                     'hash_bid' => Hashids::encode($send_order->book_id),
                     'hash_bid' => Hashids::encode($send_order->book_id),
                     'cid' => $send_order->chapter_id,
                     'cid' => $send_order->chapter_id,
+                    'send_order_id' => $this->send_order_id,
                 ]);
                 ]);
             }
             }
         }
         }

+ 4 - 0
app/Modules/User/Services/QappUserService.php

@@ -10,6 +10,7 @@ use App\Modules\User\Models\User;
 use DB;
 use DB;
 use Exception;
 use Exception;
 use Tymon\JWTAuth\Facades\JWTAuth;
 use Tymon\JWTAuth\Facades\JWTAuth;
+use Redis;
 
 
 /**
 /**
  * 
  * 
@@ -34,6 +35,9 @@ class QappUserService
         }
         }
         $user = $qapp_user->user;
         $user = $qapp_user->user;
         $uid = $user->id;
         $uid = $user->id;
+        if ($data['send_order_id']) {
+            Redis::hset('book_read:' . $uid, 'send_order_id', $data['send_order_id']);
+        }
         $time = time() + SysConsts::ONE_HOUR_SECONDS * 2;
         $time = time() + SysConsts::ONE_HOUR_SECONDS * 2;
         $token = JWTAuth::fromUser($user);
         $token = JWTAuth::fromUser($user);
         return compact('token', 'time', 'uid');
         return compact('token', 'time', 'uid');

+ 214 - 212
resources/views/qapp/welcome.blade.php

@@ -2,239 +2,239 @@
 <html lang="en">
 <html lang="en">
 
 
 <head>
 <head>
-    <meta charset="utf-8" />
-    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-    <meta name="viewport" content="user-scalable=no" />
-    <meta name="viewport"
-        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,viewport-fit=cover" />
-    <script src="//cdn-novel.iycdm.com/static/jquery-3.4.1.min.js" type="text/javascript"></script>
+  <meta charset="utf-8" />
+  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+  <meta name="viewport" content="user-scalable=no" />
+  <meta name="viewport"
+    content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,viewport-fit=cover" />
+  <script src="//cdn-novel.iycdm.com/static/jquery-3.4.1.min.js" type="text/javascript"></script>
 </head>
 </head>
 
 
 <body>
 <body>
-    <style>
-        html,
-        body,
-        p,
-        div,
-        section {
-            margin: 0;
-            padding: 0;
-        }
+  <style>
+    html,
+    body,
+    p,
+    div,
+    section {
+      margin: 0;
+      padding: 0;
+    }
 
 
-        img {
-            width: 100%;
-            -webkit-tap-highlight-color: transparent;
-        }
+    img {
+      width: 100%;
+      -webkit-tap-highlight-color: transparent;
+    }
 
 
-        a {
-            color: currentColor;
-            -webkit-tap-highlight-color: transparent;
-        }
+    a {
+      color: currentColor;
+      -webkit-tap-highlight-color: transparent;
+    }
 
 
-        .application-content {
-            padding: 12px;
-            max-width: 100%;
-            transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
-        }
+    .application-content {
+      padding: 12px;
+      max-width: 100%;
+      transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+    }
 
 
-        .application-content .content-wrap {
-            width: 100%;
-            margin-right: auto;
-            margin-left: auto;
-        }
+    .application-content .content-wrap {
+      width: 100%;
+      margin-right: auto;
+      margin-left: auto;
+    }
 
 
-        .content-card {
-            border-radius: 5px;
-            max-width: 100%;
-            outline: none;
-            text-decoration: none;
-            transition-property: box-shadow, opacity;
-            box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),
-                0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
-            padding: 16px;
-            font-size: 14px;
-            line-height: 20px;
-        }
+    .content-card {
+      border-radius: 5px;
+      max-width: 100%;
+      outline: none;
+      text-decoration: none;
+      transition-property: box-shadow, opacity;
+      box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),
+        0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+      padding: 16px;
+      font-size: 14px;
+      line-height: 20px;
+    }
 
 
-        .card-text {
-            text-align: center;
-        }
+    .card-text {
+      text-align: center;
+    }
 
 
-        .card-text .wechat-title {
-            color: red;
-            font-weight: 700;
-            margin-bottom: 16px;
-            font-size: 18px;
-        }
+    .card-text .wechat-title {
+      color: red;
+      font-weight: 700;
+      margin-bottom: 16px;
+      font-size: 18px;
+    }
 
 
-        .card-text .wechat-name {
-            color: teal;
-            font-weight: 700;
-            font-size: 24px;
-            line-height: 40px;
-            margin-bottom: 16px;
-        }
+    .card-text .wechat-name {
+      color: teal;
+      font-weight: 700;
+      font-size: 24px;
+      line-height: 40px;
+      margin-bottom: 16px;
+    }
 
 
-        .card-text .wechat-step {
-            color: #000;
-            font-weight: 900;
-            font-size: 18px;
-            line-height: 24px;
-            margin-bottom: 16px;
-        }
+    .card-text .wechat-step {
+      color: #000;
+      font-weight: 900;
+      font-size: 18px;
+      line-height: 24px;
+      margin-bottom: 16px;
+    }
 
 
-        .card-text .copy-text {
-            height: 28px;
-            min-width: 50px;
-            padding: 0 12px;
-            color: #009688;
-            caret-color: #009688;
-            border: 1px solid #009688;
-            background-color: #fff;
-            border-radius: 5px;
-            font-size: 20px;
-            margin: 0 auto 16px;
-            display: block;
-        }
+    .card-text .copy-text {
+      height: 28px;
+      min-width: 50px;
+      padding: 0 12px;
+      color: #009688;
+      caret-color: #009688;
+      border: 1px solid #009688;
+      background-color: #fff;
+      border-radius: 5px;
+      font-size: 20px;
+      margin: 0 auto 16px;
+      display: block;
+    }
 
 
-        .card-text .copy-button {
-            height: 36px;
-            min-width: 64px;
-            padding: 0 16px;
-            background-color: #ff5252;
-            border-radius: 5px;
-            border: 1px solid #ff5252;
-            color: #fff;
-            font-size: 20px;
-            line-height: 36px;
-            display: block;
-            margin: 0 auto 16px;
-            box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),
-                0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
-        }
+    .card-text .copy-button {
+      height: 36px;
+      min-width: 64px;
+      padding: 0 16px;
+      background-color: #ff5252;
+      border-radius: 5px;
+      border: 1px solid #ff5252;
+      color: #fff;
+      font-size: 20px;
+      line-height: 36px;
+      display: block;
+      margin: 0 auto 16px;
+      box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),
+        0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+    }
 
 
-        .toast-wrap {
-            position: fixed;
-            top: 50%;
-            left: 50%;
-            -webkit-transform: translate(-50%, -50%);
-            transform: translate(-50%, -50%);
-            padding: 5px 10px;
-            color: #fff;
-            font-size: 14px;
-            text-align: center;
-            background: rgba(0, 0, 0, 0.8);
-            border-radius: 4px;
-        }
+    .toast-wrap {
+      position: fixed;
+      top: 50%;
+      left: 50%;
+      -webkit-transform: translate(-50%, -50%);
+      transform: translate(-50%, -50%);
+      padding: 5px 10px;
+      color: #fff;
+      font-size: 14px;
+      text-align: center;
+      background: rgba(0, 0, 0, 0.8);
+      border-radius: 4px;
+    }
 
 
-        .hw-guide {
-            width: 100%;
-            height: 100%;
-            position: absolute;
-            top: 0;
-            left: 0;
-            display: none;
-        }
+    .hw-guide {
+      width: 100%;
+      height: 100%;
+      position: absolute;
+      top: 0;
+      left: 0;
+      display: none;
+    }
 
 
-        .hw-guide img {
-            width: 100%;
-        }
+    .hw-guide img {
+      width: 100%;
+    }
 
 
-        .hw-guide .btn-know {
-            width: 180px;
-            height: 40px;
-            line-height: 40px;
-            text-align: center;
-            border: none;
-            outline: none;
-            background: linear-gradient(0deg,
-                rgba(255, 210, 0, 1),
-                rgba(255, 239, 75, 1));
-            border-radius: 10px;
-            text-align: center;
-            font-size: 14px;
-            font-family: PingFang-SC-Bold;
-            font-weight: bold;
-            color: rgba(255, 93, 123, 1);
-            position: absolute;
-            top: 62%;
-            left: 50%;
-            margin-left: -90px;
-        }
+    .hw-guide .btn-know {
+      width: 180px;
+      height: 40px;
+      line-height: 40px;
+      text-align: center;
+      border: none;
+      outline: none;
+      background: linear-gradient(0deg,
+        rgba(255, 210, 0, 1),
+        rgba(255, 239, 75, 1));
+      border-radius: 10px;
+      text-align: center;
+      font-size: 14px;
+      font-family: PingFang-SC-Bold;
+      font-weight: bold;
+      color: rgba(255, 93, 123, 1);
+      position: absolute;
+      top: 62%;
+      left: 50%;
+      margin-left: -90px;
+    }
 
 
-        .open-gif {
-            position: absolute;
-            background: rgba(0, 0, 0, 0.5);
-            top: 0;
-            left: 0;
-            width: 100%;
-            height: 100%;
-        }
+    .open-gif {
+      position: absolute;
+      background: rgba(0, 0, 0, 0.5);
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+    }
 
 
-        .open-gif .open-conetent {
-            width: 53vw;
-            position: absolute;
-            height: 0;
-            top: 0;
-            bottom: 0;
-            left: 0;
-            right: 0;
-            margin: auto;
-            background-color: #f7f5eb;
-            border-radius: 10px;
-            overflow: hidden;
-            text-align: center;
-        }
+    .open-gif .open-conetent {
+      width: 53vw;
+      position: absolute;
+      height: 0;
+      top: 0;
+      bottom: 0;
+      left: 0;
+      right: 0;
+      margin: auto;
+      background-color: #f7f5eb;
+      border-radius: 10px;
+      overflow: hidden;
+      text-align: center;
+    }
 
 
-        .open-gif .open-conetent img {
-            width: 36%;
-            display: inline-block;
-            margin-top: 12%;
-        }
+    .open-gif .open-conetent img {
+      width: 36%;
+      display: inline-block;
+      margin-top: 12%;
+    }
 
 
-        .open-gif .open-conetent p {
-            margin-top: 8%;
-            font-size: 14px;
-        }
-    </style>
-    <div class="application-wrap">
-        <main class="application-content">
-            <div class="content-wrap" style="display: none;">
-                <div class="content-card">
-                    <div class="card-text">
-                        <p class="wechat-title">请认准官方唯一认证公众号:</p>
-                        <p class="wechat-name">{{$gzh_name}}</p>
-                        <p class="wechat-step">
-                            打开微信 → 右上角+号 → 添加朋友 → 公众号
-                        </p>
-                        <button class="copy-text" type="button">
-                            {{$gzh_code}}
-                        </button>
-                        <button type="button" class="copy-button" id="copy" data-clipboard-text="">
-                            一键复制公众号
-                        </button>
-                        <img src="https://cdn-novel.iycdm.com/quickapp/static/1.gif" />
-                    </div>
-                </div>
-            </div>
-        </main>
-        <div class="hw-guide">
-            <img src="https://cdn-novel.iycdm.com/quickapp/static/guide.jpg " />
-            <div class="btn-know">知道了</div>
-        </div>
-        <div class="open-gif">
-            <div class="open-conetent">
-                <img src="https://cdn-novel.iycdm.com/quickapp/static/gidf.gif" />
-                <p>正在打开快应用...</p>
-            </div>
+    .open-gif .open-conetent p {
+      margin-top: 8%;
+      font-size: 14px;
+    }
+  </style>
+  <div class="application-wrap">
+    <main class="application-content">
+      <div class="content-wrap" style="display: none;">
+        <div class="content-card">
+          <div class="card-text">
+            <p class="wechat-title">请认准官方唯一认证公众号:</p>
+            <p class="wechat-name">{{$gzh_name}}</p>
+            <p class="wechat-step">
+              打开微信 → 右上角+号 → 添加朋友 → 公众号
+            </p>
+            <button class="copy-text" type="button">
+              {{$gzh_code}}
+            </button>
+            <button type="button" class="copy-button" id="copy" data-clipboard-text="">
+              一键复制公众号
+            </button>
+            <img src="https://cdn-novel.iycdm.com/quickapp/static/1.gif" />
+          </div>
         </div>
         </div>
-        <p class="toast-wrap" style="display: none"></p>
+      </div>
+    </main>
+    <div class="hw-guide">
+      <img src="https://cdn-novel.iycdm.com/quickapp/static/guide.jpg " />
+      <div class="btn-know">知道了</div>
+    </div>
+    <div class="open-gif">
+      <div class="open-conetent">
+        <img src="https://cdn-novel.iycdm.com/quickapp/static/gidf.gif" />
+        <p>正在打开快应用...</p>
+      </div>
     </div>
     </div>
-    <script type="text/javascript" src="https://cdn-novel.iycdm.com/quickapp/static/clipboard.js" async="async">
-    </script>
-    <script type="text/javascript" src="https://statres.quickapp.cn/quickapp/js/routerinline.min.js"></script>
-    <script type="text/javascript">
-        //获取url参数
+    <p class="toast-wrap" style="display: none"></p>
+  </div>
+  <script type="text/javascript" src="https://cdn-novel.iycdm.com/quickapp/static/clipboard.js" async="async">
+  </script>
+  <script type="text/javascript" src="https://statres.quickapp.cn/quickapp/js/routerinline.min.js"></script>
+  <script type="text/javascript">
+    //获取url参数
     function getQueryString(name) {
     function getQueryString(name) {
       var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
       var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
       var r = decodeURIComponent(window.location.search)
       var r = decodeURIComponent(window.location.search)
@@ -292,7 +292,8 @@
       entry: "Reader", //拉起快应用阅读器页面
       entry: "Reader", //拉起快应用阅读器页面
       packName: "com.beidao.kuaiying.zsy", //快应用包名
       packName: "com.beidao.kuaiying.zsy", //快应用包名
       bid: "{{$hash_bid}}", //书籍id
       bid: "{{$hash_bid}}", //书籍id
-      cid: "{{$cid}}" //章节id
+      cid: "{{$cid}}", //章节id
+      send_order_id:"{{$send_order_id}}",//派单ID
     };
     };
     //判断机型是否支持快应用
     //判断机型是否支持快应用
     try {
     try {
@@ -323,7 +324,8 @@
     function openQyy() {
     function openQyy() {
       var parmas = {
       var parmas = {
         bid: QYY.bid,
         bid: QYY.bid,
-        chapter_id: QYY.cid
+        chapter_id: QYY.cid,
+        send_order_id:QYY.send_order_id
       };
       };
       try {
       try {
         //尝试直接拉起
         //尝试直接拉起
@@ -379,7 +381,7 @@
         startDeep();
         startDeep();
       }
       }
     });
     });
-    </script>
+  </script>
 </body>
 </body>
 
 
 </html>
 </html>