<?php require_once 'header/web.inc.php'; require_once 'inc/tags/interface.inc.php'; require_once 'inc/tags/tags.inc.php'; $prj = new Tags_Project('tcms.interface.tags'); project_init_params($prj); $site = io_get('site'); $id = io_get('id'); $errors = array(10 => '参数有误', 50 => '获取Tags失败'); try { if (empty($site) || empty($id)) { throw new CmsInterfaceException(10); _log("提供的参数有误", 'DEBUG'); } $controller = $prj->rs->data->ext['tags']; $db = $prj->CData->CDb->r; WF_Registry::set('db', $db); $tags = $controller->getNewsTags($site, $id); //$tags = array('iphone', '苹果', '手机'); if ($tags === false) { throw new CmsInterfaceException(50); } $data = project_convert_output($prj, $tags); $prj->fw->interface->out(0, 'success', '', $data); } catch (CmsInterfaceException $e) { project_output_error($prj, $e, $errors); } catch (Exception $e) { $this->fw->interface->out($e->getCode(), $e->getMessage(), '', ''); } function _log($msg, $level = 'ERROR')
<?php /** * 提供文章的分词结果Top3,来搜索相近的Tags */ require_once 'header/web.inc.php'; require_once 'inc/tags/interface.inc.php'; require_once 'inc/tags/tags.inc.php'; $prj = new Tags_Project('tcms.interface.tags'); project_init_params($prj); $len = io_get('len'); #$category_id = io_get('c'); $keywords_str = trim(io_get('keywords')); $input = io_get('input'); $errmsgs = array(10 => '关键词为空哦亲', 50 => '接口调用出错啦'); try { if (empty($keywords_str)) { throw new CmsInterfaceException(10); _log('输入关键词为空', 'DEBUG'); } $len = $len > 0 ? $len : 20; $prefix = project_convert_input($prj, $keywords_str); $controller = $prj->rs->data->ext['tags']; $db = $prj->CData->CDb->r; WF_Registry::set('db', $db); $keywords = explode(';', $keywords_str); $tags = $controller->suggestByKeywords($keywords); if (!is_array($tags)) { throw new CmsInterfaceException(50); _log("suggest 接口调用出错"); }
<?php /** * 根据Tag,查找文章列表 */ require_once 'header/web.inc.php'; require_once 'inc/tags/interface.inc.php'; require_once 'inc/tags/tags.inc.php'; $profile_begin = microtime(true); $prj = new Tags_Project('tcms.interface.tags'); project_init_params($prj); $tag = io_get('tag'); $site = io_get('site'); $page = io_get('p'); $len = io_get('l'); $errors = array(10 => '参数错误: 未指定标签'); try { if (empty($tag)) { throw new CmsInterfaceException(10); _log("参数错误 tag", 'INFO'); } $controller = $prj->rs->data->ext['tags']; $db = $prj->CData->CDb->r; WF_Registry::set('db', $db); $articles = $controller->listByTag($tag); $cost = microtime(true) - $profile_begin; $prj->fw->interface->out(0, 'success', $cost, $articles); } catch (CmsInterfaceException $e) { project_output_error($prj, $e, $errors); } catch (Exception $e) { $this->fw->interface->out($e->getCode(), $e->getMessage(), '', '');