Add PWA install support for mobile and desktop

Register service worker, install prompt UI, iOS meta tags, and document install steps in DEPLOY.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-05 17:41:51 +08:00
parent a8be586652
commit f663867a25
11 changed files with 4923 additions and 39 deletions
+69
View File
@@ -0,0 +1,69 @@
import { VitePWA } from 'vite-plugin-pwa'
export function createPwaPlugin() {
return VitePWA({
registerType: 'autoUpdate',
injectRegister: 'auto',
manifestFilename: 'site.webmanifest',
includeAssets: [
'favicon.ico',
'favicon.svg',
'favicon.png',
'apple-touch-icon.png',
'icon-192.png',
'icon-512.png',
],
manifest: {
name: '道德经 · 传统文化典籍',
short_name: '道德经',
description: '传统文化典籍资料库',
lang: 'zh-CN',
theme_color: '#0f3460',
background_color: '#1a1a2e',
display: 'standalone',
orientation: 'portrait-primary',
scope: '/',
start_url: '/',
categories: ['books', 'education'],
icons: [
{
src: '/icon-192.png',
sizes: '192x192',
type: 'image/png',
purpose: 'any',
},
{
src: '/icon-512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'any',
},
{
src: '/icon-512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'maskable',
},
],
},
workbox: {
globPatterns: [
'assets/**/*.{js,css,woff2}',
'favicon.ico',
'favicon.svg',
'favicon.png',
'icon-192.png',
'icon-512.png',
'apple-touch-icon.png',
'vp-icons.css',
'site.webmanifest',
],
globIgnores: ['**/*.html', 'images/**', 'assets/**/*.png', 'assets/**/*.jpg', 'assets/**/*.webp'],
navigateFallback: null,
cleanupOutdatedCaches: true,
},
devOptions: {
enabled: false,
},
})
}