Commit Graph

12 Commits

Author SHA1 Message Date
Dai0814 e4757446cf feat(portal): 补入整站页脚,并让项目列表页不显示页脚
mirror-to-gitee / mirror (push) Successful in 4s
用户反馈 /projects/(项目列表)页底部的品牌/联系/版权区应该去掉。

背景:这几个文件此前一直未提交——远端仓库其实没有页脚,
PortalFooter.vue 只存在于本地,HEAD 版 index.ts 也没引用它。
所以本次把页脚整套补齐,再叠加「按页面决定是否展示」的逻辑。

新增/改动
- .vitepress/theme/components/PortalFooter.vue(新增,274 行)
  品牌区 + 产品体系/文档资源/关于我们/联系我们四栏 + 二维码浮层 + 版权条
- .vitepress/theme/styles/portal.css:补入全部 .pf-foot-* 样式(508 行)
  只搬运页脚相关规则,不夹带工作区里其它未提交的样式改动
- .vitepress/theme/index.ts:挂载页脚 + 页面级显隐判定
- pages/projects/index.md:frontmatter 加 footer: false

页脚显隐判定(isDocPage)
「文档型页面不挂页脚」——这类页面有左侧目录树、右侧本页目录、
底部上一页/下一页翻页,读者正在阅读流里,450px 的品牌收尾区是纯噪音。
命中任一条件即隐藏:
  1) 路径 /projects/<id>/manual/...
  2) frontmatter 有 sidebar / outline / aside
  3) frontmatter 显式 footer: false

frontmatter 的 footer 可双向覆盖(这解决了 /projects/ 的困境):
  该页有 outline: deep,按上面的规则本会被判成文档页而隐藏页脚,
  但它本质是「浏览页」,需要显式 footer: false 才符合预期。
  同理 footer: true 可强制显示。

验证(干净 clone 构建后实测)
- /projects/        无页脚(footer=false,无版权条)
- /                  有页脚(453px,渐变背景正常)
- 文档页(详情/对比/快速开始/手册)均无页脚
- 自定义整页(关于/联系/演示/官方文档)均有页脚
2026-11-06 13:39:41 +08:00
Dai0814 dbe708511a feat(portal): 补入用户端首页截图(公开查卡入口)
mirror-to-gitee / mirror (push) Successful in 3s
原 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
Dai0814 07b8321d18 feat(portal): 移除教程模块(导航入口、教程中心页、三项目教程视频页)
mirror-to-gitee / mirror (push) Successful in 4s
按要求删除导航栏「教程」及整个教程模块。

删除内容
- 导航项「教程」(/guide/videos) 及其 activeMatch
- 侧边栏「教程中心」条目
- pages/guide/videos.md(教程中心页,76 行)
- pages/projects/{iotlcm,xiu-dtu,xiu-admin}/guide/tutorial.md(三份教程视频页,共 251 行)
- data/projects.ts 里三个项目的「教程视频」子页面登记

同步清理的引用(避免 404)
- pages/projects/iotlcm/index.md:“下一步”表格里的教程视频行
- pages/projects/iotlcm/guide/quickstart.md:“下一步”里的教程链接
- 4 个审计脚本里的教程路径:
  audit-band-offset.mjs / audit-layout.mjs / audit-sidebar-footer.mjs / render-check.mjs
- 注释里「教程等」的措辞

保留的内容(与本次无关,未动)
- DemoVideo.vue 及其 data/demo.ts 里的 demoVideos:
  那是「系统演示」页里的 BV 号外链卡片,不是教程栏目
- compare.md 里「录屏教程」对比维度:属于竞品对比表的正常描述

