init
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
import { Router } from 'express'
|
||||
|
||||
import {
|
||||
confirmClaimRole,
|
||||
createClaimSession,
|
||||
getClaimDetail,
|
||||
getClaimScreenshotPath,
|
||||
getClaimSessionSummary,
|
||||
redeemClaimTask,
|
||||
} from '../services/claim-session-service.js'
|
||||
import { buildNotFoundPayload, buildSuccessPayload, 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.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.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.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/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.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.use((req, res) => {
|
||||
res.status(404).json(buildNotFoundPayload(req))
|
||||
})
|
||||
|
||||
export default router
|
||||
Reference in New Issue
Block a user