跳到主要内容

文档检索

版本提示

自 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. 输入参数

字段必填类型说明
moduleNameString模块名称,可通过 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. 接口描述

接口功能:统一查找入口,自动识别输入格式,返回对应模块结构或文档路径

支持以下输入格式:

  1. URL 路径(含 /):直接作为文档路径返回,如 cloud-function/quick-start/create-function
  2. 点分隔层级路径:如 云托管.快速开始.Node.js 快速开始
  3. 顶级/嵌套模块名:如 云函数微信生态
  4. 文档标题精确匹配:如 小程序快速开始
  5. 前缀模糊匹配(处理含空格的标题被截断情况):如 PHP 匹配 PHP 快速开始

接口声明:app.docs.findByName(input): Promise<{ type: 'module' | 'doc', data: ModuleDocs | string }>

2. 输入参数

字段必填类型说明
inputString查询输入(见上方格式)

3. 返回结果

字段类型说明
typeString'module'(命中模块)或 'doc'(命中文档路径)
dataAnytype='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. 输入参数

字段必填类型说明
docPathString文档路径(相对路径或完整 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. 输入参数

字段必填类型说明
queryString搜索关键词

3. 返回结果

返回 SearchResult[],每个元素结构如下:

字段类型说明
urlString文档完整 URL
titleString文档标题(取最深层级标题)
contentString | null匹配的内容片段(可能为空)

4. 示例代码

const results = await app.docs.searchDocs('云函数 超时')
results.forEach(r => {
console.log(`[${r.title}] ${r.url}`)
if (r.content) console.log(' 摘要:', r.content)
})