xia 4 yıl önce
ebeveyn
işleme
9695a0ac35

BIN
src/assets/imgs/home_pre.png


+ 36 - 1
src/assets/less/task.less

@@ -40,6 +40,41 @@
 			}
     }
 }
+
+.reader-leaver{
+	width:690px;
+	margin:60px auto 0;
+	border-radius: 12px;
+	background-color: #fff;
+	padding:30px;
+	flex-direction: column;
+	.l-top{
+		justify-content: space-between;
+		flex:1;
+	}
+	.l-title{
+		font-size: 30px;
+		color:#333;
+		font-weight: bold;
+	}
+	.l-more{
+		font-size: 24px;
+		color: #999;
+	}
+	.recent-list{
+		margin-top: 30px;
+		justify-content: space-between;
+	}
+	.read-recent{
+		margin-top:-20px;
+		text{
+			font-size:24px;
+		color:#999;
+		margin-bottom: 30px;
+		}
+		
+	}
+}
 .sign{
 	&-line {
     margin:50px auto 20px;
@@ -94,7 +129,7 @@
 		width:690px;
 		box-shadow:0px 0px 18px 0px rgba(0,0,0,0.06);
 		border-radius: 12px;
-		margin: 50px auto 0;
+		margin: 30px auto 0;
 		background-color: #fff;
 		.banner{
 			width:630px;

+ 1 - 0
src/components/book/book.ux

@@ -3,6 +3,7 @@
     <block if="!multi">
       <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>
+      <slot></slot>
     </block>
     <block else>
       <image style="{{bookMultiStyle()}}" class="book-cover__multi" src="{{book.cover_url}}"></image>

+ 2 - 5
src/manifest.json

@@ -1,8 +1,8 @@
 {
   "package": "com.beidao.kuaiying.zsy",
   "name": "追书云",
-  "versionName": "1.0.30",
-  "versionCode": "31",
+  "versionName": "1.0.33",
+  "versionCode": "34",
   "minPlatformVersion": "1040",
   "icon": "/assets/imgs/logo.png",
   "features": [
@@ -135,9 +135,6 @@
     "widgets": {}
   },
   "display": {
-    "menuBarData": {
-      "menuBar": false
-    },
     "titleBarBackgroundColor": "#fff",
     "titleBarTextColor": "#333",
     "menu": true,

+ 3 - 0
src/views/Continue/index.ux

@@ -16,6 +16,9 @@ export default {
 		if (this.push_id) {
 			await storage.set({ key: "push_id", value: this.push_id });
 		}
+		if (this.send_order_id) {
+			await storage.set({ key: "send_order_id", value: this.send_order_id });
+		}
 		this.getLastCharpt();
 	},
 

+ 4 - 0
src/views/Home/index.ux

@@ -31,6 +31,7 @@
           <div><image src="../../assets/imgs/home_fl.png" @click="jump('Category')"></image><text>分类</text></div>
           <div><image src="../../assets/imgs/home_rank.png" @click="jump('Leaderboard')"></image><text>排行榜</text></div>
           <div><image src="../../assets/imgs/home_free.png" @click="jump('Free')"></image><text>限时免费</text></div>
+          <div><image src="../../assets/imgs/home_pre.png" @click="toMyRead"></image><text>最近阅读</text></div>
         </div>
       </list-item>
       <block for="bookObj in list">
@@ -135,6 +136,9 @@ export default {
       }
     })
   },
+  toMyRead(){
+    this.$emit('change');
+  },
   jump(page) {
     router.push({
       uri: '/views/' + page,

+ 5 - 3
src/views/Index/index.ux

@@ -10,8 +10,7 @@
       <tabs class="tab-content" onchange="tabbarChange" index="{{current}}">
         <tab-content>
           <home-page @change="pageSwitch" tabindex="{{current}}"></home-page>
-
-          <shelf-page @change="pageSwitch" tabindex="{{current}}"></shelf-page>
+          <shelf-page tabindex="{{current}}"></shelf-page>
           <my-page @customer="openCustomer" tabindex="{{current}}"></my-page>
         </tab-content>
       </tabs>
@@ -151,6 +150,9 @@ export default {
   closeAcitivity() {
     this.showActivitys = false;
   },
+  toMyRead(evt){
+    console.log(evt.detail.count)
+  },
   async onShow() {
     const hasInit = this.$app.getAppData('hasInit');
     if (hasInit) {
@@ -238,7 +240,7 @@ export default {
     //this.$page.setTitleBar({ text: this.tabbar[tab.index].title });
   },
   pageSwitch() {
-    this.current = 0;
+    this.current = 1;
   },
   changeSignPop() {
     this.showSignPop = !this.showSignPop;

+ 6 - 4
src/views/Shelf/index.ux

@@ -14,7 +14,7 @@
       <text>共{{booksize}}本</text>
       <text class="manager" @click="changeMode">{{modeText}}</text>
     </div>
-    <div if="{{mockList.length<=0}}" class="blank_img">
+    <div if="{{mockList.length<=0 && isinit}}" class="blank_img">
       <image src="https://cdn-novel.iycdm.com/quickapp/activity/white_shelf.png"></image>
     </div>
     <block if="current === 0">
@@ -37,7 +37,7 @@
       </div>
     </block>
     <block else>
-      <list class="recent-list" if="{{mockList.length>0}}">
+      <list class="recent-list" if="{{mockList.length>0 && isinit}}">
         <block for="mockList">
           <list-item type="recent-item" class="recent-item">
             <stack>
@@ -62,7 +62,7 @@
 </template>
 
 <script>
-import { getUserShelfBooks, deleteShelfBook,getReadrecord } from "../../api";
+import { getUserShelfBooks, deleteShelfBook ,getReadrecord } from "../../api";
 
 export default {
   props: {
@@ -75,6 +75,7 @@ export default {
     return {
       isInit:false,
       current: 1,
+      isinit:false,
       isDelMode: false,
       modeText: "管理",
       mockList: [],
@@ -120,7 +121,8 @@ export default {
         delete m.cid
       })
       this.booksize = r.length
-      this.mockList = r
+      this.mockList = r;
+      this.isinit = true;
       console.log(this.mockList);
     })
   },

+ 35 - 3
src/views/Task/index.ux

@@ -1,4 +1,4 @@
-
+<import name="x-book" src="../../components/book/book.ux"></import>
 <template>
 	<div class="task-page">
 		<div class="task-banner">
@@ -31,6 +31,17 @@
 				已签到
 			</text>
 		</div>
+		<div class="reader-leaver">
+			<div class="l-top"><text class="l-title">最近阅读</text><text class="l-more" @click="goMore">查看更多记录></text></div>
+			<div class="recent-list">
+				<block for="book in mockList">
+					<x-book multi="{{false}}" width="{{180}}" lines="{{true}}" read='{{true}}' book="{{book}}">
+						<div class="read-recent"><text>{{book.chapter_name}}</text></div>
+					</x-book>
+
+				</block>
+			</div>
+		</div>
 		<div class="task-section">
 			<div class="task-section__tab">
 				<text class="{{type=='new'?'on':''}}" @click="changeTab('new')">新手任务</text>
@@ -40,6 +51,7 @@
 				<image src="https://cdn-novel.iycdm.com/quickapp/task/day_task.png" show="{{type=='day'}}"></image>
 				<image src="https://cdn-novel.iycdm.com/quickapp/task/new_task.png" show="{{type=='new'}}"></image>
 			</div>
+
 			<div class="task-section__list">
 				<div class="list-item" for="{{currentList}}" @click="compeletTask($item.status,$item.type,$item.id,$item.path)">
 					<image src="{{$item.icon}}" class="icon" />
@@ -75,14 +87,15 @@
 	</div>
 </template>
 <script>
-import { userTaskList, userAddDsktop, getTaskAward, getSignInfo, noVipSign, taskBook } from "../../api/index";
+import { userTaskList, userAddDsktop, getTaskAward, getSignInfo, noVipSign, taskBook, getReadrecord } from "../../api/index";
 import router from "@system.router";
 import shortcut from "@system.shortcut";
 import storage from "@system.storage";
 import prompt from '@system.prompt';
 export default {
 	public: {
-		push_id: ''
+		push_id: '',
+		send_order_id:''
 	},
 	protected: {
 		signList: [
@@ -96,6 +109,7 @@ export default {
 		type: 'new',
 		bannerList: [],
 		isClick: false,
+		mockList: [],
 	},
 	computed: {
 		currentList() {
@@ -107,12 +121,27 @@ export default {
 		if (this.push_id) {
 			await storage.set({ key: "push_id", value: this.push_id });
 		}
+		if (this.send_order_id) {
+			await storage.set({ key: "send_order_id", value: this.send_order_id });
+		}
 		this.getBook();
 		this.getSignList();
+		this.getRordList();
 	},
 	onShow() {
 		this.getTaskList();
 	},
+	async getRordList() {
+		getReadrecord().then(r => {
+			r.map(m => {
+				m.cover_url = m.cover
+				m.recent_cid = m.cid
+				delete m.cover
+				delete m.cid
+			})
+			r.length > 3 ? this.mockList = r.slice(0, 3) : this.mockList = r;
+		})
+	},
 	async getBook() {
 		let bookList = await taskBook();
 		this.bannerList = bookList;
@@ -146,6 +175,9 @@ export default {
 	showRules() {
 		this.showRule = true;
 	},
+	goMore() {
+		router.push({ uri: "/views/Index?curPage=1" });
+	},
 	signToday() {
 		noVipSign().then(res => {
 			this.signList[this.signData.sign_day].iconType = 'checked'