function get_weixin_token() { global $_GP; $configs = globaSetting(array("weixin_access_token", "weixin_appId", "weixin_appSecret")); $weixin_access_token = unserialize($configs['weixin_access_token']); if (is_array($weixin_access_token) && !empty($weixin_access_token['token']) && !empty($weixin_access_token['expire']) && $weixin_access_token['expire'] > TIMESTAMP) { return $weixin_access_token['token']; } else { $appid = $configs['weixin_appId']; $secret = $configs['weixin_appSecret']; if (empty($appid) || empty($secret)) { message('请填写公众号的appid及appsecret!'); } $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}"; $content = http_get($url); if (empty($content)) { message('获取微信公众号授权失败, 请稍后重试!'); } $token = @json_decode($content, true); if (empty($token) || !is_array($token)) { message('获取微信公众号授权失败, 请稍后重试! 公众平台返回原始数据为:' . $token); } if (empty($token['access_token']) || empty($token['expires_in'])) { message('解析微信公众号授权失败, 请稍后重试!'); } $record = array(); $record['token'] = $token['access_token']; $record['expire'] = TIMESTAMP + $token['expires_in']; $cfg = array('weixin_access_token' => serialize($record)); refreshSetting($cfg); return $record['token']; } }
private function error_code($code) { $errors = array('-1' => '系统繁忙', '0' => '请求成功', '40001' => '获取access_token时AppSecret错误,或者access_token无效', '40002' => '不合法的凭证类型', '40003' => '不合法的OpenID', '40004' => '不合法的媒体文件类型', '40005' => '不合法的文件类型', '40006' => '不合法的文件大小', '40007' => '不合法的媒体文件id', '40008' => '不合法的消息类型', '40009' => '不合法的图片文件大小', '40010' => '不合法的语音文件大小', '40011' => '不合法的视频文件大小', '40012' => '不合法的缩略图文件大小', '40013' => '不合法的APPID', '40014' => '不合法的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' => '分组名字不合法', '41001' => '缺少access_token参数', '41002' => '缺少appid参数', '41003' => '缺少refresh_token参数', '41004' => '缺少secret参数', '41005' => '缺少多媒体文件数据', '41006' => '缺少medSYSTEM_id参数', '41007' => '缺少子菜单数据', '41008' => '缺少oauth code', '41009' => '缺少openid', '42001' => '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'); $code = strval($code); if ($code == '40001') { $rec = array(); $rec['access_token'] = ''; refreshSetting($rec); return '微信公众平台授权异常, 系统已修复这个错误, 请刷新页面重试.'; } if ($errors[$code]) { return $errors[$code]; } else { return '未知错误'; } }
public function addon_get_js_ticket() { $configs = globaSetting(array("jsapi_ticket", "jsapi_ticket_exptime")); $jsapi_ticket = $configs['jsapi_ticket']; $jsapi_ticket_exptime = intval($configs['jsapi_ticket_exptime']); if (empty($jsapi_ticket) || empty($jsapi_ticket_exptime) || $jsapi_ticket_exptime < time()) { $accessToken = get_weixin_token(); $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token={$accessToken}"; $content = http_get($url); $res = @json_decode($content, true); $ticket = $res['ticket']; if (!empty($ticket)) { $cfg = array('jsapi_ticket' => $ticket, 'jsapi_ticket_exptime' => time() + intval($res['expires_in'])); refreshSetting($cfg); return $ticket; } return ''; } else { return $jsapi_ticket; } }
<?php $settings = globaSetting(); if (checksubmit("submit")) { $cfg = array('shop_openreg' => intval($_GP['shop_openreg']), 'shop_regcredit' => intval($_GP['shop_regcredit']), 'shop_keyword' => $_GP['shop_keyword'], 'shop_description' => $_GP['shop_description'], 'shop_title' => $_GP['shop_title'], 'shop_icp' => $_GP['shop_icp'], 'help' => htmlspecialchars_decode($_GP['help'])); if (!empty($_FILES['shop_logo']['tmp_name'])) { $upload = file_upload($_FILES['shop_logo']); if (is_error($upload)) { message($upload['message'], '', 'error'); } $shoplogo = $upload['path']; } if (!empty($shoplogo)) { $cfg['shop_logo'] = $shoplogo; } refreshSetting($cfg); message('保存成功', 'refresh', 'success'); } include page('setting');
} //******************** 配置信息 ******************************** $smtpserver = $settings['smtp_server']; //SMTP服务器 $smtpauthmode = intval($settings['smtp_authmode']); //SMTP服务器端口 $smtp_sendtype = intval($settings['smtp_sendtype']); $smtpserverport = intval($settings['smtp_port']); //SMTP服务器端口 $smtpusermail = $settings['smtp_mail']; //SMTP服务器的用户邮箱 $smtpemailto = $settings['smtp_to_mail']; //发送给谁 $smtpuser = $settings['smtp_username']; //SMTP服务器的用户帐号 $smtppass = $settings['smtp_passwd']; //SMTP服务器的用户密码 $mailtitle = $settings['smtp_title']; //邮件主题 $mailcontent = $previewtmp; //邮件内容 require_once WEB_ROOT . '/system/common/extends/mail.php'; $returnrs = extends_mail($smtp_sendtype, 1, $smtpserver, $smtpauthmode, $smtpserverport, $smtpusermail, $smtpemailto, $smtpuser, $smtppass, $mailtitle, $mailcontent); if ($returnrs == 1) { refreshSetting($settings); message('邮件已发送', 'refresh', 'success'); } else { message($returnrs['errorinfo'] . '邮件发送失败'); } } include page('noticemail');