diff --git a/README.md b/README.md
index 2a5ff70..e69de29 100644
--- a/README.md
+++ b/README.md
@@ -1,109 +0,0 @@
-
-
-
-RuoYi v3.8.8
-基于SpringBoot+Vue3前后端分离的Java快速开发框架
-
-
-
-
-
-
-## 平台简介
-
-* 本仓库为前端技术栈 [Vue3](https://v3.cn.vuejs.org) + [Element Plus](https://element-plus.org/zh-CN) + [Vite](https://cn.vitejs.dev) 版本。
-* 配套后端代码仓库地址[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) 或 [RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast) 版本。
-* 前端技术栈([Vue2](https://cn.vuejs.org) + [Element](https://github.com/ElemeFE/element) + [Vue CLI](https://cli.vuejs.org/zh)),请移步[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue/tree/master/ruoyi-ui)。
-* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)
-* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)
-
-## 前端运行
-
-```bash
-# 克隆项目
-git clone https://github.com/yangzongzhuan/RuoYi-Vue3.git
-
-# 进入项目目录
-cd RuoYi-Vue3
-
-# 安装依赖
-yarn --registry=https://registry.npmmirror.com
-
-# 启动服务
-yarn dev
-
-# 构建测试环境 yarn build:stage
-# 构建生产环境 yarn build:prod
-# 前端访问地址 http://localhost:80
-```
-
-## 内置功能
-
-1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
-2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
-3. 岗位管理:配置系统用户所属担任职务。
-4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
-5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
-6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
-7. 参数管理:对系统动态配置常用参数。
-8. 通知公告:系统通知公告信息发布维护。
-9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
-10. 登录日志:系统登录日志记录查询包含登录异常。
-11. 在线用户:当前系统中活跃用户状态监控。
-12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
-13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
-14. 系统接口:根据业务代码自动生成相关的api接口文档。
-15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
-16. 缓存监控:对系统的缓存信息查询,命令统计等。
-17. 在线构建器:拖动表单元素生成相应的HTML代码。
-18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
-
-## 在线体验
-
-- admin/admin123
-- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
-
-演示地址:http://vue.ruoyi.vip
-文档地址:http://doc.ruoyi.vip
-
-## 演示图
-
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-
-
-## 若依前后端分离交流群
-
-QQ群: [](https://jq.qq.com/?_wv=1027&k=5bVB1og) [](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [](https://jq.qq.com/?_wv=1027&k=51G72yr) [](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [](https://jq.qq.com/?_wv=1027&k=SpyH2875) [](https://jq.qq.com/?_wv=1027&k=tKEt51dz) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=0vBbSb0ztbBgVtn3kJS-Q4HUNYwip89G&authKey=8irq5PhutrZmWIvsUsklBxhj57l%2F1nOZqjzigkXZVoZE451GG4JHPOqW7AW6cf0T&noverify=0&group_code=143961921) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ZFAPAbp09S2ltvwrJzp7wGlbopsc0rwi&authKey=HB2cxpxP2yspk%2Bo3WKTBfktRCccVkU26cgi5B16u0KcAYrVu7sBaE7XSEqmMdFQp&noverify=0&group_code=174951577) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Fn2aF5IHpwsy8j6VlalNJK6qbwFLFHat&authKey=uyIT%2B97x2AXj3odyXpsSpVaPMC%2Bidw0LxG5MAtEqlrcBcWJUA%2FeS43rsF1Tg7IRJ&noverify=0&group_code=161281055) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XIzkm_mV2xTsUtFxo63bmicYoDBA6Ifm&authKey=dDW%2F4qsmw3x9govoZY9w%2FoWAoC4wbHqGal%2BbqLzoS6VBarU8EBptIgPKN%2FviyC8j&noverify=0&group_code=138988063) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DkugnCg68PevlycJSKSwjhFqfIgrWWwR&authKey=pR1Pa5lPIeGF%2FFtIk6d%2FGB5qFi0EdvyErtpQXULzo03zbhopBHLWcuqdpwY241R%2F&noverify=0&group_code=151450850) 点击按钮入群。
\ No newline at end of file
diff --git a/package.json b/package.json
index 97f37c5..c265d92 100644
--- a/package.json
+++ b/package.json
@@ -40,7 +40,7 @@
"@iconify-json/carbon": "^1.2.5",
"@iconify/vue": "^4.2.0",
"@vitejs/plugin-vue": "5.0.5",
- "sass": "1.77.5",
+ "sass-embedded": "^1.83.4",
"unplugin-auto-import": "0.17.6",
"unplugin-vue-setup-extend-plus": "1.0.1",
"vite": "5.3.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ab7ec20..1a45423 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -52,7 +52,7 @@ importers:
version: 3.1.5
unocss:
specifier: ^0.65.1
- version: 0.65.1(postcss@5.2.18)(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)
+ version: 0.65.1(postcss@5.2.18)(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)
vue:
specifier: 3.4.31
version: 3.4.31
@@ -74,10 +74,13 @@ importers:
version: 4.2.0(vue@3.4.31)
'@vitejs/plugin-vue':
specifier: 5.0.5
- version: 5.0.5(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)
+ version: 5.0.5(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)
sass:
- specifier: 1.77.5
- version: 1.77.5
+ specifier: 1.79.5
+ version: 1.79.5
+ sass-embedded:
+ specifier: ^1.83.4
+ version: 1.83.4
unplugin-auto-import:
specifier: 0.17.6
version: 0.17.6(@vueuse/core@10.11.0(vue@3.4.31))(rollup@4.28.0)
@@ -86,13 +89,13 @@ importers:
version: 1.0.1
vite:
specifier: 5.3.2
- version: 5.3.2(@types/node@22.10.1)(sass@1.77.5)
+ version: 5.3.2(@types/node@22.10.1)(sass@1.79.5)
vite-plugin-compression:
specifier: 0.5.1
- version: 0.5.1(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))
+ version: 0.5.1(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))
vite-plugin-svg-icons:
specifier: 2.0.1
- version: 2.0.1(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))
+ version: 2.0.1(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))
packages:
@@ -123,6 +126,9 @@ packages:
resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==}
engines: {node: '>=6.9.0'}
+ '@bufbuild/protobuf@2.2.3':
+ resolution: {integrity: sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==}
+
'@ctrl/tinycolor@3.6.1':
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
engines: {node: '>=10'}
@@ -470,6 +476,94 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, tarball: https://r2.cnpmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz}
engines: {node: '>= 8'}
+ '@parcel/watcher-android-arm64@2.5.0':
+ resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@parcel/watcher-darwin-arm64@2.5.0':
+ resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@parcel/watcher-darwin-x64@2.5.0':
+ resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@parcel/watcher-freebsd-x64@2.5.0':
+ resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@parcel/watcher-linux-arm-glibc@2.5.0':
+ resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm-musl@2.5.0':
+ resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-linux-arm64-glibc@2.5.0':
+ resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm64-musl@2.5.0':
+ resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-linux-x64-glibc@2.5.0':
+ resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-x64-musl@2.5.0':
+ resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-win32-arm64@2.5.0':
+ resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@parcel/watcher-win32-ia32@2.5.0':
+ resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@parcel/watcher-win32-x64@2.5.0':
+ resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@parcel/watcher@2.5.0':
+ resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==}
+ engines: {node: '>= 10.0.0'}
+
'@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
@@ -875,6 +969,9 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
+ buffer-builder@0.2.0:
+ resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==}
+
bundle-require@5.0.0:
resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -905,6 +1002,10 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
class-utils@0.3.6:
resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==, tarball: https://r2.cnpmjs.org/class-utils/-/class-utils-0.3.6.tgz}
engines: {node: '>=0.10.0'}
@@ -927,6 +1028,9 @@ packages:
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ colorjs.io@0.5.2:
+ resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==}
+
combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, tarball: https://r2.cnpmjs.org/combined-stream/-/combined-stream-1.0.8.tgz}
engines: {node: '>= 0.8'}
@@ -1045,6 +1149,11 @@ packages:
destr@2.0.3:
resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
+ detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
dom-serializer@0.2.2:
resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==, tarball: https://r2.cnpmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz}
@@ -1350,6 +1459,9 @@ packages:
immutable@4.3.7:
resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
+ immutable@5.0.3:
+ resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==}
+
importx@0.4.4:
resolution: {integrity: sha512-Lo1pukzAREqrBnnHC+tj+lreMTAvyxtkKsMxLY8H15M/bvLl54p3YuoTI70Tz7Il0AsgSlD7Lrk/FaApRcBL7w==}
@@ -1381,7 +1493,7 @@ packages:
engines: {node: '>= 0.4'}
is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, tarball: https://r2.cnpmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz}
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
is-boolean-object@1.2.0:
@@ -1679,11 +1791,14 @@ packages:
resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==, tarball: https://r2.cnpmjs.org/nanomatch/-/nanomatch-1.2.13.tgz}
engines: {node: '>=0.10.0'}
+ node-addon-api@7.1.1:
+ resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
+
node-fetch-native@1.6.4:
resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, tarball: https://r2.cnpmjs.org/normalize-path/-/normalize-path-3.0.0.tgz}
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
normalize-wheel-es@1.2.0:
@@ -1838,9 +1953,13 @@ packages:
engines: {node: '>= 6'}
readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, tarball: https://r2.cnpmjs.org/readdirp/-/readdirp-3.6.0.tgz}
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
+ readdirp@4.1.1:
+ resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==}
+ engines: {node: '>= 14.18.0'}
+
reflect.getprototypeof@1.0.7:
resolution: {integrity: sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==}
engines: {node: '>= 0.4'}
@@ -1884,6 +2003,9 @@ packages:
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, tarball: https://r2.cnpmjs.org/run-parallel/-/run-parallel-1.2.0.tgz}
+ rxjs@7.8.1:
+ resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
+
safe-array-concat@1.1.2:
resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
engines: {node: '>=0.4'}
@@ -1898,8 +2020,133 @@ packages:
safe-regex@1.1.0:
resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==, tarball: https://r2.cnpmjs.org/safe-regex/-/safe-regex-1.1.0.tgz}
- sass@1.77.5:
- resolution: {integrity: sha512-oDfX1mukIlxacPdQqNb6mV2tVCrnE+P3nVYioy72V5tlk56CPNcO4TCuFcaCRKKfJ1M3lH95CleRS+dVKL2qMg==}
+ sass-embedded-android-arm64@1.83.4:
+ resolution: {integrity: sha512-tgX4FzmbVqnQmD67ZxQDvI+qFNABrboOQgwsG05E5bA/US42zGajW9AxpECJYiMXVOHmg+d81ICbjb0fsVHskw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ sass-embedded-android-arm@1.83.4:
+ resolution: {integrity: sha512-9Z4pJAOgEkXa3VDY/o+U6l5XvV0mZTJcSl0l/mSPHihjAHSpLYnOW6+KOWeM8dxqrsqTYcd6COzhanI/a++5Gw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm]
+ os: [android]
+
+ sass-embedded-android-ia32@1.83.4:
+ resolution: {integrity: sha512-RsFOziFqPcfZXdFRULC4Ayzy9aK6R6FwQ411broCjlOBX+b0gurjRadkue3cfUEUR5mmy0KeCbp7zVKPLTK+5Q==}
+ engines: {node: '>=14.0.0'}
+ cpu: [ia32]
+ os: [android]
+
+ sass-embedded-android-riscv64@1.83.4:
+ resolution: {integrity: sha512-EHwh0nmQarBBrMRU928eTZkFGx19k/XW2YwbPR4gBVdWLkbTgCA5aGe8hTE6/1zStyx++3nDGvTZ78+b/VvvLg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [riscv64]
+ os: [android]
+
+ sass-embedded-android-x64@1.83.4:
+ resolution: {integrity: sha512-0PgQNuPWYy1jEOEPDVsV89KfqOsMLIp9CSbjBY7jRcwRhyVAcigqrUG6bDeNtojHUYKA1kU+Eh/85WxOHUOgBw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [android]
+
+ sass-embedded-darwin-arm64@1.83.4:
+ resolution: {integrity: sha512-rp2ywymWc3nymnSnAFG5R/8hvxWCsuhK3wOnD10IDlmNB7o4rzKby1c+2ZfpQGowlYGWsWWTgz8FW2qzmZsQRw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ sass-embedded-darwin-x64@1.83.4:
+ resolution: {integrity: sha512-kLkN2lXz9PCgGfDS8Ev5YVcl/V2173L6379en/CaFuJJi7WiyPgBymW7hOmfCt4uO4R1y7CP2Uc08DRtZsBlAA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ sass-embedded-linux-arm64@1.83.4:
+ resolution: {integrity: sha512-E0zjsZX2HgESwyqw31EHtI39DKa7RgK7nvIhIRco1d0QEw227WnoR9pjH3M/ZQy4gQj3GKilOFHM5Krs/omeIA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ sass-embedded-linux-arm@1.83.4:
+ resolution: {integrity: sha512-nL90ryxX2lNmFucr9jYUyHHx21AoAgdCL1O5Ltx2rKg2xTdytAGHYo2MT5S0LIeKLa/yKP/hjuSvrbICYNDvtA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ sass-embedded-linux-ia32@1.83.4:
+ resolution: {integrity: sha512-ew5HpchSzgAYbQoriRh8QhlWn5Kw2nQ2jHoV9YLwGKe3fwwOWA0KDedssvDv7FWnY/FCqXyymhLd6Bxae4Xquw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [ia32]
+ os: [linux]
+
+ sass-embedded-linux-musl-arm64@1.83.4:
+ resolution: {integrity: sha512-IzMgalf6MZOxgp4AVCgsaWAFDP/IVWOrgVXxkyhw29fyAEoSWBJH4k87wyPhEtxSuzVHLxKNbc8k3UzdWmlBFg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ sass-embedded-linux-musl-arm@1.83.4:
+ resolution: {integrity: sha512-0RrJRwMrmm+gG0VOB5b5Cjs7Sd+lhqpQJa6EJNEaZHljJokEfpE5GejZsGMRMIQLxEvVphZnnxl6sonCGFE/QQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ sass-embedded-linux-musl-ia32@1.83.4:
+ resolution: {integrity: sha512-LLb4lYbcxPzX4UaJymYXC+WwokxUlfTJEFUv5VF0OTuSsHAGNRs/rslPtzVBTvMeG9TtlOQDhku1F7G6iaDotA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [ia32]
+ os: [linux]
+
+ sass-embedded-linux-musl-riscv64@1.83.4:
+ resolution: {integrity: sha512-zoKlPzD5Z13HKin1UGR74QkEy+kZEk2AkGX5RelRG494mi+IWwRuWCppXIovor9+BQb9eDWPYPoMVahwN5F7VA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [riscv64]
+ os: [linux]
+
+ sass-embedded-linux-musl-x64@1.83.4:
+ resolution: {integrity: sha512-hB8+/PYhfEf2zTIcidO5Bpof9trK6WJjZ4T8g2MrxQh8REVtdPcgIkoxczRynqybf9+fbqbUwzXtiUao2GV+vQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ sass-embedded-linux-riscv64@1.83.4:
+ resolution: {integrity: sha512-83fL4n+oeDJ0Y4KjASmZ9jHS1Vl9ESVQYHMhJE0i4xDi/P3BNarm2rsKljq/QtrwGpbqwn8ujzOu7DsNCMDSHA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [riscv64]
+ os: [linux]
+
+ sass-embedded-linux-x64@1.83.4:
+ resolution: {integrity: sha512-NlnGdvCmTD5PK+LKXlK3sAuxOgbRIEoZfnHvxd157imCm/s2SYF/R28D0DAAjEViyI8DovIWghgbcqwuertXsA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ sass-embedded-win32-arm64@1.83.4:
+ resolution: {integrity: sha512-J2BFKrEaeSrVazU2qTjyQdAk+MvbzJeTuCET0uAJEXSKtvQ3AzxvzndS7LqkDPbF32eXAHLw8GVpwcBwKbB3Uw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ sass-embedded-win32-ia32@1.83.4:
+ resolution: {integrity: sha512-uPAe9T/5sANFhJS5dcfAOhOJy8/l2TRYG4r+UO3Wp4yhqbN7bggPvY9c7zMYS0OC8tU/bCvfYUDFHYMCl91FgA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [ia32]
+ os: [win32]
+
+ sass-embedded-win32-x64@1.83.4:
+ resolution: {integrity: sha512-C9fkDY0jKITdJFij4UbfPFswxoXN9O/Dr79v17fJnstVwtUojzVJWKHUXvF0Zg2LIR7TCc4ju3adejKFxj7ueA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ sass-embedded@1.83.4:
+ resolution: {integrity: sha512-Hf2burRA/y5PGxsg6jB9UpoK/xZ6g/pgrkOcdl6j+rRg1Zj8XhGKZ1MTysZGtTPUUmiiErqzkP5+Kzp95yv9GQ==}
+ engines: {node: '>=16.0.0'}
+ hasBin: true
+
+ sass@1.79.5:
+ resolution: {integrity: sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -2014,6 +2261,10 @@ packages:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, tarball: https://r2.cnpmjs.org/supports-color/-/supports-color-7.2.0.tgz}
engines: {node: '>=8'}
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
svg-baker@1.7.0:
resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==, tarball: https://r2.cnpmjs.org/svg-baker/-/svg-baker-1.7.0.tgz}
@@ -2022,6 +2273,14 @@ packages:
engines: {node: '>=10.13.0'}
hasBin: true
+ sync-child-process@1.0.2:
+ resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==}
+ engines: {node: '>=16.0.0'}
+
+ sync-message-port@1.1.3:
+ resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==}
+ engines: {node: '>=16.0.0'}
+
tinyexec@0.3.1:
resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
@@ -2150,6 +2409,9 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, tarball: https://r2.cnpmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz}
+ varint@6.0.0:
+ resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
+
vary@1.1.2:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, tarball: https://r2.cnpmjs.org/vary/-/vary-1.1.2.tgz}
engines: {node: '>= 0.8'}
@@ -2273,6 +2535,8 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
+ '@bufbuild/protobuf@2.2.3': {}
+
'@ctrl/tinycolor@3.6.1': {}
'@element-plus/icons-vue@2.3.1(vue@3.4.31)':
@@ -2487,6 +2751,66 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
+ '@parcel/watcher-android-arm64@2.5.0':
+ optional: true
+
+ '@parcel/watcher-darwin-arm64@2.5.0':
+ optional: true
+
+ '@parcel/watcher-darwin-x64@2.5.0':
+ optional: true
+
+ '@parcel/watcher-freebsd-x64@2.5.0':
+ optional: true
+
+ '@parcel/watcher-linux-arm-glibc@2.5.0':
+ optional: true
+
+ '@parcel/watcher-linux-arm-musl@2.5.0':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-glibc@2.5.0':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-musl@2.5.0':
+ optional: true
+
+ '@parcel/watcher-linux-x64-glibc@2.5.0':
+ optional: true
+
+ '@parcel/watcher-linux-x64-musl@2.5.0':
+ optional: true
+
+ '@parcel/watcher-win32-arm64@2.5.0':
+ optional: true
+
+ '@parcel/watcher-win32-ia32@2.5.0':
+ optional: true
+
+ '@parcel/watcher-win32-x64@2.5.0':
+ optional: true
+
+ '@parcel/watcher@2.5.0':
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.8
+ node-addon-api: 7.1.1
+ optionalDependencies:
+ '@parcel/watcher-android-arm64': 2.5.0
+ '@parcel/watcher-darwin-arm64': 2.5.0
+ '@parcel/watcher-darwin-x64': 2.5.0
+ '@parcel/watcher-freebsd-x64': 2.5.0
+ '@parcel/watcher-linux-arm-glibc': 2.5.0
+ '@parcel/watcher-linux-arm-musl': 2.5.0
+ '@parcel/watcher-linux-arm64-glibc': 2.5.0
+ '@parcel/watcher-linux-arm64-musl': 2.5.0
+ '@parcel/watcher-linux-x64-glibc': 2.5.0
+ '@parcel/watcher-linux-x64-musl': 2.5.0
+ '@parcel/watcher-win32-arm64': 2.5.0
+ '@parcel/watcher-win32-ia32': 2.5.0
+ '@parcel/watcher-win32-x64': 2.5.0
+
'@polka/url@1.0.0-next.28': {}
'@pureadmin/utils@2.5.0(echarts@5.5.1)(vue@3.4.31)':
@@ -2580,13 +2904,13 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
- '@unocss/astro@0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)':
+ '@unocss/astro@0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)':
dependencies:
'@unocss/core': 0.65.1
'@unocss/reset': 0.65.1
- '@unocss/vite': 0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)
+ '@unocss/vite': 0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)
optionalDependencies:
- vite: 5.3.2(@types/node@22.10.1)(sass@1.77.5)
+ vite: 5.3.2(@types/node@22.10.1)(sass@1.79.5)
transitivePeerDependencies:
- rollup
- supports-color
@@ -2715,7 +3039,7 @@ snapshots:
dependencies:
'@unocss/core': 0.65.1
- '@unocss/vite@0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)':
+ '@unocss/vite@0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)':
dependencies:
'@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.3(rollup@4.28.0)
@@ -2725,15 +3049,15 @@ snapshots:
chokidar: 3.6.0
magic-string: 0.30.14
tinyglobby: 0.2.10
- vite: 5.3.2(@types/node@22.10.1)(sass@1.77.5)
+ vite: 5.3.2(@types/node@22.10.1)(sass@1.79.5)
transitivePeerDependencies:
- rollup
- supports-color
- vue
- '@vitejs/plugin-vue@5.0.5(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)':
+ '@vitejs/plugin-vue@5.0.5(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)':
dependencies:
- vite: 5.3.2(@types/node@22.10.1)(sass@1.77.5)
+ vite: 5.3.2(@types/node@22.10.1)(sass@1.79.5)
vue: 3.4.31
'@vue/compiler-core@3.4.31':
@@ -2970,6 +3294,8 @@ snapshots:
dependencies:
fill-range: 7.1.1
+ buffer-builder@0.2.0: {}
+
bundle-require@5.0.0(esbuild@0.21.5):
dependencies:
esbuild: 0.21.5
@@ -3022,6 +3348,10 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.1
+
class-utils@0.3.6:
dependencies:
arr-union: 3.1.0
@@ -3044,6 +3374,8 @@ snapshots:
colorette@2.0.20: {}
+ colorjs.io@0.5.2: {}
+
combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
@@ -3159,6 +3491,8 @@ snapshots:
destr@2.0.3: {}
+ detect-libc@1.0.3: {}
+
dom-serializer@0.2.2:
dependencies:
domelementtype: 2.3.0
@@ -3577,6 +3911,8 @@ snapshots:
immutable@4.3.7: {}
+ immutable@5.0.3: {}
+
importx@0.4.4:
dependencies:
bundle-require: 5.0.0(esbuild@0.21.5)
@@ -3906,6 +4242,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ node-addon-api@7.1.1: {}
+
node-fetch-native@1.6.4: {}
normalize-path@3.0.0: {}
@@ -4070,6 +4408,8 @@ snapshots:
dependencies:
picomatch: 2.3.1
+ readdirp@4.1.1: {}
+
reflect.getprototypeof@1.0.7:
dependencies:
call-bind: 1.0.7
@@ -4132,6 +4472,10 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
+ rxjs@7.8.1:
+ dependencies:
+ tslib: 2.3.0
+
safe-array-concat@1.1.2:
dependencies:
call-bind: 1.0.7
@@ -4151,9 +4495,102 @@ snapshots:
dependencies:
ret: 0.1.15
- sass@1.77.5:
+ sass-embedded-android-arm64@1.83.4:
+ optional: true
+
+ sass-embedded-android-arm@1.83.4:
+ optional: true
+
+ sass-embedded-android-ia32@1.83.4:
+ optional: true
+
+ sass-embedded-android-riscv64@1.83.4:
+ optional: true
+
+ sass-embedded-android-x64@1.83.4:
+ optional: true
+
+ sass-embedded-darwin-arm64@1.83.4:
+ optional: true
+
+ sass-embedded-darwin-x64@1.83.4:
+ optional: true
+
+ sass-embedded-linux-arm64@1.83.4:
+ optional: true
+
+ sass-embedded-linux-arm@1.83.4:
+ optional: true
+
+ sass-embedded-linux-ia32@1.83.4:
+ optional: true
+
+ sass-embedded-linux-musl-arm64@1.83.4:
+ optional: true
+
+ sass-embedded-linux-musl-arm@1.83.4:
+ optional: true
+
+ sass-embedded-linux-musl-ia32@1.83.4:
+ optional: true
+
+ sass-embedded-linux-musl-riscv64@1.83.4:
+ optional: true
+
+ sass-embedded-linux-musl-x64@1.83.4:
+ optional: true
+
+ sass-embedded-linux-riscv64@1.83.4:
+ optional: true
+
+ sass-embedded-linux-x64@1.83.4:
+ optional: true
+
+ sass-embedded-win32-arm64@1.83.4:
+ optional: true
+
+ sass-embedded-win32-ia32@1.83.4:
+ optional: true
+
+ sass-embedded-win32-x64@1.83.4:
+ optional: true
+
+ sass-embedded@1.83.4:
dependencies:
- chokidar: 3.6.0
+ '@bufbuild/protobuf': 2.2.3
+ buffer-builder: 0.2.0
+ colorjs.io: 0.5.2
+ immutable: 5.0.3
+ rxjs: 7.8.1
+ supports-color: 8.1.1
+ sync-child-process: 1.0.2
+ varint: 6.0.0
+ optionalDependencies:
+ sass-embedded-android-arm: 1.83.4
+ sass-embedded-android-arm64: 1.83.4
+ sass-embedded-android-ia32: 1.83.4
+ sass-embedded-android-riscv64: 1.83.4
+ sass-embedded-android-x64: 1.83.4
+ sass-embedded-darwin-arm64: 1.83.4
+ sass-embedded-darwin-x64: 1.83.4
+ sass-embedded-linux-arm: 1.83.4
+ sass-embedded-linux-arm64: 1.83.4
+ sass-embedded-linux-ia32: 1.83.4
+ sass-embedded-linux-musl-arm: 1.83.4
+ sass-embedded-linux-musl-arm64: 1.83.4
+ sass-embedded-linux-musl-ia32: 1.83.4
+ sass-embedded-linux-musl-riscv64: 1.83.4
+ sass-embedded-linux-musl-x64: 1.83.4
+ sass-embedded-linux-riscv64: 1.83.4
+ sass-embedded-linux-x64: 1.83.4
+ sass-embedded-win32-arm64: 1.83.4
+ sass-embedded-win32-ia32: 1.83.4
+ sass-embedded-win32-x64: 1.83.4
+
+ sass@1.79.5:
+ dependencies:
+ '@parcel/watcher': 2.5.0
+ chokidar: 4.0.3
immutable: 4.3.7
source-map-js: 1.2.1
@@ -4292,6 +4729,10 @@ snapshots:
dependencies:
has-flag: 4.0.0
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
+
svg-baker@1.7.0:
dependencies:
bluebird: 3.7.2
@@ -4320,6 +4761,12 @@ snapshots:
picocolors: 1.1.1
stable: 0.1.8
+ sync-child-process@1.0.2:
+ dependencies:
+ sync-message-port: 1.1.3
+
+ sync-message-port@1.1.3: {}
+
tinyexec@0.3.1: {}
tinyglobby@0.2.10:
@@ -4453,9 +4900,9 @@ snapshots:
universalify@2.0.1: {}
- unocss@0.65.1(postcss@5.2.18)(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31):
+ unocss@0.65.1(postcss@5.2.18)(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31):
dependencies:
- '@unocss/astro': 0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)
+ '@unocss/astro': 0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)
'@unocss/cli': 0.65.1(rollup@4.28.0)
'@unocss/core': 0.65.1
'@unocss/postcss': 0.65.1(postcss@5.2.18)
@@ -4471,9 +4918,9 @@ snapshots:
'@unocss/transformer-compile-class': 0.65.1
'@unocss/transformer-directives': 0.65.1
'@unocss/transformer-variant-group': 0.65.1
- '@unocss/vite': 0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5))(vue@3.4.31)
+ '@unocss/vite': 0.65.1(rollup@4.28.0)(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5))(vue@3.4.31)
optionalDependencies:
- vite: 5.3.2(@types/node@22.10.1)(sass@1.77.5)
+ vite: 5.3.2(@types/node@22.10.1)(sass@1.79.5)
transitivePeerDependencies:
- postcss
- rollup
@@ -4517,18 +4964,20 @@ snapshots:
util-deprecate@1.0.2: {}
+ varint@6.0.0: {}
+
vary@1.1.2: {}
- vite-plugin-compression@0.5.1(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5)):
+ vite-plugin-compression@0.5.1(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5)):
dependencies:
chalk: 4.1.2
debug: 4.3.7
fs-extra: 10.1.0
- vite: 5.3.2(@types/node@22.10.1)(sass@1.77.5)
+ vite: 5.3.2(@types/node@22.10.1)(sass@1.79.5)
transitivePeerDependencies:
- supports-color
- vite-plugin-svg-icons@2.0.1(vite@5.3.2(@types/node@22.10.1)(sass@1.77.5)):
+ vite-plugin-svg-icons@2.0.1(vite@5.3.2(@types/node@22.10.1)(sass@1.79.5)):
dependencies:
'@types/svgo': 2.6.4
cors: 2.8.5
@@ -4538,11 +4987,11 @@ snapshots:
pathe: 0.2.0
svg-baker: 1.7.0
svgo: 2.8.0
- vite: 5.3.2(@types/node@22.10.1)(sass@1.77.5)
+ vite: 5.3.2(@types/node@22.10.1)(sass@1.79.5)
transitivePeerDependencies:
- supports-color
- vite@5.3.2(@types/node@22.10.1)(sass@1.77.5):
+ vite@5.3.2(@types/node@22.10.1)(sass@1.79.5):
dependencies:
esbuild: 0.21.5
postcss: 8.4.49
@@ -4550,7 +4999,7 @@ snapshots:
optionalDependencies:
'@types/node': 22.10.1
fsevents: 2.3.3
- sass: 1.77.5
+ sass: 1.79.5
vue-cropper@1.1.1: {}
diff --git a/src/assets/icons/svg/light.svg b/src/assets/icons/svg/light.svg
new file mode 100644
index 0000000..8c34d19
--- /dev/null
+++ b/src/assets/icons/svg/light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/svg/rain.svg b/src/assets/icons/svg/rain.svg
new file mode 100644
index 0000000..ef0d15b
--- /dev/null
+++ b/src/assets/icons/svg/rain.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/svg/temperature.svg b/src/assets/icons/svg/temperature.svg
new file mode 100644
index 0000000..15bb7be
--- /dev/null
+++ b/src/assets/icons/svg/temperature.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/svg/temperature2.svg b/src/assets/icons/svg/temperature2.svg
new file mode 100644
index 0000000..415ff6e
--- /dev/null
+++ b/src/assets/icons/svg/temperature2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/devices/weather.png b/src/assets/images/devices/weather.png
new file mode 100644
index 0000000..6d6ce5d
Binary files /dev/null and b/src/assets/images/devices/weather.png differ
diff --git a/src/assets/images/devices/worm.png b/src/assets/images/devices/worm.png
new file mode 100644
index 0000000..75d7edd
Binary files /dev/null and b/src/assets/images/devices/worm.png differ
diff --git a/src/dict/index.js b/src/dict/index.js
new file mode 100644
index 0000000..363d4ae
--- /dev/null
+++ b/src/dict/index.js
@@ -0,0 +1,98 @@
+export const pestDeviceParamsDict = {
+ insecticideTem: {
+ name: "杀虫仓温度",
+ svg: "temperature",
+ },
+ dryingTem: {
+ name: "干燥仓温度",
+ svg: "temperature2",
+ },
+ rain: {
+ name: "降雨状态",
+ svg: "rain",
+ },
+ illum: {
+ name: "光照强度",
+ svg: "light",
+ },
+ mode: {
+ name: "运行模式",
+ svg: "",
+ status: {
+ 0: "手动",
+ 1: "自动",
+ },
+ },
+ attractWorm: {
+ name: "诱虫灯",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "开启",
+ },
+ },
+ rainFlap: {
+ name: "虫雨挡板",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "打开",
+ },
+ },
+ wormFlap: {
+ name: "杀虫挡板",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "打开",
+ },
+ },
+ dryingFlap: {
+ name: "烘干挡板",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "打开",
+ },
+ },
+ moveWorm: {
+ name: "移虫装置",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "打开",
+ },
+ },
+ shake: {
+ name: "震动装置",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "启动",
+ },
+ },
+ fillLight: {
+ name: "补光灯",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "启动",
+ },
+ },
+ insecticide: {
+ name: "杀虫控制",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "启动",
+ },
+ },
+ drying: {
+ name: "烘干控制",
+ svg: "",
+ status: {
+ 0: "关闭",
+ 1: "启动",
+ },
+ },
+};
diff --git a/src/permission.js b/src/permission.js
index 7e3b5bf..baf6001 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -1,69 +1,79 @@
-import router from './router'
-import { ElMessage } from 'element-plus'
-import NProgress from 'nprogress'
-import 'nprogress/nprogress.css'
-import { getToken } from '@/utils/auth'
-import { isHttp, isPathMatch } from '@/utils/validate'
-import { isRelogin } from '@/utils/request'
-import useUserStore from '@/store/modules/user'
-import useSettingsStore from '@/store/modules/settings'
-import usePermissionStore from '@/store/modules/permission'
+import router from "./router";
+import { ElMessage } from "element-plus";
+import NProgress from "nprogress";
+import "nprogress/nprogress.css";
+import { getToken } from "@/utils/auth";
+import { isHttp, isPathMatch } from "@/utils/validate";
+import { isRelogin } from "@/utils/request";
+import useUserStore from "@/store/modules/user";
+import useSettingsStore from "@/store/modules/settings";
+import usePermissionStore from "@/store/modules/permission";
-NProgress.configure({ showSpinner: false })
+NProgress.configure({ showSpinner: false });
-const whiteList = ['/login', '/register']
+const whiteList = ["/login", "/register"];
const isWhiteList = (path) => {
- return whiteList.some(pattern => isPathMatch(pattern, path))
-}
+ return whiteList.some((pattern) => isPathMatch(pattern, path));
+};
router.beforeEach((to, from, next) => {
- NProgress.start()
+ // TODO 测试,先跳过
+ next();
+ return;
+ NProgress.start();
if (getToken()) {
- to.meta.title && useSettingsStore().setTitle(to.meta.title)
+ to.meta.title && useSettingsStore().setTitle(to.meta.title);
/* has token*/
- if (to.path === '/login') {
- next({ path: '/' })
- NProgress.done()
+ if (to.path === "/login") {
+ next({ path: "/" });
+ NProgress.done();
} else if (isWhiteList(to.path)) {
- next()
+ next();
} else {
if (useUserStore().roles.length === 0) {
- isRelogin.show = true
+ isRelogin.show = true;
// 判断当前用户是否已拉取完user_info信息
- useUserStore().getInfo().then(() => {
- isRelogin.show = false
- usePermissionStore().generateRoutes().then(accessRoutes => {
- // 根据roles权限生成可访问的路由表
- accessRoutes.forEach(route => {
- if (!isHttp(route.path)) {
- router.addRoute(route) // 动态添加可访问路由表
- }
- })
- next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
+ useUserStore()
+ .getInfo()
+ .then(() => {
+ isRelogin.show = false;
+ usePermissionStore()
+ .generateRoutes()
+ .then((accessRoutes) => {
+ // 根据roles权限生成可访问的路由表
+ accessRoutes.forEach((route) => {
+ if (!isHttp(route.path)) {
+ router.addRoute(route); // 动态添加可访问路由表
+ }
+ });
+ next({ ...to, replace: true }); // hack方法 确保addRoutes已完成
+ });
})
- }).catch(err => {
- useUserStore().logOut().then(() => {
- ElMessage.error(err)
- next({ path: '/' })
- })
- })
+ .catch((err) => {
+ useUserStore()
+ .logOut()
+ .then(() => {
+ ElMessage.error(err);
+ next({ path: "/" });
+ });
+ });
} else {
- next()
+ next();
}
}
} else {
// 没有token
if (isWhiteList(to.path)) {
// 在免登录白名单,直接进入
- next()
+ next();
} else {
- next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
- NProgress.done()
+ next(`/login?redirect=${to.fullPath}`); // 否则全部重定向到登录页
+ NProgress.done();
}
}
-})
+});
router.afterEach(() => {
- NProgress.done()
-})
+ NProgress.done();
+});
diff --git a/src/views/index.vue b/src/views/index.vue
index c1b5e1f..3a73c68 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,19 +1,7 @@
-
-
-
-
-
-
-
{{ item.title }}
-
{{ item.num }}
-
-
-
-
-
+
@@ -37,8 +25,8 @@
- 设备信息
-
+ 设备信息
+
@@ -46,6 +34,7 @@
实时数据
+
@@ -55,86 +44,19 @@
diff --git a/src/views/indexComponents/deviceOverview.vue b/src/views/indexComponents/deviceOverview.vue
new file mode 100644
index 0000000..345a971
--- /dev/null
+++ b/src/views/indexComponents/deviceOverview.vue
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+
{{ item.title }}
+
{{ item.num }}
+
+
+
+
+
+ 测试窗口
+
+
+
+
+
+
+
+
diff --git a/src/views/indexComponents/liveData.vue b/src/views/indexComponents/liveData.vue
index e69de29..2a5aa41 100644
--- a/src/views/indexComponents/liveData.vue
+++ b/src/views/indexComponents/liveData.vue
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
{{ item.name }}
+
{{ item.value ? item.value : '--' }}
+
+
+
+
+
+
+
+
+
+
{{ item.name }}
+
{{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/login.vue b/src/views/login.vue
index 685102d..83de43b 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -105,6 +105,10 @@ watch(route, (newRoute) => {
}, { immediate: true });
function handleLogin() {
+ // TODO 测试: 跳过登录
+ router.push({ path: "/" });
+ return;
+
proxy.$refs.loginRef.validate(valid => {
if (valid) {
loading.value = true;
@@ -161,8 +165,9 @@ function getCookie() {
};
}
-getCode();
-getCookie();
+// TODO: 测试,先注释
+// getCode();
+// getCookie();