Ver código fonte

fixed token format

Zhengxiaowei 5 anos atrás
pai
commit
7e96890594

+ 1 - 0
src/api/index.js

@@ -9,6 +9,7 @@ import fly from "./fly";
 
 // 获取首页数据
 export const getHomeList = (sex) => {
+  console.log(sex);
   return fly.get(`/books/${sex}/index`);
 };
 

+ 2 - 2
src/api/utils.js

@@ -7,12 +7,12 @@ import device from '@system.device';
 // 获取token
 let token = null;
 export const getToken = async () => {
-  if (getToken.promise) return getToken.promise
+  if (getToken.promise) return getToken.promise;
 
   if (!token) token = (await storage.get({ key: "token" })).data;
 
   // token格式化
-  if (token) token = JSON.parse(token);
+  if (token && (typeof token === "string")) token = JSON.parse(token);
 
   if (!token) getToken.promise = login();
   else if (checkToken(token)) return Promise.resolve(token.token);

BIN
src/assets/imgs/shadow.png


+ 9 - 5
src/assets/less/index.less

@@ -1,11 +1,15 @@
 .index-wrap {
   flex-direction: column;
-
+  
+  
   .fixed-tabbar {
-    height: 120px;
-    flex-shrink: 0;
-    background-color: #fff;
-    border-top: 2px solid #bfbfbf;
+    flex-direction: column;
+
+    .tabbar-item__wrap {
+      height: 120px;
+      flex-shrink: 0;
+      background-color: #fff;
+    }
 
     .tabbar-item {
       flex: 1;

+ 5 - 5
src/components/book/book.ux

@@ -1,15 +1,15 @@
 <template>
   <div class="{{multi ? 'book-wrap__multi' : 'book-wrap'}}" style="{{bookSimpleStyle()}}" @click="getBooks(book)">
     <block if="!multi">
-      <image style="height: {{width * 1.33}}px" class="book-cover__simple" src="https://cdn-newyc.ycsd.cn/ycsd_cover/covermiddle/11/11989.jpg?t=2019101714"></image>
-      <text class="book-name {{lines ? 'book-name__line2' : ''}}">惊世妖娆凤凰月惊世妖娆凤凰月</text>
+      <image style="height: {{width * 1.33}}px" class="book-cover__simple" src="{{book.cover_url}}"></image>
+      <text class="book-name {{lines ? 'book-name__line2' : ''}}">{{book.book_name}}</text>
     </block>
     <block else>
-      <image style="{{bookMultiStyle()}}" class="book-cover__multi" src="https://cdn-newyc.ycsd.cn/ycsd_cover/covermiddle/11/11989.jpg?t=2019101714"></image>
+      <image style="{{bookMultiStyle()}}" class="book-cover__multi" src="{{book.cover_url}}"></image>
       <slot>
         <div class="book-info__multi">
-          <text class="name">惊世妖娆凤凰月惊世妖娆凤凰月</text>
-          <text class="intro">我作为一名公司普通的小职员,一觉醒来居然被人睡了,本来以为只是一次简单的意外事件,却不料因此被人蓄意利用卷卷卷进,我作为一名公司普通的小职员,一觉醒来居然被人睡了,本来以为只是一次简单的意外事件,却不料因此被人蓄意利用卷卷卷进...</text>
+          <text class="name">{{book.book_name}}</text>
+          <text class="intro">{{book.book_summary}}</text>
         </div>
       </slot>
     </block>

+ 49 - 74
src/views/Home/index.ux

@@ -19,80 +19,48 @@
       </list-item>
       <list-item type="swipe">
         <swiper class="swipe-bar" autoplay="true" indicator="false">
-          <block for="banner">
+          <block for="b in banner.books">
             <div class="swipe-item">
-              <image class="cover" src="https://cdn-newyc.ycsd.cn/ycsd_web_3nd/images/homebanners/夫人,魔尊大人盼你早点死呢1000390.jpg"></image>
+              <image class="cover" src="{{b.cover_url}}"></image>
             </div>
           </block>
         </swiper>
       </list-item>
-      <list-item type="simple" class="book-list__wrap">
-        <div class="book-list__title">
-          <text>热门推荐</text>
-        </div>
-        <div class="book-list">
-          <block for="books">
-            <x-book multi="{{false}}"></x-book>
-          </block>
-        </div>
-      </list-item>
-      <list-item type="multi" class="book-list__wrap book-list__wrap--multi">
-        <div class="book-list__title">
-          <text class="border"></text>
-          <text>神书直播</text>
-        </div>
-        <div class="book-list__line">
-          <block for="books.slice(0, 4)">
-            <x-book multi="{{false}}" width="{{150}}" lines="{{true}}"></x-book>
-          </block>
-        </div>
-        <div class="book-list__multi">
-          <block for="books.slice(4)">
-            <div class="book-item">
-              <x-book multi="{{true}}" width="{{150}}">
-                <div class="book-info__multi">
-                  <text class="name">惊世妖娆凤凰月惊世妖娆凤凰月</text>
-                  <text class="intro">我作为一名公司普通的小职员,一觉醒来居然被人睡了,本来以为只是一次简单的意外事件,却不料因此被人蓄意利用卷卷卷进,我作为一名公司普通的小职员,一觉醒来居然被人睡了,本来以为只是一次简单的意外事件,却不料因此被人蓄意利用卷卷卷进...</text>
-                </div>
-              </x-book>
-            </div>
-          </block>
-        </div>
-      </list-item>
-      <list-item type="simple" class="book-list__wrap">
-        <div class="book-list__title">
-          <text class="border"></text>
-          <text>编辑推荐</text>
-        </div>
-        <div class="book-list">
-          <block for="books">
-            <x-book multi="{{false}}"></x-book>
-          </block>
-        </div>
-      </list-item>
-      <list-item type="multi" class="book-list__wrap book-list__wrap--multi">
-        <div class="book-list__title">
-          <text class="border"></text>
-          <text>新书推荐</text>
-        </div>
-        <div class="book-list__line">
-          <block for="books.slice(0, 4)">
-            <x-book multi="{{false}}" width="{{150}}" lines="{{true}}"></x-book>
-          </block>
-        </div>
-        <div class="book-list__multi">
-          <block for="books.slice(4)">
-            <div class="book-item">
-              <x-book multi="{{true}}" width="{{150}}">
-                <div class="book-info__multi">
-                  <text class="name">惊世妖娆凤凰月惊世妖娆凤凰月</text>
-                  <text class="intro">我作为一名公司普通的小职员,一觉醒来居然被人睡了,本来以为只是一次简单的意外事件,却不料因此被人蓄意利用卷卷卷进,我作为一名公司普通的小职员,一觉醒来居然被人睡了,本来以为只是一次简单的意外事件,却不料因此被人蓄意利用卷卷卷进...</text>
-                </div>
-              </x-book>
-            </div>
-          </block>
-        </div>
-      </list-item>
+      <block for="bookObj in list">
+        <list-item type="simple" class="book-list__wrap" if="$idx % 2 === 0">
+          <div class="book-list__title">
+            <text>{{bookObj.lable}}</text>
+          </div>
+          <div class="book-list">
+            <block for="book in bookObj.books">
+              <x-book multi="{{false}}" book="{{book}}"></x-book>
+            </block>
+          </div>
+        </list-item>
+        <list-item type="multi" class="book-list__wrap book-list__wrap--multi" else>
+          <div class="book-list__title">
+            <text class="border"></text>
+            <text>{{bookObj.lable}}</text>
+          </div>
+          <div class="book-list__line">
+            <block for="book in bookObj.books.slice(0, 4)">
+              <x-book multi="{{false}}" width="{{150}}" lines="{{true}}" book="{{book}}"></x-book>
+            </block>
+          </div>
+          <div class="book-list__multi">
+            <block for="book in bookObj.books.slice(4)">
+              <div class="book-item">
+                <x-book multi="{{true}}" width="{{150}}" book="{{book}}">
+                  <div class="book-info__multi">
+                    <text class="name">{{book.book_name}}</text>
+                    <text class="intro">{{book.book_summary}}</text>
+                  </div>
+                </x-book>
+              </div>
+            </block>
+          </div>
+        </list-item>
+      </block>
     </list>
   </div>
 </template>
@@ -115,21 +83,28 @@ export default {
           index: 1
         }
       ],
-      banner: [1, 2, 3],
-      books: [1, 2, 3, 4, 5, 6],
+      banner: [],
+      list: [],
       current: 0
     }
   },
   onInit() {
-    getHomeList().then(r => {
-      console.log(r);
-    })
+    this.getCityListByTabChange();
+    this.$watch('current', 'getCityListByTabChange')
   },
   typeChange(index) {
     this.current = index;
   },
   toCategory() {
     this.$emit('change');
+  },
+  async getCityListByTabChange(index) {
+    console.log(index);
+    let sex = index ? "female" : "male";
+    let ret = await getHomeList(sex)
+    this.banner = ret.slice(0, 1)[0];
+    this.list = ret.slice(1);
+    console.log("list", this.list);
   }
 }
 </script>

