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) { if (!pkgname) {
logger.warn("No pkgname provided for launch-app"); logger.warn("No pkgname provided for launch-app");
} }
const execCommand = "/opt/spark-store/extras/app-launcher"; let execCommand = "/opt/spark-store/extras/app-launcher";
const execParams = ["start", pkgname]; let execParams = ["start", pkgname];
if (origin === "apm") {
execCommand = "/opt/spark-store/extras/apm-launcher";
execParams = ["launch", pkgname];
}
logger.info( logger.info(
`Launching app: ${pkgname} with command: ${execCommand} ${execParams.join(" ")}`, `Launching app: ${pkgname} with command: ${execCommand} ${execParams.join(" ")}`,

View File

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

View File

@@ -109,7 +109,7 @@
<button <button
type="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" 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> <i class="fas fa-external-link-alt"></i>
<span>打开</span> <span>打开</span>
@@ -273,7 +273,7 @@ const emit = defineEmits<{
(e: "install", app: App): void; (e: "install", app: App): void;
(e: "remove", app: App): void; (e: "remove", app: App): void;
(e: "open-preview", index: number): 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; (e: "check-install", app: App): void;
}>(); }>();

View File

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