MCPcopy Create free account

hub / github.com/Pandlagon/IELTS-Studio / functions

Functions952 in github.com/Pandlagon/IELTS-Studio

MethodcheckinToday
POST /checkins/today - daily check-in
backend/src/main/java/com/ieltsstudio/controller/StudyCheckinController.java:24
MethodcheckinToday
Check in for today. Idempotent: if already checked in today, it will not create a duplicate.
backend/src/main/java/com/ieltsstudio/service/StudyCheckinService.java:25
MethodclearApiKeyShouldClearEncryptedAndMasked
()
backend/src/test/java/com/ieltsstudio/service/UserAiSettingsServiceTest.java:188
MethodclozeCheckShouldBeTextCost1
()
backend/src/test/java/com/ieltsstudio/ai/AiFeatureTest.java:39
MethodclozeGenerateShouldBeTextCost2
()
backend/src/test/java/com/ieltsstudio/ai/AiFeatureTest.java:33
Methodcommence
未认证请求的统一处理:返回 401 JSON 响应
backend/src/main/java/com/ieltsstudio/security/JwtAuthenticationEntryPoint.java:28
MethodcopyToDefault
POST /words/entries/{id}/copy-to-default — 将指定词条复制到默认词书
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:138
MethodcountByUserIdAndTitle
(Long userId, String title)
backend/src/main/java/com/ieltsstudio/mapper/ExamCollectionMapper.java:22
MethodcountUnmasteredByUserId
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/ErrorBookMapper.java:17
Methodcreate
POST /exam-collections — 创建试卷集
backend/src/main/java/com/ieltsstudio/controller/ExamCollectionController.java:45
FunctioncreateBook
(name, description)
frontend/src/stores/word.js:359
MethodcreateBook
POST /words/books — 创建新词书 <p>请求体:{@code { "name": "词书名(必填,最多50字)", "description": "描述(可选)" }}
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:67
MethodcreateBook
(Long userId, String name, String description)
backend/src/main/java/com/ieltsstudio/service/WordBookService.java:49
FunctioncreateUser
新增用户(管理员创建,BCrypt 加密,不返回 password)
frontend/src/api/adminUsers.js:21
MethodcreateUserShouldAllowAdminRole
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:272
MethodcreateUserShouldEncodePasswordAndNotExposeIt
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:248
MethodcreateUserShouldRejectDuplicateUsernameOrEmail
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:234
MethodcreateUserShouldRejectInvalidRole
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:224
MethodcustomProviderMissingBaseUrlShouldBeRejected
()
backend/src/test/java/com/ieltsstudio/service/UserAiSettingsServiceTest.java:228
MethodcustomProviderMissingModelShouldBeRejected
()
backend/src/test/java/com/ieltsstudio/service/UserAiSettingsServiceTest.java:238
MethoddecryptShouldReturnNullForBlank
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:89
MethoddecryptShouldReturnNullForNull
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:84
MethoddecryptShouldReturnOriginalKey
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:47
MethoddecryptShouldThrowOnInvalidBase64WithoutLeakingKey
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:109
MethoddecryptShouldThrowOnTamperedCiphertextWithoutLeakingKey
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:95
MethoddeepSeekAndQwenShouldUseMaxTokens
()
backend/src/test/java/com/ieltsstudio/ai/service/AiProviderRegistryTest.java:79
MethoddeepSeekShouldSupportTextNotVision
()
backend/src/test/java/com/ieltsstudio/ai/service/AiProviderRegistryTest.java:57
Methoddel
(String key)
backend/src/main/java/com/ieltsstudio/infra/RedisOps.java:24
Methoddel
(String key)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsNoopImpl.java:45
Methoddel
(String key)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsRedisImpl.java:69
FunctiondeleteBook
(bookId)
frontend/src/stores/word.js:366
MethoddeleteBook
DELETE /words/books/{id} — 删除词书 <p>默认词书不可删除。
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:81
MethoddeleteBook
(Long userId, Long bookId)
backend/src/main/java/com/ieltsstudio/service/WordBookService.java:61
MethoddeleteByUserIdAndPermission
删除某用户的指定权限记录。 @param userId 用户 ID @param permission 权限名 @return 被删除的记录数
backend/src/main/java/com/ieltsstudio/mapper/AdminUserPermissionMapper.java:67
FunctiondeleteEntry
(entryId)
frontend/src/stores/word.js:481
MethoddeleteEntry
DELETE /words/entries/{id} — 删除词条
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:148
MethoddeleteEntry
(Long userId, Long entryId)
backend/src/main/java/com/ieltsstudio/service/WordBookService.java:83
FunctiondeleteExam
(id)
frontend/src/stores/exam.js:754
MethoddeleteExam
DELETE /exams/{id} — 删除试卷及所有关联数据
backend/src/main/java/com/ieltsstudio/controller/ExamController.java:118
MethoddeleteExam
级联删除试卷及其所有关联数据 <p>删除顺序:考试记录 → 错题本条目 → 题目 → 试卷本身 @return 删除成功返回 true;试卷不存在或无权限返回 false
backend/src/main/java/com/ieltsstudio/service/ExamService.java:376
Methoddetail
GET /exam-collections/{id} — 获取试卷集详情(含试卷列表)
backend/src/main/java/com/ieltsstudio/controller/ExamCollectionController.java:34
Methoddetail
用户详情。 <p>权限:{@link AdminPermission#ADMIN_USERS_VIEW}</p>
backend/src/main/java/com/ieltsstudio/controller/AdminUserController.java:112
MethoddetectAndParseMultiSection
(Long userId, String rawText)
backend/src/main/java/com/ieltsstudio/service/AiParseService.java:311
MethoddifferentSecretsShouldNotCrossDecrypt
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:126
FunctiondisableUser
禁用用户(deleted = 1)
frontend/src/api/adminUsers.js:39
MethoddisableUserShouldRejectLastAdmin
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:155
MethoddisableUserShouldRejectSelf
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:142
MethoddoFilterInternal
(HttpServletRequest request, HttpServletResponse response,
backend/src/main/java/com/ieltsstudio/security/JwtAuthenticationFilter.java:38
MethoddtoShouldNotExposePassword
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:200
MethoddtoShouldNotExposeSensitiveFields
()
backend/src/test/java/com/ieltsstudio/service/AdminAuditLogServiceTest.java:270
MethoddtoShouldNotExposeSensitiveFields
()
backend/src/test/java/com/ieltsstudio/service/AdminQuotaServiceTest.java:227
MethoddtoShouldNotExposeSensitiveFields
()
backend/src/test/java/com/ieltsstudio/service/AdminPermissionServiceTest.java:208
Methodenable
启用用户(deleted = 0)。不改变其 role。 <p>权限:{@link AdminPermission#ADMIN_USERS_MANAGE}</p>
backend/src/main/java/com/ieltsstudio/controller/AdminUserController.java:164
FunctionenableUser
启用用户(deleted = 0)
frontend/src/api/adminUsers.js:45
MethodenableUserShouldRestoreDeletedFlag
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:169
MethodencryptShouldNotContainPlaintext
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:39
MethodencryptShouldNotEqualPlaintext
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:33
MethodencryptShouldReturnNullForBlank
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:78
MethodencryptShouldReturnNullForNull
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:73
MethodencryptingSameKeyTwiceShouldProduceDifferentCiphertext
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:54
MethodenforceWordLimitFromQuestionText
(String questionText, String answer)
backend/src/main/java/com/ieltsstudio/service/AsyncParseService.java:1366
MethodexamParseShouldBeTextCost5
()
backend/src/test/java/com/ieltsstudio/ai/AiFeatureTest.java:51
MethodexamPreciseParseShouldBeVisionCost10
()
backend/src/test/java/com/ieltsstudio/ai/AiFeatureTest.java:57
Methodexpire
(String key, Duration ttl)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsNoopImpl.java:26
Methodexpire
(String key, Duration ttl)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsRedisImpl.java:46
MethodextractHeadingsWithAiFailureShouldReturnLocalFallbackWithoutLeakingKey
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceLegacyCleanupTest.java:192
MethodextractHeadingsWithAiShouldUseTextCredentialsAndReturnMap
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceLegacyCleanupTest.java:157
MethodextractText
(MultipartFile file)
backend/src/main/java/com/ieltsstudio/service/FileParseService.java:24
FunctionextractTextFromImages
(files, onProgress)
frontend/src/utils/pdfExtract.js:118
FunctionextractTextFromPdf
(file, onProgress)
frontend/src/utils/pdfExtract.js:87
MethodfailureRecordShouldSanitizeApiKeyAndAuthorization
()
backend/src/test/java/com/ieltsstudio/ai/service/AiUsageGuardTest.java:249
MethodfilterChain
安全过滤链配置 <p>执行顺序:CORS → CSRF 禁用 → 会话策略 → 权限规则 → JWT 过滤器
backend/src/main/java/com/ieltsstudio/config/SecurityConfig.java:64
MethodfindAllByUserIdOrderByDateDesc
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/StudyCheckinMapper.java:14
MethodfindByUserId
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/WordBookMapper.java:13
MethodfindByUserId
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/ExamCollectionMapper.java:13
MethodfindByUserId
(Long userId)
backend/src/main/java/com/ieltsstudio/mapper/ExamRecordMapper.java:13
MethodfindLocatorSentence
(String passage, String questionText)
backend/src/main/java/com/ieltsstudio/util/TfIdfUtil.java:15
MethodfindPublicExams
(int limit)
backend/src/main/java/com/ieltsstudio/mapper/ExamMapper.java:39
MethodfindTopSentences
(String passage, String questionText, int topN)
backend/src/main/java/com/ieltsstudio/util/TfIdfUtil.java:38
Methodforbidden
返回 403 权限不足响应
backend/src/main/java/com/ieltsstudio/common/Result.java:68
MethodgenerateCloze
POST /words/cloze/generate — AI 生成完形填空 <p>请求体:{@code { "words": ["apple","banana",...], "meanings": ["苹果","香蕉",...], "difficulty": "medium" }} <p>数据不落
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:224
MethodgenerateShouldFallbackDifficultyToMediumWhenInvalid
()
backend/src/test/java/com/ieltsstudio/service/ClozeServiceProviderTest.java:264
MethodgenerateShouldMarkFailureWhenResponseJsonInvalid
()
backend/src/test/java/com/ieltsstudio/service/ClozeServiceProviderTest.java:131
MethodgenerateShouldNotMarkFailureWhenResolveFails
()
backend/src/test/java/com/ieltsstudio/service/ClozeServiceProviderTest.java:279
MethodgenerateShouldRejectEmptyWords
()
backend/src/test/java/com/ieltsstudio/service/ClozeServiceProviderTest.java:193
MethodgenerateShouldRejectTooManyWords
()
backend/src/test/java/com/ieltsstudio/service/ClozeServiceProviderTest.java:201
MethodgenerateShouldUseTextCredentialsAndMarkSuccess
()
backend/src/test/java/com/ieltsstudio/service/ClozeServiceProviderTest.java:114
MethodgenerateWordEntriesShouldMarkFailureWhenJsonInvalid
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceWordGenerationProviderTest.java:118
MethodgenerateWordEntriesShouldRejectEmptyInput
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceWordGenerationProviderTest.java:137
MethodgenerateWordEntriesShouldTruncateLongInput
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceWordGenerationProviderTest.java:154
MethodgenerateWordEntriesShouldUseTextCredentialsAndMarkSuccess
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceWordGenerationProviderTest.java:101
MethodgenerateWritingGuidanceShouldMarkFailureWhenJsonInvalid
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceLegacyCleanupTest.java:135
MethodgenerateWritingGuidanceShouldUseTextCredentialsAndMarkSuccess
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceLegacyCleanupTest.java:101
Methodget
(String key)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsNoopImpl.java:8
Methodget
(String key)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsRedisImpl.java:17
MethodgetAiSettings
GET /users/me/ai-settings — 获取当前用户 AI 设置(脱敏)。 <p>无设置记录时自动创建默认 BUILTIN 设置并返回。</p>
backend/src/main/java/com/ieltsstudio/controller/UserAiSettingsController.java:44
FunctiongetAiUsage
获取当前用户 AI 用量视图(额度 + 最近使用记录)
frontend/src/api/aiUsage.js:15
FunctiongetAnswer
(questionId)
frontend/src/stores/exam.js:402
MethodgetBook
GET /words/books/{id} — 获取词书详情
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:56
MethodgetBook
(Long userId, Long bookId)
backend/src/main/java/com/ieltsstudio/service/WordBookService.java:193
← previousnext →501–600 of 952, ranked by callers