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 MySQL-Datensortierung (aufsteigend und absteigend)

Datensortierung aufsteigend, absteigend 1. Sortie...

Fehler mit ungerader Breite und Höhe in IE6

Wie in der Abbildung gezeigt: Aber bei der Anzeig...

So verhindern Sie das Flashen von Vue in kleinen Projekten

Zusammenfassung HTML: Element plus V-Umhang CSS: ...

Konfigurationslösung für die MySQL Dual-Master-Architektur (Master-Master)

In Unternehmen hat die hohe Verfügbarkeit von Dat...

Konvertierung von virtuellem Dom in reales Dom mit Vue

Es gibt eine andere Baumstruktur Javascript-Objek...

Vue-Komponente zur Realisierung einer Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Drei BOM-Objekte in JavaScript

Inhaltsverzeichnis 1. Standortobjekt 1. URL 2. Ei...

Erläuterung des Problems bei der Auswahl des MySQL-Speicherzeittyps

Der datetime-Typ wird normalerweise zum Speichern...

Einige Front-End-Praxiszusammenfassungen der neuen Homepage von Alipay

Natürlich fließen auch einige persönliche Erfahrun...

js zur Realisierung einer einfachen Warenkorbfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der Kernkonzepte und der grundlegenden Verwendung von Vuex

Inhaltsverzeichnis einführen Start Installieren ①...

Flex-Grow-, Flex-Shrink-, Flex-Basis- und Neun-Raster-Layout verstehen

1. Flex-Grow-, Flex-Shrink- und Flex-Basis-Eigens...