微信開發(fā)
服務號功能
1、1個月(自然月)內(nèi)僅可以發(fā)送4條群發(fā)消息。
2、發(fā)給訂閱用戶(粉絲)的消息,會顯示在對方的聊天列表中。相對應微信的首頁。
3、服務號會在訂閱用戶(粉絲)的通訊錄中。通訊錄中有一個服務號的文件夾,點開可以查看所有服務號。
4、服務號可申請自定義菜單。
訂閱號功能
1、每天(24小時內(nèi))可以發(fā)送1條群發(fā)消息。
2、發(fā)給訂閱用戶(粉絲)的消息,將會顯示在對方的“訂閱號”文件夾中。點擊兩次才可以打開。
3、在訂閱用戶(粉絲)的通訊錄中,訂閱號將被放入訂閱號文件夾中。
備注:在微信4.5版本之前申請的訂閱號可以有一次機會升級到服務號,新注冊的微信公眾平臺賬號在注冊到第四步的時候有一個選擇類型讓你選擇訂閱號或者服務號,這個一旦選擇就不可以改變了,一定要確定好,作為企業(yè)推薦選擇服務號,因為后期對服務號騰訊會有一些高級接口開放,企業(yè)可以更好的利用公眾平臺服務你的客戶。如:指尖上的生活
個人申請,只能申請訂閱號。
訂閱號與服務號的主要區(qū)別
訂閱號每天能群發(fā)一條消息,沒有自定義菜單及高級接口權限;服務號有自定義菜單及高級接口權限,但每月只能群發(fā)一條消息。
微信5.0發(fā)布
2013年8月5日,伴隨著微信5.0 iPhone版的發(fā)布,公眾平臺也進行了重要的更新,主要包括:
1)運營主體為組織,可選擇成為服務號或者訂閱號;
2)服務號可以申請自定義菜單;
3)使用QQ登錄的公眾號,可以升級為郵箱登錄;
4)使用郵箱登錄的公眾號,可以修改登錄郵箱;
5)編輯圖文消息可選填作者;
6)群發(fā)消息可以同步到騰訊微博。
其中,大家議論最多的當屬前兩條,就是關于帳號類型和自定義菜單的更新,我這里做幾點補充說明:
1)目前公眾號類型分為兩種:服務號和訂閱號,8月5日平臺更新后所有的帳號默認為訂閱號,有一次轉換成服務號的機會;
2)服務號主要面向企業(yè)、政府和其他組織,而訂閱號主要面向媒體和個人;
3)只有服務號可以申請自定義菜單,訂閱號不能申請;
4)服務號每月只能群發(fā)一條消息,而訂閱號每天能群發(fā)一條消息。
平臺更新后,讓很多人糾結的是自定義菜單和每天群發(fā)一條消息不可兼得。
需求
學院需求
提供查詢服務
- 課表
- 成績
- 學院最新動態(tài)
- 公告通知
加強與本學院同學的溝通
- 提供學生與老師溝通的平臺
通過溝通了解學生的需求,有利于更好的學院發(fā)展
學生需求
- 現(xiàn)在的大學生,網(wǎng)上的一代,手機控的一代,想要追求便捷的生活。他們對于信息的獲取,更希望通過新興媒體,像微信這樣的通訊工具。
通過需求可知學院應該選擇服務號
看例子(無圖無真相)
看商學院做好例子(這個是訂閱號,是以前申請的所以有自定義菜單)
魚和熊掌不可兼得,可是早申請的就能兼得,他就是一個例子,所以凡事還是得下手早




微信5.0后的訂閱號

微信5.0后的服務號



