文档检索
版本提示
自 v5.0.0 起新增此模块。通过 app.docs 访问,提供对 CloudBase 官方文档站的检索与读取能力。
信息
DocsService 直接请求公网文档站,不依赖云开发环境 ID,可在任意环境下调用。
listModules
1. 接口描述
接口功能:列出文档站所有顶级及二级文档模块名称
接口声明:app.docs.listModules(): Promise<string[]>
2. 输入参数
无
3. 返回结果
返回字符串数组,每个元素是一个模块名称(按字母排序)。
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId'
})
const modules = await app.docs.listModules()
console.log(modules)
// ['云函数', '云数据库', '云存储', '云托管', ...]
listModuleDocs
1. 接口描述
接口功能:获取指定模块下的所有文档目录结构(嵌套对象,叶子节点为文档路径)
接口声明:app.docs.listModuleDocs(moduleName): Promise<ModuleDocs>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| moduleName | 是 | String | 模块名称,可通过 listModules() 获取 |
3. 返回结果
返回嵌套对象 ModuleDocs,key 为文档/子模块名称,value 为文档路径字符串(叶子)或子模块对象(非叶子)。
4. 示例代码
const moduleDocs = await app.docs.listModuleDocs('云函数')
console.log(JSON.stringify(moduleDocs, null, 2))
// {
// "快速开始": "cloud-function/quick-start/index",
// "Node.js 开发指南": { ... },
// ...
// }
findByName
1. 接口描述
接口功能:统一查找入口,自动识别输入格式,返回对应模块结构或文档路径
支持以下输入格式:
- URL 路径(含
/):直接作为文档路径返回,如cloud-function/quick-start/create-function - 点分隔层级路径:如
云托管.快速开始.Node.js 快速开始 - 顶级/嵌套模块名:如
云函数、微信生态 - 文档标题精确匹配:如
小程序快速开始 - 前缀模糊匹配(处理含空格的标题被截断情况):如
PHP匹配PHP 快速开始
接口声明:app.docs.findByName(input): Promise<{ type: 'module' | 'doc', data: ModuleDocs | string }>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| input | 是 | String | 查询输入(见上方格式) |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| type | String | 'module'(命中模块)或 'doc'(命中文档路径) |
| data | Any | type='module' 时为 ModuleDocs 对象;type='doc' 时为文档路径字符串 |
4. 示例代码
// 查找文档路径
const result = await app.docs.findByName('小程序快速开始')
if (result.type === 'doc') {
const content = await app.docs.readDoc(result.data)
console.log(content)
}
// 使用点分隔路径导航
const nodeResult = await app.docs.findByName('云托管.快速开始')
if (nodeResult.type === 'module') {
console.log(Object.keys(nodeResult.data))
}
readDoc
1. 接口描述
接口功能:读取文档页面的 Markdown 原始内容
接口声明:app.docs.readDoc(docPath): Promise<string>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| docPath | 是 | String | 文档路径(相对路径或完整 URL)。相对路径会自动拼接文档站 base URL,不含 .md 后缀时自动补全 |
3. 返回结果
返回文档的 Markdown 字符串内容。
4. 示例代码
// 使用相对路径(推荐配合 findByName 获取路径)
const content = await app.docs.readDoc('cloud-function/quick-start/create-function')
console.log(content)
// 使用完整 URL
const content2 = await app.docs.readDoc('https://docs.cloudbase.net/cloud-function/quick-start/index.md')
searchDocs
1. 接口描述
接口功能:通过 Algolia 全文搜索文档站内容,返回匹配的文档列表
接口声明:app.docs.searchDocs(query): Promise<SearchResult[]>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| query | 是 | String | 搜索关键词 |
3. 返回结果
返回 SearchResult[],每个元素结构如下:
| 字段 | 类型 | 说明 |
|---|---|---|
| url | String | 文档完整 URL |
| title | String | 文档标题(取最深层级标题) |
| content | String | null | 匹配的内容片段(可能为空) |
4. 示例代码
const results = await app.docs.searchDocs('云函数 超时')
results.forEach(r => {
console.log(`[${r.title}] ${r.url}`)
if (r.content) console.log(' 摘要:', r.content)
})