uniapp/WeChat アプレットのログインとユーザー情報の取得に関する問題 uni.login() uni.getUserinfo()

1. ミニプログラムログインインターフェース関連 wx.login() / uni.login()

アプレットにログインするプロセスは難しくありませんが、単純ではありますが、徐々に理解するまでに時間がかかります。私が仕事を始めたばかりの頃は、常に関連する問題に遭遇し、理解できませんでした。さまざまなことを確認しました色々な資料を読んでいると、正解が分からず、いちいち試してみると、自分が作ったものにいつも不満を感じてしまいます。一連の手探りの結果、それは私が理解していないのではなく、シャン・ドゥ・ニアンが見た多くの資料が矛盾しているためであることが徐々にわかりました。これは、wx アプレット自体のルールが調整されていることが原因である可能性があります。インターフェース。
以下に概要を記載します。具体的にはどのようにすればよいでしょうか。その過程を記録するために、最初から始めましょう(もちろん私も初心者なので、ざっくりと理解した内容で述べます、訂正歓迎、訂正はしないでください)私を嫌い、肌が薄い)

1. アプレットのログイン プロセスには煩わしい認証ポップアップ ウィンドウが必要ありません。

ログインが必要な小さなプログラムやその他のアプリケーションであっても、ログインのロジックは悪くなく、大まかに次の図の関係で表すことができます。
簡単なログインプロセス
以下は、公式ミニプログラムが提供するミニプログラムのログインプロセスです。上記のロジックとの違いは、アプレットには追加の WeChat サーバーがあることです (ただし、このエンドとの通信は、クラウド開発のフロントエンド担当者を除き、主にバックエンド担当者の操作です。それ以外の場合、このエンドはフロントエンド開発への参加)。アプレットにログインするときに、フロントエンド スタッフは携帯電話番号とパスワードを入力する必要がなくなり、コード値をバックエンドに渡す
ここに画像の説明を挿入
必要があることがわかります。そしてこのコード値は、WeChatが提供するwx.login()というユーザーのみが取得できるAPI(uniappではuni.login())を通じて取得されます。ここで、なぜ認証ウィンドウが表示されないのか不思議に思うかもしれません。実際、このインターフェイスでは認証ポップアップ ウィンドウは表示されません。代わりに、直接使用して取得できます。以前は、ユーザー情報を取得するとき (getUserProfile を使用するとき) にのみ、ポップアップ認証ウィンドウがポップアップしました。uniapp を使用する場合、コードは次のとおりです (アプレットは同様ですが、次のコードについては説明しません)。


	uni.login({
    
    
	  provider: 'weixin', //使用微信登录 必要的参数详情看官方文档
	  success: function (loginRes) {
    
    
	    console.log(loginRes); //返回的参数包含在loginRes中
	  }
	});

したがって、将来的には、認証やその他の問題について心配する必要はなくなります。必要なのは、このコードを記述し、コードを取得して、バックエンド プログラマに渡すだけです。バックエンドは、小さなプログラムを追加できます。指定したコードに基づいて、WeChat サービス インターフェイスの appid と appsecret で session_key と openid を取得します (appid と appsecret の 2 つの値は、アプレットのバックグラウンドにログインするために WeChat パブリック プラットフォームに移動する必要があります。そして、開発管理 > 開発設定これについて知っておく必要があります)。そうすれば、バックエンドは高い確率でデータを処理し、暗号化されたトークンを渡します。これにより、バックエンドから返されたトークンをキャッシュし、ログインする必要がある関数のすべてのリクエストにトークンを添付するだけで、ログイン関数はほぼ完了し、その他の詳細はビジネスに基づいて決定されます。バックエンドプログラマと協力して改善することができます。

ログインポップアップはいつ表示されますか?

wx.getUserinfo (役に立たないので使用しないでください)

	已废弃,微信收回了,不建议用,就算版本老编译成功了,后续发布可能会有无法通过审核之类的问题。

wx.getUserProfile (上司が雄牛よりも頑固でない限り、これも使用しないでください)

このインターフェースはユーザー情報を取得することができます。リクエストごとに認証ウィンドウが表示され、ユーザーが同意すると userInfo が返されます。ただし、これは WeChat ミニプログラムベース ライブラリ バージョン 2.27.1 以降にのみ限定されます
wx.getUserProfileインターフェースが廃止されたため、詳細は「ミニプログラムユーザーアバターニックネーム取得ルール調整のお知らせ」をご覧ください。どういう意味ですか?それは、WeChat が使用を中止し、WeChat が提供する他の方法を使用することを推奨しているということですが、どのような方法ですか? WeChat のアバターとニックネームを使用するのではなく、ユーザーにニックネームとアバターを直接入力させることができ、使いやすい方法が用意されています。でも、上司は牛よりも頑固なので、言うことを聞かないなら、私も聞かないので、どうしたらいいでしょうか?上記の図に従って、基本ライブラリのバージョン2.10.42.27.0に調整する必要があります。調整しないと、ポップアップ ウィンドウが表示されずに困る可能性があります。おおよそ上記のとおりです。私の技術力には限界があります。叱らないでください。私は肌が薄いです。間違いがあれば、ご指導ください。初心者であることを繰り返しますが、疑いはありません。私と同じようにあまり才能のないシャオバイとコミュニケーションをとるためです。
ここに画像の説明を挿入





おすすめ

転載: blog.csdn.net/SANGZHU_001/article/details/128125384