Skip to content

内容:打造你的专属桌面

桌面上的一切——文件、快捷方式、壁纸、文化元素——都用声明式数据描述, 组件只负责机制。判断标准很简单:新增一条内容不应该需要写 React 代码

自定义文件系统

顶层的 key 会直接合并进桌面根目录——一个顶层 key 就是一个桌面项:

jsx
const myFileSystem = {
  'ReadMe.txt': {
    type: 'file',
    name: 'ReadMe.txt',
    app: 'Notepad',
    content: '你好,世界!',
  },
  我的项目: {
    type: 'folder',
    name: '我的项目',
    children: {
      /* 嵌套的文件与文件夹 */
    },
  },
};

export default () => <WindowsXP customFileSystem={myFileSystem} />;

fileSystemMode 决定合并方式:'merge'(默认)把你的内容叠加在内置桌面之上; 'replace' 只保留操作系统骨架(回收站 + 空的"我的电脑"),让你的内容成为整个桌面。

壁纸与头像

wallpapers 把额外壁纸并入选择器,defaultWallpaper 设定初始壁纸(可以是壁纸 id, 也可以是图片 URL);avatar 是登录/用户头像(XPIcon 的 id 或图片 URL)。

文化包

文化包(culture package)把一整套时代内容——桌面快捷方式、便签、开始菜单、 IE 站点、启动通知——打包成可注入、可复用的数据。用 defineCulture 编写, 通过 cultures prop 注入。详见英文版 Culture packages

编写你的第一个应用

自定义应用通过 apps prop 注入,登记进应用注册表(APP_REGISTRY)。详见英文版 Write your first app

在桌面上搭建博客

这个桌面天然适合做个人主页 / 博客外壳——文章作为 .md 文件在 Markdown 查看器中打开、 永久链接、用 RSS + sitemap 做 SEO。它有独立的一页:在桌面上搭建博客