Browse Source

Merge branch 'master' of http://120.79.128.142:3000/904118851/xs

xy 1 year ago
parent
commit
70ed321d7f

+ 9 - 0
xs-app/config/config.ts

@@ -165,4 +165,13 @@ export class config {
 		ZHI_FUZHIONG:1, //支付中
 		ZHI_FUZHIONG:1, //支付中
 		YI_JING_ZHI_FU:2, //已经支付
 		YI_JING_ZHI_FU:2, //已经支付
 	}
 	}
+	
+	/**
+	 * 书的状态 0:连载 1:完结 100:全部(用户书架筛选用)
+	 */
+	public static book_action_status = {
+		LIAN_ZAI:0,  //连载
+		WAN_JIE:1,   //完结
+		QUAN_BU:100, //全部
+	}
 }
 }

+ 27 - 9
xs-app/pages/bookshelf/bookshelf-bookList.vue

@@ -1,10 +1,18 @@
 <template>
 <template>
 	<view class="bookList_content" :style="{width:window_width}">
 	<view class="bookList_content" :style="{width:window_width}">
-		<view :class="book_list.length>0?'top':'top-none'">
+		<view class="top">
 			<view class='top__info'>
 			<view class='top__info'>
-				{{is_edit?'':'全部'}}
+				<view class="" style="margin-left: 20rpx;" @click="clickButtonStatus(config.book_action_status.QUAN_BU)">
+					{{is_edit?'':'全部'}}
+				</view>
+				<view class="" style="margin-left: 20rpx;" @click="clickButtonStatus(config.book_action_status.LIAN_ZAI)">
+					{{is_edit?'':'连载'}}
+				</view>
+				<view class="" style="margin-left: 20rpx;" @click="clickButtonStatus(config.book_action_status.WAN_JIE)">
+					{{is_edit?'':'完结'}}
+				</view>
 			</view>
 			</view>
-			<view class="top__edit" @click="clickEdit">{{is_edit?'取消':'编辑'}}</view>
+			<view :class="book_list.length>0?'top__edit':'top__edit-none'" @click="clickEdit">{{is_edit?'取消':'编辑'}}</view>
 		</view>
 		</view>
 		<view class="book-list" :style="{marginBottom:is_edit?bottom_tools_all_height+'rpx':0}">
 		<view class="book-list" :style="{marginBottom:is_edit?bottom_tools_all_height+'rpx':0}">
 			<view class="book-list__item" v-for="(item,index) in book_list" :key="index"
 			<view class="book-list__item" v-for="(item,index) in book_list" :key="index"
@@ -39,6 +47,7 @@
     import { book_item_data } from '../../data/data';
     import { book_item_data } from '../../data/data';
     import { util } from '../../framework/util';
     import { util } from '../../framework/util';
     import { tools } from '../../framework/tools';
     import { tools } from '../../framework/tools';
+    import { config } from '../../config/config';
 		
 		
 	let window_width = ref(uni.getSystemInfoSync().windowWidth + 'px')	
 	let window_width = ref(uni.getSystemInfoSync().windowWidth + 'px')	
 	let is_edit = ref(false)	
 	let is_edit = ref(false)	
@@ -46,6 +55,7 @@
 	let is_selected_all = ref(false)
 	let is_selected_all = ref(false)
 	let bottom_tools_real_height = ref(98)
 	let bottom_tools_real_height = ref(98)
 	let bottom_tools_all_height = ref(0)
 	let bottom_tools_all_height = ref(0)
+	let cur_button_status = ref(config.book_action_status.QUAN_BU) //100:全部 0:连载 1:完结
 	
 	
 	bottom_tools_all_height.value = bottom_tools_real_height.value + uni.getSystemInfoSync().safeAreaInsets.bottom
 	bottom_tools_all_height.value = bottom_tools_real_height.value + uni.getSystemInfoSync().safeAreaInsets.bottom
 		
 		
