Dai0814 dbe708511a
mirror-to-gitee / mirror (push) Successful in 3s
feat(portal): 补入用户端首页截图(公开查卡入口)
原 previewShots.app 里「用户端首页:公开查卡入口」是空占位。
补入实拍图 app-home.png(490×968,PNG)。

- 该条移到 app 组首位,作为小程序端的首屏大图
- 「我的」页降到第二张
- 剩余 3 张(卡片详情 / 业务办理 / 智能诊断)仍是空占位

验证
- 浏览器实测:主图 src=/screenshots/app-home.png,
  naturalWidth=490 naturalHeight=968,complete=true
- 图注「用户端首页:公开查卡入口」正确
- 自动套用手机外框,缩略图条 5 项:第1张首页实图、第2张我的、后3张占位
2026-11-06 13:11:15 +08:00

雪羊科技开源项目门户

开源项目门户站源码。当前收录 iotLCM(物联网卡全生命周期管理平台)、秀杰 DTU 管理平台、XiuAdmin(中后台开发框架)。

  • 站点框架:VitePress 1.6(与 iotLCM 的文档站同构)
  • 产物:纯静态文件
  • 许可:Apache-2.0

目录

.
├── data/projects.ts              # 项目注册表 —— 门户唯一项目清单来源
├── pages/
│   ├── index.md                  # 门户首页
│   ├── projects/index.md         # 全部项目
│   ├── projects/<id>/index.md    # 各项目详情页
│   ├── guide/portal-deploy.md    # 门户自身的构建与部署
│   └── about.md                  # 关于、许可、贡献说明
├── .vitepress/theme/components/  # 项目卡片与列表组件
├── scripts/check-registry.mjs    # 注册表与详情页一致性校验
├── deploy/docker-compose.yml     # 容器部署编排
└── Dockerfile                    # 多阶段构建镜像

新增一个项目

两步,不需要改动站点其它部分:

  1. 在 data/projects.ts 里加一条记录(名称、定位、说明、代码仓、许可证、技术栈、状态、详情页路径、子页面)
  2. 写 pages/projects/<id>/index.md 详情页

首页卡片、项目列表页、侧边栏都会自动带上新项目。

构建前会自动校验注册表与详情页目录是否一一对应,不一致直接报错:

npm run check

本地开发

npm ci
npm run dev      # http://127.0.0.1:5173

构建

npm run build    # 产物在 .vitepress/dist/

部署

docker compose -f deploy/docker-compose.yml up -d --build

默认发布在宿主机 127.0.0.1:8020。站点资源前缀由 SITE_BASE 决定:

形态 参数 访问方式
子路径(过渡,无独立域名) /www/(默认) 由已有网关转发 /www/ 到本容器
独立域名 / 域名根路径
SITE_BASE=/ docker compose -f deploy/docker-compose.yml up -d --build

详见 门户部署。

S
Description
雪羊科技开源项目门户(iotLCM / xiu-dtu / xiu-admin 等开源项目索引)
Readme 1.6 MiB
Languages
TypeScript 31.3%
CSS 28.2%
Vue 24.4%
JavaScript 14.4%
Dockerfile 1.7%