1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > # tp6微信扫码关注公众号登录

# tp6微信扫码关注公众号登录

时间:2021-04-21 13:28:25

相关推荐

# tp6微信扫码关注公众号登录

tp6微信扫码关注公众号登录

二维码展示

文档 https://developers./doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html

html页面代码点击弹出二维码,如下代码

$("#showLoginQrcode").click(function (){$("#qrScanWin").removeClass('hide').addClass('show');authPost('/index/Wechat/getTicket', {}, function (res) {var res = JSON.parse(res);if (res.code && res.code == 200) {var url = "https://mp./cgi-bin/showqrcode?ticket=" + res.ticket;$('#login_container').attr('src',url);$('#qrScanWin').show();timer = setInterval(function() {// 请求参数是二维码中的场景值$.post('/index/Login/ajax', {scene_id:res.scene_id}, function (ret) {var ret = JSON.parse(ret);if (ret.code && ret.code == 200) {alert('登录成功!');Cookies.set("miaozhundianuserid", ret.data.id);//登陆成功 跳转到首页 或者刷新页面window.location.reload();clearInterval(timer);//关闭轮循环}});}, 2000);} else {console.log(res.message);}});});

获取ticket代码

// 获取ticketpublic function getTicket() {$url = "https://api./cgi-bin/qrcode/create?access_token=".$this->getAccessToken();$scene_id=mt_rand(1,99999999);$data=["expire_seconds"=>3600*24*7, //二维码有效时间,秒为单位"action_name"=> "QR_SCENE", //二维码类型"action_info"=>[ //二维码详细信息"scene"=>["scene_id"=>$scene_id]]];$result=getCurlData($url,$data,'POST');//echo "<pre>";print_r($result);exit;if (isset($result['errcode'])) {$errmsg = $this->wx_error_msg($result['errcode']);$arr= array('code' => $result['errcode'], 'errmsg' => $errmsg);} else {$endtime=date('Y-m-d H:i:s',3600*24*7+time());$arr=['code'=>'200','ticket'=>UrlEncode($result['ticket']),'create_time'=>date('Y-m-d H:i:s',time()),'end_time'=>$endtime,'scene_id'=>$scene_id];}echo json_encode($arr);}public function wx_error_msg($code) {if ($code == -1) {return '微信平台系统繁忙';}

获取 $this->getAccessToken()

// 获取access_token 先获取appid,appsecret, 公众号 基本配置public function getAccessToken() {$url = "https://api./cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->appsecret . "";$data=getCurlData($url);return $data['access_token'];}

解析接口地址getCurlData(url,url,url,data,‘POST’);

// 这是系统自动生成的公共文件/*** 解析接口地址*/function getCurlData($url, $param = '', $type = 'POST', $headers = null){$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.15');curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);if ($type == 'POST') {$param=json_encode($param);curl_setopt($curl, CURLOPT_POST, true);curl_setopt($curl, CURLOPT_POSTFIELDS, $param);curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($param)));}if ($type == 'DELETE') {curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");// curl_setopt($curl, CURLOPT_POSTFIELDS,$param);}if (!empty($headers)) {curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);}curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);$res = json_decode(curl_exec($curl), true);curl_close($curl);return $res;}

wx_error_msg($result[‘errcode’]);

public function wx_error_msg($code) {if ($code == -1) {return '微信平台系统繁忙';}$error_codes = array(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 => '缺少media_id参数', 41007 => '缺少子菜单数据', 41008 => '缺少oauth code', 41009 => '缺少openid', 42001 => 'access_token超时', 42002 => 'refresh_token超时', 4 => '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');if (isset($error_codes[$code])) {return $error_codes[$code];} else {return '错误号:' . $code . ',未知错误';}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。