fix:修复商店无法调起apm软件的问题

This commit is contained in:
2026-03-11 16:08:51 +08:00
parent 19b96c93f6
commit 16f7b62491
4 changed files with 18 additions and 9 deletions

View File

@@ -634,13 +634,22 @@ ipcMain.handle("uninstall-installed", async (_event, pkgname: string) => {
};
});
ipcMain.handle("launch-app", async (_event, pkgname: string) => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
ipcMain.handle("launch-app", async (_event, payload: any) => {
const pkgname = typeof payload === "string" ? payload : payload.pkgname;
const origin = typeof payload === "string" ? "spark" : payload.origin;
if (!pkgname) {
logger.warn("No pkgname provided for launch-app");
}
const execCommand = "/opt/spark-store/extras/app-launcher";
const execParams = ["start", pkgname];
let execCommand = "/opt/spark-store/extras/app-launcher";
let execParams = ["start", pkgname];
if (origin === "apm") {
execCommand = "/opt/spark-store/extras/apm-launcher";
execParams = ["launch", pkgname];
}
logger.info(
`Launching app: ${pkgname} with command: ${execCommand} ${execParams.join(" ")}`,

View File

@@ -913,12 +913,12 @@ const closeDownloadDetail = () => {
currentDownload.value = null;
};
const openDownloadedApp = (pkgname: string) => {
const openDownloadedApp = (pkgname: string, origin?: "spark" | "apm") => {
// const encodedPkg = encodeURIComponent(download.pkgname);
// openApmStoreUrl(`apmstore://launch?pkg=${encodedPkg}`, {
// fallbackText: `打开应用: ${download.pkgname}`
// });
window.ipcRenderer.invoke("launch-app", pkgname);
window.ipcRenderer.invoke("launch-app", { pkgname, origin });
};
const loadCategories = async () => {

View File

@@ -109,7 +109,7 @@
<button
type="button"
class="inline-flex items-center gap-2 rounded-2xl bg-gradient-to-r from-brand to-brand-dark px-4 py-2 text-sm font-semibold text-white shadow-lg transition hover:-translate-y-0.5"
@click="emit('open-app', displayApp?.pkgname || '')"
@click="emit('open-app', displayApp?.pkgname || '', displayApp?.origin)"
>
<i class="fas fa-external-link-alt"></i>
<span>打开</span>
@@ -273,7 +273,7 @@ const emit = defineEmits<{
(e: "install", app: App): void;
(e: "remove", app: App): void;
(e: "open-preview", index: number): void;
(e: "open-app", pkgname: string): void;
(e: "open-app", pkgname: string, origin?: "spark" | "apm"): void;
(e: "check-install", app: App): void;
}>();

View File

@@ -223,7 +223,7 @@ const emit = defineEmits<{
(e: "resume", download: DownloadItem): void;
(e: "cancel", download: DownloadItem): void;
(e: "retry", download: DownloadItem): void;
(e: "open-app", download: string): void;
(e: "open-app", pkgname: string, origin?: "spark" | "apm"): void;
}>();
const close = () => {
@@ -248,7 +248,7 @@ const retry = () => {
const openApp = () => {
if (props.download) {
emit("open-app", props.download.pkgname);
emit("open-app", props.download.pkgname, props.download.origin);
}
};