首页 学生端 demo

wqf
翁启凡 2 months ago
parent 8c73e10e9f
commit 29cf31e58e

8
.idea/.gitignore vendored

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

@ -0,0 +1,3 @@
{
"recommendations": ["Vue.volar"]
}

@ -0,0 +1,5 @@
# Vue 3 + Vite
This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
Learn more about IDE Support for Vue in the [Vue Docs Scaling up Guide](https://vuejs.org/guide/scaling-up/tooling.html#ide-support).

@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Vue</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

@ -0,0 +1,20 @@
{
"name": "lesson2",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"element-plus": "^2.8.6",
"vue": "^3.4.37",
"vue-router": "4"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.1.2",
"vite": "^5.4.1"
}
}

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,25 @@
<script setup>
</script>
<template>
<div>
<router-view></router-view>
</div>
</template>
<style scoped>
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vue:hover {
filter: drop-shadow(0 0 2em #42b883aa);
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>

After

Width:  |  Height:  |  Size: 496 B

@ -0,0 +1,13 @@
import { createApp } from 'vue'
import './style.css'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// import App from './view/student/exam.vue'
import App from './App.vue'
import router from './router'
const app = createApp(App)
app.use(ElementPlus)
app.use(router)
app.mount('#app')

@ -0,0 +1,48 @@
import {
createRouter,
createWebHashHistory
} from "vue-router"
const router = createRouter({
history: createWebHashHistory(),
routes: [{
path: '/',
redirect: '/home' //默认页面
},
{
path: '/home',
name: 'Home',
component: () => import('./view/home.vue')
},
{
path: '/student',
name: 'Student',
component: () => import('./view/student/index.vue'),
children:[
{
path: 'personalCenter',
component: () => import('./view/student/personalCenter.vue'),
},
{
path: 'discussion',
component: () => import('./view/student/discussion.vue'),
},
{
path: 'myExam',
component: () => import('./view/student/myExam.vue'),
},
{
path: 'myScore',
component: () => import('./view/student/myScore.vue'),
}
]
},
{
path: '/exam',
name: 'Exam',
component: () => import('./view/student/exam.vue')
}
]
})
export default router

@ -0,0 +1,79 @@
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
.card {
padding: 2em;
}
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}

@ -0,0 +1,341 @@
<template>
<div class="common-layout">
<el-container>
<el-header>
<el-menu class="el-menu-demo" mode="horizontal">
<el-menu-item index="1">
<el-image class="logo" src="../assets/images/轮播图1.png"></el-image>
</el-menu-item>
<el-menu-item index="2">
<el-text>首页</el-text>
</el-menu-item>
<el-menu-item index="3">
<el-sub-menu index="3">
<template #title>考试管理</template>
<el-menu-item index="2-1">item one</el-menu-item>
<el-menu-item index="2-2">item two</el-menu-item>
<el-menu-item index="2-3">item three</el-menu-item>
<el-sub-menu index="2-4">
<template #title>item four</template>
<el-menu-item index="2-4-1">item one</el-menu-item>
<el-menu-item index="2-4-2">item two</el-menu-item>
<el-menu-item index="2-4-3">item three</el-menu-item>
</el-sub-menu>
</el-sub-menu>
</el-menu-item>
<el-menu-item index="4">
<el-text>讨论区</el-text>
</el-menu-item>
<el-menu-item index="5">
<el-text>关于我们</el-text>
</el-menu-item>
<el-menu-item index="6">
<el-button type="primary" @click="login"></el-button>
</el-menu-item>
<el-menu-item index="7">
<el-button type="primary">注册</el-button>
</el-menu-item>
<el-menu-item index="8">others</el-menu-item>
</el-menu>
</el-header>
<el-main>
<el-row>
<el-col :span="14">
<el-carousel indicator-position="outside" height="500px">
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图1.png" alt="" />
</el-carousel-item>
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图2.png" alt="" />
</el-carousel-item>
</el-carousel>
</el-col>
<el-col :span="9" class="bg">
<el-text class="notice">温馨提示</el-text>
<br>
<el-text style="text-align: left;font-size: 18px;line-height: 25px;">
<p>ExamSphere在线考试系统温馨提示尊敬的用户您好</p>
<p> 请遵守考试规则诚信应考</p>
<p> 请确保您的设备电脑平板或智能手机已安装最新版本的浏览器</p>
<p> 检查您的网络连接是否稳定以避免考试过程中的中断</p>
<p> 请提前登录系统熟悉考试流程和界面合理分配答题时间避免在某一题上花费过多时间</p>
<p> 如遇技术问题请立即联系我们的技术支持团队我们的联系方式为</p>
<p> 考试结束后我们欢迎您提供反馈以帮助我们不断改进服务您可以通过我们的网站或直接联系客服进行反馈我们祝您考试顺利并期待为您提供卓越的在线考试体验</p>
<p>ExamSphere让考试更简单让学习更高效ExamSphere团队敬上</p>
</el-text>
</el-col>
</el-row>
<!-- <el-carousel :interval="4000" type="card" height="500px">
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图1.png" alt="" style="width: 100%; height: 100%; object-fit: cover;"/>
</el-carousel-item>
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图2.png" alt="" style="width: 100%; height: 100%; object-fit: cover;"/>
</el-carousel-item>
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图3.png" alt="" style="width: 100%; height: 100%; object-fit: cover;"/>
</el-carousel-item>
</el-carousel> -->
<!-- <el-text style="font-size: 30px;">公告栏</el-text>
<div class="flex flex-wrap gap-4">
<el-card style="width: 480px;height: 50px; margin-top: 10px;" shadow="always">Always</el-card>
<el-card style="width: 480px;height: 50px; margin-top: 10px;" shadow="always">Always</el-card>
<el-card style="width: 480px;height: 50px; margin-top: 10px;" shadow="always">Always</el-card>
</div> -->
<el-row>
<el-col :span="8" class="notice">
<el-text class="notice-title">公告栏</el-text>
<div class="demo-collapse">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="通知1" name="1">
<div>
内容1
</div>
</el-collapse-item>
<el-collapse-item title="通知2" name="2">
<div>
内容2
</div>
</el-collapse-item>
<el-collapse-item title="通知3" name="3">
<div>
内容3
</div>
</el-collapse-item>
<el-collapse-item title="通知4" name="4">
<div>
内容4
</div>
</el-collapse-item>
<el-collapse-item title="通知5" name="5">
<div>
内容5
</div>
</el-collapse-item>
<el-collapse-item title="通知6" name="6">
<div>
内容6
</div>
</el-collapse-item>
</el-collapse>
</div>
</el-col>
<el-col :span="14" class="news">
<el-card>
<p>最新发展动态</p>
<el-text style="text-align: left;font-size: 18px;line-height: 25px;">
技术进步推动系统升级
在线考试系统正不断融入人工智能大数据等先进技术实现智能化组卷实时监控与防作弊自动化阅卷与成绩分析等功能
这些技术的引入不仅提高了考试的公平性和准确性还大大减轻了教师的工作负担
市场需求持续增长
随着远程教育和在线培训的兴起越来越多的教育机构和企业开始采用在线考试系统以满足大规模高效率的考试需求
根据艾媒咨询的数据中国SaaS行业市场规模持续增长预计在线考试SaaS行业也将迎来快速发展
</el-text>
</el-card>
<el-card>
<p>系统功能特点</p>
<el-text style="text-align: left;font-size: 18px;line-height: 25px;">
多样化题型与组卷方式
在线考试系统支持多种题型如单选题多选题判断题填空题简答题等满足不同考试场景的需求
系统提供多种组卷方式如固定试卷抽题试卷随机试卷等确保考试的公平性和不确定性
防作弊措施
在线考试系统采用人脸识别行为分析声音监测等高科技手段对考生进行实时监控有效防止作弊行为
这些措施不仅提高了考试的公信力还为考生创造了更加公平透明的竞争环境
智能化阅卷与成绩分析
对于客观题系统可以自动根据预设答案进行评分准确快速
对于主观题系统提供评分参考和评分标准帮助教师进行一致性评分
考试结束后系统能够自动收集和整理考试数据生成详尽的统计报表为管理员提供全面的数据支持
</el-text>
</el-card>
<el-card>
<p>应用场景与优势</p>
<el-text style="text-align: left;font-size: 18px;line-height: 25px;">
应用场景
在线考试系统广泛应用于学校教育企业培训职业资格认证在线竞赛和个人自学等领域
它打破了地域和时间的限制提高了考试的灵活性和便捷性
优势
在线考试系统能够大大降低考试成本节约时间
它支持大规模考试提高考试效率
通过采用先进的防作弊措施系统能够确保考试的公平性和准确性
未来发展趋势
智能化与个性化
未来在线考试系统将更加注重智能化和个性化发展通过引入更先进的算法和技术手段系统能够更精准地满足不同用户的考试需求
数据安全与隐私保护
随着在线考试系统的广泛应用数据安全和隐私保护将成为用户关注的焦点系统需要不断加强安全防护措施确保用户数据的安全性和隐私性
跨平台与移动化
未来在线考试系统将更加注重跨平台和移动化的发展用户可以通过手机平板等设备随时随地参加考试和学习提高考试的便捷性和灵活性
综上所述在线考试系统正以其便捷性高效性和智能化特点成为教育和培训领域的重要工具随着技术的不断进步和市场的持续发展相信在线考试系统将会迎来更加广阔的应用前景
</el-text>
</el-card>
</el-col>
</el-row>
</el-main>
<el-footer></el-footer>
</el-container>
</div>
</template>
<script setup>
import { ref } from 'vue'
import {useRouter} from 'vue-router';
const router = useRouter()
const login = () => {
router.push({
name:"Student"
})
}
const activeName = ref('1')
// import { ref } from 'vue'
// const activeNames = ref(['1'])
// const handleChange = (val: string[]) => {
// console.log(val)
// }
// const tableData = [
// {
// date: '2016-05-03',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-02',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-04',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-01',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-01',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-01',
// name: 'Tom',
// message: '',
// },
// ]
</script>
<style scoped>
.common-layout {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.el-header,
.el-footer {
background-color: white;
color: #333;
text-align: center;
}
.el-main {
background-color: white;
color: #333;
/* text-align: center; */
line-height: 15px;
}
.el-container {
height: 100%;
}
.el-menu--horizontal>.el-menu-item:nth-child(5) {
margin-right: auto;
}
/* 公告栏和温馨提示标题样式 */
.notice{
padding: 30px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
border: 1px solid #ebeef5;
margin-bottom: 30px;
margin-left:20px ;
}
.notice-title {
font-weight: bold;
color: #333;
font-size: 30px;
padding: 10px 20px;
border-radius: 5px;
}
/* 折叠面板样式 */
.el-collapse {
border: none;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
border-radius: 8px;
overflow: hidden;
}
.el-collapse-item__header {
background-color: #f0f9ff;
/* 淡蓝色背景 */
border-bottom: 1px solid #dcdfe6;
/* 边框颜色 */
padding-left: 20px;
}
.el-collapse-item__wrap {
background-color: #fff;
padding: 20px;
font-size: 14px;
color: #333;
}
/* 文本段落样式 */
.el-text p {
margin: 0 0 15px 0;
line-height: 1.6;
color: #666;
background-color: #f5f7fa;
/* 浅灰色背景 */
padding: 10px 15px;
border-left: 4px solid #409eff;
/* 边框颜色 */
}
/* 整体布局样式 */
.bg {
padding: 30px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
border: 1px solid #ebeef5;
margin-bottom: 30px;
margin-left:50px ;
}
/* 为标题添加鼠标悬停效果 */
.el-collapse-item__header:hover {
background-color: #e6f7ff;
/* 鼠标悬停时的背景色 */
}
.news{
margin-left: 100px;
}
</style>

@ -0,0 +1,252 @@
<template>
<div class="common-layout">
<el-container>
<el-header>
<el-menu class="el-menu-demo" mode="horizontal">
<el-menu-item index="1">
<el-image class="logo" src="../assets/images/轮播图1.png"></el-image>
</el-menu-item>
<el-menu-item index="2">
<el-text>首页</el-text>
</el-menu-item>
<el-menu-item index="3">
<el-sub-menu index="3">
<template #title>考试管理</template>
<el-menu-item index="2-1">item one</el-menu-item>
<el-menu-item index="2-2">item two</el-menu-item>
<el-menu-item index="2-3">item three</el-menu-item>
<el-sub-menu index="2-4">
<template #title>item four</template>
<el-menu-item index="2-4-1">item one</el-menu-item>
<el-menu-item index="2-4-2">item two</el-menu-item>
<el-menu-item index="2-4-3">item three</el-menu-item>
</el-sub-menu>
</el-sub-menu>
</el-menu-item>
<el-menu-item index="4">
<el-text>讨论区</el-text>
</el-menu-item>
<el-menu-item index="5">
<el-text>关于我们</el-text>
</el-menu-item>
<el-menu-item index="6">
<el-button type="primary">登录</el-button>
</el-menu-item>
<el-menu-item index="7">
<el-button type="primary">注册</el-button>
</el-menu-item>
<el-menu-item index="8">others</el-menu-item>
</el-menu>
</el-header>
<el-main>
<!-- <el-carousel indicator-position="outside" height="auto">
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图1.png" alt="" />
</el-carousel-item>
<el-carousel-item style="height: 500px">
<img src="../assets/vue.svg" alt="" />
</el-carousel-item>
</el-carousel> -->
<el-carousel :interval="4000" type="card" height="500px">
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图1.png" alt="" />
</el-carousel-item>
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图2.jpg" alt="" />
</el-carousel-item>
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图3.png" alt="" />
</el-carousel-item>
<el-carousel-item style="height: 500px">
<img src="../assets/images/轮播图4.jpg" alt="" />
</el-carousel-item>
</el-carousel>
<!-- <el-text style="font-size: 30px;">公告栏</el-text>
<div class="flex flex-wrap gap-4">
<el-card style="width: 480px;height: 50px; margin-top: 10px;" shadow="always">Always</el-card>
<el-card style="width: 480px;height: 50px; margin-top: 10px;" shadow="always">Always</el-card>
<el-card style="width: 480px;height: 50px; margin-top: 10px;" shadow="always">Always</el-card>
</div> -->
<el-row>
<el-col :span="12">
<el-text class="notice">公告栏</el-text>
<div class="demo-collapse">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="通知1" name="1">
<div>
内容1
</div>
</el-collapse-item>
<el-collapse-item title="通知2" name="2">
<div>
内容2
</div>
</el-collapse-item>
<el-collapse-item title="通知3" name="3">
<div>
内容3
</div>
</el-collapse-item>
</el-collapse>
</div>
</el-col>
<el-col :span="12">
<el-text class="notice">温馨提示</el-text>
<br>
<el-text style="text-align: left;">
<p>ExamSphere在线考试系统温馨提示尊敬的用户您好</p>
<p> 请遵守考试规则诚信应考</p>
<p> 请确保您的设备电脑平板或智能手机已安装最新版本的浏览器</p>
<p> 检查您的网络连接是否稳定以避免考试过程中的中断</p>
<p> 请提前登录系统熟悉考试流程和界面合理分配答题时间避免在某一题上花费过多时间</p>
<p> 如遇技术问题请立即联系我们的技术支持团队我们的联系方式为</p>
<p> 考试结束后我们欢迎您提供反馈以帮助我们不断改进服务您可以通过我们的网站或直接联系客服进行反馈我们祝您考试顺利并期待为您提供卓越的在线考试体验</p>
<p>ExamSphere让考试更简单让学习更高效ExamSphere团队敬上</p>
</el-text>
</el-col>
</el-row>
</el-main>
<el-footer></el-footer>
</el-container>
</div>
</template>
<script lang="ts" setup>
// import { ref } from 'vue'
// const activeNames = ref(['1'])
// const handleChange = (val: string[]) => {
// console.log(val)
// }
// const tableData = [
// {
// date: '2016-05-03',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-02',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-04',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-01',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-01',
// name: 'Tom',
// message: '',
// },
// {
// date: '2016-05-01',
// name: 'Tom',
// message: '',
// },
// ]
</script>
<style scoped>
.common-layout {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.el-header,
.el-footer {
background-color: white;
color: #333;
text-align: center;
}
.el-main {
background-color: white;
color: #333;
/* text-align: center; */
line-height: 15px;
}
.el-container {
height: 100%;
}
.el-menu--horizontal>.el-menu-item:nth-child(5) {
margin-right: auto;
}
/* 公告栏和温馨提示标题样式 */
.notice {
font-weight: bold;
color: #333;
font-size: 20px;
padding: 10px 20px;
border-radius: 5px;
margin-bottom: 20px;
}
/* 折叠面板样式 */
.el-collapse {
border: none;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
border-radius: 8px;
overflow: hidden;
}
.el-collapse-item__header {
background-color: #f0f9ff;
/* 淡蓝色背景 */
border-bottom: 1px solid #dcdfe6;
/* 边框颜色 */
padding-left: 20px;
}
.el-collapse-item__wrap {
background-color: #fff;
padding: 20px;
font-size: 14px;
color: #333;
}
/* 文本段落样式 */
.el-text p {
margin: 0 0 15px 0;
line-height: 1.6;
color: #666;
background-color: #f5f7fa;
/* 浅灰色背景 */
padding: 10px 15px;
border-left: 4px solid #409eff;
/* 边框颜色 */
}
/* 整体布局样式 */
.el-col {
padding: 30px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
border: 1px solid #ebeef5;
/* 边框颜色 */
margin-bottom: 30px;
}
/* 为标题添加鼠标悬停效果 */
.el-collapse-item__header:hover {
background-color: #e6f7ff;
/* 鼠标悬停时的背景色 */
}
</style>

@ -0,0 +1,133 @@
<template>
<div class="discussion">
<div class="discussion-header">
<h1>讨论区</h1>
</div>
<div class="post-form">
<textarea placeholder="分享你的想法..." v-model="postContent"></textarea>
<button type="primary" @click="submitPost"></button>
</div>
<div class="posts" v-if="posts.length > 0">
<div class="post" v-for="(post, index) in posts" :key="index">
<div class="post-content">{{ post.content }}</div>
<div class="post-meta">
<span>{{ post.author }}</span>
<span>{{ post.date }}</span>
</div>
</div>
</div>
<div v-else class="no-posts">
<p>还没有帖子快来发表第一个吧</p>
</div>
</div>
</template>
<script>
export default {
data() {
return {
postContent: '',
posts: [
//
{
content: '帖子A。',
author: '用户A',
date: '2024-04-01'
},
{
content: '帖子B。',
author: '用户B',
date: '2024-04-02'
}
]
};
},
methods: {
submitPost() {
if (this.postContent.trim() === '') return;
const newPost = {
content: this.postContent,
author: '用户C', //
date: new Date().toISOString().slice(0, 10).replace(/-/g, '-')
};
this.posts.push(newPost);
this.postContent = ''; //
}
}
};
</script>
<style scoped>
.discussion {
max-width: 800px;
margin: 30px auto;
padding: 20px;
background: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
.discussion-header h1 {
font-size: 24px;
text-align: center;
color: #333;
}
.post-form textarea {
width: 100%;
padding: 10px;
margin-bottom: 10px;
border: 1px solid #ddd;
border-radius: 4px;
resize: vertical;
min-height: 100px;
}
.post-form button {
padding: 10px 20px;
background: #5cb85c;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background 0.3s;
}
.post-form button:hover {
background: #4cae4c;
}
.posts {
margin-top: 20px;
}
.post {
border-bottom: 1px solid #eee;
padding: 15px 0;
}
.post:last-child {
border-bottom: none;
}
.post-content {
margin-bottom: 10px;
color: #555;
}
.post-meta {
font-size: 14px;
color: #888;
display: flex;
justify-content: space-between;
}
.no-posts {
text-align: center;
margin-top: 20px;
}
.no-posts p {
color: #777;
}
</style>

@ -0,0 +1,9 @@
<template>
<div>考试</div>
</template>
<script>
</script>
<style>
</style>

@ -0,0 +1,99 @@
<template>
<div class="common-layout">
<el-container>
<el-header>
<el-row type="flex" justify="space-between" align="middle">
<el-col :span="12" class="title">
<el-text style="font-size: 30px; color: white;">ExamSphere</el-text>
</el-col>
<el-col :span="12" class="user">
<el-text style="font-size: 16px; color: white;">用户也这波</el-text>
</el-col>
</el-row>
</el-header>
<el-container>
<el-aside width="300px">
<el-menu default-active="/home" class="el-menu-vertical-demo">
<el-menu-item index="1">
<router-link to="/student/myExam">
<!-- <i class="el-icon-document"></i> -->
我的考试
</router-link>
</el-menu-item>
<el-menu-item index="2">
<router-link to="/student/myScore">
我的成绩
</router-link>
</el-menu-item>
<el-menu-item index="3">
<router-link to="/student/discussion">
讨论区
</router-link>
</el-menu-item>
<el-menu-item index="4">
<router-link to="/student/personalCenter">
个人中心
</router-link>
</el-menu-item>
</el-menu>
</el-aside>
<el-main>
<router-view></router-view>
</el-main>
</el-container>
</el-container>
</div>
</template>
<script>
</script>
<style>
.common-layout {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.el-container {
height: 100%;
}
.el-header {
background-color: royalblue;
}
.el-menu-demo {
background-color: royalblue;
}
.title {
text-align: left;
}
.user {
text-align: right;
}
.el-aside {
background-color: #d9ecff;
color: #333;
text-align: center;
/* line-height: 200px; */
}
.el-main {
background-color: #ecf5ff;
color: #333;
text-align: center;
/* line-height: 160px; */
}
</style>

@ -0,0 +1,113 @@
<template>
<div class="exam-list">
<h2>考试列表</h2>
<table>
<thead>
<tr>
<th>考试科目</th>
<th>所属专业</th>
<th>年级</th>
<th>考试日期</th>
<th>考试时间</th>
</tr>
</thead>
<tbody>
<tr v-for="(exam, index) in exams" :key="index" >
<td @click="goToExam(exam)">{{ exam.subject }}</td>
<td>{{ exam.major }}</td>
<td>{{ exam.grade }}</td>
<td>{{ exam.date }}</td>
<td>{{ exam.time }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script setup>
import { useRouter } from 'vue-router';
const router = useRouter();
//
const exams = [{
subject: '计算机组成原理',
major: '软件工程',
grade: '2023',
date: '2024-04-01',
time: '09:00-11:00'
},
{
subject: '数据结构',
major: '数字媒体技术',
grade: '2022',
date: '2024-04-15',
time: '14:00-16:00'
},
{
subject: '计算机网络',
major: '计算机科学与技术',
grade: '2022',
date: '2024-05-01',
time: '09:00-11:00'
},
{
subject: '操作系统',
major: '软件工程',
grade: '2023',
date: '2024-05-20',
time: '14:00-16:00'
}
];
//
const goToExam = (exam) => {
router.push({ name: "Exam", params: { exam } });
}
</script>
<style scoped>
.exam-list {
max-width: 800px;
margin: 30px auto;
padding: 20px;
background: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
.exam-list h2 {
text-align: center;
color: #333;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th,
td {
border: 1px solid #ddd;
padding: 12px;
text-align: left;
}
th {
background-color: #007BFF;
color: #fff;
}
td {
color: #333;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
tr:hover {
background-color: #f1f1f1;
}
</style>

@ -0,0 +1,114 @@
<template>
<div class="grades">
<h2>我的成绩</h2>
<table>
<thead>
<tr>
<th>考试日期</th>
<th>课程名称</th>
<th>考试分数</th>
<th>是否及格</th>
</tr>
</thead>
<tbody>
<tr v-for="(grade, index) in grades" :key="index">
<td>{{ grade.examDate }}</td>
<td>{{ grade.courseName }}</td>
<td>{{ grade.score }}</td>
<td>{{ grade.passed ? '及格' : '不及格' }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
data() {
return {
grades: [{
examDate: '2024-04-01',
courseName: '数据结构',
score: 85,
passed: true
},
{
examDate: '2024-04-15',
courseName: '计算机网络',
score: 72,
passed: true
},
{
examDate: '2024-05-01',
courseName: '操作系统',
score: 58,
passed: false
},
{
examDate: '2024-05-20',
courseName: '计算机组成原理',
score: 88,
passed: true
}
]
};
}
};
</script>
<style scoped>
.grades {
max-width: 800px;
margin: 30px auto;
padding: 20px;
background: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
.grades h1 {
text-align: center;
color: #333;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th,
td {
border: 1px solid #ddd;
padding: 12px;
text-align: left;
}
th {
background-color: #007BFF;
color: #fff;
}
td {
color: #333;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
tr:hover {
background-color: #f1f1f1;
}
/* 及格和不及格的颜色标记 */
.passed {
color: #28a745;
/* 绿色 */
}
.not-passed {
color: #dc3545;
/* 红色 */
}
</style>

@ -0,0 +1,94 @@
<template>
<el-row class="page">
<el-row class="block-view">
<el-row class="top">
<el-col>
<el-text class="mx-1">个人信息</el-text>
</el-col>
</el-row>
<el-row class="express-view">
<el-row class="express-no-view">
<el-text class="label">姓名:</el-text>
<el-text class="info">{{ adminInfo.name }}</el-text>
</el-row>
<el-row class="express-no-view">
<el-text class="label">账号:</el-text>
<el-text class="info">{{ adminInfo.username }}</el-text>
</el-row>
<el-row class="express-no-view">
<el-text class="label">邮箱:</el-text>
<el-text class="info">{{ adminInfo.email }}</el-text>
</el-row>
<el-row class="express-no-view">
<el-text class="label">签名:</el-text>
<el-text class="info">{{ adminInfo.signature }}</el-text>
</el-row>
</el-row>
</el-row>
</el-row>
</template>
<script setup>
import {
ref
} from 'vue';
const adminInfo = ref({
name: 'yyy',
username: '123',
email: 'admin@example.com',
signature: '致力于教育事业'
});
</script>
<style>
.page {
display: flex;
flex-direction: column;
width: 100%;
background-color: white;
line-height: 20px;
}
.block-view {
width: 100%;
display: flex;
flex-direction: column;
}
.top {
display: flex;
flex-direction: row;
justify-content: flex-start;
padding: 20px;
color: gray;
}
.express-view {
display: flex;
flex-direction: column;
/* 垂直展示 */
width: 100%;
}
.express-no-view {
display: flex;
flex-direction: row;
/* 横向展示 */
margin: 10px 0;
/* 增加行间距 */
}
.label {
font-weight: bold;
/* 更改标签字体为粗体 */
margin-right: 10px;
/* 右边距,间隔标签与内容 */
}
.info {
font-size: large;
/* 改变信息字体大小 */
}
</style>

@ -0,0 +1,7 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
})

@ -0,0 +1,603 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@babel/helper-string-parser@^7.24.8":
version "7.24.8"
resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d"
integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==
"@babel/helper-validator-identifier@^7.24.7":
version "7.24.7"
resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db"
integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==
"@babel/parser@^7.25.3":
version "7.25.6"
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f"
integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==
dependencies:
"@babel/types" "^7.25.6"
"@babel/types@^7.25.6":
version "7.25.6"
resolved "https://registry.npmmirror.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6"
integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==
dependencies:
"@babel/helper-string-parser" "^7.24.8"
"@babel/helper-validator-identifier" "^7.24.7"
to-fast-properties "^2.0.0"
"@ctrl/tinycolor@^3.4.1":
version "3.6.1"
resolved "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31"
integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==
"@element-plus/icons-vue@^2.3.1":
version "2.3.1"
resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz#1f635ad5fdd5c85ed936481525570e82b5a8307a"
integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==
"@esbuild/aix-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==
"@esbuild/android-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052"
integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==
"@esbuild/android-arm@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28"
integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==
"@esbuild/android-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e"
integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==
"@esbuild/darwin-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a"
integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==
"@esbuild/darwin-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22"
integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==
"@esbuild/freebsd-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e"
integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==
"@esbuild/freebsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261"
integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==
"@esbuild/linux-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b"
integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==
"@esbuild/linux-arm@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9"
integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==
"@esbuild/linux-ia32@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2"
integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==
"@esbuild/linux-loong64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df"
integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==
"@esbuild/linux-mips64el@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe"
integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==
"@esbuild/linux-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4"
integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==
"@esbuild/linux-riscv64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc"
integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==
"@esbuild/linux-s390x@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de"
integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==
"@esbuild/linux-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0"
integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==
"@esbuild/netbsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047"
integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==
"@esbuild/openbsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70"
integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==
"@esbuild/sunos-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b"
integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==
"@esbuild/win32-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d"
integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==
"@esbuild/win32-ia32@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b"
integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==
"@esbuild/win32-x64@0.21.5":
version "0.21.5"
resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
"@floating-ui/core@^1.6.0":
version "1.6.8"
resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz#aa43561be075815879305965020f492cdb43da12"
integrity sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==
dependencies:
"@floating-ui/utils" "^0.2.8"
"@floating-ui/dom@^1.0.1":
version "1.6.12"
resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz#6333dcb5a8ead3b2bf82f33d6bc410e95f54e556"
integrity sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==
dependencies:
"@floating-ui/core" "^1.6.0"
"@floating-ui/utils" "^0.2.8"
"@floating-ui/utils@^0.2.8":
version "0.2.8"
resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62"
integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==
"@jridgewell/sourcemap-codec@^1.5.0":
version "1.5.0"
resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
"@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7":
version "2.11.7"
resolved "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671"
integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==
"@rollup/rollup-android-arm-eabi@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz#0412834dc423d1ff7be4cb1fc13a86a0cd262c11"
integrity sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==
"@rollup/rollup-android-arm64@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz#baf1a014b13654f3b9e835388df9caf8c35389cb"
integrity sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==
"@rollup/rollup-darwin-arm64@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz#0a2c364e775acdf1172fe3327662eec7c46e55b1"
integrity sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==
"@rollup/rollup-darwin-x64@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz#a972db75890dfab8df0da228c28993220a468c42"
integrity sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==
"@rollup/rollup-linux-arm-gnueabihf@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz#1609d0630ef61109dd19a278353e5176d92e30a1"
integrity sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==
"@rollup/rollup-linux-arm-musleabihf@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz#3c1dca5f160aa2e79e4b20ff6395eab21804f266"
integrity sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==
"@rollup/rollup-linux-arm64-gnu@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz#c2fe376e8b04eafb52a286668a8df7c761470ac7"
integrity sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==
"@rollup/rollup-linux-arm64-musl@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz#e62a4235f01e0f66dbba587c087ca6db8008ec80"
integrity sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==
"@rollup/rollup-linux-powerpc64le-gnu@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz#24b3457e75ee9ae5b1c198bd39eea53222a74e54"
integrity sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==
"@rollup/rollup-linux-riscv64-gnu@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz#38edfba9620fe2ca8116c97e02bd9f2d606bde09"
integrity sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==
"@rollup/rollup-linux-s390x-gnu@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz#a3bfb8bc5f1e802f8c76cff4a4be2e9f9ac36a18"
integrity sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==
"@rollup/rollup-linux-x64-gnu@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz#0dadf34be9199fcdda44b5985a086326344f30ad"
integrity sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==
"@rollup/rollup-linux-x64-musl@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz#7b7deddce240400eb87f2406a445061b4fed99a8"
integrity sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==
"@rollup/rollup-win32-arm64-msvc@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz#a0ca0c5149c2cfb26fab32e6ba3f16996fbdb504"
integrity sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==
"@rollup/rollup-win32-ia32-msvc@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz#aae2886beec3024203dbb5569db3a137bc385f8e"
integrity sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==
"@rollup/rollup-win32-x64-msvc@4.21.2":
version "4.21.2"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz#e4291e3c1bc637083f87936c333cdbcad22af63b"
integrity sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==
"@types/estree@1.0.5":
version "1.0.5"
resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
"@types/lodash-es@^4.17.6":
version "4.17.12"
resolved "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b"
integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==
dependencies:
"@types/lodash" "*"
"@types/lodash@*", "@types/lodash@^4.14.182":
version "4.17.13"
resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb"
integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==
"@types/web-bluetooth@^0.0.16":
version "0.0.16"
resolved "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz#1d12873a8e49567371f2a75fe3e7f7edca6662d8"
integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==
"@vitejs/plugin-vue@^5.1.2":
version "5.1.3"
resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.3.tgz#42b55c1a4d6f329aea25c5a24db51a31db31c693"
integrity sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==
"@vue/compiler-core@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.1.tgz#995fc62dc3887a6c5ee2313b4e5472f3c11c0468"
integrity sha512-WdjF+NSgFYdWttHevHw5uaJFtKPalhmxhlu2uREj8cLP0uyKKIR60/JvSZNTp0x+NSd63iTiORQTx3+tt55NWQ==
dependencies:
"@babel/parser" "^7.25.3"
"@vue/shared" "3.5.1"
entities "^4.5.0"
estree-walker "^2.0.2"
source-map-js "^1.2.0"
"@vue/compiler-dom@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.1.tgz#016d468ba4c7b736df9c38d8cb81731aeaae95dd"
integrity sha512-Ao23fB1lINo18HLCbJVApvzd9OQe8MgmQSgyY5+umbWj2w92w9KykVmJ4Iv2US5nak3ixc2B+7Km7JTNhQ8kSQ==
dependencies:
"@vue/compiler-core" "3.5.1"
"@vue/shared" "3.5.1"
"@vue/compiler-sfc@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.1.tgz#457a7309fa5006d490450c3d5410b9caf37949c2"
integrity sha512-DFizMNH8eDglLhlfwJ0+ciBsztaYe3fY/zcZjrqL1ljXvUw/UpC84M1d7HpBTCW68SNqZyIxrs1XWmf+73Y65w==
dependencies:
"@babel/parser" "^7.25.3"
"@vue/compiler-core" "3.5.1"
"@vue/compiler-dom" "3.5.1"
"@vue/compiler-ssr" "3.5.1"
"@vue/shared" "3.5.1"
estree-walker "^2.0.2"
magic-string "^0.30.11"
postcss "^8.4.44"
source-map-js "^1.2.0"
"@vue/compiler-ssr@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.1.tgz#a4dd4d1b47d60b80a529c46a847c7519401c1ba8"
integrity sha512-C1hpSHQgRM8bg+5XWWD7CkFaVpSn9wZHCLRd10AmxqrH17d4EMP6+XcZpwBOM7H1jeStU5naEapZZWX0kso1tQ==
dependencies:
"@vue/compiler-dom" "3.5.1"
"@vue/shared" "3.5.1"
"@vue/devtools-api@^6.6.4":
version "6.6.4"
resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343"
integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==
"@vue/reactivity@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.1.tgz#e4a57a038e3caaa9669de529533fcb16288a1736"
integrity sha512-aFE1nMDfbG7V+U5vdOk/NXxH/WX78XuAfX59vWmCM7Ao4lieoc83RkzOAWun61sQXlzNZ4IgROovFBHg+Iz1+Q==
dependencies:
"@vue/shared" "3.5.1"
"@vue/runtime-core@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.1.tgz#a1208d91e9c1b900aa6cfc9dbfec76a5277393c3"
integrity sha512-Ce92CCholNRHR3ZtzpRp/7CDGIPFxQ7ElXt9iH91ilK5eOrUv3Z582NWJesuM3aYX71BujVG5/4ypUxigGNxjA==
dependencies:
"@vue/reactivity" "3.5.1"
"@vue/shared" "3.5.1"
"@vue/runtime-dom@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.1.tgz#24f506b827ef7799fe68f0eb045918808080d961"
integrity sha512-B/fUJfBLp5PwE0EWNfBYnA4JUea8Yufb3wN8fN0/HzaqBdkiRHh4sFHOjWqIY8GS75gj//8VqeEqhcU6yUjIkA==
dependencies:
"@vue/reactivity" "3.5.1"
"@vue/runtime-core" "3.5.1"
"@vue/shared" "3.5.1"
csstype "^3.1.3"
"@vue/server-renderer@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.1.tgz#e741418a267a645a88e0cd80f1cf24dfa9c5cc73"
integrity sha512-C5V/fjQTitgVaRNH5wCoHynaWysjZ+VH68drNsAvQYg4ArHsZUQNz0nHoEWRj41nzqkVn2RUlnWaEOTl2o1Ppg==
dependencies:
"@vue/compiler-ssr" "3.5.1"
"@vue/shared" "3.5.1"
"@vue/shared@3.5.1":
version "3.5.1"
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.1.tgz#f9418dae5ac194a4f19023d812978c21a15412a1"
integrity sha512-NdcTRoO4KuW2RSFgpE2c+E/R/ZHaRzWPxAGxhmxZaaqLh6nYCXx7lc9a88ioqOCxCaV2SFJmujkxbUScW7dNsQ==
"@vueuse/core@^9.1.0":
version "9.13.0"
resolved "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz#2f69e66d1905c1e4eebc249a01759cf88ea00cf4"
integrity sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==
dependencies:
"@types/web-bluetooth" "^0.0.16"
"@vueuse/metadata" "9.13.0"
"@vueuse/shared" "9.13.0"
vue-demi "*"
"@vueuse/metadata@9.13.0":
version "9.13.0"
resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz#bc25a6cdad1b1a93c36ce30191124da6520539ff"
integrity sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==
"@vueuse/shared@9.13.0":
version "9.13.0"
resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz#089ff4cc4e2e7a4015e57a8f32e4b39d096353b9"
integrity sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==
dependencies:
vue-demi "*"
async-validator@^4.2.5:
version "4.2.5"
resolved "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339"
integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==
csstype@^3.1.3:
version "3.1.3"
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
dayjs@^1.11.3:
version "1.11.13"
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c"
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
element-plus@^2.8.6:
version "2.8.6"
resolved "https://registry.npmjs.org/element-plus/-/element-plus-2.8.6.tgz#af4b106610caa550444a2b318a20792f0e1af8c5"
integrity sha512-fk5jB8V3efM02/4roZ5SWOLArgaYXbxEydZLlXSr+KPAwjNyHBlk2+HO5em8YKo5+RLBoHnn6BaThj6IE4nXoQ==
dependencies:
"@ctrl/tinycolor" "^3.4.1"
"@element-plus/icons-vue" "^2.3.1"
"@floating-ui/dom" "^1.0.1"
"@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7"
"@types/lodash" "^4.14.182"
"@types/lodash-es" "^4.17.6"
"@vueuse/core" "^9.1.0"
async-validator "^4.2.5"
dayjs "^1.11.3"
escape-html "^1.0.3"
lodash "^4.17.21"
lodash-es "^4.17.21"
lodash-unified "^1.0.2"
memoize-one "^6.0.0"
normalize-wheel-es "^1.2.0"
entities@^4.5.0:
version "4.5.0"
resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
esbuild@^0.21.3:
version "0.21.5"
resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d"
integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==
optionalDependencies:
"@esbuild/aix-ppc64" "0.21.5"
"@esbuild/android-arm" "0.21.5"
"@esbuild/android-arm64" "0.21.5"
"@esbuild/android-x64" "0.21.5"
"@esbuild/darwin-arm64" "0.21.5"
"@esbuild/darwin-x64" "0.21.5"
"@esbuild/freebsd-arm64" "0.21.5"
"@esbuild/freebsd-x64" "0.21.5"
"@esbuild/linux-arm" "0.21.5"
"@esbuild/linux-arm64" "0.21.5"
"@esbuild/linux-ia32" "0.21.5"
"@esbuild/linux-loong64" "0.21.5"
"@esbuild/linux-mips64el" "0.21.5"
"@esbuild/linux-ppc64" "0.21.5"
"@esbuild/linux-riscv64" "0.21.5"
"@esbuild/linux-s390x" "0.21.5"
"@esbuild/linux-x64" "0.21.5"
"@esbuild/netbsd-x64" "0.21.5"
"@esbuild/openbsd-x64" "0.21.5"
"@esbuild/sunos-x64" "0.21.5"
"@esbuild/win32-arm64" "0.21.5"
"@esbuild/win32-ia32" "0.21.5"
"@esbuild/win32-x64" "0.21.5"
escape-html@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
estree-walker@^2.0.2:
version "2.0.2"
resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
lodash-es@^4.17.21:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
lodash-unified@^1.0.2:
version "1.0.3"
resolved "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz#80b1eac10ed2eb02ed189f08614a29c27d07c894"
integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==
lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
magic-string@^0.30.11:
version "0.30.11"
resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954"
integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==
dependencies:
"@jridgewell/sourcemap-codec" "^1.5.0"
memoize-one@^6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
normalize-wheel-es@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz#0fa2593d619f7245a541652619105ab076acf09e"
integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==
picocolors@^1.0.1:
version "1.1.0"
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59"
integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==
postcss@^8.4.43, postcss@^8.4.44:
version "8.4.45"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.45.tgz#538d13d89a16ef71edbf75d895284ae06b79e603"
integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==
dependencies:
nanoid "^3.3.7"
picocolors "^1.0.1"
source-map-js "^1.2.0"
rollup@^4.20.0:
version "4.21.2"
resolved "https://registry.npmmirror.com/rollup/-/rollup-4.21.2.tgz#f41f277a448d6264e923dd1ea179f0a926aaf9b7"
integrity sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==
dependencies:
"@types/estree" "1.0.5"
optionalDependencies:
"@rollup/rollup-android-arm-eabi" "4.21.2"
"@rollup/rollup-android-arm64" "4.21.2"
"@rollup/rollup-darwin-arm64" "4.21.2"
"@rollup/rollup-darwin-x64" "4.21.2"
"@rollup/rollup-linux-arm-gnueabihf" "4.21.2"
"@rollup/rollup-linux-arm-musleabihf" "4.21.2"
"@rollup/rollup-linux-arm64-gnu" "4.21.2"
"@rollup/rollup-linux-arm64-musl" "4.21.2"
"@rollup/rollup-linux-powerpc64le-gnu" "4.21.2"
"@rollup/rollup-linux-riscv64-gnu" "4.21.2"
"@rollup/rollup-linux-s390x-gnu" "4.21.2"
"@rollup/rollup-linux-x64-gnu" "4.21.2"
"@rollup/rollup-linux-x64-musl" "4.21.2"
"@rollup/rollup-win32-arm64-msvc" "4.21.2"
"@rollup/rollup-win32-ia32-msvc" "4.21.2"
"@rollup/rollup-win32-x64-msvc" "4.21.2"
fsevents "~2.3.2"
source-map-js@^1.2.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
vite@^5.4.1:
version "5.4.3"
resolved "https://registry.npmmirror.com/vite/-/vite-5.4.3.tgz#771c470e808cb6732f204e1ee96c2ed65b97a0eb"
integrity sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==
dependencies:
esbuild "^0.21.3"
postcss "^8.4.43"
rollup "^4.20.0"
optionalDependencies:
fsevents "~2.3.3"
vue-demi@*:
version "0.14.10"
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz#afc78de3d6f9e11bf78c55e8510ee12814522f04"
integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==
vue-router@4:
version "4.4.5"
resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.4.5.tgz#bdf535e4cf32414ebdea6b4b403593efdb541388"
integrity sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==
dependencies:
"@vue/devtools-api" "^6.6.4"
vue@^3.4.37:
version "3.5.1"
resolved "https://registry.npmmirror.com/vue/-/vue-3.5.1.tgz#507eb4ab010a2ad894f8d7765f32e68be1604815"
integrity sha512-k4UNnbPOEskodSxMtv+B9GljdB0C9ubZDOmW6vnXVGIfMqmEsY2+ohasjGguhGkMkrcP/oOrbH0dSD41x5JQFw==
dependencies:
"@vue/compiler-dom" "3.5.1"
"@vue/compiler-sfc" "3.5.1"
"@vue/runtime-dom" "3.5.1"
"@vue/server-renderer" "3.5.1"
"@vue/shared" "3.5.1"
Loading…
Cancel
Save