>위챗 애플릿 >위챗 개발 >WeChat 포털의 C# 개발 및 WeChat 기업 계정의 애플리케이션 메뉴 관리

WeChat 포털의 C# 개발 및 WeChat 기업 계정의 애플리케이션 메뉴 관리

高洛峰
高洛峰원래의
2017-02-18 09:40:411646검색

이전 기사에서는 WeChat 기업 계정과 관련된 여러 작업을 소개했습니다. 기업 계정과 공식 계정은 메뉴를 사용자 정의할 수 있으므로 API를 통해 메뉴를 생성하고, 목록을 얻고, 메뉴를 삭제할 수도 있습니다. 따라서 이 기사에서는 이 주제를 계속해서 살펴보겠습니다. , 기업 계정의 메뉴 관리 운영을 소개합니다.

메뉴는 많은 경우에 빠른 진입을 제공할 수 있으며, OAuth2 인증 인터페이스와 맞춤형 리디렉션 메뉴를 통해 사용자 정보를 얻기 위한 주요 입구로도 사용할 수 있습니다. ID를 얻은 다음 고객에게 표시할 수 있는 사용자 관련 데이터를 추가로 얻습니다.

1. 메뉴 일반 소개

클릭 및 점프 동작을 포함한 메뉴의 이벤트 처리는 다음과 같습니다. 향후 기업 계정에서도 이와 유사한 일부 스캔 기능이 추가될 수 있습니다. 공식 계정은 현재 코드 작업과 사진 작업이라는 두 가지 기능만 있습니다.

C#开发微信门户及应用-微信企业号的菜单管理

공식 메뉴 정의 인터페이스에는 메뉴 생성, 목록 획득, 메뉴 삭제 등 세 가지 작업이 포함되어 있으며 공식 계정 작업과 거의 동일합니다.

C#开发微信门户及应用-微信企业号的菜单管理

2. 메뉴의 엔터티 클래스 정의 및 인터페이스 정의 처리

메뉴의 일부 속성 정의를 포함하여 메뉴를 정의합니다. 포함 이름, 유형, 키, URL 및 자신을 가리키는 하위 메뉴 참조가 있으므로 메뉴를 여러 단계로 순환적으로 구성할 수 있지만 엄밀히 말하면 기업 계정의 메뉴는 공식 계정의 메뉴와 동일합니다. , 한 수준에는 3개 수준이 있습니다. 2차 수준 메뉴는 최대 5개이며, 3차 수준 메뉴는 없습니다.

엔터티 클래스의 UML 다이어그램은 다음과 같습니다.

C#开发微信门户及应用-微信企业号的菜单管理

메뉴관리 생성작업의 공식적인 정의는 다음과 같습니다.

  • 요청 지침

Https 요청 방법: POST

https://qyapi.weixin.qq.com/cgi -bin/menu/create?access_token=ACCESS_TOKEN&agentid=1

요청 패키지는 다음과 같습니다:

{
   "button":[
       {	
           "type":"click",
           "name":"今日歌曲",
           "key":"V1001_TODAY_MUSIC"
       },
       {
           "name":"菜单",
           "sub_button":[
               {
                   "type":"view",
                   "name":"搜索",
                   "url":"http://www.soso.com/"
               },
               {
                   "type":"click",
                   "name":"赞一下我们",
                   "key":"V1001_GOOD"
               }
           ]
      }
   ]
}
  • 매개변수 설명

参数 必须 说明
access_token 调用接口凭证
agentid 企业应用的id,整型。可在应用的设置页面查看
button 一级菜单数组,个数应为1~3个
sub_button 二级菜单数组,个数应为1~5个
type 菜单的响应动作类型,目前有click、view两种类型
name 菜单标题,不超过16个字节,子菜单不超过40个字节
key click类型必须 菜单KEY值,用于消息接口推送,不超过128字节
url view类型必须 网页链接,员工点击菜单可打开链接,不超过256字节
  • 권한 설명

관리자에게 해당 애플리케이션에 대한 관리 권한이 있어야 하며, 애플리케이션이 콜백 모드로 설정되어 있어야 합니다.

반환 결과

{
   "errcode":0,
   "errmsg":"ok"
}

위 공식 정의 의미에 따르면, 우리 메뉴 관리의 C# 관리 인터페이스 정의는 다음과 같습니다.


    /// <summary>
    /// 企业号菜单管理接口定义    /// </summary>
    public interface ICorpMenuApi
    {        /// <summary>
        /// 获取菜单数据        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <returns></returns>
        MenuListJson GetMenu(string accessToken, string agentid);        /// <summary>
        /// 创建菜单        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="menuJson">菜单对象</param>
        /// <returns></returns>
        CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid);        /// <summary>
        /// 删除菜单        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <returns></returns>
        CommonResult DeleteMenu(string accessToken, string agentid);
    }


WeChat Enterprise Account 메뉴의 작동을 소개하기 위해 메뉴 생성 구현을 예로 들었습니다. 다른 작업도 비슷하게 처리되며 모두 쉽게 처리하고 읽을 수 있도록 공개 메시지 클래스를 반환합니다.


rreee


3. 기업 번호 메뉴 관리 인터페이스의 호출 및 처리 효과

호출 코드와 렌더링은 아래와 같습니다.


        /// <summary>
        /// 创建菜单        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="menuJson">菜单对象</param>
        /// <returns></returns>
        public CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid)
        {            var url = string.Format("http://www.php.cn/{0}&agentid={1}", accessToken, agentid);            string postData = menuJson.ToJson();            return Helper.GetCorpExecuteResult(url, postData);
        }


호출 코드의 테스트 출력은 아래와 같습니다.

C#开发微信门户及应用-微信企业号的菜单管理

WeChat 포털 및 애플리케이션의 더 많은 C# 개발 - WeChat 기업 계정의 메뉴 관리에 대한 관련 기사는 PHP 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.