xy 11 сар өмнө
parent
commit
f9b5b2289e

+ 11 - 1
xs-app/App.vue

@@ -130,7 +130,17 @@
 		//   },
 		// ],
 	 //  });
-	}
+	 
+		novelManager.onUserTriggerEvent((params)=>{
+			let chapter_id = params.chapter_index+1
+			let book_data = UserStatus().getUserSelectBook()
+			if(book_data!=null){
+				book_data.start_read_chapter_id = chapter_id
+				tools.updateReadHistory(book_data)
+			}
+		})
+	}
+
 </script>
 	
 <style>

+ 5 - 1
xs-app/framework/tools.ts

@@ -116,7 +116,11 @@ export class tools {
 							book_data = data.content
 							console.log("book_data",book_data)
 							UserStatus().updateUserSelectBook(book_data)
-							tools.updateReadHistory(book_data)
+							ReadHistoryManager.checkBookOnReadHistory(book_data.book_id,(index)=>{
+								if(index==-1){
+									tools.updateReadHistory(book_data)
+								}
+							})
 							wx.redirectTo({
 							  url: `plugin-private://wx293c4b6097a8a4d0/pages/novel/index?bookId=${book_data.wx_book_id}`
 							});

+ 7 - 7
xs-app/pages/bookshelf/bookshelf.vue

@@ -84,14 +84,14 @@
 		let request_book_shelf_list = []
 		for (let i = 0; i < tools.getLocalBookshelfList().length; i++) {
 			let element = tools.getLocalBookshelfList()[i]
-			let read_record_data = ReadRecord().getReadRecordData(element.book_id)
-			if(read_record_data) {
-				element.start_read_chapter_id = read_record_data.chapter_id
-			} else {
-				element.start_read_chapter_id = 1
-			}
+			// let read_record_data = ReadRecord().getReadRecordData(element.book_id)
+			// if(read_record_data) {
+			// 	element.start_read_chapter_id = read_record_data.chapter_id
+			// } else {
+			// 	element.start_read_chapter_id = 1
+			// }
 			local_book_list.push(element)
-			
+		
 			let book_opt = tools.getRequestBookshelfParameter(element)
 			request_book_shelf_list.push(book_opt)
 		}

+ 12 - 1
xs-app/stores/bookshelfManager.ts

@@ -1,6 +1,7 @@
 import { book_item_data } from '../data/data';
 import { util } from '../framework/util';
 import { config } from '../config/config';
+import { ReadHistoryManager } from './readHistoryManager';
 
 export class BookshelfManager {
     private static book_list:book_item_data[] = null
@@ -13,7 +14,17 @@ export class BookshelfManager {
 		BookshelfManager.book_list = []
 		let string = util.getStorage(config.storage_key.BOOKSHELF_LIST)
 		if(string) {
-			BookshelfManager.book_list = JSON.parse(string)
+			let temp_list = JSON.parse(string)
+			for (var i = 0; i < temp_list.length; i++) {
+				ReadHistoryManager.checkBookOnReadHistory(temp_list[i].book_id,(index,item)=>{
+					if(index!=-1){
+						BookshelfManager.book_list.push(item)
+					}else{
+						BookshelfManager.book_list.push(temp_list[i])
+					}
+				})
+				
+			}
 		}
 		return BookshelfManager.book_list
 	}

+ 3 - 1
xs-app/stores/readHistoryManager.ts

@@ -27,14 +27,16 @@ export class ReadHistoryManager {
     // 检查在阅读历史
 	public static async checkBookOnReadHistory(book_id:number, cb:Function) {
 		let index = -1
+		let book_item = null
 		for (let i = 0; i < ReadHistoryManager.getBookList().length; i++) {
 			let element = ReadHistoryManager.getBookList()[i]
 			if(element.book_id == book_id) {
 				index = i
+				book_item = element
 				break
 			}
 		}
-		cb && cb(index)
+		cb && cb(index,book_item)
 	}
 	
 	// 添加书