2025-10-17 17:26:48 +08:00
|
|
|
|
import type { Configuration } from "electron-builder";
|
|
|
|
|
|
|
|
|
|
|
|
const config: Configuration = {
|
|
|
|
|
|
// 应用程序的唯一标识符
|
|
|
|
|
|
appId: "com.imsyy.splayer",
|
|
|
|
|
|
// 应用程序的产品名称
|
|
|
|
|
|
productName: "SPlayer",
|
|
|
|
|
|
copyright: "Copyright © imsyy 2023",
|
|
|
|
|
|
// 构建资源所在的目录
|
|
|
|
|
|
directories: {
|
|
|
|
|
|
buildResources: "build",
|
|
|
|
|
|
},
|
|
|
|
|
|
// 包含在最终应用程序构建中的文件列表
|
|
|
|
|
|
// 使用通配符 ! 表示排除不需要的文件
|
|
|
|
|
|
files: [
|
|
|
|
|
|
"public/**",
|
|
|
|
|
|
"out/**",
|
|
|
|
|
|
"!**/.vscode/*",
|
|
|
|
|
|
"!src/*",
|
|
|
|
|
|
"!electron.vite.config.{js,ts,mjs,cjs}",
|
|
|
|
|
|
"!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}",
|
|
|
|
|
|
"!{.env,.env.*,.npmrc,pnpm-lock.yaml}",
|
|
|
|
|
|
],
|
|
|
|
|
|
// 哪些文件将不会被压缩,而是解压到构建目录
|
|
|
|
|
|
asarUnpack: ["public/**"],
|
|
|
|
|
|
win: {
|
|
|
|
|
|
// 可执行文件名
|
|
|
|
|
|
executableName: "SPlayer",
|
|
|
|
|
|
// 应用程序的图标文件路径
|
|
|
|
|
|
icon: "public/icons/logo.ico",
|
|
|
|
|
|
// Windows 平台全局文件名模板
|
|
|
|
|
|
artifactName: "${productName}-${version}-${arch}.${ext}",
|
|
|
|
|
|
// 是否对可执行文件进行签名和编辑
|
|
|
|
|
|
// signAndEditExecutable: false,
|
|
|
|
|
|
// 构建类型(架构由命令行参数 --x64 或 --arm64 指定)
|
|
|
|
|
|
target: [
|
|
|
|
|
|
// 安装版
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "nsis",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
// 打包版
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "portable",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
},
|
|
|
|
|
|
// NSIS 安装器配置
|
|
|
|
|
|
nsis: {
|
|
|
|
|
|
// 是否一键式安装
|
|
|
|
|
|
oneClick: false,
|
|
|
|
|
|
// 安装程序的生成名称
|
|
|
|
|
|
artifactName: "${productName}-${version}-${arch}-setup.${ext}",
|
|
|
|
|
|
// 创建的桌面快捷方式名称
|
|
|
|
|
|
shortcutName: "${productName}",
|
|
|
|
|
|
// 卸载时显示的名称
|
|
|
|
|
|
uninstallDisplayName: "${productName}",
|
|
|
|
|
|
// 创建桌面图标
|
|
|
|
|
|
createDesktopShortcut: "always",
|
|
|
|
|
|
// 是否允许 UAC 提升权限
|
|
|
|
|
|
allowElevation: true,
|
|
|
|
|
|
// 是否允许用户更改安装目录
|
|
|
|
|
|
allowToChangeInstallationDirectory: true,
|
|
|
|
|
|
// 安装包图标
|
|
|
|
|
|
installerIcon: "public/icons/favicon.ico",
|
|
|
|
|
|
// 卸载命令图标
|
|
|
|
|
|
uninstallerIcon: "public/icons/favicon.ico",
|
|
|
|
|
|
},
|
|
|
|
|
|
// Portable 便携版配置
|
|
|
|
|
|
portable: {
|
|
|
|
|
|
// 便携版文件名
|
|
|
|
|
|
artifactName: "${productName}-${version}-${arch}-portable.${ext}",
|
|
|
|
|
|
},
|
|
|
|
|
|
// macOS 平台配置
|
|
|
|
|
|
mac: {
|
|
|
|
|
|
// 可执行文件名
|
|
|
|
|
|
executableName: "SPlayer",
|
|
|
|
|
|
// 应用程序的图标文件路径
|
|
|
|
|
|
icon: "public/icons/favicon-512x512.png",
|
|
|
|
|
|
// 权限继承的文件路径
|
|
|
|
|
|
entitlementsInherit: "build/entitlements.mac.plist",
|
|
|
|
|
|
// macOS 平台全局文件名模板
|
|
|
|
|
|
artifactName: "${productName}-${version}-${arch}.${ext}",
|
|
|
|
|
|
// 扩展信息,如权限描述
|
|
|
|
|
|
extendInfo: {
|
|
|
|
|
|
NSCameraUsageDescription: "Application requests access to the device's camera.",
|
|
|
|
|
|
NSMicrophoneUsageDescription: "Application requests access to the device's microphone.",
|
|
|
|
|
|
NSDocumentsFolderUsageDescription:
|
|
|
|
|
|
"Application requests access to the user's Documents folder.",
|
|
|
|
|
|
NSDownloadsFolderUsageDescription:
|
|
|
|
|
|
"Application requests access to the user's Downloads folder.",
|
|
|
|
|
|
},
|
|
|
|
|
|
// 是否启用应用程序的 Notarization(苹果的安全审核)
|
|
|
|
|
|
notarize: false,
|
|
|
|
|
|
darkModeSupport: true,
|
|
|
|
|
|
category: "public.app-category.music",
|
|
|
|
|
|
target: [
|
|
|
|
|
|
// DMG 安装版
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "dmg",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
// 压缩包安装版
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "zip",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
},
|
|
|
|
|
|
// Linux 平台配置
|
|
|
|
|
|
linux: {
|
|
|
|
|
|
// 可执行文件名
|
|
|
|
|
|
executableName: "SPlayer",
|
|
|
|
|
|
// 应用程序的图标文件路径
|
|
|
|
|
|
icon: "public/icons/favicon-512x512.png",
|
|
|
|
|
|
// Linux 所有格式的统一文件名模板
|
|
|
|
|
|
artifactName: "${name}-${version}-${arch}.${ext}",
|
|
|
|
|
|
// 构建类型 - 支持 x64 和 ARM64 架构
|
|
|
|
|
|
target: [
|
|
|
|
|
|
// Pacman 包管理器
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "pacman",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
// AppImage 格式
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "AppImage",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
// Debian 包管理器
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "deb",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
// RPM 包管理器
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "rpm",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
// Snap 包管理器(仅支持 x64 架构)
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "snap",
|
|
|
|
|
|
arch: ["x64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
// 压缩包格式
|
|
|
|
|
|
{
|
|
|
|
|
|
target: "tar.gz",
|
|
|
|
|
|
arch: ["x64", "arm64"],
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
// 维护者信息
|
|
|
|
|
|
maintainer: "imsyy.top",
|
|
|
|
|
|
// 应用程序类别
|
2025-11-22 03:19:23 +08:00
|
|
|
|
category: "Audio;Music;AudioVideo;",
|
2025-10-17 17:26:48 +08:00
|
|
|
|
},
|
|
|
|
|
|
// AppImage 特定配置
|
|
|
|
|
|
appImage: {
|
|
|
|
|
|
// AppImage 文件的生成名称
|
|
|
|
|
|
artifactName: "${name}-${version}-${arch}.${ext}",
|
|
|
|
|
|
},
|
|
|
|
|
|
// 是否在构建之前重新编译原生模块
|
|
|
|
|
|
npmRebuild: false,
|
|
|
|
|
|
// Electron 下载镜像配置
|
|
|
|
|
|
electronDownload: {
|
|
|
|
|
|
mirror: "https://npmmirror.com/mirrors/electron/",
|
|
|
|
|
|
},
|
2025-10-19 01:36:13 +08:00
|
|
|
|
// 发布配置
|
|
|
|
|
|
// 先留空,不自动上传
|
|
|
|
|
|
publish: [],
|
2025-10-17 17:26:48 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
export default config;
|