chet novoe
This commit is contained in:
21
src/App.vue
21
src/App.vue
@@ -11,6 +11,8 @@
|
||||
<router-view/>
|
||||
</div>
|
||||
<OverlayView class="w-full sticky invisible lg:visible top-0 z-10"/>
|
||||
|
||||
<Button :label="Sub" @click="subscribeUserToPush"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -18,23 +20,34 @@
|
||||
import MenuBar from "./components/MenuBar.vue";
|
||||
import OverlayView from "@/components/OverlayView.vue";
|
||||
import ToolBar from "@/components/ToolBar.vue";
|
||||
import Button from "primevue/button";
|
||||
import axiosSetup from "@/services/axiosSetup";
|
||||
import {onMounted} from "vue";
|
||||
import {subscribeUserToPush} from "@/services/pushManager";
|
||||
import apiClient from "@/plugins/axios";
|
||||
import apiClient from '@/services/axiosSetup';
|
||||
|
||||
|
||||
onMounted(async () => {
|
||||
|
||||
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("http/api/v1/push/subscribe", subscription)
|
||||
await apiClient.post("/push/subscribe", subscription)
|
||||
} catch (error) {
|
||||
console.error("Failed to subscribe to push:", error);
|
||||
}
|
||||
} else {
|
||||
// Пользователь ранее отклонил запрос
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
await checkSubscribe()
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
@@ -33,11 +33,7 @@ if ("serviceWorker" in navigator) {
|
||||
}
|
||||
|
||||
|
||||
Notification.requestPermission().then((permission) => {
|
||||
if (permission === 'granted') {
|
||||
console.log('Разрешение на уведомления получено.');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Компонент Vue 3 или логика подписки
|
||||
|
||||
|
||||
Reference in New Issue
Block a user