亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 微信小程式 微信開發(fā) asp.net開發(fā)微信公眾平臺(tái)(8)微信9大高級(jí)接口,自訂選單

asp.net開發(fā)微信公眾平臺(tái)(8)微信9大高級(jí)接口,自訂選單

Feb 23, 2017 pm 02:30 PM

前7篇把最基礎(chǔ)的消息接收和回復(fù)全做完了, ?也把高級(jí)接口的入口和分拆處理寫好了空方法, ?此篇接著介紹微信的9大高級(jí)接口, 並著重講解其中的自訂選單。

微信9大介面為:

1.語音辨識(shí)介面

#2.客服介面

3.OAuth2.0 網(wǎng)頁授權(quán)介面

4.產(chǎn)生帶有參數(shù)的二維碼介面

5.取得用戶地理位置介面

6.取得使用者基本資訊介面

#7.取得追蹤者清單介面

#8.使用者分組介面

9.上傳下載多媒體檔案介面

#?

##具體介紹:

1. 語音辨識(shí)?

功能描述:透過語音辨識(shí)接口,使用者傳送的語音,將同時(shí)給予語音辨識(shí)的文字內(nèi)容。?

實(shí)用意義:第三者可以呼叫微信自主研發(fā)的語音辨識(shí)技術(shù)。意味著微信向第三方開放語音識(shí)別技術(shù),直接調(diào)用語音識(shí)別接口,對(duì)語音識(shí)別結(jié)果進(jìn)行互動(dòng)或根據(jù)識(shí)別的內(nèi)容進(jìn)行自動(dòng)答復(fù)。

?

2. 客服介面

功能描述:透過客服接口,公眾號(hào)可以在用戶發(fā)送過訊息的 12 小時(shí)內(nèi),回覆用戶訊息。?

實(shí)用意義:以前公眾帳號(hào)跟訂戶只能被動(dòng)回應(yīng),例如用戶觸發(fā)了需求,例如發(fā)送關(guān)鍵字給公眾帳號(hào),後者才可以與用戶對(duì)話。如今,如果訂戶跟公眾帳號(hào)對(duì)話過一次,公用帳號(hào)就可以在 12 個(gè)小時(shí)內(nèi)持續(xù)傳送訊息給用戶。這提高了公眾帳號(hào)發(fā)送訊息的能力。

?

3. OAuth 2.0 網(wǎng)頁授權(quán)?

功能說明:透過網(wǎng)頁授權(quán)接口,公眾號(hào)碼可以請(qǐng)求使用者授權(quán)。

實(shí)用意義:這就像是微博、QQ的帳號(hào)授權(quán)功能。這意味著微信帳號(hào)正式成為帳號(hào)系統(tǒng)。

?

4. 產(chǎn)生帶參數(shù)二維碼?

功能描述:透過該接口,公眾號(hào)可以獲得一系列攜帶不同參數(shù)的二維碼,在用戶掃描關(guān)注公眾號(hào)後,公眾號(hào)可依參數(shù)分析各二維碼的效果。?

實(shí)用意義:舉例來說,以前放一個(gè)二維碼在網(wǎng)站或離線的廣告牌,效果都是一樣的:獲得關(guān)注用戶。現(xiàn)在可以分析訂戶來自哪裡。開發(fā)者可以在連結(jié)裡設(shè)定特殊訊息,做更多的數(shù)據(jù)分析。這項(xiàng)功能也可以用來做帳號(hào)綁定,

?

5. 取得使用者地理位置

功能描述:透過該介面,公有號(hào)能夠獲得使用者進(jìn)入大眾號(hào)會(huì)話時(shí)的地理位置。?

實(shí)用意義:兩種情況可以獲得使用者地理位置:一是與公眾帳號(hào)“會(huì)話時(shí)”,二是在會(huì)話介面“每隔 5 秒”。在使用者同意下,這就可以做微信導(dǎo)航或地理圍籬方面的服務(wù)。

?

6. 取得使用者基本資訊?

