From 9ad75c77b0cf453502c0018a6b79763cf5a09405 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Wed, 20 May 2026 01:01:10 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20=E6=B7=BB=E5=8A=A0=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E4=BD=BF=E7=94=A8=E8=A7=84=E8=8C=83=EF=BC=8C=E5=BC=BA?= =?UTF-8?q?=E8=B0=83=E5=9C=A8Vue=E7=BB=84=E4=BB=B6=E4=B8=AD=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=B8=B8=E9=87=8F=E6=9E=9A=E4=B8=BE=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=9E=9A=E4=B8=BE=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .trae/skills/typescript-standards/SKILL.md | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.trae/skills/typescript-standards/SKILL.md b/.trae/skills/typescript-standards/SKILL.md index d5d68950..139427e2 100644 --- a/.trae/skills/typescript-standards/SKILL.md +++ b/.trae/skills/typescript-standards/SKILL.md @@ -232,6 +232,39 @@ type Character = { }; ``` +### 8. 枚举使用规范 + +**在Vue组件中,必须使用类似 `gameEnum` 的常量枚举对象访问常量枚举值,禁止直接使用类型定义中的枚举** + +```typescript +// ✅ 正确 - 使用 gameEnum 访问枚举值 +const statusOrder: Record = { + [gameEnum.actCalendar.poolStatus.Ongoing]: 0, + [gameEnum.actCalendar.poolStatus.NotStart]: 1, + [gameEnum.actCalendar.poolStatus.Ended]: 2, +}; + +// ❌ 错误 - 直接使用类型定义中的枚举 +const statusOrder: Record = { + [TGApp.Game.ActCalendar.PoolStatus.Ongoing]: 0, + [TGApp.Game.ActCalendar.PoolStatus.NotStart]: 1, + [TGApp.Game.ActCalendar.PoolStatus.Ended]: 2, +}; +``` + +**原因:** +- Vue组件的模板和脚本部分需要运行时可访问的值 +- `TGApp.Game.ActCalendar.PoolStatus` 是类型定义,编译后不存在 +- `gameEnum` 是实际的JavaScript对象,可以在运行时访问 + +**适用场景:** +- Vue组件的 `