Files

25 lines
1.2 KiB
Plaintext
Raw Permalink Normal View History

// 仅供当前填写页与确认页传递数据,不写本机存储、不发起云端保存。
let currentToken = ''
let currentInput: UTSJSONObject | null = null
let submissionFingerprint = ''
let submissionKey = ''
export function clearAssessmentFlow(): void { currentToken = ''; currentInput = null; submissionFingerprint = ''; submissionKey = '' }
// 只在本次流程内复用幂等键:网络超时可安全重试,修改提交内容时生成新键。
export function assessmentRequestKey(token: string, fingerprint: string): string {
const signature = token + ':' + fingerprint
if (submissionFingerprint != signature || submissionKey.length == 0) {
submissionFingerprint = signature
submissionKey = 'assessment_' + Date.now().toString() + '_' + Math.random().toString(36).substring(2, 14)
}
return submissionKey
}
export function readAssessmentFlow(token: string): UTSJSONObject | null {
if (token.length == 0 || token != currentToken) { clearAssessmentFlow(); return null }
return currentInput
}
export function writeAssessmentFlow(token: string, input: UTSJSONObject): void {
if (token.length == 0) { clearAssessmentFlow(); return }
currentToken = token; currentInput = input
}