Skip to content

XHIM 五端 UI 资源

该目录保存 XHIM UI Kit 的跨平台视觉源文件和可审计元数据。运行时代码仍使用 各平台原生 UI 框架:

产品端UI 包资源形式
iOS / macOSXHIMSwiftUISwift Package Asset Catalog
Androidxhim-ui-composeAndroid Vector Drawable
WindowsXHIM.UI.WpfWPF Geometry ResourceDictionary
HarmonyOS / OpenHarmony@xihansoftware/xhimHAR media SVG

图标来源

当前 IM 图标集来自 Lucide 1.14.0,固定 Commit 56e49f12166312f04af4cfd862621c93cf583979。Lucide 采用 ISC 许可证;其 许可证列出的部分 Feather 衍生图标同时保留 MIT 条款。完整许可证、选中 SVG 及每个源文件 SHA-256 位于 lucide/1.14.0/

选择的是 IM 常用的 19 个图标:

text
camera check-check chevron-left circle-alert clock ellipsis image
message-circle mic paperclip phone plus rotate-ccw search send smile
users video x

只纳入实际使用的子集,避免把几千个无关资源放进客户包。发行时不能删除 Lucide-LICENSE.txt;各平台包已经放入相同许可证副本。

重新导入

发布构建不在网络上临时下载资源。升级 Lucide 时先由法务/设计审核版本,再更新 导入器中的版本、Commit 和图标清单:

bash
git clone --depth 1 --branch 1.14.0 \
  https://github.com/lucide-icons/lucide.git /tmp/lucide
python3 scripts/ui/import_lucide_icons.py \
  --source-checkout /tmp/lucide
python3 scripts/ui/import_lucide_icons.py --check

导入器同时生成 Apple、Android、Windows 和 HarmonyOS 资源。不要只手改某一端 的生成文件;产品颜色、圆角和尺寸的共同基线在 xhim-design-tokens.json,业务仍可通过各平台 Theme 覆盖。

架构边界

这些资源和 UI 组件只负责展示与用户动作回调,不读取 XHIM SQLite、不直接请求 HTTP/WSS、不持有 C ABI handle。业务 ViewModel/Presenter 负责把平台 Facade 模型转换成 ConversationItem/MessageItem,因此替换主题、图标或 Cell 不会 改变登录、同步和可靠消息语义。

XHIM 客户端 SDK 与服务端文档