Implementierungsmethode für die Datenspeicherung im WeChat-Applet

Implementierungsmethode für die Datenspeicherung im WeChat-Applet

Globale Variable „globalData“

Wenn das Miniprogramm ursprünglich erstellt wurde, wird der Parameter globalData standardmäßig dem Objekt hinzugefügt, das an die App-Methode in der Datei app.js übergeben wird. Auf allen Seiten können wir die Methode getApp verwenden, um das von der App-Methode übergebene Objekt abzurufen und dann die darin enthaltenen globalData abzurufen.

const App = getApp();
const openId = App.globalData.openId;
App.globalData.openId = 1;
App.globalData.openId löschen;

Der Wert von globalData ist ein Objekt und wir können ihn auf die gleiche Weise wie ein Objekt aufrufen. (globalData heißt nicht unbedingt so)

Private Variablendaten der Seite

Die Seite der JS-Logikebene jeder Seite übergibt ein Objekt an die Page-Methode. Der Datenwert wird im Allgemeinen zum Speichern des Variablenwerts auf der aktuellen Seite verwendet. Sein Hauptzweck besteht darin, über die setData-Schnittstelle mit der Ansichtsebene zu interagieren, um den Anzeigeinhalt der wxml-Ansichtsebene zu ändern.

Wenn Sie den Wert in den Daten nicht an die Ansichtsebene übergeben müssen, wird nicht empfohlen, „setData“ zu verwenden. Stattdessen sollten Sie die Objektoperation nutzen. Kann effektiv Leistung sparen.
Wenn die Seite initialisiert wird, interagieren die Daten in den Daten mit der Ansichtsebene. Bei weiterer Verarbeitung können wir dem Objekt auch localData hinzufügen, um gezielt die für die aktuelle Seite benötigten Variablen zu speichern.

Seite({
 Daten: {
  offene ID: 123
 },
 lokaleDaten: {
  Zeitstempel: Date.now()
 }
})
dies.setData({
 offene ID: 321
})
diese.Daten.openId = 321;
this.localData.timeStamp = Daten.jetzt();

Lagerung

Auch in Miniprogrammen ist Storage eine sehr verbreitete Speichermethode, ähnlich der globalen Variable globalData. Der Wert ist nicht auf eine bestimmte Seite beschränkt, sondern kann überall über die von wx bereitgestellte Schnittstelle abgerufen werden.

Der Vorteil liegt darin, dass die Daten dauerhaft gespeichert werden können und auch bei einer Abmeldung und erneuten Anmeldung nicht verloren gehen. (Obere Speichergrenze 10 M)
Die Nachteile sind: asynchrones Verhalten, jeder Zugriff dauert relativ lange.
wx bietet Schnittstellen zum Hinzufügen, Löschen, Ändern und Prüfen (Hinzufügen und Ändern sind beide festgelegte Schnittstellen). Hier ist nur ein Beispiel für die Datenspeicherung:

Asynchrone Speicherung (abhängig von der Leistung des Geräts, man weiß nie, wie lange die Daten gespeichert werden)

wx.setStorage({
 Schlüssel: 'Schlüssel',
 Daten: 'Wert',
 Erfolg: res => {
  ...
 }
})
// Supportversprechen
wx.setStorage({Schlüssel: 'Schlüssel', Daten: 'Wert'})
 .then(res => {
  ...
 })

Synchrone Speicherung (führt zu Blockierungen~)

wx.setStorageSync('Schlüssel', 'Wert')
...

Dateispeicher fileSysteManager

fileSysteManager (nachfolgend fs genannt) kann Text- und Bilddaten lokal in Form von Dateien speichern. Das Speicherlimit beträgt 10 MB (ich erinnere mich, dass es vorher 200 MB waren, aber später habe ich in den Dokumenten 10 gesehen). Es wird für lange Zeit gespeichert und die Miniprogrammdaten verschwinden nicht, sofern sie nicht gelöscht werden.

Schreiben:

const fs = wx.getFileSystemManager();
fs.writeFile({
  Dateipfad: `${wx.env.USER_DATA_PATH}/_l${fileName}.txt`,
  Daten: JSON.stringify(Daten),
  Kodierung: „utf8“,
  Erfolg(res) { ... }
})
  • Der env.userDatapath in filePath ist der von wx dem aktuellen Programm zugewiesene Standardbereich. Der Programmierer kann darin Ordner erstellen, Dateien hinzufügen usw.
  • fileName ist der Dateiname beim Speichern von Daten.
  • Daten sind die zu speichernden Daten, was ein Bild sein kann.
  • Kodierung: Kodierungsformat. Wenn die Daten ein Bild sind, können sie in Binärformat umgewandelt werden.

Lesen

Beachten Sie beim Zugriff auf Daten den Dateinamen und den Speicherort.

fs.readFile({
  Dateipfad: `${wx.env.USER_DATA_PATH}/_l${fileName}.txt`,
  Kodierung: „utf8“,
  Position: 0,
  Erfolg(res) {
 JSON.parse(res.daten) 
  }
})

Entfernen

fs.unlink({
  Dateipfad: `${wx.env.USER_DATA_PATH}/_l${fileName}.txt`,
  Kodierung: „utf8“,
  Erfolg(res) {
 ...
  }
})

Alle FS-Operationen sind asynchron, achten Sie daher auf die Verarbeitungslogik.

Dies ist das Ende dieses Artikels über die Implementierung der Datenspeicherung in WeChat Mini-Programmen. Weitere relevante Inhalte zur Datenspeicherung von Mini-Programmen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • WeChat-Miniprogramm: Detaillierte Erläuterung der Datenspeicherung, Wertübertragung und des Wertabrufs
  • Details zur Datenspeicherung und zum Abrufen von Werten im WeChat-Applet
  • Detaillierte Erläuterung des Beispiels für die lokale Datenspeicherung des WeChat-Applets
  • WeChat-Applet-Entwicklung, Datenspeicherung, Parameterübertragung, Datencache
  • Datenspeicherung des WeChat-Applets und Senden von Anfragen durch Django und andere Dienste

<<:  mysql charset=utf8 verstehen Sie wirklich, was es bedeutet

>>:  Nginx-Dienst 500: Interner Serverfehler einer der Gründe

Artikel empfehlen

Interpretation von syslogd- und syslog.conf-Dateien unter Linux

1: Einführung in syslog.conf Für verschiedene Uni...

Installieren Sie Docker für Windows unter Windows 10 Home Edition

0. Hintergrund Hardware: Xiaomi Notebook Air 13/I...

So fügen Sie Nginx dynamisch Module hinzu

Vorne geschrieben Nachdem wir Nginx basierend auf...

Details zur Funktionsverschachtelung und zu Funktionsabschlüssen in js

Inhaltsverzeichnis 1. Geltungsbereich 2. Funktion...

Implementierung des Deployment-War-Package-Projekts mit Docker

Um War mit Docker bereitzustellen, müssen Sie ein...

Erläuterung zum Erstellen der Graphdatenbank neo4j in einer Linux-Umgebung

Neo4j (eines der NoSQL-Modelle) ist eine leistung...

So verbergen Sie Elemente im Web und ihre Vor- und Nachteile

Beispiel-Quellcode: https://codepen.io/shadeed/pe...

HTML-Tag Marquee realisiert verschiedene Scroll-Effekte (ohne JS-Steuerung)

Der automatische Bildlaufeffekt der Seite kann du...

Docker-Installation von Nginx Probleme und Fehleranalyse

Frage: Beim Installieren Nginx in Docker ist der ...