私は現在、Xiao Nian Gao に似たビデオおよびツール アプリを開発しています。ユーザーが作成したアルバムをローカルの電話アルバムに保存する必要があります。ページ効果は次のとおりです。 実装されたロジックは次のとおりです。 1. ユーザーの承認を取得します。承認された場合は、直接ダウンロードします。 2. ユーザーが以前に認証したことがない場合は、ユーザー認証インターフェイスを呼び出して、ユーザーに認証を求めます。ユーザーが同意すると、ソフトウェアがダウンロードされます。ユーザーが同意しない場合は、プロンプトが表示されます。 3. 以前に認証が要求されたがユーザーが拒否した場合は、設定インターフェースを開き、ユーザーに認証を有効にするように指示します。 以下はコード実装です。どなたでもコピー、貼り付け、コメントしていただけます。 まず WXML コード: <view class="アルバム操作"> <view class="edit" bindtap="deleteAlbum" data-id="{{item.id}}" data-status="{{item.status}}"> 削除</view> <button class="save" data-link="{{item.link}}" data-status="{{item.status}}" bindtap='downloadAlbum'> 保存/ダウンロード</button> <view class="share" bindtap="desabledShare" wx:if="{{item.status==2}}">共有</view> <button class="share" open-type="share" data-id="{{item.id}}" data-cover="{{item.cover_url}}" data-name="{{item.name}}" wx:if="{{item.status!=2}}"> シェア</button> </ビュー> 以下はJSコードです // ダウンロードを許可する downloadAlbum: function(e) { var that = this; // アルバムのステータス var status = e.target.dataset.status; // ダウンロード リンク アドレス var link = e.target.dataset.link; (ステータス == 2)の場合{ wx.showToast({ タイトル: 「アルバムは現在制作中です。しばらくお待ちください」 アイコン: 'なし' }); } それ以外 { // ユーザー認証を取得する wx.getSetting({ 成功(res) { // 承認された場合 if (res.authSetting['scope.writePhotosAlbum']) { that.saveAlbum(リンク); // 承認されていない場合 } else if (res.authSetting['scope.writePhotosAlbum'] === undefined) { //ユーザー認証を呼び出す wx.authorize({ スコープ: 'scope.writePhotosAlbum', 成功() { that.saveAlbum(リンク); }, 失敗() { wx.showToast({ タイトル: 「権限がないため、アルバムに保存できません」 アイコン: 'なし' }) } }) // 以前に認証が拒否された場合 } else { wx.openSetting({ 成功(res) { res.authSetting['scope.writePhotosAlbum']の場合{ that.saveAlbum(リンク); } それ以外 { wx.showToast({ タイトル: 「権限がないため、アルバムに保存できません」 アイコン: 'なし' }) } } }) } } }) } }, // アルバムを保存する saveAlbum: function (link) { wx.downloadFile({ url: リンク、 成功(res) { (res.statusCode === 200の場合){ var パス = res.tempFilePath wx.saveVideoToPhotosAlbum({ filePath: パス、 成功(res) { res.errMsg == 'saveVideoToPhotosAlbum:ok' の場合 { wx.showToast({ タイトル: 「ダウンロードが完了しました」 }) } } }) } } }) }, 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: mysql8.0.19 でパスワードを忘れた場合の完璧な解決策
>>: Dockerはmacvlanをベースにホスト間コンテナ通信を実装する
setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...
Cocos Creator モジュラースクリプトCocos Creator を使用すると、コードを複...
//デフォルトプロトコル/ デフォルト プロトコルの使用は、リソース アクセス プロトコルが現在の...
簡単なチュートリアルこれは CSS3 カラー プログレス バー アニメーション効果です。 CSS3 ...
【SQL】SQLページングクエリの概要開発プロセスではページングが必要になることがよくあります。今日...
HTML では、一般的な URL はさまざまな方法で表現されます。相対 URL:コードをコピーコード...
この記事では、Vueで開始時間と終了時間の範囲を照会する方法を参考までに紹介します。具体的な内容は次...
目次最初の方法: router-link (宣言型ルーティング) 2番目の方法: router.pu...
JavaScript の if ステートメントで英語のカンマ「,」が表示されることがあります。これは...
サブスクリプションメッセージテンプレートを選択または作成するWeChat アプレットにログインし、「...
ラベル表示モード(重要) divタグとspanタグ1. スタイルはまったく同じですが、ラベルが異なり...
Web 開発では、チェックボックスは小さく、ユーザーにとって操作があまり便利ではないため、ユーザーが...
HTMLの動作原理: 1. ローカル操作: ブラウザでhtmlファイルを開く2. リモートアクセス...
<br />はじめに:このアイデアは、数日前に上級ウェブデザインの次の記事を考えていると...
序文通知バー コンポーネントは、比較的一般的なコンポーネントです。基本的に、すべてのサイトにこのよう...