亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師說的那個參數有問題是不是老師理解有誤啊......

老師所說的location_select是一個自定義菜單事件推送(準確的說是彈出地理位置選擇器的事件推送)https://img1.sycdn.imooc.com//5b67c2b800013bb704860126.jpg

而老師去debug時并不是通過點擊自定義菜單去發送位置消息,應該是通過聊天框最右邊的“+”號里的“位置”去發送的位置消息https://img1.sycdn.imooc.com//5b67c33f0001f2b007820290.jpg

而這樣的話,微信服務器返回的就是一個普通的地理位置消息的xml數據,并不是自定義菜單事件推送里的,彈出地理位置選擇器的事件的xml數據,而老師在視頻里是用這兩個不同的事件去做對比的,這兩個事件所返回的xml數據包是不同的,所以老師是不是誤會了?https://img1.sycdn.imooc.com//5b67c4080001a5e405010167.jpg

然后我自己通過在下面這個方法中的一個輸出語句去遍歷map中的值,就是那個循環里的輸出語句,(因為我不會debug....)

public?static?Map<String,String>?xmlToMap(HttpServletRequest?request)
????????throws?IOException,?DocumentException?{
????Map<String,String>?map?=?new?HashMap<String,?String>();
????SAXReader?reader?=?new?SAXReader();
????InputStream?ins?=?request.getInputStream();

????Document?doc?=?reader.read(ins);

????Element?root?=?doc.getRootElement();

????List<Element>?list?=?root.elements();

????for?(Element?e:list)?{
????????map.put(e.getName(),e.getText());
????????System.out.println(e.getName()+"-->"+e.getText());
????}
????ins.close();
????return?map;
}

我是通過點擊我自己創建的自定義菜單中的地理位置選擇器去發送位置的,不是老師那樣,然后得到了下面這段輸出,下面的那一段就是普通的位置消息的數據,與開發文檔中的都可以對得上,而上面這一段與自定義菜單的位置事件消息的數據,能對得上前面幾個,而后邊的幾個就是沒有了,我就一臉懵逼了....

https://img1.sycdn.imooc.com//5b67c84c000113ac04460464.jpg

請大佬們指出哪里有問題,還是說我理解得不對,都請指出,不勝感激?。▉碜砸粋€很白很白的小白..)

正在回答

4 回答

我的按照老師的寫的,兩種方式都可以,但是在調試的時候一開始是不可以的,和樓主的問題一樣,也是先改為了location_select,但是拿不到這個集合里沒有Lable的值,我又改回location后,不用debug可以成功,不知道為啥。

0 回復 有任何疑惑可以回復我~

[ INFO ] - [ servlet.WeixinServlet.doPost(WeixinServlet.java:55) ] {Location_X=40.067593, CreateTime=1554020443, Location_Y=116.327114, Label=北京市北京回龍觀萬龍社區(萬龍社區16號), Scale=15, ToUserName=gh_3aaa50434c4f, FromUserName=oeA6ZuEqWJ65v1_PYcxpyfcIi3NQ, MsgType=location, MsgId=22248223037388133}

[ INFO ] - [ servlet.WeixinServlet.doPost(WeixinServlet.java:55) ] {CreateTime=1554020443, EventKey=13, SendLocationInfo=, Event=location_select, ToUserName=gh_3aaa50434c4f, FromUserName=oeA6ZuEqWJ65v1_PYcxpyfcIi3NQ, MsgType=event}

同時收到的兩個動作,第一個是接收的普通位置信息,第二個才是點擊地理位置選擇器的事件(參數對不上)


0 回復 有任何疑惑可以回復我~

location_select:彈出地理位置選擇器的事件推送的參數的確是有問題的。

老師的講解也是有問題的,點擊地理位置選擇器并發送位置是兩個動作同時回傳服務器的(點擊位置的事件參數的確是和文檔對不上的;位置消息沒有問題),老師將位置信息參數當成了位置事件的參數

0 回復 有任何疑惑可以回復我~

https://img1.sycdn.imooc.com//5c1701380001cf8607050558.jpg對得上呢,哪個對不上?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

老師說的那個參數有問題是不是老師理解有誤啊......

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號