提交 ca028022 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 34189075
差异被折叠。
......@@ -12,15 +12,15 @@
"deploy": "node ./deploy.js"
},
"dependencies": {
"@element-plus/icons-vue": "^2.0.6",
"@element-plus/icons-vue": "^2.0.9",
"@tinymce/tinymce-vue": "^5.0.0",
"@vueuse/core": "^9.1.0",
"axios": "^0.27.2",
"blueimp-md5": "^2.19.0",
"dayjs": "^1.11.5",
"element-plus": "^2.2.12",
"element-plus": "^2.2.14",
"lodash-es": "^4.17.21",
"pinia": "^2.0.17",
"pinia": "^2.0.20",
"qs": "^6.11.0",
"video.js": "^7.20.2",
"vue": "^3.2.37",
......@@ -32,18 +32,18 @@
"@types/node": "^16.11.45",
"@types/qs": "^6.9.7",
"@types/video.js": "^7.3.45",
"@vitejs/plugin-vue": "^3.0.1",
"@vitejs/plugin-vue": "^3.0.3",
"@vue/eslint-config-typescript": "^11.0.0",
"@vue/tsconfig": "^0.1.3",
"ali-oss": "^6.17.1",
"chalk": "^5.0.1",
"eslint": "^8.5.0",
"eslint-plugin-vue": "^9.3.0",
"sass": "^1.54.4",
"sass": "^1.54.5",
"typescript": "~4.7.4",
"unplugin-auto-import": "^0.11.1",
"vite": "^3.0.5",
"unplugin-auto-import": "^0.11.2",
"vite": "^3.0.9",
"vite-plugin-checker": "^0.4.9",
"vue-tsc": "^0.39.5"
"vue-tsc": "^0.40.1"
}
}
......@@ -5,8 +5,10 @@ export default {
</script>
<script setup lang="ts">
import { menus } from './menus'
import type { IMenuItem } from '@/types'
import { useMenuStore } from '@/stores/menu'
const menus = useMenuStore().menus
const router = useRouter()
const route = useRoute()
......
......@@ -3,8 +3,8 @@ export default { name: 'AppHeader' }
</script>
<script setup lang="ts">
import { menus } from './menus'
import { useUserStore } from '@/stores/user'
import { useMenuStore } from '@/stores/menu'
import type { IMenuItem } from '@/types'
withDefaults(defineProps<{ hasTitle?: boolean }>(), {
hasTitle: true
......@@ -13,9 +13,10 @@ withDefaults(defineProps<{ hasTitle?: boolean }>(), {
const route = useRoute()
const userStore = useUserStore()
const userInfo = userStore.user
const menus = useMenuStore().menus
const logout = async () => {
await userStore.logout()
location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}`
......
......@@ -74,6 +74,7 @@ useInfiniteScroll(
</el-icon>
加载中...
</div>
<div class="tips" v-if="!hasMore">没有更多了</div>
</div>
</template>
</div>
......
......@@ -87,10 +87,8 @@ function uploadPicture(url: string) {
const pictures = detail?.pictures || []
pictures.unshift({ url, name: 'screenshot.png', upload_time: dayjs().format('YYYY-MM-DD HH:mm:ss') })
uploadExperimentPicture({ experiment_id: form.experiment_id, pictures: JSON.stringify(pictures) }).then(() => {
screenshotLoading = false
if (!detail) {
fetchInfo()
}
screenshotLoading = false
})
}
// 提交实验
......
import type { IMenuItem } from '@/types'
import { defineStore } from 'pinia'
import { Tickets } from '@element-plus/icons-vue'
export const menus: IMenuItem[] = [
interface State {
studentMenus: IMenuItem[]
adminMenus: IMenuItem[]
}
// 学生菜单
const studentMenus: IMenuItem[] = [
{
name: '智能营销',
path: '/student/lab'
},
{
name: '技能大赛',
path: '/student/contest'
}
]
// 教师、管理员菜单
const adminMenus: IMenuItem[] = [
{
name: '智能营销',
path: '/admin/lab',
......@@ -47,3 +66,15 @@ export const menus: IMenuItem[] = [
]
}
]
export const useMenuStore = defineStore({
id: 'menu',
state: (): State => ({
studentMenus,
adminMenus
}),
getters: {
menus: state => state.studentMenus
},
actions: {}
})
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论