diff --git a/.env.development b/.env.development
index 0676c220..641e1570 100644
--- a/.env.development
+++ b/.env.development
@@ -7,8 +7,7 @@ ENV = 'development'
#VITE_APP_BASE_API_Url = 'https://aits.jlbank.com.cn:7001'
-
-VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
+VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
# VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
diff --git a/certificate/ios/苹果账号.txt b/certificate/ios/苹果账号.txt
index 2ca46d78..54a427ed 100644
--- a/certificate/ios/苹果账号.txt
+++ b/certificate/ios/苹果账号.txt
@@ -3,6 +3,7 @@
xiangyuanhua@126.com
Xiang@1987
你的 App 专用密码:wais-pyeh-cmww-zqvc
+法人实体名称:BANK OF JILIN CO.,LTD
田岩UDID:
00008101-001911401152001E
diff --git a/src/App.vue b/src/App.vue
index 55b9b3ad..49758a7c 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -66,6 +66,9 @@
.max_page {
min-height: 100vh;
}
+ .no-touch {
+ touch-action: none !important;
+ }
// #endif
.mr-10 {
@@ -176,4 +179,5 @@
margin-right: 8rpx;
margin-left: 2rpx;
}
-
+
+
\ No newline at end of file
diff --git a/src/common/common.js b/src/common/common.js
index e5416482..45127627 100644
--- a/src/common/common.js
+++ b/src/common/common.js
@@ -284,38 +284,38 @@ function isLogin() {
* @returns {string} 最终的额外高度值(带单位)
*/
export const getExtraHeight = () => {
- // 所有常量移入函数内部定义,TARGET_DEVICE_MODEL 改为数组类型
- const TARGET_DEVICE_MODEL = ['XT2321-2']; // 目标设备型号数组(摩托罗拉razr 40 Ultra)
- const EXTRA_HEIGHT_TARGET = '15rpx'; // 目标设备额外高度
- const EXTRA_HEIGHT_DEFAULT = '2rpx'; // 默认额外高度
- try {
- // 1. 优先读取缓存
- const cachedHeight = getValue('extra_height', '');
- if (cachedHeight) {
- console.log('缓存有值直接返回', cachedHeight);
- return cachedHeight; // 缓存有值直接返回
- }
- // 2. 缓存无值时,获取设备信息
- const deviceInfo = uni.getDeviceInfo();
- // 校验设备信息有效性
- if (!deviceInfo || !deviceInfo.deviceModel) {
- throw new Error('设备信息获取失败');
- }
-
- // 3. 判断设备型号(数组包含判断,适配多型号)
- const isTargetDevice = TARGET_DEVICE_MODEL.includes(deviceInfo.deviceModel);
- const finalHeight = isTargetDevice ? EXTRA_HEIGHT_TARGET : EXTRA_HEIGHT_DEFAULT;
+ // 所有常量移入函数内部定义,TARGET_DEVICE_MODEL 改为数组类型
+ const TARGET_DEVICE_MODEL = ['XT2321-2']; // 目标设备型号数组(摩托罗拉razr 40 Ultra)
+ const EXTRA_HEIGHT_TARGET = '15rpx'; // 目标设备额外高度
+ const EXTRA_HEIGHT_DEFAULT = '2rpx'; // 默认额外高度
+ try {
+ // 1. 优先读取缓存
+ const cachedHeight = getValue('extra_height', '');
+ if (cachedHeight) {
+ console.log('缓存有值直接返回', cachedHeight);
+ return cachedHeight; // 缓存有值直接返回
+ }
+ // 2. 缓存无值时,获取设备信息
+ const deviceInfo = uni.getDeviceInfo();
+ // 校验设备信息有效性
+ if (!deviceInfo || !deviceInfo.deviceModel) {
+ throw new Error('设备信息获取失败');
+ }
- // 4. 缓存结果(后续复用)
- setValue('extra_height', finalHeight);
- return finalHeight; // 返回计算后的高度
+ // 3. 判断设备型号(数组包含判断,适配多型号)
+ const isTargetDevice = TARGET_DEVICE_MODEL.includes(deviceInfo.deviceModel);
+ const finalHeight = isTargetDevice ? EXTRA_HEIGHT_TARGET : EXTRA_HEIGHT_DEFAULT;
- } catch (error) {
- // 5. 异常兜底:返回默认值并缓存
- console.warn('获取/设置额外高度失败:', error.message);
- setValue('extra_height', EXTRA_HEIGHT_DEFAULT);
- return EXTRA_HEIGHT_DEFAULT;
- }
+ // 4. 缓存结果(后续复用)
+ setValue('extra_height', finalHeight);
+ return finalHeight; // 返回计算后的高度
+
+ } catch (error) {
+ // 5. 异常兜底:返回默认值并缓存
+ console.warn('获取/设置额外高度失败:', error.message);
+ setValue('extra_height', EXTRA_HEIGHT_DEFAULT);
+ return EXTRA_HEIGHT_DEFAULT;
+ }
};
@@ -327,20 +327,27 @@ export function setupKeyboardHeightListener(updateCallback) {
return () => {};
// #endif
// #ifdef APP-PLUS
- // 获取系统信息
- const systemInfo = uni.getSystemInfoSync();
- // 计算安全区域底部高度
- const safeAreaBottomHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom;
+ // 校验回调函数类型,避免非函数传入导致报错
+ if (typeof updateCallback !== 'function') {
+ console.error('setupKeyboardHeightListener: updateCallback 必须是函数');
+ return () => {};
+ }
// 定义处理函数
const handleKeyboardHeightChange = (res) => {
+ // 获取系统信息
+ const systemInfo = uni.getSystemInfoSync();
+ console.log('systemInfo', systemInfo);
+ // 计算安全区域底部高度
+ const safeAreaBottomHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom;
+ console.log('计算安全区域底部高度', safeAreaBottomHeight);
let keyboardHeight = res.height;
-
+ console.log('软键盘高度', keyboardHeight);
// 仅在iOS端补偿安全区域高度
if (systemInfo.platform === 'ios') {
- keyboardHeight = Math.max(0, keyboardHeight - safeAreaBottomHeight); // 避免负数
+ keyboardHeight = Math.max(0, keyboardHeight); // 避免负数
}
-
+ console.log('keyboardHeight', keyboardHeight);
// 通过回调函数更新外部的响应式变量
updateCallback(keyboardHeight);
};
diff --git a/src/components/examination/es-analysis.vue b/src/components/examination/es-analysis.vue
index 996216ae..59b1a12b 100644
--- a/src/components/examination/es-analysis.vue
+++ b/src/components/examination/es-analysis.vue
@@ -11,7 +11,7 @@
{{ item.gradeDimens }}:
{{ item.anlyGrade }}
-
+
未命中:
@@ -56,12 +56,15 @@
return optionErrorIcon();
}
});
-
+
const keywords = computed(() => {
if (!props.value.relKeyword) return [];
return props.value.relKeyword.split(/[,、/]/).map((key) => key.trim());
});
-
+ const keywordsLength = computed(() => {
+ if (!props.value.relKeyword) return 0;
+ return props.value.relKeyword.split(/[,、]/).map((key) => key.trim()).length;
+ });
const highlightedText = computed(() => {
// 如果没有关键词,直接返回原文本
if (!keywords.value.length) return '命中:' + props.anserResult;
@@ -120,6 +123,39 @@
return missing;
});
+ // 找出答案中存在的关键词
+ const hitKeywords = computed(() => {
+ const relKeyword = props.value.relKeyword;
+ if (!props.anserResult) {
+ return [];
+ }
+
+ // 步骤1:按顿号拆分关键词组
+ const keywordGroups = relKeyword.split('、');
+ const missing = [];
+ // 步骤2:遍历每个关键词组,检查是否存在任意一种说法
+ keywordGroups.forEach((group) => {
+ // 拆分同关键词的不同说法(/ 分隔)
+ const keywordVariants = group.split('/');
+ let isFound = false;
+
+ // 检查答案中是否包含任意一种说法
+ for (const variant of keywordVariants) {
+ // 可选:增加 trim() 忽略首尾空格,提升匹配容错
+ if (props.anserResult.trim().includes(variant.trim())) {
+ isFound = true;
+ break;
+ }
+ }
+
+ // 未找到则加入缺失列表
+ if (isFound) {
+ missing.push(group);
+ }
+ });
+
+ return missing;
+ });
const click_option = () => {
emit('click_option', props.analysisVo);
};
@@ -129,23 +165,22 @@
.mt-10 {
margin-top: 10rpx;
}
+ .analysis_div {
+ :deep(.highlight) {
+ color: #15b859;
+ }
+ }
.success {
background-color: #e7f8ed;
.td {
color: #15b859;
}
- :deep(.highlight) {
- color: #15b859;
- }
}
.error {
background-color: #fce8e9;
.td {
color: #f5212d;
}
- :deep(.highlight) {
- color: #f5212d;
- }
}
.your_answer {
@@ -153,10 +188,19 @@
text-decoration: underline;
}
}
- .keyword-text {
- color: #d70c18;
- text-decoration: underline;
+ .hit-keyword-item{
+ .keyword-text {
+ color: #15b859;
+ text-decoration: underline;
+ }
}
+ .miss-keyword-item{
+ .keyword-text {
+ color: #d70c18;
+ text-decoration: underline;
+ }
+ }
+
.separator {
}
.analysis_div {
@@ -176,13 +220,14 @@
.dimension-line::before {
content: '';
position: absolute;
- left: 0.5em; /* 对齐padding-left的起始位置 */
- top: 1em; /* 垂直居中 */
- transform: translateY(-50%);
- width: 8px; /* 圆点大小(默认是4px左右,调大到8px) */
- height: 8px; /* 和宽度一致,保证圆形 */
+ left: 0.5rem; /* 对齐padding-left的起始位置 */
+ top: 0.5rem;
+ // transform: translateY(-50%);
+ width: 16rpx; /* 圆点大小(默认是4px左右,调大到8px) */
+ height: 16rpx; /* 和宽度一致,保证圆形 */
border-radius: 50%; /* 圆形 */
background-color: #333; /* 圆点颜色,可自定义 */
+
}
.tr {
diff --git a/src/components/examination/reference-answer.vue b/src/components/examination/reference-answer.vue
index 32df8e60..91c2dec1 100644
--- a/src/components/examination/reference-answer.vue
+++ b/src/components/examination/reference-answer.vue
@@ -20,15 +20,16 @@
required: true
}
});
-
+
+ // 判断一下维度有没有关键词命中率这一项
+ const isKeywordsStatus = computed(() => props.value.evalSettingVos.some(res => res.dimensCode === '01'));
const keywords = computed(() => {
if (!props.value.relKeyword) return [];
return props.value.relKeyword.split(/[,、/]/).map((key) => key.trim());
});
-
const highlightedText = computed(() => {
// 如果没有关键词,直接返回原文本
- if (!keywords.value.length) return props.anserResult;
+ if (!keywords.value.length || !isKeywordsStatus.value) return props.anserResult;
// 构建正则表达式,匹配所有关键词(不区分大小写)
// 对关键词进行转义,避免特殊字符影响正则
const escapedKeywords = keywords.value.map((keyword) => keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
diff --git a/src/components/examination/subject.vue b/src/components/examination/subject.vue
index 220ed4f5..b127e869 100644
--- a/src/components/examination/subject.vue
+++ b/src/components/examination/subject.vue
@@ -1,5 +1,5 @@
-
+
{{ subject_type_text }}
@@ -116,7 +116,7 @@
试题解析:{{ subject_data?.analyContent }}
@@ -190,7 +190,9 @@
const wrapperRef = ref(null);
const contentRef = ref(null);
const judgeResultStatus = computed(() => props.item.judgeResult === 'P');
-
+ const isDisabled = computed(() => {
+ return props.item?.es_status !== '' && props.item?.es_status !== undefined;
+ });
// 不是错题本就默认不折叠,错题本默认折叠
const animationState = ref(props.mode !== 'mistake' ? true : false);
const animationHeight = ref(props.mode !== 'mistake' ? '' : '0px');
@@ -380,7 +382,6 @@
left: 0;
/* 初始状态:非激活文本透明且轻微下移 */
opacity: 0;
- // transform: translateY(15rpx);
/* 添加过渡动画 */
transition: all 0.2s ease-out;
/* 确保文本占据空间一致 */
@@ -490,7 +491,9 @@
display: flex;
flex-direction: column;
padding-bottom: 40rpx;
-
+ user-select: none !important; /* 禁用文本选择 */
+ -webkit-user-select: none !important; /* iOS兼容 */
+ -webkit-touch-callout: none !important; /* 禁用iOS长按菜单 */
.top {
display: flex;
align-items: center;
diff --git a/src/components/points-and-badge/holiday - 副本.vue b/src/components/points-and-badge/holiday - 副本.vue
deleted file mode 100644
index 9ba5e746..00000000
--- a/src/components/points-and-badge/holiday - 副本.vue
+++ /dev/null
@@ -1,412 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/components/points-and-badge/holiday.vue b/src/components/points-and-badge/holiday.vue
index 6036e8b5..86d67bf1 100644
--- a/src/components/points-and-badge/holiday.vue
+++ b/src/components/points-and-badge/holiday.vue
@@ -16,14 +16,6 @@
src="@/static/images/pointsAndRank/festival-bg-up.png"
>
-
-
-
-
-
- {{ holidayInfo.holidayDesc }}
+
+
+
+
+
+ {{ holidayInfo.holidayDesc }}
{{ done.tipText }}
-
- {{ score }}
-
- 积分
+ {{ score }}积分
+
{{ done.buttonText }}
@@ -75,7 +73,7 @@
const done = computed(() =>
holidayInfo.rewardType === RewardType.RANDOM_POINT
? {
- tipText: '最高可获',
+ tipText: animationLoading.value === AnimationStatus.COMPLETED ? '恭喜获得' : '最高可获',
buttonText: animationLoading.value === AnimationStatus.COMPLETED ? '开心收下' : '立即抽取'
}
: { tipText: '恭喜获得', buttonText: '开心收下' }
@@ -197,8 +195,8 @@
completeCallback = completeCb; // 关闭弹窗的回调
Object.assign(holidayInfo, holidayBody);
- // if (!holidayInfo.rewardFlag || holidayInfo.obtainFlag) {
- if (!holidayInfo.rewardFlag) {
+ if (!holidayInfo.rewardFlag || holidayInfo.obtainFlag) {
+ // if (!holidayInfo.rewardFlag) {
// 如果当前没有节日窗口,立刻返回回调函数
completeCallback({ status: false });
return;
@@ -238,68 +236,67 @@
// height: 56rpx;
// }
// }
- .festival-text-div {
- position: relative;
- margin-left: 25rpx;
- z-index: 60;
- margin-top: 28rpx;
- color: #ffffff;
- font-style: normal;
-
- font-weight: 600;
- font-size: 58rpx;
- color: #fffae8;
- letter-spacing: 0.05em;
- line-height: 77rpx;
- text-shadow: 0px 4px 8px #d6061b;
- text-align: left;
- font-style: italic;
- transform: skewX(2deg);
- }
+
.festival-main-div {
// margin-top: 8rpx;
z-index: 20;
position: relative;
- width: 530rpx;
- height: 270rpx;
+ width: 444rpx;
+ height: 292rpx;
+ background: linear-gradient(0deg, #fce87e 0%, #fff298 38.9%, #ffffd4 100%);
+ box-shadow: 0px 4 8px 0px #e13520;
+ border-radius: 18rpx;
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0.5)) 2 2;
+ margin: 36rpx auto 0 auto;
.festival-main-img {
margin-left: 16rpx;
- width: 530rpx;
+ width: 328rpx;
position: absolute;
- left: 0;
- top: 0;
+ right: -54rpx;
+ bottom: -80rpx;
}
.festival-main-text {
position: absolute;
- left: 40rpx;
- top: 50rpx;
+ left: 38rpx;
+ bottom: 10rpx;
width: 150rpx;
// background-color:red;
.festival-main-title {
- font-weight: 600;
- font-size: 34rpx;
- color: #b24325;
- line-height: 46rpx;
- text-align: right;
+ font-weight: normal;
+ font-size: 30rpx;
+ color: #B24325;
+ line-height: 40rpx;
+ text-align: center;
}
.festival-main-number-div {
- margin-top: 10rpx;
- font-family: DINAlternate, DINAlternate;
- color: #b24325;
- line-height: 64rpx;
+ margin-top: 16rpx;
+ margin-bottom: 42rpx;
margin-right: 8rpx;
- text-align: right;
- white-space: nowrap;
- .festival-main-number {
- font-size: 64rpx;
- font-weight: bold;
- }
- .festival-main-number-text {
- font-size: 26rpx;
- white-space: nowrap;
- }
+ font-weight: 600;
+ font-size: 30rpx;
+ color: #B24325;
+ line-height: 25rpx;
+ text-align: center;
}
}
+
+ .festival-text-div {
+ position: relative;
+ z-index: 60;
+ width: 358rpx;
+ height: 136rpx;
+ padding-top: 0;
+ margin: 0 auto;
+ font-weight: 600;
+ font-size: 42rpx;
+ color: #B24325;
+ line-height: 62rpx;
+ text-align: center;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ }
}
.festival-button-div {
position: relative;
@@ -307,13 +304,14 @@
width: 360rpx;
height: 80rpx;
margin: 0 auto;
+ margin-top: 80rpx;
background-image: url('@/static/images/pointsAndRank/festival-button.png');
background-size: 100%;
background-repeat: no-repeat;
font-weight: 600;
text-align: center;
font-size: 32rpx;
- color: #B24325;
+ color: #b24325;
line-height: 80rpx;
}
@@ -336,8 +334,8 @@
.festival-special-mascot {
z-index: 50;
position: absolute;
- right: -36rpx;
- top: 70rpx;
+ right: -66rpx;
+ top: 40rpx;
transform-origin: left bottom;
transform: translateY(-100%);
.festival-special-mascot-img {
diff --git a/src/pages/competition/pk.vue b/src/pages/competition/pk.vue
index aa71b4e1..a34878c9 100644
--- a/src/pages/competition/pk.vue
+++ b/src/pages/competition/pk.vue
@@ -1,5 +1,5 @@
-
+
PK中
@@ -93,11 +93,14 @@
@@ -117,7 +120,8 @@
import Dialog from '@/pages/examination/components/dialog.vue';
import Subject from '@/components/examination/subject.vue';
import CharactersSubject from '@/components/examination/characters-subject.vue';
- import TouchBtn from '@/components/examination/touchBtn.vue';
+ // import TouchBtn from '@/components/examination/touchBtn.vue';
+ import TouchBtn from '@/pages/course/components/touchBtn.vue';
import common from '@/common/common';
import { setPageCache, formatSeconds, getPageCache, setupKeyboardHeightListener, formatName } from '@/common/common';
import { commonUploadVoiceFile } from '@/api/common.js';
@@ -326,7 +330,7 @@
// 录音组件提交
const touchBtnSubmit = (type, submitObj) => {
const topic = topicList[questionNumber.value];
- touchBtnRef.value?.clearinputText(); // 清除发送框数据
+ // touchBtnRef.value?.clearinputText(); // 清除发送框数据
if (type === 'voice') {
if (topic.es_status === '00') return;
topic.es_status = '00'; // 00转圈
diff --git a/src/pages/examination/index.vue b/src/pages/examination/index.vue
index c5bb108c..aa75cb59 100644
--- a/src/pages/examination/index.vue
+++ b/src/pages/examination/index.vue
@@ -1,5 +1,5 @@
-
+
@@ -99,10 +99,13 @@
@@ -157,7 +160,8 @@
import Feedback from './components/feedback.vue';
import Dialog from './components/dialog.vue';
import Subject from '@/components/examination/subject.vue';
- import TouchBtn from '@/components/examination/touchBtn.vue';
+ // import TouchBtn from '@/components/examination/touchBtn.vue';
+ import TouchBtn from '@/pages/course/components/touchBtn.vue';
import { ref, reactive, computed, onMounted, nextTick } from 'vue';
import { onLoad, onBackPress } from '@dcloudio/uni-app';
import common from '@/common/common';
@@ -172,6 +176,7 @@
const popupRef = ref(null);
const touchBtnRef = ref(null);
const countDownRef = ref(null);
+ const answerMethod = ref('01');
let examinationStartTime = 0; // 考试开始时间
let examinationAnswerCacheKey;
const style_button_1 = {
@@ -306,7 +311,7 @@
// 录音按钮提交
const touchBtnSubmit = (type, submitObj) => {
const topic = topicList[questionNumber.value];
- touchBtnRef.value?.clearinputText(); // 清除发送框数据
+ // touchBtnRef.value?.clearinputText(); // 清除发送框数据
if (type === 'voice') {
if (topic.es_status == '00') return;
topic.es_status = '00'; // 00转圈
@@ -389,6 +394,8 @@
paperData.flagQuery = examination.flagQuery || 'Y';
paperData.flagQueryDetail = examination.flagQueryDetail || 'Y';
mode = paperData.examId ? 'PAPERS' : 'CRS'; // 课程考试CRS,考试中心考试PAPERS
+ answerMethod.value = examination.answerMethod ?? '01'
+ console.log('answerMethod', answerMethod.value);
// 设置缓存的键的名称
examinationAnswerCacheKey = 'examinationAnswerCache' + paperData.execId;
diff --git a/src/pages/practice/index.vue b/src/pages/practice/index.vue
index ff646062..85a1aa2c 100644
--- a/src/pages/practice/index.vue
+++ b/src/pages/practice/index.vue
@@ -1,5 +1,5 @@
-
+
@@ -64,14 +64,26 @@
+
- -->
+
@@ -90,7 +102,8 @@
import Dialog from '@/pages/examination/components/dialog.vue';
import Subject from '@/components/examination/subject.vue';
import CharactersSubject from '@/components/examination/characters-subject.vue';
- import TouchBtn from '@/components/examination/touchBtn.vue';
+ // import TouchBtn from '@/components/examination/touchBtn.vue';
+ import TouchBtn from '@/pages/course/components/touchBtn.vue';
import common from '@/common/common';
import { setPageCache, formatSeconds, getPageCache, setupKeyboardHeightListener } from '@/common/common';
import { commonUploadVoiceFile } from '@/api/common.js';
@@ -103,12 +116,15 @@
const feedbackRef = ref(null);
const dialogRef = ref(null);
const touchBtnRef = ref(null);
+ const answerMethod = ref('01');
const practiceTime = ref(0); // 当前练习时间
let practiceStartTime = 0; // 练习开始时间
let practiceTimeTimer = null; // 练习计时器
let leaveDuration = 0; // 当前总计离开时间
let leaveStartTime = 0; // 离开开始时间
const mode = ref('practice'); // 考试 examination 练习practice
+ const systemInfo = uni.getSystemInfoSync();
+
const paperData = reactive({
exrId: '',
crsId: '',
@@ -301,7 +317,7 @@
// 录音组件提交
const touchBtnSubmit = (type, submitObj) => {
const topic = topicList[questionNumber.value];
- touchBtnRef.value?.clearinputText(); // 清除发送框数据
+ // touchBtnRef.value?.clearinputText(); // 清除发送框数据
if (type === 'voice') {
if (topic.es_status === '00') return;
topic.es_status = '00'; // 00转圈
@@ -363,6 +379,8 @@
es_status: '', // 预设一下问答题的状态,'' 空为没有 00 转圈 01 播放,其他暂定
my_answer: []
}));
+ answerMethod.value = practice.answerMethod ?? '01'
+ console.log('answerMethod', answerMethod.value);
addProblem();
// 记录练习起始时间
practiceStartTime = new Date().getTime();
@@ -476,7 +494,6 @@
diff --git a/src/pages/wrongQuestionRecord/components/favorites-course.vue b/src/pages/wrongQuestionRecord/components/favorites-course.vue
index f5b1a62c..962c796b 100644
--- a/src/pages/wrongQuestionRecord/components/favorites-course.vue
+++ b/src/pages/wrongQuestionRecord/components/favorites-course.vue
@@ -13,15 +13,6 @@
-
-
-
-
-
diff --git a/src/pages/wrongQuestionRecord/correct.vue b/src/pages/wrongQuestionRecord/correct.vue
index f63b90e9..2c02c1b8 100644
--- a/src/pages/wrongQuestionRecord/correct.vue
+++ b/src/pages/wrongQuestionRecord/correct.vue
@@ -1,5 +1,5 @@
-
+
@@ -64,11 +64,14 @@
@@ -85,7 +88,8 @@
import Feedback from '@/pages/examination/components/feedback.vue';
import Dialog from '@/pages/examination/components/dialog.vue';
import Subject from '@/components/examination/subject.vue';
- import TouchBtn from '@/components/examination/touchBtn.vue';
+ // import TouchBtn from '@/components/examination/touchBtn.vue';
+ import TouchBtn from '@/pages/course/components/touchBtn.vue';
import common from '@/common/common';
import { getPageCache, setupKeyboardHeightListener } from '@/common/common';
import { commonUploadVoiceFile } from '@/api/common.js';
@@ -288,7 +292,7 @@
// 录音组件提交
const touchBtnSubmit = (type, submitObj) => {
const topic = topicList[questionNumber.value];
- touchBtnRef.value?.clearinputText(); // 清除发送框数据
+ // touchBtnRef.value?.clearinputText(); // 清除发送框数据
console.log('录音组件提交');
if (type === 'voice') {
if (topic.es_status == '00') return;
diff --git a/src/static/images/pointsAndRank/gift.png b/src/static/images/pointsAndRank/gift.png
new file mode 100644
index 00000000..82df9451
Binary files /dev/null and b/src/static/images/pointsAndRank/gift.png differ
diff --git a/src/static/images/test/BG@2x.png b/src/static/images/test/BG@2x.png
deleted file mode 100644
index dc994c5e..00000000
Binary files a/src/static/images/test/BG@2x.png and /dev/null differ