功能描述:透過此接口,公眾號(hào)可根據(jù)加密後的使用者OpenID,取得使用者基礎(chǔ)資訊,包括頭像、名稱、性別、地區(qū)。

?

實(shí)用意義:以前這是一個(gè)非常高的權(quán)限。取得使用者基本資料後,可以做 CRM 管理後臺(tái),方便商家管理使用者。

?

7. 取得追蹤者清單?

功能描述:透過該接口,使用者可以取得所有追蹤者的OpenID?

##實(shí)務(wù)意義:以前不能知道有多少人關(guān)注你,是誰在關(guān)注你。如今你可以知道誰在關(guān)注你。

?

8. 使用者分組介面?

功能描述:透過分組接口,公眾號(hào)可在後臺(tái)為使用者移動(dòng)分組,或建立、修改分組。

實(shí)用意義:可以將使用者分組,例如樂思享組織一場“聽眾交流會(huì)”,現(xiàn)場來了1000 人,可以把它歸為一組,後續(xù)的活動(dòng)花絮照片只發(fā)給這1000 人。這對(duì)商家來說,就是一個(gè) VIP 會(huì)員管理,就是 CRM 管理平臺(tái)。

?

9. 上傳下載多媒體檔案?

功能描述:透過此介面公眾號(hào)可在需要時(shí)在微信伺服器上傳下載多媒體檔案。

實(shí)用意義:可以下發(fā)圖片、影片。例如搞笑視頻,上傳到微信公眾帳號(hào)後臺(tái),可以向聽眾推送出來,相當(dāng)於視頻網(wǎng)站的一個(gè)業(yè)務(wù)。

以上就是微信9大高階介面的介紹, ? 其實(shí)現(xiàn)在應(yīng)該是10個(gè)了,還有1個(gè)支付功能。

?

下面著重寫自訂選單。

自訂選單只需要建立一次,之後都會(huì)存在,每次變更需要等待幾分鐘才可看到,建立:

asp.net開發(fā)微信公眾平臺(tái)(8)微信9大高級(jí)接口,自訂選單已建立好之後:

asp.net開發(fā)微信公眾平臺(tái)(8)微信9大高級(jí)接口,自訂選單

??

我這裡是全部新增好之後,點(diǎn)選建立到微信,程式碼:

public void SetMenu()
        {
            
            dbHome=Factory.FContext.WeiXinDbContext();
            var listP = DAL.ListWhere<tb_PersonalMenu, int>(dbHome, a => a.ParentId == 0&& a.State==1, a => a.ID, 3);
            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();   
            foreach (var row in listP)
            {
                var listC = DAL.ListWhere<tb_PersonalMenu, int>(dbHome, a => a.ParentId == row.ID && a.State==1, a => a.ID, 5);
                List<Dictionary<string, object>> list2 = new List<Dictionary<string, object>>();
                Dictionary<string, object> dic2m = new Dictionary<string, object>();
                Dictionary<string, object> dic1 = new Dictionary<string, object>();
                    
                if (listC.Count > 0)
                {
                    foreach(var row2 in listC)
                    {
                    //2級(jí)菜單內(nèi)容
                    Dictionary<string, object> dic2c = new Dictionary<string, object>();

                    dic2c.Add("type", row2.Type.ToString().Replace("1", "click").Replace("2","view"));
                    dic2c.Add("name", row2.Name);
                    if(row2.Type==1)
                        dic2c.Add("key", row2.ID);
                    if (row2.Type ==2)
                        dic2c.Add("url", row2.LinkUrl);

                    list2.Add(dic2c);
                    }
                    //--
                    //2級(jí)菜單組裝
                    dic2m.Add("name", row.Name);
                    dic2m.Add("sub_button", JsonHelper.ListDicToJsonVals(list2));
                    //------
                    list.Add(dic2m);
                }
                else
                {
                    //1級(jí)菜單
                    dic1.Add("type", row.Type.ToString().Replace("1", "click").Replace("2", "view"));
                    dic1.Add("name", row.Name);
                    if (row.Type == 1)
                        dic1.Add("key", row.ID);
                    if (row.Type == 2)
                        dic1.Add("url", row.LinkUrl);


                    //----------
                    list.Add(dic1);
                }
                //1級(jí)和2級(jí)裝成list 
                
                
                //-----------
            
            }
            
            
            
           

            


            
            string m=JsonHelper.ListDicToJsonVals(list);//將list轉(zhuǎn)成json的值 下面賦值給button

            //賦值給button
            Dictionary<string, object> dicAll = new Dictionary<string, object>();
            dicAll.Add("button", m);
            //---------

            
            string jsonResult = JsonHelper.GetJsonStr(dicAll);//將dic轉(zhuǎn)成json
            //轉(zhuǎn)換出來的  [{},{}]也會(huì)被“”包圍,要去掉“”

            jsonResult = jsonResult.Replace("\"[", "[").Replace("]\"", "]");
            string html = HttpHelper.HttpPost("https"+"://api.weixin.qq.com/cgi-bin/menu/create?access_token="+Common.Config.SystemConfig.access_token+"", jsonResult, Encoding.UTF8);


            dbHome.Dispose();
            Response.Write(JsonHelper.JsonToVal(html, "errmsg"));
            Response.End();

        }

