跳到正文

界面规范 ​

工作区参考 shadcn/ui 的 new-york 与 neutral 风格,使用原生 CSS 和 Vue 3 组件实现,不依赖 CSS 框架或 React 运行时。

文件归属 ​

以下路径均相对于 web/src。

层次内容文件
设计变量颜色、图表配色、圆角、阴影、字体,如 --background、--muted-foreground、--radius-mdstyles/ui.css 的 :root
基础控件按钮、输入、选择、卡片、徽标、标签、表格、列表、侧栏、统计与进度条styles/ui.css
外壳与浮层滚动、侧栏收起、移动端抽屉、弹窗、菜单、列表框、提示与骨架屏styles/app.css
字体自托管 Geist 与 Geist Mono,中文回退到系统无衬线字体styles/fonts.css
共享组件UiSelect、UiMenu、UiSheet、AppDialog、Disclosure、StatusBadge、Toaster、Iconcomponents/

规则 ​

  • 复用设计变量,不在业务模块中硬编码颜色、圆角或阴影。
  • 新增类名前先复用基础样式(.btn、.input、.select、.card、.field、.page、.hdr)和共享组件。页面专属样式靠近页面代码放置,不在样式表末尾堆叠覆盖规则。
  • 正文与控件为 14px/20px,元数据为 12px。小于 900px 的屏幕将输入字号改为 16px,避免移动浏览器自动缩放。
  • 侧栏宽 288px,可完全收起;小于 900px 时使用抽屉。主内容区滚动,侧栏历史、弹窗、图谱及有界列表可各自滚动。
  • 不仅依靠颜色传递含义:错误、状态和选择还需文本或图标。网络图按节点角色分类着色,分布图使用蓝色图表配色。
  • 长篇综述保留适合阅读的字号和行高,不沿用密集卡片样式。
  • 工作区仅提供浅色主题。

在线版使用相同 Web 源码,因此共享视觉变更应在社区版完成。

检查变更 ​

在 web/ 中运行 npm run typecheck、npm run build 和 npm run test:browser,并在真实浏览器中检查桌面与手机宽度。

开放源码,自由探索。Apache-2.0 许可。