diff --git a/public/.~questions.xlsx b/public/.~questions.xlsx
deleted file mode 100644
index 70c5cdf..0000000
Binary files a/public/.~questions.xlsx and /dev/null differ
diff --git a/public/questions.xlsx b/public/questions.xlsx
index 1a5b9aa..7b3c095 100644
Binary files a/public/questions.xlsx and b/public/questions.xlsx differ
diff --git a/public/survey.html b/public/survey.html
index e7d5978..95528fc 100644
--- a/public/survey.html
+++ b/public/survey.html
@@ -1769,49 +1769,8 @@
const urlParams = new URLSearchParams(window.location.search);
const assessmentParam = urlParams.get('assessment');
- if (assessmentParam) {
- try {
- // 使用 UTF-8 兼容的解码方法
- const assessmentParams = JSON.parse(this.base64ToUtf64(assessmentParam));
-
- // 应用筛选条件
- if (assessmentParams.selectedSubject) {
- document.getElementById('subjectFilterSelect').value = assessmentParams.selectedSubject;
- this.onSubjectFilterChange();
- }
-
- if (assessmentParams.selectedSemester) {
- document.getElementById('gradeFilterSelect').value = assessmentParams.selectedSemester;
- this.onGradeFilterChange();
- }
-
- if (assessmentParams.selectedUnit) {
- // 延迟设置单元,等待年级选择后再设置单元
- setTimeout(() => {
- document.getElementById('unitFilterSelect').value = assessmentParams.selectedUnit;
- this.onUnitFilterChange();
- }, 100);
- }
-
- if (assessmentParams.scoreRange) {
- document.getElementById('scoreRangeSelect').value = assessmentParams.scoreRange;
- this.onScoreRangeChange();
- }
-
- // 显示提示信息
- this.showNotification('测评配置已自动加载,请填写学员信息后开始答题');
-
- } catch (error) {
- console.error('解析测评参数失败:', error);
- this.showErrorDialog('测评链接解析失败',
- `测评链接参数解析失败,请手动配置测评。
- 可能的原因:
- • 链接格式不正确
- • 链接已损坏
- • 浏览器兼容性问题`
- );
- }
- }
+ // 注意:现在不再使用assessment参数,因为测评链接直接使用会话ID
+ // 保留此函数是为了向后兼容,但不再处理assessment参数
}
async loadQuestions() {
@@ -2053,23 +2012,14 @@
}
displayAutoRules() {
- // 显示自动配置结果区域
- document.getElementById('autoRulesDisplay').style.display = 'grid';
+ // 不显示自动配置结果区域
+ document.getElementById('autoRulesDisplay').style.display = 'none';
- // 更新各类型题目数量
- document.getElementById('autoBasicCount').textContent = this.currentRules['基础题'];
- document.getElementById('autoAdvancedCount').textContent = this.currentRules['进阶题'];
- document.getElementById('autoCompetitionCount').textContent = this.currentRules['竞赛题'];
-
- // 计算并更新分数
+ // 计算题目总数和总分数
const basicScore = this.currentRules['基础题'] * 5;
const advancedScore = this.currentRules['进阶题'] * 10;
const competitionScore = this.currentRules['竞赛题'] * 15;
- document.getElementById('autoBasicScore').textContent = basicScore;
- document.getElementById('autoAdvancedScore').textContent = advancedScore;
- document.getElementById('autoCompetitionScore').textContent = competitionScore;
-
// 更新总计
const totalQuestions = this.currentRules['基础题'] + this.currentRules['进阶题'] + this.currentRules['竞赛题'];
const totalScore = basicScore + advancedScore + competitionScore;
@@ -2365,22 +2315,7 @@
}
}
- // UTF-8 字符串转 Base64 编码
- utf8ToBase64(str) {
- // 将字符串转换为 UTF-8 字节
- const utf8Bytes = new TextEncoder().encode(str);
- // 将字节转换为 Base64
- return btoa(String.fromCharCode(...utf8Bytes));
- }
-
- // Base64 解码为 UTF-8 字符串
- base64ToUtf64(base64) {
- // 将 Base64 转换为字节
- const bytes = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
- // 将字节转换为 UTF-8 字符串
- return new TextDecoder().decode(bytes);
- }
-
+
async generateAssessmentLink() {
try {
// 验证学员信息(和开始答题一样的验证逻辑)
@@ -2435,55 +2370,70 @@
generateBtn.querySelector('.button-text').textContent = '正在生成链接...';
generateBtn.disabled = true;
- // 构建测评参数(包含学员信息和配置)
- const assessmentParams = {
- selectedSubject: document.getElementById('subjectFilterSelect').value || '',
- selectedSemester: document.getElementById('gradeFilterSelect').value || '',
- selectedExamType: '',
- selectedUnit: document.getElementById('unitFilterSelect').value || '',
- selectedCategory: '',
- selectedQuestionType: '',
- selectedTag: this.selectedTag,
- selectedTagsList: [],
- questionsConfig: this.currentRules,
- scoreRange: scoreRange
- };
-
- // 使用 UTF-8 兼容的 Base64 编码
- const encodedParams = this.utf8ToBase64(JSON.stringify(assessmentParams));
-
- // 生成测评链接
- const baseUrl = window.location.origin + window.location.pathname.split('/').slice(0, -1).join('/') + '/survey.html';
- const assessmentLink = `${baseUrl}?assessment=${encodedParams}`;
-
- // 复制链接到剪贴板
- await navigator.clipboard.writeText(assessmentLink);
-
- // 显示成功对话框
- this.showDialog({
- title: '测评链接生成成功!',
- content: `