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

Beispiele für vertikale Raster und progressiven Zeilenabstand

Neue Fragen Kommen und gehen Sie in Eile. Seit de...

Detaillierte Beispiele zur Ajax-Verwendung in js und jQuery

Inhaltsverzeichnis Natives JS So senden Sie eine ...

Natives JS zum Erstellen einer Drag-Fotowand

Dieser Artikel zeigt Ihnen eine verschiebbare Fot...

Verwendung und Verschönerung von HTML-Blockquote-Tags

Definition und Verwendung von Blockquote Das Tag ...

So überwachen Sie den Linux-Serverstatus

Wir, insbesondere Linux-Ingenieure, haben täglich...

React implementiert Import und Export von Excel-Dateien

Inhaltsverzeichnis Präsentationsschicht Geschäfts...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.22 winx64

Das Tutorial zur Datenbankinstallation von MySQL-...

Natives, benutzerdefiniertes Rechtsklickmenü von js

In diesem Artikelbeispiel wird der spezifische Co...

Teilen Sie JS vier lustige Hacker-Hintergrundeffektcodes

Inhaltsverzeichnis Beispiel 1 Beispiel 2 Beispiel...

Eine kurze Diskussion über die VUE Uni-App-Entwicklungsumgebung

Inhaltsverzeichnis 1. Über die visuelle Schnittst...

Was ist HTML?

Geschichte der HTML-Entwicklung: HTML steht im En...