Skip to content

feat(character): 中文化衍生属性并支持职业自选技能 - #218

Merged
zhangzqs merged 1 commit into
1024XEngineer:mainfrom
LMH168:main
Aug 4, 2026
Merged

feat(character): 中文化衍生属性并支持职业自选技能#218
zhangzqs merged 1 commit into
1024XEngineer:mainfrom
LMH168:main

Conversation

@LMH168

@LMH168 LMH168 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Closes #140

改动摘要

  • 将建卡页、准备页和游戏内角色卡的六项衍生属性统一为中文名称 + 英文缩写,并改为三列两行布局。
  • 在技能步骤增加按职业槽位显式选择的「职业自选技能」面板,支持限定/开放候选、搜索、容量限制、分类重算和离开技能步骤时校验。
  • 新角色保存显式选择;旧角色的 null 仍走现有加点自动匹配路径,并由预览结果回填。
  • 后端增加显式选择的重复、未知、固定职业技能、不可分配技能、候选范围和槽位数量校验。

迁移与兼容

  • 新增 nullable JSON 字段 characters.occupation_choice_skill_ids
  • Alembic: 3f8a1c2d4e5f -> e4b6c8d0f2a1
  • 升级保留旧数据为 null;降级删除新字段。
  • 已使用一次性 SQLite 数据库验证 upgrade -> downgrade -> upgrade

验证结果

  • Backend: ruff check ✓, ruff format --check ✓, ty check ✓, pytest ✓ (236 passed, 3 skipped)
  • SDK: codegen ✓, lint ✓, test ✓ (16 passed), build
  • Frontend: npm test ✓ (59 passed), npm run lint ✓, npm run build
  • 本地真实前后端联调验证了六项衍生属性布局和职业自选面板。

UI 截图

中文衍生属性(三列两行)

derived-stats

职业自选技能面板

occupation-choices

人工 Review 待办

  • 检查手机尺寸下职业自选面板与底部选择器的可用性
  • 核对限定槽与开放槽重叠时的后端最终匹配顺序
  • 用真实旧角色数据验证 null 自动回填的兼容体验

@LMH168
LMH168 requested a review from Lyltrum August 4, 2026 03:46
@LMH168
LMH168 marked this pull request as ready for review August 4, 2026 05:04

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found in this review. I reviewed the fixed diff range 7de1fff29798059584c73c63d794864ff5c30a86...13f87211ed924812985962f1829cc08dcce4d079; test execution was not available in this container because both pytest and uv are missing.

@zhangzqs
zhangzqs merged commit e619326 into 1024XEngineer:main Aug 4, 2026
8 checks passed
Lyltrum added a commit to Lyltrum/TRPG-master that referenced this pull request Aug 4, 2026
1024XEngineer#218(中文化衍生属性 + 职业自选技能)与本分支都改了 RoomPage.tsx 与其测试。

- RoomPage.tsx:两侧各加了一个 import,同时保留。
- RoomPage.test.tsx:两侧在同一位置追加测试,双方全部保留(3D 降级 2 条 +
  职业自选技能页签 1 条)。

前端 68 passed、lint、typecheck、build 全绿。注意需要先 `cd trpg-sdk &&
npm run build`:1024XEngineer#218 改了生成的 dto.ts,而 dist/ 是 gitignore 的,不重建
前端拿到的还是旧类型。
@WELT5350

WELT5350 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

支持完整实现,后续前端改造时注意UI设计与排版优化@badadal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feature][建卡] 中文化衍生属性并支持职业自选技能选择

4 participants