mirror of
https://github.com/coaidev/coai.git
synced 2025-05-19 21:10:18 +09:00
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
import router from "@/router.tsx";
|
|
import { useDeeptrain } from "@/conf/env.ts";
|
|
import { goDeepLogin } from "@/conf/deeptrain.ts";
|
|
|
|
export let event: BeforeInstallPromptEvent | undefined;
|
|
|
|
window.addEventListener("beforeinstallprompt", (e: Event) => {
|
|
console.debug(`[service] catch event from app install prompt`);
|
|
event = e as BeforeInstallPromptEvent;
|
|
});
|
|
|
|
export function triggerInstallApp() {
|
|
/**
|
|
* Trigger install app prompt
|
|
* Warning: this is a browser experimental feature, it may not work on some browsers
|
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent
|
|
*
|
|
* @example
|
|
* triggerInstallApp();
|
|
*/
|
|
if (!event) return;
|
|
try {
|
|
event.prompt();
|
|
event.userChoice.then((choice: any) => {
|
|
console.debug(`[service] installed app (status: ${choice.outcome})`);
|
|
});
|
|
} catch (err) {
|
|
console.debug("[service] install app error", err);
|
|
}
|
|
|
|
event = undefined;
|
|
}
|
|
|
|
export function getMemoryPerformance(): number {
|
|
/**
|
|
* Get memory performance
|
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Performance/memory
|
|
*
|
|
* @example
|
|
* getMemoryPerformance();
|
|
*/
|
|
|
|
if (!performance || !performance.memory) return NaN;
|
|
return performance.memory.usedJSHeapSize / 1024 / 1024;
|
|
}
|
|
|
|
export function navigate(path: string): void {
|
|
router
|
|
.navigate(path)
|
|
.then(() => console.debug(`[service] navigate to ${path}`))
|
|
.catch((err) => console.debug(`[service] navigate error`, err));
|
|
}
|
|
|
|
export function goAuth(): void {
|
|
useDeeptrain ? goDeepLogin() : navigate("/login");
|
|
}
|