Come creare una schermata offline in Vue 3, Angular 14 o React
In questo tutorial, impareremo a creare una schermata offline nelle applicazioni Vue 3, Angular 14 e React utilizzando la rete API. La rete API fornisce informazioni sulla rete e sulla connettività, consentendoci di gestire scenari offline e fornire un'esperienza utente migliore. Per controlli di raggiungibilità più approfonditi al di là di un semplice flag online/offline, @capgo/capacitor-diagnostiche-di-rete puoi testare la raggiungibilità dell'URL, i porti TCP e le mani di WebSocket da code nativo.
Requisiti preliminari
Prima di iniziare, assicurati di avere installato:
- Node.js (versione 14 o superiore)
- Vue CLI
- Angular CLI
- Create React App
Configurazione del Progetto
Prima di tutto, creiamo un nuovo progetto utilizzando lo strumento di scaffolding rispettivo per ogni framework.
Vue 3
Apri il tuo terminale e esegui il seguente comando per creare un nuovo progetto Vue 3:
vue create offline-screen-vue3
Scegli il preset di default e attendi che il progetto venga creato.
Angular 14
Apri il tuo terminale e esegui il seguente comando per creare un nuovo progetto Angular 14:
ng new offline-screen-angular14
Segui le istruzioni, e quando ti viene chiesto di selezionare funzionalità aggiuntive, seleziona "Routing" premendo il tasto spaziobar Aspetta che il progetto venga creato.
React
Apri il tuo terminale e esegui il seguente comando per creare un nuovo progetto React:
npx create-react-app offline-screen-react
Aspetta che il progetto venga creato.
L'installazione della rete API
Ora, installiamo il @capacitor/network pacchetto, che fornisce la rete API.
Apri il tuo terminale e naviga nella directory del tuo progetto. Poi, esegui il seguente comando per installare il pacchetto:
npm install @capacitor/network
Per i progetti Capacitor , esegui anche il seguente comando per sincronizzare i file del progetto nativo:
npx cap sync
Assicurati di avere l'Capacitor CLI installato globalmente eseguendo:
npm install -g @capacitor/cli
Implementazione della schermata offline
Proseguiremo con l'implementazione della funzionalità della schermata offline in ogni framework. Mostreremo un semplice messaggio quando l'utente va offline.
Vue 3
Apri il file e importa il src/main.js modulo da Network In tuo template di applicazione ( @capacitor/network:
import { createApp } from 'vue';
import { Network } from '@capacitor/network';
const app = createApp(App);
// Your application setup
app.mount('#app');
Network.addListener('networkStatusChange', status => {
if (status.connected) {
// User is back online
// Hide the offline screen
document.getElementById('offline-screen').style.display = 'none';
} else {
// User is offline
// Display the offline screen
document.getElementById('offline-screen').style.display = 'block';
}
});
const logCurrentNetworkStatus = async () => {
const status = await Network.getStatus();
console.log('Network status:', status);
};
), aggiungi un elemento con un id diApp.vueper visualizzare il messaggio di schermo offline: <div> Ora, quando l'utente va offline, lo schermo offline sarà visualizzato. Quando l'utente torna online, lo schermo offline sarà nascosto. offline-screen Angular 14
<template>
<div id="app">
<div id="offline-screen">
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
<!-- Your application content -->
</div>
</template>
<style>
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
</style>
Apri il file e importa il
modulo da
In tuo template di applicazione ( src/app/app.component.ts ), aggiungi un elemento con un id di Network Inserisci il modulo da @capacitor/network:
import { Component } from '@angular/core';
import { Network } from '@capacitor/network';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor() {
Network.addListener('networkStatusChange', status => {
if (status.connected) {
// User is back online
// Hide the offline screen
document.getElementById('offline-screen').style.display = 'none';
} else {
// User is offline
// Display the offline screen
document.getElementById('offline-screen').style.display = 'block';
}
});
}
logCurrentNetworkStatus = async () => {
const status = await Network.getStatus();
console.log('Network status:', status);
};
}
Nella tua cartella di template dell'applicazione (app.component.html), aggiungi un <div> elemento con un id di offline-screen per visualizzare il messaggio di schermo offline:
<div id="offline-screen">
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
<!-- Your application content -->
Aggiungi le seguenti stili al app.component.css file:
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
Ora, quando l'utente va in modalità offline, lo schermo offline verrà visualizzato. Quando l'utente torna online, lo schermo offline verrà nascosto.
React
Nella tua progetto React, apri il src/App.js file e importa il Network modulo da @capacitor/network:
import React, { useEffect } from 'react'
import { Network } from '@capacitor/network'
function App() {
useEffect(() => {
Network.addListener('networkStatusChange', (status) => {
if (status.connected) {
// User is back online
// Hide the offline screen
document.getElementById('offline-screen').style.display = 'none'
}
else {
// User is offline
// Display the offline screen
document.getElementById('offline-screen').style.display = 'block'
}
})
}, [])
const logCurrentNetworkStatus = async () => {
const status = await Network.getStatus()
console.log('Network status:', status)
}
return (
<div id="app">
<div id='offline-screen'>
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
{/* Your application content */}
</div>
)
}
export default App
Aggiungi i seguenti stili al App.css file:
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
Ora, quando l'utente va offline, verrà visualizzato lo schermo offline. Quando l'utente torna online, lo schermo offline verrà nascosto.
Sostegno Metodi e Interfacce
Il Network API fornisce diversi metodi e interfacce per aiutarti a gestire la connessione di rete. Ecco alcuni dei principali:
getStatus(): Query lo stato attuale della connessione di rete.addListener('networkStatusChange', ...): Ascolta per cambiamenti nella connessione di rete.
Continua da Schermo Offline in Vue, Angular, React con Capacitor
Se stai utilizzando Schermo Offline in Vue, Angular, React con Capacitor per pianificare il comportamento di media e interfaccia nativa, connettilo con Utilizzando @capgo/capacitor-live-activities per la capacità nativa in Utilizzare @capgo/capacitor-live-attività, @capgo/capacitor-live-attività per il dettaglio di implementazione in @capgo/capacitor-live-attività, Utilizzare @capgo/capacitor-video-player per la capacità nativa in Utilizzare @capgo/capacitor-video-player, @capgo/capacitor-video-player per il dettaglio di implementazione in @capgo/capacitor-video-player, e Utilizzare @capgo/capacitor-navigazione nativa per la capacità nativa in Utilizzare @capgo/capacitor-navigazione nativa.