ホームページ ウェブフロントエンド uni-app uniapp が正常にログインしたら、他のページにジャンプして更新します

uniapp が正常にログインしたら、他のページにジャンプして更新します

May 21, 2023 pm 10:21 PM

インターネットの発展に伴い、モバイル端末の開発はますます重要になっています。これに基づいて、時代の要求に応じて uniapp が登場し、現在ではクロスプラットフォームのモバイル開発フレームワークとして人気があります。 uniapp では、ログインは非常に一般的な機能であり、更新の問題も開発プロセス中に考慮する必要がある問題です。この記事では、uniappでログイン成功後に他のページにジャンプして更新する方法を詳しく紹介します。

1. 前提知識

導入を始める前に、uniapp の前提知識を紹介する必要があります。

1. ルーティング

uniapp のルーティングは、uni-app の組み込みメソッド uni.navigateTo および uni.redirectTo によって実装されます。このうち、uni.navigateTo は次のページにジャンプし、前のページに戻ることができますが、uni.redirectTo は次のページにリダイレクトするために使用され、前のページに戻ることはできません。

さらに、uniapp には、すべてのページを閉じて現在のページを開くための uni.reLaunch、tabBar ページにジャンプするための uni.switchTab、および前のページに戻るための uni.navigateBack もあります。

2.vue.js フレームワーク

uniapp は vue.js フレームワークに基づいて実装されているため、開発プロセス中に vue.js の関連する基本的な構文と機能を習得する必要があります。コンポーネント開発、状態管理、ライフサイクルなど

3. 非同期リクエスト

ログイン機能を実装する場合、ユーザーのログイン情報が正しいことを確認するためにリクエストをバックグラウンドに送信する必要があります。したがって、uni.request 非同期リクエストの関連知識を習得する必要があります。

4. ローカル ストレージ

uniapp では、uni.setStorageSync と uni.getStorageSync を使用してローカル データを保存および読み取りできます。ローカル ストレージは、複数のページ間でデータを共有するのに役立ち、データの永続的なストレージを可能にします。

2. ソリューションの紹介

ログイン成功後に他のページにジャンプして更新するプロセスでは、次の 2 つのタスクを完了する必要があります:

1. ユーザー ログインを保存するステータス情報

2. 他のページのユーザーのログイン ステータス情報を確認し、ページを再レンダリングします

次に、これら 2 つのタスクの実装方法を詳しく紹介します。

1. ユーザーのログイン ステータス情報を保存する

ユーザーが正常にログインした後、ユーザーのログイン ステータス情報を保存する必要があります。実装計画は次のとおりです。

ステップ 1: ログイン成功のコールバック関数で、ユーザーのログイン ステータス情報を取得してローカルに保存するリクエストをバックグラウンドに送信します。

uni.request({
  url: 'http://www.example.com/login',
  data: {
    username: 'username',
    password: 'password'
  },
  success: (res) => {
    if(res.statusCode !== 200) {
      uni.showModal({
        content: '登录失败,请检查用户名和密码是否正确'
      })
    } else {
      // 保存用户登录状态信息
      uni.setStorageSync('isLogin', true)
      //跳转到其他页面
      uni.navigateTo({
        url: '/pages/other/other'
      })
    }
  }
})
ログイン後にコピー

ログイン成功のコールバック関数では、バックグラウンドでログイン リクエストを送信し、リクエストが成功すると、ユーザーのログイン ステータス情報をローカルに保存します。この例では、ユーザーのログイン ステータス情報のキー名を isLogin に設定し、その値を true に設定します。

2. ユーザーが他のページにログインしたかどうかを判断し、ページを再レンダリングする

ユーザーがログインして他のページにジャンプした後、ユーザーがログインしたかどうかを判断する必要があります。他のページにログインし、ログイン ステータス情報に基づいてページをレンダリングします。実装計画は次のとおりです。

Step1: 他のページの onLoad ライフサイクル関数で、ユーザーがログインしているかどうかを判断します。

onLoad() {
  if(!uni.getStorageSync('isLogin')) {
    uni.redirectTo({
      url: '/pages/login/login'
    })
  }
}
ログイン後にコピー

他のページの onLoad ライフサイクル関数では、uni.getStorageSync を通じてローカルに保存されているユーザーのログイン ステータス情報を取得します。 isLogin が存在しない場合、つまりユーザーがログインしていない場合は、ログイン ページにリダイレクトして、ユーザーが再度ログインできるようにします。

ステップ 2: 他のページの onShow ライフサイクル関数で、ユーザーがログインしたかどうかを判断し、ログイン ステータス情報に基づいてページをレンダリングします。

onShow() {
  if(uni.getStorageSync('isLogin')) {
    //重新渲染页面
    console.log('已经登录')
  } else {
    uni.redirectTo({
      url: '/pages/login/login'
    })
  }
}
ログイン後にコピー

