引入外部依赖集成示例

1、package.json引入相关依赖
“@dataview/engine”: “2.0.0-beta.7”,
“@dataview/plugin-tech”: “1.0.0-beta.1”,
Engine为引擎,plugin-tech为Dataview中的科技风元件,若不引入会造成使用了科技风元件的页面无法正确渲染。引入后,重新执行npm run init,进行依赖更新。
2、vite.config.js定义别名
resolve: {
alias: {
‘@’: path.resolve(__dirname, ‘src’),
‘vue-i18n’: ‘vue-i18n/dist/vue-i18n.cjs.js’,
‘@components’: ‘@robot/components/lib/components.es.js’,
‘@engine’: ‘@dataview/engine/lib/engine.es.js’,
‘@plugin-tech’: ‘@dataview/plugin-tech/lib/plugin-tech.es.js’,
}
},
3、main.js注册组件
import { dvBaseUrl, dvProject, dvTimeout } from ‘./config’
import Engine from ‘@engine’
import Plugin from ‘@plugin-tech’
import ‘@dataview/engine/lib/index.css’
import ‘@dataview/plugin-tech/lib/index.css’
// 引入dataview/engine
app.use(Engine, {
timeout: dvTimeout ? dvTimeout : 90000,
proxyTimeout: dvTimeout ? dvTimeout : 90000,
baseUrl: dvBaseUrl,
project: dvProject
})

// 引入dataview科技风扩展组件
app.use(Plugin, {
props: true
})

这里的dvBaseUrl, dvProject, dvTimeout如何定义及在哪里定义会在下面讲到。
4、增加Page渲染Dataview页面
Page.vue中引入Dataview引擎:
import { Render } from ‘@engine’
中使用引擎:
<render ref=“render” :layout-id=“layoutId” :data=“contextData” @loaded=“handleLoaded” @dialog=“handleDialogRequest” @request=“handleRequest” @open=“onOpenNewWindow”> {{ $t(‘page.errorPage’) }}

实例创建完成后(created)运行initOrigin方法,监测跳转路由,是否携带布局编号,若无则为固定页面,若有则为Dataview动态页面,则该页面将用DV引擎来渲染。
initOrigin(origin) {
if (!origin) {
console.warn(‘布局编号不能为空’)
this.layoutId = ‘’
return
}
if (origin.includes(‘/’)) {
this.isDynamicPage = false
this.origin = origin
} else {
this.isDynamicPage = true
this.layoutId = origin
}
},
路由监测,本项目固定菜单有三个,分别为device、monitor、control,其余路由皆为动态页面,跳转Page组件使用DV引擎渲染:
import Page from ‘…/views/page/Page.vue’

const router = createRouter({
history: createWebHistory(BASE_ROUTE),
routes: [
{ path: ‘/’, redirect: ‘/home’ },
{ path: ‘/login’, component: Login, meta: { authPage: true }},
{ path: ‘/home’,
component: Home, children: [
{ path: ‘’, component: () => import(‘@/views/device/Device.vue’) },
{ path: ‘/device’, component: () => import(‘@/views/device/Device.vue’) },
{ path: ‘/monitor’, component: () => import(‘@/views/monitor/Monitor.vue’) },
{ path: ‘/control’, component: () => import(‘@/views/control/Control.vue’) },
{ path: ‘/:catchAll(.)', component: Page }
]
},
{ path: '/:catchAll(.
)’, component: NotFound },
]
})
5、DV相关配置项
public/wcs.js定义DV相关配置项:
// DV通用配置
window.DV = {
// server: isDev ? ‘//10.114.46.136:8080’ : ‘’,
server: isDev ? ‘//10.114.46.134:9194’ : ‘’,
base: ‘/dataview’,
project: ‘wms’,
isDev: isDev,
timeout: 90000, // dataview相关数据源请求及代理请求超时时间
}
src/config.js中暴露项目常量配置:
export const dvBaseUrl = DV ? DV.server + DV.base : ‘’ // DataView地址
export const dvTimeout = DV && DV.timeout > 0 ? DV.timeout : 90000
export const dvProject = DV && DV.project ? DV.project : ‘*’
如此,上述main.js中便能获取到相关配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/10213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

