package chanjarster.weixin.api; import chanjarster.weixin.bean.WxCustomMessage; import chanjarster.weixin.bean.WxMenu; import chanjarster.weixin.exception.WxErrorException; /** * 微信API的Service */ public interface WxService { /** *
* 验证推送过来的消息的正确性 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=接入指南 ** @param timestamp * @param nonce * @param signature * @return */ public boolean checkSignature(String timestamp, String nonce, String signature); /** *
* 获取access_token,本方法线程安全 * 且在多线程同时刷新时只刷新一次,避免超出1200次的调用次数上限 * * 另:本service的所有方法都会在access_token过期是调用此方法 * * 程序员在非必要情况下尽量不要主动调用此方法 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=获取access_token ** @throws WxErrorException */ public void refreshAccessToken() throws WxErrorException; /** *
* 发送客服消息 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=发送客服消息 ** @param message * @throws WxErrorException */ public String sendCustomMessage(WxCustomMessage message) throws WxErrorException; /** *
* 自定义菜单创建接口 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=自定义菜单创建接口 ** @param menu * @throws WxErrorException */ public String createMenu(WxMenu menu) throws WxErrorException; /** *
* 自定义菜单删除接口 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=自定义菜单删除接口 ** @throws WxErrorException */ public String deleteMenu() throws WxErrorException; /** *
* 自定义菜单查询接口 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=自定义菜单查询接口 ** @return * @throws WxErrorException */ public WxMenu getMenu() throws WxErrorException; public void setWxConfigProvider(WxConfigStorage wxConfigProvider); }