mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-05-18 01:17:34 +08:00
Merge branch 'v2' of https://github.com/jxxghp/MoviePilot-Frontend into v2-config
This commit is contained in:
1
src/@layouts/types.d.ts
vendored
1
src/@layouts/types.d.ts
vendored
@@ -124,6 +124,7 @@ export interface NavMenu extends NavLink {
|
||||
header: string
|
||||
description?: string
|
||||
admin?: boolean
|
||||
footer?: boolean
|
||||
}
|
||||
|
||||
// 👉 Vertical nav group
|
||||
|
||||
@@ -6,9 +6,6 @@ import router from '@/router'
|
||||
import avatar1 from '@images/avatars/avatar-1.png'
|
||||
import api from '@/api'
|
||||
import ProgressDialog from '@/components/dialog/ProgressDialog.vue'
|
||||
import { useDisplay } from 'vuetify'
|
||||
|
||||
const display = useDisplay()
|
||||
|
||||
// Vuex Store
|
||||
const store = useStore()
|
||||
|
||||
@@ -12,7 +12,7 @@ const appOrder = ref<string[]>([])
|
||||
|
||||
// 根据分类获取菜单列表
|
||||
const getMenuList = () => {
|
||||
return SystemNavMenus.filter((item: NavMenu) => !item.admin || superUser)
|
||||
return SystemNavMenus.filter((item: NavMenu) => (!item.admin || superUser) && !item.footer)
|
||||
}
|
||||
|
||||
// APP列表
|
||||
@@ -48,7 +48,7 @@ onMounted(() => {
|
||||
:component-data="{ 'class': 'ma-0 mt-n1' }"
|
||||
>
|
||||
<template #item="{ element }">
|
||||
<VCol cols="6" md="4" lg="3" class="text-center cursor-pointer shortcut-icon select-none">
|
||||
<VCol cols="6" md="3" lg="2" class="text-center cursor-pointer shortcut-icon select-none">
|
||||
<VCard class="pa-4" :to="element.to" variant="flat">
|
||||
<VAvatar size="64" variant="text">
|
||||
<VIcon size="48" :icon="element.icon" color="primary" />
|
||||
|
||||
@@ -15,9 +15,6 @@ const { global: globalTheme } = useTheme()
|
||||
// Vuex Store
|
||||
const store = useStore()
|
||||
|
||||
// 从 provide 中获取全局设置
|
||||
const globalSettings: any = inject('globalSettings')
|
||||
|
||||
// 表单
|
||||
const form = ref({
|
||||
username: '',
|
||||
@@ -55,15 +52,8 @@ let intervalTimer: NodeJS.Timeout | null = null
|
||||
// 获取背景图片
|
||||
async function fetchBackgroundImage() {
|
||||
try {
|
||||
const results: string[] = await api.get('/login/wallpapers')
|
||||
if (results && results.length > 0) {
|
||||
results.map((url: string) => {
|
||||
if (globalSettings.GLOBAL_IMAGE_CACHE)
|
||||
backgroundImages.value.push(
|
||||
`${import.meta.env.VITE_API_BASE_URL}system/cache/image?url=${encodeURIComponent(url)}`,
|
||||
)
|
||||
else backgroundImages.value.push(url)
|
||||
})
|
||||
backgroundImages.value = await api.get('/login/wallpapers')
|
||||
if (backgroundImages.value && backgroundImages.value.length > 0) {
|
||||
// 随机打乱排序
|
||||
backgroundImages.value.sort(() => Math.random() - 0.5)
|
||||
backgroundImageUrl.value = backgroundImages.value[0]
|
||||
@@ -180,7 +170,15 @@ function login() {
|
||||
|
||||
// 更新token和remember状态到Vuex Store
|
||||
store.dispatch('auth/login', {
|
||||
token, remember, superUser, userID, userName, avatar, level, permissions })
|
||||
token,
|
||||
remember,
|
||||
superUser,
|
||||
userID,
|
||||
userName,
|
||||
avatar,
|
||||
level,
|
||||
permissions,
|
||||
})
|
||||
|
||||
// 登录后处理
|
||||
afterLogin(superUser)
|
||||
|
||||
@@ -6,6 +6,7 @@ export const SystemNavMenus = [
|
||||
to: '/dashboard',
|
||||
header: '开始',
|
||||
admin: false,
|
||||
footer: true,
|
||||
},
|
||||
{
|
||||
title: '推荐',
|
||||
@@ -13,6 +14,7 @@ export const SystemNavMenus = [
|
||||
to: '/ranking',
|
||||
header: '发现',
|
||||
admin: false,
|
||||
footer: true,
|
||||
},
|
||||
{
|
||||
title: '资源搜索',
|
||||
@@ -28,6 +30,7 @@ export const SystemNavMenus = [
|
||||
to: '/subscribe/movie',
|
||||
header: '订阅',
|
||||
admin: false,
|
||||
footer: true,
|
||||
},
|
||||
{
|
||||
title: '电视剧',
|
||||
@@ -36,6 +39,7 @@ export const SystemNavMenus = [
|
||||
to: '/subscribe/tv',
|
||||
header: '订阅',
|
||||
admin: false,
|
||||
footer: true,
|
||||
},
|
||||
{
|
||||
title: '日历',
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
}
|
||||
|
||||
.grid-directory-card {
|
||||
grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
|
||||
grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
|
||||
padding-block-end: 1rem;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user