WxConsts.java 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. package me.chanjar.weixin.common.api;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. /**
  5. * 微信开发所使用到的常量类.
  6. *
  7. * @author chanjarster & binarywang
  8. */
  9. public class WxConsts {
  10. /**
  11. * 微信推送过来的消息的类型,和发送给微信xml格式消息的消息类型.
  12. */
  13. public static class XmlMsgType {
  14. public static final String TEXT = "text";
  15. public static final String IMAGE = "image";
  16. public static final String VOICE = "voice";
  17. public static final String SHORTVIDEO = "shortvideo";
  18. public static final String VIDEO = "video";
  19. public static final String NEWS = "news";
  20. public static final String MUSIC = "music";
  21. public static final String LOCATION = "location";
  22. public static final String LINK = "link";
  23. public static final String EVENT = "event";
  24. public static final String DEVICE_TEXT = "device_text";
  25. public static final String DEVICE_EVENT = "device_event";
  26. public static final String DEVICE_STATUS = "device_status";
  27. public static final String HARDWARE = "hardware";
  28. public static final String TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service";
  29. }
  30. /**
  31. * 主动发送消息(即客服消息)的消息类型.
  32. */
  33. public static class KefuMsgType {
  34. /**
  35. * 文本消息.
  36. */
  37. public static final String TEXT = "text";
  38. /**
  39. * 图片消息.
  40. */
  41. public static final String IMAGE = "image";
  42. /**
  43. * 语音消息.
  44. */
  45. public static final String VOICE = "voice";
  46. /**
  47. * 视频消息.
  48. */
  49. public static final String VIDEO = "video";
  50. /**
  51. * 音乐消息.
  52. */
  53. public static final String MUSIC = "music";
  54. /**
  55. * 图文消息(点击跳转到外链).
  56. */
  57. public static final String NEWS = "news";
  58. /**
  59. * 图文消息(点击跳转到图文消息页面).
  60. */
  61. public static final String MPNEWS = "mpnews";
  62. /**
  63. * 发送文件(CP专用).
  64. */
  65. public static final String FILE = "file";
  66. /**
  67. * 文本卡片消息(CP专用).
  68. */
  69. public static final String TEXTCARD = "textcard";
  70. /**
  71. * 卡券消息.
  72. */
  73. public static final String WXCARD = "wxcard";
  74. /**
  75. * 转发到客服的消息.
  76. */
  77. public static final String TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service";
  78. /**
  79. * 小程序卡片(要求小程序与公众号已关联)
  80. */
  81. public static final String MINIPROGRAMPAGE="miniprogrampage";
  82. }
  83. /**
  84. * 表示是否是保密消息,0表示否,1表示是,默认0.
  85. */
  86. public static class KefuMsgSafe {
  87. public static final String NO = "0";
  88. public static final String YES = "1";
  89. }
  90. /**
  91. * 群发消息的消息类型.
  92. */
  93. public static class MassMsgType {
  94. public static final String MPNEWS = "mpnews";
  95. public static final String TEXT = "text";
  96. public static final String VOICE = "voice";
  97. public static final String IMAGE = "image";
  98. public static final String MPVIDEO = "mpvideo";
  99. }
  100. /**
  101. * 群发消息后微信端推送给服务器的反馈消息.
  102. */
  103. public static class MassMsgStatus {
  104. public static final String SEND_SUCCESS = "send success";
  105. public static final String SEND_FAIL = "send fail";
  106. public static final String ERR_10001 = "err(10001)";
  107. public static final String ERR_20001 = "err(20001)";
  108. public static final String ERR_20004 = "err(20004)";
  109. public static final String ERR_20002 = "err(20002)";
  110. public static final String ERR_20006 = "err(20006)";
  111. public static final String ERR_20008 = "err(20008)";
  112. public static final String ERR_20013 = "err(20013)";
  113. public static final String ERR_22000 = "err(22000)";
  114. public static final String ERR_21000 = "err(21000)";
  115. /**
  116. * 群发反馈消息代码所对应的文字描述.
  117. */
  118. public static final Map<String, String> STATUS_DESC = new HashMap<>();
  119. static {
  120. STATUS_DESC.put(SEND_SUCCESS, "发送成功");
  121. STATUS_DESC.put(SEND_FAIL, "发送失败");
  122. STATUS_DESC.put(ERR_10001, "涉嫌广告");
  123. STATUS_DESC.put(ERR_20001, "涉嫌政治");
  124. STATUS_DESC.put(ERR_20004, "涉嫌社会");
  125. STATUS_DESC.put(ERR_20002, "涉嫌色情");
  126. STATUS_DESC.put(ERR_20006, "涉嫌违法犯罪");
  127. STATUS_DESC.put(ERR_20008, "涉嫌欺诈");
  128. STATUS_DESC.put(ERR_20013, "涉嫌版权");
  129. STATUS_DESC.put(ERR_22000, "涉嫌互推_互相宣传");
  130. STATUS_DESC.put(ERR_21000, "涉嫌其他");
  131. }
  132. }
  133. /**
  134. * 微信端推送过来的事件类型.
  135. */
  136. public static class EventType {
  137. public static final String SUBSCRIBE = "subscribe";
  138. public static final String UNSUBSCRIBE = "unsubscribe";
  139. public static final String SCAN = "SCAN";
  140. public static final String LOCATION = "LOCATION";
  141. public static final String CLICK = "CLICK";
  142. public static final String VIEW = "VIEW";
  143. public static final String MASS_SEND_JOB_FINISH = "MASSSENDJOBFINISH";
  144. public static final String SCANCODE_PUSH = "scancode_push";
  145. public static final String SCANCODE_WAITMSG = "scancode_waitmsg";
  146. public static final String PIC_SYSPHOTO = "pic_sysphoto";
  147. public static final String PIC_PHOTO_OR_ALBUM = "pic_photo_or_album";
  148. public static final String PIC_WEIXIN = "pic_weixin";
  149. public static final String LOCATION_SELECT = "location_select";
  150. public static final String TEMPLATE_SEND_JOB_FINISH = "TEMPLATESENDJOBFINISH";
  151. public static final String ENTER_AGENT = "enter_agent";
  152. /**
  153. * 微信小店 订单付款通知.
  154. */
  155. public static final String MERCHANT_ORDER = "merchant_order";
  156. }
  157. /**
  158. * 上传多媒体(临时素材)文件的类型.
  159. */
  160. public static class MediaFileType {
  161. public static final String IMAGE = "image";
  162. public static final String VOICE = "voice";
  163. public static final String VIDEO = "video";
  164. public static final String THUMB = "thumb";
  165. public static final String FILE = "file";
  166. }
  167. /**
  168. * 自定义菜单的按钮类型.
  169. */
  170. public static class MenuButtonType {
  171. /**
  172. * 点击推事件.
  173. */
  174. public static final String CLICK = "click";
  175. /**
  176. * 跳转URL.
  177. */
  178. public static final String VIEW = "view";
  179. /**
  180. * 跳转到小程序.
  181. */
  182. public static final String MINIPROGRAM = "miniprogram";
  183. /**
  184. * 扫码推事件.
  185. */
  186. public static final String SCANCODE_PUSH = "scancode_push";
  187. /**
  188. * 扫码推事件且弹出“消息接收中”提示框.
  189. */
  190. public static final String SCANCODE_WAITMSG = "scancode_waitmsg";
  191. /**
  192. * 弹出系统拍照发图.
  193. */
  194. public static final String PIC_SYSPHOTO = "pic_sysphoto";
  195. /**
  196. * 弹出拍照或者相册发图.
  197. */
  198. public static final String PIC_PHOTO_OR_ALBUM = "pic_photo_or_album";
  199. /**
  200. * 弹出微信相册发图器.
  201. */
  202. public static final String PIC_WEIXIN = "pic_weixin";
  203. /**
  204. * 弹出地理位置选择器.
  205. */
  206. public static final String LOCATION_SELECT = "location_select";
  207. /**
  208. * 下发消息(除文本消息).
  209. */
  210. public static final String MEDIA_ID = "media_id";
  211. /**
  212. * 跳转图文消息URL.
  213. */
  214. public static final String VIEW_LIMITED = "view_limited";
  215. }
  216. /**
  217. * oauth2网页授权的scope.
  218. */
  219. public static class OAuth2Scope {
  220. /**
  221. * 不弹出授权页面,直接跳转,只能获取用户openid.
  222. */
  223. public static final String SNSAPI_BASE = "snsapi_base";
  224. /**
  225. * 弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息.
  226. */
  227. public static final String SNSAPI_USERINFO = "snsapi_userinfo";
  228. /**
  229. * 手动授权,可获取成员的详细信息,包含手机、邮箱。只适用于企业微信或企业号.
  230. */
  231. public static final String SNSAPI_PRIVATEINFO = "snsapi_privateinfo";
  232. }
  233. /**
  234. * 网页应用登录授权作用域.
  235. */
  236. public static class QrConnectScope {
  237. public static final String SNSAPI_LOGIN = "snsapi_login";
  238. }
  239. /**
  240. * 永久素材类型.
  241. */
  242. public static class MaterialType {
  243. public static final String NEWS = "news";
  244. public static final String VOICE = "voice";
  245. public static final String IMAGE = "image";
  246. public static final String VIDEO = "video";
  247. }
  248. }