@@ -55,7 +65,7 @@
 	// watch(()=>props.book_list, (new_v,old_v)=>{
 	// watch(()=>props.book_list, (new_v,old_v)=>{
 	//     console.log('book_list-观察 新值:',new_v,'旧值:',old_v)
 	//     console.log('book_list-观察 新值:',new_v,'旧值:',old_v)
 	// },{immediate:true})
 	// },{immediate:true})
-	const emits = defineEmits(['clickBook','clickDeleteBook'])
+	const emits = defineEmits(['clickBook','clickButtonStatus','clickDeleteBook'])
 	
 	
 	function clickBook(book_data:book_item_data, index:number) {
 	function clickBook(book_data:book_item_data, index:number) {
 		if(is_edit.value) {
 		if(is_edit.value) {
@@ -78,6 +88,14 @@
 			emits('clickBook',book_data,index)
 			emits('clickBook',book_data,index)
 		}
 		}
 	}
 	}
+	
+	function clickButtonStatus(status:number) {
+		if(cur_button_status.value == status) {
+			return
+		}
+		cur_button_status.value = status
+		emits('clickButtonStatus',status)
+	}
 		
 		
 	function clickEdit() {
 	function clickEdit() {
 		changeEditStatus()
 		changeEditStatus()
@@ -139,7 +157,8 @@
 			background-color: red;
 			background-color: red;
 			&__info{
 			&__info{
 				display: flex;
 				display: flex;
-				padding-left: 20rpx;
+				margin-left: 20rpx;
+				// background-color: green;
 			}
 			}
 			&__edit{
 			&__edit{
 				display: flex;
 				display: flex;
@@ -149,10 +168,9 @@
 				align-items: center;
 				align-items: center;
 				// background-color: green;
 				// background-color: green;
 			}
 			}
-		}
-		
-		.top-none {
-			display: none;
+			&__edit-none {
+				display: none;
+			}
 		}
 		}
 		
 		
 		.book-list{
 		.book-list{

+ 45 - 4
xs-app/pages/bookshelf/bookshelf.vue

@@ -16,7 +16,7 @@
 			@change="tabsChange" />	
 			@change="tabsChange" />	
 		</view>
 		</view>
 		<view :style="{marginTop: tab_height + 'rpx'}">
 		<view :style="{marginTop: tab_height + 'rpx'}">
-			<bookList :class="tab_current==0?'style_show':'style_hide'" :book_list='data_book_list' @clickBook='gotoReadBook'></bookList>
+			<bookList :class="tab_current==0?'style_show':'style_hide'" :book_list='data_book_list' @clickBook='gotoReadBook' @clickButtonStatus='bookListClickButtonStatus'></bookList>
 			<readHistory :class="tab_current==1?'style_show':'style_hide'" :book_list='data_read_history_list' @clickBook='gotoReadBook' @clickDeleteBook='readHistoryClickDeleteBook'></readHistory>
 			<readHistory :class="tab_current==1?'style_show':'style_hide'" :book_list='data_read_history_list' @clickBook='gotoReadBook' @clickDeleteBook='readHistoryClickDeleteBook'></readHistory>
 		</view>
 		</view>
 	</view>
 	</view>
@@ -30,6 +30,7 @@
 	import bookList from '../bookshelf/bookshelf-bookList.vue'
 	import bookList from '../bookshelf/bookshelf-bookList.vue'
 	import readHistory from '../bookshelf/bookshelf-readHistory.vue'
 	import readHistory from '../bookshelf/bookshelf-readHistory.vue'
     import { ReadRecord } from '../../stores/readRecordManager';
     import { ReadRecord } from '../../stores/readRecordManager';
+    import { util } from '../../framework/util';
 	
 	
 	let tab_height = ref(100)
 	let tab_height = ref(100)
 	let tab_list = ref(['书架','阅读历史'])
 	let tab_list = ref(['书架','阅读历史'])
@@ -67,7 +68,6 @@
 			request_book_shelf_list.push(book_opt)
 			request_book_shelf_list.push(book_opt)
 		}
 		}
 		
 		
