request->post(); $headers = Yii::$app->request->headers; $contentType = $headers->get('content-type'); if ($contentType=="application/json") { $postdata = json_decode(file_get_contents('php://input'), true); } $this->postdata = $postdata; $session = Yii::$app->session; if (isset($postdata['pid'])) { if ((int)$postdata['pid']>0) { $this->pid = (int)$postdata['pid']; $session->set('pid', $this->pid); } else { $session->set('pid', 0); } } elseif (isset($_GET['pid'])) { if ((int)$_GET['pid']>0) { $this->pid = $_GET['pid']; $session->set('pid', $this->pid); } else { $session->set('pid', 0); } } else { $session->set('pid', 0); } $this->site_id = Yii::$app->params['siteId']; if (isset($postdata['uid']) && (int)$postdata['uid']>0) { $this->user_id = (int)$postdata['uid']; } if ($this->user_id) { $userModel = new Fans(); $res = $userModel->findOne($this->user_id); if (!$res) { $this->user_id = 0; } else { $this->user_info = $res; } //TBD 后期需加上更多登陆验证逻辑 } $page = isset($postdata['page']) ? (int)$postdata['page'] : 1; $this->page = $page<=0 ? 1 : $page; $pageSize = isset($postdata['psize']) ? (int)$postdata['psize'] : 10; $this->pageSize = $pageSize<=0 ? 10 : $pageSize; } public function result($msg, $data=null, $code=0) { $return = []; $return['code'] = $code; $return['msg'] = $msg; if ($data) { $return['data'] = $data; } exit(json_encode($return, JSON_UNESCAPED_UNICODE)); } public function fansToken($user = [], $refresh = FALSE, $expire = NULL) { //生成token(用户数据,是否强制更新,过期时间 // TBD 具体方法有待优化 $expire = $expire ? $expire : '+1 day'; $token = Yii::$app->session->get('fansToken'); $tokenExpired = Yii::$app->session->get('fansTokenExpired'); if (!$token || $refresh) { $tokenExpired = strtotime($expire)*1000; $token = md5('username='.$user['username'].'&mobile='.$user['mobile'].'&time='.$tokenExpired); Yii::$app->session->set('fansToken', $token); Yii::$app->session->set('fansTokenExpired', $tokenExpired); } $user['token'] = $token; $user['tokenExpired'] = $tokenExpired; return $user; } }