溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Bee.WeiXin微信框架的使用方法

發(fā)布時間:2021-03-12 10:17:00 來源:億速云 閱讀:244 作者:小新 欄目:移動開發(fā)

小編給大家分享一下Bee.WeiXin微信框架的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

BeeWeiXin 是針對騰訊的微信公眾平臺開發(fā)一個開發(fā)框架。  該項目是基于Bee OPOA Platform 開發(fā)的。

包含了以下功能:

1. 基于調(diào)用樹的微信答復(fù)模型。 調(diào)用樹支持多級(有上下文)響應(yīng),  可以通過 文本, 圖文, 自定義三種方式響應(yīng)。 其中自定義可以回復(fù)微信公眾平臺API所提供的三個方式(文本, 圖文, 音樂)。

2. 提供了同步微信關(guān)注用戶列表的功能。

3. 提供了菜單管理功能。

4. 提供了圖文管理功能。

5. 原生集成Bee OPOA Platform上的所有功能, 主要是權(quán)限管理。

關(guān)于調(diào)試, 推薦采用園友提供的工具 微信公眾帳號開發(fā)調(diào)試工具發(fā)布

預(yù)覽

Bee.WeiXin微信框架的使用方法

配置項說明

配置項均在web.config中【appSettings】配置.

【W(wǎng)eiXinToken】就是公眾平臺API方式的Token;

【Debug】是指當前是否處于調(diào)試模式。 調(diào)試模式與非調(diào)試模式的區(qū)別就在于是否對發(fā)起的調(diào)用進行驗證。

【W(wǎng)eiXinUserName】與【W(wǎng)eiXinPassword】 是菜單【微信關(guān)注用戶】中【重新同步所有用戶】所需要的, 將模擬網(wǎng)頁登入到微信公眾平臺中, 然后獲取用戶列表信息。 若不需要, 可以忽略, 也可以隱藏掉該菜單。

【W(wǎng)eiXinAppId】與【W(wǎng)eiXinAppSec】是菜單【微信菜單管理】中所需要的, 可以管理微信公眾賬號的菜單。 當然該工具【微信公眾帳號開發(fā)調(diào)試工具發(fā)布 】也有此功能, 比較方便。 若不需要, 可以忽略, 也可以隱藏掉該菜單。

【W(wǎng)eiXinController】是默認的系統(tǒng)響應(yīng)Controller, 具體邏輯請參看代碼。

調(diào)用鏈方式的應(yīng)答

調(diào)用鏈是基于上下文的, 在配置項中有個選項【是否進入調(diào)用鏈】若是的話, 則將此次應(yīng)答加入調(diào)用鏈中, 以形成上下文。 如【菜單1】是要進入調(diào)用鏈的, 不然該項下面的子項將無法響應(yīng)。

先看以下圖片:

Bee.WeiXin微信框架的使用方法

由預(yù)覽圖中, 可以直觀的了解調(diào)用鏈可以提供 文本、圖文、自定義三種響應(yīng)。

文本就是一般性的文本應(yīng)答。 如在Bee.WeiXinDemo項目中已配置了【菜單1】是以文本響應(yīng), 節(jié)點值是V1001_M1_1。

回復(fù)1,test1
回復(fù)2,test2
回復(fù)3,test3

回復(fù)得到如下:

Bee.WeiXin微信框架的使用方法

圖文就是微信公眾平臺API中提供的圖文信息, 在調(diào)用鏈配置中只要按照順序輸入指定的文章號【該號碼是微信文章管理中的Id】就可以了(以逗號分隔)。

如【菜單1】下的test2是圖文格式。 進入test2需要先觸發(fā)菜單1, 然后再觸發(fā)test2. 如下圖:

Bee.WeiXin微信框架的使用方法

自定義是融合到Bee OPOA Platform框架中MVC實現(xiàn)的。 所以配置的也是通過Controller, Action來實現(xiàn)。

如【菜單1】下的test3是自定義方式。進入test3需要先觸發(fā)菜單1, 然后再觸發(fā)test3. 如下圖:

Bee.WeiXin微信框架的使用方法

不知道各位了解了沒有? 建議大家下載源碼, 調(diào)試下以加深理解, 最好是有空看看代碼, 以幫助完善該項目, 呵呵。

【菜單1】下面只有鍵值【1】,【2】,【3】, 若用戶輸入其他怎么響應(yīng)呢?這個時候只要配置鍵值【*】, 作為其他的配置項應(yīng)答。

理解調(diào)用鏈上下文

在這種基于調(diào)用鏈的應(yīng)答中, 上下文是必要的。 怎么理解呢?舉例說明吧:我要查詢某個產(chǎn)品的某個國家的最近3個月的銷售情況。 由于微信平臺的特性, 我們不可能像其他應(yīng)用給用戶以直觀的查詢。

我們只有采用引導(dǎo)式的方式去引導(dǎo)用戶得到她想要的結(jié)果。 設(shè)計的菜單如預(yù)覽圖中【多級菜單】項所示。具體的配置項如下圖:

Bee.WeiXin微信框架的使用方法

當用戶點擊菜單按鈕觸發(fā)了【V1001_M1_2】的事件, 系統(tǒng)響應(yīng)提示文本【上圖的1】; 用戶根據(jù)提示, 選擇產(chǎn)品, 輸入1, 系統(tǒng)提示輸入國家【上圖的2】。 由于國家太多, 不太可能配置所有國家的選項, 所有采用了一個通配符的方案【上圖的3】, 并采用自定義的方式應(yīng)答。  代碼如下:

public WeiXinTextResult CheckCountry()
        {            string content = ViewData.TryGetValue<string>("content", string.Empty);            // 驗證輸入的國家是否合法
            bool validFlag = content.IndexOf("CN") >= 0;            if (validFlag)
            {                return WeiXinText("1 最近3個月銷售統(tǒng)計\r\n2 最近6個月銷售統(tǒng)計");
            }            else
            {                // 由于調(diào)用鏈有上下文, 用戶輸入錯誤, 需要將當前應(yīng)答取消。Current.MessageStack.Pop();                Current.MessageStack.Pop();                return WeiXinText("國家不合法,請重新輸入國家。");
            }
        }

由以上代碼可以知道上下文可以通過Current.MessageStack獲取。

用戶輸入正確的國家代碼, 則引導(dǎo)用戶做下一個選擇.

自定義MVC響應(yīng)

這個基本上跟Bee OPOA Platform的方式一模一樣。 如【菜單1】下的【Other】項的響應(yīng)就是采用該方式的。代碼如下:

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>回復(fù)1 聯(lián)系方式 
 回復(fù)2 在線咨詢</Content>
</xml>

框架基類 Bee.WeiXin.Controller.WeiXinControllerBase提供了微信公眾平臺API所對應(yīng)的三種響應(yīng)的ActionResult, 具體請查看源碼.

以上是“Bee.WeiXin微信框架的使用方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI