使用示例:
* ``` * config->get('app.project.name'); // 项目名称 $docViewCode = \PhalApi\DI()->config->get('app.project.doc_view_code'); // 查看文档密码,为空时不限制 if (substr(PHP_SAPI, 0, 3) == 'cli') { // 生成离线文档 $apiHtml = new \PhalApi\Helper\ApiStaticCreate($projectName, 'fold', API_ROOT . '/src/view/docs/api_desc_tpl.php'); $apiHtml->render(API_ROOT . '/src/view/docs/api_list_tpl.php'); } else if (!empty($_GET['detail'])) { checkViewCode(); // 接口详情页 $apiDesc = new \PhalApi\Helper\ApiDesc($projectName); $apiDesc->render(API_ROOT . '/src/view/docs/api_desc_tpl.php'); } else { checkViewCode(); // 对外排除的命名空间,如果需要增加项目,需要在此追加 $globalExcludeNamespaces = array('Task', 'Platform', 'Admin'); // 管理员登录后可查看全部接口 if (!empty($_COOKIE['admin_code']) && $_COOKIE['admin_code'] == md5('admin' . \PhalApi\DI()->config->get('app.member.salt') . date('Ymd'))) { $globalExcludeNamespaces = array(); } // 接口列表页 $apiList = new \PhalApi\Helper\ApiList($projectName); $apiList->render(API_ROOT . '/src/view/docs/api_list_tpl.php'); } /** * 检测查看密码 */ function checkViewCode() { // 不设置查看密码,则不限制 global $projectName, $docViewCode; if (empty($docViewCode)) { return; } $docViewCode = strval($docViewCode); session_start(); $submitError = NULL; if (!empty($_POST['view_code'])) { if ($_POST['view_code'] == $docViewCode) { $_SESSION['doc_view_code'] = $docViewCode; } else { $submitError = \PhalApi\T('wrong view password'); } } if (empty($_SESSION['doc_view_code']) || $_SESSION['doc_view_code'] != $docViewCode) { include API_ROOT . '/src/view/docs/check_view_code.php'; die(); } }