网页壁纸是运行在 Search Next 桌面背景中的离线 Web 页面。源码统一放在 apps/wallpapers/<name>,打包后生成可由 Admin 端上传的 .snwall 文件。
GitHub Releases 暂不提供 .snwall 网页壁纸成品。开发或使用仓库内置网页壁纸时,需要先克隆源码并在本地打包。
所有命令都应在仓库根目录执行。可以复制现有壁纸作为参考,也可以创建一个新的 kebab-case 目录:
每个网页壁纸必须在目录根部提供 wallpaper.config.json:
配置约定:
name 必须使用小写 kebab-case,并与目录名保持一致。schemaVersion 当前固定为 1。entry 是唯一的 HTML 入口,preview 是后台和 Web 端使用的静态预览图。entry 和 preview 会自动加入包内;其他 CSS、JavaScript、图片、字体、音视频或 WASM 资源通过 packageFiles 声明,可填写文件或目录。..。projectUrl 使用 HTTPS 地址,便于后台展示来源与授权信息。网页壁纸可以使用仓库内的 Vite 启动静态开发服务器:
根据终端输出打开本地地址,检查入口页面、动画、图片和字体是否正常。开发时还应确认:
实际运行时,壁纸位于无同源权限的沙箱 iframe 中。宿主通过 search-next-wallpaper-v1 消息通道同步主题、语言、减少动态效果和可见性状态;直接在浏览器预览时没有这些宿主消息,因此还需要在上传后进行一次集成验证。
打包单个网页壁纸:
打包全部网页壁纸:
打包流程会读取配置并复制入口、预览图和 packageFiles,然后进行离线包校验。输出目录为:
.snwall 包需满足以下限制:
entry 一致。在 Admin 端进入 新标签页 → 壁纸,新增或编辑“网页壁纸”,上传:
后台会读取包内名称、版本、简介、作者、项目地址、入口和预览图。保存并启用后,在 Web 端完成以下检查:
如果上传成功但入口或预览返回 404,请检查 部署与 Nginx 配置中的网页壁纸运行接口,不要把网页壁纸运行目录直接映射到 /static/。