WeChatパーソナライズメニュー開発モデルの詳細説明
ここ 1 週間、WeChat のカスタム メニューの開発に取り組んできました。全体的にはかなり憂鬱です。
まず、いくつかのインターフェイスを分析しましょう:
1: クエリ インターフェイス; クエリ インターフェイスは 2 つに分かれており、1 つは開発モードの通常のクエリ インターフェイスで、カスタマイズしたインターフェイスを追加することで作成したメニューとパーソナリティのみをクエリします。メニュー (公式アカウントのさまざまなユーザー グループがさまざまなカスタマイズされたメニューを表示できるようにします) を利用できますが、WeChat 管理プラットフォームを通じて追加したメニューを取得することはできません。すべてのメニューをクエリできるインターフェイスもあります。このインターフェイスは、最初にメニューをプラットフォームに追加してから、バックグラウンドでこのインターフェイスを呼び出すと、メニューを取得できますが、これを呼び出すことで JSON が返されます。追加時とインターフェースが異なります(つまり、WeChat にそのまま JSON に送り返すとメニューを作成できません)。WeChat プラットフォームにはさまざまな種類のメニューが追加されており、それぞれが異なります。返されるjsonの種類 形式がバラバラで解析するのが非常に面倒なので、開発者モードを選択している以上は通常のクエリインターフェースを使用した方が良いと個人的には思います。
2: インターフェイスの作成; このインターフェイスの機能は、名前が示すように、インターフェイスを作成することですが、このインターフェイスは元のベースで作成されるのではなく、呼び出されるたびにすべてのメニューを再作成します。残すべきメニューは固定形式のjsonに加工してWeChatに送信するので、個別に削除したい場合は削除したいメニューを削除して残りをjsonに変更するのも同様です。データが置き換えられ、メニュー全体が json に変換されて WeChat に送信されます。
3: インターフェイスの削除; このインターフェイスはすべてのメニューを削除するために使用されますが、呼び出し後はすぐに反映されないようですが、その間もクエリを実行できます。以前に作成したメニュー。
私のタスクは、メニューの追加、削除、変更、クエリをバックエンド管理に統合することです。ここでは、WeChat インターフェイスへのリクエストが JSON 文字列を返す方法についてのみ説明します。この文字列を解析し、特定のルールに従ってオブジェクトに書き込み、リストに追加、削除、または変更するときにリストを操作し、リストを WeChat で必要な形式の JSON に変換します。 WeChat インターフェイスを呼び出してメニューを作成します (追加、削除、または変更)。作成インターフェイスを呼び出します)。オブジェクト部分の属性は id (操作しやすいようにリストの添字を id に設定します)、name (メニュー名)、type (メニューの種類、WeChat カスタム メニューは 10 種類あります)、parent (親メニュー名) です。 、SecendLvMenu (セカンダリメニューの数)、url (リンクメニューに必要)、key (プッシュ関数の呼び出し)、mediaid (素材呼び出し時に
madia_id を設定する必要があります)、sort (ソート番号)。
以下は json を list に変換するコードです。ここでの json パッケージは Alibaba の fastjson パッケージで、とても使いやすいです。 =new ArrayList< weixinMenu>();
obj=obj.getJSONObject("menu");
JSONObject a=new JSONObject();
int num=0;
if(obj!=null){
//ボタンのjson配列を取得します
JSONArray array=obj.getJSONArray("button");
if(array!=null){
for(int i=0;i a=array.getJSONObject(i); //型の説明がない場合は、第 2 レベルのメニュー型を持つ第 1 レベルのメニューです if(a.get("type")==null){ weixinMenu menu=new weixinMenu (); menu.setId(num); menu.setSort(num); num++; menu.setName(a.getString("name"));//添え字を設定し、ソート番号のストレージを設定 リストを入力 //第 1 レベルのメニューの下にある 2 番目のメニューを取得します JSONArray sub=a.getJSONArray("sub_button"); //上位からの 2 番目のメニューの数セカンダリメニューの制限は5です、数字を追加するときに判断しやすいです menu.setSecendLvMenuNum(sub.size()); menulist.add(menu); JSONObject b=new JSONObject(); for(int j=0;j weixinMenu menu2=new weixinMenu(); b=sub.getJSONObject(j); menu2.setId(num); menu2.setSort(num); num++; menu2.setName(b.getString("name")); menu2.setParent(a.getString("name"));//親メニューは先ほどの第 1 レベルのメニューの名前 menu2 .setType(b.getString("type")); menu2.setUrl(b.getString("url")); menu2.setKey(b.getString ("key")); menu2.setMediaId (b.getString("media_id")); menulist.add(menu2); } }else{//それ以外の場合は、第 1 レベルです第 2 レベルのメニューのないメニューをクリックして直接ジャンプするか、対応するイベントをトリガーします weixinMenu menu=new weixinMenu(); menu.setId(num); menu.setSort(num); num++; menu.setName(a.getString("name")); menu .setParent(null); menu.setSecendLvMenuNum(0); menu.setType(a.getString("type")); menu.setUrl(a.getString("url")); menu.setKey(a.getString("key")); menu.setMediaId(a.getString("media_id")); menulist.add(menu); } } } } return menulist; } 次に、リストを weixinJson に変換します。WeChat の JSON をアップロードするには、ボタン部分のみが必要です: public static JSONObject listToWxJson(List JSONArray array=new JSONArray() ; weixinMenu menu=new weixinMenu(); int size=list.size(); for(int i=0;i menu=list.get(i); //第 2 レベルのメニューと親メニューがない場合、それは第 2 レベルの型を持たない第 1 レベルのメニューです if(menu.getSecendLvMenuNum()==0&&menu.getParent()==null){ Map map.put("name", menu.getName()); map.put("type", menu.getType ()); if (menu.getUrl()!=null){ map.put("url", menu.getUrl()); } if(menu.getKey()!=null ){ map.put("key", menu.getKey()); } if(menu.getMediaId()!=null){ map.put("media_id", menu.getMediaId( )); } array.add(map); }else if(menu.getParent()==null){親メニューがない場合は、第 2 レベルのメニューがあります JSONObject obj =new JSONObject(); JSONArray sub =new JSONArray(); obj.put("name",menu.getName()); weixinMenu submenu=new weixinMenu(); //ループしますリスト全体を使用し、名前一致を使用して第 1 レベルのメニューを検索します。 セカンダリ メニュー for(int j=0;j submenu=list.get(j); Map if((menu.getName()).equals(submenu.getParent())){ map=new HashMap map.put("name" , submenu.getName()); map.put("type", submenu.getType()); if(submenu.getUrl()!=null){ map.put("url", submenu .getUrl()); } if (submenu.getKey()!=null){ map.put("key", submenu.getKey()); } if(submenu.getMediaId ()!=null){ map.put("media_id", submenu.getMediaId()); } sub.add(map); } } obj.put("sub_button ",sub); array.add(obj ); } } Map map.put("button", array); //最後にマップを直接jsonに変換します return (JSONObject)JSONObject.toJSON(map); } このセットは基本的に修正されており、WeChatメニューはから戻った後にリストに解析できます。 WeChat メニューの操作が完了したら、json を変換し、その後の操作がはるかに簡単になります。 以上がWeChatパーソナライズメニュー開発モデルの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP は、Web 開発およびサーバーサイド プログラミング、特に WeChat 開発で広く使用されているオープン ソースのスクリプト言語です。現在、ますます多くの企業や開発者が WeChat 開発に PHP を使用し始めています。これは、PHP が本当に学びやすく、使いやすい開発言語となっているためです。 WeChat の開発では、メッセージの暗号化と復号化はデータのセキュリティに関わるため、非常に重要な問題となります。暗号化と復号化の方法を持たないメッセージの場合、ハッカーは簡単にデータを入手でき、ユーザーに脅威を与える可能性があります。

WeChat の人気に伴い、マーケティング ツールとして WeChat を使用し始める企業が増えています。 WeChat グループ メッセージング機能は、企業が WeChat マーケティングを行うための重要な手段の 1 つです。ただし、手動送信のみに頼ると、マーケターにとって非常に時間と労力がかかる作業になります。したがって、WeChat マス メッセージング ツールを開発することが特に重要です。この記事では、PHP を使用して WeChat マス メッセージング ツールを開発する方法を紹介します。 1. 準備作業 WeChat マス メッセージング ツールを開発するには、次の技術点を習得する必要があります。 PHP WeChat パブリック プラットフォーム開発の基礎知識 開発ツール: Sub

WeChat パブリック アカウントの開発において、ユーザー タグ管理は非常に重要な機能であり、開発者がユーザーをよりよく理解し、管理できるようになります。この記事では、PHPを使用してWeChatのユーザータグ管理機能を実装する方法を紹介します。 1. WeChat ユーザーの openid を取得する WeChat ユーザータグ管理機能を使用する前に、まずユーザーの openid を取得する必要があります。 WeChat パブリック アカウントの開発では、ユーザーの承認を通じて openid を取得するのが一般的です。ユーザー認証が完了したら、次のコードを通じてユーザーを取得できます。

WeChat が人々の生活においてますます重要なコミュニケーション ツールになるにつれ、その機敏なメッセージング機能はすぐに多くの企業や個人に支持されるようになりました。企業にとって、WeChat をマーケティング プラットフォームとして開発することがトレンドになっており、WeChat 開発の重要性が徐々に顕著になってきています。その中でも、グループ送信機能はさらに広く使用されているため、PHP プログラマとしてグループ メッセージ送信レコードを実装するにはどうすればよいでしょうか?以下に簡単に紹介します。 1. WeChat パブリック アカウントに関する開発知識を理解する グループ メッセージ送信レコードの実装方法を理解する前に、

WeChat は現在、世界最大のユーザーベースを持つソーシャル プラットフォームの 1 つであり、モバイル インターネットの普及に伴い、ますます多くの企業が WeChat マーケティングの重要性を認識し始めています。 WeChat マーケティングを実施する場合、顧客サービスは重要な部分です。カスタマー サービスのチャット ウィンドウをより適切に管理するために、WeChat 開発に PHP 言語を使用できます。 1. PHP WeChat 開発の概要 PHP は、Web 開発の分野で広く使用されているオープン ソースのサーバー側スクリプト言語です。 WeChat パブリック プラットフォームが提供する開発インターフェイスと組み合わせると、PHP 言語を使用して WeChat を実行できます。

WeChat パブリック アカウントの開発では、投票機能がよく使用されます。投票機能はユーザーが気軽に交流に参加できるほか、イベントの開催や意見調査などにも重要なツールです。この記事では、PHPを使用してWeChatの投票機能を実装する方法を紹介します。 WeChat公式アカウントの認証を取得する まずはWeChat公式アカウントの認証を取得する必要があります。 WeChatパブリックプラットフォームでは、WeChatパブリックアカウント、公式アカウント、およびパブリックアカウントに対応するトークンのAPIアドレスを設定する必要があります。 PHP言語を使用した開発の過程では、WeChatが公式に提供するPHを使用する必要があります

モバイル インターネットの普及に伴い、WeChat をソーシャル ソフトウェアとして使用する人が増えており、WeChat のオープン プラットフォームは開発者に多くの機会をもたらしています。近年、人工知能技術の発展に伴い、音声認識技術は携帯端末開発において徐々に人気のある技術の一つになってきています。 WeChat 開発では、音声認識をどのように実装するかが多くの開発者にとって懸念事項となっています。この記事では、PHP を使用して音声認識機能を実装する WeChat アプリケーションを開発する方法を紹介します。 1. 音声認識の原理 音声認識の実装方法を紹介する前に、まず言語を理解しましょう

インターネットとモバイル スマート デバイスの発展に伴い、WeChat はソーシャルおよびマーケティング分野に欠かせないものになりました。デジタル化が進むこの時代において、WeChat 開発に PHP を使用する方法が多くの開発者の焦点になっています。この記事では主に、PHP を WeChat 開発に使用する方法とそのヒントや注意事項を紹介します。 1. 開発環境の準備 WeChat を開発する前に、まず対応する開発環境を準備する必要があります。具体的には、PHP オペレーティング環境と WeChat パブリック プラットフォームをインストールする必要があります。