-		data_book_list.value = local_book_list
 		tools.requestBookShelf(request_book_shelf_list,1,(data:book_item_data[])=>{
 		tools.requestBookShelf(request_book_shelf_list,1,(data:book_item_data[])=>{
 			// console.log('请求书架data=',data)
 			// console.log('请求书架data=',data)
 			data_book_list.value = []
 			data_book_list.value = []
@@ -103,10 +103,51 @@
 	function tabsChange(index:number) {
 	function tabsChange(index:number) {
 		tab_current.value = index
 		tab_current.value = index
 	}
 	}
+		
+	function bookListClickButtonStatus(status:number) {
+		// console.log('button status=',status)
+		data_book_list.value = []
+		let call_back = (()=>{
+			if(status==config.book_action_status.QUAN_BU) {
+				data_book_list.value = tools.getLocalBookshelfList()
+				return
+			}
+			let temp_list:book_item_data[] = []
+			for (let i = 0; i < tools.getLocalBookshelfList().length; i++) {
+				let element = tools.getLocalBookshelfList()[i]
+				if(element.book_is_action == status) {
+					temp_list.push(element)
+				}
+			}
+			if(temp_list.length>0) {
+				data_book_list.value = temp_list
+			}
+		})
+		let status_string = ''
+		switch (status){
+			case config.book_action_status.QUAN_BU:
+			    status_string = '全部'
+			    data_book_list.value = tools.getLocalBookshelfList()
+				break;
+			case config.book_action_status.LIAN_ZAI:
+			    status_string = '连载'
+			    call_back()
+			    break;
+			case config.book_action_status.WAN_JIE:
+			     status_string = '完结'
+			    call_back()
+			    break;
+			default:
+				break;
+		}
+		util.showInfoToast(status_string)
+	}
 	
 	
 	function readHistoryClickDeleteBook() {
 	function readHistoryClickDeleteBook() {
-		data_read_history_list.value = []
-		tools.resetSortReadHistory(data_read_history_list.value)
+		util.showModal('清空所有阅读历史?','',()=>{
+			data_read_history_list.value = []
+			tools.resetSortReadHistory(data_read_history_list.value)
+		})
 	}
 	}
 	
 	
 	function gotoReadBook(book_data:book_item_data, index:number) {
 	function gotoReadBook(book_data:book_item_data, index:number) {

+ 14 - 3
xs-app/stores/readRecordManager.ts

@@ -22,8 +22,9 @@ export const ReadRecord = defineStore('read-record',()=>{
 		let record_data = new read_record_data()
 		let record_data = new read_record_data()
 		record_data.chapter_id = read_data.book_chapter_id
 		record_data.chapter_id = read_data.book_chapter_id
 		record_data.chapter_name = read_data.book_chapter_name
 		record_data.chapter_name = read_data.book_chapter_name
-		getData().set(`${book_data.book_id}`, JSON.stringify(record_data))
-		
+		let key = `${book_data.book_id}`
+		getData().set(key, JSON.stringify(record_data))
+				
 		let data_string = JSON.stringify(Object.fromEntries(data))
 		let data_string = JSON.stringify(Object.fromEntries(data))
 		util.setStorage(config.storage_key.READ_RECORD, data_string)
 		util.setStorage(config.storage_key.READ_RECORD, data_string)
 	}
 	}
@@ -36,5 +37,15 @@ export const ReadRecord = defineStore('read-record',()=>{
 		}
 		}
 		return null
 		return null
 	}
 	}
-	return {data,getData,addData,getReadRecordData}
+	
+	function deleteReadRecordData(book_id:number) {
+		let key = `${book_id}`
+		if(getData().has(key)) {
+			getData().delete(key)
+			let data_string = JSON.stringify(Object.fromEntries(getData()))
+			util.setStorage(config.storage_key.READ_RECORD, data_string)
+		}
+	}
+	
+	return {data,getData,addData,getReadRecordData,deleteReadRecordData}
 })
 })