diff --git a/Application/Home/Api/User.class.php b/Application/Home/Api/User.class.php new file mode 100644 index 0000000..ef7f962 --- /dev/null +++ b/Application/Home/Api/User.class.php @@ -0,0 +1,48 @@ + + */ + +namespace Home\Api; + + +use Home\ORG\Str; + +class User extends Base { + public function index($param) { + $openId = $this->getOpenId($param); + $old = D('ApiUser')->where(array('openId' => $openId))->find(); + if ($old) { + return array('username' => $old['username'], 'password' => '******'); + } + $data['username'] = Str::randString(6, 1); + $pwd = Str::randString(6, 1); + $data['password'] = user_md5($pwd); + $data['regTime'] = time(); + $data['openId'] = $openId; + $newId = D('ApiUser')->add($data); + D('ApiAuthGroupAccess')->add(array('uid' => $newId, 'groupId' => 1)); + + return array('username' => $data['username'], 'password' => $pwd); + } + + public function re($param) { + $openId = $this->getOpenId($param); + $pwd = Str::randString(6, 1); + $data['password'] = user_md5($pwd); + $old = D('ApiUser')->where(array('openId' => $openId))->find(); + D('ApiUser')->where(array('openId' => $openId))->save($data); + + return array('username' => $old['username'], 'password' => $pwd); + } + + private function getOpenId($param) { + $url = "https://api.weixin.qq.com/sns/jscode2session?appid=wx436e089d55174f47&secret=f4684158a0efd56ff2332582dc62f3db&js_code={$param['code']}&grant_type=authorization_code"; + $res = file_get_contents($url); + $resArr = json_decode($res, true); + + return $resArr['openid']; + } +} \ No newline at end of file diff --git a/Application/Home/Controller/ApiController.class.php b/Application/Home/Controller/ApiController.class.php index 31f6f94..e95cada 100644 --- a/Application/Home/Controller/ApiController.class.php +++ b/Application/Home/Controller/ApiController.class.php @@ -8,11 +8,11 @@ namespace Home\Controller; +use Home\Api\User; use Home\ORG\ApiLog; use Home\ORG\Filter; use Home\ORG\Response; use Home\ORG\ReturnCode; -use Think\Log; class ApiController extends BaseController { @@ -62,6 +62,11 @@ class ApiController extends BaseController { $this->param = $getArr; break; } + if( $this->header['USER-AGENT'] == 'wx' ){ + $data = file_get_contents("php://input"); + $data = json_decode($data, true); + $this->param = $data; + } ApiLog::setRequest($this->param); $this->iniApi(); }