国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
接口
實(shí)體
返回類(lèi)型
注意點(diǎn)
測(cè)試和可視化編輯
首頁(yè) 微信小程序 微信開(kāi)發(fā) 微信公眾平臺(tái)開(kāi)發(fā):個(gè)性化菜單接口說(shuō)明

微信公眾平臺(tái)開(kāi)發(fā):個(gè)性化菜單接口說(shuō)明

Feb 27, 2017 pm 01:45 PM
微信公眾平臺(tái)

前不久微信上線(xiàn)了個(gè)性化菜單接口,Senparc.Weixin SDK也已經(jīng)同步更新。

本次更新升級(jí)Senparc.Weixin.MP版本到v13.5.2,依賴(lài)Senparc.Weixin版本4.5.4。.NET4.5(master) / .NET4.0兩個(gè)分支都已同步更新。

由于個(gè)性化菜單變化比較大,所以對(duì)整個(gè)菜單接口進(jìn)行了目前為止最大面積的重構(gòu)(可以向下兼容)。

相比之前的自定義菜單,目前整個(gè)菜單相關(guān)功能針對(duì)文件結(jié)構(gòu)進(jìn)行了全面的整理,:

微信公眾平臺(tái)開(kāi)發(fā):個(gè)性化菜單接口說(shuō)明

?

接口

  菜單接口已經(jīng)全部歸入CommonAPIs/Menu目錄下,CommonApi部分類(lèi)下面再分出3個(gè)類(lèi)文件:

?
文件名 說(shuō)明
CommonApi.Menu.Common.cs 菜單公共方法
CommonApi.Menu.Conditional.cs 個(gè)性化菜單
CommonApi.Menu.Custom.cs 普通自定義菜單

菜單接口文件

  其中自定義菜單接口已經(jīng)確保向下兼容,以前如果有已經(jīng)開(kāi)發(fā)自定義菜單功能的項(xiàng)目,可以放心升級(jí)。

  個(gè)性化菜單類(lèi)內(nèi)容如下:

/*----------------------------------------------------------------
    Copyright (C) 2015 Senparc
    
    文件名:CommonApi.Menu.Conditional
    文件功能描述:個(gè)性化自定義菜單接口
    
    
    創(chuàng)建標(biāo)識(shí):Senparc - 20151222
        
    修改標(biāo)識(shí):Senparc - 20151222
    修改描述:v13.5.1 添加個(gè)性化菜單接口
----------------------------------------------------------------*/

/*
    API:http://mp.weixin.qq.com/wiki/0/c48ccd12b69ae023159b4bfaa7c39c20.html
 */

using Senparc.Weixin.Entities;
using Senparc.Weixin.Helpers;
using Senparc.Weixin.MP.Entities;
using Senparc.Weixin.MP.Entities.Menu;

namespace Senparc.Weixin.MP.CommonAPIs
{
    public partial class CommonApi
    {
        /// <summary>
        /// 創(chuàng)建個(gè)新華菜單
        /// </summary>
        /// <param name="accessTokenOrAppId">AccessToken或AppId。當(dāng)為AppId時(shí),如果AccessToken錯(cuò)誤將自動(dòng)獲取一次。當(dāng)為null時(shí),獲取當(dāng)前注冊(cè)的第一個(gè)AppId。</param>
        /// <param name="buttonData">菜單內(nèi)容</param>
        /// <returns></returns>
        public static CreateMenuConditionalResult CreateMenuConditional(string accessTokenOrAppId, ConditionalButtonGroup buttonData, int timeOut = Config.TIME_OUT)
        {
            return ApiHandlerWapper.TryCommonApi(accessToken =>
             {
                 var urlFormat = "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token={0}";
                 var jsonSetting = new JsonSetting(true);
                 return CommonJsonSend.Send<CreateMenuConditionalResult>(accessToken, urlFormat, buttonData, timeOut: timeOut, jsonSetting: jsonSetting);

             }, accessTokenOrAppId);
        }


        #region GetMenu

