Aller directement au contenu principal
Tutoriel

Écran hors ligne dans Vue, Angular, React avec Capacitor

Découvrez comment mettre en œuvre un écran hors ligne dans les applications Vue, Angular ou React en utilisant le réseau API et Capacitor. Améliorez l'expérience utilisateur en gérant efficacement les scénarios hors ligne.

Martin Donadieu

Martin Donadieu

Responsable de contenu

Écran hors ligne dans Vue, Angular, React avec Capacitor

Comment Créer une Écran Hors Ligne en Vue 3, Angular 14 ou React

Dans ce tutoriel, nous allons apprendre à créer une écran hors ligne dans les applications Vue 3, Angular 14 et React en utilisant le Network API. Le Network API fournit des informations sur le réseau et la connectivité, nous permettant de gérer les scénarios hors ligne et d'offrir une meilleure expérience utilisateur.

Prérequis

Avant de commencer, assurez-vous d'avoir les éléments suivants installés :

Configuration du Projet

Créez d'abord un nouveau projet en utilisant l'outil de mise en forme respectif pour chaque framework.

Vue 3

Ouvrez votre terminal et exécutez la commande suivante pour créer un nouveau projet Vue 3 :

vue create offline-screen-vue3

Choisissez le préfixe par défaut et attendez que le projet soit créé.

Angular 14

Ouvrez votre terminal et exécutez la commande suivante pour créer un nouveau projet Angular 14 :

ng new offline-screen-angular14

Suivez les invites, et lorsque vous êtes invité à ajouter des fonctionnalités supplémentaires, sélectionnez « Routing » en appuyant sur la touche « espace ». Attendez que le projet soit créé. React

Ouvrez votre terminal et exécutez la commande suivante pour créer un nouveau projet React :

Attendez que le projet soit créé.

npx create-react-app offline-screen-react

Installation du réseau __CAPGO_KEEP_0__

Installing the Network API

Network @capacitor/network package, qui fournit le réseau API.

Ouvrez votre terminal et naviguez jusqu'à votre répertoire de projet. Ensuite, exécutez la commande suivante pour installer le package :

npm install @capacitor/network

Pour les projets Capacitor, exécutez également la commande suivante pour synchroniser les fichiers de projet natifs :

npx cap sync

Assurez-vous d'avoir le Capacitor CLI installé globalement en exécutant :

npm install -g @capacitor/cli

Mettre en œuvre l'écran hors ligne

Ensuite, nous allons mettre en œuvre la fonctionnalité de l'écran hors ligne dans chaque framework. Nous afficherons un message simple lorsque l'utilisateur se déconnecte.

Vue 3

Dans votre projet Vue 3, ouvrez le src/main.js fichier et importez le Network module de @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);
};

Dans votre modèle d'application (App.vue), ajoutez un <div> élément portant l'identifiant de offline-screen pour afficher le message d'écran hors ligne :

<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>

Maintenant, lorsque l'utilisateur se déconnecte, l'écran hors ligne sera affiché. Lorsque l'utilisateur revient en ligne, l'écran hors ligne sera caché.

Angular 14

Dans votre projet Angular 14, ouvrez le src/app/app.component.ts fichier et importez le Network module depuis @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);
  };

}

Dans votre modèle d'application (app.component.html), ajoutez un <div> élément portant l'identifiant de offline-screen pour afficher le message d'écran hors ligne :

<div id="offline-screen">
  <h1>You are offline</h1>
  <p>Please check your internet connection and try again.</p>
</div>

<!-- Your application content -->

Ajoutez les styles suivants au 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;
}

Maintenant, lorsque l'utilisateur se déconnecte, l'écran hors ligne sera affiché. Lorsque l'utilisateur revient en ligne, l'écran hors ligne sera caché.

React

Dans votre projet React, ouvrez le src/App.js file et importez le Network module depuis @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

Ajoutez les styles suivants au 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;
}

Maintenant, lorsque l'utilisateur se déconnecte, l'écran hors ligne sera affiché. Lorsque l'utilisateur revient en ligne, l'écran hors ligne sera caché.

Méthodes et interfaces de support

Le réseau API fournit plusieurs méthodes et interfaces pour vous aider à gérer la connexion réseau. Voici quelques-unes des principales :

Continuez à partir de l'écran hors ligne dans Vue, Angular, React avec Capacitor

Si vous utilisez Écran hors ligne dans Vue, Angular, React avec Capacitor pour planifier le comportement de médias et d'interface natifs, connectez-le avec Utilisation de @capgo/capacitor-activités-en-ligne pour la capacité native dans Utilisation de @capgo/capacitor-activités-en-ligne, @capgo/capacitor-activités-en-ligne pour le détail d'implémentation dans @capgo/capacitor-activités-en-ligne, Utilisation de @capgo/capacitor-joueur-de-videos pour la capacité native dans Utilisation de @capgo/capacitor-joueur-de-videos, @capgo/capacitor-joueur-de-videos pour les détails d'implémentation dans @capgo/capacitor-player vidéo, et En utilisant @capgo/capacitor-navigation native pour la capacité native dans En utilisant @capgo/capacitor-navigation native.

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en direct, expédiez la correction par Capgo au lieu de attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans le chemin de revue normal.

Commencez dès maintenant

Dernières actualités de notre Blog

Capgo vous offre les meilleures informations nécessaires pour créer une application mobile véritablement professionnelle.