Heim  >  Artikel  >  WeChat-Applet  >  C#-Entwicklung von WeChat-Portalen und -Anwendungen – Einführung in verschiedene Ausdrucksformen von WeChat-Menüs

C#-Entwicklung von WeChat-Portalen und -Anwendungen – Einführung in verschiedene Ausdrucksformen von WeChat-Menüs

高洛峰
高洛峰Original
2017-02-17 15:15:461825Durchsuche

In der vorherigen Artikelserie können wir die Bedeutung benutzerdefinierter WeChat-Menüs erkennen. Man kann sagen, dass Menüs den ersten Eindruck von Benutzern vermitteln diese Menüs. Gemäß der Definition des WeChat-Menüs können wir sehen, dass das allgemeine Menü hauptsächlich in zwei Typen unterteilt ist: der eine ist das gewöhnliche URL-Menü (Menü vom Typ „Ansicht“) und der andere ist das Ereignismenü (Menü vom Typ „Click Under“) Unter normalen Umständen kann das URL-Menü von WeChat keine Benutzerinformationen abrufen, aber WeChat-Benutzerinformationen sind sehr wichtig und bieten daher auch eine andere Möglichkeit (ähnlich der Umleitung). In diesem Artikel wird hauptsächlich diese Art der Umleitung vorgestellt eine Art und Weise, die es uns ermöglicht, so viel wie möglich mit Benutzern zu interagieren.

1. Klassifizierung von benutzerdefinierten WeChat-Menüs

Anforderungen von WeChat an benutzerdefinierte Menüs: Derzeit können benutzerdefinierte Menüs bis zu 3 Menüs der ersten Ebene umfassen, und jedes Menü der ersten Ebene kann enthalten bis zu 5 Nebenmenüs. Das Menü der ersten Ebene kann bis zu 4 chinesische Zeichen enthalten, und das Menü der zweiten Ebene kann bis zu 7 chinesische Zeichen enthalten. Die zusätzlichen Teile werden durch „…“ ersetzt.

Entsprechend der Klassifizierung des Menüs können wir es durch Grafiken klassifizieren und anzeigen:

C#-Entwicklung von WeChat-Portalen und -Anwendungen – Einführung in verschiedene Ausdrucksformen von WeChat-Menüs

Ich habe von verschiedenen öffentlichen WeChat-Konten erfahren und sie gefunden Die meisten Konten verwenden normale Menü-Links vom Typ „Ansicht“, um auf ihre eigenen Microsites zu verlinken, aber es gibt einige, die gut funktionieren, wie zum Beispiel die Zhongshan Provincial Library, die einen Link über die Umleitung von Bibliotheksbenutzern und WeChat OpenID bereitstellen kann. Nach dem Binden können Benutzer die ausgeliehenen Bücher anzeigen und dann die Schnellverlängerungsfunktion von Büchern über die Ein-Klick-Erneuerungsfunktion nutzen.

Für diese Art von Umleitungs-URL-Menüereignis lauten die Anweisungen von WeChat wie folgt:

Wenn der Benutzer auf die Drittanbieter-Webseite des offiziellen Kontos in WeChat zugreift (außer Web WeChat), wird der Beamte Kontoentwickler Grundlegende Informationen des aktuellen Benutzers (einschließlich Spitzname, Geschlecht, Stadt, Land) können über diese Schnittstelle abgerufen werden. Mithilfe von Benutzerinformationen können Sie Funktionen wie Erlebnisoptimierung, Benutzerquellenstatistiken, Kontobindung und Benutzeridentitätsauthentifizierung realisieren. Bitte beachten Sie, dass „die Schnittstelle zum Abrufen grundlegender Benutzerinformationen nur dann die grundlegenden Informationen des Benutzers basierend auf der OpenID des Benutzers abrufen kann, wenn der Benutzer über Nachrichten mit dem öffentlichen Konto interagiert. Die grundlegenden Informationen des Benutzers können jedoch durch Webseitenautorisierung abgerufen werden.“ . Es ist keine Nachrichteninteraktion erforderlich, nur der Benutzer gibt ein.“ Gehen Sie zur Webseite des offiziellen Kontos, und eine Benutzeroberfläche wird angezeigt, in der Sie zur Benutzerautorisierung aufgefordert werden. Nachdem der Benutzer die Autorisierung vorgenommen hat, können Sie seine grundlegenden Informationen abrufen (für diesen Vorgang ist nicht einmal die erforderlich). Benutzer soll dem offiziellen Konto gefolgt sein.) Wie oben erwähnt, gibt es zwei Arten von Umleitungsmenüs. Tatsächlich handelt es sich nur um Parameter-Bereichstypen. Andere Teile sind immer noch gleich.

