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

Implementierung der Knotenverbindung zur MySQL-Abfragetransaktionsverarbeitung

Inhaltsverzeichnis Geben Sie das Thema MySQL ein:...

Vue implementiert das Hinzufügen eines Wasserzeicheneffekts zur Seite

Als ich kürzlich an einem Projekt arbeitete, wurd...

Detaillierte Erklärung zum Datenaustausch zwischen Vue-Komponenten

Inhaltsverzeichnis 1. In der Projektentwicklung w...

Linux verwendet iftop, um den Netzwerkkartenverkehr in Echtzeit zu überwachen

Linux verwendet iftop, um den Verkehr der Netzwer...

HTML realisiert Echtzeit-Überwachungsfunktion der Hikvision-Kamera

Das Unternehmen hat vor Kurzem einige CCFA-Aktivi...

Vues Render-Funktion

Inhaltsverzeichnis 1. Knoten, Bäume und virtuelle...

Verwendung des optionalen Verkettungsoperators von JS

Vorwort Der optionale Verkettungsoperator (?.) er...

Detaillierte Erläuterung des MySQL Master-Slave-Replikationsprozesses

1. Was ist Master-Slave-Replikation? Die DDL- und...

Das ganz links stehende Übereinstimmungsprinzip des MySQL-Datenbankindex

Inhaltsverzeichnis 1. Gemeinsame Indexbeschreibun...

Analyse des Tutorials zur Implementierung der Remote-Anmeldung unter Linux

Linux wird im Allgemeinen als Server verwendet un...

Lernen Sie die Grundlagen von nginx

Inhaltsverzeichnis 1. Was ist nginx? 2. Was kann ...