448 lines
15 KiB
PHP
448 lines
15 KiB
PHP
|
|
<?php
|
|||
|
|
namespace app\api\wxapi;
|
|||
|
|
|
|||
|
|
/* 发送curl请求
|
|||
|
|
* $WxClient =new WxClient();
|
|||
|
|
* $WxClient->appID='wx8efa24d0434873ae';
|
|||
|
|
* $WxClient->appsecret='123ce1bd44bbdd6ce3339a69f24820e9';
|
|||
|
|
* $WxClient->setTypeCurl(WxClient::TYPE_CURL_POST); //发送post请求时需要设置
|
|||
|
|
* $QrcodeInfo=$WxClient->execute($QrcodeCreatePost);
|
|||
|
|
* */
|
|||
|
|
class WxClient
|
|||
|
|
{
|
|||
|
|
const TYPE_CURL_GET='GET';
|
|||
|
|
|
|||
|
|
const TYPE_CURL_POST='POST';
|
|||
|
|
|
|||
|
|
const TYPE_CURL_JSON='JSON';
|
|||
|
|
|
|||
|
|
public $serverUrl = "https://api.weixin.qq.com/";
|
|||
|
|
|
|||
|
|
public $accessToken;
|
|||
|
|
|
|||
|
|
public $connectTimeout = 0;
|
|||
|
|
|
|||
|
|
public $readTimeout = 0;
|
|||
|
|
|
|||
|
|
public $appID='';
|
|||
|
|
|
|||
|
|
public $appsecret='';
|
|||
|
|
|
|||
|
|
public $typeCurl; //get or post
|
|||
|
|
|
|||
|
|
public $IsReturn=false;
|
|||
|
|
|
|||
|
|
public function execute($request){
|
|||
|
|
switch ($this->typeCurl){
|
|||
|
|
case self::TYPE_CURL_POST;
|
|||
|
|
$resq=$this->post_execute($request);
|
|||
|
|
break;
|
|||
|
|
case self::TYPE_CURL_JSON;
|
|||
|
|
$resq=$this->json_execute($request);
|
|||
|
|
break;
|
|||
|
|
default :
|
|||
|
|
$resq=$this->get_execute($request);
|
|||
|
|
}
|
|||
|
|
return $resq;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function get_curl($url)
|
|||
|
|
{
|
|||
|
|
$ch = curl_init();
|
|||
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|||
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //以文件流的形式返回,不要直接输出
|
|||
|
|
//curl_setopt($ch, CURLOPT_FAILONERROR, false);
|
|||
|
|
|
|||
|
|
if ($this->readTimeout) {
|
|||
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, $this->readTimeout);
|
|||
|
|
}
|
|||
|
|
if ($this->connectTimeout) {
|
|||
|
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->connectTimeout);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//https 请求
|
|||
|
|
if(strlen($url) > 5 && strtolower(substr($url,0,5)) == "https" ) {
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$reponse = curl_exec($ch);
|
|||
|
|
|
|||
|
|
if (curl_errno($ch))
|
|||
|
|
{
|
|||
|
|
throw new \Exception(curl_error($ch),0);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|||
|
|
if (200 !== $httpStatusCode)
|
|||
|
|
{
|
|||
|
|
throw new \Exception($reponse,$httpStatusCode);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
curl_close($ch);
|
|||
|
|
return $reponse;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function get_execute($request)
|
|||
|
|
{
|
|||
|
|
//获取业务参数
|
|||
|
|
$apiParams = $request->getApiParas();
|
|||
|
|
|
|||
|
|
//系统参数放入GET请求串
|
|||
|
|
$requestUrl = ((property_exists($request,'serverUrl'))?$request->serverUrl:$this->serverUrl) . $request->getApiMethodName() . "?";
|
|||
|
|
foreach ($apiParams as $key => $value)
|
|||
|
|
{
|
|||
|
|
$requestUrl .= "$key=" . $value . "&";
|
|||
|
|
}
|
|||
|
|
$requestUrl=trim($requestUrl,"&");
|
|||
|
|
//发起HTTP请求
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
$resp = $this->get_curl($requestUrl);
|
|||
|
|
}
|
|||
|
|
catch (\Exception $e)
|
|||
|
|
{
|
|||
|
|
$result->code = $e->getCode();
|
|||
|
|
$result->msg = $e->getMessage();
|
|||
|
|
return $result;
|
|||
|
|
}
|
|||
|
|
if($this->IsReturn){
|
|||
|
|
return $resp;
|
|||
|
|
}
|
|||
|
|
$respObject = json_decode($resp);
|
|||
|
|
if(isset($respObject->errcode)){
|
|||
|
|
$respObject->errmsg=isset($this->errmsg[$respObject->errcode])?$this->errmsg[$respObject->errcode]:$respObject->errmsg;
|
|||
|
|
}
|
|||
|
|
return $respObject;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function post_curl($url, $postFields = null)
|
|||
|
|
{
|
|||
|
|
$ch = curl_init();
|
|||
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|||
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|||
|
|
if ($this->readTimeout) {
|
|||
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, $this->readTimeout);
|
|||
|
|
}
|
|||
|
|
if ($this->connectTimeout) {
|
|||
|
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->connectTimeout);
|
|||
|
|
}
|
|||
|
|
//https 请求
|
|||
|
|
if(strlen($url) > 5 && strtolower(substr($url,0,5)) == "https" ) {
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (is_array($postFields) && 0 < count($postFields))
|
|||
|
|
{
|
|||
|
|
$postBodyString = "";
|
|||
|
|
$postMultipart = false;
|
|||
|
|
foreach ($postFields as $k => $v)
|
|||
|
|
{
|
|||
|
|
if("@" != substr($v, 0, 1))//判断是不是文件上传
|
|||
|
|
{
|
|||
|
|
$postBodyString .= "$k=" . urlencode($v) . "&";
|
|||
|
|
}
|
|||
|
|
else//文件上传用multipart/form-data,否则用www-form-urlencoded
|
|||
|
|
{
|
|||
|
|
$postMultipart = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
unset($k, $v);
|
|||
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|||
|
|
if ($postMultipart)
|
|||
|
|
{
|
|||
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, substr($postBodyString,0,-1));
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
|
|||
|
|
}
|
|||
|
|
$reponse = curl_exec($ch);
|
|||
|
|
|
|||
|
|
if (curl_errno($ch))
|
|||
|
|
{
|
|||
|
|
throw new \Exception(curl_error($ch),0);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|||
|
|
if (200 !== $httpStatusCode)
|
|||
|
|
{
|
|||
|
|
throw new \Exception($reponse,$httpStatusCode);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
curl_close($ch);
|
|||
|
|
return $reponse;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function post_execute($request)
|
|||
|
|
{
|
|||
|
|
//获取业务参数
|
|||
|
|
$apiParams = $request->getApiParas();
|
|||
|
|
|
|||
|
|
//系统参数放入post请求串
|
|||
|
|
$requestUrl = ((property_exists($request,'serverUrl'))?$request->serverUrl:$this->serverUrl) . $request->getApiMethodName() . "?";
|
|||
|
|
$getParams = $request->getGetParas();
|
|||
|
|
foreach ($getParams as $key => $value)
|
|||
|
|
{
|
|||
|
|
$requestUrl .= "$key=" . $value . "&";
|
|||
|
|
}
|
|||
|
|
$requestUrl=trim($requestUrl,"&");
|
|||
|
|
//发起HTTP请求
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
$resp = $this->post_curl($requestUrl,$apiParams);
|
|||
|
|
}
|
|||
|
|
catch (\Exception $e)
|
|||
|
|
{
|
|||
|
|
$result->code = $e->getCode();
|
|||
|
|
$result->msg = $e->getMessage();
|
|||
|
|
return $result;
|
|||
|
|
}
|
|||
|
|
if($this->IsReturn){
|
|||
|
|
return $resp;
|
|||
|
|
}
|
|||
|
|
$respObject = json_decode($resp);
|
|||
|
|
if(isset($respObject->errcode)){
|
|||
|
|
$respObject->errmsg=isset($this->errmsg[$respObject->errcode])?$this->errmsg[$respObject->errcode]:$respObject->errmsg;
|
|||
|
|
}
|
|||
|
|
return $respObject;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function post_curl_json($url, $postFields) {
|
|||
|
|
$data_string=json_encode($postFields);
|
|||
|
|
$ch = curl_init();
|
|||
|
|
curl_setopt($ch, CURLOPT_POST, 1);
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|||
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|||
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
|
|||
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8','Content-Length: ' . strlen($data_string)));
|
|||
|
|
|
|||
|
|
if(strlen($url) > 5 && strtolower(substr($url,0,5)) == "https" ) {
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
ob_start();
|
|||
|
|
curl_exec($ch);
|
|||
|
|
$return_content = ob_get_contents();
|
|||
|
|
ob_end_clean();
|
|||
|
|
$return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|||
|
|
return $return_content;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public function json_execute($request)
|
|||
|
|
{
|
|||
|
|
//获取业务参数
|
|||
|
|
$apiParams = $request->getApiParas();
|
|||
|
|
|
|||
|
|
//系统参数放入post请求串
|
|||
|
|
$requestUrl = ((property_exists($request,'serverUrl'))?$request->serverUrl:$this->serverUrl) . $request->getApiMethodName() . "?";
|
|||
|
|
$getParams = $request->getGetParas();
|
|||
|
|
foreach ($getParams as $key => $value)
|
|||
|
|
{
|
|||
|
|
$requestUrl .= "$key=" . $value . "&";
|
|||
|
|
}
|
|||
|
|
$requestUrl=trim($requestUrl,"&");
|
|||
|
|
//发起HTTP请求
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
$resp = $this->post_curl_json($requestUrl,$apiParams);
|
|||
|
|
}
|
|||
|
|
catch (\Exception $e)
|
|||
|
|
{
|
|||
|
|
$result->code = $e->getCode();
|
|||
|
|
$result->msg = $e->getMessage();
|
|||
|
|
return $result;
|
|||
|
|
}
|
|||
|
|
if($this->IsReturn){
|
|||
|
|
return $resp;
|
|||
|
|
}
|
|||
|
|
$respObject = json_decode($resp);
|
|||
|
|
if(isset($respObject->errcode)){
|
|||
|
|
$respObject->errmsg=isset($this->errmsg[$respObject->errcode])?$this->errmsg[$respObject->errcode]:$respObject->errmsg;
|
|||
|
|
}
|
|||
|
|
return $respObject;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function setTypeCurl($typeCurl){
|
|||
|
|
$this->typeCurl=$typeCurl;
|
|||
|
|
return $this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function setIsReturn($IsReturn=false){
|
|||
|
|
$this->IsReturn=$IsReturn;
|
|||
|
|
return $this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function getTypeCurl(){
|
|||
|
|
return $this->typeCurl;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function xmlToArray($xml)
|
|||
|
|
{
|
|||
|
|
//将XML转为array
|
|||
|
|
$array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
|
|||
|
|
return $array_data;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public $errmsg=[
|
|||
|
|
'-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'=>'不支持的图片格式',
|
|||
|
|
'40155'=>'请勿添加其他公众号的主页链接',
|
|||
|
|
'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超时',
|
|||
|
|
'42007'=>'用户修改微信密码,accesstoken和refreshtoken失效,需要重新授权',
|
|||
|
|
'43001'=>'需要GET请求',
|
|||
|
|
'43002'=>'需要POST请求',
|
|||
|
|
'43003'=>'需要HTTPS请求',
|
|||
|
|
'43004'=>'需要接收者关注',
|
|||
|
|
'43005'=>'需要好友关系',
|
|||
|
|
'43019'=>'需要将接收者从黑名单中移除',
|
|||
|
|
'44001'=>'多媒体文件为空',
|
|||
|
|
'44002'=>'POST的数据包为空',
|
|||
|
|
'44003'=>'图文消息内容为空',
|
|||
|
|
'44004'=>'文本消息内容为空',
|
|||
|
|
'45001'=>'多媒体文件大小超过限制',
|
|||
|
|
'45002'=>'消息内容超过限制',
|
|||
|
|
'45003'=>'标题字段超过限制',
|
|||
|
|
'45004'=>'描述字段超过限制',
|
|||
|
|
'45005'=>'链接字段超过限制',
|
|||
|
|
'45006'=>'图片链接字段超过限制',
|
|||
|
|
'45007'=>'语音播放时间超过限制',
|
|||
|
|
'45008'=>'图文消息超过限制',
|
|||
|
|
'45009'=>'接口调用超过限制',
|
|||
|
|
'45010'=>'创建菜单个数超过限制',
|
|||
|
|
'45011'=>'API调用太频繁,请稍候再试',
|
|||
|
|
'45015'=>'回复时间超过限制',
|
|||
|
|
'45016'=>'系统分组,不允许修改',
|
|||
|
|
'45017'=>'分组名字过长',
|
|||
|
|
'45018'=>'分组数量超过上限',
|
|||
|
|
'45047'=>'客服接口下行条数超过上限',
|
|||
|
|
'46001'=>'不存在媒体数据',
|
|||
|
|
'46002'=>'不存在的菜单版本',
|
|||
|
|
'46003'=>'不存在的菜单数据',
|
|||
|
|
'46004'=>'不存在的用户',
|
|||
|
|
'47001'=>'解析JSON/XML内容错误',
|
|||
|
|
'48001'=>'api功能未授权,请确认公众号已获得该接口,可以在公众平台官网-开发者中心页中查看接口权限',
|
|||
|
|
'48002'=>'粉丝拒收消息(粉丝在公众号选项中,关闭了“接收消息”)',
|
|||
|
|
'48004'=>'api接口被封禁,请登录mp.weixin.qq.com查看详情',
|
|||
|
|
'48005'=>'api禁止删除被自动回复和自定义菜单引用的素材',
|
|||
|
|
'48006'=>'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'=>'日期格式错误',
|
|||
|
|
'65301'=>'不存在此menuid对应的个性化菜单',
|
|||
|
|
'65302'=>'没有相应的用户',
|
|||
|
|
'65303'=>'没有默认菜单,不能创建个性化菜单',
|
|||
|
|
'65304'=>'MatchRule信息为空',
|
|||
|
|
'65305'=>'个性化菜单数量受限',
|
|||
|
|
'65306'=>'不支持个性化菜单的帐号',
|
|||
|
|
'65307'=>'个性化菜单信息为空',
|
|||
|
|
'65308'=>'包含没有响应类型的button',
|
|||
|
|
'65309'=>'个性化菜单开关处于关闭状态',
|
|||
|
|
'65310'=>'填写了省份或城市信息,国家信息不能为空',
|
|||
|
|
'65311'=>'填写了城市信息,省份信息不能为空',
|
|||
|
|
'65312'=>'不合法的国家信息',
|
|||
|
|
'65313'=>'不合法的省份信息',
|
|||
|
|
'65314'=>'不合法的城市信息',
|
|||
|
|
'65316'=>'该公众号的菜单设置了过多的域名外跳(最多跳转到3个域名的链接)',
|
|||
|
|
'65317'=>'不合法的URL',
|
|||
|
|
'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不合法'
|
|||
|
|
];
|
|||
|
|
}
|