Voyons comment développer la plateforme publique WeChat via Bee.WeiXin. Concernant l’introduction générale de la plateforme publique WeChat, je n’entrerai pas dans les détails ici. Cherchez-le simplement dans le jardin. Cet article présente principalement Bee.WeXin, et le code a été publié sur beeweixin.codeplex.com/.
BeeWeiXin est un framework de développement développé pour la plateforme publique WeChat de Tencent. Ce projet est développé sur la base de la plateforme Bee OPOA.
comprend les fonctions suivantes :
1. Réponse WeChat modèle basé sur l'arborescence des appels. L'arborescence d'appels prend en charge les réponses à plusieurs niveaux (avec contexte) et peut répondre de trois manières : texte, graphiques et personnalisé. Parmi eux, vous pouvez personnaliser les trois méthodes (texte, graphiques, musique) fournies par la plateforme publique WeChat API.
2. Fournit la fonction de synchronisation de la liste des utilisateurs suivants WeChat.
3. Fournit une fonction de gestion de menu.
4. Fournit des fonctions de gestion d'images et de texte.
5. Intégrez nativement toutes les fonctions de la plateforme Bee OPOA, principalement la Gestion des autorisations.
Concernant le débogage, il est recommandé d'utiliser les outils fournis par les amis du jardin pour développer et publier des outils de débogage via les comptes publics WeChat
Les éléments de configuration sont configurés dans [appSettings] dans web.config.
[WeiXinToken] est le jeton API de la plate-forme publique
[Debug] is Indique s'il est actuellement en mode débogage. La différence entre le mode débogage et le mode sans débogage réside dans la vérification de l'appel lancé. [WeiXinUserName] et [WeiXinPassword] sont requis pour [Resynchroniser tous les utilisateurs] dans le menu [WeChat Follow Users]. Connectez-vous à la plateforme publique WeChat avec la page Web simulée, puis obtenez les informations de la liste des utilisateurs. . S'il n'est pas nécessaire, vous pouvez l'ignorer ou masquer ce menu. [WeiXinAppId] et [WeiXinAppSec] sont requis dans le menu [WeChat Menu Management], qui peut gérer le menu des comptes publics WeChat. Bien entendu, cet outil [WeChat Public Account Development and Debugging Tool Release] dispose également de cette fonction, qui est plus pratique. S'il n'est pas nécessaire, vous pouvez l'ignorer ou masquer ce menu. [WeiXinController] est le contrôleur de réponse du système par défaut. Veuillez vous référer au code pour la logique spécifique. Réponse en mode chaîne d'appelsLa chaîne d'appels est basée sur le contexte Il y a une option dans l'élément de configuration [Si oui, cette réponse sera ajoutée]. à la chaîne d’appel pour former le contexte. Par exemple, [Menu 1] doit entrer dans la chaîne d'appel, sinon les sous-éléments sous cet élément ne répondront pas. Regardez d'abord les images suivantes : À partir de l'image d'aperçu, vous pouvez comprendre intuitivement que la chaîne d'appel peut fournir trois types de réponses : texte, graphiques et personnalisation. Le texte est une réponse textuelle générale. Par exemple, [Menu 1] a été configuré dans le projet Bee.WeiXinDemo pour répondre avec du texte et la valeur du nœud est V1001_M1_1.回复1,test1 回复2,test2 回复3,test3
informations sur l'image et le texte fournies dans WeChat API de plateforme publique, lors de l'appel Dans la configuration de la chaîne, entrez simplement les numéros d'article spécifiés dans l'ordre [ce numéro est l'ID dans la gestion des articles WeChat] (séparés par des virgules).
Par exemple, test2 sous [Menu 1] est au format graphique et texte. Pour accéder à test2, vous devez d'abord déclencher le menu 1, puis déclencher test2 Comme indiqué ci-dessous : La personnalisation est intégrée au framework Bee OPOA PlatformMVC<.> . Par conséquent, la configuration est également implémentée via le contrôleur, Action. Par exemple, test3 sous [Menu 1] est une méthode personnalisée. Pour accéder au test3, vous devez d'abord déclencher le menu 1, puis déclencher le test3 Comme indiqué ci-dessous :
Je ne sais pas si vous comprenez ? Il est recommandé de télécharger le code source et de le déboguer pour approfondir votre compréhension. Il est préférable de consulter le code lorsque vous avez le temps d'aider à améliorer le projet, haha.
[Menu 1] n'a que des valeurs clés [1], [2], [3]. Comment l'utilisateur doit-il réagir s'il saisit autre chose ? Pour le moment, il vous suffit de configurer la valeur de clé [*] en réponse à d'autres éléments de configuration.
在这种基于调用链的应答中, 上下文是必要的。 怎么理解呢?举例说明吧:我要查询某个产品的某个国家的最近3个月的销售情况。 由于微信平台的特性, 我们不可能像其他应用给用户以直观的查询。
我们只有采用引导式的方式去引导用户得到她想要的结果。 设计的菜单如预览图中【多级菜单】项所示。具体的配置项如下图:
当用户点击菜单按钮触发了【V1001_M1_2】的事件, 系统响应提示文本【上图的1】; 用户根据提示, 选择产品, 输入1, 系统提示输入国家【上图的2】。 由于国家太多, 不太可能配置所有国家的选项, 所有采用了一个通配符的方案【上图的3】, 并采用自定义的方式应答。 代码如下:
public WeiXinTextResult CheckCountry() { string content = ViewData.TryGetValue<string>("content", string.Empty); // 验证输入的国家是否合法 bool validFlag = content.IndexOf("CN") >= 0; if (validFlag) { return WeiXinText("1 最近3个月销售统计\r\n2 最近6个月销售统计"); } else { // 由于调用链有上下文, 用户输入错误, 需要将当前应答取消。Current.MessageStack.Pop(); Current.MessageStack.Pop(); return WeiXinText("国家不合法,请重新输入国家。"); } }
由以上代码可以知道上下文可以通过Current.MessageStack获取。
用户输入正确的国家代码, 则引导用户做下一个选择.
这个基本上跟Bee OPOA Platform的方式一模一样。 如【菜单1】下的【Other】项的响应就是采用该方式的。代码如下:
public ActionResult Other() { return View(); }
View代码如下:
<%@ Page Language="C#" AutoEventWireup="false" Inherits="Bee.Web.BeePageView" %> <%@ Import Namespace="Bee.Web" %> <%@ Import Namespace="Bee" %> <%@ Import Namespace="System.Collections.Generic" %> <xml> <ToUserName><![CDATA[<%=ViewData["FromUserName"] %>]]></ToUserName> <FromUserName><![CDATA[<%=ViewData["ToUserName"] %>]]></FromUserName> <CreateTime><%=Bee.WeiXin.DateTimeUtil.GetWeixinDateTime(DateTime.Now) %></CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content>回复1 联系方式 回复2 在线咨询</Content> </xml>
框架基类 Bee.WeiXin.Controller.WeiXinControllerBase提供了微信公众平台API所对应的三种响应的ActionResult, 具体请查看源码.
【相关推荐】
1. 微信公众号平台源码下载
2. 微智创T+微信机器人源码
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!