diff --git a/CHANGE.md b/CHANGE.md index 8a7bbcc6..625f6e11 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -367,4 +367,8 @@ + **weixin4j-qy**: 新增[媒体素材接口](weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java) - + released 1.5.1 \ No newline at end of file + + released 1.5.1 + +* 2015-07-22 + + + **weixin4j-qy**: 创建标签时可以指定ID \ No newline at end of file diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java index d9d884d1..5dee0a52 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Music.java @@ -56,7 +56,7 @@ public class Music implements NotifyTuple { private String thumbMediaId; public Music(String thumbMediaId) { - this(null, null, null, null, thumbMediaId); + this.thumbMediaId = thumbMediaId; } public Music(String title, String desc, String musicUrl, String hqMusicUrl, diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MediaType.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MediaType.java index 3cbf15e8..4a1d62f6 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MediaType.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/MediaType.java @@ -5,17 +5,18 @@ import com.foxinmy.weixin4j.http.ContentType; /** * 上传的媒体类型 *
- * 公众平台上传限制: 图片(image): 128K,支持JPG,PNG格式 - * 语音(voice):256K,播放长度不超过60s,支持AMR\MP3格式 视频(video):1MB,支持MP4格式 + * 公众平台上传限制: 图片(image): 2MB,支持bmp/png/jpeg/jpg/gif格式 + * 语音(voice):2MB,播放长度不超过60s,支持mp3/wma/wav/amr格式 + * 视频(video):10MB,支持rm/rmvb/wmv/avi/mpg/mpeg/mp4格式 * 缩略图(thumb):64KB,支持JPG格式 *
*- * 企业号上传限制: 图片(image):1MB,支持JPG格式 - * 语音(voice):2MB,播放长度不超过60s,支持AMR格式 视频(video):10MB,支持MP4格式 - * 普通文件(file):20MB + * 企业号上传限制: 图片(image):1MB,支持bmp/png/jpeg/jpg/gif格式 + * 语音(voice):2MB,播放长度不超过60s,支持mp3/wma/wav/amr格式 + * 视频(video):10MB,支持rm/rmvb/wmv/avi/mpg/mpeg/mp4格式 普通文件(file):20MB *
*- * 媒体文件在后台保存时间为3天,即3天后media_id失效 + * 临时媒体文件在后台保存时间为3天,即3天后media_id失效 *
* * @author jy.hu diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java index e9910638..ae4028cc 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java @@ -78,7 +78,7 @@ public class MediaApi extends MpApi { mediaType = MediaType.image; } else if ("mp3/wma/wav/amr".contains(mediaTypeKey)) { mediaType = MediaType.voice; - } else if ("mp4".equals(mediaTypeKey)) { + } else if ("rm/rmvb/wmv/avi/mpg/mpeg/mp4".equals(mediaTypeKey)) { mediaType = MediaType.video; } else { throw new WeixinException("cannot handle mediaType:" + mediaTypeKey); diff --git a/weixin4j-qy/CHANGE.md b/weixin4j-qy/CHANGE.md index 04af086c..572cb5a1 100644 --- a/weixin4j-qy/CHANGE.md +++ b/weixin4j-qy/CHANGE.md @@ -74,4 +74,8 @@ + 新增[媒体素材接口](src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java) - + released 1.5.1 \ No newline at end of file + + released 1.5.1 + +* 2015-07-22 + + + 创建标签时可以指定ID \ No newline at end of file diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java index b3838ac0..a0475230 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java @@ -702,16 +702,17 @@ public class WeixinProxy { /** * 创建标签(创建的标签属于管理组;默认为未加锁状态) * - * @param tagName - * 标签名称 + * @param tag + * 标签对象;标签名称,长度为1~64个字节,标签名不可与其他标签重名;标签id,整型, + * 指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。 * @see 创建标签说明 * @see com.foxinmy.weixin4j.qy.api.TagApi * @return 标签ID * @throws WeixinException */ - public int createTag(String tagName) throws WeixinException { - return tagApi.createTag(tagName); + public int createTag(Tag tag) throws WeixinException { + return tagApi.createTag(tag); } /** diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java index 9ec6aaec..04a44b30 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java @@ -83,7 +83,7 @@ public class MediaApi extends QyApi { mediaType = MediaType.image; } else if ("mp3/wma/wav/amr".contains(mediaTypeKey)) { mediaType = MediaType.voice; - } else if ("mp4".equals(mediaTypeKey)) { + } else if ("rm/rmvb/wmv/avi/mpg/mpeg/mp4".equals(mediaTypeKey)) { mediaType = MediaType.video; } else { mediaType = MediaType.file; diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/TagApi.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/TagApi.java index 2c0409cf..6b682d3d 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/TagApi.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/TagApi.java @@ -32,26 +32,32 @@ public class TagApi extends QyApi { /** * 创建标签(创建的标签属于管理组;默认为加锁状态。加锁状态下只有本管理组才可以增删成员,解锁状态下其它管理组也可以增删成员) * - * @param tagName - * 标签名称 + * @param tag + * 标签对象;标签名称,长度为1~64个字节,标签名不可与其他标签重名;标签id,整型, + * 指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。 * @see 创建标签说明 * @return 标签ID * @throws WeixinException */ - public int createTag(String tagName) throws WeixinException { + public int createTag(Tag tag) throws WeixinException { String tag_create_uri = getRequestUri("tag_create_uri"); Token token = tokenHolder.getToken(); + JSONObject obj = (JSONObject) JSON.toJSON(tag); + if (obj.getIntValue("tagid") <= 0) { + obj.remove("tagid"); + } WeixinResponse response = weixinClient.post( String.format(tag_create_uri, token.getAccessToken()), - String.format("{\"tagname\":\"%s\"}", tagName)); + obj.toJSONString()); return response.getAsJson().getIntValue("tagid"); } /** * 更新标签(管理组必须是指定标签的创建者) * - * @param tag 标签信息 + * @param tag + * 标签信息 * @see 更新标签说明 @@ -81,8 +87,8 @@ public class TagApi extends QyApi { public JsonResult deleteTag(int tagId) throws WeixinException { String tag_delete_uri = getRequestUri("tag_delete_uri"); Token token = tokenHolder.getToken(); - WeixinResponse response = weixinClient.post(String.format(tag_delete_uri, - token.getAccessToken(), tagId)); + WeixinResponse response = weixinClient.post(String.format( + tag_delete_uri, token.getAccessToken(), tagId)); return response.getAsJsonResult(); } @@ -118,8 +124,8 @@ public class TagApi extends QyApi { public List