| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- <?php
- namespace Home\Controller;
- use Think\Controller;
- class LoginController extends Controller
- {
- public $token = '';
- public $http = 'https';
- public function _initialize()
- {
- header("Access-Control-Allow-Origin:*");
- header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE");
- header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding");
- if (strpos($_SERVER['HTTP_USER_AGENT'], "MicroMessenger") != false) {
- $_SESSION['type'] = 'wx';
- } else {
- $_SESSION['type'] = 'app';
- }
- }
- public function getCompileUrl()
- {
- $Data = I('');
- if (!isset($Data['curl'])) {
- $R['flag'] = false;
- $R['msg'] = '缺少关键参数curl';
- echo json_encode($R);
- exit();
- }
- $tourl = urlencode($Data['curl']);
- $R['flag'] = true;
- $R['tourl'] = $tourl;
- $R['msg'] = '当前路径编译成功';
- echo json_encode($R);
- }
- public function getFirst()
- {
- if (strpos($_SERVER['HTTP_USER_AGENT'], "MicroMessenger") != false) {
- $_SESSION['type'] = 'wx';
- $Data = I('');
- $code = $Data['code'];
- if (empty($code)) {
- $R['flag'] = false;
- $R['msg'] = '操作失败,Code获取失败';
- echo json_encode($R);
- exit();
- } else {
- $user_openid = $this->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;
- }
- }
|