1. WeChat カスタム メニューの分類
WeChat のカスタム メニューの要件: 現(xiàn)在、カスタム メニューには最大 3 つの第 1 レベルのメニューが含まれ、各第 1 レベルのメニューには最大 5 つの第 2 レベルのメニューが含まれます。第 1 レベルのメニューには最大 4 文字、第 2 レベルのメニューには最大 7 文字の中國(guó)語を含めることができます。余分な部分は「...」に置き換えられます。
メニューの分類に従って、グラフィックで分類して表示できます:
私はさまざまな WeChat パブリックアカウントについて學(xué)びましたが、ほとんどのアカウントは通常のビュータイプのメニューリンクメソッドを使用していることがわかりました。獨(dú)自のマイクロサイトもありますが、中山省図書館など、リダイレクトを通じて図書館ユーザーと WeChat OpenID をバインドするための入り口を提供できる、うまく機(jī)能しているサイトもあります。バインドした後、ユーザーは借りた書籍を確認(rèn)できます。ワンクリック更新機(jī)能により書籍を素早く更新できます。
このタイプのリダイレクト URL メニュー イベントについて、WeChat の説明は次のとおりです:
ユーザーが WeChat (Web WeChat を除く) の公式アカウントのサードパーティ Web ページにアクセスすると、公式アカウント開発者は、その基本情報(bào)を取得できます。このインターフェースを介した現(xiàn)在のユーザー情報(bào) (ニックネーム、性別、都市、國(guó)を含む)。ユーザー情報(bào)を使用すると、エクスペリエンスの最適化、ユーザー ソースの統(tǒng)計(jì)、アカウント バインド、ユーザー ID 認(rèn)証などの機(jī)能を?qū)g現(xiàn)できます。 「ユーザーの基本情報(bào)を取得するインターフェースは、ユーザーとパブリックアカウントの間でメッセージのやり取りが行われた場(chǎng)合にのみ、ユーザーのOpenIDに基づいてユーザーの基本情報(bào)を取得できることにご注意ください。ただし、ユーザーの基本情報(bào)はWebページを通じて取得できます」メッセージによる対話なしの認(rèn)証。ユーザーは公開アカウントを入力するだけです。アカウントの Web ページに、ユーザー認(rèn)証を要求するインターフェイスが表示されます。ユーザーが認(rèn)証すると、基本情報(bào)を取得できます (このプロセスでは、ユーザーは情報(bào)を取得する必要さえありません)。公式アカウントをフォローしました。)「
2. リダイレクト型メニューURL
上で述べたように、リダイレクト型メニューには2種類あります。実際にはパラメータのスコープタイプが異なるだけで、他の部分はまだ同じです。
デモンストレーションのために、ユーザーがメニューをクリックすると、ページ http://www.iqidi.com/testwx.ashx に切り替わり、現(xiàn)在のユーザーの OpenID およびその他のパラメーター情報(bào)が引き継がれると想定します。
scope= snsapi_base メソッド リンクは次のとおりです:
http://m.miracleart.cn/scope=snsapi_base&state=123#wechat_redirect https://open.weixin.qq.com/connect/oauth2/authorize?appid= wx3d81fc2886d86526&redirect_uri = http%3a%2fwww.iqidi.com ixin.qq.com /connect/oauth2 /authorize?appid=wx3d81fc2886d86526&redirect_uri=http%3A%2F%2Fwww.iqidi.com%2Ftestwx.ashx&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect
しかし、モバイル クライアントに與えるエクスペリエンスは異なります。 1 つはスムーズに切り替えることができますが、2 つ目では、続行する前にユーザーに確認(rèn)を求めるダイアログ ボックスが表示されます。
上記の 2 つのデータ取得方法の違いを示すために、ユーザーが OpenID と交換した後、渡されたコードの値を取得してユーザー情報(bào)を解析しました。両方の結(jié)果は次のとおりです。同じ。具體的なテストインターフェースは以下の通りです。/// <summary> /// TestWX 的摘要說明 /// </summary> public class TestWX : IHttpHandler { string appId = ""; //換成你的信息 string appSecret = ""; //換成你的信息 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string content = ""; if (context.Request != null && context.Request.Url != null) { NameValueCollection list = HttpUtility.ParseQueryString(context.Request.Url.Query); foreach (string key in list.AllKeys) { content += string.Format("{0}:{1} \r\n", key, list[key]); } } string code = context.Request.QueryString["code"] ?? ""; if (!string.IsNullOrEmpty(code)) { IBasicApi api = new BasicApi(); try { AppConfig config = new AppConfig(); appId = config.AppConfigGet("AppId");//從配置中獲取微信程序ID appSecret = config.AppConfigGet("AppSecret");//從配置中獲取微信程序秘鑰 AccessTokenResult result = api.GetAccessToken(appId, appSecret, code); if (result != null) { content += string.Format("openid:{0}\r\n", result.openid); string token = api.GetAccessToken(appId, appSecret); IUserApi userApi = new UserApi(); UserJson userDetail = userApi.GetUserDetail(token, result.openid); if (userDetail != null) { content += string.Format("nickname:{0} sex:{1}\r\n", userDetail.nickname, userDetail.sex); content += string.Format("Location:{0} {1} {2} {3}\r\n", userDetail.country, userDetail.province, userDetail.city, userDetail.language); content += string.Format("HeadUrl:{0} \r\n", userDetail.headimgurl); content += string.Format("subscribe:{0},{1}\r\n", (userDetail.subscribe == 1) ? "已訂閱" : "未訂閱", userDetail.subscribe_time.GetDateTime()); } } } catch { } } context.Response.Write(content); }
NameValueCollection list = HttpUtility.ParseQueryString(context.Request.Url.Query); foreach (string key in list.AllKeys) { content += string.Format("{0}:{1} \r\n", key, list[key]); }
AccessTokenResult result = api.GetAccessToken(appId, appSecret, code);
りー
當(dāng)我們把用戶的相關(guān)信息獲取到了,就可以做各種用戶信息的展示了,如下代碼所示。
if (userDetail != null) { content += string.Format("nickname:{0} sex:{1}\r\n", userDetail.nickname, userDetail.sex); content += string.Format("Location:{0} {1} {2} {3}\r\n", userDetail.country, userDetail.province, userDetail.city, userDetail.language); content += string.Format("HeadUrl:{0} \r\n", userDetail.headimgurl); content += string.Format("subscribe:{0},{1}\r\n", (userDetail.subscribe == 1) ? "已訂閱" : "未訂閱", userDetail.subscribe_time.GetDateTime()); }
3、重定向鏈接菜單的用途
這種菜單就是需要指定域名,在微信后臺(tái)中進(jìn)行設(shè)置,重定向的鏈接必須屬于這個(gè)域名之中,否則不會(huì)轉(zhuǎn)到你希望的鏈接。
這個(gè)方式,讓我們的微信應(yīng)用程序后臺(tái)可以獲得用戶的標(biāo)識(shí)、用戶詳細(xì)信息等,我們就可以用來綁定和用戶相關(guān)的業(yè)務(wù)信息了,如上面提到的圖書館借閱信息,送水客戶的信息,客戶的積分信息,或者可以和后臺(tái)賬號(hào)進(jìn)行關(guān)聯(lián)實(shí)現(xiàn)更加復(fù)雜的應(yīng)用等。用戶的身份信息如此重要,如果結(jié)合到我們的CRM系統(tǒng)、業(yè)務(wù)管理系統(tǒng),就可以發(fā)揮用戶信息應(yīng)用的作用了。
以上就是我對(duì)這個(gè)類型菜單鏈接的應(yīng)用了解,具體還需要進(jìn)一步深化其應(yīng)用,希望和大家共同探討這方面的應(yīng)用場(chǎng)景。
?更多C#でWeChatポータルを開発し、WeChatメニューを適用するためのさまざまな表現(xiàn)方法の紹介相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

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

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

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

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

SublimeText3 中國(guó)語版
中國(guó)語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

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

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