---
description: "E10 @weapp/utils 前端能力总索引，仅在 Utils 相关任务中加载"
---

# E10 Utils 前端知识库

本索引用于选择最少必要知识卡，不承载完整 API 文档。

## 加载协议

1. 需求出现明确函数名、类名或导出符号：直接读取对应 `cards/<能力>.md`。
2. 需求只有中文场景：只读取一个匹配的分类路由。
3. 分类路由最多选择三个候选卡；禁止读取全部卡片。
4. 摘要不足时加载 `example`；仍不足时仅加载该卡的 `all`。
5. `CHANGELOG` 仅用于版本兼容和行为变更排查。

## 检索命令

```bash
node .ecode/skills/e10-utils-knowledge/scripts/search.mjs search "组件复写" --limit 5
node .ecode/skills/e10-utils-knowledge/scripts/search.mjs load middleware --section summary
```

加载章节：`summary|example|all`。默认使用 `summary`。

## 分类入口

| 分类 | 典型触发词 | 路由 |
|---|---|---|
| App 与 SDK | App、SDK、企业微信、第三方应用、打开链接、jsApi | [选择能力](./categories/app-sdk.md) |
| 跨应用加载与路由 | 跨应用、跨模块、路由、history、链接拦截、多级路径 | [选择能力](./categories/cross-app-routing.md) |
| 组件扩展与钩子 | 组件复写、组件替换、无侵入二开、插件、weId、错误边界 | [选择能力](./categories/extension-hooks.md) |
| 请求、安全与监控 | 请求、axios、敏感词、性能监控、接口 | [选择能力](./categories/request-security.md) |
| 日期、国际化、事件与主题 | 日期、时间、多语言、事件、主题、页面标题 | [选择能力](./categories/date-locale-event.md) |
| 浏览器与运行环境 | 浏览器、UA、vconsole、移动端、软键盘、运行环境 | [选择能力](./categories/browser-runtime.md) |
| 通用工具 | 字符串、base64、复制、校验、MD5、模块映射、版本 | [选择能力](./categories/general-tools.md) |

## 全量符号索引