验证
- 导航实测 8 项:首页/系统演示/产品功能/核心能力/界面预览/项目/官方文档/联系我们,无「教程」
- 侧边栏实测仅「门户部署」
- 干净副本构建成功,产物中无 tutorial/videos 文件
- 断链检查:失效项里无一条与教程相关
- check-registry 与 check-nav-brand 通过
2026-11-06 11:56:25 +08:00
Dai0814 502dc35a9b feat(portal): 补入界面预览实拍图,替换达量断网为空表的旧图
mirror-to-gitee / mirror (push) Successful in 4s
原先 previewShots 全部是空 file(占位框),截图文件本身也从未提交过,
所以线上界面预览区块一直是占位状态。

本次
- 替换达量断网截图为有数据的版本:原图是空表(显示"暂无数据"),
  与图注「状态查询与批量导出」不符;新图含 5 条记录 1859×890
- 新图实为 PNG,初版按原 .jpg 后缀保存会导致 Content-Type 错标,
  已改为 web-cutoff.png 并同步引用
- 一并提交其余 6 张已被 previewShots 引用的实拍图
  (工作台 / 业务受理 / 卡信息列表 / 智能诊断 / 执行日志 / 我的),
  否则引用会 404
- 重写 screenshots/README.md:原命名约定与实际文件完全不符,
  改为列出当前实际使用清单 + 格式自检脚本

如实标注的缺口
- 小程序端只有「我的」1 张实拍图,其余 4 条(首页 / 卡片详情 /
  业务办理 / 智能诊断)保持空占位。原先 5 条全部复用 app-profile.jpg,
  会让图注与图片不符,已改回占位等补图

验证
- 浏览器实测:6 个缩略图图注正确,主图 naturalWidth=1859、complete=true
- 切换小程序端正常显示「我的」页,其余 4 条显示占位框
- 全部图片格式与后缀一致(PNG/JPG 逐一校验)
2026-11-06 09:28:26 +08:00
技小云 8b4ba9bb7c docs(tutorial): V2 使用教程分镜按后台真实菜单重写,补单支视频录制要点
mirror-to-gitee / mirror (push) Successful in 3s
2026-11-05 13:05:00 +08:00
技小云 a6eb3ffc98 feat: 教程中心页与三项目教程视频清单(8 支视频含分镜)
mirror-to-gitee / mirror (push) Successful in 6s
2026-11-05 11:54:21 +08:00
Dai0814 6944652966 fix(portal): 官方文档导航直接跳文档站,不再停在本站锚点
mirror-to-gitee / mirror (push) Successful in 3s
原先导航「官方文档」指向 /#docs(首页内的文档区块),
用户期望点它直接进 http://open.5iot.com:5051/docs/。

改动
- 导航项改为外链 http://open.5iot.com:5051/docs/,
  带 target=_blank 与 rel=noopener,新开标签页不打断阅读
- 首页 hero 的「官方文档」按钮同样改为外链直跳
- 文档站地址收敛为单一来源:data/content.ts 导出 DOCS_BASE / DOCS_HOME,
  可用环境变量 DOCS_BASE 覆盖;config.mts 与 HomePage.vue 都引用它,
  消除原先三处硬编码
