刘韬 6 gadi atpakaļ
vecāks
revīzija
1f25e8b3b7

+ 2 - 2
PacsOnline_Wechat_Patient/pom.xml

@@ -18,7 +18,7 @@
 		<dependency>
 			<groupId>org.junit.jupiter</groupId>
 			<artifactId>junit-jupiter-api</artifactId>
-			<version>5.4.0</version>
+			<version>5.4.1</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
@@ -49,7 +49,7 @@
 		<dependency>
 			<groupId>com.squareup.okhttp3</groupId>
 			<artifactId>okhttp</artifactId>
-			<version>3.13.1</version>
+			<version>3.14.0</version>
 		</dependency>
 		<dependency>
 			<groupId>mysql</groupId>

+ 2 - 3
PacsOnline_Wechat_Patient/src/main/java/com/zskk/common/ZskkConfig.java

@@ -22,8 +22,7 @@ import com.jfinal.template.Engine;
 import com.jfinal.weixin.sdk.api.ApiConfig;
 import com.jfinal.weixin.sdk.api.ApiConfigKit;
 import com.jfinal.weixin.sdk.cache.RedisAccessTokenCache;
-import com.jfinal.wxaapp.WxaConfig;
-import com.jfinal.wxaapp.WxaConfigKit;
+import com.zskk.controller.WeixinApiController;
 import com.zskk.controller.WeixinMsgController;
 
 public class ZskkConfig extends JFinalConfig {
@@ -64,7 +63,7 @@ public class ZskkConfig extends JFinalConfig {
         me.setMappingSuperClass(true);
         
         me.add("/msg", WeixinMsgController.class);
-//        me.add("/api", WeixinApiController.class, "/api");
+        me.add("/api", WeixinApiController.class, "/api");
 //        me.add("/pay", WeixinPayController.class);
 //        me.add("/wxa/user", WxaUserApiController.class);
 //        me.add("/subscribemsg", SubscribeMsgController.class);

+ 171 - 0
PacsOnline_Wechat_Patient/src/main/java/com/zskk/controller/WeixinApiController.java

@@ -0,0 +1,171 @@
+package com.zskk.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());
+    }
+}
+