微信 | 公衆號 | |
社交圈 | 大多都是認識的人小程序 可進行一對1、多對多交流tomcat |
包括我的在內的更大的社交圈服務器 關注用戶大多都不認識微信 |
定位 | 主要用於聊天、朋友圈等我的娛樂 | 更加傾向於商業用途網絡 達到我的品牌的推廣、企業品牌宣傳等微信公衆平臺 |
使用方式 | 主要在手機端使用 | 主要在PC端使用 |
關注方式 | 能夠相互關注 | 只能被用戶關注 |
公衆號類型通常分爲:dom
注:我的只能註冊訂閱號,更詳細的信息請登陸微信公衆平臺查看。編輯器
微信公衆品臺是騰訊爲了讓用戶申請和管理微信公衆帳號而推出的一個WEB平臺。工具
本節全部內容都是基於編輯模式(微信公衆號開發的兩種模式之一)進行的。ui
自動回覆分爲如下三種:
該操做較爲簡單,只需注意關鍵詞自動回覆中,關鍵詞的「未全匹配」和「已全匹配」區別。
若選擇了全匹配,在編輯頁面則會顯示「已全匹配」(如圖):
對方發送的內容與設置的關鍵詞須徹底同樣,纔會觸發關鍵字回覆,不能多一個字符也不能少一個字符。好比設置「123」,僅回覆「123」纔會觸發關鍵詞回覆。
若沒有選擇全匹配的狀況下,編輯頁面則會顯示「未全匹配」(如圖):
只要對方發送內容包含設置的完整關鍵詞,就會觸發關鍵詞回覆給對方。好比設置「123」,回覆「1234」會觸發,但回覆不完整的關鍵詞「12」則不會觸發關鍵詞回覆。
素材管理主要對圖文消息、圖片、語音、視頻等四種類型的消息進行管理。
現微信公衆平臺已改版,羣發消息需從該管理下才能發送給用戶。
圖文消息編輯界面以下:
用起來挺簡單,左方圖文列表可設置單圖文和多圖文模式,另需注意:圖文消息編輯需將圖片等資源先上傳至圖片。
注:單圖文就是隻有一篇消息(可展現摘要),多圖文就是多篇消息(不展現摘要,只有標題)。
但其實微信公衆平臺的編輯(排版)並不完善,可優先考慮使用第三方編輯器,如秀米、135編輯器、i排版等工具。
自定義菜單,即設置公衆號最下方的如下菜單效果,可以使菜單鏈接至網頁、圖文消息或小程序。
自定義菜單有兩種類型:click類型和view類型。
此編輯部分也較爲簡單,不作過多說明。
須要的工具:
與微信對接的URL要具有如下條件:
Ngork能夠將內網映射到公網上面,這樣就能夠在公網訪問您的本地網絡服務。
用法:
幫助文檔:http://www.tunnel.mobi/
【重要】
目前Ngrok已被微信屏蔽了(網址:http://ngrok.2bdata.com/),須要加羣(費用:5元)才能下載客戶端,客戶端已下載至在G盤,將其複製到D盤,修改「star.bat」文件:
而後雙擊執行便可映射成功。
【使用】
映射完畢後,實際上,下面兩條語句是等效的:
http://localhost:8080==http://qijunhui1773.tunnel.echomod.cn
即開啓Tomcat後,輸入「http://qijunhui1773.tunnel.echomod.cn」 便可訪問Tomcat首頁(tomcat服務器和Ngrok映射工具都要開啓)。
同時能夠在別人電腦打開該連接同樣能夠展現項目Dome。
開發模式與編輯模式是互斥的,只能使用其一:
見附件或Eclipse源碼。
代碼編寫完成後,生成域名爲:「http://qijunhui1773.tunnel.echomod.cn/Weixin/wx.do」
配置微信後臺服務器:
提交後,配置成功,出現如下頁面:
注:啓用後,編輯模式將失效。
見Eclipse中的源碼。
1 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 2 3 req.setCharacterEncoding("UTF-8");//轉換編碼方式 4 resp.setCharacterEncoding("UTF-8"); 5 PrintWriter out = resp.getWriter();//經過PrintWriter返回消息至微信後臺 6 7 //接收消息 8 try { 9 Map<String,String> map = MessageUtil.xmlToMap(req); 10 String fromUserName = map.get("FromUserName");//發送方賬號(一個OpenID) 11 String toUserName = map.get("ToUserName");//開發者微信號 12 String msgType = map.get("MsgType");//text//若是是文本消息的話,MsgType="text" 13 String content = map.get("Content");//文本消息內容 14 15 String message = null; 16 //判斷是否爲文本消息 17 if("text".equals(msgType)) { 18 com.po.TextMessage text = new com.po.TextMessage(); 19 text.setFromUserName(toUserName);//注意,這裏發送者與接收者調換了 20 text.setToUserName(fromUserName); 21 text.setMsgType("text");//文本類型 22 text.setCreateTime("" + new Date().getTime());//當前時間 23 text.setContent("您發送的消息是:" + content);//返回消息 24 //將文本消息轉換爲xml 25 26 message = MessageUtil.textMessageToXml(text); 27 28 System.out.println(message); 29 } 30 31 out.print(message);//返回消息 32 } catch (DocumentException e) { 33 e.printStackTrace(); 34 } finally { 35 out.close(); 36 } 37 }
主要在這部分進行文本的接收與發生。其餘類都是輔助類,代碼較爲固定。
須要注意:微信後臺都是以XML格式發送或接受數據的,因此在程序中須要如下兩種方法:
注:只要將jar包放置在WebContent->WEB-INF->lib文件夾下,Tomcat發佈後會自動將其部署,沒必要再將其包複製到Tomcat文件夾下。