他のページの onShow ライフサイクル関数では、uni.getStorageSync を通じてローカルに保存されているユーザーのログイン ステータス情報も取得します。 isLogin が存在する場合、つまりユーザーがログインしている場合、ページを再レンダリングできます。 isLogin が存在しない場合、つまりユーザーがログインしていない場合は、ログイン ページにリダイレクトして、ユーザーが再度ログインできるようにします。

3. 概要

この記事では、uniapp でログインに成功した後に他のページにジャンプして更新する解決策を紹介します。ユーザーのログインステータス情報を保存し、ユーザーが他のページにログインしたかどうかを判断し、ログインステータス情報に基づいてページを再レンダリングすることで、ユーザーのログイン機能をより適切に実装および管理できます。上記のソリューションは参照のみを目的としており、開発者は実際のニーズに応じて変更および最適化できます。

以上がuniapp が正常にログインしたら、他のページにジャンプして更新しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

UNI-APPでローカルストレージを処理するにはどうすればよいですか? UNI-APPでローカルストレージを処理するにはどうすればよいですか? Mar 11, 2025 pm 07:12 PM

この記事では、Uni-AppのローカルストレージAPI(uni.setstoragesync()、uni.getStoragesync()、およびそれらの非同期のカウンターパート)を詳しく説明し、説明キーの使用、データサイズの制限、JSONの解析の処理などのベストプラクティスを強調しています。 それはそのloを強調します

Uniappダウンロードファイルの名前を変更する方法 Uniappダウンロードファイルの名前を変更する方法 Mar 04, 2025 pm 03:43 PM

この記事では、Uniappでダウンロードされたファイルを名前に変更するための回避策について詳しく説明していますが、直接APIサポートがありません。 Android/iOSには、ダウンロード後の名前を変更するためのネイティブプラグインが必要ですが、H5ソリューションはファイル名の提案に限定されています。 プロセスには時間が含まれます

Uniappダウンロードでファイルエンコードを処理する方法 Uniappダウンロードでファイルエンコードを処理する方法 Mar 04, 2025 pm 03:32 PM

この記事では、UNIAPPダウンロードのファイルエンコーディングの問題について説明します。 サーバー側のコンテンツタイプのヘッダーと、これらのヘッダーに基づいてクライアント側のデコードにJavaScriptのTextDecoderを使用することの重要性を強調しています。 一般的なエンコードの解決策のソリューション

VuexまたはPiniaを使用してUni-Appで状態を管理するにはどうすればよいですか? VuexまたはPiniaを使用してUni-Appで状態を管理するにはどうすればよいですか? Mar 11, 2025 pm 07:08 PM

この記事では、UNI-APPの州管理についてVuexとPiniaを比較します。 それらの機能、実装、およびベストプラクティスを詳細に説明し、ピンアのシンプルさとvuexの構造を強調しています。 選択は、Pinia sutaを使用して、プロジェクトの複雑さに依存します

Uni-AppのジオロケーションAPIを使用するにはどうすればよいですか? Uni-AppのジオロケーションAPIを使用するにはどうすればよいですか? Mar 11, 2025 pm 07:14 PM

この記事では、Uni.getLocation()に焦点を当てたUni-AppのGeolocation APIを詳しく説明しています。 誤った座標系(GCJ02対WGS84)や許可の問題などの一般的な落とし穴に対処します。 読み取りと取り扱いを平均化することにより、位置の精度を向上させます

UNI-APPでAPIリクエストを行い、データを処理するにはどうすればよいですか? UNI-APPでAPIリクエストを行い、データを処理するにはどうすればよいですか? Mar 11, 2025 pm 07:09 PM

この記事では、uni.requestまたはaxiosを使用してUni-app内でAPIリクエストの作成と保護を詳しく説明しています。 JSON応答の処理、最高のセキュリティプラクティス(HTTPS、認証、入力検証)、トラブルシューティング障害(ネットワークの問題、CORS、S

Uni-Appのソーシャル共有APIを使用するにはどうすればよいですか? Uni-Appのソーシャル共有APIを使用するにはどうすればよいですか? Mar 13, 2025 pm 06:30 PM

この記事では、ソーシャル共有をUni.share APIを使用してUni-Appプロジェクトに統合し、WeChatやWeiboなどのプラットフォーム全体でセットアップ、構成、テストをカバーする方法を詳しく説明しています。

自動コンポーネント登録にUni-AppのEasyCom機能を使用するにはどうすればよいですか? 自動コンポーネント登録にUni-AppのEasyCom機能を使用するにはどうすればよいですか? Mar 11, 2025 pm 07:11 PM

この記事では、UNI-APPのEasyCom機能を説明し、コンポーネント登録を自動化します。 Autoscanやカスタムコンポーネントマッピングなどの構成の詳細は、ボイラープレートの削減、速度の向上、読みやすさの向上などの利点を強調しています。

See all articles