wangxy 7 months ago
parent
commit
e370b98e7a
2 changed files with 65 additions and 12 deletions
  1. 22 12
      pages/unitTest/index.vue
  2. 43 0
      utils/emitEvents.js

+ 22 - 12
pages/unitTest/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
 		<view>
-			<uni-icons type="left" size="30" @click=""></uni-icons>
+			<uni-icons type="left" size="30" @click="handleBack"></uni-icons>
 			<text>单元测试</text>
 			<view><text>{{count}}</text>/<text>{{total}}</text></view>
 		</view>
@@ -73,7 +73,26 @@
 	const uniPointsRef = ref(null);
 	const chengjiRef = ref(null);
 
-	function sendDataToStudyPage() {
+	// 查看答案
+	function checkAnswer() {
+		chengjiRef.value.showPopup();
+	}
+	// 继续学习
+	function goStudyContinue() {
+		// 设置 从单元测试 到 岛 的路由参数
+		setStudyStorage({
+			nianji: nianji.value,
+			xueqi: xueqi.value,
+			zhangId: nextZhangId.value,
+			jieId: jieId.value,
+			nextZhangId: null,
+		});
+		uni.switchTab({
+			url: `/pages/study/index`
+		})
+	}
+	
+	function handleBack() {
 		// 设置 从单元测试 到 岛 的路由参数
 		setStudyStorage({
 			nianji: nianji.value,
@@ -82,17 +101,8 @@
 			jieId: jieId.value,
 			nextZhangId: nextZhangId.value,
 		});
-	}
-
-	// 查看答案
-	function checkAnswer() {
-		chengjiRef.value.showPopup();
-	}
-	// 继续学习
-	function goStudyContinue() {
-		sendDataToStudyPage();
 		uni.switchTab({
-			url: `/pages/study/index?zhangId`
+			url: `/pages/study/index`
 		})
 	}
 </script>

+ 43 - 0
utils/emitEvents.js

@@ -0,0 +1,43 @@
+export const FROM_PAGES_UNITTEST = "from.pages.unitTest"; // 从 单元测试 返回 岛 的路由参数
+export const FROM_PAGES_SELECTGRADE = "from.pages.selectGrade"; // 从年级学期选择 跳转 岛 的路由参数
+
+export function useStudyRouteParams() {
+	const STUDY_ROUTE_PARAMS = 'STUDY_ROUTE_PARAMS';
+
+	function setStudyStorage({
+		nianji, // 年级
+		xueqi, // 学期 
+		zhangId, // 章Id
+		jieId, // 节Id
+		nextZhangId, // 下一章Id
+	}) {
+		uni.setStorageSync(STUDY_ROUTE_PARAMS, JSON.stringify(Object.assign({}, {
+			nianji: null,
+			xueqi: null,
+			zhangId: null,
+			jieId: null,
+			nextZhangId: null,
+		}, {
+			nianji,
+			xueqi,
+			zhangId,
+			jieId,
+			nextZhangId,
+		})));
+	}
+
+	function getStudyStorage() {
+		const data = uni.getStorageSync(STUDY_ROUTE_PARAMS);
+		return data ? JSON.parse(data) : data;
+	}
+
+	function removeStudyStorage() {
+		uni.getStorageSync(STUDY_ROUTE_PARAMS)
+	}
+
+	return {
+		setStudyStorage,
+		getStudyStorage,
+		removeStudyStorage
+	}
+}