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

目錄
1、微信帳號
2、微信選單定義
?3、接入微信的鏈接處理
4、使用開發(fā)方式建立選單
4、我創(chuàng)建的菜單案例
首頁 微信小程式 微信開發(fā) C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

Feb 16, 2017 pm 04:27 PM

微信應(yīng)用如火如荼,許多公司都希望搭上資訊快車,這個是一個商機,也是一個技術(shù)的方向,因此,有空研究下、學(xué)習(xí)下微信的相關(guān)開發(fā),也就成為日常計劃的重要事情之一了。本系列文章希望從一個循序漸進的角度上,全面介紹微信的相關(guān)開發(fā)過程和相關(guān)經(jīng)驗總結(jié),希望給大家了解一下相關(guān)的開發(fā)歷程。本隨筆主要針對微信開發(fā)過程的前期準備和一些初始的工作的介紹。

在寫下本文的之前一周時間裡,我主要是參考一些介紹文章以及微信公眾平臺的相關(guān)接口說明,並結(jié)合C#的代碼開發(fā),整理了自己公司的門戶界面,實現(xiàn)了微信工作號的初步使用者互動和資訊展示工作,隨著工作的進一步開展,越來越多的功能可能加入,並希望從應(yīng)用角度上擴展微信的接口,從而實現(xiàn)我對微信接口的技術(shù)探秘和了解過程。

1、微信帳號

要開發(fā)使用微信的平臺API,就需要到微信的公眾平臺(https://mp.weixin.qq.com/)去註冊,擁有一個服務(wù)號碼訂閱號,服務(wù)號碼主要面對企業(yè)和組織,訂閱號碼主要面向組織和個人,他們之間有一定的差異,根據(jù)不同的需要自己申請對應(yīng)的帳號即可。

為了使用一些高級的接口,你可能需要擁有服務(wù)號和高級的認證。帳號註冊過程,需要下載一個申請表格,列印並蓋公章,另外還需要申請人拿著身分證拍照(有點怪異,呵呵),然後上傳到伺服器進行審核,一般很快就能取得核準。

我以公司名義申請了服務(wù)號,帳號註冊後,會在主界面上顯示你的相關(guān)信息,另外給你申請一個二維碼的東西,掃描二維碼即可進入公司的微信關(guān)注確認對話框,非常方便。如下就是我申請後的公司帳號二維碼,可以直接使用掃描。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

2、微信選單定義

微信有兩種方式的選單定義,一種是編輯模式,一種是開發(fā)模式,兩者互斥,也就是說,一旦我們採用了開發(fā)模式,就不能使用編輯模式了,反過來也一樣。編輯下的選單,其實也是可以管理的,但微信不支持,覺得很不爽。

一般情況下,如果我們剛剛申請了微信號碼,可以使用編輯選單測試一下,根據(jù)說明編輯一些選單試試。雖然微信說24小時內(nèi)更新,不過一般很快,最快可能一兩分鐘就更新了,感覺還是不錯的。

使用開發(fā)者模式,你需要根據(jù)微信的要求,在伺服器上放置一個頁面鏈接,使用C#開發(fā)的,可以採用***.ashx的命名方式,使用Asp.NET的一般處理程序即可,不需要使用普通的頁面。

使用開發(fā)模式的選單,也就是可以呼叫微信API進行選單建立的工作,對於呼叫微信的API(微信有很多API可以呼叫),我們需要知道,有幾個參數(shù)的重要性,所以在開發(fā)模式打開的時候,會給你列出這些參數(shù),如下圖。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

?3、接入微信的鏈接處理

上面說了,你申請開發(fā)模式對菜單或?qū)ζ渌鸄PI的調(diào)用,你需要順利通過接入微信的測試,也就是確認你填寫的鏈接存在並能順利經(jīng)過微信的回調(diào)測試。微信提供了一個PHP的頁面處理例子,如果我們是C#開發(fā)的呢,可以搜一下就會得到答案,我的處理方式如下所示。

創(chuàng)建一個一般處理程序,然後在其處理頁裡面增加一個處理邏輯,如果是非POST方式的內(nèi)容,就是表示微信進行的Get測試,你需要增加一些處理邏輯,把它給你的內(nèi)容傳回去即可,如果是POST方式的,就是微信伺服器對介面訊息的請求操作了,後面介紹。

