uniappが情報を取得するときにポップアップウィンドウが表示されない場合はどうすればよいですか?

PHPz
リリース: 2023-04-20 14:26:42
オリジナル
2182 人が閲覧しました

モバイル インターネットの急速な発展に伴い、uniapp テクノロジを使用して開発されるアプリケーションや Web サイトがますます増えています。 uniappの開発でよく遭遇するのが、情報取得時にウィンドウがポップアップしないという問題です。この記事では、uniapp でこの問題を解決する方法を紹介します。

問題の説明

uniapp を使用した開発プロセス中、確認ポップアップやメッセージ通知など、ユーザーにプロンプ​​トを表示する必要があるシナリオによく遭遇します。ただし、uniapp の開発に慣れていない場合、uniapp で情報を取得するときにポップアップ ウィンドウが表示されず、非常に困ることがあります。

具体的には、Uniapp が提供するメソッド (WeChat アプレットの wx.getUserInfo() メソッドなど) を呼び出してデータを取得すると、Promise オブジェクトが返されます。 JavaScript では、Promise オブジェクトの then() メソッドを通じて、取得したデータをページ上に表示したり、確認ポップアップ ウィンドウを表示したりするなどの処理を行うことができます。ただし、uniapp では、uni.<Platform>.getUserInfo() メソッドを直接使用してユーザー情報を取得すると、確認のポップアップ ウィンドウは表示されず、プロンプトも表示されません。

原因分析

この問題を解決するには、まず uniapp の基本的な知識を理解する必要があります。 uniapp では、通常、カプセル化された API を使用してネイティブ API を呼び出します。カプセル化された API の実装は通常、ネイティブ API を呼び出し、さまざまなプラットフォームの特性に従ってそれを処理し、最終的に必要な結果を返します。

たとえば、WeChat アプレットで wx.getUserInfo() メソッドを使用してユーザー情報を取得すると、WeChat アプレットは確認ポップアップ ウィンドウを表示してユーザーにメッセージを表示します。アプリにユーザー情報の取得を許可するかどうか。ユーザーが承認すると、WeChat アプレットは開発者プログラムにユーザー情報を返しますが、ユーザーが承認を拒否した場合、WeChat アプレットはエラー メッセージを返します。

ただし、uniappではマルチプラットフォームに対応する必要があるため、APIをカプセル化する際にネイティブAPIを直接呼び出してユーザー情報を取得することができません。逆に、uniapp によってカプセル化された uni.<Platform>.getUserInfo() メソッドは、確認ポップアップ ウィンドウやその他のプロンプトを表示せずに、開発者プログラムにユーザー情報のみを返します。

解決策

原因が明確になったので、解決策も明らかです。 uniapp でユーザー情報を取得する必要があり、確認のポップアップ ウィンドウやその他のプロンプトを表示したい場合は、uniapp が提供する API を使用する必要があります。

具体的には、uniapp のメッセージ プロンプト ボックス API uni.showModal() と弱いプロンプト ボックス API uni.showToast() を使用してこれを実現できます。 。例は次のとおりです:

uni.showModal({
  title: '提示',
  content: '是否允许获取用户信息?',
  success: function (res) {
    if (res.confirm) {
      uni.<平台>.getUserInfo({
        success: function (res) {
          console.log(res.userInfo);
        }
      });
    }
  }
});
ログイン後にコピー

上記のコードでは、uni.<Platform>.getUserInfo() メソッドを呼び出す前に、許可するかどうかをユーザーに尋ねる確認ポップアップ ウィンドウが表示されます。ユーザー情報へのアクセス。ユーザーが確認ボタンをクリックすると、uni..getUserInfo()メソッドが実行され、取得したユーザー情報が出力されます。

上記の 2 つの API に加えて、uniapp はプロンプトなどの機能の実装に役立つ他の多くの API も提供します。状況に応じて選択して使用する必要があります。

結論

一般に、uniapp開発において、ユーザー情報を取得したい場合やプロンプト機能が必要な場合、ネイティブAPIを直接使用することはできず、uniappが提供するAPIを使用する必要があります。 。カプセル化された API の実装は通常、ネイティブ API を呼び出し、さまざまなプラットフォームの特性に従ってそれを処理し、最終的に必要な結果を返します。中でも、プロンプト機能の実装には、uniapp が提供するメッセージプロンプトボックス API uni.showModal() や弱いプロンプトボックス API uni.showToast() などのメソッドがよく使われます。 。

以上がuniappが情報を取得するときにポップアップウィンドウが表示されない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート