Browse Source

fix:公众号菜单测试

wrj 1 năm trước cách đây
mục cha
commit
51cfa34a65

+ 12 - 1
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/WeChatController.java

@@ -120,6 +120,17 @@ public class WeChatController extends BaseController {
         }
     }
 
+    @GetMapping("/setMenu")
+    @Log(title = "公众号pverifyToken", businessType = BusinessType.OTHER)
+    public Map<?,?> setMenu() {
+
+        //获取access_token
+        String token = weChatUtil.getToken();
+        //获取的二维码ticket
+        return weChatUtil.menuUtil(token);
+
+    }
+
 //    @PostMapping("/verifyToken")
 //    @Log(title = "公众号pverifyToken", businessType = BusinessType.OTHER)
 //    public void pverifyToken(@RequestParam(value = "signature") String signature,
@@ -348,7 +359,7 @@ public class WeChatController extends BaseController {
         //获取access_token
         String token = weChatUtil.getToken();
         //获取的二维码ticket
-        return weChatUtil.getUrl(token, openId);
+        return weChatUtil.getTicket(token, openId);
     }
 
     @ApiOperation("获取公众号网页二维码")

+ 1 - 1
nightFragrance-admin/src/main/resources/application-dev.yml

@@ -153,7 +153,7 @@ token:
   # 令牌密钥
   secret: smadedloswxcxstufwzgd
   # 令牌有效期(默认30分钟)
-  expireTime: 30
+  expireTime: 480
 
 ## MyBatis配置
 #mybatis:

+ 46 - 4
nightFragrance-massage/src/main/java/com/ylx/massage/utils/WeChatUtil.java

@@ -152,12 +152,12 @@ public class WeChatUtil {
 
 
     /**
-     * 获取微信AccessToken
+     * 生成公众号码ticket
      *
-     * @param code 用户code
-     * @return 返回包含微信AccessToken的Map
+     * @param token access_token
+     * @return 返回包含微信公众号码ticket的Map
      */
-    public Map<?, ?> getUrl(String token, String openId){
+    public Map<?, ?> getTicket(String token, String openId){
 
         String url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + token;
 
@@ -188,6 +188,48 @@ public class WeChatUtil {
 
     }
 
+    /**
+     * 生成公众号码ticket
+     *
+     * @param token access_token
+     * @return 返回包含微信公众号码ticket的Map
+     */
+    public Map<?, ?> menuUtil(String token){
+
+        String url = " https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + token;
+
+        String param = "{\n" +
+                "\t\"button\": [{\n" +
+                "\t\t\"type\": \"click\",\n" +
+                "\t\t\"name\": \"今日歌曲\",\n" +
+                "\t\t\"key\": \"V1001_TODAY_MUSIC\"\n" +
+                "\t}, {\n" +
+                "\t\t\"name\": \"菜单\",\n" +
+                "\t\t\"sub_button\": [{\n" +
+                "\t\t\t\"type\": \"view\",\n" +
+                "\t\t\t\"name\": \"搜索\",\n" +
+                "\t\t\t\"url\": \"http://www.soso.com/\"\n" +
+                "\t\t}, {\n" +
+                "\t\t\t\"type\": \"miniprogram\",\n" +
+                "\t\t\t\"name\": \"wxa\",\n" +
+                "\t\t\t\"url\": \"http://mp.weixin.qq.com\",\n" +
+                "\t\t\t\"appid\": \"wx286b93c14bbf93aa\",\n" +
+                "\t\t\t\"pagepath\": \"pages/lunar/index\"\n" +
+                "\t\t}, {\n" +
+                "\t\t\t\"type\": \"click\",\n" +
+                "\t\t\t\"name\": \"赞一下我们\",\n" +
+                "\t\t\t\"key\": \"V1001_GOOD\"\n" +
+                "\t\t}]\n" +
+                "\t}]\n" +
+                "}";
+
+        String rs = HttpUtil.post(url, param);
+        Map<?, ?> map = JSONObject.parseObject(rs, Map.class);
+
+        return map;
+
+    }
+
 
     /**
      * XML格式字符串转换为Map