- 首页的「官方文档」区块(#docs)保留,仍是各手册入口的聚合卡片

验证
- 导航渲染实测:href=http://open.5iot.com:5051/docs/, target=_blank
- 点击实测:新开标签页到目标地址,原页面 URL 不变
- 锚点项高亮不受影响(点「产品功能」仍正常变蓝)
- 构建 13 页 262 引用 0 失效
2026-11-04 15:36:04 +08:00
Dai0814 9955e830ce refactor(portal): 对齐 facms.cn 架构,区块顺序归位并撤掉深色块
mirror-to-gitee / mirror (push) Successful in 4s
对比 https://www.facms.cn 后调整三处结构性差异:

1. 顺序归位
   参考站是「产品功能 → 核心能力」,先讲做什么再讲凭什么。
   上一版我把核心能力提到前面并染成深色,属于人为制造差异。
   现在改回:项目 → 产品功能 → 核心能力 → 界面预览。

2. 撤掉深色块
   参考站全程浅色,靠留白与间距分段,没有深色区块打断。
   移除 .p-section--deep 的使用,核心能力回归 p-section--alt 浅灰,
   与前后白底交替,和整站色阶统一。
   (样式定义保留,后续需要强调区块时可用。)

3. 核心能力改标签切换
   参考站核心能力是一条「通用特性」+ 9 个产品分组的标签切换。
   新增 abilityGroups:通用底座 / iotLCM / 秀杰 DTU / XiuAdmin 四组,
   每组 6 项,复用 CapabilityTabs(加 source="home" 与 cols 参数)。
   替代原先 8 张平铺卡片。

4. 产品功能密度对齐
   参考站产品功能 9 张卡各带 6 项功能点。原先我们只有 3 张卡
   (每条产品线一张),信息密度偏低。
   拆成 9 张:卡与库存 / 通道与上游 / 资费与计费 / 组织与账号 /
   生产与研发 / 代理与客户 / 设备接入 / 中后台底座 / 开发效率。

验证
- 构建 13 页,274 条引用 0 失效
- 浏览器实测区块顺序:hero → projects → features → core → preview
  → foundation → how → docs → cta,无 .p-section--deep 残留
- 产品功能 9 卡、核心能力 4 标签每标签 6 卡
- 移动端 390px 无横向溢出
2026-11-04 14:42:35 +08:00
Dai0814 ccb3f5e39a feat(portal): 首页补齐产品功能、核心能力、界面预览、官方文档四个区块
mirror-to-gitee / mirror (push) Successful in 4s
用户反馈首页缺产品功能、核心能力与界面预览,且没有官方文档入口。

新增区块
- 产品功能:三条产品线(iotLCM / 秀杰 DTU / XiuAdmin),
  每条列 6 项能力,卡片底部直达详情页
- 核心能力:8 张带标签的卡片,讲工程层面的硬指标
  (部署、接入、开放、治理、韧性、交付、数据、维护),
  与"产品功能"区分开:前者是做什么,后者是凭什么能用住
- 界面预览:ScreenshotPreview 组件,Web 管理端 / 小程序端两组标签切换,
  首屏大图 + 缩略图条,带浏览器窗口装饰
- 官方文档:6 个入口卡片(文档中心、Web 手册、小程序手册、部署手册、
  OpenAPI 合同、门户部署说明),外链自动加 target=_blank

界面预览的占位机制
- previewShots 里 file 留空时渲染带图注的占位框,不报错、不影响构建
- 补图只改 file 字段,组件无需改动
- 新增 pages/public/screenshots/README.md 写清命名、尺寸、脱敏要求

导航
- 增加产品功能、核心能力、界面预览、官方文档四个锚点项
- 窄屏(≤860px)隐藏中间三个锚点项,避免挤压

验证
- 构建 13 页,208 条引用 0 失效
- 浏览器实测:7 个导航项、5 个 section 锚点齐全
- 移动端 390px 无横向溢出
- 文档站 5 个外链地址均实测 200 可达
2026-11-04 14:27:48 +08:00
Dai0814 ac1354da9e 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)已截图核对,无横向溢出
2026-11-04 14:13:50 +08:00
技小云 fafc743387 fix: 并入旧骨架独有价值内容,修 favicon 落地路径与过渡形态绑定
mirror-to-gitee / mirror (push) Successful in 21s
- 旧骨架的方案对比页移到 projects/iotlcm/compare.md,站内链接与侧边栏同步
- 旧骨架的功能矩阵与边界段并入 iotlcm 详情页;社区页独有内容并入 about.md
- favicon 移到 pages/public/(vitepress 的 publicDir 相对 srcDir 解析,原位置不落地)
- compose 绑定地址参数化:默认 127.0.0.1,NAT 转发需 PORTAL_BIND_ADDR=0.0.0.0
- 两种形态构建产物站内链接自检均无死链
2026-11-04 12:11:29 +08:00
技小云 fe63dacae2 feat: 开源项目门户站首版(iotLCM / 秀杰 DTU / XiuAdmin 三项目,注册表驱动) 2026-11-04 11:08:47 +08:00