API 文档

完整的 JavaScript API 参考文档,帮助你扩展和定制硬件工程师知识库

快速导航

SearchOptimizer API

优化的搜索引擎 API,提供快速、智能的搜索功能,支持模糊匹配、结果缓存和相关度排序。

SearchOptimizer.search(query)

function search(query: string): Array<SearchResult>
执行优化的搜索查询,返回相关度排序的结果数组。

参数

query string 必需
搜索查询字符串,至少 2 个字符

返回值

Array<SearchResult>
搜索结果数组,每个结果包含:
  • id: 文档 ID
  • type: 文档类型(formula/case/section)
  • title: 文档标题
  • content: 文档内容
  • category: 分类
  • tags: 标签数组
  • score: 相关度评分
  • relevance: 相关性分数

示例

// 执行搜索
const results = SearchOptimizer.search('PCB 阻抗');

// 处理结果
results.forEach(result => {
    console.log(`标题: ${result.title}`);
    console.log(`类型: ${result.type}`);
    console.log(`评分: ${result.score}`);
});

搜索结果会自动缓存 1 小时,重复查询将直接从缓存返回。

SearchOptimizer.highlight(text, queryWords, maxLength)

function highlight( text: string, queryWords: Array<string>, maxLength: number = 200 ): string
高亮文本中的搜索词,返回带有 <mark> 标签的 HTML 字符串。

参数

text string 必需
要处理的文本
queryWords Array<string> 必需
要高亮的关键词数组
maxLength number 可选
最大文本长度,默认 200

示例

const text = 'PCB 阻抗匹配对信号完整性至关重要';
const highlighted = SearchOptimizer.highlight(text, ['PCB', '阻抗']);

// 结果: "<mark>PCB</mark> <mark>阻抗</mark>匹配对信号完整性至关重要"

SearchOptimizer.rebuild()

function rebuild(): void
清除缓存并重建搜索索引。当页面内容更新后应调用此方法。

示例

// 动态添加内容后重建索引
document.querySelector('.content').innerHTML += newContent;
SearchOptimizer.rebuild();

SearchOptimizer.getStats()

function getStats(): SearchStats
获取搜索引擎统计信息。

返回值

SearchStats
包含以下字段:
  • documents: 索引的文档数量
  • indexSize: 索引大小
  • cacheSize: 缓存条目数
  • lastUpdated: 最后更新时间

示例

const stats = SearchOptimizer.getStats();
console.log(`索引文档: ${stats.documents}`);
console.log(`最后更新: ${stats.lastUpdated}`);

Analytics API

网站分析 API,提供事件追踪、页面浏览统计等功能,支持 Google Analytics 和百度统计。

Analytics.track(category, action, label, value)

function track( category: string, action: string, label: string, value: number ): void
追踪自定义事件到 Google Analytics 和百度统计。

参数

category string 必需
事件分类(如 'Video', 'Navigation')
action string 必需
事件动作(如 'Play', 'Click')
label string 可选
事件标签(如视频名称)
value number 可选
事件值(如播放时长)

示例

// 追踪按钮点击
Analytics.track('Button', 'Click', 'Download PDF');

// 追踪视频播放
Analytics.track('Video', 'Play', 'Tutorial 1', 120);

// 追踪下载
Analytics.track('Download', 'Click', 'datasheet.pdf');

如果用户拒绝 Cookie 或启用了 DNT,此方法将不会发送数据。

Analytics.trackPageView(path)

function trackPageView(path: string): void
手动追踪页面浏览,用于单页应用路由变化。

示例

// SPA 路由变化时追踪
router.on('change', (path) => {
    Analytics.trackPageView(path);
});

Analytics.isEnabled()

function isEnabled(): boolean
检查分析追踪是否已启用(考虑 DNT 和 Cookie 同意)。

示例

if (Analytics.isEnabled()) {
    console.log('分析已启用');
} else {
    console.log('分析已禁用');
}

Service Worker API

Service Worker 调试和管理 API,用于检查更新、清除缓存等操作。

swAPI.checkUpdate()

async function checkUpdate(): Promise<boolean>
手动检查 Service Worker 更新。

示例

const hasUpdate = await window.swAPI.checkUpdate();
if (hasUpdate) {
    console.log('有新版本可用');
}

swAPI.clearCache()

async function clearCache(): Promise<void>
清除所有 Service Worker 缓存。

示例

await window.swAPI.clearCache();
console.log('缓存已清除');

swAPI.getVersion()

function getVersion(): string
获取当前 Service Worker 版本。

示例

const version = window.swAPI.getVersion();
console.log(`SW 版本: ${version}`);

Share Functions

社交分享功能,支持多个平台和原生分享 API。

handleNativeShare()

async function handleNativeShare(): Promise<void>
使用浏览器原生分享 API 分享当前页面。

示例

// 调用原生分享
await window.handleNativeShare();

仅在支持 Web Share API 的浏览器中可用(主要是移动浏览器)。

handleShare(platform)

function handleShare(platform: string): void
分享到指定的社交平台。

参数

platform string 必需
平台标识符:'weibo', 'wechat', 'qq', 'twitter', 'facebook', 'linkedin', 'telegram', 'email', 'copy'

示例

// 分享到微博
window.handleShare('weibo');

// 分享到 Twitter
window.handleShare('twitter');

// 复制链接
window.handleShare('copy');

Feedback Functions

用户反馈功能,用于收集用户意见和报告问题。

selectFeedbackType(type)

function selectFeedbackType(type: string): void
选择反馈类型并显示对应的表单。

参数

type string 必需
反馈类型:'bug', 'feature', 'content', 'other'

示例

// 显示错误报告表单
window.selectFeedbackType('bug');

submitFeedback(type)

function submitFeedback(type: string): void
提交反馈并创建 GitHub Issue 链接。

示例

// 提交反馈
window.submitFeedback('bug');

Cookie Consent Functions

Cookie 同意管理功能。

acceptCookies()

function acceptCookies(): void
接受 Cookie 并启用所有追踪功能。

rejectCookies()

function rejectCookies(): void
拒绝 Cookie 并禁用追踪功能。