Bee.WeiXin을 통해 WeChat 공개 플랫폼을 개발하는 방법을 살펴보겠습니다. WeChat 공개 플랫폼의 일반적인 소개에 대해서는 여기서 자세히 설명하지 않겠습니다. 그냥 정원에서 찾아보세요. 이번 글에서는 Bee.WeXin을 주로 소개하고 있으며, 해당 코드는 beeweixin.codeplex.com/에 공개되어 있습니다.
BeeWeiXin은 Tencent의 WeChat 공개 플랫폼용으로 개발된 프레임워크입니다. 본 프로젝트는 Bee OPOA 플랫폼을 기반으로 개발되었습니다.
에는 다음 기능이 포함되어 있습니다.
1. 콜 트리 기반 WeChat 응답 모델 . 호출 트리는 다단계(컨텍스트 포함) 응답을 지원하며 텍스트, 그래픽, 사용자 정의의 세 가지 방식으로 응답할 수 있습니다. 그 중 위챗 공개 플랫폼 API에서 제공하는 세 가지 방식(텍스트, 그래픽, 음악)을 맞춤 설정할 수 있습니다.
2. 위챗 팔로잉 사용자 목록을 동기화하는 기능을 제공합니다.
3. 메뉴 관리 기능을 제공합니다.
4. 이미지 및 텍스트 관리 기능을 제공합니다.
5. Bee OPOA 플랫폼의 모든 기능, 주로 권한 관리를 기본적으로 통합합니다.
디버깅에 관해서는 정원 친구들이 제공하는 도구를 사용하여 디버깅 도구를 개발하고 WeChat 공개 계정을 통해 출시하는 것이 좋습니다
구성 항목은 web.config의 [appSettings]에서 구성됩니다.
[WeiXinToken]은 공개 플랫폼 API 토큰입니다.
[Debug]는 현재 디버깅 모드인지 여부를 나타냅니다. 디버깅 모드와 비디버깅 모드의 차이점은 시작된 호출이 확인되는지 여부입니다.
[WeChat 사용자 팔로우] 메뉴의 [모든 사용자 재동기화]에는 [WeiXinUserName] 및 [WeiXinPassword]가 필요합니다. 시뮬레이션된 웹 페이지로 WeChat 공개 플랫폼에 로그인한 후 사용자 목록 정보를 가져옵니다. . 필요하지 않은 경우 무시하거나 이 메뉴를 숨길 수 있습니다.
위챗 공개 계정의 메뉴를 관리할 수 있는 [WeChat 메뉴 관리] 메뉴에 [WeiXinAppId]와 [WeiXinAppSec]가 필요합니다. 물론 이 도구 [WeChat 공개 계정 개발 및 디버깅 도구 출시]에도 이 기능이 있어서 더 편리합니다. 필요하지 않은 경우 무시하거나 이 메뉴를 숨길 수 있습니다.
[WeiXinController]는 기본 시스템 응답 컨트롤러입니다. 특정 로직은 코드를 참조하세요.
콜 체인은 컨텍스트에 따라 구성됩니다. [콜 체인에 들어갈지 여부]에 옵션이 있습니다. 호출 체인에 연결하여 컨텍스트를 형성합니다. 예를 들어 [메뉴 1]은 콜 체인에 들어가야 하며, 그렇지 않으면 이 항목 아래의 하위 항목이 응답하지 않습니다.
먼저 다음 사진을 보세요.
미리보기 사진을 보면 콜 체인이 텍스트, 응답, 세 가지 유형의 응답을 제공할 수 있다는 것을 직관적으로 이해할 수 있습니다. 그래픽, 사용자 정의.
텍스트는 일반적인 텍스트 응답입니다. 예를 들어 Bee.WeiXinDemo 프로젝트에서 [메뉴 1]은 텍스트로 응답하도록 구성되었으며 노드 값은 V1001_M1_1입니다.
回复1,test1 回复2,test2 回复3,test3
는 다음과 같이 응답했습니다.
이미지와 텍스트는 WeChat 공개 플랫폼 API에서 제공되는 이미지 및 텍스트 정보입니다. 콜 체인에 구성 지정된 기사 번호를 순서대로 입력하세요. [이 번호는 WeChat 기사 관리의 ID입니다](쉼표로 구분).
예를 들어 [메뉴 1]의 test2는 그래픽과 텍스트 형식입니다. test2에 들어가려면 먼저 메뉴 1을 실행한 다음 아래와 같이 test2를 실행해야 합니다.
사용자 정의가 Bee OPOA 플랫폼 프레임워크 MVC . 따라서 구성 역시 Controller Action을 통해서 구현됩니다.
예를 들어 [메뉴 1]의 test3은 맞춤 방식입니다. test3에 들어가려면 먼저 메뉴 1을 실행한 다음 아래와 같이 test3을 실행해야 합니다. 이해가 되셨는지 모르겠습니다. 이해를 깊게 하려면 소스 코드를 다운로드하고 디버깅하는 것이 좋습니다. 프로젝트 개선에 도움이 될 시간이 있을 때 코드를 살펴보는 것이 가장 좋습니다. 하하. [메뉴 1]에는 [1], [2], [3] 키 값만 있는데, 사용자가 다른 것을 입력하면 어떻게 반응해야 할까요? 이때 다른 구성 항목에 대한 응답으로 키 값 [*]만 구성하면 됩니다.在这种基于调用链的应答中, 上下文是必要的。 怎么理解呢?举例说明吧:我要查询某个产品的某个国家的最近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+微信机器人源码
위 내용은 Bee.WeiXin WeChat 프레임워크 사용에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!