MCPcopy Create free account

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

Functions952 in github.com/Pandlagon/IELTS-Studio

Methodlogin
用户登录 <p>POST /auth/login <p>支持用户名或邮箱登录,返回 JWT Token 和用户基本信息。
backend/src/main/java/com/ieltsstudio/controller/AuthController.java:31
Functionlogout
* 退出登录:清除本地凭证和用户信息
frontend/src/stores/auth.js:112
Functionlogout
* 退出登录(服务端无状态,接口仅作语义完整性,实际清除由 store 执行)
frontend/src/api/auth.js:79
Methodlogout
退出登录 <p>POST /auth/logout <p>服务端为无状态设计,退出操作由前端清除本地 Token 实现, 此接口仅作语义完整性保留。
backend/src/main/java/com/ieltsstudio/controller/AuthController.java:61
Methodmain
(String[] args)
backend/src/main/java/com/ieltsstudio/IeltsStudioApplication.java:16
FunctionmarkExamError
(id)
frontend/src/stores/exam.js:775
MethodmarkFailureShouldWriteProvider
()
backend/src/test/java/com/ieltsstudio/ai/service/AiUsageGuardTest.java:347
FunctionmarkSpellCorrect
(payload)
frontend/src/stores/word.js:686
FunctionmarkSpellIncorrect
(payload)
frontend/src/stores/word.js:632
MethodmarkSuccessShouldWriteProvider
()
backend/src/test/java/com/ieltsstudio/ai/service/AiUsageGuardTest.java:331
MethodmaskApiKeyShouldKeepPrefixAndSuffixOnly
()
backend/src/test/java/com/ieltsstudio/ai/util/AiLogSanitizerTest.java:22
MethodmaskApiKeyShouldNotLeakShortKey
()
backend/src/test/java/com/ieltsstudio/ai/util/AiLogSanitizerTest.java:40
MethodmaskApiKeyShouldReturnEmptyForBlank
()
backend/src/test/java/com/ieltsstudio/ai/util/AiLogSanitizerTest.java:35
MethodmaskApiKeyShouldReturnEmptyForNull
()
backend/src/test/java/com/ieltsstudio/ai/util/AiLogSanitizerTest.java:30
MethodmaskShouldDelegateToSanitizerForShortKey
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:136
MethodmaskShouldNotLeakFullKey
()
backend/src/test/java/com/ieltsstudio/ai/util/AiApiKeyCryptoTest.java:64
MethodmimoShouldSupportVision
()
backend/src/test/java/com/ieltsstudio/ai/service/AiProviderRegistryTest.java:68
MethodmimoShouldUseMaxCompletionTokens
()
backend/src/test/java/com/ieltsstudio/ai/service/AiProviderRegistryTest.java:73
MethodmyPermissions
查询当前 ADMIN 自身的有效权限(供前端 NavBar 显示/隐藏菜单)。 <p>所有 ADMIN 均可访问(无需任何具体权限)——这是为了让被限制了权限的 ADMIN 也能看到自己的权限列表。兼容模式下返回全部权限。</p>
backend/src/main/java/com/ieltsstudio/controller/AdminPermissionController.java:73
FunctionnextBatch
()
frontend/src/stores/word.js:745
FunctionnextSpellWord
(currentId)
frontend/src/stores/word.js:664
MethodnoUserSettingsShouldFallbackToBuiltin
()
backend/src/test/java/com/ieltsstudio/ai/service/AiSettingsServiceUserModeTest.java:180
MethodnonHttpBaseUrlShouldBeRejected
()
backend/src/test/java/com/ieltsstudio/service/UserAiSettingsServiceTest.java:257
MethodnonUserKeyModeShouldFallbackToBuiltin
()
backend/src/test/java/com/ieltsstudio/ai/service/AiSettingsServiceUserModeTest.java:191
MethodnullApiKeyShouldKeepOldKey
()
backend/src/test/java/com/ieltsstudio/service/UserAiSettingsServiceTest.java:208
MethodoldPostProcessShouldNotTriggerAiFallback
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceLegacyCleanupTest.java:235
MethodopenAiCompatibleShouldSupportBothTaskTypes
()
backend/src/test/java/com/ieltsstudio/ai/service/AiProviderRegistryTest.java:98
MethodparseAndSaveImagesShouldPassUserIdToVisionParseImagesWhenPrecise
()
backend/src/test/java/com/ieltsstudio/service/AsyncParseServiceVisionUserIdPropagationTest.java:97
MethodparseAndSaveShouldPassUserIdToVisionParseDocumentWhenPrecise
()
backend/src/test/java/com/ieltsstudio/service/AsyncParseServiceVisionUserIdPropagationTest.java:79
MethodparseAndSaveShouldPropagateUserIdToParseWithAi
普通文本解析路径(parsePrecise=false + examType=writing)应把 userId 透传给 {@link AiParseService#parseWithAi(Long, String)}。 <p>选择 examType="writing" 是为了让 {@code p
backend/src/test/java/com/ieltsstudio/service/AsyncParseServiceUserIdPropagationTest.java:62
MethodparseDocument
Parse a PDF or image file directly into structured exam JSON using Vision provider. Returns a Map with either {"passages":...,"questions":...} or {"se
backend/src/main/java/com/ieltsstudio/service/QwenAiParseService.java:418
MethodparseImagesShouldCallLocalVisionProviderWithImageUrl
()
backend/src/test/java/com/ieltsstudio/service/QwenAiParseServiceLocalProviderTest.java:96
MethodparseImagesShouldMarkFailureWhenClientThrows
()
backend/src/test/java/com/ieltsstudio/service/QwenAiParseServiceProviderTest.java:186
MethodparseImagesShouldMarkFailureWhenResponseJsonInvalid
()
backend/src/test/java/com/ieltsstudio/service/QwenAiParseServiceProviderTest.java:167
MethodparseImagesShouldUseMimoMaxCompletionTokenFieldViaCredentials
()
backend/src/test/java/com/ieltsstudio/service/QwenAiParseServiceProviderTest.java:149
MethodparseImagesShouldUseVisionCredentialsAndMarkSuccess
()
backend/src/test/java/com/ieltsstudio/service/QwenAiParseServiceProviderTest.java:113
MethodparseWithAiShouldMarkFailureWhenJsonInvalid
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceExamParseProviderTest.java:109
MethodparseWithAiShouldRejectTooShortText
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceExamParseProviderTest.java:171
MethodparseWithAiShouldTruncateLongText
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceExamParseProviderTest.java:188
MethodparseWithAiShouldUseTextCredentialsAndMarkSuccess
()
backend/src/test/java/com/ieltsstudio/service/AiParseServiceExamParseProviderTest.java:92
MethodpasswordEncoder
密码编码器:使用 BCrypt 哈希算法
backend/src/main/java/com/ieltsstudio/config/SecurityConfig.java:54
FunctionplayWord
(word)
frontend/src/utils/playWord.js:9
FunctionprevBatch
()
frontend/src/stores/word.js:755
FunctionprevWord
()
frontend/src/stores/word.js:709
Methodprofile
获取当前用户信息 <p>GET /auth/profile(需携带 Token)
backend/src/main/java/com/ieltsstudio/controller/AuthController.java:50
MethodproviderConfigRequestToStringShouldNotLeakApiKey
()
backend/src/test/java/com/ieltsstudio/dto/ai/AiSettingsDtoSecurityTest.java:25
MethodproviderConfigRequestToStringShouldStillContainNonSensitiveFields
()
backend/src/test/java/com/ieltsstudio/dto/ai/AiSettingsDtoSecurityTest.java:79
MethodqueryForUserShouldRejectNullUserId
()
backend/src/test/java/com/ieltsstudio/ai/service/AiUsageQueryServiceTest.java:171
FunctionquickAddWords
(words)
frontend/src/stores/word.js:498
MethodquickAddWords
(Long userId, Long bookId, List<String> rawWords)
backend/src/main/java/com/ieltsstudio/service/AsyncWordService.java:126
MethodquickAddWordsToBook
(@PathVariable Long id, @RequestBody Map<String, Object> body,
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:205
MethodqwenShouldSupportVision
()
backend/src/test/java/com/ieltsstudio/ai/service/AiProviderRegistryTest.java:63
Methodrecent
GET /checkins/recent?days=30 - recent check-in dates for calendar
backend/src/main/java/com/ieltsstudio/controller/StudyCheckinController.java:40
Methodrecent
查询最近 {@code limit} 条 AI usage records,按 createdAt 倒序。 @param limit 返回数量,将被 clamp 到 {@code [MIN_LIMIT, MAX_LIMIT]}
backend/src/main/java/com/ieltsstudio/ai/service/AdminAiUsageStatsService.java:94
MethodrecentShouldClampLimitAndKeepOrder
()
backend/src/test/java/com/ieltsstudio/ai/service/AdminAiUsageStatsServiceTest.java:157
MethodrecordFailureShouldInsertFailedStatus
()
backend/src/test/java/com/ieltsstudio/service/AdminAuditLogServiceTest.java:180
MethodrecordSuccessShouldInsertSanitizedLog
()
backend/src/test/java/com/ieltsstudio/service/AdminAuditLogServiceTest.java:50
MethodredisKeyShouldNotContainSensitiveData
()
backend/src/test/java/com/ieltsstudio/ai/service/AiRedisRateLimiterTest.java:95
MethodredisLimiterShouldAllowWithinLimit
()
backend/src/test/java/com/ieltsstudio/ai/service/AiRedisRateLimiterTest.java:49
MethodredisLimiterShouldRejectWhenCountExceedsLimit
()
backend/src/test/java/com/ieltsstudio/ai/service/AiRedisRateLimiterTest.java:69
MethodredisLimiterShouldThrowWhenIncrementReturnsNull
()
backend/src/test/java/com/ieltsstudio/ai/service/AiRedisRateLimiterTest.java:83
MethodredisOps
(RedisTemplate<String, Object> redisTemplate)
backend/src/main/java/com/ieltsstudio/config/RedisConfig.java:70
MethodredisOpsFallback
()
backend/src/main/java/com/ieltsstudio/config/RedisOpsFallbackConfig.java:12
MethodredisOpsFallback
()
backend/src/main/java/com/ieltsstudio/config/RedisConfig.java:87
MethodredisSerializer
(ObjectMapper objectMapper)
backend/src/main/java/com/ieltsstudio/config/RedisConfig.java:32
MethodredisTemplate
(RedisConnectionFactory connectionFactory, GenericJacks
backend/src/main/java/com/ieltsstudio/config/RedisConfig.java:41
Functionregister
* 用户注册 * @param {Object} data - { username, email, password } * @returns {boolean} 注册是否成功
frontend/src/stores/auth.js:94
Functionregister
* 用户注册 * 后端不可达时自动降级为 Mock 注册(仅限开发调试)
frontend/src/api/auth.js:66
Methodregister
用户注册 <p>POST /auth/register <p>注册成功后自动颁发 Token,无需再次登录。
backend/src/main/java/com/ieltsstudio/controller/AuthController.java:41
MethodremoveExam
DELETE /exam-collections/{id}/exams/{examId} — 从试卷集移除试卷
backend/src/main/java/com/ieltsstudio/controller/ExamCollectionController.java:92
MethodremoveExam
(Long collectionId, Long examId)
backend/src/main/java/com/ieltsstudio/service/ExamCollectionService.java:95
Methodreorder
PUT /exam-collections/{id}/reorder — 重新排序试卷
backend/src/main/java/com/ieltsstudio/controller/ExamCollectionController.java:102
MethodrequirePermissionShouldThrowAccessDeniedWhenLackingPermission
()
backend/src/test/java/com/ieltsstudio/service/AdminPermissionServiceTest.java:250
FunctionresetPassword
重置用户密码(使用 BCrypt 加密存储,不返回 password)
frontend/src/api/adminUsers.js:51
MethodresetPassword
重置用户密码。 <p>权限:{@link AdminPermission#ADMIN_USERS_RESET_PASSWORD}</p> <p>安全:使用 BCrypt 加密存储,不返回 password,不记录明文密码日志。 允许管理员重置自己的密码(token 仍由当前登录流程处理)。</p
backend/src/main/java/com/ieltsstudio/controller/AdminUserController.java:184
MethodresetPasswordShouldUsePasswordEncoder
()
backend/src/test/java/com/ieltsstudio/service/AdminUserServiceTest.java:184
FunctionresetProgress
()
frontend/src/stores/word.js:714
FunctionresetUsed
重置当前周期 creditsUsed=0(无 quota 行时创建默认 30/0)
frontend/src/api/adminQuotas.js:35
MethodresetUsed
重置当前周期 creditsUsed=0。无 quota 行时创建默认 quota 行(100/0)。 <p>权限:{@link AdminPermission#ADMIN_QUOTA_MANAGE}</p>
backend/src/main/java/com/ieltsstudio/controller/AdminQuotaController.java:144
MethodresetUsedShouldCreateDefaultQuotaWhenMissing
()
backend/src/test/java/com/ieltsstudio/service/AdminQuotaServiceTest.java:170
MethodresetUsedShouldSetUsedToZero
()
backend/src/test/java/com/ieltsstudio/service/AdminQuotaServiceTest.java:185
Methodsadd
(String key, String... members)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsNoopImpl.java:35
Methodsadd
(String key, String... members)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsRedisImpl.java:58
MethodsanitizeShouldMaskAuthorizationAndBearer
()
backend/src/test/java/com/ieltsstudio/service/AdminAuditLogServiceTest.java:136
MethodsanitizeShouldMaskKeyLikeFragmentInBody
()
backend/src/test/java/com/ieltsstudio/ai/util/AiLogSanitizerTest.java:57
MethodsanitizeShouldMaskKeyValueSecrets
()
backend/src/test/java/com/ieltsstudio/service/AdminAuditLogServiceTest.java:95
MethodsanitizeShouldMaskSkKeys
()
backend/src/test/java/com/ieltsstudio/service/AdminAuditLogServiceTest.java:159
MethodsanitizeShouldRemoveBearerToken
()
backend/src/test/java/com/ieltsstudio/ai/util/AiLogSanitizerTest.java:48
MethodsanitizeShouldReturnEmptyForNull
()
backend/src/test/java/com/ieltsstudio/ai/util/AiLogSanitizerTest.java:65
MethodsaveAiFeedback
PATCH /exams/records/{id}/ai-feedback — 保存写作题的 AI 评分结果 <p>请求体:{@code { "feedback": { "questionId": {...} }, "band": 6.5 }}
backend/src/main/java/com/ieltsstudio/controller/ExamController.java:147
MethodsaveAiFeedback
保存写作题的 AI 评分反馈 @param recordId 考试记录 ID @param userId 当前用户 ID(鉴权用) @param feedbackByQuestionId 各写作题的 AI 反馈(questionId -> fee
backend/src/main/java/com/ieltsstudio/service/ExamService.java:353
MethodsaveStudyState
(@PathVariable String id, @RequestBody Map<String, Object> body,
backend/src/main/java/com/ieltsstudio/controller/WordBookController.java:94
FunctionscrollBehavior
(to, from, savedPosition)
frontend/src/router/index.js:106
Methodset
(String key, Object val, Duration ttl)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsNoopImpl.java:13
Methodset
(String key, Object val, Duration ttl)
backend/src/main/java/com/ieltsstudio/infra/RedisOpsRedisImpl.java:22
FunctionsetAnswer
(questionId, answer)
frontend/src/stores/exam.js:398
FunctionsetBatchSize
(size)
frontend/src/stores/word.js:736
FunctionsetSortMode
(mode)
frontend/src/stores/word.js:728
FunctionsetTotal
设置当前周期 creditsTotal(无 quota 行时创建)
frontend/src/api/adminQuotas.js:23
MethodsetTotal
设置当前周期 creditsTotal。无 quota 行时创建当前周期 quota 行。 <p>权限:{@link AdminPermission#ADMIN_QUOTA_MANAGE}</p>
backend/src/main/java/com/ieltsstudio/controller/AdminQuotaController.java:108
← previousnext →701–800 of 952, ranked by callers