mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-04-26 01:10:16 +08:00
fix:修复商店无法调起apm软件的问题
This commit is contained in:
@@ -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(" ")}`,
|
||||||
|
|||||||
@@ -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 () => {
|
||||||
|
|||||||
@@ -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;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user