Module: Wechat::Core::Common

Included in:
AccessToken, Follower, FollowerProfile, ServerAddress, TinyLink
Defined in:
lib/wechat/core/common.rb

Constant Summary collapse

LANGUAGE_SIMPLIFIED_CHINESE =
'zh_CN'.freeze
LANGUAGE_TRANDITIONAL_CHINESE =
'zh_TW'.freeze
LANGUAGE_ENGLISH =
'en'.freeze
ERROR_CODES =

mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html $(‘table#ec-t’).find(‘tr’).each(function(index, line)

console.log($(line).find('td:first').text().trim()+" => '"+$(line).find('td:last').text().trim()+"',");

);

{
  -1    => '系统繁忙,此时请开发者稍候再试',
  0     => '请求成功',
  40001 => '获取access_token时AppSecret错误,或者access_token无效。请开发者认真比对AppSecret的正确性,或查看是否正在为恰当的公众号调用接口',
  40002 => '不合法的凭证类型',
  40003 => '不合法的OpenID,请开发者确认OpenID(该用户)是否已关注公众号,或是否是其他公众号的OpenID',
  40004 => '不合法的媒体文件类型',
  40005 => '不合法的文件类型',
  40006 => '不合法的文件大小',
  40007 => '不合法的媒体文件id',
  40008 => '不合法的消息类型',
  40009 => '不合法的图片文件大小',
  40010 => '不合法的语音文件大小',
  40011 => '不合法的视频文件大小',
  40012 => '不合法的缩略图文件大小',
  40013 => '不合法的AppID,请开发者检查AppID的正确性,避免异常字符,注意大小写',
  40014 => '不合法的access_token,请开发者认真比对access_token的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口',
  40015 => '不合法的菜单类型',
  40016 => '不合法的按钮个数',
  40017 => '不合法的按钮个数',
  40018 => '不合法的按钮名字长度',
  40019 => '不合法的按钮KEY长度',
  40020 => '不合法的按钮URL长度',
  40021 => '不合法的菜单版本号',
  40022 => '不合法的子菜单级数',
  40023 => '不合法的子菜单按钮个数',
  40024 => '不合法的子菜单按钮类型',
  40025 => '不合法的子菜单按钮名字长度',
  40026 => '不合法的子菜单按钮KEY长度',
  40027 => '不合法的子菜单按钮URL长度',
  40028 => '不合法的自定义菜单使用用户',
  40029 => '不合法的oauth_code',
  40030 => '不合法的refresh_token',
  40031 => '不合法的openid列表',
  40032 => '不合法的openid列表长度',
  40033 => '不合法的请求字符,不能包含\uxxxx格式的字符',
  40035 => '不合法的参数',
  40038 => '不合法的请求格式',
  40039 => '不合法的URL长度',
  40050 => '不合法的分组id',
  40051 => '分组名字不合法',
  40117 => '分组名字不合法',
  40118 => 'media_id大小不合法',
  40119 => 'button类型错误',
  40120 => 'button类型错误',
  40121 => '不合法的media_id类型',
  40132 => '微信号不合法',
  40137 => '不支持的图片格式',
  41001 => '缺少access_token参数',
  41002 => '缺少appid参数',
  41003 => '缺少refresh_token参数',
  41004 => '缺少secret参数',
  41005 => '缺少多媒体文件数据',
  41006 => '缺少media_id参数',
  41007 => '缺少子菜单数据',
  41008 => '缺少oauth code',
  41009 => '缺少openid',
  42001 => 'access_token超时,请检查access_token的有效期,请参考基础支持-获取access_token中,对access_token的详细机制说明',
  42002 => 'refresh_token超时',
  42003 => 'oauth_code超时',
  43001 => '需要GET请求',
  43002 => '需要POST请求',
  43003 => '需要HTTPS请求',
  43004 => '需要接收者关注',
  43005 => '需要好友关系',
  44001 => '多媒体文件为空',
  44002 => 'POST的数据包为空',
  44003 => '图文消息内容为空',
  44004 => '文本消息内容为空',
  45001 => '多媒体文件大小超过限制',
  45002 => '消息内容超过限制',
  45003 => '标题字段超过限制',
  45004 => '描述字段超过限制',
  45005 => '链接字段超过限制',
  45006 => '图片链接字段超过限制',
  45007 => '语音播放时间超过限制',
  45008 => '图文消息超过限制',
  45009 => '接口调用超过限制',
  45010 => '创建菜单个数超过限制',
  45015 => '回复时间超过限制',
  45016 => '系统分组,不允许修改',
  45017 => '分组名字过长',
  45018 => '分组数量超过上限',
  46001 => '不存在媒体数据',
  46002 => '不存在的菜单版本',
  46003 => '不存在的菜单数据',
  46004 => '不存在的用户',
  47001 => '解析JSON/XML内容错误',
  48001 => 'api功能未授权,请确认公众号已获得该接口,可以在公众平台官网-开发者中心页中查看接口权限',
  50001 => '用户未授权该api',
  50002 => '用户受限,可能是违规后接口被封禁',
  61451 => '参数错误(invalid parameter)',
  61452 => '无效客服账号(invalid kf_account)',
  61453 => '客服帐号已存在(kf_account exsited)',
  61454 => '客服帐号名长度超过限制(仅允许10个英文字符,不包括@及@后的公众号的微信号)(invalid kf_acount length)',
  61455 => '客服帐号名包含非法字符(仅允许英文+数字)(illegal character in kf_account)',
  61456 => '客服帐号个数超过限制(10个客服账号)(kf_account count exceeded)',
  61457 => '无效头像文件类型(invalid file type)',
  61450 => '系统错误(system error)',
  61500 => '日期格式错误',
  61501 => '日期范围错误',
  9001001 => 'POST数据参数不合法',
  9001002 => '远端服务不可用',
  9001003 => 'Ticket不合法',
  9001004 => '获取摇周边用户信息失败',
  9001005 => '获取商户信息失败',
  9001006 => '获取OpenID失败',
  9001007 => '上传文件缺失',
  9001008 => '上传素材的文件类型不合法',
  9001009 => '上传素材的文件尺寸不合法',
  9001010 => '上传失败',
  9001020 => '帐号不合法',
  9001021 => '已有设备激活率低于50%,不能新增设备',
  9001022 => '设备申请数不合法,必须为大于0的数字',
  9001023 => '已存在审核中的设备ID申请',
  9001024 => '一次查询设备ID数量不能超过50',
  9001025 => '设备ID不合法',
  9001026 => '页面ID不合法',
  9001027 => '页面参数不合法',
  9001028 => '一次删除页面ID数量不能超过10',
  9001029 => '页面已应用在设备中,请先解除应用关系再删除',
  9001030 => '一次查询页面ID数量不能超过50',
  9001031 => '时间区间不合法',
  9001032 => '保存设备与页面的绑定关系参数错误',
  9001033 => '门店ID不合法',
  9001034 => '设备备注信息过长',
  9001035 => '设备申请参数不合法',
  9001036 => '查询起始值begin不合法'
}