| 能力/符号 | 场景 | 分类 | 知识卡 |
|---|---|---|---|
| `app`、`weappSDK` | 1. 在默认云桥环境或者 em app 环境下默认封装了部分 jssdk，用于 h5 页面跟原生 app 的交互。文档地址 2. 如果在三方 App 环境下内嵌我们 h5 页面,由于三方 App 环境下缺失这部 jssdk 的能力会导致部分功能异常，因此底层提供对应二开能力,三方 App 下提供跟 H5 交互的相似能力。 3. 通过 ecode 进行... | [App 与 SDK](./categories/app-sdk.md) | [加载](./cards/app.md) |
| `sdk`、`weappSDK`、`WeappSDK` | SDK 服务 | [App 与 SDK](./categories/app-sdk.md) | [加载](./cards/sdk.md) |
| `convertWechatData` | 处理企业微信 canvas 转译，参数是数组 | [App 与 SDK](./categories/app-sdk.md) | [加载](./cards/convertWechatData.md) |
| `needConvertWechatData` | 工具库内部部分源码 | [App 与 SDK](./categories/app-sdk.md) | [加载](./cards/needConvertWechatData.md) |
| `webOpenSDK` | 二级路径下 统一打开方式的兜底处理。 替换默认原始window.open方法。可以支持在二级路径下无感知跳转， 无需模块单独处理二级路径打开的地址的拼接。 | [App 与 SDK](./categories/app-sdk.md) | [加载](./cards/webOpenSDK.md) |
| `jsApi`、`getAsyncHook`、`getReadyFailedHook`、`getReadySuccessHook`、`getSyncHook`、`regHook`、`regReadyHook`、`unRegHook` | JsApi 工具方法 | [App 与 SDK](./categories/app-sdk.md) | [加载](./cards/jsApi.md) |
| `corsImport` | 当前业务模块代码中, 由于业务场景需要使用其它模块导出的工具方法或者组件信息 | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/corsImport.md) |
| `moduleRouter`、`corsImport` | corsImport | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/moduleRouter.md) |
| `history` | 路由跳转 | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/history.md) |
| `historyPlugin`、`getHistoryPlugin`、`regHistoryPlugin` | 包含 getHistoryPlugin,regHistoryPlugin | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/historyPlugin.md) |
| `historyUtil` | historyUtil 为 HistoryUtil 构造器内部实例化的对象 | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/historyUtil.md) |
| `shouldRouteJump` | 路由 pc 移动互跳的工具, 参数是一个函数, | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/shouldRouteJump.md) |
| `prefixSecondPath` | 内部方法 获取对应二级路径 | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/prefixSecondPath.md) |
| `getNameFromUrl` | 通过请求地址获取对应模块名称 | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/getNameFromUrl.md) |
| `aLink`、`ALink` | ALink 为 ALink 构造函数创建的实例，默认注册全局 click 事件在事件捕获阶段执行 | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/aLink.md) |
| `aLinkIntercept`、`ALinkIntercept` | 超链接安全拦截公共方法 | [跨应用加载与路由](./categories/cross-app-routing.md) | [加载](./cards/aLinkIntercept.md) |
| `middleware`、`getOverwrite`、`regOvComponent`、`regOvProps`、`unRegOvComponent`、`unRegOvProps` | 组件化方便了无侵入二次开发能力扩展，类似 E9 后续扩展的 ecode 组件无侵入修改能力，本次默认在工具库提供规范的埋点和二开注册能力，将覆盖更大范围的组件，不再仅限于公共组件库的组件。 参考一平台前端无侵入研发规范 | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/middleware.md) |
| `overwriteFn` | 返回一个新函数,队列函数倒序执行执行,将当前函数的执行结果作为下一个函数的入参 | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/overwriteFn.md) |
| `regReactChildren` | 给已有 children 属性注入新的 ReactNode | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/regReactChildren.md) |
| `getReactPlugin` | 获取当前已经注册的插件 | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/getReactPlugin.md) |
| `regReactPlugin` | 修改设置标签内的 title,placeholder 属性内容 | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/regReactPlugin.md) |
| `checkWeId` | 直接导入 checkWeId 方法进行校验 | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/checkWeId.md) |
| `documentTitle`、`regOvProps` | documentTitle 为 DocumentTitle 构造器创建的实例。 | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/documentTitle.md) |
| `classUseMemo` | 只执行一次,并缓存下来 | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/classUseMemo.md) |
| `errorBoundary`、`ErrorBoundary` | 工具库中 middleware 的内部实现中使用了 ErrorBoundary | [组件扩展与钩子](./categories/extension-hooks.md) | [加载](./cards/errorBoundary.md) |
| `request`、`RequestOptionConfig` | 业务接口请求 | [请求、安全与监控](./categories/request-security.md) | [加载](./cards/request.md) |
| `doSensitiveScan` | 工具库内部封装 request 方法使用敏感词校验拦截响应结果，以下是部分源码。 | [请求、安全与监控](./categories/request-security.md) | [加载](./cards/doSensitiveScan.md) |
| `weappMonitorInstance` | 手动埋点方法 addTask | [请求、安全与监控](./categories/request-security.md) | [加载](./cards/weappMonitorInstance.md) |
| `date`、`getChineseDate`、`getCurrentUpYear`、`getDateStringPrecisionUnit`、`getDoubleWeekBoundary`、`getHalYearByYear`、`getLocaleDate`、`getLocaleDateAndTime`、`getLocaleDateString`、`getLocaleDateTime`、`getSeasonDateByYear`、`getServerDate`、`getServerDateAndTime`、`getServerDateString`、`getServerDateTime`、`getUserOffsetName`、`getWeekBoundary`、`getWeekOfYear`、`getWindowDateShowFormat，getWindowDateTimeShowFormat，getCustomFormatByWindow，getCustomFormatDateByWindow`、`isStrDateContainHMS`、`isStrDateContainUTC`、`isZeroClock` | 提供日期时间处理函数 | [日期、国际化、事件与主题](./categories/date-locale-event.md) | [加载](./cards/date.md) |
| `dayjs` | 工具库内部日期组件使用对应的 dayjs 进行日期时间处理, 以下是部分源码 | [日期、国际化、事件与主题](./categories/date-locale-event.md) | [加载](./cards/dayjs.md) |
| `locale`、`getLabel`、`getLocale` | 每个模块入口文件中, render 函数渲染之前加载多语言文件 | [日期、国际化、事件与主题](./categories/date-locale-event.md) | [加载](./cards/locale.md) |
| `eventEmitter` | 组件内部部分代码, 通过进行事件监听触发对应方法 | [日期、国际化、事件与主题](./categories/date-locale-event.md) | [加载](./cards/eventEmitter.md) |
| `setTitle` | 组件库中 Dialog 内部实现部分源码 | [日期、国际化、事件与主题](./categories/date-locale-event.md) | [加载](./cards/setTitle.md) |
| `setTheme`、`setFontSize` | 设置对应主题样式内容 | [日期、国际化、事件与主题](./categories/date-locale-event.md) | [加载](./cards/setTheme.md) |
| `replaceCss` | 工具库 setTheme 内部依赖该方法兼容 ie 浏览器 | [日期、国际化、事件与主题](./categories/date-locale-event.md) | [加载](./cards/replaceCss.md) |
| `appInfo` | 使用 appInfo 获取模块信息, 导出并设置应用路由前缀 | [浏览器与运行环境](./categories/browser-runtime.md) | [加载](./cards/appInfo.md) |
| `ua` | 根据 ua.browser 返回的客户端类型进行代码处理 | [浏览器与运行环境](./categories/browser-runtime.md) | [加载](./cards/ua.md) |
| `vConsole`、`vconsole` | 移动端在调试程序的时候,需要打印对应信息时。可以通过 vconsole 按钮激活显示对应控制台,输出对应信息 | [浏览器与运行环境](./categories/browser-runtime.md) | [加载](./cards/vConsole.md) |
| `fastclick`、`loadFastClick` | 采用按需加载获取，默认在移动端为 document.body 提供绑定，可在回调中获取实例进行 destory() 取消绑定 | [浏览器与运行环境](./categories/browser-runtime.md) | [加载](./cards/fastclick.md) |
| `softKeyboardFunc`、`eventEmitter` | 监听移动端软键盘弹起的全局事件，用于处理软键盘遮挡相关问题 | [浏览器与运行环境](./categories/browser-runtime.md) | [加载](./cards/softKeyboardFunc.md) |
| `baseConfig`、`baseConfigInstance` | 获取个人配置设置项内容的方法配置项 | [浏览器与运行环境](./categories/browser-runtime.md) | [加载](./cards/baseConfig.md) |
| `CHANGELOG`、`ua` | 字符串、编码、复制、校验、模块映射、MD5、总览和版本记录。 | [通用工具](./categories/general-tools.md) | [加载](./cards/CHANGELOG.md) |
| `index` | gitlab @weapp/utils 是公共工具库，它的主要作用： | [通用工具](./categories/general-tools.md) | [加载](./cards/index.md) |
| `base64`、`b64DecodeUnicode`、`b64EncodeUnicode` | 简单数据加密 | [通用工具](./categories/general-tools.md) | [加载](./cards/base64.md) |
| `camelcase` | 工具库appInfo方法 默认使用camelcase进行模块的转换 | [通用工具](./categories/general-tools.md) | [加载](./cards/camelcase.md) |
| `classnames` | 组件可通过状态或者属性动态控制标签的类名增加删除 | [通用工具](./categories/general-tools.md) | [加载](./cards/classnames.md) |
| `copy` | 将内容从浏览器复制到剪贴板 | [通用工具](./categories/general-tools.md) | [加载](./cards/copy.md) |
| `moduleSignToModule` | 工具库内部维护的一个模块信息对象 | [通用工具](./categories/general-tools.md) | [加载](./cards/moduleSignToModule.md) |
| `qs` | 处理上传数据为对象时，字符串化 | [通用工具](./categories/general-tools.md) | [加载](./cards/qs.md) |
| `sparkMD5` | 正常使用 | [通用工具](./categories/general-tools.md) | [加载](./cards/sparkMD5.md) |
| `validator`、`getLabel` | 组件库默认表单验证封装 | [通用工具](./categories/general-tools.md) | [加载](./cards/validator.md) |
