package com.rnt.controller; import com.jfinal.weixin.sdk.api.ApiConfigKit; import com.jfinal.weixin.sdk.api.ApiResult; import com.jfinal.weixin.sdk.api.CallbackIpApi; import com.jfinal.weixin.sdk.api.CustomServiceApi; import com.jfinal.weixin.sdk.api.MenuApi; import com.jfinal.weixin.sdk.api.QrcodeApi; import com.jfinal.weixin.sdk.api.ShorturlApi; import com.jfinal.weixin.sdk.api.TemplateMsgApi; import com.jfinal.weixin.sdk.api.UserApi; import com.jfinal.weixin.sdk.jfinal.ApiController; public class WeixinApiController extends ApiController { /** * 为WeixinConfig onLineTokenUrl处提供AccessToken * * 此处是为了开发测试和生产环境同时使用一套appId时为开发测试环境提供AccessToken * * 设计初衷:https://www.oschina.net/question/2702126_2237352 */ public void getToken() { String key = getPara("key"); String json = ApiConfigKit.getAccessTokenCache().get(key); renderText(json); } /** * 获取公众号菜单 */ public void getMenu() { ApiResult apiResult = MenuApi.getMenu(); if (apiResult.isSucceed()) renderText(apiResult.getJson()); else renderText(apiResult.getErrorMsg()); } /** * 创建菜单 */ public void createMenu() { String str = "{\n" + " \"button\": [\n" + " {\n" + " \"name\": \"进入理财\",\n" + " \"url\": \"http://m.bajie8.com/bajie/enter\",\n" + " \"type\": \"view\"\n" + " },\n" + " {\n" + " \"name\": \"安全保障\",\n" + " \"key\": \"112\",\n" + "\t \"type\": \"click\"\n" + " },\n" + " {\n" + "\t \"name\": \"使用帮助\",\n" + "\t \"url\": \"http://m.bajie8.com/footer/cjwt\",\n" + "\t \"type\": \"view\"\n" + " }\n" + " ]\n" + "}"; ApiResult apiResult = MenuApi.createMenu(str); if (apiResult.isSucceed()) renderText(apiResult.getJson()); else renderText(apiResult.getErrorMsg()); } /** * 获取公众号关注用户 */ public void getFollowers() { ApiResult apiResult = UserApi.getFollows(); renderText(apiResult.getJson()); } /** * 获取用户信息 */ public void getUserInfo() { ApiResult apiResult = UserApi.getUserInfo("ohbweuNYB_heu_buiBWZtwgi4xzU"); renderText(apiResult.getJson()); } /** * 发送模板消息 */ public void sendMsg() { String str = " {\n" + " \"touser\":\"ohbweuNYB_heu_buiBWZtwgi4xzU\",\n" + " \"template_id\":\"9SIa8ph1403NEM3qk3z9-go-p4kBMeh-HGepQZVdA7w\",\n" + " \"url\":\"http://www.sina.com\",\n" + " \"topcolor\":\"#FF0000\",\n" + " \"data\":{\n" + " \"first\": {\n" + " \"value\":\"恭喜你购买成功!\",\n" + " \"color\":\"#173177\"\n" + " },\n" + " \"keyword1\":{\n" + " \"value\":\"去哪儿网发的酒店红包(1个)\",\n" + " \"color\":\"#173177\"\n" + " },\n" + " \"keyword2\":{\n" + " \"value\":\"1元\",\n" + " \"color\":\"#173177\"\n" + " },\n" + " \"remark\":{\n" + " \"value\":\"欢迎再次购买!\",\n" + " \"color\":\"#173177\"\n" + " }\n" + " }\n" + " }"; ApiResult apiResult = TemplateMsgApi.send(str); renderText(apiResult.getJson()); } /** * 获取参数二维码 */ public void getQrcode() { String str = "{\"expire_seconds\": 604800, \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": 123}}}"; ApiResult apiResult = QrcodeApi.create(str); renderText(apiResult.getJson()); // String str = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"123\"}}}"; // ApiResult apiResult = QrcodeApi.create(str); // renderText(apiResult.getJson()); } /** * 长链接转成短链接 */ public void getShorturl() { String str = "{\"action\":\"long2short\"," + "\"long_url\":\"http://wap.koudaitong.com/v2/showcase/goods?alias=128wi9shh&spm=h56083&redirect_count=1\"}"; ApiResult apiResult = ShorturlApi.getShorturl(str); renderText(apiResult.getJson()); } /** * 获取客服聊天记录 */ public void getRecord() { String str = "{\n" + " \"endtime\" : 987654321,\n" + " \"pageindex\" : 1,\n" + " \"pagesize\" : 10,\n" + " \"starttime\" : 123456789\n" + " }"; ApiResult apiResult = CustomServiceApi.getRecord(str); renderText(apiResult.getJson()); } /** * 获取微信服务器IP地址 */ public void getCallbackIp() { ApiResult apiResult = CallbackIpApi.getCallbackIp(); renderText(apiResult.getJson()); } }