// +---------------------------------------------------------------------- // 文档中心插件路由 // 注意:本文件由 AddonService::loadAddonRoutes() 包裹在 Route::group('docs') 内, // 因此这里一律写相对路径,不要再加 docs/ 前缀。 use think\facade\Route; // ==================== 后台管理 ==================== Route::group('backend', function () { // UEditor 服务端统一入口(config / 上传 / 图片管理 / 远程抓图) Route::rule('ueditor', 'backend.Ueditor/index', 'GET|POST'); // ---------- 文档项目 ---------- Route::get('project/add', 'backend.Project/add'); Route::post('project/save', 'backend.Project/save'); Route::get('project/edit/:id', 'backend.Project/edit'); Route::post('project/update/:id', 'backend.Project/update'); Route::post('project/delete/:id', 'backend.Project/delete'); Route::get('project', 'backend.Project/index'); // ---------- 文档版本 ---------- Route::get('version/add', 'backend.Version/add'); Route::post('version/save', 'backend.Version/save'); Route::get('version/edit/:id', 'backend.Version/edit'); Route::post('version/update/:id', 'backend.Version/update'); Route::post('version/delete/:id', 'backend.Version/delete'); Route::get('version', 'backend.Version/index'); // ---------- 文档正文 ---------- // 具体路径必须写在 :id 通配之前,否则会被参数规则吞掉 Route::get('doc/import', 'backend.Doc/import'); Route::post('doc/import', 'backend.Doc/doImport'); Route::post('doc/sort', 'backend.Doc/sort'); Route::get('doc/tree', 'backend.Doc/tree'); Route::get('doc/add', 'backend.Doc/add'); Route::post('doc/save', 'backend.Doc/save'); Route::post('doc/rebuild-index', 'backend.Doc/rebuildIndex'); Route::get('doc/edit/:id', 'backend.Doc/edit'); Route::post('doc/update/:id', 'backend.Doc/update'); Route::post('doc/delete/:id', 'backend.Doc/delete'); Route::get('doc', 'backend.Doc/index'); Route::get('/', 'backend.Index/index'); }); // ==================== 前台阅读 ==================== // 顺序敏感:固定路径 -> 三段 -> 两段 -> 一段 -> 首页 Route::get('search', 'Search/index'); // /docs/<项目>/<版本>/<文档> Route::get(':project/:version/:name', 'Read/index') ->pattern(['project' => '[A-Za-z0-9_\-]+', 'version' => '[A-Za-z0-9_\.\-]+', 'name' => '[A-Za-z0-9_\-]+']); // /docs/<项目>/<文档> Route::get(':project/:name', 'Read/index') ->pattern(['project' => '[A-Za-z0-9_\-]+', 'name' => '[A-Za-z0-9_\-]+']); // /docs/<项目> 跳转到该项目第一篇 Route::get(':project', 'Read/entry') ->pattern(['project' => '[A-Za-z0-9_\-]+']); // /docs 文档中心首页 Route::get('/', 'Index/index');