Kaynağa Gözat

尾页推荐完成

gdy96 5 yıl önce
ebeveyn
işleme
4b5c27fc15

+ 5 - 0
src/api/index.js

@@ -153,3 +153,8 @@ export const getCustomQrcode = () => {
 export const readOverRecommend = params => {
   return fly.get("/books/readOverRecommend", params);
 };
+
+//催更
+export const urgeUpdate = params => {
+  return fly.post(`/user/urgeUpdate`, params);
+};

BIN
src/assets/imgs/push-more-suc.png


BIN
src/assets/imgs/push-more.png


+ 36 - 9
src/assets/less/readerover.less

@@ -1,16 +1,37 @@
 .readerover {
   flex-direction: column;
   padding: 20px;
-  .title {
-    background-image: linear-gradient(#badaff, #fff);
-    justify-content: center;
-    width: 100%;
-    height: 500px;
-    .topimg {
-      background-image: linear-gradient(#badaff, #fff);
+  .top-box {
+    .unfinished-box {
+      width: 100%;
       height: 400px;
+      justify-content: center;
+      .reminder {
+        width: 200px;
+        justify-content: center;
+        align-items: center;
+        flex-direction: column;
+        margin-top: 280px;
+      }
+    }
+    .over-box {
+      background: linear-gradient(#badaff, #fff);
+      justify-content: center;
+      border-radius: 500px;
       width: 400px;
-      border-radius: 2000px;
+      height: 400px;
+      margin: 0 auto;
+      flex-direction: column;
+      .overimg {
+        margin-top: 20px;
+        height: 300px;
+        width: 200px;
+        justify-items: center;
+        margin: 0 auto;
+      }
+      text {
+        margin: 0 auto;
+      }
     }
   }
   .recommend-title {
@@ -23,7 +44,13 @@
     flex-direction: column;
     align-items: flex-start;
     .info {
-      margin-top: 50px;
+      margin-top: 30px;
+      lines: 3;
+      text-overflow: ellipsis;
     }
   }
+  .booklist {
+    margin-top: 20px;
+    justify-content: space-between;
+  }
 }

+ 1 - 1
src/manifest.json

@@ -54,7 +54,7 @@
     "logLevel": "debug"
   },
   "router": {
-    "entry": "views/Raderover",
+    "entry": "views/Index",
     "pages": {
       "views/Index": {
         "component": "index"

+ 45 - 17
src/views/Raderover/index.ux

@@ -1,41 +1,69 @@
 <import name="x-book" src="../../components/book/book.ux"></import>
 <template>
     <div class='readerover'>
-        <div class="title">
-            <img class='topimg' src="https://cdn-novel.iycdm.com/h5/complete.png" alt="">
+        <div class='top-box'>
+            <div if='bookstatus.status==0'>
+                <stack class="unfinished-box">
+                    <img class='' src="https://cdn-novel.iycdm.com/static/img/nocompletev2.jpg" alt="">
+                    <div>
+                        <img @click='urgeUpdate()' if='urge_status==0' class='reminder' src="../../assets/imgs/push-more.png" alt="">
+                        <img else class='reminder' src="../../assets/imgs/push-more-suc.png" alt="">
+                    </div>
+                </stack>
+            </div>
+            <div class="over-box" if='bookstatus.status==1'>
+                <img class='overimg' src="https://cdn-novel.iycdm.com/h5/complete.png" alt="">
+                <text>本书已经看完啦</text>
+            </div>
         </div>
         <div class='recommend-title'>
             <text>作者推荐</text>
-            <text>换一换</text>
+            <text @click='changebooklist()'>换一换</text>
         </div>
         <div>
-            <x-book multi="{{true}}" width="{{180}}" book="{{book}}" prevent="{{true}}">
+            <x-book multi="{{true}}" width="{{180}}" book="{{bookdata[0]}}" prevent="{{true}}">
                 <div class="book-info">
-                    <text class="name">{{bookdata.book_name}}</text>
-                    <div class="info">
-                        <text>{{bookdata.book_summary}}</text>
+                    <text class="name">{{bookdata[0]&&bookdata[0].book_name}}</text>
+                    <div>
+                        <text class="info">{{bookdata[0]&&bookdata[0].book_summary}}</text>
                     </div>
                 </div>
             </x-book>
         </div>
-        <div>
-            <!-- <block for="bookdata">
-                <x-book book='{{$item}}' read='{{true}}'></x-book>
-            </block> -->
+        <div class='booklist'>
+            <block for="{{bookdata.slice(1)}}">
+                <x-book book='{{$item}}'></x-book>
+            </block>
         </div>
     </div>
 </template>
 <script>
-import { readOverRecommend } from "../../api";
+import { readOverRecommend, urgeUpdate } from "../../api";
+import prompt from '@system.prompt'
+
 export default {
+    protected: {
+        bid: ""
+    },
     private: {
-        bookdata: {
-
-        }
+        bookdata: [],
+        bookstatus: {},
+        urge_status: 0
     },
     onInit() {
-        readOverRecommend({ bid: '5pNo6A7wqQmB1WgQygDjkOM9VZn2vXeY' }).then(r => {
-
+        this.changebooklist()
+    },
+    urgeUpdate() {
+        urgeUpdate({ bid: this.bid }).then(r => {
+            this.urge_status = 1
+            prompt.showToast({ message: '催更成功' })
+        })
+    },
+    changebooklist() {
+        readOverRecommend({ bid: this.bid }).then(r => {
+            this.bookdata = r.recommend_result
+            this.bookstatus = r.book_status
+            this.urge_status = r.book_status.urge_status
         })
     }
 }

+ 9 - 0
src/views/Reader/index.ux

@@ -104,6 +104,15 @@ export default {
   },
   getNextChapter() {
     console.log("get next chapter");
+    if (this.bookinfo.next_cid == 0) {
+      router.push({
+        uri: "/views/Raderover",
+        params: {
+          bid: this.bid
+        }
+      })
+      return
+    }
     this.getChapters(this.bookinfo.bid, this.bookinfo.next_cid)
   }
 }