diff --git a/src/api/device/arm.js b/src/api/device/arm.js deleted file mode 100644 index a7a167e..0000000 --- a/src/api/device/arm.js +++ /dev/null @@ -1,26 +0,0 @@ -import request from '@/utils/request' -// 移动机械臂 -export function moveJ(data) { - return request({ - url: '/api/humanoid/moveJ', - method: 'post', - data: data - }) -} - -// 获取机械臂状态 -export function status(data) { - return request({ - url: '/api/humanoid/status', - method: 'post', - data: data - }) -} - -export function clearFault(params) { - return request({ - url: '/api/arm/clearFault', - method: 'get', - params - }) -} diff --git a/src/api/device/camera.js b/src/api/device/camera.js deleted file mode 100644 index c10a7be..0000000 --- a/src/api/device/camera.js +++ /dev/null @@ -1,9 +0,0 @@ -import request from '@/utils/request' - -export function getRgbStreamUrl(robotId, deviceId) { - return request({ - url: '/api/edge/camera/rgb-stream-url', - method: 'get', - params: { robotId, deviceId } - }) -} diff --git a/src/api/device/dexHand.js b/src/api/device/dexHand.js deleted file mode 100644 index 0d8793d..0000000 --- a/src/api/device/dexHand.js +++ /dev/null @@ -1,19 +0,0 @@ -import request from '@/utils/request' - -// 获取灵巧手状态 -export function status(query) { - return request({ - url: '/api/dexHand/status', - method: 'get', - params: query - }) -} - -// 设置灵巧手弯曲角度 -export function setDexHandAngle(query) { - return request({ - url: '/api/dexHand/angle', - method: 'get', - params: query - }) -} diff --git a/src/api/device/microphone.js b/src/api/device/microphone.js deleted file mode 100644 index d14002d..0000000 --- a/src/api/device/microphone.js +++ /dev/null @@ -1,46 +0,0 @@ -import request from '@/utils/request' - -// 开始录音 -export function startMicrophoneApi(data) { - return request({ - url: '/api/Microphone/start', - method: 'post', - data: data - }) -} - -// 暂停录音 -export function pauseMicrophoneApi(data) { - return request({ - url: '/api/Microphone/pause', - method: 'post', - data: data - }) -} - -// 恢复录音 -export function resumeMicrophoneApi(data) { - return request({ - url: '/api/Microphone/resume', - method: 'post', - data: data - }) -} - -// 停止录音 -export function stopMicrophoneApi(data) { - return request({ - url: '/api/Microphone/stop', - method: 'post', - data: data - }) -} - -// 播放音频 -export function playSpeaker(data) { - return request({ - url: '/api/Speaker/play', - method: 'post', - data: data - }) -} \ No newline at end of file diff --git a/src/api/device/speaker.js b/src/api/device/speaker.js deleted file mode 100644 index ec9e94e..0000000 --- a/src/api/device/speaker.js +++ /dev/null @@ -1,72 +0,0 @@ -import request from '@/utils/request' - -// 暂停播放 -export function pause(data) { - return request({ - url: '/api/Speaker/pause', - method: 'post', - data: data - }) -} - -// 播放音频 -export function play(data) { - return request({ - url: '/api/Speaker/play', - method: 'post', - data: data - }) -} - -// 恢复播放 -export function resume(data) { - return request({ - url: '/api/Speaker/resume', - method: 'post', - data: data - }) -} - -// 获取扬声器状态 -export function status(query) { - return request({ - url: '/api/Speaker/status', - method: 'get', - params: query - }) -} - -// 停止播放 -export function stop(data) { - return request({ - url: '/api/Speaker/stop', - method: 'post', - data: data - }) -} - -// 获取音量 -export function getVolume(query) { - return request({ - url: '/api/Speaker/volume', - method: 'get', - params: query - }) -} - -// 设置音量 -export function setVolume(data) { - return request({ - url: '/api/Speaker/volume', - method: 'post', - data: data - }) -} - -// 设置音量 -export function getAll() { - return request({ - url: '/api/Speaker/getAll', - method: 'get', - }) -} \ No newline at end of file diff --git a/src/api/touch_interaction.js b/src/api/touch_interaction.js deleted file mode 100644 index 9182549..0000000 --- a/src/api/touch_interaction.js +++ /dev/null @@ -1,14 +0,0 @@ -import request from "@/utils/request.js"; - -export function coordinateMarking(data) { - return request({ - url: '/show/touch/coordinates', - method: 'post', - headers: { - isToken: false, - 'Content-Type': 'multipart/form-data', - 'Authorization':'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImIzY2QwYjFjLWNlNjgtNDEwNy1hYzA1LTdmYTBlNmQ4NzJmNiJ9.2N9E9IDrFeCe-yRIBly60N0kYYmCscdrhyd8KHmhw2dxLi7B_A1i8bcWRTtx9YryFB3AhkvZkGauMx0CdZ0TDg' - }, - data: data - }) -} diff --git a/src/api/tts.js b/src/api/tts.js deleted file mode 100644 index 0a77f2a..0000000 --- a/src/api/tts.js +++ /dev/null @@ -1,30 +0,0 @@ -import request from '@/utils/request' - -const serviceHeaders = { - Authorization: 'eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImFiNmEyY2Y0LWM3MjQtNDgyMy1hM2NiLTk4N2NhZWNmMzZiNCJ9.oq-JVRbQuq_ujQ2V0h2jXC3woHPdMQKhnYJ8ixRm-C6Ez4GqJWyHYgmnkw5dbDyhWGdIUH02uv6XT8UiboHD4g', - isToken: false, -} - -export function createTimbre(data) { - return request({ url: '/show/tts/create', method: 'post', headers: { ...serviceHeaders, 'Content-Type': 'multipart/form-data' }, data }) -} - -export function getTts() { - return request({ url: '/show/tts/query', method: 'get', headers: serviceHeaders }) -} - -export function createCorpus(data) { - return request({ url: '/show/tts/corpus', method: 'post', headers: serviceHeaders, data }) -} - -export function getSynthesize(data, config = {}) { - return request({ url: '/show/tts/synthesize', method: 'post', headers: serviceHeaders, responseType: 'blob', data }, config) -} - -export function createAdvancedCorpus(data) { - return request({ url: '/show/tts/corpus/advanced', method: 'post', headers: serviceHeaders, data }) -} - -export function getAdvancedSynthesize(data, config = {}) { - return request({ url: '/show/tts/synthesize/advanced', method: 'post', headers: serviceHeaders, responseType: 'blob', data }, config) -} diff --git a/src/router/index.js b/src/router/index.js index 7128fcf..e54415f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,7 +1,7 @@ import { createWebHistory, createRouter } from "vue-router"; /* Layout */ import Layout from "@/layout"; -import { resolveCommonView } from '@cmvr/iot-common' +import { createDeviceRoutes, resolveCommonView } from '@cmvr/iot-common' const commonView = (view) => { const component = resolveCommonView(view) @@ -66,83 +66,7 @@ export const constantRoutes = [ component: commonView('error/401'), hidden: true, }, - { - path: "/device", - component: Layout, - children: [ - { - path: "mechanical_arm/:id", - component: () => - import("@/views/device/register/components/MechanicalArm/index.vue"), - name: "机械臂示教", - meta: { title: "机械臂详情" }, - hidden: true, - }, - { - path: "camera/:id", - component: () => - import("@/views/device/register/components/Camera/index.vue"), - name: "摄像头示教", - meta: { title: "摄像头详情" }, - hidden: true, - }, - { - path: "head/:id", - component: () => - import("@/views/device/register/components/Head/index.vue"), - name: "人工头示教", - meta: { title: "人工头详情" }, - hidden: true, - }, - { - path: "speaker/:id", - component: () => - import("@/views/device/register/components/Speaker/index.vue"), - name: "扬声器示教", - meta: { title: "扬声器详情" }, - hidden: true, - }, - { - path: "hand/:id", - component: () => - import("@/views/device/register/components/DexHand/index.vue"), - name: "灵巧手示教", - meta: { title: "灵巧手详情" }, - hidden: true, - },{ - path: "microphone/:id", - component: () => - import("@/views/device/register/components/Microphone/index.vue"), - name: "麦克风示教", - meta: { title: "麦克风详情" }, - hidden: true, - } - ], - }, - { - //语音合成 - path: "/speech_synthesis", - component: () => - import("@/views/device/register/components/SpeechSynthesis/index.vue"), - meta: { title: "语音合成", noLogin: true }, - hidden: true, - }, - { - //触摸交互 - path: "/touch_interaction", - component: () => - import("@/views/device/register/components/TouchInteraction/index.vue"), - meta: { title: "触摸交互", noLogin: true }, - hidden: true, - }, - { - // 流程运行状态 - path: "/logic_flow", - component: () => - import("@/views/device/register/components/VueFlow/index.vue"), - meta: { title: "流程运行状态", noLogin: true }, - hidden: true, - }, + ...createDeviceRoutes(Layout), { // 流程编排 path: "/flow", @@ -150,13 +74,6 @@ export const constantRoutes = [ meta: { title: "流程编排", noLogin: true }, hidden: true, }, - { - //电机路由 - path: "/Motor/:id", - component: () => - import("@/views/device/register/components/Motor/index.vue"), - hidden: true, - }, { path: "", component: Layout, diff --git a/src/utils/jsencrypt.js b/src/utils/jsencrypt.js index 78d9523..91eeff6 100644 --- a/src/utils/jsencrypt.js +++ b/src/utils/jsencrypt.js @@ -1,4 +1,4 @@ -import JSEncrypt from 'jsencrypt/bin/jsencrypt.min' +import JSEncrypt from 'jsencrypt' // 密钥对生成 http://web.chacuo.net/netrsakeypair diff --git a/src/views/device/register/components/Camera/index.vue b/src/views/device/register/components/Camera/index.vue deleted file mode 100644 index 27bc45a..0000000 --- a/src/views/device/register/components/Camera/index.vue +++ /dev/null @@ -1,553 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/ControlCard/index.vue b/src/views/device/register/components/ControlCard/index.vue deleted file mode 100644 index 1590fb4..0000000 --- a/src/views/device/register/components/ControlCard/index.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/device/register/components/DexHand/LeftBottomHand.vue b/src/views/device/register/components/DexHand/LeftBottomHand.vue deleted file mode 100644 index 302711f..0000000 --- a/src/views/device/register/components/DexHand/LeftBottomHand.vue +++ /dev/null @@ -1,431 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/device/register/components/DexHand/LeftTopHand.vue b/src/views/device/register/components/DexHand/LeftTopHand.vue deleted file mode 100644 index faeae7c..0000000 --- a/src/views/device/register/components/DexHand/LeftTopHand.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/DexHand/RightBottomCharts.vue b/src/views/device/register/components/DexHand/RightBottomCharts.vue deleted file mode 100644 index bc42122..0000000 --- a/src/views/device/register/components/DexHand/RightBottomCharts.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/device/register/components/DexHand/RightTopCharts.vue b/src/views/device/register/components/DexHand/RightTopCharts.vue deleted file mode 100644 index 09cae93..0000000 --- a/src/views/device/register/components/DexHand/RightTopCharts.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/device/register/components/DexHand/index.vue b/src/views/device/register/components/DexHand/index.vue deleted file mode 100644 index 1185166..0000000 --- a/src/views/device/register/components/DexHand/index.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - diff --git a/src/views/device/register/components/Head/index.vue b/src/views/device/register/components/Head/index.vue deleted file mode 100644 index ae48490..0000000 --- a/src/views/device/register/components/Head/index.vue +++ /dev/null @@ -1,316 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/MechanicalArm/components/JointControl.vue b/src/views/device/register/components/MechanicalArm/components/JointControl.vue deleted file mode 100644 index f53b595..0000000 --- a/src/views/device/register/components/MechanicalArm/components/JointControl.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/device/register/components/MechanicalArm/components/UrdfViewer.vue b/src/views/device/register/components/MechanicalArm/components/UrdfViewer.vue deleted file mode 100644 index bdcc52b..0000000 --- a/src/views/device/register/components/MechanicalArm/components/UrdfViewer.vue +++ /dev/null @@ -1,394 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/device/register/components/MechanicalArm/index.vue b/src/views/device/register/components/MechanicalArm/index.vue deleted file mode 100644 index 9560acb..0000000 --- a/src/views/device/register/components/MechanicalArm/index.vue +++ /dev/null @@ -1,384 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/Microphone/index.vue b/src/views/device/register/components/Microphone/index.vue deleted file mode 100644 index 86ce97f..0000000 --- a/src/views/device/register/components/Microphone/index.vue +++ /dev/null @@ -1,233 +0,0 @@ - - - diff --git a/src/views/device/register/components/Motor/index.vue b/src/views/device/register/components/Motor/index.vue deleted file mode 100644 index 8ecf371..0000000 --- a/src/views/device/register/components/Motor/index.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/device/register/components/Speaker/index.vue b/src/views/device/register/components/Speaker/index.vue deleted file mode 100644 index e44db5d..0000000 --- a/src/views/device/register/components/Speaker/index.vue +++ /dev/null @@ -1,278 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/SpeechSynthesis/AudioPlayer.vue b/src/views/device/register/components/SpeechSynthesis/AudioPlayer.vue deleted file mode 100644 index be36efc..0000000 --- a/src/views/device/register/components/SpeechSynthesis/AudioPlayer.vue +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - diff --git a/src/views/device/register/components/SpeechSynthesis/chat.vue b/src/views/device/register/components/SpeechSynthesis/chat.vue deleted file mode 100644 index 5a954a1..0000000 --- a/src/views/device/register/components/SpeechSynthesis/chat.vue +++ /dev/null @@ -1,699 +0,0 @@ - - - - diff --git a/src/views/device/register/components/SpeechSynthesis/img/ai.png b/src/views/device/register/components/SpeechSynthesis/img/ai.png deleted file mode 100644 index 79bbe45..0000000 Binary files a/src/views/device/register/components/SpeechSynthesis/img/ai.png and /dev/null differ diff --git a/src/views/device/register/components/SpeechSynthesis/img/user.png b/src/views/device/register/components/SpeechSynthesis/img/user.png deleted file mode 100644 index 481f7e7..0000000 Binary files a/src/views/device/register/components/SpeechSynthesis/img/user.png and /dev/null differ diff --git a/src/views/device/register/components/SpeechSynthesis/index.vue b/src/views/device/register/components/SpeechSynthesis/index.vue deleted file mode 100644 index 94b9003..0000000 --- a/src/views/device/register/components/SpeechSynthesis/index.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/SpeechSynthesis/soundRecording.vue b/src/views/device/register/components/SpeechSynthesis/soundRecording.vue deleted file mode 100644 index 5b2a05b..0000000 --- a/src/views/device/register/components/SpeechSynthesis/soundRecording.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - diff --git a/src/views/device/register/components/TouchInteraction/ai.png b/src/views/device/register/components/TouchInteraction/ai.png deleted file mode 100644 index 79bbe45..0000000 Binary files a/src/views/device/register/components/TouchInteraction/ai.png and /dev/null differ diff --git a/src/views/device/register/components/TouchInteraction/index.vue b/src/views/device/register/components/TouchInteraction/index.vue deleted file mode 100644 index 08788ae..0000000 --- a/src/views/device/register/components/TouchInteraction/index.vue +++ /dev/null @@ -1,512 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/TouchInteraction/zsj.png b/src/views/device/register/components/TouchInteraction/zsj.png deleted file mode 100644 index 481f7e7..0000000 Binary files a/src/views/device/register/components/TouchInteraction/zsj.png and /dev/null differ diff --git a/src/views/device/register/components/VueFlow/IPlayer/config.ts b/src/views/device/register/components/VueFlow/IPlayer/config.ts deleted file mode 100644 index 3048428..0000000 --- a/src/views/device/register/components/VueFlow/IPlayer/config.ts +++ /dev/null @@ -1,59 +0,0 @@ -export const conf = { - /** - * 基础功能配置 - * */ - autoplay: false, // 是否自动播放,不自动播放,浏览器有限制规则 - autoplayMuted: false, // 是否自动播放(静音播放) - videoInit: true, // 是否默认初始化video,默认初始化,默认true - playsinline: true, // 是否启用内联播放模式,仅移动端生效 - defaultPlaybackRate: 1, // 默认播放速度(可选:0.5/0.75/1/1.5/2等) - volume: 0.72, // 播放音量(可选:0 ~ 1) - loop: false, // 是否循环播放,默认不循环播放 - startTime: 0, // 点播模式下,初始起播时间 - videoAttributes: {}, // video扩展属性,暂且不配置 - lang: 'zh-cn', // 播放器初始显示语言,设置为中文 - fluid: true, // 是否流式布局(宽高优先于流失布局,默认16:9)注掉上方宽高看效果 - fitVideoSize: 'fixed', // 保持容器宽/高,不做适配,按照容器来 - videoFillMode: 'auto', // 宽高不够自动底色填充(fill拉伸填充等...) - seekedStatus: 'play', // 跳转后继续播放 - // 播放器进度条故事点信息数组 - progressDot: [ - { - id: 0, // 唯一标识,用于删除的时候索引 - time: 30, // 展示的时间点,例子为在播放到10s钟的时候展示 - text: '进度条信息提示...', // hover的时候展示文案,可以为空 - duration: 1, // 展示时间跨度,单位为s - style: { // 指定样式 - backgroundColor: 'white' - } - }, - ], - thumbnail: null, // 进度条预览图配置,普通业务用不到 - marginControls: false, // 是否开启画面和控制栏分离模式,不开启空间多一些 - domEventType: 'default', // 响应的事件类型,不用指定,用默认的即可 - /** - * 交互功能配置(一般使用默认即可) - * */ - /** - * 插件配置,根据需求自选 - * */ - icons: {}, // 使用默认的icon图标 - i18n: [], // 使用默认的中文 - // 自定义一些颜色 - commonStyle: { - progressColor: 'green', // 整个进度条颜色 - playedColor: 'chocolate', // 已播放的进度条颜色 - volumeColor: 'pink', // 音量大小竖向滑块颜色 - }, - controls: true, // 是否使用底部控制栏,默认使用 - miniprogress: true, // 是否使用mini进度条(当底部控制栏隐藏时生效) - screenShot: false, // 关闭截图功能 - rotate: true, // 是否使用视频旋转插件,默认不使用 - download: true, // 是否使用下载按钮,一般不用,一般自定义控制 - pip: true, // 使用使用画中画模式,默认不用 - mini: true, // 是否使用小屏幕控件 - cssFullscreen: true, // 是否使用网页样式全屏按钮开关 - playbackRate: [0.5, 1, 1.5, 2, 3], //传入倍速可选数组 - // playbackRate: true, //false,禁用倍速播放(即控制栏不显示) - keyShortcut: false, // 是否开启快捷键模式 -} diff --git a/src/views/device/register/components/VueFlow/IPlayer/index.vue b/src/views/device/register/components/VueFlow/IPlayer/index.vue deleted file mode 100644 index 55be899..0000000 --- a/src/views/device/register/components/VueFlow/IPlayer/index.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - diff --git a/src/views/device/register/components/VueFlow/RuntimeGroup.vue b/src/views/device/register/components/VueFlow/RuntimeGroup.vue deleted file mode 100644 index dca777e..0000000 --- a/src/views/device/register/components/VueFlow/RuntimeGroup.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/VueFlow/RuntimeNode.vue b/src/views/device/register/components/VueFlow/RuntimeNode.vue deleted file mode 100644 index 6ab3e75..0000000 --- a/src/views/device/register/components/VueFlow/RuntimeNode.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/VueFlow/customFlow.vue b/src/views/device/register/components/VueFlow/customFlow.vue deleted file mode 100644 index 9ba9db2..0000000 --- a/src/views/device/register/components/VueFlow/customFlow.vue +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - diff --git a/src/views/device/register/components/VueFlow/index.vue b/src/views/device/register/components/VueFlow/index.vue deleted file mode 100644 index c6c1b91..0000000 --- a/src/views/device/register/components/VueFlow/index.vue +++ /dev/null @@ -1,205 +0,0 @@ - - - - - diff --git a/src/views/device/register/components/index.js b/src/views/device/register/components/index.js deleted file mode 100644 index 93584d6..0000000 --- a/src/views/device/register/components/index.js +++ /dev/null @@ -1,59 +0,0 @@ -import {controlPageList} from "@/enum/index.js"; -import {ElMessage} from "element-plus"; -import router from "@/router"; - -export const intoControlPage = (path, params) => { - if (!controlPageList.includes(path)) { - ElMessage.warning('该页面不在控制台页面中,无法打开'); - return - } - // const fullPath = `${window.location.origin}${path}/${params}`; - // // 使用 window.open 在新标签页中打开 - // window.open(fullPath, '_blank'); - const fullPath = `${path}/${params}`; // 构造路由路径 - router.push(fullPath); // 使用路由跳转 -} - -// 定义需要转换的属性列表 -const propertiesToConvert = [ - "workModule", - "posStep", - "postureStep", - "jointStep", - "joint1", - "joint2", - "joint3", - "joint4", - "joint5", - "joint6", - "x", - "y", - "z", - "rx", - "ry", - "rz" -]; -export const formatNumber = (data) => { - const res = JSON.parse(JSON.stringify(data)); -// 遍历属性列表并转换值 - propertiesToConvert.forEach(property => { - if (data[property] !== null) { - res[property] = Number(data[property]); - } - }); - return res -} - -//对象中存在数字类型属性时,转换为字符串类型 -export const convertNumbersToStrings = (obj) => { - for (const key in obj) { - if (obj.hasOwnProperty(key)) { - const value = obj[key]; - // 检查值是否不是 null 且是数字类型 - if (value !== null && typeof value === 'number') { - obj[key] = String(value); // 转换为字符串 - } - } - } - return obj; -} diff --git a/src/views/device/robotManger/ContextMenu.vue b/src/views/device/robotManger/ContextMenu.vue deleted file mode 100644 index ab47455..0000000 --- a/src/views/device/robotManger/ContextMenu.vue +++ /dev/null @@ -1,89 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/device/robotManger/TechButtonWithLine.vue b/src/views/device/robotManger/TechButtonWithLine.vue deleted file mode 100644 index a2a3526..0000000 --- a/src/views/device/robotManger/TechButtonWithLine.vue +++ /dev/null @@ -1,547 +0,0 @@ - - - - - \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 39bc171..678a256 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,18 @@ import { defineConfig, loadEnv, normalizePath } from 'vite' import path from 'path' +import { realpathSync } from 'node:fs' import createVitePlugins from './vite/plugins' +const isCommonLinked = (() => { + try { + const linkedPath = realpathSync(path.resolve('node_modules/@cmvr/iot-common')) + const localPath = realpathSync(path.resolve('../cmvr-iot-common')) + return path.relative(linkedPath, localPath) === '' + } catch { + return false + } +})() + // https://vitejs.dev/config/ export default defineConfig(({ mode, command }) => { const env = loadEnv(mode, process.cwd()) @@ -12,6 +23,7 @@ export default defineConfig(({ mode, command }) => { plugins: createVitePlugins(env, command === 'build'), optimizeDeps: { exclude: [ + ...(isCommonLinked ? ['@cmvr/iot-common'] : []), 'monaco-editor', 'monaco-editor/esm/vs/base/worker/workerMain.js', 'monaco-editor/esm/vs/editor/editor.main.js', @@ -57,6 +69,11 @@ export default defineConfig(({ mode, command }) => { port: Number(VITE_PORT || 80), host: true, open: true, + ...(isCommonLinked ? { + watch: { + ignored: ['!**/node_modules/@cmvr/iot-common/**'] + } + } : {}), proxy: { // https://cn.vitejs.dev/config/#server-proxy '/dev-api': { diff --git a/vite/plugins/auto-import.js b/vite/plugins/auto-import.js index 1b6ab1d..723d4dc 100644 --- a/vite/plugins/auto-import.js +++ b/vite/plugins/auto-import.js @@ -11,6 +11,7 @@ export default function createAutoImport() { '@/utils/ruoyi': ['selectDictLabel'] } ], + exclude: [/[\\/]cmvr-iot-common[\\/]dist[\\/]/], dts: false }) }