Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Pandlagon/IELTS-Studio
/ functions
Functions
952 in github.com/Pandlagon/IELTS-Studio
⨍
Functions
952
◇
Types & classes
177
↓ 1 callers
Method
corsConfigurationSource
CORS 跨域配置 <p>仅允许本地开发地址(localhost / 127.0.0.1 / IPv6 回环)。 <strong>生产环境部署时,请将此处替换为你的实际前端域名。</strong>
backend/src/main/java/com/ieltsstudio/config/SecurityConfig.java:96
↓ 1 callers
Method
countByUserId
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/StudyCheckinMapper.java:17
↓ 1 callers
Method
countByUserIdFiltered
(@Param("userId") Long userId, @Param("type") String type,
backend/src/main/java/com/ieltsstudio/mapper/ExamMapper.java:30
↓ 1 callers
Method
createCollection
(Long userId, String title, String description)
backend/src/main/java/com/ieltsstudio/service/ExamCollectionService.java:32
↓ 1 callers
Function
createDefaultReviewState
()
frontend/src/stores/word.js:25
↓ 1 callers
Method
currentPeriod
当前自然周:周一 00:00:00 到下周一 00:00:00(基于服务器默认时区)
backend/src/main/java/com/ieltsstudio/ai/service/AiUsageQueryService.java:132
↓ 1 callers
Method
deleteCollection
(Long userId, Long id)
backend/src/main/java/com/ieltsstudio/service/ExamCollectionService.java:55
↓ 1 callers
Method
deriveKey
由 secret 派生 AES-256 密钥(SHA-256 → 32 字节)。
backend/src/main/java/com/ieltsstudio/ai/util/AiApiKeyCrypto.java:171
↓ 1 callers
Method
detectParagraphLetters
Detect lettered paragraphs (A, B, C, ...) from passages and raw text.
backend/src/main/java/com/ieltsstudio/service/AiParseService.java:1413
↓ 1 callers
Method
disable
禁用用户(deleted = 1)。 <p>权限:{@link AdminPermission#ADMIN_USERS_MANAGE}</p> <p>保护:不能禁用自己、不能禁用最后一个 ADMIN。</p>
backend/src/main/java/com/ieltsstudio/controller/AdminUserController.java:147
↓ 1 callers
Method
ensureExampleTranslationColumn
()
backend/src/main/java/com/ieltsstudio/config/DatabaseMigrationRunner.java:43
↓ 1 callers
Method
ensureFillHasBlank
(String questionText, String answer)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1308
↓ 1 callers
Method
ensureHttpScheme
(String baseUrl, com.ieltsstudio.ai.AiProviderType provider)
backend/src/main/java/com/ieltsstudio/ai/client/OpenAiCompatibleClient.java:185
↓ 1 callers
Method
ensureRootMemoryColumn
()
backend/src/main/java/com/ieltsstudio/config/DatabaseMigrationRunner.java:23
↓ 1 callers
Method
ensureSequentialQuestionNumbers
(List<Map<String, Object>> questions)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1292
↓ 1 callers
Method
ensureWordStudyStatesTable
()
backend/src/main/java/com/ieltsstudio/config/DatabaseMigrationRunner.java:63
↓ 1 callers
Method
extractAnswerKey
(String text)
backend/src/main/java/com/ieltsstudio/service/FileParseService.java:112
↓ 1 callers
Method
extractClientIp
提取客户端真实 IP。 <p>优先读 {@code X-Forwarded-For} 第一个 IP(反向代理场景), 其次 {@code X-Real-IP},最后 {@code request.getRemoteAddr()}。</p>
backend/src/main/java/com/ieltsstudio/service/AdminAuditLogService.java:268
↓ 1 callers
Method
extractFromDoc
(InputStream is)
backend/src/main/java/com/ieltsstudio/service/FileParseService.java:67
↓ 1 callers
Method
extractFromDocx
(InputStream is)
backend/src/main/java/com/ieltsstudio/service/FileParseService.java:57
↓ 1 callers
Method
extractFromPassage
(String text, int passageIndex, List<Map<String, Object>> charts,
backend/src/main/java/com/ieltsstudio/service/VisualBlockConverter.java:35
↓ 1 callers
Method
extractFromPdf
(InputStream is)
backend/src/main/java/com/ieltsstudio/service/FileParseService.java:44
↓ 1 callers
Method
extractHeadingDescriptions
Extract heading list from raw text, e.g.: i Avoiding an overcrowded centre ii A successful exercise in people power Returns map like {"i": "A
backend/src/main/java/com/ieltsstudio/service/AiParseService.java:1271
↓ 1 callers
Method
extractHeadingsWithAi
Phase 5C-3:使用 AI 抽取 heading 列表的 fallback。 <p>流程:{@code AiSettingsService.resolve(userId, TEXT)} → {@code AiUsageGuard.checkBeforeCall(userId, HEADING
backend/src/main/java/com/ieltsstudio/service/AiParseService.java:1492
↓ 1 callers
Method
extractInstructionLines
(String text, StringBuilder out)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1335
↓ 1 callers
Method
extractPassageFromRawText
Extract the reading passage from raw text by stripping question sections. Looks for where questions start (e.g. "Questions 1-8", numbered items like "
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1582
↓ 1 callers
Method
extractSharedOptionsFromQuestions
Extract shared options from question explanations. AI often writes "Option E: 'Without rainforests...'" in the explanation.
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1435
↓ 1 callers
Method
extractSharedOptionsFromText
(List<String> texts)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1414
↓ 1 callers
Method
extractToken
从请求头 Authorization 中提取 Bearer Token @param request HTTP 请求 @return Token 字符串;若不存在或格式不符则返回 null
backend/src/main/java/com/ieltsstudio/security/JwtAuthenticationFilter.java:75
↓ 1 callers
Method
extractWordLimit
(String questionText)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1381
↓ 1 callers
Method
filterQuestionContent
Filter out question-like content from passage text. This removes lines that look like questions to prevent mixing article and questions.
backend/src/main/java/com/ieltsstudio/service/QwenAiParseService.java:652
↓ 1 callers
Method
findBestMatch
Find the substring in `text` that best matches `target` using word-overlap scoring. Returns the best matching window of similar word count, or null if
backend/src/main/java/com/ieltsstudio/service/AiParseService.java:1577
↓ 1 callers
Method
findByBookId
(Long bookId)
backend/src/main/java/com/ieltsstudio/mapper/WordEntryMapper.java:13
↓ 1 callers
Method
findByIdWithExam
(Long id)
backend/src/main/java/com/ieltsstudio/mapper/ExamRecordMapper.java:18
↓ 1 callers
Method
findByUserId
(Long userId)
backend/src/main/java/com/ieltsstudio/service/UserAiSettingsService.java:134
↓ 1 callers
Method
findByUserIdPaged
(@Param("userId") Long userId, @Param("type") String type,
backend/src/main/java/com/ieltsstudio/mapper/ExamMapper.java:18
↓ 1 callers
Method
findDatesFrom
(Long userId, LocalDate fromDate)
backend/src/main/java/com/ieltsstudio/mapper/StudyCheckinMapper.java:23
↓ 1 callers
Method
findDefaultBook
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/WordBookMapper.java:16
↓ 1 callers
Method
findUnmasteredByUserId
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/ErrorBookMapper.java:14
↓ 1 callers
Method
findUserSettings
(Long userId)
backend/src/main/java/com/ieltsstudio/ai/service/AiSettingsService.java:72
↓ 1 callers
Method
findWordsByBookId
(Long bookId)
backend/src/main/java/com/ieltsstudio/mapper/WordEntryMapper.java:19
↓ 1 callers
Method
generateTags
Generate tags based on exam type, title, and question content. Includes: type label, Academic/General, Task 1/Task 2, Cambridge source, etc.
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1530
↓ 1 callers
Method
generateToken
生成 JWT Token @param userId 用户 ID @param username 用户名 @param role 用户角色 @return 签名后的 JWT 字符串
backend/src/main/java/com/ieltsstudio/util/JwtUtil.java:51
↓ 1 callers
Function
getAccuracyFactor
(accuracy)
frontend/src/stores/word.js:69
↓ 1 callers
Method
getCollectionDetail
(Long collectionId)
backend/src/main/java/com/ieltsstudio/service/ExamCollectionService.java:70
↓ 1 callers
Function
getDueScore
(state, now)
frontend/src/stores/word.js:76
↓ 1 callers
Method
getExamById
根据 ID 获取试卷详情
backend/src/main/java/com/ieltsstudio/service/ExamService.java:71
↓ 1 callers
Method
getExamQuestions
获取试卷下的所有题目
backend/src/main/java/com/ieltsstudio/service/ExamService.java:76
↓ 1 callers
Method
getJobStatus
(String jobId)
backend/src/main/java/com/ieltsstudio/service/LlamaParseService.java:102
↓ 1 callers
Method
getMaxSortOrder
(Long collectionId)
backend/src/main/java/com/ieltsstudio/mapper/ExamCollectionItemMapper.java:30
↓ 1 callers
Method
getOrCreateCurrentQuota
获取或创建当前周期的 quota 行。 <p>并发插入会因 unique key (user_id, period_start) 冲突,捕获后重新查询。</p>
backend/src/main/java/com/ieltsstudio/ai/service/AiUsageGuard.java:203
↓ 1 callers
Method
getProfile
获取当前用户个人信息 @param userId 用户 ID(从 JWT Token 解析) @return 用户信息 Map(不含密码)
backend/src/main/java/com/ieltsstudio/service/AuthService.java:89
↓ 1 callers
Method
getRecentDates
(Long userId, int days)
backend/src/main/java/com/ieltsstudio/service/StudyCheckinService.java:74
↓ 1 callers
Method
getRecordById
获取单次考试记录详情(含 AI 写作反馈) @param recordId 记录 ID @param userId 当前用户 ID(用于鉴权,只能查自己的记录) @return 记录详情 Map;记录不存在或无权限时返回 null
backend/src/main/java/com/ieltsstudio/service/ExamService.java:274
↓ 1 callers
Method
getResult
(String jobId)
backend/src/main/java/com/ieltsstudio/service/LlamaParseService.java:114
↓ 1 callers
Function
getReviewPriority
(state, now)
frontend/src/stores/word.js:86
↓ 1 callers
Function
getSpeedFactor
(reactionMs)
frontend/src/stores/word.js:61
↓ 1 callers
Method
getState
(Long userId, String bookId)
backend/src/main/java/com/ieltsstudio/service/WordStudyStateService.java:18
↓ 1 callers
Function
getSystemDark
()
frontend/src/stores/theme.js:17
↓ 1 callers
Method
getUser
查询单个用户详情(包含已禁用用户)。 @param id 用户 ID @return 用户 DTO(不包含 password) @throws RuntimeException 用户不存在时
backend/src/main/java/com/ieltsstudio/service/AdminUserService.java:137
↓ 1 callers
Method
getUserBooks
(Long userId)
backend/src/main/java/com/ieltsstudio/service/WordBookService.java:44
↓ 1 callers
Method
getUserCollections
(Long userId)
backend/src/main/java/com/ieltsstudio/service/ExamCollectionService.java:24
↓ 1 callers
Method
getUserErrorBook
获取用户未掌握的错题列表
backend/src/main/java/com/ieltsstudio/service/ExamService.java:408
↓ 1 callers
Method
getUserExamsPaged
分页获取试卷列表(支持按类型、关键词筛选)
backend/src/main/java/com/ieltsstudio/service/ExamService.java:54
↓ 1 callers
Method
getUserHistory
获取用户所有的考试历史记录
backend/src/main/java/com/ieltsstudio/service/ExamService.java:403
↓ 1 callers
Method
handleMultiSection
(Long userId, Long examId, String text)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:505
↓ 1 callers
Method
hgetAll
(String key)
backend/src/main/java/com/ieltsstudio/infra/RedisOps.java:14
↓ 1 callers
Method
hsetAll
(String key, Map<String, Object> map)
backend/src/main/java/com/ieltsstudio/infra/RedisOps.java:12
↓ 1 callers
Method
insertBatch
(List<ErrorBook> list)
backend/src/main/java/com/ieltsstudio/mapper/ErrorBookMapper.java:20
↓ 1 callers
Method
isConfigured
()
backend/src/main/java/com/ieltsstudio/service/LlamaParseService.java:37
↓ 1 callers
Method
isLetterOnlyOptions
(Object opts)
backend/src/main/java/com/ieltsstudio/service/AiParseService.java:1087
↓ 1 callers
Method
isTokenExpired
判断 Token 是否已过期 @return true 表示已过期或解析失败
backend/src/main/java/com/ieltsstudio/util/JwtUtil.java:100
↓ 1 callers
Method
isValid
判断字符串是否为合法的 {@link AdminPermission} 枚举名。 @param value 待校验的字符串 @return true=合法权限值;false=非法或 null
backend/src/main/java/com/ieltsstudio/entity/AdminPermission.java:47
↓ 1 callers
Method
listAllPermissions
列出所有合法权限枚举名(按 {@link AdminPermission#values()} 顺序)。
backend/src/main/java/com/ieltsstudio/service/AdminPermissionService.java:57
↓ 1 callers
Method
listPresets
列出所有 preset(含自定义模板)。
backend/src/main/java/com/ieltsstudio/ai/service/AiProviderRegistry.java:107
↓ 1 callers
Function
loadPdfjs
()
frontend/src/utils/pdfExtract.js:4
↓ 1 callers
Method
loadRecentRecords
查询最近 {@link #RECENT_RECORD_LIMIT} 条 usage records,按 createdAt 倒序
backend/src/main/java/com/ieltsstudio/ai/service/AiUsageQueryService.java:99
↓ 1 callers
Method
login
用户登录 <p>支持使用用户名或邮箱登录,密码使用 BCrypt 比对。 @param req 登录请求(用户名/邮箱 + 密码) @return 包含 token 和 user 信息的 Map @throws RuntimeException 用户不存在或密码错误时抛出
backend/src/main/java/com/ieltsstudio/service/AuthService.java:39
↓ 1 callers
Function
markKnown
(payload)
frontend/src/stores/word.js:601
↓ 1 callers
Function
markUnknown
(payload)
frontend/src/stores/word.js:615
↓ 1 callers
Method
mimoUserCreds
()
backend/src/test/java/com/ieltsstudio/service/QwenAiParseServiceProviderTest.java:82
↓ 1 callers
Function
mockLogin
* Mock 登录:从 localStorage 的模拟用户列表中匹配账号密码
frontend/src/api/auth.js:18
↓ 1 callers
Function
mockRegister
* Mock 注册:将新用户存入 localStorage 的模拟用户列表
frontend/src/api/auth.js:31
↓ 1 callers
Function
nextAfterCurrent
(candidates, base, currentId)
frontend/src/stores/word.js:119
↓ 1 callers
Method
normalizeBaseUrl
(String baseUrl)
backend/src/main/java/com/ieltsstudio/ai/client/OpenAiCompatibleClient.java:174
↓ 1 callers
Method
normalizeParsedResult
(Map<String, Object> parsed)
backend/src/main/java/com/ieltsstudio/service/QwenAiParseService.java:608
↓ 1 callers
Method
normalizeReadingInstructionsAndSplit
(Map<String, Object> data)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1228
↓ 1 callers
Function
normalizeText
(text)
frontend/src/stores/exam.js:76
↓ 1 callers
Function
ocrImages
(files, onProgress)
frontend/src/utils/pdfExtract.js:24
↓ 1 callers
Function
ocrPdf
* OCR all pages of a loaded pdf.js document using tesseract.js. * @param {PDFDocumentProxy} pdf * @param {function} onProgress optional callback(pa
frontend/src/utils/pdfExtract.js:59
↓ 1 callers
Method
openAiResponseJson
构造 OpenAI-compatible 响应:{"choices":[{"message":{"content":"<content>"}}]}
backend/src/test/java/com/ieltsstudio/service/AiParseServiceLocalProviderTest.java:74
↓ 1 callers
Method
openAiResponseJson
构造 OpenAI-compatible 响应:{"choices":[{"message":{"content":"<content>"}}]}
backend/src/test/java/com/ieltsstudio/service/QwenAiParseServiceLocalProviderTest.java:79
↓ 1 callers
Method
parseInlineOptionString
(String optionsText)
backend/src/main/java/com/ieltsstudio/service/AiParseService.java:1031
↓ 1 callers
Method
parseKeyMode
(String keyMode)
backend/src/main/java/com/ieltsstudio/service/UserAiSettingsService.java:232
↓ 1 callers
Method
parseMarkdownRow
(String line)
backend/src/main/java/com/ieltsstudio/service/VisualBlockConverter.java:295
↓ 1 callers
Function
parseOptionItem
(item)
frontend/src/stores/exam.js:66
↓ 1 callers
Method
parseOptionsTextToMap
Parse a multi-line string of options in "A: text\nB: text\n..." or "A text\nB text\n..." format into a map of letter -> description text.
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1612
↓ 1 callers
Method
parseProvider
(String provider)
backend/src/main/java/com/ieltsstudio/service/UserAiSettingsService.java:243
↓ 1 callers
Method
parseStatus
将 status 参数映射为 deleted 字段值。 <ul> <li>null/空/ALL → null(不过滤)</li> <li>ACTIVE → 0</li> <li>DISABLED → 1</li> <li>其他 → 抛 IllegalArgumentExceptio
backend/src/main/java/com/ieltsstudio/service/AdminUserService.java:258
↓ 1 callers
Method
parseStatus
(String status)
backend/src/main/java/com/ieltsstudio/service/AdminQuotaService.java:238
← previous
next →
301–400 of 952, ranked by callers