Accept Merge Request #21604: (uat -> master)
Merge Request: answer_session_id Created By: @赵英杰-深圳维码 Accepted By: @赵英杰-深圳维码 URL: https://yldc.coding.yili.com/p/ylst/d/ylst-survey-web/git/merge/21604?initial=true
This commit is contained in:
@@ -38,3 +38,4 @@ export const DELETET_HEME_INFO_HEADIMGURL = 'DELETET_HEME_INFO_HEADIMGURL'
|
||||
|
||||
export const GUIDE_SELECT_NEED = 'GUIDE_SELECT_NEED'
|
||||
export const GUIDE_OTHER_NEED = 'GUIDE_OTHER_NEED'
|
||||
export const ANSWER_SESSION_ID = 'ANSWER_SESSION_ID'
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import {
|
||||
GUIDE_OTHER_NEED,
|
||||
GUIDE_SELECT_NEED,
|
||||
ANSWER_SESSION_ID,
|
||||
} from "../constance/constance.common";
|
||||
|
||||
/**
|
||||
@@ -16,18 +17,21 @@ export default {
|
||||
guideSelectNeed: true,
|
||||
guideOtherNeed: true
|
||||
},
|
||||
|
||||
|
||||
getters: {},
|
||||
|
||||
mutations: {
|
||||
|
||||
|
||||
[GUIDE_OTHER_NEED](state) {
|
||||
state.guideOtherNeed = false;
|
||||
},
|
||||
[GUIDE_SELECT_NEED](state) {
|
||||
state.guideSelectNeed = false;
|
||||
},
|
||||
[ANSWER_SESSION_ID](state, sessionid) {
|
||||
state.answerSessionId= sessionid;
|
||||
},
|
||||
},
|
||||
|
||||
actions: {},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,10 @@ export default class AnswerApi {
|
||||
method: "GET",
|
||||
url: `/answer/surveys/${params.id}`,
|
||||
params: {...params.data,time:Date.now()},
|
||||
headers: {
|
||||
"Cache-Control": "no-cache",
|
||||
"answer-session-id": AnswerApi.getLocalStorageWithExpiration('answer-session-id'),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -24,6 +28,9 @@ export default class AnswerApi {
|
||||
method: "POST",
|
||||
url: `/answer/surveys/${params.id}`,
|
||||
data: params.data,
|
||||
headers: {
|
||||
"answer-session-id": AnswerApi.getLocalStorageWithExpiration('answer-session-id'),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -42,6 +49,9 @@ export default class AnswerApi {
|
||||
method: "PATCH",
|
||||
url: `/answer/surveys/${params.id}/password`,
|
||||
data: params.data,
|
||||
headers: {
|
||||
"answer-session-id": AnswerApi.getLocalStorageWithExpiration('answer-session-id'),//store.state.answer.answerSessionId,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -54,5 +64,17 @@ export default class AnswerApi {
|
||||
url: `/console/survey_word_export/${sn}?${params}`,
|
||||
})
|
||||
}
|
||||
|
||||
// 获取localStorage数据,并检查过期时间
|
||||
static getLocalStorageWithExpiration(key) {
|
||||
const item = JSON.parse(localStorage.getItem(key));
|
||||
|
||||
if (!item || new Date().getTime() > item.expirationDate) {
|
||||
// 数据过期,删除数据
|
||||
localStorage.removeItem(key);
|
||||
return null;
|
||||
}
|
||||
return item.value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import Password from "../../questions/Password/Index.vue";
|
||||
|
||||
import LangTranslate from "../LangTranslate.vue";
|
||||
import { getLanguage } from "../../components/js/language";
|
||||
import {useStore} from "vuex";
|
||||
|
||||
export default defineComponent({
|
||||
components: { QuestionsPc, QuestionsMob, PfeButton, QLast, Password, LangTranslate },
|
||||
@@ -19,6 +20,7 @@ export default defineComponent({
|
||||
},
|
||||
},
|
||||
setup() {
|
||||
const store = useStore();
|
||||
const loading = ref(true);
|
||||
const visible = ref(false);
|
||||
const l = ref({});
|
||||
@@ -77,6 +79,18 @@ export default defineComponent({
|
||||
},
|
||||
});
|
||||
|
||||
//将作答session_id存入store
|
||||
if (data.answer) {
|
||||
// console.log("sss",data.answer.session_id);
|
||||
store.commit('answer/ANSWER_SESSION_ID', data.answer.session_id);
|
||||
const expirationDate = new Date().getTime() + 24 * 3600000; //有效期设置24小时
|
||||
const value = data.answer.session_id;
|
||||
const oldSessionId = JSON.parse(localStorage.getItem('answer-session-id') || '{}')
|
||||
if (!oldSessionId.value || oldSessionId.value === 'null' || oldSessionId.expirationDate < Date.now()) {
|
||||
localStorage.setItem("answer-session-id", JSON.stringify({ value, expirationDate }));
|
||||
}
|
||||
}
|
||||
|
||||
// 专门为 正式环境中 这两个问卷写的功能,talr 用于测试环境进行测试
|
||||
if (data.action?.code === 20017 && (['8a0pqWaB', 'w4oR35Ak'].includes(proxy.$route.query.sn) || proxy.$route.query['talr'])) {
|
||||
proxy.$router.push({
|
||||
|
||||
Reference in New Issue
Block a user