?

最終是如下格式的json資料post到微信:

{
     "button":[
     {	
          "type":"click",
          "name":"今日歌曲",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "type":"click",
           "name":"歌手簡介",
           "key":"V1001_TODAY_SINGER"
      },
      {
           "name":"菜單",
           "sub_button":[
           {	
               "type":"view",
               "name":"搜索",
               "url":"http://www.soso.com/"
            },
            {
               "type":"view",
               "name":"視頻",
               "url":"http://v.qq.com/"
            },
            {
               "type":"click",
               "name":"贊一下我們",
               "key":"V1001_GOOD"
            }]
       }]
 }

這樣就可以在微信中看到結(jié)果:

asp.net開發(fā)微信公眾平臺(tái)(8)微信9大高級(jí)接口,自訂選單

?

?

#以上是屬於後臺(tái)管理中的建立選單, ?建立之後我們公號(hào)服務(wù)入口處對(duì)應(yīng)的方法也完善下, 之前已經(jīng)寫好了一個(gè)空方法

public void DoMenuClick(DbContext dbHome, RMenuClick mMenuClk)
? ? ? ?{

}

現(xiàn)在完善下:

//自定義菜單點(diǎn)擊
        public void DoMenuClick(DbContext dbHome, RMenuClick mMenuClk)
        {
            SText mStxtA = new SText();
            mStxtA.ToUserName = mMenuClk.FromUserName;
            mStxtA.FromUserName = mMenuClk.ToUserName;
            mStxtA.CreateTime = mMenuClk.CreateTime;
            int id = 0;
            mStxtA.Content = "歡迎使用,輸入任意關(guān)鍵字開始體驗(yàn)";
            if(int.TryParse(mMenuClk.EventKey,out id))
            {
                var me = DALWei.InfoEntities<tb_PersonalMenu>(dbHome, a => a.ID == id);
                if(me!=null)
                    mStxtA.Content = "歡迎使用【"+me.Name+"】,介紹、說明、鏈接等等; 也可以是圖文消息";
            }
            
            Often.ResponseToEnd(DALWei.SendText(mStxtA));
        }

這個(gè)是點(diǎn)選類型的選單處理, ?需要說明的是,view類型的選單點(diǎn)擊就會(huì)直接跳轉(zhuǎn)你所寫的連結(jié)去, ?1級(jí)選單如果設(shè)定成view類型則不會(huì)跳轉(zhuǎn)依舊執(zhí)行點(diǎn)擊事件;

效果:

?

asp.net開發(fā)微信公眾平臺(tái)(8)微信9大高級(jí)接口,自訂選單

我這裡直接回傳了一段文字, 實(shí)際應(yīng)用中可以回傳任何訊息。

更多asp.net開發(fā)微信公眾平臺(tái)(8)微信9大高級(jí)接口,自訂選單相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

?

?

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)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

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

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整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72