mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-07-01 20:41:52 +08:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a9f4ec963b | ||
|
|
542e33d7b4 | ||
|
|
39c250ba09 | ||
|
|
924fcef403 | ||
|
|
e586342b19 |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "moviepilot",
|
"name": "moviepilot",
|
||||||
"version": "2.13.12",
|
"version": "2.13.13",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"bin": "dist/service.js",
|
"bin": "dist/service.js",
|
||||||
|
|||||||
@@ -35,6 +35,23 @@ http {
|
|||||||
try_files $uri $uri/ /index.html;
|
try_files $uri $uri/ /index.html;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
location = /service-worker.js {
|
||||||
|
# Service Worker 必须保持稳定 URL 并每次重新验证,避免前端更新后继续注册旧版本。
|
||||||
|
expires off;
|
||||||
|
add_header Cache-Control "no-cache, must-revalidate";
|
||||||
|
root html;
|
||||||
|
try_files $uri =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /manifest.webmanifest {
|
||||||
|
# Web App Manifest 参与 PWA 安装与资源发现,不能跟普通静态资源一起长缓存。
|
||||||
|
expires off;
|
||||||
|
default_type application/manifest+json;
|
||||||
|
add_header Cache-Control "no-cache, must-revalidate";
|
||||||
|
root html;
|
||||||
|
try_files $uri =404;
|
||||||
|
}
|
||||||
|
|
||||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
|
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
|
||||||
# 静态资源
|
# 静态资源
|
||||||
expires 1y;
|
expires 1y;
|
||||||
@@ -44,8 +61,7 @@ http {
|
|||||||
|
|
||||||
location /assets {
|
location /assets {
|
||||||
# 静态资源
|
# 静态资源
|
||||||
expires 1y;
|
add_header Cache-Control "public, max-age=31536000, immutable";
|
||||||
add_header Cache-Control "public";
|
|
||||||
root html;
|
root html;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -493,14 +493,14 @@ onBeforeUnmount(() => {
|
|||||||
<template>
|
<template>
|
||||||
<VHover>
|
<VHover>
|
||||||
<template #default="hover">
|
<template #default="hover">
|
||||||
<div ref="mediaCardRef">
|
<!-- Hover 命中区域保持静止,避免卡片上浮后底边反复触发 mouseleave。 -->
|
||||||
|
<div ref="mediaCardRef" v-bind="hover.props" class="media-card-hover-area">
|
||||||
<VCard
|
<VCard
|
||||||
v-bind="hover.props"
|
|
||||||
:height="props.height"
|
:height="props.height"
|
||||||
:width="props.width"
|
:width="props.width"
|
||||||
class="outline-none ring-gray-500 media-card"
|
class="outline-none ring-gray-500 media-card"
|
||||||
:class="{
|
:class="{
|
||||||
'transition transform-cpu duration-300 -translate-y-1': hover.isHovering,
|
'transition transform-cpu duration-300 -translate-y-1': hover.isHovering,
|
||||||
'ring-1': isImageLoaded,
|
'ring-1': isImageLoaded,
|
||||||
}"
|
}"
|
||||||
@click.stop="goMediaDetail(hover.isHovering ?? false)"
|
@click.stop="goMediaDetail(hover.isHovering ?? false)"
|
||||||
@@ -591,6 +591,10 @@ onBeforeUnmount(() => {
|
|||||||
</VHover>
|
</VHover>
|
||||||
</template>
|
</template>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.media-card-hover-area {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.media-card-title {
|
.media-card-title {
|
||||||
font-size: 1.125rem;
|
font-size: 1.125rem;
|
||||||
line-height: 1.25rem;
|
line-height: 1.25rem;
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ onUnmounted(() => {
|
|||||||
:text="props.plugin?.system_version_message || t('plugin.incompatibleSystemVersion')"
|
:text="props.plugin?.system_version_message || t('plugin.incompatibleSystemVersion')"
|
||||||
/>
|
/>
|
||||||
<div class="plugin-market-detail-actions">
|
<div class="plugin-market-detail-actions">
|
||||||
<div>
|
<div class="plugin-market-detail-actions__buttons">
|
||||||
<VBtn
|
<VBtn
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="installPlugin()"
|
@click="installPlugin()"
|
||||||
@@ -237,7 +237,7 @@ onUnmounted(() => {
|
|||||||
>
|
>
|
||||||
{{ t('plugin.installToLocal') }}
|
{{ t('plugin.installToLocal') }}
|
||||||
</VBtn>
|
</VBtn>
|
||||||
<VBtn variant="tonal" @click="showUpdateHistory" prepend-icon="mdi-update" class="ms-2">
|
<VBtn variant="tonal" @click="showUpdateHistory" prepend-icon="mdi-update">
|
||||||
{{ t('plugin.versionHistory') }}
|
{{ t('plugin.versionHistory') }}
|
||||||
</VBtn>
|
</VBtn>
|
||||||
</div>
|
</div>
|
||||||
@@ -264,6 +264,14 @@ onUnmounted(() => {
|
|||||||
gap: 0.75rem;
|
gap: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.plugin-market-detail-actions__buttons {
|
||||||
|
/* 窄屏换行时用统一 gap 控制按钮间距,避免第二个按钮带左边距导致视觉偏移。 */
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.plugin-market-detail-actions__downloads {
|
.plugin-market-detail-actions__downloads {
|
||||||
flex-basis: 100%;
|
flex-basis: 100%;
|
||||||
color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
|
color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
|
||||||
@@ -276,6 +284,10 @@ onUnmounted(() => {
|
|||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.plugin-market-detail-actions__buttons {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
.plugin-market-detail-actions__downloads {
|
.plugin-market-detail-actions__downloads {
|
||||||
text-align: start;
|
text-align: start;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ const SystemSettings = ref<any>({
|
|||||||
LLM_BASE_URL: 'https://api.deepseek.com',
|
LLM_BASE_URL: 'https://api.deepseek.com',
|
||||||
LLM_USE_PROXY: true,
|
LLM_USE_PROXY: true,
|
||||||
LLM_BASE_URL_PRESET: null,
|
LLM_BASE_URL_PRESET: null,
|
||||||
LLM_MAX_CONTEXT_TOKENS: 64,
|
LLM_MAX_CONTEXT_TOKENS: 128,
|
||||||
LLM_USER_AGENT: null,
|
LLM_USER_AGENT: null,
|
||||||
AUDIO_INPUT_PROVIDER: 'openai',
|
AUDIO_INPUT_PROVIDER: 'openai',
|
||||||
AUDIO_INPUT_API_KEY: null,
|
AUDIO_INPUT_API_KEY: null,
|
||||||
|
|||||||
Reference in New Issue
Block a user