From 5e4bed2d67b26eeb7eab4d176bfabe3f527836e4 Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期五, 19 七月 2024 13:48:29 +0800
Subject: [PATCH] 修复答题刷新与CAQ分片2从第2题开始bug

---
 src/store/modules/user.js |   49 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index bb42548..34247b6 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,13 +1,17 @@
 import Cookies from 'js-cookie'
 import userApi from '@/api/user'
+import examPaperApi from '@/api/examPaper'
 // initial state
 const state = {
   userName: Cookies.get('studentUserName'),
   userInfo: Cookies.get('studentUserInfo'),
   imagePath: Cookies.get('studentImagePath'),
+  logo: null,
   messageCount: 0,
   memberToken: Cookies.get('memberTocken'),
-  langType: 'English',
+  // langType: localStorage.getItem('langType') || 'English',
+  langType: Cookies.get('langType') || 'English',
+  formDo: localStorage.getItem('formDo') && JSON.parse(localStorage.getItem('formDo')),
   langFlag: true,
   memberId: null
 }
@@ -28,6 +32,9 @@
 
 // mutations
 const mutations = {
+  setLogo (state, logo) {
+    state.logo = logo
+  },
   setUserName (state, userName) {
     state.userName = userName
     Cookies.set('studentUserName', userName, { expires: 30 })
@@ -39,22 +46,48 @@
   setMemberId (state, memberId) {
     state.memberId = memberId
   },
+
+  setFormDo (state, formDo) {
+    if (formDo) {
+      localStorage.setItem('formDo', JSON.stringify(formDo), { expires: 30 })
+    } else {
+      localStorage.setItem('formDo', formDo, { expires: 30 })
+    }
+    state.formDo = formDo
+  },
+  getFormDo (state) {
+    // 濡傛灉涓嶅寘鍚玤uide鍒欓噸鏂拌幏鍙�
+    if (!state.formDo || !Object.hasOwn(state.formDo, 'guide')) {
+      state.formDo = localStorage.getItem('formDo') && JSON.parse(localStorage.getItem('formDo'))
+      if (state.formDo && Object.hasOwn(state.formDo, 'guide')) {
+        return
+      }
+      if (!state.memberToken || !state.langType) {
+        return
+      }
+      examPaperApi.select(state.memberToken, state.langType).then(re => {
+        state.formDo = re.response
+        localStorage.setItem('formDo', JSON.stringify(state.formDo), { expires: 30 })
+      }).catch(e => {
+        console.error('鑾峰彇formDo澶辫触', e)
+      })
+    }
+  },
   setLangType (state, paraLangType) {
     state.langType = paraLangType
-		if(paraLangType == 'Chinese'){
-			Cookies.set('language', 'zh', { expires: 30 })
-		} else {
-			Cookies.set('language', 'en', { expires: 30 })
-		}
+    Cookies.set('langType', paraLangType, { expires: 30 })
+    if (paraLangType === 'Chinese') {
+      Cookies.set('language', 'zh', { expires: 30 })
+    } else {
+      Cookies.set('language', 'en', { expires: 30 })
+    }
   },
   getLangType () {
     let language = (navigator.language || navigator.browserLanguage).toLowerCase()
     if (language === 'zh-cn') {
       state.langType = 'Chinese'
-      console.log(language)
     } else {
       state.langType = 'English'
-      console.log(language)
     }
   },
   setLangFlag (state, paraLangFlag) {

--
Gitblit v1.9.1