Zu Demonstrationszwecken gehen wir davon aus, dass wir, wenn der Benutzer auf das Menü klickt, zur Seite http://www.iqidi.com/testwx.ashx wechseln und die OpenID des aktuellen Benutzers und andere Parameterinformationen übernehmen

Der Link für die Methode „scope=snsapi_base“ lautet wie folgt: C#-Entwicklung von WeChat-Portalen und -Anwendungen – Einführung in verschiedene Ausdrucksformen von WeChat-Menüshttps://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect_uri=http%3A%2F% 2Fwww.iqidi.com%2Ftestwx.ashx&response_type=code&scope=snsapi_base&state=123#wechat_redirect

Der Link für Scope=snsapi_userinfo lautet wie folgt:

https://open.weixin.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

Aber die Erfahrung, die sie dem mobilen Client bieten, ist anders, der erste Es kann reibungslos umgeschaltet werden, aber der zweite öffnet ein Dialogfeld, in dem der Benutzer dies bestätigen muss, bevor er fortfährt.

Um den Unterschied zwischen den beiden oben genannten Methoden zum Abrufen von Daten zu demonstrieren, habe ich den Wert des von ihnen übergebenen Codes übergeben und der Benutzer hat ihn gegen OpenID ausgetauscht, um ihn zu analysieren Benutzerinformationen. Die Ergebnisse von beiden Es ist alles das Gleiche. Die spezifische Testschnittstelle ist wie folgt.

Der Seiten-Backend-Code von TestWX.ashx lautet wie folgt:

C#-Entwicklung von WeChat-Portalen und -Anwendungen – Einführung in verschiedene Ausdrucksformen von WeChat-Menüs

在上面的代码中,我主要分为几步,一个是打印当前用户重定向过来的链接的参数信息,代码如下。

                NameValueCollection list = HttpUtility.ParseQueryString(context.Request.Url.Query);                foreach (string key in list.AllKeys)
                {
                    content += string.Format("{0}:{1} \r\n", key, list[key]);
                }

然后获取到Code参数后,通过API接口,获取AccessTokenResult的数据,这里面有用户的OpenID

AccessTokenResult result = api.GetAccessToken(appId, appSecret, code);

当正常调用后,我们把用户标识的OpenID进一步进行解析,调用API获取用户的详细信息,具体代码如下所示。

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());
                        }

3、重定向链接菜单的用途

这种菜单就是需要指定域名,在微信后台中进行设置,重定向的链接必须属于这个域名之中,否则不会转到你希望的链接。

这个方式,让我们的微信应用程序后台可以获得用户的标识、用户详细信息等,我们就可以用来绑定和用户相关的业务信息了,如上面提到的图书馆借阅信息,送水客户的信息,客户的积分信息,或者可以和后台账号进行关联实现更加复杂的应用等。用户的身份信息如此重要,如果结合到我们的CRM系统、业务管理系统,就可以发挥用户信息应用的作用了。

以上就是我对这个类型菜单链接的应用了解,具体还需要进一步深化其应用,希望和大家共同探讨这方面的应用场景。

更多C#-Entwicklung von WeChat-Portalen und -Anwendungen – Einführung in verschiedene Ausdrucksformen von WeChat-Menüs相关文章请关注PHP中文网!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn