u
This commit is contained in:
parent
30b64dc54a
commit
0cca9d6d02
@ -899,7 +899,120 @@
|
||||
</error>
|
||||
<error>
|
||||
<code>85002</code>
|
||||
<text>包含敏感词</text>
|
||||
<text>包含不合法的词语</text>
|
||||
</error>
|
||||
<!-- 企业号消息错误 -->
|
||||
<error>
|
||||
<code>86001</code>
|
||||
<text>不合法的会话ID</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86003</code>
|
||||
<text>不存在的会话ID</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86004</code>
|
||||
<text>不合法的会话名</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86005</code>
|
||||
<text>不合法的会话管理员</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86006</code>
|
||||
<text>不合法的成员列表大小</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86007</code>
|
||||
<text>不存在的成员</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86101</code>
|
||||
<text>需要会话管理员权限</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86201</code>
|
||||
<text>缺少会话ID</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86202</code>
|
||||
<text>缺少会话名</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86203</code>
|
||||
<text>缺少会话管理员</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86204</code>
|
||||
<text>缺少成员</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86205</code>
|
||||
<text>非法的会话ID长度</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86206</code>
|
||||
<text>非法的会话ID数值</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86207</code>
|
||||
<text>会话管理员不在用户列表中</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86208</code>
|
||||
<text>消息服务未开启</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86209</code>
|
||||
<text>缺少操作者</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86210</code>
|
||||
<text>缺少会话参数</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86211</code>
|
||||
<text>缺少会话类型(单聊或者群聊)</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86213</code>
|
||||
<text>缺少发件人</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86214</code>
|
||||
<text>非法的会话类型</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86215</code>
|
||||
<text>会话已存在</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86216</code>
|
||||
<text>非法会话成员</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86217</code>
|
||||
<text>会话操作者不在成员列表中</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86218</code>
|
||||
<text>非法会话发件人</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86219</code>
|
||||
<text>非法会话收件人</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86220</code>
|
||||
<text>非法会话操作者</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86221</code>
|
||||
<text>单聊模式下,发件人与收件人不能为同一人</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>86222</code>
|
||||
<text>不允许消息服务访问的API</text>
|
||||
</error>
|
||||
<!-- 语义理解API错误 -->
|
||||
<error>
|
||||
|
||||
@ -4,6 +4,7 @@ import java.io.Serializable;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -33,7 +34,7 @@ public class Article implements Serializable {
|
||||
/**
|
||||
* 图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200
|
||||
*/
|
||||
@JSONField(name = "picurl")
|
||||
@JSONField(name = "pic_url")
|
||||
@XmlElement(name = "PicUrl")
|
||||
private String picUrl;
|
||||
/**
|
||||
@ -42,7 +43,11 @@ public class Article implements Serializable {
|
||||
@XmlElement(name = "Url")
|
||||
private String url;
|
||||
|
||||
public Article(String title, String desc, String picUrl, String url) {
|
||||
@JSONCreator
|
||||
public Article(@JSONField(name = "title") String title,
|
||||
@JSONField(name = "description") String desc,
|
||||
@JSONField(name = "pic_url") String picUrl,
|
||||
@JSONField(name = "url") String url) {
|
||||
this.title = title;
|
||||
this.desc = desc;
|
||||
this.picUrl = picUrl;
|
||||
|
||||
@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -32,7 +33,8 @@ public class Card implements MassTuple {
|
||||
@XmlElement(name = "CardId")
|
||||
private String cardId;
|
||||
|
||||
public Card(String cardId) {
|
||||
@JSONCreator
|
||||
public Card(@JSONField(name = "card_id") String cardId) {
|
||||
this.cardId = cardId;
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -32,7 +33,8 @@ public class File implements NotifyTuple {
|
||||
@XmlElement(name = "MediaId")
|
||||
private String mediaId;
|
||||
|
||||
public File(String mediaId) {
|
||||
@JSONCreator
|
||||
public File(@JSONField(name = "media_id") String mediaId) {
|
||||
this.mediaId = mediaId;
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -32,7 +33,8 @@ public class Image implements MassTuple, NotifyTuple {
|
||||
@XmlElement(name = "MediaId")
|
||||
private String mediaId;
|
||||
|
||||
public Image(String mediaId) {
|
||||
@JSONCreator
|
||||
public Image(@JSONField(name = "media_id")String mediaId) {
|
||||
this.mediaId = mediaId;
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -57,7 +58,10 @@ public class MpArticle implements Serializable {
|
||||
@JSONField(name = "cover_url")
|
||||
private String coverUrl;
|
||||
|
||||
public MpArticle(String thumbMediaId, String title, String content) {
|
||||
@JSONCreator
|
||||
public MpArticle(@JSONField(name = "thumb_media_id") String thumbMediaId,
|
||||
@JSONField(name = "title") String title,
|
||||
@JSONField(name = "content") String content) {
|
||||
this.thumbMediaId = thumbMediaId;
|
||||
this.title = title;
|
||||
this.content = content;
|
||||
|
||||
@ -43,7 +43,6 @@ public class MpNews implements MassTuple, NotifyTuple {
|
||||
/**
|
||||
* 图文列表
|
||||
*/
|
||||
@JSONField(serialize = false)
|
||||
@XmlTransient
|
||||
private LinkedList<MpArticle> articles;
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -32,7 +33,8 @@ public class MpVideo implements MassTuple {
|
||||
@XmlElement(name = "MediaId")
|
||||
private String mediaId;
|
||||
|
||||
public MpVideo(String mediaId) {
|
||||
@JSONCreator
|
||||
public MpVideo(@JSONField(name = "media_id") String mediaId) {
|
||||
this.mediaId = mediaId;
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -39,13 +40,13 @@ public class Music implements NotifyTuple {
|
||||
/**
|
||||
* 音乐链接
|
||||
*/
|
||||
@JSONField(name = "musicurl")
|
||||
@JSONField(name = "music_url")
|
||||
@XmlElement(name = "MusicUrl")
|
||||
private String musicUrl;
|
||||
/**
|
||||
* 高质量音乐链接,WIFI环境优先使用该链接播放音乐
|
||||
*/
|
||||
@JSONField(name = "hqmusicurl")
|
||||
@JSONField(name = "hq_music_url")
|
||||
@XmlElement(name = "HQMusicUrl")
|
||||
private String hqMusicUrl;
|
||||
/**
|
||||
@ -55,12 +56,16 @@ public class Music implements NotifyTuple {
|
||||
@XmlElement(name = "ThumbMediaId")
|
||||
private String thumbMediaId;
|
||||
|
||||
public Music(String thumbMediaId) {
|
||||
@JSONCreator
|
||||
public Music(@JSONField(name = "thumb_media_id") String thumbMediaId) {
|
||||
this.thumbMediaId = thumbMediaId;
|
||||
}
|
||||
|
||||
public Music(String title, String desc, String musicUrl, String hqMusicUrl,
|
||||
String thumbMediaId) {
|
||||
public Music(@JSONField(name = "title") String title,
|
||||
@JSONField(name = "description") String desc,
|
||||
@JSONField(name = "music_url") String musicUrl,
|
||||
@JSONField(name = "hq_music_url") String hqMusicUrl,
|
||||
@JSONField(name = "thumb_media_id") String thumbMediaId) {
|
||||
this.title = title;
|
||||
this.desc = desc;
|
||||
this.musicUrl = musicUrl;
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
* 文本对象
|
||||
@ -27,7 +29,8 @@ public class Text implements MassTuple, NotifyTuple {
|
||||
*/
|
||||
private String content;
|
||||
|
||||
public Text(String content) {
|
||||
@JSONCreator
|
||||
public Text(@JSONField(name = "content") String content) {
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package com.foxinmy.weixin4j.tuple;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlTransient;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
@ -50,19 +51,37 @@ public class Video implements NotifyTuple {
|
||||
@XmlElement(name = "Description")
|
||||
private String desc;
|
||||
|
||||
public Video(String mediaId) {
|
||||
@JSONCreator
|
||||
public Video(@JSONField(name = "media_id") String mediaId) {
|
||||
this.mediaId = mediaId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 公众平台
|
||||
*
|
||||
* @param mediaId
|
||||
* @param thumbMediaId
|
||||
*/
|
||||
public Video(String mediaId, String thumbMediaId) {
|
||||
this(mediaId, thumbMediaId, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 企业号
|
||||
*
|
||||
* @param mediaId
|
||||
* @param title
|
||||
* @param desc
|
||||
*/
|
||||
public Video(String mediaId, String title, String desc) {
|
||||
this(mediaId, null, title, desc);
|
||||
}
|
||||
|
||||
public Video(String mediaId, String thumbMediaId, String title, String desc) {
|
||||
@JSONCreator
|
||||
public Video(@JSONField(name = "media_id") String mediaId,
|
||||
@JSONField(name = "thumb_media_id") String thumbMediaId,
|
||||
@JSONField(name = "title") String title,
|
||||
@JSONField(name = "description") String desc) {
|
||||
this.mediaId = mediaId;
|
||||
this.thumbMediaId = thumbMediaId;
|
||||
this.title = title;
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.foxinmy.weixin4j.tuple;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONCreator;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
* 语音对象
|
||||
* <p>
|
||||
@ -21,7 +24,8 @@ public class Voice extends Image implements NotifyTuple {
|
||||
return "voice";
|
||||
}
|
||||
|
||||
public Voice(String mediaId) {
|
||||
@JSONCreator
|
||||
public Voice(@JSONField(name = "media_id") String mediaId) {
|
||||
super(mediaId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,6 +65,9 @@ public class NotifyApi extends MpApi {
|
||||
throws WeixinException {
|
||||
NotifyTuple tuple = notify.getTuple();
|
||||
String msgtype = tuple.getMessageType();
|
||||
if ("mpnews".equals(msgtype)) {
|
||||
throw new WeixinException("only support news message");
|
||||
}
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("touser", notify.getTouser());
|
||||
obj.put("msgtype", msgtype);
|
||||
|
||||
@ -38,10 +38,9 @@ public class NotifyMessage implements Serializable {
|
||||
/**
|
||||
* 消息对象
|
||||
*/
|
||||
@JSONField(serialize = false)
|
||||
private NotifyTuple tuple;
|
||||
/**
|
||||
* id参数
|
||||
* 发送对象
|
||||
*/
|
||||
@JSONField(serialize = false)
|
||||
private IdParameter target;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user