feat(exam): 优化单词详情展示为单词名称显示

- 新增接口通过单词ID批量获取对应单词名称
- 展示正确单词和错误单词时使用获取的单词名称替代ID
- 调整ExamWordsDetailCard组件,新增correctTitles和wrongTitles响应式数据
- 封装fetchTitles方法异步获取单词名称并存入状态
- 修改模板部分渲染,使用单词名称列表动态渲染el-tag标签
- 添加Vocabulary接口相关VO和控制层实现单词名称查询功能
- 新增前端接口调用实现词汇名称数据请求功能
This commit is contained in:
lbw
2025-12-14 16:01:31 +08:00
parent 1ace63cbe0
commit 6eb46f606e
5 changed files with 109 additions and 6 deletions

View File

@@ -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<FindWordTitleRspVO> findWordTitle(@RequestBody FindWordTitleReqVO vo) {
List<VocabularyBankDO> vocabularyBankDOListById = vocabularyService.findVocabularyBankDOListById(vo.getIds());
FindWordTitleRspVO findWordTitleRspVO = FindWordTitleRspVO.builder()
.wordTitles(vocabularyBankDOListById.stream().map(VocabularyBankDO::getWord).toList())
.build();
return Response.success(findWordTitleRspVO);
}
}

View File

@@ -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<Integer> ids;
}

View File

@@ -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<String> wordTitles;
}