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

So verwenden Sie die Debouce-Anti-Shake-Funktion in Vue

Inhaltsverzeichnis 1. Anti-Shake-Funktion 2. Verw...

Beispielcode für die HTML-Formatierung von JSON

Ohne weitere Umschweife werde ich den Code direkt...

Implementierung der Breakpoint-Wiederaufnahme in Node.js

Vorwort Normaler Geschäftsbedarf: Hochladen von B...

Lösung zum Einfügen eines Formulars mit einer Leerzeile oben und unten

Ich weiß nicht, ob Ihnen beim Erstellen einer Webs...

Eine kurze Einführung in das bionische Design im Internet-Webdesign

Beim Stichwort Bionik-Design denken viele an die E...

Schritte zur Installation von MySQL mit Docker unter Linux

Als Tester müssen Sie während des Lernprozesses h...

Lösung für das Problem ungenauer JS-Zahlen

Die verständlichste Erklärung des Genauigkeitspro...

Detaillierte Erklärung der Verwendung von publicPath in Webpack

Inhaltsverzeichnis Ausgabe Ausgabepfad Ausgabe.öf...

MySQL 5.6 Installationsschritte mit Bildern und Text

MySQL ist ein Open-Source-Verwaltungssystem für k...

js, um Sternblitzeffekte zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

So können Sie lange Vue-Listen schnell laden

Inhaltsverzeichnis Hintergrund Hauptinhalt 1. Kom...