Перейти к содержимому

Введение

lh-ui-core — центр направления native семейства lh-ui на этапе сборки.

@lh-ui/core — единый источник истины для токенов дизайна, а также место хранения контрактов компонентов и золотых сценариев; помимо этого, здесь находится инструментарий codegen, который генерирует из нейтральных токенов языковые каркасы для четырёх нативных платформ.

Это не зависимость времени выполнения. Репозиторий работает только на этапе сборки: платформенно-нейтральные JSON-токены и контракты компонентов превращаются в артефакты для Android (Kotlin) / iOS (Swift) / HarmonyOS (ArkTS) / C, а реализацию UI каждая нативная библиотека пишет вручную. На нативных платформах во время выполнения нет ни одного JavaScript.

В семействе есть два направления, полностью независимых и не связанных друг с другом:

Семейство lh-ui
├── Направление web: lh-ui-share (TS core + единственный источник стилей SCSS) → plus / vue2 / react / uniapp
└── Направление native: этот репозиторий (JSON-токены + спецификации + codegen) → android / ios / harmony / windows

Между этим репозиторием и lh-ui-share нет ни одной кодовой зависимости — каждый репозиторий замкнут сам на себе и выпускается самостоятельно. Единство бренда и визуального ряда поддерживается механизмом ручного выравнивания в репозитории семейной документации (docs/设计语言基线.md), а не автоматической синхронизацией.

Содержимое репозитория состоит из тр уровней JSON-контрактов, независимых, но ссылающихся друг на друга:

Уровень Расположение Какой вопрос отвечает
Токены tokens/*.json «Как выглядит интерфейс» — цвета, отступы, размеры шрифта, скругления, тени, анимация, z-уровни, компонентные размеры
Контракты specs/*.json «Какими возможностями обладает компонент» — props / перечисления / значения по умолчанию / события / слоты / поведение
Сценарии cases/*.json «Как тестировать компонент» — переводимые между платформами поведенческие утверждения given/when/then

codegen потребляет только токены, генерируя каркасы для четырёх платформ; контракты и сценарии сейчас используются нативными платформами вручную (в будущем они могут лечь в основу автоматической генерации каркасов типов и шаблонов тестов).

Начальные значения в tokens/*.json этого репозитория были единожды извлечены вручную как выравнивающее семя из lh-ui-share/styles/theme/common/variables.scss и var-dark.scss (2026-10-10, см. семейный документ docs/设计语言基线.md). После этого оба репозитория развиваются независимо и больше не синхронизируются. Изменения брендовых токенов (палитра, шкала отступов) обязательно регистрируются в этом базовом документе.

  • Разработчики нативных платформ (android / ios / harmony / windows): чтобы понимать соглашения об именовании артефактов dist/, преобразование единиц и механизм тёмной темы, знать, откуда берутся токены и как вычисляются их значения.
  • Мейнтейнеры репозитория: чтобы понимать зону ответственности каждого модуля и функции конвейера codegen и уметь менять шаблоны, добавлять токены и компоненты.

Copyright © 2024-2026 FengMo WenXue