chet novoe

This commit is contained in:
Vladimir Voronin
2024-10-30 19:03:07 +03:00
parent 3fd47a92a3
commit 7a3c3430c1
2 changed files with 24 additions and 15 deletions

View File

@@ -11,6 +11,8 @@
<router-view/> <router-view/>
</div> </div>
<OverlayView class="w-full sticky invisible lg:visible top-0 z-10"/> <OverlayView class="w-full sticky invisible lg:visible top-0 z-10"/>
<Button :label="Sub" @click="subscribeUserToPush"/>
</div> </div>
</template> </template>
@@ -18,23 +20,34 @@
import MenuBar from "./components/MenuBar.vue"; import MenuBar from "./components/MenuBar.vue";
import OverlayView from "@/components/OverlayView.vue"; import OverlayView from "@/components/OverlayView.vue";
import ToolBar from "@/components/ToolBar.vue"; import ToolBar from "@/components/ToolBar.vue";
import Button from "primevue/button";
import axiosSetup from "@/services/axiosSetup"; import axiosSetup from "@/services/axiosSetup";
import {onMounted} from "vue"; import {onMounted} from "vue";
import {subscribeUserToPush} from "@/services/pushManager"; import {subscribeUserToPush} from "@/services/pushManager";
import apiClient from "@/plugins/axios"; import apiClient from '@/services/axiosSetup';
const checkSubscribe = async () => {
if (Notification.permission === 'default') {
Notification.requestPermission()
} else if (Notification.permission === 'granted') {
try {
const subscription = await subscribeUserToPush();
console.log("Push subscription:", subscription);
// Отправка подписки на сервер для хранения
await apiClient.post("/push/subscribe", subscription)
} catch (error) {
console.error("Failed to subscribe to push:", error);
}
} else {
// Пользователь ранее отклонил запрос
}
}
onMounted(async () => { onMounted(async () => {
await checkSubscribe()
try {
const subscription = await subscribeUserToPush();
console.log("Push subscription:", subscription);
// Отправка подписки на сервер для хранения
await apiClient.post("http/api/v1/push/subscribe", subscription)
} catch (error) {
console.error("Failed to subscribe to push:", error);
}
}) })

View File

@@ -33,11 +33,7 @@ if ("serviceWorker" in navigator) {
} }
Notification.requestPermission().then((permission) => {
if (permission === 'granted') {
console.log('Разрешение на уведомления получено.');
}
});
// Компонент Vue 3 или логика подписки // Компонент Vue 3 или логика подписки