refactor: 优化主界面布局与通知系统

重构App.vue,首页独立无侧边栏,其他页面采用统一侧边栏布局。新增右下角固定通知区,集成返回顶部、队列通知、外交通知和敌方警报。移除新手引导组件,替换为弱引导提示系统。支持星球重命名弹窗。优化NPC成长与行为定时器逻辑,提升性能和可维护性。删除issue模板及相关文档描述。
This commit is contained in:
谦君
2025-12-19 12:01:45 +08:00
parent a689ce21b7
commit 752cade67c
61 changed files with 5774 additions and 2817 deletions

View File

@@ -10,14 +10,14 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url))
export default defineConfig(async () => {
const plugins = [
vue(),
vue(),
tailwindcss(),
VitePWA({
registerType: 'autoUpdate',
manifest: {
name: pkg.name,
short_name: pkg.title,
description: '一款现代化 OGame 太空策略游戏',
description: '征服星辰大海',
theme_color: '#000000',
background_color: '#000000',
display: 'fullscreen',
@@ -27,21 +27,13 @@ export default defineConfig(async () => {
src: 'logo.svg',
sizes: 'any',
type: 'image/svg+xml',
purpose: 'any',
},
],
purpose: 'any'
}
]
},
workbox: {
// 关键:确保缓存了 docs 目录下所有的 JS, CSS, HTML 和 媒体文件
globPatterns: ['**/*.{js,css,html,ico,png,svg,mp3,wav,json}'],
// 如果你的游戏资源(如音效或贴图)较大,请根据需要调大这个阈值(默认 2MB
// 这里设置为 5MB
maximumFileSizeToCacheInBytes: 5 * 1024 * 1024,
// 离线策略优化:对于游戏,我们希望即使在离线状态下,
// 所有的资源都能立刻从缓存加载,而不是去请求网络
runtimeCaching: [
{
urlPattern: ({ request }) => request.destination === 'image' || request.destination === 'audio',
@@ -50,14 +42,14 @@ export default defineConfig(async () => {
cacheName: 'game-assets',
expiration: {
maxEntries: 100,
maxAgeSeconds: 30 * 24 * 60 * 60, // 缓存 30 天
},
},
},
],
maxAgeSeconds: 30 * 24 * 60 * 60 // 缓存 30 天
}
}
}
]
}
})
];
]
// 只在 ELECTRON_BUILD 环境变量存在时才加载 Electron 插件
if (process.env.ELECTRON_BUILD) {
@@ -65,9 +57,9 @@ export default defineConfig(async () => {
const { default: electron } = await import('vite-plugin-electron/simple')
const electronPlugins = await electron({
main: {
entry: 'electron/main.ts',
entry: 'electron/main.ts'
},
renderer: {},
renderer: {}
})
plugins.push(...electronPlugins)
}