From 771fb807ebebbcff5f6cd927cc202321cde63302 Mon Sep 17 00:00:00 2001 From: rjl <98n9@163.com> Date: Mon, 16 Mar 2026 17:59:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=96=B0=E5=A2=9E=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=E7=B1=BB=E5=9E=8B=E3=80=81=E4=BC=98=E5=8C=96=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=E5=BA=93=E7=AE=A1=E7=90=86=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8B=BC=E9=9F=B3=E5=8A=A9=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增6种题目类型枚举:逆向接诗句、场景猜诗句、联想对对碰、字词飞花令、诗词常识、换字组成语 - 新增QuestionDrawer组件,支持富文本编辑和拼音转换功能 - 优化CategoryTree组件,增加分类选择本地存储和自动填充题目类型 - 更新question API接口,简化新增和更新题目库的参数传递 - 扩展QuestionRenderer组件,支持新增的题目类型渲染 - 添加多个题目库JSON文件,包含成语、诗词常识、字词飞花令等题目数据 - 调整环境配置,更新开发环境API地址 --- apps/admin/.env.dev | 4 +- apps/admin/src/enum/business.ts | 20 +- apps/admin/src/service/api/question.ts | 50 +- apps/admin/src/typings/api/question.d.ts | 12 +- apps/admin/src/views/question-store/index.vue | 13 +- .../question-store/modules/CategoryTree.vue | 54 +- .../question-store/modules/QuestionDrawer.vue | 282 ++++++++ .../question-store/modules/QuestionList.vue | 301 +------- .../views/user/modules/QuestionRenderer.vue | 68 ++ apps/question-importer/asset/汉字听写 1.json | 468 ------------- apps/question-importer/asset/联想对对碰.json | 279 ++++++++ apps/question-importer/src/index.ts | 6 + apps/question-importer/store/字词飞花令.json | 244 +++++++ apps/question-importer/store/情景猜诗句.json | 204 ++++++ .../store/成语写一写 1 反义词.json | 340 --------- .../question-importer/store/成语写一写 1.json | 108 +++ apps/question-importer/store/换字组成语.json | 44 ++ apps/question-importer/store/汉字加一加.json | 414 +---------- apps/question-importer/store/汉字听写 1.json | 662 ++++++------------ apps/question-importer/store/汉字听写 2.json | 348 ++------- apps/question-importer/store/联想对对碰.json | 254 +++++++ apps/question-importer/store/词语听写.json | 324 ++------- apps/question-importer/store/诗词常识.json | 100 +++ .../store/诗词理解选择题.json | 532 +++++--------- apps/question-importer/store/逆向接诗句.json | 284 ++++++++ 25 files changed, 2482 insertions(+), 2933 deletions(-) create mode 100644 apps/admin/src/views/question-store/modules/QuestionDrawer.vue delete mode 100644 apps/question-importer/asset/汉字听写 1.json create mode 100644 apps/question-importer/asset/联想对对碰.json create mode 100644 apps/question-importer/store/字词飞花令.json create mode 100644 apps/question-importer/store/情景猜诗句.json delete mode 100644 apps/question-importer/store/成语写一写 1 反义词.json create mode 100644 apps/question-importer/store/成语写一写 1.json create mode 100644 apps/question-importer/store/换字组成语.json create mode 100644 apps/question-importer/store/联想对对碰.json create mode 100644 apps/question-importer/store/诗词常识.json create mode 100644 apps/question-importer/store/逆向接诗句.json diff --git a/apps/admin/.env.dev b/apps/admin/.env.dev index 75238fd..e559977 100644 --- a/apps/admin/.env.dev +++ b/apps/admin/.env.dev @@ -3,9 +3,9 @@ # VITE_SERVICE_BASE_URL=http://192.168.5.140:9999 -VITE_SERVICE_BASE_URL=http://api.ydzx.qyzhjy.com +# VITE_SERVICE_BASE_URL=http://api.ydzx.qyzhjy.com -# VITE_SERVICE_BASE_URL=https://172.16.10.130:5000 +VITE_SERVICE_BASE_URL=http://172.16.10.130:5000 VITE_OTHER_SERVICE_BASE_URL= `{ "demo": "http://localhost:9528" diff --git a/apps/admin/src/enum/business.ts b/apps/admin/src/enum/business.ts index fdd3069..0bd8c31 100644 --- a/apps/admin/src/enum/business.ts +++ b/apps/admin/src/enum/business.ts @@ -21,11 +21,17 @@ export enum QuestionType { } export enum QuestionCategoryEnum { - ChineseCharacterDictation1 = 'ChineseCharacterDictation1', // 汉字听写-提示 (jiu表示小鸟的叫声) - ChineseCharacterDictation2 = 'ChineseCharacterDictation2', // 根据拼音写汉字-提示 (tang) - CharacterRadicalAddition = 'CharacterRadicalAddition', // 汉字加一加 (车) - WordDictation = 'WordDictation', // 词语听写 (zhi re) - IdiomWriting1 = 'IdiomWriting1', // 成语-文字要求 (反义字) - IdiomWriting2 = 'IdiomWriting2', // 成语-文字要求 (看图写成语) - PoetryComprehension = 'PoetryComprehension', // 诗词理解-选择题 + ChineseCharacterDictation1 = 'ChineseCharacterDictation1', // 1. 汉字听写-提示 (jiu表示小鸟的叫声) + ChineseCharacterDictation2 = 'ChineseCharacterDictation2', // 2. 根据拼音写汉字-提示 (tang) + CharacterRadicalAddition = 'CharacterRadicalAddition', // 3. 汉字加一加 (车) + WordDictation = 'WordDictation', // 4. 词语听写 (zhi re) + IdiomWriting1 = 'IdiomWriting1', // 5. 成语-文字要求 + IdiomWriting2 = 'IdiomWriting2', // 6. 成语-文字要求 (看图写成语) + PoetryComprehension = 'PoetryComprehension', // 7. 诗词理解-选择题 + ReversePoemMatching = 'ReversePoemMatching', // 8. 逆向接诗句 + SceneBasedPoemGuessing = 'SceneBasedPoemGuessing', // 9. 场景猜诗句 + AssociationMatching = 'AssociationMatching', // 10. 联想对对碰 + CharacterWordFlowerDrinkingGame = 'CharacterWordFlowerDrinkingGame', // 11. 字词飞花令 + PoetryCommonKnowledge = 'PoetryCommonKnowledge', // 12. 诗词常识 + ChangeWords = 'ChangeWords', // 13. 换字组成语 } diff --git a/apps/admin/src/service/api/question.ts b/apps/admin/src/service/api/question.ts index 78c0f64..6244b03 100644 --- a/apps/admin/src/service/api/question.ts +++ b/apps/admin/src/service/api/question.ts @@ -49,31 +49,11 @@ export function fetchGetQuestionLibraryListAll(params: Api.Question.GetQuestionL } /** 新增一条问题库 */ -export function fetchAddQuestionLibrary(params: Api.Question.AddQuestionLibraryParams, file?: File | null) { - const formData = new FormData() - if (file) { - formData.append('Image', file) - } +export function fetchAddQuestionLibrary(params: Api.Question.AddQuestionLibraryParams) { return request({ url: '/Base/ActivityMain/AddQuestionListDetail', method: 'post', - // params: { - // QuestionId: params.questionId, - // Name: params.name, - // Answer: params.answer, - // Type: params.type, - // IsGood: params.IsGood, - // ImageUrl: params.imageUrl, - // }, - data: { - QuestionId: params.questionId, - Name: params.name, - Answer: params.answer, - Type: params.type, - IsGood: params.IsGood, - ImageUrl: params.imageUrl, - IsDisabled: params.IsDisabled, - }, + data: params, }) } @@ -87,33 +67,11 @@ export function fetchDisableQuestionLibrary(params: Api.Question.DisableQuestion } /** 更新一条问题库 */ -export function fetchUpdateQuestionLibrary(params: Api.Question.AddQuestionLibraryParams, file?: File | null) { - const formData = new FormData() - if (file) { - formData.append('Image', file) - } +export function fetchUpdateQuestionLibrary(params: Api.Question.UpdateQuestionLibraryParams) { return request({ url: '/Base/ActivityMain/UpdateQuestionListDetail', method: 'post', - // params: { - // Id: params.id, - // QuestionId: params.questionId, - // Name: params.name, - // Answer: params.answer, - // Type: params.type, - // IsGood: params.IsGood, - // ImageUrl: params.imageUrl, - // }, - data: { - Id: params.id, - QuestionId: params.questionId, - Name: params.name, - Answer: params.answer, - Type: params.type, - IsGood: params.IsGood, - ImageUrl: params.imageUrl, - IsDisabled: params.IsDisabled, - }, + data: params, }) } diff --git a/apps/admin/src/typings/api/question.d.ts b/apps/admin/src/typings/api/question.d.ts index 965b5d2..7e50382 100644 --- a/apps/admin/src/typings/api/question.d.ts +++ b/apps/admin/src/typings/api/question.d.ts @@ -65,11 +65,21 @@ declare namespace Api { /** question library image url */ imageUrl: string /** question library type */ - type: QuestionScoreType + // type?: QuestionScoreType /** is priority 0: no 1: yes */ IsGood: number /** is disabled */ IsDisabled: boolean + /** keyword */ + KeyWord: string + /** keyword index */ + KeyWordsIndex: number + } + + /** update question library params */ + interface UpdateQuestionLibraryParams extends AddQuestionLibraryParams { + /** question library id */ + id: number } /** common search params of table */ diff --git a/apps/admin/src/views/question-store/index.vue b/apps/admin/src/views/question-store/index.vue index 1c5f35a..3ee1cd4 100644 --- a/apps/admin/src/views/question-store/index.vue +++ b/apps/admin/src/views/question-store/index.vue @@ -1,5 +1,5 @@