パブリック アカウントの構成プロセス中に、多くの開発者は HTML5 ページをメニューに追加し、ページのユーザー情報にアクセスする必要がある場合があります。基本的なユーザー情報を取得するには、Web ページの認証が必要です
追記: このブログ投稿で説明されている WeChat 開発は Yii2.0 フレームワークに基づいています
1. 認可コールバックドメイン名を設定します: 開発 ---> インターフェース権限
「基本的なユーザー情報を取得するための Web ページの認証」を見つけて、対応する「変更」をクリックし、ポップアップ ボックスの応答位置に認証コールバック ドメイン名を入力します。ここでのドメイン名には http を追加する必要はありません。 :// (Web ページ認証コールバックについて、ドメイン名の説明の詳細については、パブリック プラットフォーム開発者ドキュメントを参照してください)
2. 許可を取得します
OAuth2.0 ブロガーについては、Fangbei Studio のブログ投稿を参照してください http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html (追記: Fangbei は WeChat 開発マスターであり、その中には WeChat の開発内容も含まれます)これは、WeChat 公式文書の関連内容を詳細に分析し、認可を取得するためのより詳細なアイデアと解決策も提供します。
実際、ユーザー情報を取得する鍵となるのは、ユーザーのopenidを取得することです。ブロガーは、公式アカウントのメニューをクリックしてページを開き、ユーザーに対してデータベース操作を実行することで、ユーザーが自動的に認証されることを実現したいため、次の 2 つの方法があります:
(1)カスタムメニューを使用して認証ページをリクエストします
カスタムメニューの後に別のブログ記事を書きます。ここでカスタムメニューによる認証について簡単に説明します。この方法は高度なインターフェース権限が必要であり、メニューから直接ページに入るには公式アカウントをフォローしているユーザーに限定されます。
リーリー承認が必要なビューの場合は、WeChat から提供される承認リクエスト アドレスを URL に直接入力します。
(2) JSを使って認可ページを自動リクエストする
このメソッドのアイデアは次のとおりです: コードを取得するための js リクエストのリンク ---> openid と引き換えにコードを使用 ---> 基本的なユーザー情報を取得します
a. 設定を編集します
別のクラスで使用される一部の WeChat パラメーターの記述を容易にするために、変更、追加、呼び出しを行うと便利です
リーリー
b. httpsリクエストツール リーリー リーリー
️ c. 認可基本クラス リーリー 权 授 d. 承認された基本クラスの呼び出しとユーザー データの処理 (コントローラーが呼び出される前に、ユーザー データが保存または更新されます) リーリーe. コントローラー呼び出し (ここではメソッドの 1 つだけを掲載します)
リーリー
このプログラムでは、ユーザーが製品リストを開いてユーザー情報を取得し、それをデータベースに保存する必要があります。いくつかの変数は次の関数で設計されています。$refresh: ページが更新されたかどうかを判断します。oauth 検証なしで初めてページが開かれるため、繰り返しの更新を避けるために検証が自動的に要求されます。ここではコールバックの state パラメーターが判断の基準として使用されます。 state=1 (特定のパラメータが必要な場合は、状態を必要な値に割り当てることができます);
E $ リクエスト: それは検証リクエストのアドレスですf. ビューは自動的に更新されます
次の js コードをビューに追加するだけです
特此声明:相关文章均为查阅资料、阅读大神博文后结合实际开发情况遇到的问题整理而成,能找到原博的必会署名,找不到原博而引用的内容还望原博主海涵<span> 1</span> <script type="text/javascript">
<span> 2</span>
<span> 3</span> <span>//</span><span>自动请求获取code</span>
<span> 4</span> $(<span>function</span><span>(){
</span><span> 5</span> <span>var</span> refresh = <?= <span>$refresh</span>; ?><span>;
</span><span> 6</span> <span>var</span> request = '<?= $request[0]; ?>'<span>;
</span><span> 7</span> <span>if</span>(refresh == 1<span>){
</span><span> 8</span> console.<span>log</span>(1<span>);
</span><span> 9</span> location =<span> request;
</span><span>10</span> <span> }
</span><span>11</span> <span> });
</span><span>12</span> </script>