


Développement C# de portails et d'applications WeChat - introduction à diverses expressions des menus WeChat
Feb 17, 2017 pm 03:15 PMDans la série d'articles précédente, nous pouvons voir l'importance des menus personnalisés WeChat. On peut dire que dans les comptes publics WeChat, les menus sont la première impression des utilisateurs. Nous devons planifier le contenu, la mise en page et d'autres informations. ces menus. D'après la définition du menu WeChat, nous pouvons voir que le menu général est principalement divisé en deux types, l'un est le menu Url ordinaire (menu de type Vue), et l'autre est le menu événement (menu de type Cliquez Sous). Dans des circonstances normales, le menu Url de WeChat ne peut obtenir aucune information sur l'utilisateur, mais les informations sur l'utilisateur de WeChat sont très importantes, elles nous fournissent donc également un autre moyen (similaire à la redirection) d'utiliser ce type de redirection. une manière qui nous permet d'interagir autant que possible avec l'utilisateur.
1. Classification des menus personnalisés WeChat
Exigences de WeChat pour les menus personnalisés?: Actuellement, les menus personnalisés peuvent inclure jusqu'à 3 menus de premier niveau, et chaque menu de premier niveau peut contenir jusqu'à 5 menus secondaires. Le menu de premier niveau peut contenir jusqu'à 4 caractères chinois, et le menu de deuxième niveau peut contenir jusqu'à 7 caractères chinois. Les parties supplémentaires seront remplacées par "...".
Selon la classification du menu, nous pouvons le classer et l'afficher à travers des graphiques?:
J'ai découvert divers comptes publics WeChat et j'ai trouvé La plupart des comptes utilisent des liens de menu de type Affichage ordinaires pour créer des liens vers leurs propres microsites, mais certains fonctionnent bien, comme la bibliothèque provinciale de Zhongshan, qui peut fournir un lien via la redirection pour lier l'entrée des utilisateurs de la bibliothèque et WeChat OpenID. Après la reliure, les utilisateurs peuvent visualiser les livres empruntés, puis réaliser la fonction de renouvellement rapide des livres grace à la fonction de renouvellement en un clic.
Pour ce type d'événement de menu Url de redirection, les instructions de WeChat sont les suivantes?:
Si l'utilisateur accède à la page Web tierce du compte officiel dans WeChat (sauf Web WeChat), le responsable développeur de compte Les informations de base de l'utilisateur actuel (y compris le surnom, le sexe, la ville, le pays) peuvent être obtenues via cette interface. à l'aide des informations utilisateur, vous pouvez réaliser des fonctions telles que l'optimisation de l'expérience, les statistiques de source d'utilisateurs, la liaison de compte et l'authentification de l'identité de l'utilisateur. Veuillez noter que "l'interface d'obtention des informations de base de l'utilisateur ne peut obtenir les informations de base de l'utilisateur sur la base de l'OpenID de l'utilisateur que lorsqu'il y a une interaction de message entre l'utilisateur et le compte officiel. Cependant, les informations de base de l'utilisateur peuvent être obtenues via autorisation de la page Web. Aucune interaction de message n'est requise, seul l'utilisateur entre. Accédez à la page Web du compte officiel et une interface demandant l'autorisation de l'utilisateur appara?tra. Une fois l'autorisation de l'utilisateur autorisée, vous pourrez obtenir ses informations de base (ce processus ne nécessite même pas l'autorisation de l'utilisateur). utilisateur d'avoir suivi le compte officiel.)"
2. URL du menu de type redirection
Comme mentionné ci-dessus , il existe deux types de menus de type de redirection. En fait, ce ne sont que des types de paramètres de portée différents, les autres parties sont toujours les mêmes.
à des fins de démonstration, nous supposons que lorsque l'utilisateur clique sur le menu, nous passons à la page http://www.iqidi.com/testwx.ashx et apportons l'OpenID de l'utilisateur actuel et d'autres informations sur les paramètres
Le lien pour la méthode scope=snsapi_base est le suivant :
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect_uri=http://www. iqidi.com/ testwx.ashx&response_type=code&scope=snsapi_base&state=123#wechat_redirect
Le lien pour scope=snsapi_userinfo est le suivant?:
https://open.weixin.qq.com/connect /oauth2/authorize ?appid=wx3d81fc2886d86526&redirect_uri=http://www.iqidi.com/testwx.ashx&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect
Cependant, l'expérience qu'ils offrent au client mobile est différente. le premier peut basculer en douceur, mais le second affichera une bo?te de dialogue que l'utilisateur devra confirmer avant de continuer.
Afin de démontrer la différence entre les deux méthodes ci-dessus d'obtention de données, j'ai transmis la valeur du code qu'ils ont transmis et l'utilisateur l'a échangé contre OpenID pour analyser le informations sur l'utilisateur. Les résultats des deux sont identiques. L'interface de test spécifique est la suivante.
Le code backend de la page TestWX.ashx est le suivant?:
????///?<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); ????????}
在上面的代碼中,我主要分為幾步,一個是打印當(dāng)前用戶重定向過來的鏈接的參數(shù)信息,代碼如下。
????????????????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參數(shù)后,通過API接口,獲取AccessTokenResult的數(shù)據(jù),這里面有用戶的OpenID
AccessTokenResult?result?=?api.GetAccessToken(appId,?appSecret,?code);
當(dāng)正常調(diào)用后,我們把用戶標(biāo)識的OpenID進(jìn)一步進(jìn)行解析,調(diào)用API獲取用戶的詳細(xì)信息,具體代碼如下所示。
UserJson?userDetail?=?userApi.GetUserDetail(token,?result.openid);
當(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、重定向鏈接菜單的用途
這種菜單就是需要指定域名,在微信后臺中進(jìn)行設(shè)置,重定向的鏈接必須屬于這個域名之中,否則不會轉(zhuǎn)到你希望的鏈接。
這個方式,讓我們的微信應(yīng)用程序后臺可以獲得用戶的標(biāo)識、用戶詳細(xì)信息等,我們就可以用來綁定和用戶相關(guān)的業(yè)務(wù)信息了,如上面提到的圖書館借閱信息,送水客戶的信息,客戶的積分信息,或者可以和后臺賬號進(jìn)行關(guān)聯(lián)實(shí)現(xiàn)更加復(fù)雜的應(yīng)用等。用戶的身份信息如此重要,如果結(jié)合到我們的CRM系統(tǒng)、業(yè)務(wù)管理系統(tǒng),就可以發(fā)揮用戶信息應(yīng)用的作用了。
以上就是我對這個類型菜單鏈接的應(yīng)用了解,具體還需要進(jìn)一步深化其應(yīng)用,希望和大家共同探討這方面的應(yīng)用場景。
更多Développement C# de portails et dapplications WeChat - introduction à diverses expressions des menus WeChat相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)