public function check() { $this->params['app_id'] = $appid = isset($_POST['app_id']) ? $_POST['app_id'] : ''; $this->params['version_id'] = $versionid = isset($_POST['version_id']) ? $_POST['version_id'] : ''; $this->params['version_mini'] = $versionmini = isset($_POST['version_mini']) ? $_POST['version_mini'] : ''; $this->params['did'] = $did = isset($_POST['did']) ? $_POST['did'] : ''; $this->params['encrypt_did'] = $encryptdid = isset($_POST['encrypt_did']) ? $_POST['encrypt_did'] : ''; // 接口数据校验省略,实际使用时须加 if (!is_numeric($appid)) { response::getEncode(300, 'params error', ''); exit; } // 判断APP是都要加密 $this->app = $this->getApp($appid); if (!$this->app) { response::getEncode(500, 'params error', ''); exit; } /* if($encryptdid!=md5($did,$this->app['key'])){ response::getEncode(500,'md5 error',''); exit(); } */ }
public function index() { // app请求参数校验 $this->check(); $error = isset($_POST['error_log']) ? $_POST['error_log'] : ''; if (!$error) { response::getEncode(0, 'logs empty', ''); exit; } $sql = "insert into log(error) values('start error')"; $connect = DB::getInstance()->connect($dbConfig); mysqli_query($connect, $sql); response::getEncode(0, 'logs send success', ''); exit; }
public function get() { if (!is_numeric($this->_page) || !is_numeric($this->_pagesize)) { response::getEncode(100, 'request error', ''); exit; } // get from cache global $dbConfig; global $cacheConfig; $cache = new Cache(); $rdata = array(); // 存在缓存时,直接获取缓存并返回 /* if($rdata=$cache->cacheData('index_cache_'.$this->_page.'-'.$this->_pagesize)){ response::getEncode(0,'request success',$rdata); exit(); } */ // 使用memcache缓存 $this->_memcache->connect($cacheConfig['host'], $cacheConfig['port']); if ($rdata = $this->_memcache->get('index_cache_' . $this->_page . '-' . $this->_pagesize)) { var_dump('get cache'); response::getEncode(0, 'request success', $rdata); exit; } // 否则读取数据库,并且更新缓存 $offset = ($this->_page - 1) * $this->_pagesize; $sql = "select * from mall where status=1 order by price limit " . $offset . ',' . $this->_pagesize; // 异常接收 try { $conn = DB::getInstance()->connect($dbConfig); } catch (Exception $e) { // $e->getMessage() response::getEncode(400, 'database connect error', ''); exit; } $res = mysqli_query($conn, $sql); while ($row = mysqli_fetch_assoc($res)) { $rdata[] = $row; } //$cache->cacheData('index_cache_'.$this->_page.'_'.$this->_pagesize,$rdata,$cacheConfig['expiretime']); $this->_memcache->add('index_cache_' . $this->_page . '-' . $this->_pagesize, $rdata); var_dump('set cache'); response::getEncode(0, 'request success', $rdata); exit; }
<?php /** * get * http://***?type=firstpage&page=1&pagesize=10 */ require_once 'Controllers/firstpage.class.php'; require_once 'Controllers/defaultpage.class.php'; require_once 'libs/Response.class.php'; // route $type = isset($_GET['type']) ? $_GET['type'] : 'default'; switch ($type) { case 'firstpage': $firstpage = new firstpage(); return $firstpage->get(); break; default: $res = new response(); return response::getEncode(200, 'request type error', ''); break; }