历史人物数字人如何成为地方文化推广大使?

如今&#xff0c;文旅产业业态已经从“打卡式旅游”逐渐走向“体验型旅游”转变。数字人可以为游客提供情绪价值、引起情感共鸣的文化体验。不少文旅品牌通过打造历史人物数字人&#xff0c;将城市民俗风情、非物质文化遗产等相结合&#xff0c;并且结合AI交互数字人的人机对话…

【C++】继承(上)(超详细,保证你学会)

什么是继承&#xff1f; 1.语法 1.1例子 通过这种方法&#xff0c;Student和Teacher这两个类就继承了Person的成员变量和成员函数&#xff0c;可以直接调用它们。 如图&#xff0c;如果成员变量和成员函数在基类中是公有的话就可以直接访问&#xff01;但如果是私有和保护的话就…

4种前端处理文本换行展示

序: 后端传递了一大段包含了回车符的文本内容,前端展示的时候所有文字堆在一起,没有换行展示。以下方法中content为后端返回的文本内容 方法一: “↵”符号在html中会识别别为\r,\n等转义字符,所以我们可以使用\r\n去替换(.replace(/(\r\n|\n|\r)/gm, ’< br />…

【FFmpeg】调用ffmpeg库进行RTMP推流和拉流

【FFmpeg】调用ffmpeg库实现RTMP推流 1.FFmpeg编译2.RTMP服务器搭建3.调用FFmpeg库实现RTMP推流和拉流3.1 基本框架3.2 实现代码3.3 测试3.3.1 推流3.3.2 拉流 参考&#xff1a;雷霄骅博士, 调用ffmpeg库进行RTMP推流 示例工程 【FFmpeg】调用FFmpeg库实现264软编 【FFmpeg】…

/usr/bin/ld: cannot find -l<nameOfTheLibrary>

在编译程序报了如下错误&#xff1a;/usr/bin/ld: cannot find -lmtcr_ul: No such file or directory 他的命名规则时"lnameOfTheLibrary"&#xff0c;所以我缺少一个mtcr_ul相关的库 问题原因 根本原因&#xff1a;还是某一个lib库文件不存在&#xff0c;你可以通…

SpringAMQP Work Queue 工作队列

消息模型: 代码模拟: 相较于之前的基础队列&#xff0c;该队列新增了消费者 不再是一个&#xff0c;所以我们通过代码模拟出两个consumer消费者。在原来的消费者类里写两个方法 其中消费者1效率高 消费者2效率低 RabbitListener(queues "simple.queue")public voi…

简化 KNN 检索【翻译】Simplifying kNN search

简化 KNN 检索 #转载 #大数据/ES #翻译 这篇文章是关于如何简化 k 最近邻&#xff08;k-Nearest Neighbors&#xff0c;简称 kNN&#xff09;搜索的深入探讨。以下是对全文的翻译(借助 kimi AI)&#xff1a; 在这篇博客文章中&#xff0c;我们将深入探讨我们为使 kNN 搜索的入…

mes系统业务学习

MES-生产溯源: 一物一码&#xff1a;一物一码&#xff0c;通过包装物或产品本身的条码追溯相关联原料、供应商、客户、订单、生产人员、生产过程、质检报告、售后等关键信息&#xff0c;覆盖产品全生命周期。精准质量追溯&#xff1a;通过采集扫描即时记录跟踪每一个关键信息&…

Arduino-ILI9341驱动开发TFT屏显示任意内容三

Arduino-ILI9341驱动开发TFT屏显示任意内容三 1.概述 这篇文章介绍使用ILI9341驱动提供的函数控制TFT屏显示字符串、图形、符号等等内容的编辑和展示。 2.硬件 2.1.硬件列表 名称数量Arduino Uno12.8" TFT彩色液晶触摸屏模块&#xff08;ILI9431&#xff09;110K 电阻…

SpringBootWeb 篇-深入了解请求响应(服务端接收不同类型的请求参数的方式)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 请求响应概述 1.1 简单参数 1.2 实体参数 2.3 数组集合参数 2.4 日期参数 2.5 json 参数 2.6 路径参数 3.0 完整代码 1.0 请求响应概述 当客户端发送不同的请求参…

Selenium定位方法及代码

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

中国1KM年相对湿度数据集1981-2020

大气相对湿度&#xff08;RH&#xff09;是气象/气候监测和研究的关键因素。然而&#xff0c;相对湿度在气候变化研究中的应用并不是很普遍&#xff0c;部分原因是相对湿度观测系列容易由于观测系统中的非气候变化而产生不均匀偏差。 该数据集是中国1km分辨率年相对湿度数据&am…

使用依赖注入(DI)的方式实现对冗余代码的解耦

1.1、优化前代码 GetMapping("/test") public void test(RequestParam("params") String params){if("1".equals(params)){// 逻辑代码}if("2".equals(params)){// 逻辑代码}if("3".equals(params)){// 逻辑代码} }1.2、优…

『大模型笔记』Google DeepMind and Isomorphic Labs联合发布AlphaFold 3!

Google DeepMind and Isomorphic Labs联合发布AlphaFold 3! 文章目录 一. Google DeepMind and Isomorphic Labs联合发布AlphaFold 3!AlphaFold 3 及其后续研究总结视频中提到的局限性AlphaFold Server结论二. 参考文献中文字幕视频链接,欢迎关注我的xhs账号:Google CEO 皮…

【MsSQL】数据库基础 库的基本操作

目录 一&#xff0c;数据库基础 1&#xff0c;什么是数据库 2&#xff0c;主流的数据库 3&#xff0c;连接服务器 4&#xff0c;服务器&#xff0c;数据库&#xff0c;表关系 5&#xff0c;使用案例 二&#xff0c;库的操作 1&#xff0c;创建数据库 2&#xff0c;创建…

华为配置Ethernet over GRE实现AC与无线网关之间的二层互通

华为配置Ethernet over GRE实现AC与无线网关之间的二层互通 组网图形 图1 通过Ethernet over GRE实现AC与无线网关之间的二层互通的组网图 组网需求数据规划配置思路操作步骤配置文件 组网需求 如图1所示&#xff0c;某企业通过无线网络为用户提供上网服务&#xff0c;其中A…

探索静态住宅代理IP:网络安全的隐形守护者

在当今这个数字化高速发展的时代&#xff0c;网络安全问题愈发凸显其重要性。无论是企业级的网络运营&#xff0c;还是个人用户的网络活动&#xff0c;都需要一个安全、稳定的网络环境。而在这个环境中&#xff0c;静态住宅代理IP以其独特的优势&#xff0c;逐渐成为了网络安全…

Java——类与对象

目录 一、面向对象的初步认识 1.1 什么是面向对象 1.2 面向对象与面向过程 二、类的定义与使用 2.1 简单认识类 2.2 类的定义格式 三、类的实例化 3.1 什么是实例化 3.2 类和对象的说明 四、this引用 4.1 为什么要有this引用 4.2 什么是this引用 ​编辑 4.3 this引用…

鸿蒙OpenHarmony:【常见编译问题和解决方法】

常见问题 常见编译问题和解决方法 鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 提示“usr/sbin/ninja: invalid option -- w” 现象描述&#xff1a; 编译失败&#xff0c;提示“usr/sbin/ninja: invalid…

GO: 定时器NewTimer、NewTicker 和time.After

Go 之iota iota是一个常量计数器&#xff0c;一般在常量表达式中使用&#xff0c;可以理解为const定义常量的行数的索引&#xff0c;注意是行数 使用场景 主要应用在需要枚举的地方 示例1 package main import "fmt" const (NoPay iota // 订单未支付 0Pai…