        /* 使用普通自定義菜單查詢(xún)接口可以獲取默認(rèn)菜單和全部個(gè)性化菜單信息,請(qǐng)見(jiàn)自定義菜單查詢(xún)接口的說(shuō)明 */

        /// <summary>
        /// 測(cè)試個(gè)性化菜單匹配結(jié)果
        /// </summary>
        /// <param name="accessTokenOrAppId"></param>
        /// <param name="userId">可以是粉絲的OpenID,也可以是粉絲的微信號(hào)。</param>
        /// <returns></returns>
        public static MenuTryMatchResult TryMatch(string accessTokenOrAppId, string userId)
        {
            return ApiHandlerWapper.TryCommonApi(accessToken =>
            {
                var url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token={0}", accessToken);

                var data = new
                {
                    user_id = userId
                };

                return CommonJsonSend.Send<MenuTryMatchResult>(accessToken, url, data, CommonJsonSendType.POST);

            }, accessTokenOrAppId);
        }

        #endregion

        /// <summary>
        /// 刪除菜單
        /// </summary>
        /// <param name="accessTokenOrAppId"></param>
        /// <param name="menuId">菜單Id</param>
        /// <returns></returns>
        public static WxJsonResult DeleteMenuConditional(string accessTokenOrAppId, string menuId)
        {
            return ApiHandlerWapper.TryCommonApi(accessToken =>
            {
                var url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token={0}", accessToken);

                var data = new
                {
                    menuId = menuId
                };

                return CommonJsonSend.Send(accessToken, url, data, CommonJsonSendType.POST);

            }, accessTokenOrAppId);

        }

        /* 使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認(rèn)菜單和全部個(gè)性化菜單),請(qǐng)見(jiàn)自定義菜單刪除接口的說(shuō)明。 */
    }
}


  菜單公共方法中,GetButtonGroup()方法添加了一個(gè)參數(shù):buttonGroup,用于指定菜單按鈕列表類(lèi)型(屬于個(gè)性化菜單還是自定義菜單)。

  

實(shí)體

  有關(guān)實(shí)體類(lèi)的變化都體現(xiàn)在Entities/Menu目錄下,新建了IButtonGroupBase接口以及ButtonGroupBase基類(lèi)。ButtonGroup(自定義菜單)和ConditionalButtonGroup(個(gè)性化菜單)按鈕都繼承自ButtonGroupBase。

  Entities/Menu/Buttons/目錄下的所有按鈕類(lèi)型是通用的。

?

返回類(lèi)型

  重新整理的返回類(lèi)型都在Entities/JsonResult/Menu/目錄下:

微信公眾平臺(tái)開(kāi)發(fā):個(gè)性化菜單接口說(shuō)明?

?

注意點(diǎn)

  1. 自定義菜單和個(gè)性化菜單的菜單添加、刪除接口是不同的,使用的時(shí)候需要調(diào)用各自不同的接口。

  2. 如果使用個(gè)性化菜單,MenuMatchRule中的規(guī)則必須至少填寫(xiě)一個(gè)。

  3. 對(duì)于使用了個(gè)性化菜單和不使用,獲取菜單時(shí)返回的數(shù)據(jù)是不同的(前者包含后者),因此SDK針對(duì)這兩種情況只提供了同一個(gè)實(shí)體:GetMenuResult(對(duì)應(yīng)的接收消息實(shí)體為GetMenuResultFull)。有關(guān)個(gè)新華菜單的信息(列表)可以直接從GetMenuResult.conditionalmenu讀取,如果為null或者列表為空,則表示沒(méi)有個(gè)性化菜單。

?

測(cè)試和可視化編輯

  源代碼中提供了一個(gè)簡(jiǎn)易的可視化編輯工具,同時(shí)可以查看得到的菜單JSON數(shù)據(jù)格式(顯示的是操作的實(shí)體轉(zhuǎn)換成的JSON,非原始JSON)。


更多微信公眾平臺(tái)開(kāi)發(fā):個(gè)性化菜單接口說(shuō)明相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!


本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線(xiàn)人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話(huà)題

Laravel 教程
1601
29
PHP教程
1502
276