新建一个ApiService,参照demo
package tool.service;
import com.jfinal.weixin.sdk.api.ApiResult;
import com.jfinal.weixin.sdk.api.MenuApi;
/**
* @author chmin
* @time 2016年1月27日 上午9:32:03
*/
public class ApiService {
public static ApiService me = new ApiService();
/**
* 获取menu json字符串
* @return
*/
public String getMenu() {
ApiResult apiResult = MenuApi.getMenu();
if (apiResult.isSucceed()) {
return apiResult.getJson();
} else {
return apiResult.getErrorMsg();
}
}
/**
* 创建或更新menu
* @param menu json字符串
* @return
*/
public String createMenu(String menu){
ApiResult apiResult = MenuApi.createMenu(menu);
if (apiResult.isSucceed()){
return "操作成功";
} else {
return apiResult.getErrorMsg();
}
}
}
让背后去修改TextMsgService类的mappingKeyword方法
/**
* 解析收到的文本信息
* @param inTextMsg
* @return
*/
public OutMsg mappingKeyword(InTextMsg inTextMsg) {
String content = inTextMsg.getContent().trim();
OutTextMsg outTextMsg = new OutTextMsg(inTextMsg);
if (content.indexOf("备注") == 0) {
if (content.split(" ").length == 2) {
String memo = content.split(" ")[1];
if (changeMemo(memo, inTextMsg.getFromUserName())) {
outTextMsg.setContent("你的备注名已修改为:" + memo);
return outTextMsg;
} else {
outTextMsg.setContent("你的备注名修改失败!");
return outTextMsg;
}
}
}
if ("获取菜单".equals(content)){
outTextMsg.setContent(ApiService.me.getMenu());
return outTextMsg;
}
if (content.indexOf("创建菜单") == 0) {
if (content.split(" ").length == 2) {
String menu = content.split(" ")[1];
outTextMsg.setContent(ApiService.me.createMenu(menu));
return outTextMsg;
}
}
outTextMsg.setContent("你输入的文字是:" + content);
return outTextMsg;
}
嗯,看着这方法,应该写个单独的关键匹配方法了,暂时放一边
参照api文档写了一个json
{
"button":[{
"type":"view",
"name":"链接测试",
"url":"http://www.baidu.com",
"sub_button":[]
},{
"type":"view",
"name":"支付测试",
"url":"http://chmin.ngrok.natapp.cn/",
"sub_button":[]
}]
}
去空为
{"button":[{"type":"view","name":"测试","url":"http://www.baidu.com","sub_button":[]},{"type":"view","name":"支付测试","url":"http://chmin.ngrok.natapp.cn/","sub_button":[]}]}
然后使用微信输入
创建菜单 {"button":[{"type":"view","name":"测试","url":"http://www.baidu.com","sub_button":[]},{"type":"view","name":"支付测试","url":"http://chmin.ngrok.natapp.cn/","sub_button":[]}]}
在输入
获取菜单
效果如图
使用手机取消关注后,在重新关注