完善一键回归与真实输入准备
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { loadBackendAuthTokens, loadBackendBaseUrl } from '../../utils/backendAuth'
|
||||
import { getEventPlay, launchEvent, type BackendCourseVariantSummary, type BackendEventPlayResult } from '../../utils/backendApi'
|
||||
import { adaptBackendLaunchResultToEnvelope } from '../../utils/backendLaunchAdapter'
|
||||
import { formatBackendPlayActionText, formatBackendPlayStatusText } from '../../utils/backendPlayCopy'
|
||||
import { prepareMapPageUrlForLaunch } from '../../utils/gameLaunch'
|
||||
import { HeartRateController } from '../../engine/sensor/heartRateController'
|
||||
|
||||
@@ -302,8 +303,8 @@ Page({
|
||||
releaseText: result.resolvedRelease
|
||||
? `${result.resolvedRelease.configLabel} / ${result.resolvedRelease.releaseId}`
|
||||
: '当前无可用 release',
|
||||
actionText: `${result.play.primaryAction} / ${result.play.reason}`,
|
||||
statusText: result.play.canLaunch ? '准备完成,可进入地图' : '当前不可启动',
|
||||
actionText: formatBackendPlayActionText(result.play.primaryAction, result.play.reason),
|
||||
statusText: formatBackendPlayStatusText(result.play.canLaunch, result.play.primaryAction, result.play.reason),
|
||||
assignmentMode: result.play.assignmentMode || '',
|
||||
variantModeText: formatAssignmentMode(result.play.assignmentMode),
|
||||
variantSummaryText: formatVariantSummary(result),
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { loadBackendAuthTokens, loadBackendBaseUrl } from '../../utils/backendAuth'
|
||||
import { getEventPlay, type BackendEventPlayResult } from '../../utils/backendApi'
|
||||
import { formatBackendPlayActionText, formatBackendPlayStatusText } from '../../utils/backendPlayCopy'
|
||||
|
||||
type EventPageData = {
|
||||
eventId: string
|
||||
@@ -136,8 +137,8 @@ Page({
|
||||
releaseText: result.resolvedRelease
|
||||
? `${result.resolvedRelease.configLabel} / ${result.resolvedRelease.releaseId}`
|
||||
: '当前无可用 release',
|
||||
actionText: `${result.play.primaryAction} / ${result.play.reason}`,
|
||||
statusText: result.play.canLaunch ? '可启动' : '当前不可启动',
|
||||
actionText: formatBackendPlayActionText(result.play.primaryAction, result.play.reason),
|
||||
statusText: formatBackendPlayStatusText(result.play.canLaunch, result.play.primaryAction, result.play.reason),
|
||||
variantModeText: formatAssignmentMode(result.play.assignmentMode),
|
||||
variantSummaryText: formatVariantSummary(result),
|
||||
presentationText: formatPresentationSummary(result),
|
||||
|
||||
65
miniprogram/utils/backendPlayCopy.ts
Normal file
65
miniprogram/utils/backendPlayCopy.ts
Normal file
@@ -0,0 +1,65 @@
|
||||
function normalizeReason(reason?: string | null): string {
|
||||
if (!reason) {
|
||||
return ''
|
||||
}
|
||||
|
||||
if (reason === 'user has an ongoing session for this event') {
|
||||
return '当前活动存在未结束对局'
|
||||
}
|
||||
if (reason === 'no ongoing session for this event') {
|
||||
return '当前活动没有进行中的对局'
|
||||
}
|
||||
if (reason === 'ready to launch') {
|
||||
return '当前可直接开始'
|
||||
}
|
||||
if (reason === 'launch blocked') {
|
||||
return '当前启动受限'
|
||||
}
|
||||
|
||||
return reason
|
||||
}
|
||||
|
||||
function normalizeAction(action?: string | null): string {
|
||||
if (!action) {
|
||||
return '--'
|
||||
}
|
||||
|
||||
if (action === 'continue') {
|
||||
return '继续上一局'
|
||||
}
|
||||
if (action === 'launch' || action === 'start') {
|
||||
return '开始比赛'
|
||||
}
|
||||
if (action === 'preview') {
|
||||
return '查看活动'
|
||||
}
|
||||
|
||||
return action
|
||||
}
|
||||
|
||||
export function formatBackendPlayActionText(action?: string | null, reason?: string | null): string {
|
||||
const actionText = normalizeAction(action)
|
||||
const reasonText = normalizeReason(reason)
|
||||
if (!reasonText) {
|
||||
return actionText
|
||||
}
|
||||
|
||||
return `${actionText}(${reasonText})`
|
||||
}
|
||||
|
||||
export function formatBackendPlayStatusText(canLaunch: boolean, action?: string | null, reason?: string | null): string {
|
||||
if (!canLaunch) {
|
||||
return '当前不可启动'
|
||||
}
|
||||
|
||||
if (action === 'continue') {
|
||||
return '检测到未结束对局,可继续进入地图'
|
||||
}
|
||||
|
||||
const reasonText = normalizeReason(reason)
|
||||
if (reasonText) {
|
||||
return `${reasonText},可进入地图`
|
||||
}
|
||||
|
||||
return '可启动'
|
||||
}
|
||||
Reference in New Issue
Block a user