WeChat-Applet zum Speichern von Alben und Bildern in Alben

WeChat-Applet zum Speichern von Alben und Bildern in Alben

Ich entwickle derzeit eine Video- und Tool-App, ähnlich wie Xiao Nian Gao. Ich muss die von Benutzern erstellten Alben im lokalen Telefonalbum speichern. Der Seiteneffekt ist wie folgt:

Die implementierte Logik ist wie folgt:

1. Benutzerautorisierung einholen. Wenn autorisiert, direkt herunterladen.

2. Wenn der Benutzer noch keine Autorisierung vorgenommen hat, rufen Sie die Benutzerautorisierungsoberfläche auf und bitten Sie den Benutzer, die Autorisierung vorzunehmen. Wenn der Benutzer zustimmt, wird die Software heruntergeladen. Wenn der Benutzer nicht zustimmt, wird eine Eingabeaufforderung angezeigt.

3. Wenn zuvor eine Autorisierung angefordert wurde, der Benutzer diese jedoch abgelehnt hat, öffnen Sie die Einstellungsoberfläche und leiten Sie den Benutzer an, die Autorisierung zu aktivieren.

Nachfolgend sehen Sie die Codeimplementierung. Jeder kann sie kopieren, einfügen und kommentieren.

Zuerst der WXML-Code:

<Klasse anzeigen="album-operate"> 
    <view class="edit" bindtap="deleteAlbum" data-id="{{item.id}}" data-status="{{item.status}}">
        Löschen</view>
 
    <button class="speichern" data-link="{{item.link}}" data-status="{{item.status}}" bindtap='downloadAlbum'>
        Speichern/Herunterladen</button>
 
    <view class="share" bindtap="desabledShare" wx:if="{{item.status==2}}">Teilen</view>
    <button class="teilen" open-type="teilen" data-id="{{item.id}}" data-cover="{{item.cover_url}}" data-name="{{item.name}}" wx:if="{{item.status!=2}}">
        Teilen</button>
</Ansicht>

Unten ist der JS-Code

// Download autorisieren downloadAlbum: function(e) {
    var das = dies;
    // Albumstatus var status = e.target.dataset.status;
    // Download-Linkadresse var link = e.target.dataset.link;
 
    wenn (Status == 2) {
        wx.showToast({
            Titel: 'Das Album wird produziert, bitte warten',
            Symbol: „keine“
        });
    } anders {
        // Benutzerautorisierung einholen wx.getSetting({
            Erfolg(res) {
                // Wenn autorisiert if (res.authSetting['scope.writePhotosAlbum']) {
                    das.saveAlbum(link);
                // Wenn nicht autorisiert } sonst wenn (res.authSetting['scope.writePhotosAlbum'] === undefined) {
                    //Benutzerautorisierung aufrufen wx.authorize({
                        Umfang: 'Umfang.writePhotosAlbum',
                        Erfolg() {
                            das.saveAlbum(link);
                        },
                        scheitern() {
                            wx.showToast({
                                Titel: „Du hast keine Berechtigung, deshalb kannst du es nicht im Album speichern“,
                                Symbol: „keine“
                            })
                        }
                    })
                // Wenn die Autorisierung zuvor verweigert wurde } else {
                    wx.openSetting({
                        Erfolg(res) {
                            wenn (res.authSetting['scope.writePhotosAlbum']) {
                                das.saveAlbum(link);
                            } anders {
                                wx.showToast({
                                    Titel: „Du hast keine Berechtigung, deshalb kannst du es nicht im Album speichern“,
                                    Symbol: „keine“
                                })
                            }
                        }
                    })
                }
            }
        })
    }
},
 
// Das Album speichern saveAlbum: function (link) {
    wx.downloadFile({
        URL: Link,
        Erfolg(res) {
            wenn (res.statusCode === 200) {
                var Pfad = res.tempFilePath
                wx.saveVideoToPhotosAlbum({
                    filePath: Pfad,
                    Erfolg(res) {
                        wenn (res.errMsg == 'saveVideoToPhotosAlbum:ok') {
                            wx.showToast({
                                Titel: „Download abgeschlossen“,
                            })
                        }
                    }
                })
            }
        }
    })
},

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Das WeChat-Applet ermöglicht das Aufnehmen von Fotos und Auswählen von Bildern aus Alben
  • WeChat-Applet: Bilder in Albenberechtigungseinstellungen speichern
  • Das WeChat-Applet nimmt ein Foto auf oder wählt ein Bild aus dem Album aus, um es hochzuladen – Codebeispiel
  • Das WeChat-Applet implementiert die Funktion zum Speichern von Bildern im Album
  • So verwenden Sie das WeChat-Applet „chooseImage“ (wählen Sie ein Bild aus dem lokalen Album aus oder machen Sie ein Foto mit der Kamera)
  • WeChat-Applet-Entwicklung: Holen Sie sich Bilder aus dem Album und verwenden Sie die Kamera, um Bilder aufzunehmen und lokale Bilder hochzuladen

<<:  Die perfekte Lösung, um das Passwort in mysql8.0.19 zu vergessen

>>:  Docker implementiert hostübergreifende Containerkommunikation basierend auf MacVLAN

Artikel empfehlen

Lösung für das Problem „VMware-virtuelle Maschine ohne Netzwerk“

Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...

Implementierungsbeispiel für dynamische Routing-Breadcrumbs für Elemente

Zu meistern: localStorage, Komponentenkapselung Ä...

Grundlegendes Handbuch für Webdesign 216 Websichere Farben

Die Farbdarstellung auf einer Webseite wird von ve...

CentOS7 verwendet RPM, um MySQL 5.7-Tutorialdiagramm zu installieren

1. Laden Sie 4 RPM-Pakete herunter mysql-communit...

Lösungen für MySQL-Batch-Insert- und eindeutige Indexprobleme

MySQL-Batch-Einfügeproblem Da bei der Entwicklung...

Detaillierte Erklärung dieses Zeigeproblems in JavaScript

Vorwort Der This-Zeiger in JS hat Anfängern schon...

Allgemeine Schreibbeispiele für MySQL- und Oracle-Batch-Insert-SQL

Inhaltsverzeichnis Zum Beispiel: Allgemeines Schr...

Prozessdiagramm zur Implementierung der Zabbix WEB-Überwachung

Nehmen Sie als Beispiel die WEB-Schnittstelle von...

Detaillierte Zusammenfassung von MySQL und verbindungsbezogenen Timeouts

MySQL und verbindungsbezogene Timeouts Vorwort: H...

Detaillierter Prozess der Installation von Jenkins-2.249.3-1.1 mit Docker

Inhaltsverzeichnis 1. Docker installieren 2. Zieh...