xy hace 1 año
padre
commit
e307a3fe7b

+ 4 - 4
xs-app/components/read/chapterCatalog.vue

@@ -1,5 +1,5 @@
 <template>
-	<uni-popup  @maskClick="emits('Close')" :animation="false" mask-background-color="rgba(0,0,0,0)" ref="catalog"  background-color="#fff"  @change="onChange">
+	<uni-popup  :animation="false" mask-background-color="rgba(0,0,0,0)" ref="catalog"  background-color="#fff"  @change="onChange">
 		<view style="'position': fixed;display: flex;
 		'justify-content': space-around;
 		'align-items': center;margin-left: auto;padding-left: 10%;padding-right: 10%;padding-top: 5%;" :style="{'backgroundColor':db_color}">
@@ -170,9 +170,9 @@ import { UserStatus } from '../../stores/userStatusManager';
 	}
 	//
 	function onChange(e){
-		if(e.show==false){
-			emits('Close')
-		}
+		// if(e.show==false){
+		// 	emits('Close')
+		// }
 	}
 	
 	let font_color = ref(tools.getFontColorByMode(ReadSetting().getReadSetting().readMode))

+ 1 - 1
xs-app/components/read/readPage.vue

@@ -60,7 +60,7 @@
 		let temp_list = text_content.split('<br><br>')
 		if(temp_list.length>=6){
 			for(let i=0;i<6;i++){
-				lock_content.value += (temp_list[i]+"<br><br>")
+				lock_content.value += (temp_list[i]+"<br><br>"+"<br><br>")
 			}
 		}else{
 			lock_content.value = '请使用书币解锁内容,或者成为vip!'

+ 4 - 2
xs-app/components/read/recharge.vue

@@ -7,7 +7,7 @@
 						  justify-content: space-between;">
 				<recharge-item ref="Items" class="product-item" v-for="(item,index) in rechargeList" :key="item.goods_id" :recharge_item_data="item" @itemClick="onItemSelect"></recharge-item>
 			</view>
-			<view @tap="emits('onClickBuy',curSelectGoodsId)" style="display: flex;align-items: center;justify-content: center; border: 1px solid #ddd;margin-left: 20%;margin-right: 20%;">购买</view>
+			<view @tap="emits('onClickBuy',curSelectGoodsId,curSelectGoodsIsVip)" style="display: flex;align-items: center;justify-content: center; border: 1px solid #ddd;margin-left: 20%;margin-right: 20%;">购买</view>
 			<view @tap="emits('BuyChapter')" style="margin-top: 3%;margin-bottom: 5%; display: flex;align-items: center;justify-content: center; border: 1px solid #ddd;margin-left: 20%;margin-right: 20%;">解锁本章需要{{coin}}</view>
 			<view style="margin-left: 5%; margin-bottom: 5%;">剩余书币{{user_coin}}</view>
 		</uni-popup>
@@ -69,7 +69,9 @@
 	
 	let Items = ref(null)
 	let curSelectGoodsId = ref(0)
-	function onItemSelect(goods_id:number){
+	let curSelectGoodsIsVip = ref(true)
+	function onItemSelect(goods_id:number,isVip:boolean){
+		curSelectGoodsIsVip.value = isVip
 		curSelectGoodsId.value = goods_id
 		Items.value.find((child,index)=>{
 			child.updateSelectStatus(goods_id)

+ 1 - 1
xs-app/components/read/rechargeItem.vue

@@ -31,7 +31,7 @@
 	})
 	
 	function onItemClick(){
-		emits('itemClick',recharge_item_data.goods_id)
+		emits('itemClick',recharge_item_data.goods_id,recharge_item_data.is_vip==1)
 	}
 	
 	let selectBgColor = ref('#ffffff')

+ 7 - 1
xs-app/components/read/settingMenu.vue

@@ -5,7 +5,7 @@
 				<view @click="emit('clickPreChapter')" :style="{'color':font_color}">上一章</view>
 				<view @click="emit('clickKeep')" style="align-items: center; display: flex;">
 					<image src="../../static/logo.png" style="width: 40rpx;height: 40rpx; margin-right: 10px;"></image>
-					<view :style="{'color':font_color}">加入书架</view>
+					<view :style="{'color':font_color}">{{BookshelfStatusTitle}}</view>
 				</view>
 				<view @click="emit('clickNextChapter')" :style="{'color':font_color}">下一章</view>
 			</view>
@@ -60,6 +60,7 @@
 	import { tools } from '../../framework/tools';
 	const emit = defineEmits(['clickCatalog','clickPreChapter','clickNextChapter','clickMode','clickOpenSetting','Close','changeFontSize','changeBgColor','selectAutoBuy','clickKeep'])
 	// const { windowWidth, windowHeight, statusBarHeight, platform, pixelRatio } = uni.getSystemInfoSync();
+	const {book_id} = defineProps(['book_id'])
 	let menu = ref(null)
 	function change(e){
 		if(e.show==false){
@@ -116,6 +117,11 @@
 	
 	let font_color = ref(tools.getFontColorByMode(ReadSetting().data.readMode))
 	let db_color = ref(tools.getDbColorByMode(ReadSetting().data.readMode))
+	
+	let BookshelfStatusTitle = ref('加入书架')
+	tools.checkBookOnBookshelf(book_id,(is_on)=>{
+		BookshelfStatusTitle.value = '已添加书架'
+	})
 	defineExpose({showSettingFont})
 	
 </script>

+ 30 - 14
xs-app/pages/readbook/read.vue

@@ -1,5 +1,5 @@
 <template>
-	<scroll-view @touchmove.stop.prevent="() => {}" :scroll-y="true"   :refresher-enabled="false" class="color-bg" :style="{'background-color': read_setting_data.readMode==config.read_config.readMode.Bright?config.read_config.colorList[read_setting_data.colorBgIndex]:DarkBg,'height':'100%' }">
+	<scroll-view :scroll-y="true"   :refresher-enabled="false" class="color-bg" :style="{'background-color': read_setting_data.readMode==config.read_config.readMode.Bright?config.read_config.colorList[read_setting_data.colorBgIndex]:DarkBg,'height':'100%' }">
 		<readPage class="content" ref="readPages" @onTouchstart="onStartClickView"
 		@clickCatalog="onClickCatalog"
 		@clickPreChapter="onClickPreChapter"
@@ -112,26 +112,33 @@
 	
 	
 	function check_buy_status(){
+		
 		let chapter = tools.getCurChapterData(cur_read_chapter_index.value,directoryList);
-		if(!tools.getUserIsVIP()){ //判断是否是vip
-			if(ReadSetting().getReadSetting().autoBuyNextChpater){ //判断是否是自动购买
-				if(UserData().getData().coin>=chapter.coin){ //用户书币足够支付
-					BuyBookChapter(chapter.id,chapter.coin)
+		if(chapter.pay_type == config.chapter_pay_type.SHOU_FEI){
+			if(!tools.getUserIsVIP()){ //判断是否是vip
+				if(ReadSetting().getReadSetting().autoBuyNextChpater){ //判断是否是自动购买
+					if(UserData().getData().coin>=chapter.coin){ //用户书币足够支付
+						check_book_chapter_is_buy(chapter.id,(isBuy)=>{
+							if(!isBuy){
+								BuyBookChapter(chapter.id,chapter.coin)
+							}
+						})
+					}else{
+						check_book_chapter_is_buy(chapter.id)
+					}
 				}else{
 					check_book_chapter_is_buy(chapter.id)
 				}
 			}else{
-				if(chapter.pay_type == config.chapter_pay_type.SHOU_FEI){
-					check_book_chapter_is_buy(chapter.id)
-				}
+				UnLockChapter()
 			}
-		}else{
-			UnLockChapter()
 		}
+		
+		
 	}
 	
 	let showCode = ref(false)
-	function check_book_chapter_is_buy(chapter_id:number){
+	function check_book_chapter_is_buy(chapter_id:number,cb:Function=null){
 		tools.check_book_chapter_is_buy(book_data.book_id,chapter_id,(isBuy)=>{
 			if(!isBuy){
 				console.log("check_book_chapter_is_buy1",isBuy)
@@ -141,6 +148,9 @@
 			}else{
 				UnLockChapter()
 			}
+			if(cb!=null){
+				cb(isBuy)
+			}
 		})
 	}
 	function down_dir_load(){
@@ -363,7 +373,7 @@
 		BuyBookChapter(chapter.id,chapter.coin)
 	}
 	
-	function onClickBuy(goods_id:number){
+	function onClickBuy(goods_id:number,isVip:boolean = true){
 		uni.showLoading({
 			title:'跳转支付...',
 			mask:true
@@ -375,6 +385,10 @@
 					SchedulingOrder(data.order_id,()=>{
 						UserData().update_user_info(()=>{
 							uni.hideLoading()
+							if(isVip){
+								UnLockChapter()
+								showRecharge.value = false
+							}
 						})
 						
 					})
@@ -385,6 +399,7 @@
 	
 	function BuyBookChapter(chapter_id:number,coin:number){
 		if(tools.getUserIsVIP()){
+			UnLockChapter()
 			return
 		}
 		if(UserData().getData().coin>=coin){
@@ -394,6 +409,7 @@
 			})
 			http.DynamicRequest(config.url_confg.Dynamic.buy_chapter,{'book_id':book_data.book_id,'chapter_id':chapter_id},(err,d)=>{
 				if(!err){
+					log.Debug(d)
 					if(d.code==config.url_confg.StatesCode.SUCCESS){
 						// d.content.includes(chapter_id)
 						UserData().update_user_info(()=>{
@@ -407,6 +423,8 @@
 					}else{
 					
 					}
+				}else{
+					log.Error(err)
 				}
 			
 			})
@@ -420,10 +438,8 @@
 	
 	function SchedulingOrder(order_id:string,cb:Function){
 		let temp = setInterval(()=>{
-			console.log("查询支付")
 			http.DynamicRequest(config.url_confg.Dynamic.recharge.order_info,{'order_id':order_id},(err,d)=>{
 				if(!err){
-					console.log("查询支付info",d)
 					if(d.code == config.url_confg.StatesCode.SUCCESS){
 						let data:order_info_data = d.content
 						if(data.status==config.order_status.YI_JING_ZHI_FU){