[Snow Team] Merge route-refactor's work

This commit is contained in:
yml
2026-05-21 22:23:11 +08:00
2 changed files with 65 additions and 113 deletions
+51 -89
View File
@@ -16,36 +16,30 @@ import {
redeemKuaishouCloudClaim,
verifyKuaishouCloudClaimTicket,
} from '../services/claim/kuaishou-cloud-claim-service.js'
import { buildNotFoundPayload, buildSuccessPayload, sendRouteError } from '../utils/http.js'
import {
buildNotFoundPayload,
buildSuccessPayload,
createRouteFileHandler,
createRouteHandler,
sendRouteError,
} from '../utils/http.js'
const router = Router()
router.get('/:token', async (req, res) => {
try {
const data = await getClaimDetail(req.params.token)
res.json(buildSuccessPayload(data, 'ok'))
} catch (error) {
sendRouteError(res, error, '查询领取详情失败', '[claims/:token]')
}
})
router.get('/:token', createRouteHandler(
(req) => getClaimDetail(req.params.token),
{ errorMessage: '查询领取详情失败', scope: '[claims/:token]' },
))
router.post('/:token/session', async (req, res) => {
try {
const data = await createClaimSession(req.params.token, req.body)
res.json(buildSuccessPayload(data, '浏览器会话已创建'))
} catch (error) {
sendRouteError(res, error, '创建领取会话失败', '[claims/:token/session]')
}
})
router.post('/:token/session', createRouteHandler(
(req) => createClaimSession(req.params.token, req.body),
{ successMessage: '浏览器会话已创建', errorMessage: '创建领取会话失败', scope: '[claims/:token/session]' },
))
router.get('/:token/session/summary', async (req, res) => {
try {
const data = await getClaimSessionSummary(req.params.token)
res.json(buildSuccessPayload(data, 'ok'))
} catch (error) {
sendRouteError(res, error, '查询领取会话摘要失败', '[claims/:token/session/summary]')
}
})
router.get('/:token/session/summary', createRouteHandler(
(req) => getClaimSessionSummary(req.params.token),
{ errorMessage: '查询领取会话摘要失败', scope: '[claims/:token/session/summary]' },
))
router.post('/:token/session/refresh', async (req, res) => {
try {
@@ -56,77 +50,45 @@ router.post('/:token/session/refresh', async (req, res) => {
}
})
router.delete('/:token/session', async (req, res) => {
try {
const data = await closeClaimSession(req.params.token)
res.json(buildSuccessPayload(data, '领取会话已关闭'))
} catch (error) {
sendRouteError(res, error, '关闭领取会话失败', '[claims/:token/session]')
}
})
router.delete('/:token/session', createRouteHandler(
(req) => closeClaimSession(req.params.token),
{ successMessage: '领取会话已关闭', errorMessage: '关闭领取会话失败', scope: '[claims/:token/session]' },
))
router.post('/:token/confirm-role', async (req, res) => {
try {
const data = await confirmClaimRole(req.params.token)
res.json(buildSuccessPayload(data, '角色已确认'))
} catch (error) {
sendRouteError(res, error, '确认角色失败', '[claims/:token/confirm-role]')
}
})
router.post('/:token/confirm-role', createRouteHandler(
(req) => confirmClaimRole(req.params.token),
{ successMessage: '角色已确认', errorMessage: '确认角色失败', scope: '[claims/:token/confirm-role]' },
))
router.post('/:token/redeem', async (req, res) => {
try {
const data = await redeemClaimTask(req.params.token)
res.json(buildSuccessPayload(data, '兑换完成'))
} catch (error) {
sendRouteError(res, error, '执行领取兑换失败', '[claims/:token/redeem]')
}
})
router.post('/:token/redeem', createRouteHandler(
(req) => redeemClaimTask(req.params.token),
{ successMessage: '兑换完成', errorMessage: '执行领取兑换失败', scope: '[claims/:token/redeem]' },
))
router.post('/:token/kuaishou-cloud/verify-ticket', async (req, res) => {
try {
const data = await verifyKuaishouCloudClaimTicket(req.params.token, req.body)
res.json(buildSuccessPayload(data, '核销码校验成功'))
} catch (error) {
sendRouteError(res, error, '校验核销码失败', '[claims/:token/kuaishou-cloud/verify-ticket]')
}
})
router.post('/:token/kuaishou-cloud/verify-ticket', createRouteHandler(
(req) => verifyKuaishouCloudClaimTicket(req.params.token, req.body),
{ successMessage: '核销码校验成功', errorMessage: '校验核销码失败', scope: '[claims/:token/kuaishou-cloud/verify-ticket]' },
))
router.post('/:token/kuaishou-cloud/confirm-role', async (req, res) => {
try {
const data = await confirmKuaishouCloudClaimRole(req.params.token)
res.json(buildSuccessPayload(data, '角色已确认'))
} catch (error) {
sendRouteError(res, error, '确认角色失败', '[claims/:token/kuaishou-cloud/confirm-role]')
}
})
router.post('/:token/kuaishou-cloud/confirm-role', createRouteHandler(
(req) => confirmKuaishouCloudClaimRole(req.params.token),
{ successMessage: '角色已确认', errorMessage: '确认角色失败', scope: '[claims/:token/kuaishou-cloud/confirm-role]' },
))
router.post('/:token/kuaishou-cloud/redeem', async (req, res) => {
try {
const data = await redeemKuaishouCloudClaim(req.params.token)
res.json(buildSuccessPayload(data, '兑换请求已提交'))
} catch (error) {
sendRouteError(res, error, '兑换失败', '[claims/:token/kuaishou-cloud/redeem]')
}
})
router.post('/:token/kuaishou-cloud/redeem', createRouteHandler(
(req) => redeemKuaishouCloudClaim(req.params.token),
{ successMessage: '兑换请求已提交', errorMessage: '兑换失败', scope: '[claims/:token/kuaishou-cloud/redeem]' },
))
router.get('/:token/screenshot', async (req, res) => {
try {
const screenshotPath = await getClaimScreenshotPath(req.params.token)
res.sendFile(screenshotPath)
} catch (error) {
sendRouteError(res, error, '读取领取截图失败', '[claims/:token/screenshot]')
}
})
router.get('/:token/screenshot', createRouteFileHandler(
(req) => getClaimScreenshotPath(req.params.token),
{ errorMessage: '读取领取截图失败', scope: '[claims/:token/screenshot]' },
))
router.get('/assets/kuaishou-cloud/:filename', async (req, res) => {
try {
const filePath = await getKuaishouCloudClaimGuideAssetPath(req.params.filename)
res.sendFile(filePath)
} catch (error) {
sendRouteError(res, error, '读取指引图片失败', '[claims/assets/kuaishou-cloud/:filename]')
}
})
router.get('/assets/kuaishou-cloud/:filename', createRouteFileHandler(
(req) => getKuaishouCloudClaimGuideAssetPath(req.params.filename),
{ errorMessage: '读取指引图片失败', scope: '[claims/assets/kuaishou-cloud/:filename]' },
))
router.use((req, res) => {
res.status(404).json(buildNotFoundPayload(req))
+14 -24
View File
@@ -12,19 +12,17 @@ import {
import {
buildNotFoundPayload,
buildSuccessPayload,
createRouteFileHandler,
createRouteHandler,
sendRouteError,
} from '../utils/http.js'
const router = Router()
router.post('/browser/session', async (req, res) => {
try {
const data = await createTencentBrowserSession(req.body)
res.json(buildSuccessPayload(data, '浏览器会话已创建'))
} catch (error) {
sendRouteError(res, error, '创建浏览器会话失败', '[browser/session]')
}
})
router.post('/browser/session', createRouteHandler(
(req) => createTencentBrowserSession(req.body),
{ successMessage: '浏览器会话已创建', errorMessage: '创建浏览器会话失败', scope: '[browser/session]' },
))
router.get('/browser/session/:sessionId', async (req, res) => {
try {
@@ -62,23 +60,15 @@ router.post('/browser/session/:sessionId/redeem', async (req, res) => {
}
})
router.get('/browser/session/:sessionId/screenshot', async (req, res) => {
try {
const screenshotPath = await getTencentBrowserSessionScreenshotPath(req.params.sessionId)
res.sendFile(screenshotPath)
} catch (error) {
sendRouteError(res, error, '读取兑换截图失败', '[browser/session/:sessionId/screenshot]')
}
})
router.get('/browser/session/:sessionId/screenshot', createRouteFileHandler(
(req) => getTencentBrowserSessionScreenshotPath(req.params.sessionId),
{ errorMessage: '读取兑换截图失败', scope: '[browser/session/:sessionId/screenshot]' },
))
router.delete('/browser/session/:sessionId', async (req, res) => {
try {
const data = await closeTencentBrowserSession(req.params.sessionId)
res.json(buildSuccessPayload(data, '浏览器会话已关闭'))
} catch (error) {
sendRouteError(res, error, '关闭浏览器会话失败', '[browser/session/:sessionId]')
}
})
router.delete('/browser/session/:sessionId', createRouteHandler(
(req) => closeTencentBrowserSession(req.params.sessionId),
{ successMessage: '浏览器会话已关闭', errorMessage: '关闭浏览器会话失败', scope: '[browser/session/:sessionId]' },
))
router.use((req, res) => {
res.status(404).json(buildNotFoundPayload(req))