<template>
	<view class="start-index">
		<view v-if="tabberPageLoadFlag[0]" :style="{display: currentIndex === 0 ? '' : 'none'}">
			<scroll-view class="custom-tabbar-page" scroll-y enable-back-to-top @scrolltolower="tabbarPageScrollLower">
				<Home ref="home"></Home>
			</scroll-view>
		</view>
		<view v-if="tabberPageLoadFlag[1]" :style="{display: currentIndex === 1 ? '' : 'none'}">
			<scroll-view class="custom-tabbar-page" scroll-y enable-back-to-top @scrolltolower="tabbarPageScrollLower">
				<Comm ref="comm"></Comm>
			</scroll-view>
		</view>
		<view v-if="tabberPageLoadFlag[2]" :style="{display: currentIndex === 2 ? '' : 'none'}">
			<scroll-view class="custom-tabbar-page" scroll-y enable-back-to-top @scrolltolower="tabbarPageScrollLower">
				<Discovery ref="discovery"></Discovery>
			</scroll-view>
		</view>
		<!-- <view v-if="tabberPageLoadFlag[3]" :style="{display: currentIndex === 3 ? '' : 'none'}">
      <scroll-view class="custom-tabbar-page" scroll-y enable-back-to-top @scrolltolower="tabbarPageScrollLower">
        <Message ref="message"></Message>
      </scroll-view>
    </view> -->
		<view v-if="tabberPageLoadFlag[3]" :style="{display: currentIndex === 3 ? '' : 'none'}">
			<scroll-view class="custom-tabbar-page" scroll-y enable-back-to-top @scrolltolower="tabbarPageScrollLower">
				<Mine ref="mine"></Mine>
			</scroll-view>
		</view>

		<tn-tabbar v-model="currentIndex" :list="tabbarList" activeColor="#1d60b1" inactiveColor="#AAAAAA"
			activeIconColor="#1d60b1" :animation="true" :safeAreaInsetBottom="true" @change="switchTabbar"></tn-tabbar>
	</view>
</template>

