This commit is contained in:
JayJiaJun 2025-05-22 15:34:21 +08:00
parent 225dc12f77
commit afdda263e6
10 changed files with 301 additions and 191 deletions

28
package-lock.json generated
View File

@ -27,6 +27,7 @@
"lamejs": "^1.2.1", "lamejs": "^1.2.1",
"mqtt": "^2.18.8", "mqtt": "^2.18.8",
"nipplejs": "^0.10.2", "nipplejs": "^0.10.2",
"qiankun": "^2.10.16",
"vant": "^4.9.5", "vant": "^4.9.5",
"vconsole": "^3.15.1", "vconsole": "^3.15.1",
"vue": "^3.2.13", "vue": "^3.2.13",
@ -8199,6 +8200,15 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/import-html-entry": {
"version": "1.17.0",
"resolved": "https://registry.npmmirror.com/import-html-entry/-/import-html-entry-1.17.0.tgz",
"integrity": "sha512-2SDsRlGlE8bqdnGqsOyiDPEWlzJR0jNW4LWopnZl5QE1Yd0nJ7fykWo2GaKUF7Jq7pR0g3dElhuJHyamTt1gPQ==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.7.2"
}
},
"node_modules/imurmurhash": { "node_modules/imurmurhash": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz",
@ -11277,6 +11287,18 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/qiankun": {
"version": "2.10.16",
"resolved": "https://registry.npmmirror.com/qiankun/-/qiankun-2.10.16.tgz",
"integrity": "sha512-Q3tSVUrPnzx8ckEOKIoPnhb5LE28FPKyan/r6jEuGJGqTbIy+3rp6E2/KfU82ZI4yZpef9LFTrnxdj49jAEsmw==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.10.5",
"import-html-entry": "^1.15.1",
"lodash": "^4.17.11",
"single-spa": "^5.9.2"
}
},
"node_modules/qs": { "node_modules/qs": {
"version": "6.13.0", "version": "6.13.0",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz", "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz",
@ -12015,6 +12037,12 @@
"url": "https://github.com/sponsors/isaacs" "url": "https://github.com/sponsors/isaacs"
} }
}, },
"node_modules/single-spa": {
"version": "5.9.5",
"resolved": "https://registry.npmmirror.com/single-spa/-/single-spa-5.9.5.tgz",
"integrity": "sha512-9SQdmsyz4HSP+3gs6PJzhkaMEg+6zTlu9oxIghnwUX3eq+ajq4ft5egl0iyR55LAmO/UwvU8NgIWs/ZyQMa6dw==",
"license": "MIT"
},
"node_modules/sirv": { "node_modules/sirv": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmmirror.com/sirv/-/sirv-2.0.4.tgz", "resolved": "https://registry.npmmirror.com/sirv/-/sirv-2.0.4.tgz",

View File

@ -27,6 +27,7 @@
"lamejs": "^1.2.1", "lamejs": "^1.2.1",
"mqtt": "^2.18.8", "mqtt": "^2.18.8",
"nipplejs": "^0.10.2", "nipplejs": "^0.10.2",
"qiankun": "^2.10.16",
"vant": "^4.9.5", "vant": "^4.9.5",
"vconsole": "^3.15.1", "vconsole": "^3.15.1",
"vue": "^3.2.13", "vue": "^3.2.13",

View File

@ -6,7 +6,7 @@
* @LastEditors: Andy * @LastEditors: Andy
* @LastEditTime: 2024-03-11 11:07:00 * @LastEditTime: 2024-03-11 11:07:00
*/ */
var MQTT_MODE = 0; var MQTT_MODE = 1;
function pageName() { function pageName() {
var a = location.href; var a = location.href;
@ -25,10 +25,10 @@ function MQTT_send(string) {
json_id = 0; json_id = 0;
} }
localStorage.setItem("json_id", json_id); localStorage.setItem("json_id", json_id);
let send_string = "{\"JSON_id\":" + json_id + ",\"board_id\":102"+",\"led_protocol\":" + string + "}"; let send_string = "JSON_id\":" + json_id + ",\"board_id\":102" + ",\"led_protocol\":" + string ;
console.log("MQTT 发送:" + send_string); console.log("MQTT 发送:" + send_string);
if (/xazn/.test(navigator.userAgent)||/uni-app/.test(navigator.userAgent)) { if (/xazn/.test(navigator.userAgent) || /uni-app/.test(navigator.userAgent)) {
uni.postMessage({ uni.postMessage({
data: { data: {
str: send_string str: send_string
@ -37,7 +37,7 @@ function MQTT_send(string) {
} else { } else {
//这里需要将string发送出去 //这里需要将string发送出去
window.parent.postMessage({ window.parent.postMessage({
str: send_string data: send_string
}, "*"); // 替换为Vue应用的URL }, "*"); // 替换为Vue应用的URL
} }
@ -51,16 +51,16 @@ function MQTT_json_send(string, protocol) {
} }
let send_string; let send_string;
localStorage.setItem("json_id", json_id); localStorage.setItem("json_id", json_id);
if(protocol=="sound_card"){ if (protocol == "sound_card") {
send_string = "{\"JSON_id\":" + json_id + ",\"board_id\":103"+ ",\"" + protocol + "\":" + string + "}"; send_string = "{\"JSON_id\":" + json_id + ",\"board_id\":103" + ",\"" + protocol + "\":" + string + "}";
}else{ } else {
send_string = "{\"JSON_id\":" + json_id + ",\"" + protocol + "\":" + string + "}"; send_string = "{\"JSON_id\":" + json_id + ",\"" + protocol + "\":" + string + "}";
} }
console.log("MQTT 发送:" + send_string); console.log("MQTT 发送:" + send_string);
if (/xazn/.test(navigator.userAgent)||/uni-app/.test(navigator.userAgent)) { if (/xazn/.test(navigator.userAgent) || /uni-app/.test(navigator.userAgent)) {
uni.postMessage({ uni.postMessage({
data: { data: {
str: send_string str: send_string
@ -109,3 +109,9 @@ function MQTT_recv(string) {
voice_reply_parse_fun(string); voice_reply_parse_fun(string);
} }
} }
window.addEventListener('message', function (event) {
console.log("接受的原始数据", JSON.stringify(event.data))
if (event.data) {
MQTT_recv(JSON.stringify(event.data)); // 保持与原 MQTT_recv 兼容
}
});

View File

@ -72,4 +72,37 @@ app.use(store).use(router).mount('#app');
window.VueRouter = router; // 这里立即暴露 router window.VueRouter = router; // 这里立即暴露 router
console.log("VueRouter 已暴露到全局"); console.log("VueRouter 已暴露到全局");
// qiankun
// let instance = null;
// function render(props = {}) {
// const { container } = props;
// instance = new Vue({
// render: (h) => h(App),
// }).$mount(container ? container.querySelector('#app') : '#app');
// }
// // 独立运行(非 Qiankun 环境)
// if (!window.__POWERED_BY_QIANKUN__) {
// render();
// }
// // Qiankun 生命周期
// export async function bootstrap() {
// console.log('[subapp] bootstrap');
// }
// export async function mount(props) {
// console.log('[subapp] mount', props);
// render(props);
// }
// export async function unmount() {
// console.log('[subapp] unmount');
// instance.$destroy();
// instance = null;
// }

View File

@ -331,17 +331,14 @@ export default {
} }
} }
const MQTT_send = (send_string) => { const MQTT_send = (send_string) => {
console.log("MQTT 发送:" + JSON.stringify(send_string)); console.log(" 向父页面发送消息:", JSON.stringify(send_string));
jsonId.value++; // 使 postMessage
if (/xazn/.test(navigator.userAgent) || /uni-app/.test(navigator.userAgent)) { window.parent.postMessage(
uni.postMessage({ {
data: { data: send_string
str: JSON.stringify(send_string) },
} '*' // origin
}); );
} else {
window.parent.postMessage({ str: JSON.stringify(send_string) }, "*");
}
}; };
const MQTT_recv = (string) => { const MQTT_recv = (string) => {
@ -371,8 +368,15 @@ export default {
onMounted(async () => { onMounted(async () => {
await checkEnvironment(); await checkEnvironment();
console.log(isLocal.value); console.log(isLocal.value);
window.MQTT_recv = MQTT_recv; // window.MQTT_recv = MQTT_recv;
window.addEventListener('message', function (event) {
// console.log("message",JSON.stringify(message))
//
console.log("接受的原始数据", JSON.stringify(event.data))
if (event.data) {
MQTT_recv(JSON.stringify(event.data)); // MQTT_recv
}
});
onRefresh(); onRefresh();
}); });
onBeforeUnmount(() => { onBeforeUnmount(() => {

View File

@ -11,17 +11,26 @@
</van-swipe> </van-swipe>
<div class="item-content"> <div class="item-content">
<van-cell-group inset> <van-cell-group inset>
<van-cell size="large" class="custom-cell" title="显示设置" icon="photo-o" is-link value="显示" @click="navigateTo('web/screen_main.html')" /> <van-cell size="large" class="custom-cell" title="显示设置" icon="photo-o" is-link value="显示"
<van-cell size="large" class="custom-cell" title="声卡设置" icon="volume-o" is-link value="语音" @click="goto('voiceset')" /> @click="navigateTo('web/screen_main.html')" />
<van-cell size="large" class="custom-cell" title="车牌识别" icon="search" is-link value="识别" @click="goto('recognition')" /> <van-cell size="large" class="custom-cell" title="声卡设置" icon="volume-o" is-link value="语音"
<van-cell size="large" class="custom-cell" title="预警设置" icon="warning-o" is-link value="预警" @click="goto('warning')" /> @click="goto('voiceset')" />
<van-cell size="large" class="custom-cell" title="远程喊话" icon="bullhorn-o" is-link value="喊话" @click="navigateTo('web/voice_copy.html')" /> <van-cell size="large" class="custom-cell" title="车牌识别" icon="search" is-link value="识别"
<van-cell size="large" class="custom-cell" title="小车控制" icon="logistics" is-link value="控制" @click="goto('CarControl')" /> @click="goto('recognition')" />
<van-cell size="large" class="custom-cell" title="预警设置" icon="warning-o" is-link value="预警"
@click="goto('warning')" />
<van-cell size="large" class="custom-cell" title="远程喊话" icon="bullhorn-o" is-link value="喊话"
@click="navigateTo('web/voice_copy.html')" />
<!-- <van-cell size="large" class="custom-cell" title="小车控制" icon="logistics" is-link value="控制"
@click="goto('CarControl')" /> -->
<!-- <van-cell size="large" class="custom-cell" title="小车控制" icon="car" is-link value="控制" @click="goto('TEST')" /> --> <!-- <van-cell size="large" class="custom-cell" title="小车控制" icon="car" is-link value="控制" @click="goto('TEST')" /> -->
<!-- <van-cell size="large" class="custom-cell" title="小车控制" icon="car" is-link value="控制" @click="goto('AudioPlay')" /> --> <!-- <van-cell size="large" class="custom-cell" title="小车控制" icon="car" is-link value="控制" @click="goto('AudioPlay')" /> -->
<van-cell size="large" class="custom-cell" title="网关设置" icon="desktop-o" is-link value="控制" @click="goto('GatewaySetting')" /> <van-cell size="large" class="custom-cell" title="网关设置" icon="desktop-o" is-link value="控制"
<van-cell size="large" class="custom-cell" title="路锥控制" icon="warning-o" is-link value="控制" @click="goto('ConeControl')" /> @click="goto('GatewaySetting')" />
<van-cell size="large" class="custom-cell" title="翻转屏遥控" icon="warning-o" is-link value="控制" @click="goto('flipScreen')" /> <van-cell size="large" class="custom-cell" title="路锥控制" icon="warning-o" is-link value="控制"
@click="goto('ConeControl')" />
<van-cell size="large" class="custom-cell" title="翻转屏遥控" icon="warning-o" is-link value="控制"
@click="goto('flipScreen')" />
</van-cell-group> </van-cell-group>
</div> </div>
</div> </div>
@ -66,6 +75,15 @@ export default {
onMounted(() => { onMounted(() => {
// window.addEventListener('message', function (event) {
// // console.log("message",JSON.stringify(message))
// //
// if (event.data ) {
// const thingsModels = event.data.data;
// console.log('Received thingsModels:', thingsModels);
// // thingsModels 使
// }
// });
}); });
return { return {
@ -99,7 +117,7 @@ export default {
.item-content { .item-content {
margin-top: 20px; margin-top: 20px;
} }
van-pull-refresh { van-pull-refresh {
@ -128,7 +146,8 @@ van-pull-refresh {
.custom-cell .van-cell__label, .custom-cell .van-cell__label,
.custom-cell .van-cell__value, .custom-cell .van-cell__value,
.custom-cell .van-icon { .custom-cell .van-icon {
font-size: 20px; /* Adjust the font size as needed */ font-size: 20px;
/* Adjust the font size as needed */
} }
.custom-cell .van-cell__title { .custom-cell .van-cell__title {
@ -136,7 +155,7 @@ van-pull-refresh {
} }
.custom-cell .van-cell__value { .custom-cell .van-cell__value {
color: #666; /* Customize the value text color if needed */ color: #666;
/* Customize the value text color if needed */
} }
</style> </style>

View File

@ -643,17 +643,14 @@ export default {
} }
}; };
const MQTT_send = (send_string) => { const MQTT_send = (send_string) => {
console.log("MQTT 发送:" + JSON.stringify(send_string)); console.log(" 向父页面发送消息:", JSON.stringify(send_string));
jsonId.value++; // 使 postMessage
if (/xazn/.test(navigator.userAgent) || /uni-app/.test(navigator.userAgent)) { window.parent.postMessage(
uni.postMessage({ {
data: { data: send_string
str: JSON.stringify(send_string) },
} '*' // origin
}); );
} else {
window.parent.postMessage({ str: JSON.stringify(send_string) }, "*");
}
}; };
const MQTT_recv = (string) => { const MQTT_recv = (string) => {
@ -667,7 +664,12 @@ export default {
onMounted(async () => { onMounted(async () => {
await checkEnvironment(); await checkEnvironment();
console.log(isLocal.value); console.log(isLocal.value);
window.MQTT_recv = MQTT_recv; window.addEventListener('message', function (event) {
console.log("接受的原始数据", JSON.stringify(event.data))
if (event.data) {
MQTT_recv(JSON.stringify(event.data)); // MQTT_recv
}
});
onRefresh(); onRefresh();
}); });

View File

@ -112,18 +112,16 @@ export default {
// //
const isLocal = window.location.hostname === '192.168.4.1'; const isLocal = window.location.hostname === '192.168.4.1';
const MQTT_send = (send_string) => { const MQTT_send = (send_string) => {
console.log("MQTT 发送:" + JSON.stringify(send_string)); console.log(" 向父页面发送消息:", JSON.stringify(send_string));
if (/xazn/.test(navigator.userAgent) || /uni-app/.test(navigator.userAgent)) { // 使 postMessage
uni.postMessage({ window.parent.postMessage(
data: { {
str: JSON.stringify(send_string) data: send_string
} },
}); '*' // origin
} else { );
window.parent.postMessage({ str: JSON.stringify(send_string) }, "*"); };
}
};
const handleMQTTMessage = (string) => { const handleMQTTMessage = (string) => {
console.log("MQTT 接收:" + string); console.log("MQTT 接收:" + string);
@ -281,8 +279,12 @@ export default {
onMounted(() => { onMounted(() => {
console.log(isLocal); console.log(isLocal);
onRefresh(); onRefresh();
window.MQTT_recv = MQTT_recv; window.addEventListener('message', function (event) {
console.log("接受的原始数据", JSON.stringify(event.data))
if (event.data) {
MQTT_recv(JSON.stringify(event.data)); // MQTT_recv
}
});
}); });
onBeforeUnmount(() => { onBeforeUnmount(() => {

View File

@ -400,8 +400,14 @@ export default {
}; };
// //
onMounted(async () => { onMounted(async () => {
window.addEventListener('message', function (event) {
console.log("接受的原始数据",JSON.stringify(event.data))
if (event.data) {
MQTT_recv(JSON.stringify(event.data)); // MQTT_recv
}
});
// showToast("success") // showToast("success")
window.MQTT_recv = MQTT_recv; // window.MQTT_recv = MQTT_recv;
await checkEnvironment(); await checkEnvironment();
getallinfo(); getallinfo();
// fetchAudioData(); // // fetchAudioData(); //
@ -449,16 +455,14 @@ export default {
const MQTT_send = (send_string) => { const MQTT_send = (send_string) => {
console.log("MQTT 发送:" + JSON.stringify(send_string)); console.log(" 向父页面发送消息:", JSON.stringify(send_string));
if (/xazn/.test(navigator.userAgent) || /uni-app/.test(navigator.userAgent)) { // 使 postMessage
uni.postMessage({ window.parent.postMessage(
data: { {
str: JSON.stringify(send_string) data: send_string
} },
}); '*' // origin
} else { );
window.parent.postMessage({ str: JSON.stringify(send_string) }, "*");
}
}; };
// MQTT // MQTT
const MQTT_recv = (string) => { const MQTT_recv = (string) => {
@ -1060,124 +1064,124 @@ export default {
}); });
// json // json
function handleJsonMessage(data) { function handleJsonMessage(data) {
// //
if (data.param) { if (data.param) {
voicevalue.value = data.param.volume; voicevalue.value = data.param.volume;
}
//
if (data && Array.isArray(data.mp3_list)) {
newFilename.value = getNextTTSFilename(combinedList.value);
filenamecolumns.value = data.mp3_list.map(mp3 => ({
text: mp3,
value: mp3
}));
} else {
console.warn('No valid mp3_list found in data.sound_card');
}
// combinedList
if (data.play_list) {
const newPlaylistItems = data.play_list.map(item => ({
remark: item.remark,
filename: item.filename,
runningtime: item.play_time,
pauseduration: item.pause_time,
Broadcast_sound: item.TTS ? item.TTS.per : null,
speed: item.TTS ? item.TTS.spd : 0,
pit: item.TTS ? item.TTS.pit : 0,
vol: item.TTS ? item.TTS.vol : 0,
text: item.tts_str,
...item
}));
playlist.value = newPlaylistItems;
combinedList.value.push(...newPlaylistItems);
}
// combinedList
if (data.event_play_list) {
const newEventPlaylistItems = data.event_play_list.map(item => {
let eventType, eventsource;
switch (item.event.source) {
case 0:
eventsource = '本台设备';
break;
case 254:
eventsource = '除本身外任意设备';
break;
case 255:
eventsource = '任意设备';
break;
default:
eventsource = '其他';
} }
switch (item.event.code) {
case 0:
eventType = '默认显示';
break;
case 1:
eventType = '雷达触发(RS485 雷达)';
break;
case 2:
eventType = '雷达超速(RS485 雷达)';
break;
case 3:
eventType = '车牌触发(摄像头)';
break;
case 4:
eventType = '车牌超速(摄像头)';
break;
case 5:
eventType = '行人检测(相机)';
break;
case 51:
eventType = 'IN1下降沿';
break;
case 52:
eventType = 'IN2上升沿';
break;
case 53:
eventType = 'IN3下降沿';
break;
case 54:
eventType = 'IN4上升沿';
break;
case 55:
eventType = 'IN1低电平';
break;
case 56:
eventType = 'IN2高电平';
break;
case 57:
eventType = 'IN3低电平';
break;
case 58:
eventType = 'IN4高电平';
break;
default:
eventType = '其他';
}
return {
remark: item.remark,
EventSource: item.event.source,
eventcode: item.event.code,
EventSourcename: eventsource,
eventcodename: eventType,
priority: item.event.priority,
Broadcast_sound: item.TTS ? item.TTS.per : null,
speed: item.TTS ? item.TTS.spd : 0,
pit: item.TTS ? item.TTS.pit : 0,
vol: item.TTS ? item.TTS.vol : 0,
text: item.tts_str,
...item
};
});
eventplaylist.value = newEventPlaylistItems;
combinedList.value.push(...newEventPlaylistItems);
}
console.log('combinedList:', JSON.stringify(combinedList.value)); //
} if (data && Array.isArray(data.mp3_list)) {
newFilename.value = getNextTTSFilename(combinedList.value);
filenamecolumns.value = data.mp3_list.map(mp3 => ({
text: mp3,
value: mp3
}));
} else {
console.warn('No valid mp3_list found in data.sound_card');
}
// combinedList
if (data.play_list) {
const newPlaylistItems = data.play_list.map(item => ({
remark: item.remark,
filename: item.filename,
runningtime: item.play_time,
pauseduration: item.pause_time,
Broadcast_sound: item.TTS ? item.TTS.per : null,
speed: item.TTS ? item.TTS.spd : 0,
pit: item.TTS ? item.TTS.pit : 0,
vol: item.TTS ? item.TTS.vol : 0,
text: item.tts_str,
...item
}));
playlist.value = newPlaylistItems;
combinedList.value.push(...newPlaylistItems);
}
// combinedList
if (data.event_play_list) {
const newEventPlaylistItems = data.event_play_list.map(item => {
let eventType, eventsource;
switch (item.event.source) {
case 0:
eventsource = '本台设备';
break;
case 254:
eventsource = '除本身外任意设备';
break;
case 255:
eventsource = '任意设备';
break;
default:
eventsource = '其他';
}
switch (item.event.code) {
case 0:
eventType = '默认显示';
break;
case 1:
eventType = '雷达触发(RS485 雷达)';
break;
case 2:
eventType = '雷达超速(RS485 雷达)';
break;
case 3:
eventType = '车牌触发(摄像头)';
break;
case 4:
eventType = '车牌超速(摄像头)';
break;
case 5:
eventType = '行人检测(相机)';
break;
case 51:
eventType = 'IN1下降沿';
break;
case 52:
eventType = 'IN2上升沿';
break;
case 53:
eventType = 'IN3下降沿';
break;
case 54:
eventType = 'IN4上升沿';
break;
case 55:
eventType = 'IN1低电平';
break;
case 56:
eventType = 'IN2高电平';
break;
case 57:
eventType = 'IN3低电平';
break;
case 58:
eventType = 'IN4高电平';
break;
default:
eventType = '其他';
}
return {
remark: item.remark,
EventSource: item.event.source,
eventcode: item.event.code,
EventSourcename: eventsource,
eventcodename: eventType,
priority: item.event.priority,
Broadcast_sound: item.TTS ? item.TTS.per : null,
speed: item.TTS ? item.TTS.spd : 0,
pit: item.TTS ? item.TTS.pit : 0,
vol: item.TTS ? item.TTS.vol : 0,
text: item.tts_str,
...item
};
});
eventplaylist.value = newEventPlaylistItems;
combinedList.value.push(...newEventPlaylistItems);
}
console.log('combinedList:', JSON.stringify(combinedList.value));
}

View File

@ -26,7 +26,10 @@ module.exports = defineConfig({
devServer: { devServer: {
open: true, open: true,
hot: true,//自动保存 hot: true,//自动保存
port:80 port: 80,
headers: {
'Access-Control-Allow-Origin': '*', // 允许跨域
},
}, },
chainWebpack: (config) => { chainWebpack: (config) => {
config.plugin('code-inspector-plugin').use( config.plugin('code-inspector-plugin').use(
@ -36,16 +39,24 @@ module.exports = defineConfig({
); );
}, },
configureWebpack: { configureWebpack: {
//qiankun
output: {
library: `subapp-[name]`, // 必须唯一
libraryTarget: 'umd', // 必须使用 UMD 格式
chunkLoadingGlobal: `webpackJsonp_subapp`, // 避免全局 JSONP 冲突
},
plugins: [ plugins: [
// 当 unplugin-vue-components 版本小于 0.26.0 时,使用以下写法 // 当 unplugin-vue-components 版本小于 0.26.0 时,使用以下写法
// AutoImport({ resolvers: [VantResolver()] }), // AutoImport({ resolvers: [VantResolver()] }),
// Components({ resolvers: [VantResolver()] }), // Components({ resolvers: [VantResolver()] }),
//当大于等于 0.26.0 时,使用以下写法 //当大于等于 0.26.0 时,使用以下写法
AutoImport.default({ AutoImport.default({
resolvers: [VantResolver(),ElementPlusResolver()], resolvers: [VantResolver(), ElementPlusResolver()],
}), }),
Components.default({ resolvers: [VantResolver(),ElementPlusResolver()] }), Components.default({ resolvers: [VantResolver(), ElementPlusResolver()] }),
// new CompressionWebpackPlugin({ // new CompressionWebpackPlugin({
// algorithm: 'gzip', // 使用gzip压缩 // algorithm: 'gzip', // 使用gzip压缩
// test: /\.js$|\.html$|\.css$/, // 匹配文件名 // test: /\.js$|\.html$|\.css$/, // 匹配文件名