+ 9 - 6
src/views/Index/index.ux

@@ -15,12 +15,15 @@
         </tab-content>
       </tabs>
       <div class="fixed-tabbar">
-        <block for="tab in tabbar">
-          <div class="tabbar-item " @click="tabbarChange(tab)">
-            <image src="{{tab.index === current ? tab.active_icon : tab.icon}}"></image>
-            <text class="{{tab.index === current ? 'tabbar-name__cur' : ''}}">{{tab.name}}</text>
-          </div>
-        </block>
+        <image src="../../assets/imgs/shadow.png" class="shadow"></image>
+        <div class="tabbar-item__wrap">
+          <block for="tab in tabbar">
+            <div class="tabbar-item " @click="tabbarChange(tab)">
+              <image src="{{tab.index === current ? tab.active_icon : tab.icon}}"></image>
+              <text class="{{tab.index === current ? 'tabbar-name__cur' : ''}}">{{tab.name}}</text>
+            </div>
+          </block>
+        </div>
       </div>
     </div>
     <div class="stack-popup" @click="closeWrap" if="showPopup">

+ 2 - 2
src/views/Shelf/index.ux

@@ -17,7 +17,7 @@
     <block if="current === 0">
       <div class="shelf-books__wrap">
         <block for="mockList">
-          <div type="shelf-item" class="book-item__wrap {{(($idx + 1)%3 === 0) ? 'm0' : ''}}">
+          <div class="book-item__wrap {{(($idx + 1)%3 === 0) ? 'm0' : ''}}">
             <stack>
               <x-book></x-book>
               <div class="book-del__wrap" show="{{isDelMode}}">
@@ -27,7 +27,7 @@
             </stack>
           </div>
         </block>
-        <div type="add-shelf" class="book-item__wrap book-item__add m0" @click="toCategory">
+        <div class="book-item__wrap book-item__add m0" @click="toCategory">
           <image class="add-cover" src="https://yueduyun.oss-cn-hangzhou.aliyuncs.com/xiaochengxu/img/bookstory.png"></image>
           <text>添加书籍</text>
         </div>