登录界面增加忘记密码. 后台增加密码重置

This commit is contained in:
yml2213
2026-08-20 14:40:01 +08:00
parent 3546036b43
commit 757eee9742
8 changed files with 386 additions and 0 deletions
@@ -38,6 +38,7 @@ import {
reviewAdminWorkerFinanceRequest,
resolveAdminProblemWorkOrder,
reviewAdminWorkerUser,
resetAdminWorkerPassword,
saveAdminWorkerFinanceConfig,
saveAdminWorkerProductMatchConfig,
saveAdminWorkerPlatformNotificationConfig,
@@ -318,6 +319,25 @@ router.post(
),
)
router.post(
'/worker-platform/workers/:workerId/reset-password',
requireAdminRoles(['admin', 'operator']),
createJsonHandler(
(req) => resetAdminWorkerPassword(String(req.params.workerId || ''), req.body || {}),
{
successMessage: '打手密码已重置',
errorMessage: '重置打手密码失败',
scope: '[admin/worker-platform/workers/:workerId/reset-password]',
audit: (req, data) => ({
action: 'worker_password_reset',
targetType: 'worker',
targetId: String(req.params.workerId || ''),
data: data && typeof data === 'object' ? (data as Record<string, unknown>) : {},
}),
},
),
)
router.post(
'/worker-platform/workers/:workerId/wallet-credit',
requireAdminRoles(['admin', 'operator']),
+32
View File
@@ -28,6 +28,8 @@ import {
logoutWorkerSession,
registerWorker,
sendWorkerSmsCode,
sendWorkerPasswordResetSmsCode,
resetWorkerPassword,
saveWorkerOrderAcceptanceDraft,
saveWorkerOrderNote,
remindWorkerOrderAcceptance,
@@ -76,6 +78,36 @@ router.post(
}),
)
router.post(
'/auth/password-reset/sms-code',
createRateLimitMiddleware({
scope: 'worker:password-reset-sms-code',
windowMs: 60_000,
max: 5,
key: getBodyFieldRateLimitKey('phone'),
}),
createRouteHandler((req) => sendWorkerPasswordResetSmsCode(req.body || {}), {
successMessage: '验证码已发送',
errorMessage: '验证码发送失败',
scope: '[worker/auth/password-reset/sms-code]',
}),
)
router.post(
'/auth/password-reset',
createRateLimitMiddleware({
scope: 'worker:password-reset',
windowMs: 60_000,
max: 10,
key: getBodyFieldRateLimitKey('phone'),
}),
createRouteHandler((req) => resetWorkerPassword(req.body || {}), {
successMessage: '密码已重置,请重新登录',
errorMessage: '密码重置失败',
scope: '[worker/auth/password-reset]',
}),
)
router.post(
'/auth/login',
createRateLimitMiddleware({