????///?<summary>
????///?微信接口。統(tǒng)一接收并處理信息的入口。????///?</summary>
????public?class?wxapi?:?IHttpHandler
????{????????public?void?ProcessRequest(HttpContext?context)
????????{????????????string?postString?=?string.Empty;????????????if?(HttpContext.Current.Request.HttpMethod.ToUpper()?==?"POST")
????????????{????????????????using?(Stream?stream?=?HttpContext.Current.Request.InputStream)
????????????????{
????????????????????Byte[]?postBytes?=?new?Byte[stream.Length];
????????????????????stream.Read(postBytes,?0,?(Int32)stream.Length);
????????????????????postString?=?Encoding.UTF8.GetString(postBytes);
????????????????}????????????????if?(!string.IsNullOrEmpty(postString))
????????????????{
????????????????????Execute(postString);
????????????????}
????????????}????????????else
????????????{????????????????Auth();?//微信接入的測試????????????}
????????}

一般來說,Auth函數(shù)裡面,就是要對相關(guān)的參數(shù)進行獲取,然後進行處理返回給微信伺服器。

????????????string?token?=?"****";//你申請的時候填寫的Token

????????????string?echoString?=?HttpContext.Current.Request.QueryString["echoStr"];????????????string?signature?=?HttpContext.Current.Request.QueryString["signature"];????????????string?timestamp?=?HttpContext.Current.Request.QueryString["timestamp"];????????????string?nonce?=?HttpContext.Current.Request.QueryString["nonce"];

完整的Author函數(shù)程式碼如下所示,其中我把業(yè)務(wù)邏輯進行進一步抽取到了一個新的類別裡面,方便業(yè)務(wù)邏輯的管理。

????????///?<summary>
????????///?成為開發(fā)者的第一步,驗證并相應(yīng)服務(wù)器的數(shù)據(jù)????????///?</summary>
????????private?void?Auth()
????????{????????????string?token?=?ConfigurationManager.AppSettings["WeixinToken"];//從配置文件獲取Token
????????????if?(string.IsNullOrEmpty(token))
????????????{
????????????????LogTextHelper.Error(string.Format("WeixinToken?配置項沒有配置!"));
????????????}????????????string?echoString?=?HttpContext.Current.Request.QueryString["echoStr"];????????????string?signature?=?HttpContext.Current.Request.QueryString["signature"];????????????string?timestamp?=?HttpContext.Current.Request.QueryString["timestamp"];????????????string?nonce?=?HttpContext.Current.Request.QueryString["nonce"];????????????if?(new?BasicApi().CheckSignature(token,?signature,?timestamp,?nonce))
????????????{????????????????if?(!string.IsNullOrEmpty(echoString))
????????????????{
????????????????????HttpContext.Current.Response.Write(echoString);
????????????????????HttpContext.Current.Response.End();
????????????????}
????????????}
????????}

而對微信參數(shù)的簽章並回傳的操作CheckSignature,程式碼如下圖所示。

????????///?<summary>
????????///?驗證微信簽名????????///?</summary>
????????public?bool?CheckSignature(string?token,?string?signature,?string?timestamp,?string?nonce)
????????{????????????string[]?ArrTmp?=?{?token,?timestamp,?nonce?};

????????????Array.Sort(ArrTmp);????????????string?tmpStr?=?string.Join("",?ArrTmp);

????????????tmpStr?=?FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr,?"SHA1");
????????????tmpStr?=?tmpStr.ToLower();????????????if?(tmpStr?==?signature)
????????????{????????????????return?true;
????????????}????????????else
????????????{????????????????return?false;
????????????}
????????}

4、使用開發(fā)方式建立選單

一旦你順利通過微信的認證,那麼它就讓你以開發(fā)方式呼叫它的API,並且可以隨意創(chuàng)建你的選單了。

創(chuàng)建選單的方式,你可以透過下面的位置進入到他的API處理介面裡面。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

進入後,你會發(fā)現(xiàn)微信把很多訊息的處理,分門別類放到不同的分類裡面了。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

其實我們現(xiàn)在初步要做的就是如何看看,使用程式碼方式呼叫建立選單,進入選單的API偵錯介面裡面。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

你會發(fā)現(xiàn)裡面還需要輸入一個Access_Token的東西,這個是一個會話身份認證,因此你還需要到介面裡面去找這個如何創(chuàng)建的。下面圖的兩個紅色部分,就是我們開始的時候,微信提示我們「開發(fā)者憑證」的兩個關(guān)鍵參數(shù)。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

弄完這些,你就可以根據(jù)獲得的Access_Token進行選單的創(chuàng)建工作了,根據(jù)選單的定義,它分為幾類,可以分為URL方式(View),事件方式(Click)。

click:用戶點擊click類型按鈕後,微信伺服器會透過訊息介面推播訊息類型為event 的結(jié)構(gòu)給開發(fā)者(參考訊息介面指南),並且?guī)习粹o中開發(fā)者填寫的key值,開發(fā)者可以透過自訂的key值與使用者互動;
view:使用者點擊view類型按鈕後,微信用戶端將會開啟開發(fā)者在按鈕中填寫的url值 (即網(wǎng)頁連結(jié)),達到開啟網(wǎng)頁的目的,建議與網(wǎng)頁授權(quán)取得使用者基本資訊介面結(jié)合,取得使用者的登入個人資訊。

?

4、我創(chuàng)建的菜單案例

在隨筆的開始,我公佈了一個二維碼,一旦使用微信掃一掃,進行關(guān)注服務(wù)號後,那麼就可以看到我自己創(chuàng)建的菜單了。主選單一般最多三列,每個主選單還可以有子選單,他們的文字都有限制的。

我們來看看我公司的微信門戶菜單,看起來是不是很酷呢。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信接口

?

更多C#開發(fā)微信入口網(wǎng)站及應(yīng)用(1)--開始使用微信介面相關(guān)文章請關(guān)注PHP中文網(wǎng)!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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