<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')
			switch (tools.platform){
				case config.Platform.WEIXIN:
					wx.showShareMenu({
						withShareTicket: true,
						menus: ['shareAppMessage', 'shareTimeline']
					});
				break;
			}
			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.platform==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,
						});
					})
				}
			})
		
	
	  });

	  // 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,
		//   },
		// ],
	 //  });
	}
</script>
	
<style>
	/*每个页面公共css */
</style>