<script>
	import Home from '../home/home.vue'
	import Comm from '../comm/comm.vue'
	import Discovery from '../discovery/discovery.vue'
	import Mine from '../mine/mine.vue'
    import request from '../../utils/request'
	export default {
		components: {
			Home,
			Comm,
			Discovery,
			Mine
		},
		data() {
			return {
				// 底部tabbar菜单数据
				tabbarList: [{
						title: '我要什么',
						activeIcon: 'home-smile-fill',
						inactiveIcon: 'home-smile'
					},
					{
						title: '我有什么',
						activeIcon: 'shop-fill',
						inactiveIcon: 'shop'
					},
					// {
					//   title: '发现',
					//   activeIcon: 'rocket',
					//   inactiveIcon: 'cube',
					//   activeIconColor: '#FFFFFF',
					//   inactiveIconColor: '#FFFFFF',
					//   iconSize: 50,
					//   out: true
					// },
					{
						title: '供需发布平台',
						activeIcon: 'add-fill',
						inactiveIcon: 'add-circle',
						// count: 12
					},
					{
						title: '我的',
						activeIcon: 'my-fill',
						inactiveIcon: 'my'
					}
				],
				// tabbar当前被选中的序号
				currentIndex: 0,
				// 自定义底栏对应页面的加载情况
				tabberPageLoadFlag: []
			}
		},
		onLoad(options) {
			const index = Number(options.index || 0)
			// 根据底部tabbar菜单列表设置对应页面的加载情况
			this.tabberPageLoadFlag = this.tabbarList.map((item, tabbar_index) => {
				return index === tabbar_index
			})
			this.switchTabbar(index);
			let that = this;
			 
			// uni.login({
			// 	success(res) {
			// 		 console.error(res);
			// 		 that.loginByCode(res.code);
			// 	},
			// 	fail(res) {
			// 		 console.error(res);
			// 		uni.hideLoading();
			// 	}
			// });

		},
		onShow(){
			if (this.currentIndex === 3&&this.$refs.mine) {
				this.$refs.mine.getContentRectInfo();
			}
			if (this.currentIndex === 1&&this.$refs.comm) {
				this.$refs.comm.fetchData();
			}
		},
		methods: {
			// 切换导航
			switchTabbar(index) {
				this._switchTabbarPage(index)
				if (index !== 1) {
					this.$refs?.commRef?.stopAllVideo()
				}
			},
			//获取openId,unionid
			getOpenId(code) {
				const that = this;
				request.post('/wxma/code2Session',{
						code: code,
						platType: "slb",
						mpType: "engineer",
					}).then(res=>{
						console.error(res);
						if(res.success){
							//登录成功
							uni.setStorageSync('userMap', JSON.stringify(res.resultMap));
						}
					
					})
				// wx.request({
				// 	method: 'post',
				// 	url: 'http://slb-m.dev.ml1993.com/lx-api/wxma/code2Session', //仅为示例，并非真实的接口地址
				// 	data: {
				// 		code: code,
				// 		platType: "slb",
				// 		mpType: "engineer",
				// 	},
				// 	header: {
				// 		'content-type': 'application/json' ,// 默认值
				// 		platType: "slb",
				// 		mpType: "engineer",
				// 	},
				// 	success(res) {
				// 		console.warn(res);
				// 		//unionid存到本地
				// 		wx.setStorage({
				// 			key: "frontlixiangsid",
				// 			data: res.data.resultMap.frontlixiangsid
				// 		}, {
				// 			key: "userId",
				// 			data: res.data.resultMap.unionid
				// 		})

						
				// 	}
				// })
			},

			loginByCode(frontId) {
				const that = this;
				uni.setStorageSync('loginStatus', 'false');
				wx.getUserInfo({
				  success: function(res) {
					console.error(res);
					request.post("/slbMpAutoLogin", {
					 		code:frontId, 
					 	    appType:'ma',
							encryptedData:res.encryptedData,
							iv: res.iv
					 	}, {
						login: false,
						warn:false,
						loading:false
					}).then(res2=>{
						console.error(res2);
						if(res2.success){
							//登录成功
							uni.setStorageSync('loginStatus', 'true');
							uni.setStorageSync('userMap', JSON.stringify(res2.resultMap));
							uni.setStorageSync('userNo', res2.resultMap.accountName);
						}else{
							console.error(12345);
							uni.setStorageSync('loginStatus', 'false');
							
							//登录失败,
							uni.login({
								success(res) {
									 console.error(res);
									 that.getOpenId(res.code);
								},
								fail(res) {
									 console.error(res);
									uni.hideLoading();
								}
							});
							 
						}
						console.error(res2);
					});
					 // uni.request({
					 // 	method: 'post',
					 // 	url: 'http://slb-m.dev.ml1993.com/lx-api/slbMpAutoLogin', //仅为示例，并非真实的接口地址
					 // 	data: {
					 // 		code:frontId, 
					 // 	    appType:'ma',
						// 	encryptedData:res.encryptedData,
						// 	iv: res.iv
					 // 	},
					 // 	header: {
					 // 		'content-type': 'application/json', // 默认值
					 		 
					 // 		platType: "slb",
					 // 		mpType: "engineer",
					 // 	},
					 // 	success(res2) {
					 // 		console.error(res2);
					 // 		//unionid存到本地
					 		 
					 // 	}
					 // })
					 
				  }
				})
				 
				
			},

			// 瀑布流导航页面滚动到底部
			tabbarPageScrollLower(e) {
				if (this.currentIndex === 0) {
					this.$refs.home.loadMore();
				}
				if (this.currentIndex === 1) {
					this.$refs.comm.loadMore();
				}
				if (this.currentIndex === 2) {
					this.$refs.discovery.getRandomData && this.$refs.discovery.getRandomData()
				}
			},

			// 切换导航页面
			_switchTabbarPage(index) {
				const selectPageFlag = this.tabberPageLoadFlag[index]
				if (selectPageFlag === undefined) {
					return
				}
				if (selectPageFlag === false) {
					this.tabberPageLoadFlag[index] = true
				}
				this.currentIndex = index
			}
		}
	}
</script>

<style lang="scss" scoped>
</style>