feat: 增加mac/win端打包
This commit is contained in:
parent
3785fa9925
commit
989ca20d13
54
build-mac.sh
Executable file
54
build-mac.sh
Executable file
@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# IPTV Mac 构建脚本
|
||||||
|
|
||||||
|
echo "🚀 开始构建 IPTV Mac 桌面应用..."
|
||||||
|
|
||||||
|
# 检查 Rust
|
||||||
|
if ! command -v cargo &> /dev/null; then
|
||||||
|
echo "❌ Rust 未安装,请先安装:"
|
||||||
|
echo " curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✓ Rust 已安装 ($(cargo --version))"
|
||||||
|
|
||||||
|
# 步骤1: 构建 ui
|
||||||
|
echo "📦 步骤 1/4: 构建 ui 应用..."
|
||||||
|
cd ui
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
cp -r public/api dist-web/
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# 步骤2: 安装 Tauri 依赖
|
||||||
|
echo "📦 步骤 2/4: 安装 Tauri..."
|
||||||
|
cd desktop
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# 步骤3: 构建 Mac 应用
|
||||||
|
echo "🔨 步骤 3/4: 构建 Mac 应用(这可能需要几分钟)..."
|
||||||
|
npx tauri build
|
||||||
|
|
||||||
|
# 步骤4: 检查输出
|
||||||
|
echo "✅ 步骤 4/4: 检查输出..."
|
||||||
|
APP_PATH="src-tauri/target/release/bundle/macos/iptv-desktop.app"
|
||||||
|
DMG_PATH="src-tauri/target/release/bundle/dmg/*.dmg"
|
||||||
|
|
||||||
|
if [ -d "$APP_PATH" ]; then
|
||||||
|
echo ""
|
||||||
|
echo "🎉 构建成功!"
|
||||||
|
echo ""
|
||||||
|
echo "📱 应用位置:"
|
||||||
|
echo " $APP_PATH"
|
||||||
|
echo ""
|
||||||
|
echo "📦 安装包位置:"
|
||||||
|
ls -lh src-tauri/target/release/bundle/dmg/ 2>/dev/null || echo " DMG 未生成"
|
||||||
|
echo ""
|
||||||
|
echo "🚀 运行方式:"
|
||||||
|
echo " 1. 双击打开 $APP_PATH"
|
||||||
|
echo " 2. 或拖拽到 Applications 文件夹"
|
||||||
|
else
|
||||||
|
echo "❌ 构建失败,请检查错误信息"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
84
build-windows.bat
Normal file
84
build-windows.bat
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
@echo off
|
||||||
|
chcp 65001 >nul
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
echo 🚀 开始构建 IPTV Windows 桌面应用...
|
||||||
|
echo.
|
||||||
|
|
||||||
|
:: 检查 Rust
|
||||||
|
where cargo >nul 2>nul
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo ❌ Rust 未安装,请先安装:
|
||||||
|
echo 访问 https://rustup.rs/ 下载安装程序
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
for /f "tokens=*" %%a in ('cargo --version') do set CARGO_VERSION=%%a
|
||||||
|
echo ✓ Rust 已安装 (!CARGO_VERSION!)
|
||||||
|
echo.
|
||||||
|
|
||||||
|
:: 步骤1: 构建 ui
|
||||||
|
echo 📦 步骤 1/4: 构建 ui 应用...
|
||||||
|
cd ui
|
||||||
|
call npm install
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo ❌ npm install 失败
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
call npm run build
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo ❌ 构建 ui 失败
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 复制 API 数据
|
||||||
|
if exist "dist-web\api" rmdir /s /q "dist-web\api"
|
||||||
|
xcopy /e /i /y "public\api" "dist-web\api"
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
:: 步骤2: 安装依赖
|
||||||
|
echo 📦 步骤 2/4: 安装 Tauri 依赖...
|
||||||
|
cd desktop
|
||||||
|
call npm install
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo ❌ npm install 失败
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 步骤3: 构建 Windows 应用
|
||||||
|
echo 🔨 步骤 3/4: 构建 Windows 应用(这可能需要几分钟)...
|
||||||
|
call npx tauri build
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo ❌ 构建失败
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 步骤4: 检查输出
|
||||||
|
echo ✅ 步骤 4/4: 检查输出...
|
||||||
|
echo.
|
||||||
|
|
||||||
|
set "APP_PATH=src-tauri\target\release\bundle\msi"
|
||||||
|
set "EXE_PATH=src-tauri\target\release\bundle\nsis"
|
||||||
|
|
||||||
|
echo 🎉 构建成功!
|
||||||
|
echo.
|
||||||
|
echo 📦 安装包位置:
|
||||||
|
if exist "%APP_PATH%" (
|
||||||
|
dir /b "%APP_PATH%\*.msi" 2>nul && echo MSI: %APP_PATH%\*.msi
|
||||||
|
)
|
||||||
|
if exist "%EXE_PATH%" (
|
||||||
|
dir /b "%EXE_PATH%\*.exe" 2>nul && echo EXE: %EXE_PATH%\*.exe
|
||||||
|
)
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo 🚀 运行方式:
|
||||||
|
echo 1. 安装 MSI 版本(推荐)
|
||||||
|
echo 2. 或直接运行 exe 版本
|
||||||
|
echo.
|
||||||
|
pause
|
||||||
90
build-windows.ps1
Normal file
90
build-windows.ps1
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
# IPTV Windows 构建脚本
|
||||||
|
|
||||||
|
Write-Host "🚀 开始构建 IPTV Windows 桌面应用..." -ForegroundColor Green
|
||||||
|
Write-Host ""
|
||||||
|
|
||||||
|
# 检查 Rust
|
||||||
|
try {
|
||||||
|
$cargoVersion = cargo --version
|
||||||
|
Write-Host "✓ Rust 已安装 ($cargoVersion)" -ForegroundColor Green
|
||||||
|
} catch {
|
||||||
|
Write-Host "❌ Rust 未安装,请先安装:" -ForegroundColor Red
|
||||||
|
Write-Host " 访问 https://rustup.rs/ 下载安装程序"
|
||||||
|
Read-Host "按 Enter 退出"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host ""
|
||||||
|
|
||||||
|
# 步骤1: 构建 ui
|
||||||
|
Write-Host "📦 步骤 1/4: 构建 ui 应用..." -ForegroundColor Cyan
|
||||||
|
Set-Location ui
|
||||||
|
npm install
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Write-Host "❌ npm install 失败" -ForegroundColor Red
|
||||||
|
Read-Host "按 Enter 退出"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
npm run build
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Write-Host "❌ 构建 ui 失败" -ForegroundColor Red
|
||||||
|
Read-Host "按 Enter 退出"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# 复制 API 数据
|
||||||
|
if (Test-Path "dist-web/api") {
|
||||||
|
Remove-Item "dist-web/api" -Recurse -Force
|
||||||
|
}
|
||||||
|
Copy-Item -Path "public/api" -Destination "dist-web/api" -Recurse -Force
|
||||||
|
Set-Location ..
|
||||||
|
|
||||||
|
# 步骤2: 安装依赖
|
||||||
|
Write-Host "📦 步骤 2/4: 安装 Tauri 依赖..." -ForegroundColor Cyan
|
||||||
|
Set-Location desktop
|
||||||
|
npm install
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Write-Host "❌ npm install 失败" -ForegroundColor Red
|
||||||
|
Read-Host "按 Enter 退出"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# 步骤3: 构建
|
||||||
|
Write-Host "🔨 步骤 3/4: 构建 Windows 应用(这可能需要几分钟)..." -ForegroundColor Cyan
|
||||||
|
npx tauri build
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Write-Host "❌ 构建失败" -ForegroundColor Red
|
||||||
|
Read-Host "按 Enter 退出"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# 步骤4: 检查输出
|
||||||
|
Write-Host "✅ 步骤 4/4: 检查输出..." -ForegroundColor Green
|
||||||
|
Write-Host ""
|
||||||
|
|
||||||
|
$msiPath = "src-tauri/target/release/bundle/msi"
|
||||||
|
$nsisPath = "src-tauri/target/release/bundle/nsis"
|
||||||
|
|
||||||
|
Write-Host "🎉 构建成功!" -ForegroundColor Green
|
||||||
|
Write-Host ""
|
||||||
|
Write-Host "📦 安装包位置:" -ForegroundColor Yellow
|
||||||
|
|
||||||
|
if (Test-Path $msiPath) {
|
||||||
|
Get-ChildItem "$msiPath/*.msi" | ForEach-Object {
|
||||||
|
Write-Host " MSI: $($_.FullName)" -ForegroundColor Gray
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path $nsisPath) {
|
||||||
|
Get-ChildItem "$nsisPath/*.exe" | ForEach-Object {
|
||||||
|
Write-Host " EXE: $($_.FullName)" -ForegroundColor Gray
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host ""
|
||||||
|
Write-Host "🚀 运行方式:" -ForegroundColor Green
|
||||||
|
Write-Host " 1. 安装 MSI 版本(推荐,有自动更新)"
|
||||||
|
Write-Host " 2. 或直接运行 EXE 版本(便携版)"
|
||||||
|
Write-Host ""
|
||||||
|
Read-Host "按 Enter 退出"
|
||||||
225
desktop/BUILD.md
Normal file
225
desktop/BUILD.md
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
# IPTV Desktop 构建指南
|
||||||
|
|
||||||
|
支持平台:**macOS** | **Windows** | **Linux**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## macOS 构建
|
||||||
|
|
||||||
|
### 1. 安装依赖
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 安装 Rust
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
|
source ~/.cargo/env
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 构建应用
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 一键构建
|
||||||
|
cd /Users/liyanyan/study/single-portal/iptv-app
|
||||||
|
./build-mac.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
或手动构建:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd web && npm run build && cp -r public/api dist-web/ && cd ..
|
||||||
|
cd desktop && npm install && npx tauri build
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 输出位置
|
||||||
|
|
||||||
|
```
|
||||||
|
src-tauri/target/release/bundle/macos/IPTV Player.app
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Windows 构建
|
||||||
|
|
||||||
|
### 1. 安装依赖
|
||||||
|
|
||||||
|
1. 安装 Rust:访问 https://rustup.rs/ 下载安装程序
|
||||||
|
2. 安装 Node.js:访问 https://nodejs.org/ 下载 LTS 版本
|
||||||
|
|
||||||
|
### 2. 构建应用
|
||||||
|
|
||||||
|
**方式一:PowerShell(推荐)**
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# 右键开始菜单 -> Windows PowerShell
|
||||||
|
cd C:\Users\YourName\study\single-portal\iptv-app
|
||||||
|
.\build-windows.ps1
|
||||||
|
```
|
||||||
|
|
||||||
|
**方式二:CMD**
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
cd C:\Users\YourName\study\single-portal\iptv-app
|
||||||
|
build-windows.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
**方式三:手动**
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
cd web
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
xcopy /e /i /y public\api dist-web\api
|
||||||
|
|
||||||
|
cd ..\desktop
|
||||||
|
npm install
|
||||||
|
npx tauri build
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 输出位置
|
||||||
|
|
||||||
|
```
|
||||||
|
src-tauri\target\release\bundle\msi\IPTV Player_1.0.0_x64.msi (安装版)
|
||||||
|
src-tauri\target\release\bundle\nsis\IPTV Player_1.0.0_x64.exe (便携版)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. 安装方式
|
||||||
|
|
||||||
|
- **MSI 版**:双击安装,支持自动更新
|
||||||
|
- **EXE 版**:免安装,直接运行
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Linux 构建
|
||||||
|
|
||||||
|
### 1. 安装依赖
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Ubuntu/Debian
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install libwebkit2gtk-4.0-dev libssl-dev libgtk-3-dev
|
||||||
|
|
||||||
|
# 安装 Rust
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
|
source ~/.cargo/env
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 构建应用
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /Users/liyanyan/study/single-portal/iptv-app
|
||||||
|
./build-mac.sh # 脚本通用
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 输出位置
|
||||||
|
|
||||||
|
```
|
||||||
|
src-tauri/target/release/bundle/deb/*.deb
|
||||||
|
src-tauri/target/release/bundle/appimage/*.AppImage
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
desktop/
|
||||||
|
├── package.json # Node 配置
|
||||||
|
├── BUILD.md # 本文件
|
||||||
|
├── dist-web/ # Web 静态文件
|
||||||
|
│ ├── index.html
|
||||||
|
│ └── api/ # IPTV 数据
|
||||||
|
└── src-tauri/
|
||||||
|
├── Cargo.toml # Rust 依赖
|
||||||
|
├── tauri.conf.json # Tauri 配置
|
||||||
|
├── build.rs # 构建脚本
|
||||||
|
├── src/main.rs # 入口
|
||||||
|
└── icons/ # 应用图标
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 配置说明
|
||||||
|
|
||||||
|
### tauri.conf.json 关键配置
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"windows": [{
|
||||||
|
"width": 1200,
|
||||||
|
"height": 800,
|
||||||
|
"minWidth": 900,
|
||||||
|
"minHeight": 600,
|
||||||
|
"center": true,
|
||||||
|
"title": "IPTV Player"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 自定义图标
|
||||||
|
|
||||||
|
替换 `src-tauri/icons/` 下的文件:
|
||||||
|
- `icon.icns` - Mac 图标
|
||||||
|
- `icon.ico` - Windows 图标
|
||||||
|
- `32x32.png`, `128x128.png` - Linux 图标
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 常见问题
|
||||||
|
|
||||||
|
### 1. Rust 未安装
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# macOS/Linux
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
# 访问 https://rustup.rs/ 下载安装程序
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 构建失败 "No such file or directory"
|
||||||
|
|
||||||
|
确保在项目根目录执行脚本:
|
||||||
|
```bash
|
||||||
|
cd /Users/liyanyan/study/single-portal/iptv-app
|
||||||
|
ls -la # 应该能看到 web/, desktop/, build-mac.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Windows 安装后无法运行
|
||||||
|
|
||||||
|
- 安装 WebView2 运行时(Windows 10/11 通常已预装)
|
||||||
|
- 检查是否被杀毒软件拦截,添加信任
|
||||||
|
- 右键 -> 属性 -> 解除锁定(如有)
|
||||||
|
|
||||||
|
### 4. 签名问题
|
||||||
|
|
||||||
|
**Mac 开发版**:
|
||||||
|
```bash
|
||||||
|
xattr -cr "IPTV Player.app" # 移除隔离属性
|
||||||
|
```
|
||||||
|
|
||||||
|
**Windows 发布版**:
|
||||||
|
需要购买代码签名证书,或使用自签名(测试用)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 平台特性对比
|
||||||
|
|
||||||
|
| 特性 | macOS | Windows | Linux |
|
||||||
|
|------|-------|---------|-------|
|
||||||
|
| 安装包 | .app / .dmg | .msi / .exe | .deb / .AppImage |
|
||||||
|
| 包体积 | ~5MB | ~5MB | ~5MB |
|
||||||
|
| 自动更新 | ✅ | ✅ | ✅ |
|
||||||
|
| 原生菜单 | ✅ | ✅ | ✅ |
|
||||||
|
| 系统托盘 | ✅ | ✅ | ✅ |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 调试模式
|
||||||
|
|
||||||
|
开发时可以使用调试模式,更快启动:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd desktop
|
||||||
|
npm run tauri dev
|
||||||
|
```
|
||||||
|
|
||||||
|
这会启动开发服务器,支持热重载。
|
||||||
39
desktop/create-icons.sh
Executable file
39
desktop/create-icons.sh
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 创建简单的默认图标
|
||||||
|
ICONS_DIR="src-tauri/icons"
|
||||||
|
|
||||||
|
# 使用ImageMagick创建简单图标(如果可用)
|
||||||
|
if command -v convert &> /dev/null; then
|
||||||
|
convert -size 512x512 xc: '#1a1a1a' "$ICONS_DIR/icon.png"
|
||||||
|
convert "$ICONS_DIR/icon.png" -resize 32x32 "$ICONS_DIR/32x32.png"
|
||||||
|
convert "$ICONS_DIR/icon.png" -resize 128x128 "$ICONS_DIR/128x128.png"
|
||||||
|
convert "$ICONS_DIR/icon.png" -resize 256x256 "$ICONS_DIR/128x128@2x.png"
|
||||||
|
cp "$ICONS_DIR/icon.png" "$ICONS_DIR/icon.ico"
|
||||||
|
|
||||||
|
# 添加文字
|
||||||
|
convert -size 512x512 xc: '#00d4ff' -pointsize 200 -fill white -gravity center -annotate +0+0 "IPTV" "$ICONS_DIR/icon.png"
|
||||||
|
convert "$ICONS_DIR/icon.png" "$ICONS_DIR/icon.ico"
|
||||||
|
|
||||||
|
# Mac icns
|
||||||
|
if command -v iconutil &> /dev/null; then
|
||||||
|
mkdir -p "$ICONS_DIR/icon.iconset"
|
||||||
|
for size in 16 32 64 128 256 512; do
|
||||||
|
convert "$ICONS_DIR/icon.png" -resize ${size}x${size} "$ICONS_DIR/icon.iconset/icon_${size}x${size}.png"
|
||||||
|
convert "$ICONS_DIR/icon.png" -resize $((size*2))x$((size*2)) "$ICONS_DIR/icon.iconset/icon_${size}x${size}@2x.png"
|
||||||
|
done
|
||||||
|
iconutil -c icns "$ICONS_DIR/icon.iconset" -o "$ICONS_DIR/icon.icns"
|
||||||
|
rm -rf "$ICONS_DIR/icon.iconset"
|
||||||
|
else
|
||||||
|
cp "$ICONS_DIR/icon.png" "$ICONS_DIR/icon.icns"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# 没有ImageMagick,创建空白文件作为占位
|
||||||
|
touch "$ICONS_DIR/32x32.png"
|
||||||
|
touch "$ICONS_DIR/128x128.png"
|
||||||
|
touch "$ICONS_DIR/128x128@2x.png"
|
||||||
|
touch "$ICONS_DIR/icon.icns"
|
||||||
|
touch "$ICONS_DIR/icon.ico"
|
||||||
|
echo "警告: 未找到 ImageMagick,使用了空白图标文件"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "图标创建完成"
|
||||||
13
desktop/package.json
Normal file
13
desktop/package.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "iptv-desktop",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "IPTV Player for Mac",
|
||||||
|
"scripts": {
|
||||||
|
"tauri": "tauri",
|
||||||
|
"dev": "tauri dev",
|
||||||
|
"build": "tauri build"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@tauri-apps/cli": "^1.6.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
4000
desktop/src-tauri/Cargo.lock
generated
Normal file
4000
desktop/src-tauri/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
20
desktop/src-tauri/Cargo.toml
Normal file
20
desktop/src-tauri/Cargo.toml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[package]
|
||||||
|
name = "iptv-desktop"
|
||||||
|
version = "1.0.0"
|
||||||
|
description = "IPTV Player"
|
||||||
|
authors = ["ghr"]
|
||||||
|
license = "MIT"
|
||||||
|
repository = ""
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
tauri-build = { version = "1.5.0", features = [] }
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
tauri = { version = "1.5.0", features = ["shell-open"] }
|
||||||
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
serde_json = "1.0"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["custom-protocol"]
|
||||||
|
custom-protocol = ["tauri/custom-protocol"]
|
||||||
3
desktop/src-tauri/build.rs
Normal file
3
desktop/src-tauri/build.rs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
tauri_build::build()
|
||||||
|
}
|
||||||
0
desktop/src-tauri/icons/128x128.png
Normal file
0
desktop/src-tauri/icons/128x128.png
Normal file
0
desktop/src-tauri/icons/128x128@2x.png
Normal file
0
desktop/src-tauri/icons/128x128@2x.png
Normal file
0
desktop/src-tauri/icons/32x32.png
Normal file
0
desktop/src-tauri/icons/32x32.png
Normal file
0
desktop/src-tauri/icons/icon.icns
Normal file
0
desktop/src-tauri/icons/icon.icns
Normal file
0
desktop/src-tauri/icons/icon.ico
Normal file
0
desktop/src-tauri/icons/icon.ico
Normal file
8
desktop/src-tauri/src/main.rs
Normal file
8
desktop/src-tauri/src/main.rs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
tauri::Builder::default()
|
||||||
|
.invoke_handler(tauri::generate_handler![])
|
||||||
|
.run(tauri::generate_context!())
|
||||||
|
.expect("error while running tauri application");
|
||||||
|
}
|
||||||
71
desktop/src-tauri/tauri.conf.json
Normal file
71
desktop/src-tauri/tauri.conf.json
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
{
|
||||||
|
"build": {
|
||||||
|
"beforeBuildCommand": "",
|
||||||
|
"beforeDevCommand": "",
|
||||||
|
"devPath": "../dist-web",
|
||||||
|
"distDir": "../dist-web",
|
||||||
|
"withGlobalTauri": false
|
||||||
|
},
|
||||||
|
"tauri": {
|
||||||
|
"allowlist": {
|
||||||
|
"all": false,
|
||||||
|
"shell": {
|
||||||
|
"all": false,
|
||||||
|
"open": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bundle": {
|
||||||
|
"active": true,
|
||||||
|
"category": "Entertainment",
|
||||||
|
"copyright": "",
|
||||||
|
"deb": {
|
||||||
|
"depends": []
|
||||||
|
},
|
||||||
|
"externalBin": [],
|
||||||
|
"icon": [
|
||||||
|
"icons/32x32.png",
|
||||||
|
"icons/128x128.png",
|
||||||
|
"icons/128x128@2x.png",
|
||||||
|
"icons/icon.icns",
|
||||||
|
"icons/icon.ico"
|
||||||
|
],
|
||||||
|
"identifier": "com.iptv.player",
|
||||||
|
"longDescription": "IPTV Player for desktop",
|
||||||
|
"macOS": {
|
||||||
|
"entitlements": null,
|
||||||
|
"exceptionDomain": "",
|
||||||
|
"frameworks": [],
|
||||||
|
"providerShortName": null,
|
||||||
|
"signingIdentity": null
|
||||||
|
},
|
||||||
|
"resources": [],
|
||||||
|
"shortDescription": "IPTV Player",
|
||||||
|
"targets": "all",
|
||||||
|
"windows": {
|
||||||
|
"certificateThumbprint": null,
|
||||||
|
"digestAlgorithm": "sha256",
|
||||||
|
"timestampUrl": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": {
|
||||||
|
"csp": null
|
||||||
|
},
|
||||||
|
"updater": {
|
||||||
|
"active": false
|
||||||
|
},
|
||||||
|
"windows": [
|
||||||
|
{
|
||||||
|
"fullscreen": false,
|
||||||
|
"height": 800,
|
||||||
|
"resizable": true,
|
||||||
|
"title": "IPTV Player",
|
||||||
|
"width": 1200,
|
||||||
|
"minWidth": 900,
|
||||||
|
"minHeight": 600,
|
||||||
|
"center": true,
|
||||||
|
"decorations": true,
|
||||||
|
"transparent": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user