style(portal): 重做整站排版,改为落地页式布局
mirror-to-gitee / mirror (push) Successful in 5s

排版语言
- 引入独立视觉系统 .vitepress/theme/styles/portal.css:
  中性底色 + 单一强调色(#4f46e5),正文靠留白与层级取胜,
  不使用大面积彩色底、渐变铺满或装饰性图形
- CSS 变量定义在 :root(原先挂在 .portal 下,导致内容页拿不到值)
- 完整支持暗色模式,变量在 html.dark 下整体替换

首页(pages/index.md → HomePage.vue)
- hero:居中大标题(强调色渐变仅作用于一个词组)、双按钮、四格数据条
- 项目区:三栏卡片,标题 + 状态徽标 + 定位 + 说明 + 技术栈标签
- 通用能力:六格编号卡片
- 组合方式:三栏场景步骤卡,每张带一条可复制命令
- 底部 CTA 区块
- 页面改用 layout: page,通过 Layout 包装层去掉默认窄栏

项目详情页
- iotLCM / DTU:能力矩阵改为标签切换(CapabilityTabs),
  每个业务域一屏,点击切换,替代原先的大宽表
- XiuAdmin:22 项内置功能按用途归为四组标签墙(FeatureGrid)
- 内容页二级标题加短强调线,表格首列不换行,属性表不再竖排

数据
- 新增 data/content.ts 承载首页文案、能力分组、长期事实统计,
  与 projects.ts 并列;文案口径取自各项目 README/详情页,无凭空数字
- 修正 scripts/check-registry.mjs:原先扫描 data/ 下所有 .ts 的 id,
  新增 content.ts 后把业务分组 id 误判为项目;改为只读 projects.ts

验证
- 构建通过,12 个页面,193 条引用 0 失效
- HTTP 实测 12 个路径全 200,不存在路径 404
- 暗色模式与移动端(390px)已截图核对,无横向溢出
This commit is contained in:
Dai0814
2026-11-04 14:13:50 +08:00
parent 1d67fc7082
commit ac1354da9e
16 changed files with 1286 additions and 219 deletions
+25 -13
View File
@@ -10,13 +10,13 @@ outline: deep
## 许可证
全部项目以 **Apache-2.0** 发布。可自由使用、修改、商用与再分发;分发时保留版权声明与许可证原文,并对修改部分注明变更。各项目依赖的上游组件保留其原始许可。
全部项目以 **Apache-2.0** 发布。
## 参与贡献
1. 从目标项目的默认分支切出特性分支,命名 `feat/xxx`、`fix/xxx`
2. 提交前确保各自的构建与测试通过(Go 服务跑 `go build ./...` 与 `go test ./...`,前端跑 `pnpm build`)
3. 提交合入请求并说明变更动机
| 允许 | 需要 |
| --- | --- |
| 自由使用、修改、商用、再分发 | 保留版权声明与许可证原文 |
| 用于闭源商业产品 | 对修改过的文件注明变更 |
| 专利授权(贡献者授予) | 各项目上游依赖保留其原始许可 |
## 各项目仓库
@@ -27,17 +27,29 @@ outline: deep
| XiuAdmin | <https://gitee.com/snowgoat/xiu-admin> |
| 本门户站 | <https://git.5iot.com/iotlcm-public/website> |
## 参与贡献
| 步骤 | 做什么 |
| --- | --- |
| 1 | 从目标项目的默认分支切出特性分支,命名 `feat/xxx`、`fix/xxx` |
| 2 | 提交前确保构建与测试通过:Go 服务跑 `go build ./...` 与 `go test ./...`,前端跑 `pnpm build` |
| 3 | 提交合入请求,说明变更动机与影响范围 |
## 提问与反馈
- 使用问题与缺陷:对应仓库开 issue
- 功能建议:issue 里描述清楚场景与期望
- 部署排错:先看各项目详情页的常见问题表,再开 issue 附上 `docker compose ps` 与相关日志
| 类型 | 去哪 |
| --- | --- |
| 使用问题与缺陷 | 对应仓库开 issue |
| 功能建议 | issue 里描述清楚场景与期望 |
| 部署排错 | 先看各项目详情页的常见问题表,再开 issue 并附 `docker compose ps` 与相关日志 |
## 运维自用组件的边界
## 边界说明
飞书通知机器人(`with-bot` profile)是给运维方自用的工具,需要自建应用的凭据才能启动,**不是平台功能**,未配置时不影响平台运行。
运营商通道的生产凭据不随仓发布,需自行向运营商申请。
| 项 | 说明 |
| --- | --- |
| 飞书通知机器人 | `with-bot` profile 下的运维自用工具,需要自建应用凭据才能启动,**不是平台功能**,未配置不影响运行 |
| 运营商凭据 | 通道的生产凭据不随仓发布,需自行向运营商申请与配置 |
| 老平台私有模块 | 开源版发布的是微服务家族,不含历史项目的私有定制部分 |
## 门户本身
+6 -36
View File
@@ -1,39 +1,9 @@
---
layout: home
hero:
name: 雪羊科技开源
text: 物联网与中后台基础软件
tagline: 开源项目门户 · Apache-2.0
actions:
- theme: brand
text: 浏览全部项目
link: /projects/
- theme: alt
text: iotLCM 快速开始
link: /projects/iotlcm/guide/quickstart
features:
- title: 全生命周期管理
details: iotLCM 覆盖物联网 SIM 卡的入库、划拨、激活、续费、停机、流量与状态同步、销户全流程。
- title: 设备接入闭环
details: 秀杰 DTU 管理平台覆盖 DTU 设备生产、出厂、划拨、绑定、配置下发、固件 OTA 与指令下发。
- title: 中后台开发底座
details: XiuAdmin 是基于 GoFrame + Vue3 的全栖中后台框架,租户、权限、代码生成、消息队列等内置可用。
- title: 一条命令部署
details: 各项目均提供 Docker Compose 编排与预构建镜像,clone 之后即可跑起来。
- title: 统一 Apache-2.0
details: 全部项目以 Apache-2.0 发布,可自由使用、修改、商用与再分发。
- title: 持续新增
details: 门户项目清单由单一注册表驱动,新增项目不需要改动站点其它部分。
layout: page
title: 雪羊科技开源
description: 雪羊科技开源项目门户:物联网卡管理、DTU 设备管理、中后台开发框架
sidebar: false
aside: false
---
## 开源项目
<ProjectList />
## 使用说明
- 每个项目在「项目详情」页给出定位、能力边界与代码仓地址
- 部署与运维细节见各项目的指南页
- 源码仓统一托管在 Gitee 企业仓 `snowgoat` 命名空间下
<HomePage />
+8 -4
View File
@@ -6,15 +6,19 @@ outline: deep
# 全部项目
雪羊科技对外开源的项目集合。三个项目覆盖物联网卡管理、硬件设备管理与中后台开发底座,全部以 Apache-2.0 发布。
<ProjectList />
## 关于这份清单
## 清单怎么维护
项目清单由站点源码里的单一注册表维护(`data/projects.ts`),首页卡片、侧边栏与本页都从它生成。
新增一个项目需要两步:
1. 在注册表里加一条记录(名称、定位、说明、代码仓、许可证、技术栈、状态)
2. 写 `pages/projects/<id>/index.md` 详情页,若有子页面(快速开始、部署、教程)在记录的 `sections` 里登记
| 步骤 | 做什么 |
| --- | --- |
| 1 | 在 `data/projects.ts` 里加一条记录(名称、定位、说明、代码仓、许可证、技术栈、状态、详情页路径、子页面) |
| 2 | 写 `pages/projects/<id>/index.md` 详情页,有子页面则在记录的 `sections` 里登记 |
站点构建前会自动校验「注册表条目」与「详情页目录」是否一一对应,不一致直接报错,避免清单与页面脱节。
构建前会自动校验「注册表条目」与「详情页目录」是否一一对应,不一致直接报错,避免清单与页面脱节。
+9 -27
View File
@@ -18,32 +18,11 @@ outline: deep
| 技术栈 | GoFrame v2、Vue 3 + Vben Admin、MySQL、Redis、RabbitMQ、TDengine、Consul、Docker Compose |
| 文档站 | <http://open.5iot.com:5051/docs/> |
## 能力概览
## 能力矩阵
按业务域拆开的能力矩阵:
按业务域拆开的能力矩阵,点击标签切换查看各域下的具体能力。
| 域 | 能力 |
| --- | --- |
| 卡资产 | 卡信息、批量导入、入库 / 库存 / 出库、批量开停复机、续费、变更套餐、达量断网 |
| 通信管理 | 通道与接入模板、运营商能力对接、共享 Token 接入三方渠道、通道缓存转发 |
| 资费 | 套餐与流量池、定价、生效与到期策略 |
| 代理商 | 代理商与分佣、划拨与回收 |
| 数据同步 | 流量 / 状态 / IMEI 全量同步与增量对齐、历史账期时序数据 |
| 对外接口 | V3 接口、旧版兼容接口、运营商能力代理(白名单转发 / 共享 Token) |
| 运营 | 工单、预警、执行日志、审计、智能诊断 |
| 端 | Web 管理端、小程序 / H5 用户端 |
细分能力:
| 模块 | 说明 |
| --- | --- |
| 卡与库存 | 卡信息检索、按三码查卡、批量导入出入库、库存与出库、批量开停复机 |
| 智能诊断 | 结合卡状态、通道与用量给出诊断结论与处置建议 |
| 资费与计费 | 套餐与定价管理、用量与流量查询、达量断网阈值 |
| 业务受理 | 开通、续费、停复机、变更套餐 |
| 通道与上游 | 上游通道配置与凭据、协议适配、共享 Token、缓存转发 |
| 组织与账号 | 多租户下的企业与账号治理、角色权限、对外 API 凭证 |
| 运维支撑 | 全量同步、批次执行、工单与告警、执行日志、飞书通知、指标与日志 |
<CapabilityTabs />
## 服务构成
@@ -67,9 +46,12 @@ outline: deep
## 下一步
- [快速开始](/projects/iotlcm/guide/quickstart) — 三步把整套跑起来
- [部署与运维](/projects/iotlcm/guide/deploy) — 生产部署前的必改项、可选组件、离线部署与排错
- [教程视频](/projects/iotlcm/guide/tutorial) — 部署与使用的录屏教程
| 文档 | 内容 |
| --- | --- |
| [快速开始](/projects/iotlcm/guide/quickstart) | 三步把整套跑起来 |
| [部署与运维](/projects/iotlcm/guide/deploy) | 生产部署前的必改项、可选组件、离线部署与排错 |
| [教程视频](/projects/iotlcm/guide/tutorial) | 部署与使用的录屏教程 |
| [方案对比](/projects/iotlcm/compare) | 与同类开源方案的可验证差异 |
## 边界
+3 -22
View File
@@ -25,28 +25,9 @@ outline: deep
## 内置功能
1. 租户管理:系统内租户的管理,如租户套餐、过期时间、用户数量、企业信息等
2. 租户套餐管理:租户所能使用的套餐管理,如套餐内所包含的菜单等
3. 客户端管理:系统内对接的所有客户端管理,如 pc 端、小程序端等
4. 用户管理:用户是系统操作者,完成系统用户配置
5. 部门管理:配置系统组织机构(公司、部门、岗位),树结构展现支持数据权限
6. 岗位管理:配置系统用户所属担任职务
7. 菜单管理:配置系统菜单,操作权限、按钮权限标识等
8. 角色管理:角色菜单权限分配、设置角色按机构或按上下级关系进行数据范围权限划分
9. 字典管理:对系统中经常使用的一些特定数据进行维护,支持枚举字典和自定义方法字典
10. 配置管理:对系统动态配置常用参数
11. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询
12. 登录日志:系统登录日志记录查询,包含登录异常
13. 服务日志:服务端运行所产生的警告、异常、崩溃日志的详细数据和堆栈信息
14. 在线用户:当前系统中活跃用户状态监控
15. 定时任务:在线(添加、修改、删除)任务调度,包含执行结果日志
16. 代码生成:支持自动化生成前后端代码。CURD 关联表、树表、消息队列、定时任务一键生成等
17. 服务监控:监视当前系统 CPU、内存、磁盘、网络、堆栈等相关信息
18. 缓存监控:对系统的缓存信息查询、命令统计等
19. 附件管理:文件图片上传,大文件分片上传、断点续传,支持本地
20. 消息队列:Asynq 消息队列
21. 通知公告:采用 WebSocket 实时推送在线用户最新通知、公告、私信消息
22. 常用工具:集成常用的工具包和命令行工具,可以快速开发自定义命令行,多种启动入口
22 项功能开箱可用,按用途归为四组。每项都不需要自己实现,装上就能用。
<FeatureGrid />
## 目录结构
+4 -9
View File
@@ -15,16 +15,11 @@ outline: deep
| 状态 | 已发布 |
| 技术栈 | GoFrame v2、Vue 3 + Vite + TypeScript、Vben Admin 5.x、Ant Design Vue、MySQL 8、Redis、TDengine(可选)、asynq、VitePress |
## 功能概览
## 能力分组
| 模块 | 说明 |
| --- | --- |
| 生产中心 | 产品、硬件型号、工厂、生产批次、设备生产与导入导出 |
| 研发中心 | 固件管理、固件版本、OTA 升级任务 |
| 配置中心 | 产品通用模型、配置分组、配置版本与下发状态 |
| 代理中心 | 代理商设备列表、下级代理、设备划拨与划拨历史、我的订单 |
| 系统管理 | 用户、角色、菜单、部门、字典、参数、租户、监控 |
| 设备接入 | HTTP / TCP 双通道接入,指令下发、事件上报、UART 隧道 |
按业务环节拆开,点击标签切换查看各环节下的具体能力。
<CapabilityTabs source="dtu" />
## 目录结构