2025-06-30 09:38:03 +08:00

119 lines
3.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<link rel="icon" href="/DataV/favicon.ico">
<script src="/DataV/components.js"></script>
<script src="/DataV/config.js"></script>
<script src="/DataV/index.js"></script>
<script src="/DataV/view.js"></script>
<link rel="stylesheet" href="/DataV/cdn/iconfont/iconfont.css">
<link rel="stylesheet" href="/DataV/cdn/animate/3.5.1/animate.css">
<link rel="stylesheet" href="/DataV/cdn/element-plus/2.3.3/index.css">
<link rel="stylesheet" href="/DataV/cdn/avue/3.2.16/index.css">
<link rel="stylesheet" href="/DataV/lib/style.css">
<script src="./cdn/qrious.min.js"></script>
<script src="./cdn/jquery.min.js"></script>
<script src="/DataV/cdn/echarts/5.4.0/echarts.min.js"></script>
<script src="/DataV/cdn/echarts-wordcloud.min.js"></script>
<script src="/DataV/cdn/echarts-gl.min.js"></script>
<script src="/DataV/cdn/vue/3.2.47/vue.global.min.js" charset="utf-8"></script>
<script src="/DataV/cdn/axios/1.3.6/axios.min.js" charset="utf-8"></script>
<script src="/DataV/cdn/element-plus/2.3.3/index.full.min.js"></script>
<script src="/DataV/cdn/avue/3.2.16/avue.min.js"></script>
<script src="https://cdn.staticfile.org/FileSaver.js/2014-11-29/FileSaver.min.js"></script>
<script src="https://cdn.staticfile.org/xlsx/0.18.2/xlsx.full.min.js"></script>
<script src="/DataV/lib/index.umd.js?v=222"></script>
<title>JNPF数据大屏</title>
<style>
* {
padding: 0;
margin: 0;
}
body,
html,
#app {
height: 100%;
}
</style>
<script>
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
function computedUrl (baseUri, imgUri, staticUri = '/DataV') {
if (/^(http|https):\/\/([\w.]+\/?)\S*/.test(imgUri)) {
return imgUri;
}
if (/^(data)\S*/.test(imgUri)) {
return imgUri;
}
if (/^\/(DataV)\S*/.test(imgUri)) {
return imgUri;
}
if (/^\/(img)\S*/.test(imgUri)) {
return staticUri + imgUri;
}
if (/^\/(api)\S*/.test(imgUri)) {
return baseUri + imgUri;
}
if (/^\/(dev)\S*/.test(imgUri)) {
return imgUri;
}
return imgUri;
}
</script>
</head>
<body>
<div id="app">
<avue-data :id="id" :option="option"></avue-data>
</div>
<script>
var token = GetQueryString('token')
if (token) {
localStorage.setItem('token', token)
localStorage.setItem('Authorization', token)
}
axios.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
if (GetQueryString('isDev')) config.url = '/dev' + config.url;
config.headers['Authorization'] = token
return config
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
var app = Vue.createApp({
data() {
return {
id: GetQueryString('id'),
option: option
}
},
methods: {
},
})
app.config.globalProperties.computedImgUrl = (imgUri) => {
return computedUrl(GetQueryString('isDev')?"/dev":'' , imgUri, )
};
app.use(ElementPlus)
app.use(AVUE, { axios })
app.use(AvueData, { app })
app.mount('#app')
</script>
</body>
</html>