Instance Method Summary collapse

Instance Method Details

#assert_present!(name, value) ⇒ Object

判断给定的参数 value 是否为空,如果为空,则抛出 ArgumentError 异常。参数名为 name 。例如:assert_present! :access_token, access_token

Raises:

  • (ArgumentError)


148
149
150
# File 'lib/wechat/core/common.rb', line 148

def assert_present!(name, value)
  raise ArgumentError.new("The #{name} argument is required.") if value.blank?
end

#get_json(link, body: {}) ⇒ Object

向链接 link 发出 GET 请求,参数为 body 指定的 Hash。返回的数据结构必须为 JSON 格式。如:get_json ‘api.product.com/path/resources.json’, body: { page: 2, per_page: 5 }



155
156
157
158
159
# File 'lib/wechat/core/common.rb', line 155

def get_json(link, body: {})
  assert_present! :link, link
  message = JSONClient.new.get link, body
  message.body
end

#post_json(link, body: {}) ⇒ Object

向链接 link 发出 GET 请求,参数为 body 指定的 Hash。返回的数据结构必须为 JSON 格式。如:post_json ‘api.product.com/path/resources.json’, body: { name: ‘Some Name’ }



164
165
166
167
168
# File 'lib/wechat/core/common.rb', line 164

def post_json(link, body: {})
  assert_present! :link, link
  message = JSONClient.new.post link, body
  message.body
end