Sana Sana
首页
  • 项目介绍

    • 项目介绍
    • 结构说明
    • 后续计划
  • 环境搭建

    • 配置maven
    • 安装JDK17
    • 安装Node.JS
    • 安装Redis
    • 安装Mysql
    • 安装Tdengine
    • 安装MinIO
  • 本地运行

    • 运行后端
    • 运行前端
  • 服务部署

    • 简单部署
  • 操作说明

    • 设备维护
    • 接入管理
    • 规则编排
    • 大屏管理
    • 摄像头管理
  • 使用案例

    • 模拟单个设备接入案例
    • 模拟边缘程序设备接入案例
演示地址
问题反馈
GitHub (opens new window)
首页
  • 项目介绍

    • 项目介绍
    • 结构说明
    • 后续计划
  • 环境搭建

    • 配置maven
    • 安装JDK17
    • 安装Node.JS
    • 安装Redis
    • 安装Mysql
    • 安装Tdengine
    • 安装MinIO
  • 本地运行

    • 运行后端
    • 运行前端
  • 服务部署

    • 简单部署
  • 操作说明

    • 设备维护
    • 接入管理
    • 规则编排
    • 大屏管理
    • 摄像头管理
  • 使用案例

    • 模拟单个设备接入案例
    • 模拟边缘程序设备接入案例
演示地址
问题反馈
GitHub (opens new window)
  • 操作说明

    • 设备维护
    • 接入管理
    • 规则编排
    • 大屏管理
      • go-view平台
      • 演示效果
      • 注意:
    • 摄像头管理
  • 使用案例

  • 使用说明
  • 操作说明
lyl-xf
2025-06-02
目录

大屏管理

# 大屏管理

# go-view平台

  1. 大屏展示使用了go-view,项目地址项目地址为:go-view (opens new window),这里我是使用了master-fetch分支,可以查看go-view项目文档,里面有整合的案例与后端项目。

  2. 因为go-view提供的后端也是使用的satoken作为权限认证的,所以整合起来也比较容易。

  3. 整合方式为:借鉴了go-view-serve的保存、发布方式,然后进行了接口重写。使得go-view可以直接与sana通信,通过携带的token信息进行认证,权限校验由本项目通过satoken来实现。 接口实现可以看sana的后端代码,接口路径一直是/api/go-view/**,尽量兼容goviwe的请求地址:

  4. goview稍微修改了以下内容:

(1)我关闭了白名单校验

(2)增加了对url中token参数处理

(3)goview请求地址修改

5.最后要修改sana-web的配置文件增加goview的部署地址信息,实现从sana中的浏览器的窗口跳转,查看大屏信息

6.整体思路:

(1)将goview的请求地址修改为sana后端的请求地址,并增加对url中token参数的处理。

(2)通过对url中携带的token的处理,使得在获取大屏信息的时候将携带url中的token,从而实现权限认证(不在进行登录认证)

(3)如果没有对应的权限,则不允许操作:

(4)除了以上,未对goview进行其他任何代码的修改,核心是将goview与sana-web两个前端项目实现独立部署,互不干扰。 两者通过token进行关联,从sana-web页面中使用windows.open的方式进行弹出一个新的窗口,展示goview相关的数据。

7.部署方式:

使用nginx进行代理。

根据官网的信息将go-view打包后,配置ngix进行代理:

我是这么做的代理,仅供参考:

# 演示效果

1、演示效果:这里我只给了修改的权限

  • 点击大屏设置菜单

  • 可以看到页面跳转,并且携带了token信息。

  • 点击编辑菜单。

  • 可以看到页面跳转,

  • 因为只给了修改权限,所以这个页面中的其他保存、发布等功能性的接口,无法使用。 举例说明:如果点击保存,会请求后端接口,但是这个用户认证的token没有保存的权限,所以后端会不允许请求,这样就限制了前端使用。方法有点low,如果有更好的方式欢迎一起交流

2、展示大屏内容

  • 在大屏展示菜单中,发布的且有数据权限的用户可以看到大屏列表,

  • 点击查看,就会展示出来发布后的链接,同样的也是通过token进行校验的

# 注意:

本项目是使用goview,不是二开goview。是将goview作为一个独立的服务,然后通过token进行联系。

对goview整合与对ZLMediaKit两者的整合方式基本类似,两者都是将项目独立部署。

上次更新: 2025/06/18
规则编排
摄像头管理

← 规则编排 摄像头管理→

最近更新
01
摄像头管理
11-02
02
项目介绍
06-02
03
后续计划
06-02
更多文章>
Theme by Vdoing | Copyright © 2024-2025 lyl-xf | Apache 2.0 License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式