🐛 修复MacOS下载显示为空的BUG

This commit is contained in:
刘嘉伟 2024-08-06 10:57:42 +08:00
parent bf4c5cd053
commit 4e9f95ba7e
5 changed files with 22 additions and 10 deletions

View File

@ -14,9 +14,15 @@ const versionRelation = {
"win32_arm64": ["window", "arm64"], "win32_arm64": ["window", "arm64"],
"win32_ia32": ["window", "386"], "win32_ia32": ["window", "386"],
"darwin_arm64": ["darwin", "arm64"], "darwin_arm64": ["darwin", "arm64"],
"darwin_x64": ["darwin", "amd64"],
// "darwin_arm64": ["window", "amd64"], // "darwin_arm64": ["window", "amd64"],
"darwin_amd64": ["darwin", "amd64"], "darwin_amd64": ["darwin", "amd64"],
} }
const platform = process.platform;
const arch = process.arch;
let currArch = `${platform}_${arch}`
// currArch = `darwin_x64`
const frpArch = versionRelation[currArch]
const unTarGZ = (tarGzPath: string, targetPath: string) => { const unTarGZ = (tarGzPath: string, targetPath: string) => {
const tar = require("tar"); const tar = require("tar");
@ -77,11 +83,10 @@ export const initGitHubApi = () => {
const getAdaptiveAsset = versionId => { const getAdaptiveAsset = versionId => {
const {assets} = getVersion(versionId); const {assets} = getVersion(versionId);
const arch = process.arch;
const platform = process.platform;
const asset = assets.find( const asset = assets.find(
f => { f => {
const a = versionRelation[`${platform}_${arch}`] // const a = versionRelation[currArch]
const a = frpArch
if (a) { if (a) {
const flag = a.every(item => f.name.includes(item)) const flag = a.every(item => f.name.includes(item))
return flag; return flag;
@ -113,6 +118,7 @@ export const initGitHubApi = () => {
// const borderContent: Electron.WebContents = // const borderContent: Electron.WebContents =
// BrowserWindow.getFocusedWindow().webContents; // BrowserWindow.getFocusedWindow().webContents;
const downloadPath = path.join(app.getPath("userData"), "download"); const downloadPath = path.join(app.getPath("userData"), "download");
log.info(`开始获取frp版本 当前架构:${currArch} 对应frp架构${frpArch}`)
const returnVersionsData = versions const returnVersionsData = versions
.filter(f => getAdaptiveAsset(f.id)) .filter(f => getAdaptiveAsset(f.id))
.map(m => { .map(m => {
@ -124,7 +130,7 @@ export const initGitHubApi = () => {
} }
return m; return m;
}); });
log.debug(`获取到frp版本${JSON.stringify(returnVersionsData)}`) // log.debug(`获取到frp版本${JSON.stringify(returnVersionsData)}`)
event.reply("Download.frpVersionHook", returnVersionsData); event.reply("Download.frpVersionHook", returnVersionsData);
}); });
}); });
@ -137,8 +143,8 @@ export const initGitHubApi = () => {
ipcMain.on("github.download", async (event, args) => { ipcMain.on("github.download", async (event, args) => {
const version = getVersion(args); const version = getVersion(args);
const asset = getAdaptiveAsset(args); const asset = getAdaptiveAsset(args);
log.info(`开始下载frp version${version} asset${asset}`)
const {browser_download_url} = asset; const {browser_download_url} = asset;
log.info(`开始下载frp url${browser_download_url} asset${asset.name}`)
// 数据目录 // 数据目录
await download(BrowserWindow.getFocusedWindow(), browser_download_url, { await download(BrowserWindow.getFocusedWindow(), browser_download_url, {
filename: `${asset.name}`, filename: `${asset.name}`,
@ -150,7 +156,7 @@ export const initGitHubApi = () => {
}); });
}, },
onCompleted: () => { onCompleted: () => {
log.info(`frp下载完成 version${version} asset${asset}`) log.info(`frp下载完成 url${browser_download_url} asset${asset.name}`)
const targetPath = path.resolve(path.join(app.getPath("userData"), "frp")); const targetPath = path.resolve(path.join(app.getPath("userData"), "frp"));
const ext = path.extname(asset.name) const ext = path.extname(asset.name)
let frpcVersionPath = "" let frpcVersionPath = ""

View File

@ -117,7 +117,7 @@ async function createWindow() {
} }
export const createTray = () => { export const createTray = () => {
log.info(`当前环境 platform${process.platform} arch${process.arch}`) log.info(`当前环境 platform${process.platform} arch${process.arch} appData${app.getPath("userData")}`)
let menu: Array<(MenuItemConstructorOptions) | (MenuItem)> = [ let menu: Array<(MenuItemConstructorOptions) | (MenuItem)> = [
{ {
label: '显示主窗口', click: function () { label: '显示主窗口', click: function () {
@ -214,7 +214,8 @@ ipcMain.handle("open-win", (_, arg) => {
}); });
ipcMain.on('open-url', (event, url) => { ipcMain.on('open-url', (event, url) => {
shell.openExternal(url).then(r => {}); shell.openExternal(url).then(r => {
});
}); });
initGitHubApi(); initGitHubApi();

View File

@ -1,6 +1,6 @@
{ {
"name": "Frpc-Desktop", "name": "Frpc-Desktop",
"version": "1.0.4", "version": "1.0.5",
"main": "dist-electron/main/index.js", "main": "dist-electron/main/index.js",
"description": "一个frpc桌面客户端", "description": "一个frpc桌面客户端",
"repository": "https://github.com/luckjiawei/frpc-desktop", "repository": "https://github.com/luckjiawei/frpc-desktop",

View File

@ -69,7 +69,7 @@ onMounted(() => {
</li> </li>
</ul> </ul>
<div class="version mb-2 animate__animated" @click="handleOpenGitHubReleases"> <div class="version mb-2 animate__animated" @click="handleOpenGitHubReleases">
v1.0.4 v1.0.5
</div> </div>
</div> </div>
</template> </template>

View File

@ -114,6 +114,11 @@ onUnmounted(() => {
<template> <template>
<div class="main"> <div class="main">
<breadcrumb/> <breadcrumb/>
<!-- <breadcrumb>-->
<!-- <div class="flex items-center">-->
<!-- <el-checkbox>加速下载</el-checkbox>-->
<!-- </div>-->
<!-- </breadcrumb>-->
<div class="app-container-breadcrumb pr-2" v-loading="loading > 0"> <div class="app-container-breadcrumb pr-2" v-loading="loading > 0">
<template v-if="versions && versions.length > 0"> <template v-if="versions && versions.length > 0">
<div <div