目次
1. WeChat メニューの要件と関連するインターフェイスの設計
上記のインターフェイスは主に、WeChat メニューのプロパティに基づいてメニューを維持および管理します。顧客関連のインシデント業務を担当します。
ホームページ WeChat アプレット WeChatの開発 C# は WeChat ポータルを開発し、WeChat ポータルのメニュー管理と WeChat サーバーへの送信を適用します。

C# は WeChat ポータルを開発し、WeChat ポータルのメニュー管理と WeChat サーバーへの送信を適用します。

Mar 02, 2017 am 10:24 AM

WeChat パブリック アカウント (サービス アカウントとサブスクリプション アカウントを含む) は、管理を容易にするために、通常、メニュー データをローカルで管理および維持し、更新する必要がある場合は、WeChat サーバーに更新するだけです。 。この方法に基づいて、この記事では、私の WeChat ポータル プラットフォーム管理システムで WeChat サーバーにメニューを送信する操作を紹介します。 WeChat ポータル アプリケーション管理システムは、MVC+EasyUI に基づくルートを採用しています。ほとんどのドメイン ネーム サーバーは .NET4.0 しかサポートできないため、開発ベースとして MVC3 と C#4.0 を使用し、基本的にどの .NET サーバーにも展開できます。

1. WeChat メニューの要件と関連するインターフェイスの設計

WeChat パブリック アカウントのメニューを Web サイトを通じてローカルに管理し、それらの間の階層関係を維持できます。WeChat にはカスタマイズされたメニューに対する厳しい要件があるため、以下は WeChat のカスタム要件です。メニュー:

現在、カスタム メニューには最大 3 つの第 1 レベルのメニューが含まれ、各第 1 レベルのメニューには最大 5 つの第 2 レベルのメニューが含まれます。第 1 レベルのメニューには最大 4 文字、第 2 レベルのメニューには最大 7 文字の中国語を含めることができます。余分な部分は「...」に置き換えられます。

そのため、私たちの合意に従って、境界を越えないようにします。そうしないと、ローカル メニュー管理を作成するときに、これらの詳細に注意する必要があります。カスタム メニューの内容については、以前の記事でも紹介していますので、必要に応じて「WeChat ポータルとアプリケーションの C# 開発 (6) -- WeChat ポータル メニューの管理操作」を参照してください。プラットフォーム管理システムでは、前に紹介したメニュー インターフェイス API が呼び出され、メニューをサーバーに送信する操作が実装されます。

WeChatのカスタムメニュー要件に従って、管理システム内のWeChatメニューのいくつかの基本インターフェイスを次のように設計しました。

メインメニューの管理インターフェイスは以下のとおりです。

C#开发微信门户及应用微信门户菜单管理及提交到微信服务器

メニューを追加するインターフェイスのデザインは次のとおりです

C#开发微信门户及应用微信门户菜单管理及提交到微信服务器

WeChatメニューの変更インターフェイスは次のとおりです

C#开发微信门户及应用微信门户菜单管理及提交到微信服务器

WeChatメニューの定義は、必要に応じてデータベースに保存されます。 WeChatサーバーに送信して有効にするには、WeChat APIインターフェースを呼び出して処理する必要があります。ページのコントローラーにサーバーに送信する処理メソッドを追加しました。

C#开发微信门户及应用微信门户菜单管理及提交到微信服务器

2. WeChat サーバーにメニューを送信する操作

上記のインターフェイスは主に、WeChat メニューのプロパティに基づいてメニューを維持および管理します。顧客関連のインシデント業務を担当します。

メニュー操作を送信するには、MVC ビュー ページで JQuery の Ajax を使用して送信できます (後で紹介するコントローラーに対応する処理を追加する場合)。インターフェイス スクリプト コードは次のとおりです。

//绑定提交按钮的的点击事件
        function BindSubmitEvent() {
            $("#btnSubmit").click(function () {
                $.messager.confirm("提交菜单确认", "您确认需要提交菜单到微信服务器吗?", function (action) {
                    if (action) {
                        //提交数据
                        $.ajax({
                            url: '/Menu/UpdateWeixinMenu',
                            type: 'post',
                            dataType: 'json',
                            success: function (data) {
                                if (data.Success) {
                                    $.messager.alert("提示", "提交微信菜单成功");
                                }
                                else {
                                    $.messager.alert("提示", "提交微信菜单失败:" + data.ErrorMessage);
                                }
                            },
                            data: ''
                        });
                    }
                });
            });
        }
ログイン後にコピー

上記の赤いコードは、MVC コントローラーで定義したメソッドです。メニューを WeChat サーバーに送信するには、POST メソッドを介してコントローラー メソッドを呼び出すだけです。処理のためにそれらをコントローラーまたは下位レベルに移動できます。ページにはあまり多くのロジックを含める必要はありません。

上記のMenuコントローラーのUpdateWeixinMenuメソッドのコードは次のとおりです(主に以前に紹介した開発モデルに基づいています)。

/// <summary>
        ///更新微信菜单
        /// </summary>
        /// <returns></returns>
        public ActionResult UpdateWeixinMenu()
        {
            string token = base.GetAccessToken();
            MenuListJson menuJson = GetWeixinMenu();

            IMenuApi menuApi = new MenuApi();
            CommonResult result = menuApi.CreateMenu(token, menuJson);
            return ToJsonContent(result);
        }
ログイン後にコピー

ここでは上記の方法を一つずつ紹介していきます。 GetAccessToken は主に現在の操作のアクセス トークンを取得するために使用されます。そうでない場合、AccessToken は 1 日に指定された回数に達すると、その日は再度使用できなくなります。

GetWeixinMenu メソッドは主に便宜上、WeChat のカスタム メニュー データを取得する関数をカプセル化します。具体的なコードは次のとおりです。

りー

りー

上面的代码,就是把本地存储的MenuNodeInfo数据,通过递归遍历的方式,转换为微信的自定义菜单实体MenuJson,这样我们调用API就非常方便了,这个函数主要负责构造对应的实体信息就是了。至于调用微信API提交菜单的事情,还是让API自己亲自处理为好,他们的代码如下所示(也就是上面函数的部分代码)。

        IMenuApi menuApi = new MenuApi();
        CommonResult result = menuApi.CreateMenu(token, menuJson);        return ToJsonContent(result);
ログイン後にコピー

最终的结果是返回一个通用的结果CommonResult,这个结果对象,非常方便脚本的处理,如果有错误,则提示错误,否则也方便判断布尔值,也就是上面的页面代码脚本。

success: function (data) {
        if (data.Success) {
                  $.messager.alert("提示", "提交微信菜单成功");
           }
          else {
                    $.messager.alert("提示", "提交微信菜单失败:" + data.ErrorMessage);
            }
       },
ログイン後にコピー

通过以上几部分的代码,我们就可以实现前台MVC的视图界面,调用后台封装好的微信API,实现菜单的提交处理了。

更多C#开发微信门户及应用微信门户菜单管理及提交到微信服务器 相关文章请关注PHP中文网!


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)