feat(admin): 更新题库管理和环境配置

- 禁用强制登录以便本地开发
- 更新开发环境API基础URL为本地服务
- 在代理配置中添加secure: false以支持HTTPS接口
- 修复请求响应中字符串类型数据的JSON解析问题
- 新增题目类型相关常量定义和类型声明
- 扩展transformRecordToOption函数支持数字键值
- 更新题库相关API接口和类型定义
- 在竞赛配置中添加题目分数字段
- 重构题库管理界面,实现分类和题目的完整CRUD操作
- 删除未使用的模板管理组件
This commit is contained in:
2026-01-28 08:33:36 +08:00
parent c3d23224ba
commit 133d9a903a
14 changed files with 484 additions and 454 deletions

View File

@ -1,16 +1,13 @@
import { request } from '../request'
/** 获取所有题目列表 */
export function fetchGetQuestionListAll(params?: any) {
return request<Api.Question.CommonRecord[]>({
export function fetchGetQuestionListAll() {
return request<Api.Question.CommonRecord>({
url: '/Base/ActivityMain/GetQuestionListAll',
method: 'get',
params: params || {},
})
}
/** 新增题目 */
export function fetchAddQuestion(data?: Api.Question.AddParams) {
return request<Api.Question.CommonRecord>({
@ -19,3 +16,86 @@ export function fetchAddQuestion(data?: Api.Question.AddParams) {
data: data || {},
})
}
/** 更新题目 */
export function fetchUpdateQuestion(data?: Api.Question.AddParams) {
return request<Api.Question.CommonRecord>({
url: '/Base/ActivityMain/UpdateQuestionList',
method: 'post',
data: data || {},
})
}
/** 删除题目 */
export function fetchDeleteQuestion(id: number) {
return request<Api.Question.CommonRecord>({
url: `/Base/ActivityMain/DeleteQuestionList/?Id=${id}`,
method: 'post',
})
}
/** 获取所有问题库列表(分页) */
export function fetchGetQuestionLibraryListAll(params: Api.Question.GetQuestionLibraryListAllParams) {
return request<Api.Question.CommonRecord>({
url: '/Base/ActivityMain/GetQuestionListDetail',
method: 'get',
params: {
QuestionId: params.questionId,
PageIndex: params.pageIndex,
PageSizes: params.pageSizes,
keyWords: params.keyWords,
},
})
}
/** 新增一条问题库 */
export function fetchAddQuestionLibrary(params: Api.Question.AddQuestionLibraryParams, file?: File | null) {
const formData = new FormData()
if (file) {
formData.append('Image', file)
}
return request<Api.Question.CommonRecord>({
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: formData,
})
}
/** 更新一条问题库 */
export function fetchUpdateQuestionLibrary(params: Api.Question.AddQuestionLibraryParams, file?: File | null) {
const formData = new FormData()
if (file) {
formData.append('Image', file)
}
return request<Api.Question.CommonRecord>({
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: formData,
})
}
/** 删除一条问题库 */
export function fetchDeleteQuestionLibrary(ids: number[]) {
return request({
url: `/Base/ActivityMain/DeleteQuestionListDetail`,
method: 'post',
data: ids,
})
}