From 6eb46f606ef5a3d887c3e1fdce96f22d996c469e Mon Sep 17 00:00:00 2001 From: lbw <1192299468@qq.com> Date: Sun, 14 Dec 2025 16:01:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(exam):=20=E4=BC=98=E5=8C=96=E5=8D=95?= =?UTF-8?q?=E8=AF=8D=E8=AF=A6=E6=83=85=E5=B1=95=E7=A4=BA=E4=B8=BA=E5=8D=95?= =?UTF-8?q?=E8=AF=8D=E5=90=8D=E7=A7=B0=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增接口通过单词ID批量获取对应单词名称 - 展示正确单词和错误单词时使用获取的单词名称替代ID - 调整ExamWordsDetailCard组件,新增correctTitles和wrongTitles响应式数据 - 封装fetchTitles方法异步获取单词名称并存入状态 - 修改模板部分渲染,使用单词名称列表动态渲染el-tag标签 - 添加Vocabulary接口相关VO和控制层实现单词名称查询功能 - 新增前端接口调用实现词汇名称数据请求功能 --- .../controller/VocabularyController.java | 33 +++++++++++++++ .../vo/vocabulary/FindWordTitleReqVO.java | 17 ++++++++ .../vo/vocabulary/FindWordTitleRspVO.java | 17 ++++++++ enlish-vue/src/api/words.js | 7 ++++ .../components/ExamWordsDetailCard.vue | 41 ++++++++++++++++--- 5 files changed, 109 insertions(+), 6 deletions(-) create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/VocabularyController.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleReqVO.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleRspVO.java create mode 100644 enlish-vue/src/api/words.js diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/VocabularyController.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/VocabularyController.java new file mode 100644 index 0000000..b7bbcf4 --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/VocabularyController.java @@ -0,0 +1,33 @@ +package com.yinlihupo.enlish.service.controller; + +import com.yinlihupo.enlish.service.domain.dataobject.VocabularyBankDO; +import com.yinlihupo.enlish.service.model.vo.vocabulary.FindWordTitleReqVO; +import com.yinlihupo.enlish.service.model.vo.vocabulary.FindWordTitleRspVO; +import com.yinlihupo.enlish.service.service.VocabularyService; +import com.yinlihupo.framework.biz.operationlog.aspect.ApiOperationLog; +import com.yinlihupo.framework.common.response.Response; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RequestMapping("/vocabulary/") +@RestController +public class VocabularyController { + + @Resource + private VocabularyService vocabularyService; + + @PostMapping("/list") + @ApiOperationLog(description = "查询单词名称") + public Response findWordTitle(@RequestBody FindWordTitleReqVO vo) { + List vocabularyBankDOListById = vocabularyService.findVocabularyBankDOListById(vo.getIds()); + FindWordTitleRspVO findWordTitleRspVO = FindWordTitleRspVO.builder() + .wordTitles(vocabularyBankDOListById.stream().map(VocabularyBankDO::getWord).toList()) + .build(); + return Response.success(findWordTitleRspVO); + } +} diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleReqVO.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleReqVO.java new file mode 100644 index 0000000..dccf243 --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleReqVO.java @@ -0,0 +1,17 @@ +package com.yinlihupo.enlish.service.model.vo.vocabulary; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class FindWordTitleReqVO { + + private List ids; +} diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleRspVO.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleRspVO.java new file mode 100644 index 0000000..85e907d --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/vocabulary/FindWordTitleRspVO.java @@ -0,0 +1,17 @@ +package com.yinlihupo.enlish.service.model.vo.vocabulary; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class FindWordTitleRspVO { + + private List wordTitles; +} diff --git a/enlish-vue/src/api/words.js b/enlish-vue/src/api/words.js new file mode 100644 index 0000000..97cffa7 --- /dev/null +++ b/enlish-vue/src/api/words.js @@ -0,0 +1,7 @@ +import axios from "@/axios"; + +export function getWordsListByIds(ids) { + return axios.post('/vocabulary/list', { + ids: ids + }) +} \ No newline at end of file diff --git a/enlish-vue/src/layouts/components/ExamWordsDetailCard.vue b/enlish-vue/src/layouts/components/ExamWordsDetailCard.vue index 1347b01..ca3f5c1 100644 --- a/enlish-vue/src/layouts/components/ExamWordsDetailCard.vue +++ b/enlish-vue/src/layouts/components/ExamWordsDetailCard.vue @@ -39,10 +39,10 @@
-
暂无数据
@@ -56,10 +56,10 @@
-
暂无数据
@@ -76,6 +76,7 @@