增加“验证码登录”模式

This commit is contained in:
yml2213
2026-08-20 14:46:53 +08:00
parent 757eee9742
commit 555a7d43a7
4 changed files with 352 additions and 45 deletions
+42
View File
@@ -21,6 +21,7 @@ import {
markWorkerOrderRead,
getWorkerMyOrderEvents,
loginWorker,
loginWorkerBySmsCode,
getWorkerSessions,
deleteWorkerSession,
manageWorkerSessions,
@@ -28,6 +29,7 @@ import {
logoutWorkerSession,
registerWorker,
sendWorkerSmsCode,
sendWorkerLoginSmsCode,
sendWorkerPasswordResetSmsCode,
resetWorkerPassword,
saveWorkerOrderAcceptanceDraft,
@@ -133,6 +135,46 @@ router.post(
),
)
router.post(
'/auth/login/sms-code',
createRateLimitMiddleware({
scope: 'worker:login-sms-code',
windowMs: 60_000,
max: 5,
key: getBodyFieldRateLimitKey('phone'),
}),
createRouteHandler((req) => sendWorkerLoginSmsCode(req.body || {}), {
successMessage: '验证码已发送',
errorMessage: '验证码发送失败',
scope: '[worker/auth/login/sms-code]',
}),
)
router.post(
'/auth/login/sms',
createRateLimitMiddleware({
scope: 'worker:login-sms',
windowMs: 60_000,
max: 10,
key: getBodyFieldRateLimitKey('phone'),
}),
createRouteHandler(
(req) =>
loginWorkerBySmsCode(req.body?.phone, req.body?.code, {
deviceId: req.body?.deviceId,
deviceType: req.body?.deviceType,
deviceName: req.body?.deviceName,
userAgent: req.headers['user-agent'],
ipAddress: req.ip,
}),
{
successMessage: '登录成功',
errorMessage: '接单端验证码登录失败',
scope: '[worker/auth/login/sms]',
},
),
)
router.post(
'/auth/devices/manage/list',
createRateLimitMiddleware({