s_curl('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx41e478e592f9e04a&secret=fc165de4aa5cd24b628baa30b100e146&code=' . $code . '&grant_type=authorization_code'); $res = M()->query("select phone from sp_wx_customuser where openid='" . $user_openid['openid'] . "'"); $_SESSION['openid'] = $user_openid['openid']; $this->token = $_SESSION['openid']; if (count($res) > 0) { $_SESSION['phone'] = $res[0]['phone']; $_SESSION['openid'] = $user_openid['openid']; // $_SESSION['idopenid'] = $_SESSION['openid']; $R['msg'] = '操作成功'; $R['flag'] = true; echo json_encode($R); exit(); } } } else { $_SESSION['type'] = 'app'; $_SESSION['app_token'] = "38fff9e882bb58973942a16bb5bb05d005ad08d1e"; } $R['msg'] = '请登录/注册'; $R['flag'] = false; echo json_encode($R); } //短信验证 public function getVerificationCode() { include('/php/api_sdk/JdMessageSend2.php'); $Data = I('phone'); $Verx = rand('10000', '99999'); $_SESSION['VerificationCode'] = ''; $_SESSION['VerificationCode'] = $Verx . ',' . date('Y-m-d H:i:s'); // print_r($_SESSION['VerificationCode']); sendSms("$Data", "$Verx"); $arr[0]['VerificationCode'] = $_SESSION['VerificationCode']; $res['msg'] = '发送成功'; $res['flag'] = true; $res['data'] = $arr; echo json_encode($res); } //登录并注册 public function setSignUp() { $Data = I(''); if (!isset($Data['phone']) || !isset($Data['VerificationCode'])) { $R['msg'] = '操作失败,缺少关键参数'; $R['flag'] = true; echo json_encode($R); exit(); } $Arr = explode(",", $_SESSION['VerificationCode']); $verifyTime = floor(strtotime(date('Y-m-d H:i:s'))) - floor(strtotime($Arr[1])); if ($verifyTime < 300) { if ($Arr[0] != $Data['VerificationCode']) { $R['msg'] = '验证码无效,请重新获取!'; $R['flag'] = false; echo json_encode($R); exit(); } $res = M()->query("select * from sp_wx_customuser where phone='" . $Data['phone'] . "' and type='" . $_SESSION['type'] . "'"); if (empty($res)) { $data['phone'] = $Data['phone']; $data['idphone']= $Data['phone']; if ($_SESSION['type'] == 'app') { $data['openid'] = $_SESSION['app_token']; } else { $data['openid'] = $_SESSION['openid']; } $data['type'] = $_SESSION['type']; $data['createtime'] = date('Y-m-d H:i:s'); $data['status'] = 1; $Res = M('wx_customuser')->add($data); if (!$Res){ $R['msg'] = '注册失败,请重新注册'; $R['flag'] = true; echo json_encode($R); exit(); } } $_SESSION['phone'] = $data['phone']; $_SESSION['openid'] = $data['openid']; $_SESSION['idopenid'] = $_SESSION['openid']; $R['msg'] = '验证成功,正在登录'; $R['flag'] = true; echo json_encode($R); } else { $R['msg'] = '验证码超时无效,请重新获取!'; $R['flag'] = false; echo json_encode($R); } } private function s_curl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); $file_contents = curl_exec($ch); curl_close($ch); $arr = json_decode($file_contents, true); // var_dump($arr); return $arr; } private function s_curl2($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); $file_contents = curl_exec($ch); curl_close($ch); return $file_contents; } }