返回 AiToEarn
get-code-message.util.ts
根目录 / project / aitoearn-backend / libs / common / src / utils / get-code-message.util.ts
1 import type { Locale } from '../i18n/messages'
2 import { ResponseCode } from '../enums/response-code.enum'
3 import { messages } from '../i18n/messages'
4
5 export function getCodeMessage(code: ResponseCode, data?: unknown, locale: Locale = 'en-US'): string {
6 const codeMessages = messages[code]
7 if (!codeMessages) {
8 return locale === 'zh-CN' ? '未知错误' : 'Unknown error'
9 }
10
11 const message = codeMessages[locale] || codeMessages['en-US']
12
13 if (typeof message === 'string') {
14 return message
15 }
16
17 try {
18 return message(data)
19 }
20 catch (e) {
21 return locale === 'zh-CN' ? `消息渲染失败: ${e}` : `Message render failed: ${e}`
22 }
23 }
24
24 lines TYPESCRIPT