微信公眾平臺支持哪些編程語言?應該如何選擇
凡是支持動態(tài)Web開發(fā)的編程語言都能夠用于微信公眾平臺開發(fā),例如:Java、PHP、ASP.NET、Ruby、Python、Note.js等。
開者人員應該選擇自己最擅長的編程語言進行開發(fā),如果都不擅長怎么辦?如果都不擅長,建議選擇Java或PHP,原因在于網(wǎng)上關于微信公眾平臺開發(fā)的資料大都是基于Java和PHP的,開發(fā)起來要相對容易。
使用Java進行微信公眾平臺開發(fā)至少需要掌握哪些內(nèi)容
至少需要掌握Java基礎知識、JSP、Servlet、Javabean和JDBC(操作數(shù)據(jù)庫)
微信上微網(wǎng)站的解釋
微網(wǎng)站本質上就是以微信瀏覽器為入口的手機網(wǎng)站(Web APP),能夠兼容Android、iOS、WP等操作系統(tǒng)。開發(fā)微網(wǎng)站用到的技術與開發(fā)普通網(wǎng)站一樣,都是基于HTML(HTML5)、CSS、Javascript等,所以有普通網(wǎng)站開發(fā)經(jīng)驗的開發(fā)者,完全有能力開發(fā)微網(wǎng)站。
公眾平臺開發(fā)接口介紹
公眾平臺是為微信用戶提供服務的平臺,而公眾平臺開發(fā)接口則是提供服務的基礎,開發(fā)者在公眾平臺網(wǎng)站中創(chuàng)建公眾號、獲取接口權限后,可以通過閱讀本接口文檔來幫助開發(fā)。
公眾平臺開發(fā)接口提供與用戶進行消息交互、自定義菜單交互的能力。對于成功接入公眾平臺開發(fā)接口的公眾賬號,當用戶發(fā)消息給公眾號,微信公眾平臺服務器會使用http請求對接入的網(wǎng)址進行消息推送,第三方服務器可通過響應包回復特定結構,從而達到回復消息的目的
微信公共平臺服務器
先上圖

這是本地的服務器與微信服務器之間數(shù)據(jù)傳送(get/put)
開發(fā)者主要是在本地服務器上進行部署。
下面這是我對消息推送處理的理解

接口信息
待資料補全后,再次點擊“成為開發(fā)者”,這時將看到接口配置信息界面,如下圖所示:

這里需要填寫URL和Token兩個值。URL指的是能夠接收處理微信服務器發(fā)送的GET/POST請求的地址,并且是已經(jīng)存在的,現(xiàn)在就能夠在瀏覽器訪問到的地址,這就要求我們先把公眾帳號后臺處理程序開發(fā)好(至少應該完成了對GET請求的處理)并部署在公網(wǎng)服務器上。
開發(fā)接口信息
公眾平臺開發(fā)接口提供與用戶進行消息交互、自定義菜單交互的能力。對于成功接入公眾平臺開發(fā)接口的公眾賬號,當用戶發(fā)消息給公眾號,微信公眾平臺服務器會使用http請求對接入的網(wǎng)址進行消息推送,第三方服務器可通過響應包回復特定結構,從而達到回復消息的目的。
網(wǎng)址接入

