<script>
    import { config } from './config/config';
	import { sdkUtil } from './framework/sdkUtil';
	import { tools } from './framework/tools';
	import { UserStatus } from './stores/userStatusManager';
	// #ifdef MP-WEIXIN
	const novelPlugin = requirePlugin('novel-plugin');
	// #endif
	export default {
		onLaunch: function() {
			console.log('App Launch')
			tools.requestLogin(()=>{
				// tools.requestRechargeOrderBuy(config.pay_type.WEI_XIN,1,(order_id,data)=>{
				// 	console.log("order_id",order_id)
				// 	console.log("data",data)
				// 	sdkUtil.showPayment({
				// 		timeStamp:data.time_stamp,
				// 		nonceStr:data.nonce_str,
				// 		package:`prepay_id=${data.prepay_id}`,
				// 		paySign:data.pay_sign,
				// 		signType:data.sign_type},()=>{
							
				// 	})
				// })
			})
		    // 订阅小程序初始化成功的事件
			if(tools.getCurPlatform()==config.Platform.WEIXIN) {
				// 订阅小程序初始化成功的事件
				novelPlugin.setLoggerConfig({
				    info:false,
				    debug: false,
				    log:false,
				    warn:true,
				    error:true})
				novelPlugin.onPageLoad(onNovelPluginLoad);
				console.log("novelPlugin",novelPlugin)
			}
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
	
	function onNovelPluginLoad(data) {
		// data.id 句柄 用来获取novelManager实例
		const novelManager = novelPlugin.getNovelManager(data.id);
		console.log(novelManager.getPluginInfo())
		// getId() 返回当前manager对应的Id(即句柄)
		console.log('id:', novelManager.getId());
		// getBookId() 返回当前manager对应的bookId
		console.log('bookId:', novelManager.getBookId());
		// novelManager.onUserTriggerEvent((params)=>{
		// 	console.log("params",params)
		// })
		novelManager.setClosePluginInfo({  //关闭后跳转的界面
			url: '/pages/bookstore/bookstore',
			mode: 'switchTab'  // 'redirectTo'
		})
		// console.log('novelManager:', novelManager);
		// setBookshelfStatus(Object params)
		// params.bookshelfStatus number类型 0 代表用户取消添加书架 1 代表用户添加书架
		// 因为是否添加书架的情况阅读器并不记录 所以需要接入方在接入的时候设置书架的状态
		// 默认情况该值为0 即未添加
		// 注：此处直接设置了未添加的状态 但实际情况应是接入方去拉取存储于接入方的用户数据
		tools.getBookIdByWxBookId(novelManager.getBookId(),(book_id)=>{
			tools.checkBookOnBookshelf(book_id,(is_on)=>{
				novelManager.setBookshelfStatus({
					bookshelfStatus: is_on==true?1:0,
				});
			})
		})
		// var wx_book_id = novelManager.getBookId()
		// 监听用户点击书架的事件
		// params.bookshelfStatus number类型 0 代表用户取消添加书架 1 代表用户添加书架
		novelManager.onClickBookshelf((params) => {
			// 此处逻辑应是接入方将用户设置的数据存储下来
			// 之后将书架状态改变
			// 如果接入方不去主动设置该状态 那么用户点击加入书架后 则不会有任何响应
			// novelManager.setBookshelfStatus({
			//   bookshelfStatus: params.bookshelfStatus === 0 ? 1 : 0,
			// });
			tools.getBookIdByWxBookId(novelManager.getBookId(),(book_id)=>{
				console.log("book_id:",book_id)
				if(params.bookshelfStatus === 0 ){
					tools.addBookshelf(UserStatus().getUserSelectBook(),(is_on)=>{
						novelManager.setBookshelfStatus({
								bookshelfStatus: 1,
						});
					})
				}else{
					tools.deleteBookshelf([book_id],()=>{
						novelManager.setBookshelfStatus({
								bookshelfStatus: 0,
						});
					})
				}
			})
		
	
	  });
	  
	  novelManager.setCustomServerParams({
		  customServerParams:JSON.stringify({applet_id:config.applet_id})
	  })
	  // setContents 设置目录信息(Object params)
	  // params.contents Array类型 是一个代表各个章节信息的数组
	  // params.contents[i].index  number类型 代表章节下标(章节下标从0开始)
	  // params.contents[i].status number类型 代表章节状态(0 免费章节 1 未付费章节 2 已付费章节 其余值非法)
	  // 下方示例代表：第一章免费，第二张已付费，第三章未付费
	  // 注1: 该接口设置的数据仅影响插件页目录的UI表现，插件页去拉取章节数据的时候还是会依赖后台返回的状态。
	  // 注2: 该接口可以反复调用，因为某些章节数据量过大，如需要分页拉取的时候，该特性或许有用
	  // 注3: 实际开发中，此数据应从接入方后台拉取
	  // 注4: 若不设置此数据，则免费章节、未付费章节与已付费章节在目录UI上无法分辨，虽不会影响实际付费的逻辑，但还是强烈建议设置此数据
	 //  novelManager.setContents({
		// contents: [
		//   {
		// 	index: 0,
		// 	status: 0,
		//   },
		//   {
		// 	index: 1,
		// 	status: 2,
		//   },
		//   {
		// 	index: 2,
		// 	status: 1,
		//   },
		// ],
	 //  });
	 
		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>
	/*每个页面公共css */
</style>
