| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 | <template>	<shuxueZhangjie v-if="currentProduct ==1" @clickGradeTerm="clickGradeTerm" @onLeft="onLeft" @onRight="onRight"		@handleCheckCatalogue="handleCheckCatalogue" @listClick="listClick" :options="infoData">	</shuxueZhangjie>	<yingyuZhangjie v-if="currentProduct ==2" @clickGradeTerm="clickGradeTerm" @onLeft="onLeft" @onRight="onRight"		@handleCheckCatalogue="handleCheckCatalogue" @listClick="listClick" :options="infoData">	</yingyuZhangjie>	<!-- 蛋 -->	<egg-dialog ref="eggDialogRef" @eggBtn="eggBtn"></egg-dialog>	<catalogue ref="catalogueRef" @change-zhang="handleChangeZhang"></catalogue>	<CustomTabBar :cardId="cardId" :nianji="nianji" :zhangId="zhangId"></CustomTabBar>	<tip-small-dialog ref="goPayDialogRef" @confirm-btn="goPayPage" :content="tipContent"></tip-small-dialog>	<tip-middle-dialog ref="youkeDialogRef" @confirm-btn="ykConfirm" :content="YouKeContent"></tip-middle-dialog></template><script setup>	import {		userZhangInfo,		userLocate,		userZhangForntInfo,		userZhangNextInfo,		getCommonZhangInfo	} from "@/api/learnPlan.js"	import {		reactive,		ref,		nextTick,		getCurrentInstance,		onMounted	} from "vue";	import {		onLoad	} from '@dcloudio/uni-app';	import catalogue from "@/components/catalogue/catalogue.vue";	import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';	import tipSmallDialog from '@/components/dialog/tipSmallDialog.vue'	import tipMiddleDialog from '@/components/dialog/tipMiddleDialog.vue';	import shuxueZhangjie from './product/shuxue.vue';	import yingyuZhangjie from './product/yingyu.vue';	import {		useTabBarHistory	} from '@/utils/emitEvents.js';	import eggDialog from './eggDialog.vue'	import {		toast,		getUserIdentity	} from "@/utils/common";	import cacheManager from "@/utils/cacheManager.js";	const tipContent = '付费章节,是否前往开通付费?'; //当前产品	const goPayDialogRef = ref(null);	const youkeDialogRef = ref(null);	const eggDialogRef = ref(null);	const YouKeContent = '您当前是游客身份,登录后才能浏览内容,现在去登录?';	const zhangId = ref(null); //游客使用	const nianji = ref(null); //游客使用	const cardId = ref(null); //游客使用	const catalogueRef = ref(null);	const currentProduct = ref(null);	const selectZhang = ref(null);	let infoData = reactive({		jieList: [],		haveFlag: '',		nianji: '',		number: '',		cardId: '',		zhangId: '',		zhangName: '',		numberStr: '',	});	onLoad((options) => {		init(options)	})	function init(options) {		if (cacheManager.get('auth')) {			currentProduct.value = cacheManager.get('auth').cardId;			//会员 取auth			selectZhang.value = cacheManager.get('auth');			console.log(selectZhang.value);			// 已登录			// 选择年级进入调用此接口			//options.flag == 'selectGrades'			if (!selectZhang.value.eggFlag) {				nextTick(() => {					eggDialogRef.value.eggShow();				})			}			getZhangInfo()			// 蛋			// eggDialogRef.value.eggShow();		} else {			zhangId.value = options.zhangId			nianji.value = options.nianji			cardId.value = options.cardId			currentProduct.value = options.cardId			// 未登录 游客 			getCommonZhang(options)		}	}	function getZhangInfo(data) {		let req = {			nianji: selectZhang.value.nianji,			cardId: selectZhang.value.cardId,			zhangId: selectZhang.value.zhangId,		}		userZhangInfo(req).then(res => {			cacheManager.set('zhangInfo', res.data)			infoData.jieList = res.data.jieList			infoData.haveFlag = res.data.haveFlag			infoData.nianji = res.data.nianji			infoData.number = res.data.number			infoData.numberStr = res.data.numberStr			infoData.cardId = res.data.cardId			infoData.zhangId = res.data.zhangId			infoData.zhangName = res.data.zhangName			recordZhangJie()			getNewData()			// if (cacheManager.get('zhangInfo')) {			//     cacheManager.remove('zhangInfo')			//     cacheManager.set('zhangInfo', res.data)			// } else {			//     cacheManager.set('zhangInfo', res.data)			// }		})	}	function getCommonZhang(data) {		let req = {			nianji: data.nianji,			cardId: data.cardId,			zhangId: data.zhangId,		}		getCommonZhangInfo(req).then(res => {			infoData.jieList = res.data.jieList			infoData.haveFlag = res.data.haveFlag			infoData.nianji = res.data.nianji			infoData.number = res.data.number			infoData.numberStr = res.data.numberStr			infoData.cardId = res.data.cardId			infoData.zhangId = res.data.zhangId			infoData.zhangName = res.data.zhangName			//getNewData()		})	}	function onLeft(event) {		const authCode = getUserIdentity();		if (authCode !== 'VIP') {			return false		}		console.log('用户左滑了');		let req = {			nianji: selectZhang.value.nianji,			zhangId: selectZhang.value.zhangId,			cardId: selectZhang.value.cardId,		}		userZhangForntInfo(req).then(res => {			cacheManager.set('zhangInfo', res.data)			infoData.jieList = res.data.jieList			infoData.haveFlag = res.data.haveFlag			infoData.nianji = res.data.nianji			infoData.number = res.data.number			infoData.numberStr = res.data.numberStr			infoData.cardId = res.data.cardId			infoData.zhangId = res.data.zhangId			infoData.zhangName = res.data.zhangName			recordZhangJie()			getNewData()		})	}	function onRight(event) {		const authCode = getUserIdentity();		if (authCode !== 'VIP') {			return false		}		console.log('用户又滑了');		let req = {			nianji: selectZhang.value.nianji,			zhangId: selectZhang.value.zhangId,			cardId: selectZhang.value.cardId,		}		userZhangNextInfo(req).then(res => {			cacheManager.set('zhangInfo', res.data)			infoData.jieList = res.data.jieList			infoData.haveFlag = res.data.haveFlag			infoData.nianji = res.data.nianji			infoData.number = res.data.number			infoData.numberStr = res.data.numberStr			infoData.cardId = res.data.cardId			infoData.zhangId = res.data.zhangId			infoData.zhangName = res.data.zhangName			recordZhangJie()			getNewData()		})	}	function getNewData() {		selectZhang.value.zhangId = cacheManager.get('zhangInfo').zhangId;		selectZhang.value.cardId = cacheManager.get('zhangInfo').cardId;		selectZhang.value.nianji = cacheManager.get('zhangInfo').nianji;		cacheManager.updateObject('auth', {			zhangId: selectZhang.value.zhangId,			cardId: selectZhang.value.cardId,			nianji: selectZhang.value.nianji,		})	}	function recordZhangJie() {		let req = {			nianji: selectZhang.value.nianji,			userId: cacheManager.get('auth').userId,			zhangId: infoData.zhangId,			cardId: selectZhang.value.cardId,		}		userLocate(req).then(res => {		})	}	function goPayPage() {	}	function handleChangeZhang(data) {		selectZhang.value = data;		const authCode = getUserIdentity();		if (authCode !== 'Visitor') {			cacheManager.updateObject('auth', {				zhangId: data.zhangId			})		}		init()	}	function goKaoshi(data) {		uni.redirectTo({			// url: `/pages/unitTest/index?jieNumber=` + data.number			url: `/pages/unitTest/index?jieId=` + data.jieId		})	}	function goLookShipin(data) {		if (!cacheManager.get('auth')) {			infoData.cardId = cardId.value			infoData.nianji = nianji.value			infoData.zhangId = zhangId.value			uni.redirectTo({				url: '/pages/study/lookShipin?youkePageData=' + JSON.stringify(infoData)			})			return;		} else {			uni.redirectTo({				url: '/pages/study/lookShipin?jieId=' + data.jieId			})		}	}	function listClick(data, index) {		if (!cacheManager.get('auth') && data.firstFlag != 1) {			youkeDialogRef.value.handleShow();			return;		}		const authCode = getUserIdentity();		if (!(authCode == 'VIP' || data.firstFlag == 1)) {			goPayDialogRef.value.handleShow();			return false		}		if (data.type == 2) {			// 最后一项			goKaoshi(data)		} else {			goLookShipin(data)		}	}	function handleCheckCatalogue() {		catalogueRef.value.showPopup();	}	function clickGradeTerm() {		uni.navigateTo({			url: `/pages/selectGradesTerms/index`,		})	}	// 游客弹窗---确定	function ykConfirm() {		uni.redirectTo({			url: '/pages/login/index'		});	}	function eggBtn() {		console.log('点击:开启提分之旅');		cacheManager.updateObject('auth', {			eggFlag: true		})	}</script><style></style>
 |