服務器應該滿足
- web開發(fā)服務器
- 能夠解析常用的動態(tài)Web開發(fā)的編程語言例如:Java、PHP、asp.net、jsp等。
- 需要支持學院一些信息的存儲,而不是存儲在微信服務器上,本地化的存儲有利于加快信息的訪問速度,對用戶的體驗有益。
服務器的配置
開始我考慮的是LAMP+tomcat+mono組合(個人比較喜歡開源文化,應此傾向于此組合)
LAMP介紹
LAMP指的Linux(操作系統(tǒng))、ApacheHTTP 服務器,MySQL(有時也指MariaDB,數(shù)據(jù)庫軟件) 和PHP(有時也是指Perl或Python) 的第一個字母,一般用來建立web 服務器。
雖然這些開放源代碼程序本身并不是專門設計成同另幾個程序一起工作的,但由于它們的免費和開源,這個組合開始流行(大多數(shù)Linux發(fā)行版本捆綁了這些軟件)。當一起使用的時候,它們表現(xiàn)的像一個具有活力的解決方案包。
Web服務器、緩存和PHP加速
Apache是LAMP架構最核心的Web Server,開源、穩(wěn)定、模塊豐富是Apache的優(yōu)勢。但Apache的缺點是有些臃腫,內(nèi)存和CPU開銷大,性能上有損耗,不如一些輕量級的Web 服務器(例如nginx)高效,輕量級的Web服務器對于靜態(tài)文件的響應能力來說遠高于Apache服務器。
Apache做為Web Server是負載PHP的最佳選擇,如果流量很大的話,可以采用nginx來負載非PHP的Web請求。nginx是一個高性能的HTTP和反向代理服 務器,Nginx以它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。Nginx不支持PHP和CGI等動態(tài)語言,但支持負載均衡和容 錯,可和Apache配合使用,是輕量級的HTTP服務器的首選。
Web服務器的緩存也有多種方案,Apache提供了自己的緩存模 塊,也可以使用外加的Squid模塊進行緩存,這兩種方式均可以有效的提高Apache的訪問響應能力。Squid Cache是一個Web緩存服務器,支持高效的緩存,可以作為網(wǎng)頁服務器的前置cache服務器緩存相關請求來提高Web服務器的速度,把Squid放在 Apache的前端來緩存Web服務器生成的動態(tài)內(nèi)容,而Web應用程序只需要適當?shù)卦O置頁面實效時間即可。如訪問量巨大則可考慮使用memcache作 為分布式緩存。
PHP的加速使用eAccelerator加速器,eAccelerator是一個自由開放源碼PHP加速器,優(yōu)化和動 態(tài)內(nèi)容緩存,提高了性能PHP腳本的緩存性能,使得PHP腳本在編譯的狀態(tài)下,對服務器的開銷幾乎完全消除。它還有對腳本起優(yōu)化作用,以加快其執(zhí)行效率。 使PHP程序代碼執(zhí)效率能提高1-10倍。
總的來說,LAMP架構的網(wǎng)站性能會遠遠優(yōu)于Windows IIS + ASP + Access可以負載的訪問量也非常大,國內(nèi)的大量個人網(wǎng)站如果想要支撐大訪問量,采用LAMP架構是一個不錯的方案。
綜上所述,基于LAMP架構設計具有成本低廉、部署靈活、快速開發(fā)、安全穩(wěn)定等特點,是Web網(wǎng)絡應用和環(huán)境的優(yōu)秀組合。
tomcat介紹(用它來解析jsp)
因為Tomcat 技術先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web 應用服務器。
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務器,可利用它響應對HTML(標準通用標記語言下的一個應用。)頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。
訣竅是,當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務器。
mono介紹(用它來解析asp.net)
moon是Novell公司開發(fā)的跨平臺·NET運行環(huán)境
Mono 是一個由Novell 公司主持的項目。該項目的目標是創(chuàng)建一系列符合ECMA 標準(Ecma-334 和Ecma-335)的.NET 工具,包括C# 編譯器和共通語言執(zhí)行平臺。與微軟的.NET Framework 不同,Mono 項目不僅可以運行于Windows 系統(tǒng)上,還可以運行于Linux,F(xiàn)reeBSD,Unix,Mac OS X 和Solaris。
第二方案
對于第一方案,執(zhí)行過程,相當麻煩,對于mono的配置出錯,還有兩者對于jsp和asp.net的解析也不太好,整體過于臃腫,考慮到服務器以后的維護,決定放棄第一方案,采用Windows IIS+ASP+MySQL+tomcat
采用tomcat和iis服務器集成來解析jsp
這個方案實施起來相對簡單。一切都是傻瓜似的操作
整體架構部署在windows server 2008 R2系統(tǒng)上,安裝過程相對簡單,主要是配置過程有點難度,具體配置過程在這里就不贅述了,在以后的文檔中會有詳細的記錄。
自定義菜單申請到了,到底該怎么創(chuàng)建、怎么使用。
自定義菜單的創(chuàng)建步驟
1、找到AppId和AppSecret。自定義菜單申請成功后,在“高級功能”-“開發(fā)模式”-“接口配置信息”的最后兩項就是;
2、根據(jù)AppId和AppSecret,以https get方式獲取訪問特殊接口所必須的憑證access_token;
3、根據(jù)access_token,將json格式的菜單數(shù)據(jù)通過https post方式提交。
分析創(chuàng)建菜單的難點
- 首先,第1步肯定都沒有問題,只要成功申請了自定義菜單,一定能拿到AppId和AppSecret這兩個值。
- 再來看第2步,由于是get方式獲取access_token,簡單的辦法是直接把ping好的url放在瀏覽器里執(zhí)行,access_token就拿到了。
- 最后再看第3步,拼裝json格式的菜單數(shù)據(jù),雖然繁鎖一點,但基本上也都沒有什么問題的,因為官方給了個例子,照貓畫虎就行了。那問題一定就出現(xiàn)在https post提交上了。
這里要好好仔細閱讀通用接口文檔