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_SELECT_NEED = 'GUIDE_SELECT_NEED'
|
||||||
export const GUIDE_OTHER_NEED = 'GUIDE_OTHER_NEED'
|
export const GUIDE_OTHER_NEED = 'GUIDE_OTHER_NEED'
|
||||||
|
export const ANSWER_SESSION_ID = 'ANSWER_SESSION_ID'
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
import {
|
import {
|
||||||
GUIDE_OTHER_NEED,
|
GUIDE_OTHER_NEED,
|
||||||
GUIDE_SELECT_NEED,
|
GUIDE_SELECT_NEED,
|
||||||
|
ANSWER_SESSION_ID,
|
||||||
} from "../constance/constance.common";
|
} from "../constance/constance.common";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,6 +28,9 @@ export default {
|
|||||||
[GUIDE_SELECT_NEED](state) {
|
[GUIDE_SELECT_NEED](state) {
|
||||||
state.guideSelectNeed = false;
|
state.guideSelectNeed = false;
|
||||||
},
|
},
|
||||||
|
[ANSWER_SESSION_ID](state, sessionid) {
|
||||||
|
state.answerSessionId= sessionid;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
actions: {},
|
actions: {},
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ export default class AnswerApi {
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
url: `/answer/surveys/${params.id}`,
|
url: `/answer/surveys/${params.id}`,
|
||||||
params: {...params.data,time:Date.now()},
|
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",
|
method: "POST",
|
||||||
url: `/answer/surveys/${params.id}`,
|
url: `/answer/surveys/${params.id}`,
|
||||||
data: params.data,
|
data: params.data,
|
||||||
|
headers: {
|
||||||
|
"answer-session-id": AnswerApi.getLocalStorageWithExpiration('answer-session-id'),
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,6 +49,9 @@ export default class AnswerApi {
|
|||||||
method: "PATCH",
|
method: "PATCH",
|
||||||
url: `/answer/surveys/${params.id}/password`,
|
url: `/answer/surveys/${params.id}/password`,
|
||||||
data: params.data,
|
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}`,
|
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 LangTranslate from "../LangTranslate.vue";
|
||||||
import { getLanguage } from "../../components/js/language";
|
import { getLanguage } from "../../components/js/language";
|
||||||
|
import {useStore} from "vuex";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: { QuestionsPc, QuestionsMob, PfeButton, QLast, Password, LangTranslate },
|
components: { QuestionsPc, QuestionsMob, PfeButton, QLast, Password, LangTranslate },
|
||||||
@@ -19,6 +20,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
const visible = ref(false);
|
const visible = ref(false);
|
||||||
const l = ref({});
|
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 用于测试环境进行测试
|
// 专门为 正式环境中 这两个问卷写的功能,talr 用于测试环境进行测试
|
||||||
if (data.action?.code === 20017 && (['8a0pqWaB', 'w4oR35Ak'].includes(proxy.$route.query.sn) || proxy.$route.query['talr'])) {
|
if (data.action?.code === 20017 && (['8a0pqWaB', 'w4oR35Ak'].includes(proxy.$route.query.sn) || proxy.$route.query['talr'])) {
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
|
|||||||
Reference in New Issue
Block a user