星澈牧羽 · 运营管理平台
🔐
正在验证登录状态...

{{ pageTitle }}

修改密码 退出登录
{{ stats.cases }}
案例数量
{{ stats.products }}
产品数量
{{ stats.categories }}
案例分类
{{ stats.panoramas }}
全景场景
{{ stats.messages }}
未处理留言

1. 案例管理:添加广告、安防、保洁三大业务的案例信息

2. 全景图管理:上传 360° 全景图,展示案例应用场景

3. 关联展示:在案例管理中为案例关联对应的全景图

4. 留言管理:查看客户在线咨询,标记处理状态

+ 添加 Banner
📤 上传小程序码图片
提示:登录微信公众平台 → 扫码小程序码生成 → 下载图片后上传
暂无小程序码
保存首页配置
全部 {{ c.name }}
+ 新增产品
上架中 已下架
{{ item.name }}
{{ getCategoryName(item.categoryId) }} {{ item.price || '-' }}
编辑 删除
+ 新增分类
+ 新增全景图
📷
拖拽文件到此处或 点击上传
格式: JPG / PNG / WebP / GIF
大小: ≤ 5MB
{{ uploadResults.image }}
🎬
拖拽文件到此处或 点击上传
格式: MP4 / MOV / WebM
大小: ≤ 100MB
{{ uploadResults.video }}
🌍
拖拽文件到此处或 点击上传
格式: JPG / PNG / WebP
大小: ≤ 100MB
建议: 分辨率 4096×2048 或更高
{{ uploadResults.panorama }}
全部 未分组 {{ g.name }} ({{ g.count }}) + 新建分组
已选 {{ selectedFiles.length }} 项,移动到: 选择分组 ▾ 取消选择
暂无图片
{{ file.originalName }}
{{ (file.size / 1024).toFixed(1) }} KB {{ (mediaGroups.images.find(g => g.id === file.groupId) || {}).name || '' }}
复制 删除
全部 未分组 {{ g.name }} ({{ g.count }}) + 新建分组
已选 {{ selectedFiles.length }} 项,移动到: 选择分组 ▾ 取消选择
暂无视频
🎬
{{ file.originalName }}
{{ (file.size / 1024).toFixed(1) }} KB {{ (mediaGroups.videos.find(g => g.id === file.groupId) || {}).name || '' }}
复制 删除
全部 未分组 {{ g.name }} ({{ g.count }}) + 新建分组
已选 {{ selectedFiles.length }} 项,移动到: 选择分组 ▾ 取消选择
暂无全景图
{{ file.originalName }}
{{ (file.size / 1024).toFixed(1) }} KB {{ (mediaGroups.panoramas.find(g => g.id === file.groupId) || {}).name || '' }}
复制 删除
+ 新建分组
删除分组不会删除文件,组内文件自动移入「未分组」。
全部 未处理 已处理
将显示在小程序首页品牌栏和分享标题中
📤 上传位置图片
建议上传公司门面/办公地点照片,或高德/百度地图截图(含位置红标)
暂无位置图片
保存公司信息
🖥️
Node.js 版本
{{ opsStatus?.nodeVersion || '--' }}
💾
数据库
{{ opsStatus?.database?.size || '--' }}
{{ opsStatus?.database?.totalRecords || 0 }} 条记录
💿
备份
{{ opsStatus?.backups?.count || 0 }} 份
最新 {{ opsStatus?.backups?.latest || '无' }}
⚡
服务状态
{{ opsStatus?.pm2?.[0]?.status === 'online' ? '运行中' : '异常' }}
Nginx {{ opsStatus?.nginx === 'active' ? '正常' : opsStatus?.nginx || '未知' }}
内存
{{ opsStatus?.memory?.total || '--' }}
可用 {{ opsStatus?.memory?.free || '--' }}
磁盘
{{ opsStatus?.disk?.used || opsStatus?.disk?.total || '--' }}
可用 {{ opsStatus?.disk?.free || '--' }}
总量 {{ opsStatus?.disk?.total || '--' }} ({{ opsStatus.disk.note }})
运行时长
{{ opsStatus?.uptime ? Math.floor(opsStatus.uptime/86400) + '天 ' + Math.floor((opsStatus.uptime%86400)/3600) + '时' : '--' }}
主机 {{ opsStatus?.hostname || '--' }}
运行环境
{{ opsStatus?.environment === 'production' ? '生产' : (opsStatus?.environment || '开发') }} 端口 {{ opsStatus?.port || 3000 }}
IP {{ opsStatus?.pm2?.[0]?.pid || '--' }} · PID
{{ table.count }} 条
{{ action.icon }}
{{ action.label }}
{{ action.desc }}
⏳
📦
暂无备份记录
立即创建备份
共 {{ backupList.length }} 份备份
➕ 新建备份 🗑️ 清理旧备份
⚠️ 警告

确定要从以下备份恢复吗?

{{ restoreTarget }}

恢复操作会覆盖当前数据库,但会先创建当前数据的安全快照。

{{ cmd.icon }}
{{ cmd.label }}
{{ cmd.command }}
📋
✓
{{ item.title }} 紧急 重要 常规
{{ item.desc }}
📋 {{ item.cmd }}
{{ item.title }} 紧急
{{ item.desc }}
📋 {{ item.cmd }}
全部标记已读 🔄 刷新
共 {{ alertTotal }} 条,未读 {{ unreadAlertCount }} 条
🔍 一键运维检查 🧹 清理临时文件 💾 下载数据库备份
{{ { ok: '正常', warning: '警告', critical: '严重', info: '信息' }[check.level] || check.level }} {{ check.item }} {{ check.suggestion }}
📋 {{ check.command }}
格式: JPG / PNG / WebP | 规格: 4:3 或 1:1 | 大小: ≤ 5MB
建议: 宽度 ≥ 600px
📁 从素材库选择
🖼️
拖拽封面图到此处或 点击上传
格式: MP4 (H.264) / MOV / WebM | 规格: 720p / 1080p | 大小: ≤ 100MB
📁 从素材库选择
🎬
拖拽视频到此处或 点击上传
格式: JPG / PNG / WebP | 数量: 建议 4-6 张 | 大小: 单张 ≤ 5MB
建议: 宽度 750px,高度自适应
📁 从素材库选择(可多选)
🗑️
+
点击/拖拽
关联后,案例详情页可查看对应 360° 全景场景
不展示 推荐 精选
📁 从素材库选择
用于产品详情页展示,可选
不展示 推荐 精选
格式: JPG / PNG / WebP | 规格: 1:1 或 4:3 | 大小: ≤ 5MB
建议: 宽度 ≥ 600px
📁 从素材库选择
🖼️
拖拽封面图到此处或 点击上传
格式: JPG / PNG / WebP | 数量: 建议 3-6 张 | 大小: 单张 ≤ 5MB
建议: 宽度 750px,高度自适应
📁 从素材库选择(可多选)
×
+
点击/拖拽
格式: JPG / PNG / WebP | 规格: Equirectangular 2:1 | 大小: ≤ 100MB
建议: 分辨率 4096×2048 或更高
📁 从素材库选择
🌍
拖拽全景图到此处或 点击上传
格式: JPG / PNG | 规格: 16:10 | 大小: ≤ 5MB
建议: 宽度 ≥ 600px
📁 从素材库选择
🖼️
拖拽缩略图到此处或 点击上传
删除热点
全部 未分组 {{ g.name }}
{{ isPicked(f.url) ? '✓' : '' }}
点击选择