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:
|
<<: Die perfekte Lösung, um das Passwort in mysql8.0.19 zu vergessen
>>: Docker implementiert hostübergreifende Containerkommunikation basierend auf MacVLAN
Vorwort Die Benachrichtigungsleistenkomponente is...
Vom Backend zum Frontend: was für eine Tragödie. A...
Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...
Hintergrund: Da die Projekte des Unternehmens dem...
Zu meistern: localStorage, Komponentenkapselung Ä...
Die Farbdarstellung auf einer Webseite wird von ve...
1. Laden Sie 4 RPM-Pakete herunter mysql-communit...
MySQL-Batch-Einfügeproblem Da bei der Entwicklung...
Vorwort Der This-Zeiger in JS hat Anfängern schon...
Inhaltsverzeichnis Zum Beispiel: Allgemeines Schr...
Nehmen Sie als Beispiel die WEB-Schnittstelle von...
MySQL und verbindungsbezogene Timeouts Vorwort: H...
Centos7 verwendet Yum, um MySQL zu installieren u...
1. Replikationsprinzip Der Masterserver schreibt ...
Inhaltsverzeichnis 1. Docker installieren 2. Zieh...