数字化运维系统三端功能操作流程
本文档说明 Web 管理端、App 移动端、后端服务 在近期已实现功能上的协作关系与操作步骤,便于实施、测试与运维人员对照使用。
三端角色说明
| 端 | 工程目录 | 主要使用者 | 职责 |
|---|---|---|---|
| Web 管理端 | dmsysr-frontend | 租户管理员、调度员 | 配置 AI 模型、维护设备与标签、管理工单与用户头像等 |
| App 移动端 | DMsysGApp | 现场运维人员 | 扫码/NFC 查设备、查看/填报工单、AI 对话附图诊断、修改个人头像 |
| 后端服务 | dmsysr-backend | 系统(自动) | 提供 REST API、存储业务数据、解析头像 OSS、对接大模型 |
一、AI 智能对话与附图多模态诊断
现场人员可通过 AI 助手进行文字问答,并拍照或从相册选择图片,由大模型进行多模态分析。
1.1 Web 管理端(前置配置)
菜单路径: 设备运维 → AI 模型配置
操作步骤:
- 使用租户管理员账号登录 Web 管理端。
- 进入「AI 模型配置」页面。
- 填写并保存:
- API 地址(OpenAI 兼容接口 Base URL)
- API Key
- 模型名称(需支持 Vision/多模态)
- 系统提示词(运维领域约束)
- 启用状态
- 点击「测试连接」确认配置可用后,点击「保存」。
配置按租户隔离,App 登录后通过
GET /api/ai/provider-config拉取,无需在 App 内填写 Key。
相关权限: dmsys:aiConfig:query、dmsys:aiConfig:edit
数据库: 表 dms_ai_provider_config(增量脚本见 deploy/sql/06_dmsys_ai_config_upgrade.sql)
1.2 App 移动端
入口: 工作台 → AI 诊断,或「我的」→ AI 助手
文字对话:
- 打开 AI 助手页面。
- 在底部输入框输入故障现象、报警代码或问题描述。
- 点击发送,等待 AI 回复(支持多轮对话与历史会话)。
附图多模态诊断:
- 点击输入框左侧 相机(附图) 图标。
- 在弹窗中选择:
- 拍照:授权相机权限后拍摄现场照片;或
- 相册:从系统相册选择图片。
- 确认输入区上方出现附图预览(可点击 × 移除)。
- 输入补充说明(也可仅发送图片),点击 发送。
- AI 将结合图片与文字进行诊断分析。
离线说明: 未配置租户 AI 或未联网时,自动降级为本地知识库话术(含附图场景的离线回复模板)。
1.3 后端服务
| 接口 | 方法 | 说明 |
|---|---|---|
/api/ai/provider-config | GET | App 拉取当前租户 AI 配置(需登录) |
OpenAI 兼容 chat/completions | — | App 直连配置的模型地址,请求体含 image_url Base64 附图 |
数据流:
Web 保存 AI 配置 → dms_ai_provider_config
↓
App 登录后拉取配置 → OpenAiCompatibleClient.chatCompletion(imageBitmap=...)
↓
大模型返回文本 → 写入本地会话表 chat_messages
二、设备扫码 / NFC 识别与工单查询
运维人员通过扫码或手动输入编码定位设备,并在设备详情中查看、筛选关联工单。
2.1 Web 管理端(前置配置)
2.1.1 维护设备与标签
菜单路径: 设备运维 → 设备台账
操作步骤:
- 新增或编辑设备节点(场站 / 系统 / 机组 / 单元等)。
- 在设备详情抽屉中找到 资产标签 区域。
- 新增标签:
- 类型选择 QR(二维码) 或 NFC;
- 可点击「生成编码」自动分配
tagCode,或手工录入; - 保存后与该设备绑定。
- 将二维码打印贴附到现场设备,或写入 NFC 标签。
相关权限: 设备台账增删改查权限
2.1.2 工单管理(可选)
菜单路径: 设备运维 → 运维工单
管理员可在 Web 端创建、分派、执行、关闭工单,并指定关联设备。App 端按设备 ID / 设备名称关联展示。
2.2 App 移动端
2.2.1 扫码 / 输入编码查设备
入口: 工作台 → 扫码/NFC
操作步骤:
- 进入扫码页面,授权相机权限。
- 对准现场二维码扫描;或在下方输入框 手工输入标签编码 后确认。
- 系统解析标签,跳转至 设备详情 页。
2.2.2 设备详情 — 工单 Tab
入口: 设备详情 → 工单 标签页
默认行为:
- 展示该设备 最近 10 条 工单;
- 按 日期倒序 排列;
- 每条工单显示:标题、日期、状态、工单类型。
筛选与排序:
- 点击 筛选条件 栏可展开/收起筛选面板(默认收起)。
- 展开后可设置:
- 起始日期 / 截止日期(未选显示「不限」);
- 工单状态:全部 / 待处理 / 处理中 / 已完成 / 已关闭 / 已延期。
- 点击 倒序 / 正序 按钮切换日期排序(收起筛选时也可操作)。
- 有筛选条件时显示「已筛选」标签,可点击 重置筛选 恢复默认。
- 点击工单项:
- 进行中工单 → 进入分步填报表单继续处理;
- 已结案工单 → 进入工单只读详情。
其他 Tab: 设备详情、图纸、资料、创建运维工单等入口同屏提供。
2.3 后端服务
| 接口 | 方法 | 说明 |
|---|---|---|
/api/tags/{tagCode} | GET | 根据二维码/NFC 编码解析目标设备 |
/api/equipment/{id}/work-orders | GET | 按设备 ID 查询工单列表(Web/App 管理端) |
/api/work-orders | GET | 工单列表(支持 phase 等参数) |
App 本地逻辑:
- 优先按
equipmentId匹配工单; - 若无 ID 匹配,则按
deviceName回退匹配; - 筛选、排序、默认 10 条限制在 App 端
WorkOrderQueryHelper完成。
三、用户头像管理
支持管理员在 Web 端为用户预设头像,App 用户登录后自动展示,并可在 App 内自行更换。
3.1 Web 管理端
3.1.1 管理员为用户设置头像
菜单路径: 系统管理 → 用户管理
操作步骤:
- 找到目标 APP 用户(用户类型为 App 用户)。
- 编辑用户,上传头像图片并保存。
- 头像文件存入 OSS/本地存储(
avatar分类),sys_user.avatar字段保存 OSS ID。
3.1.2 当前登录用户修改自己的头像
入口: 右上角头像 → 个人中心
操作步骤:
- 点击头像进入裁剪弹窗。
- 选择图片 → 裁剪 → 确认上传。
- 调用
POST /system/user/profile/avatar(字段名avatarfile)。
3.2 App 移动端
入口: 「我的」→ 点击账户卡片 → 账户信息
查看头像:
- 登录成功或进入「我的 / 账户信息」时,自动调用
GET /api/auth/me拉取最新用户信息(含avatarUrl)。 - 优先展示服务端返回的头像 URL;离线访客模式使用本机缓存。
更换头像:
- 进入「账户信息」页面。
- 点击 头像 或右下角 相机图标。
- 从相册选择图片(
image/*)。 - 上传成功后 Toast 提示「头像已更新」,各页面头像同步刷新。
离线模式: 头像仅写入本机 files/avatars/{userId}.jpg,不上传服务器。
3.3 后端服务
| 接口 | 方法 | 说明 |
|---|---|---|
/api/auth/me | GET | 获取当前登录 App 用户信息(含解析后的 avatarUrl) |
/api/auth/me/profile | PUT | 更新 App 用户资料 |
/api/auth/me/avatar | POST | 上传头像,multipart 字段名 file |
/system/user/profile/avatar | POST | Web 个人中心上传,字段名 avatarfile |
头像 URL 解析逻辑(App 兼容层):
sys_user.avatar存 OSS 主键;- 返回给 App 前通过
ISysOssService.listByIds()解析为可访问路径(如/profile/files/{tenant}/avatar/xxx.jpg); - 静态路径
/profile/files/**已加入安全白名单,App 可直接加载。
App 端兼容: 若历史数据中 avatarUrl 仍为纯数字 OSS ID,客户端会自动拼接 /resource/oss/download/{id} 作为回退地址。
四、端到端协作总览
flowchart TB subgraph Web["Web 管理端"] W1[配置 AI 模型] W2[维护设备与 QR/NFC 标签] W3[管理运维工单] W4[设置用户头像] end subgraph Backend["后端服务"] B1[(dms_ai_provider_config)] B2[(dms_asset_tag / 设备)] B3[(dms_work_order)] B4[(sys_user + sys_oss)] API[/api/* 兼容层/] end subgraph App["App 移动端"] A1[AI 对话 + 附图] A2[扫码/NFC → 设备工单] A3[查看/更换头像] end W1 --> B1 --> A1 W2 --> B2 --> A2 W3 --> B3 --> A2 W4 --> B4 --> A3 API --> App Web --> API
五、部署与验证清单
5.1 数据库
| 脚本 | 用途 |
|---|---|
deploy/sql/04_dmsys.sql | 全量业务表 |
deploy/sql/05_dmsys_menu.sql | 菜单与权限 |
deploy/sql/06_dmsys_ai_config_upgrade.sql | AI 配置表及菜单增量 |
5.2 服务启动顺序
- 启动 MySQL / Redis 等依赖;
- 启动
dmsysr-backend(JAR 或 Docker); - 部署
dmsysr-frontend静态资源(Nginx); - 安装 / 更新
DMsysGApp,确认BACKEND_BASE_URL指向正确网关。
5.3 功能验证要点
| 功能 | Web | App | 后端 |
|---|---|---|---|
| AI 附图诊断 | 已配置且启用的 AI | 选图发送后有回复 | /api/ai/provider-config 返回 enabled=1 |
| 设备工单筛选 | 已为设备创建工单 | 扫码进设备 → 工单 Tab 筛选/排序 | 标签解析 /api/tags/{code} 正常 |
| 头像 | 用户管理已上传头像 | 登录后「我的」可见;可相册更换 | /api/auth/me 返回非空 avatarUrl |
六、相关源码索引
| 功能 | App | Web | 后端 |
|---|---|---|---|
| AI 对话附图 | AiHelperScreen.kt、OpenAiCompatibleClient.kt | dms/ai-config/index.vue | DmsAiConfigService、06_dmsys_ai_config_upgrade.sql |
| 设备工单 | EquipmentDetailScreen.kt、EquipmentWorkOrdersTab.kt | dms/workorder/index.vue、dms-equipment-tag-section.vue | DmsAppCompatController、IDmsTagService |
| 用户头像 | UserAvatar.kt、AccountSettingsScreen.kt | user-center/modules/user-avatar.vue、system/user | DmsAppAuthServiceImpl.uploadAvatar、SysProfileController |
文档版本:与当前代码库实现保持一致。若菜单编码或 API 路径有变更,请以实际部署环境为准。

