本文摘要
E10 Helper 是一个面向泛微 E10 OA 的 Chrome 扩展(Manifest V3),开发初衷是解决多环境切换时的误操作风险和分散在多层的重复操作:在设置页登记多个 OA 地址(可分别标记开发/测试/预发布/生产)后,扩展会自动识别当前页面属于哪个环境,非生产环境叠加彩色全屏边框和右上角标签(开发/测试橙色、预发布紫色,生产不显示),扩展图标也会显示绿点表示当前页面已连接。popup 提供十个入口:环境边框开关、Show Console(给 OA 页面 URL 注入 wea_link_keep_show_console=1,兼容 SPA 路由,打开后即可调出平台自带控制台)、系统语言切换(含 Beta 语言标记)、人员查询(按姓名/工号/邮箱/手机/办公电话搜索通讯录,点击直达人员详情页)、LDAP 人员查询(按过滤器查目录条目)、人员信息记录(在人员详情页拉取该人员的字段变更历史,按字段聚合展示旧值→新值,支持搜索)、查看实例日志(在动作流设计器或日志页直接唤起平台原生的实例日志弹窗)、重新执行动作流(按当前应用和日志重新执行一次)、SQL 查询(走数据中心直连数据源的 SQL 预览接口,连接 ID 全局配置,默认 4,结果最多渲染 200 行)以及单点登录(用配置的 app_key/app_security 换取登录 Token,在无痕窗口打开 SSO 链接,用于以目标人员身份验证)。安装方式为 Chrome 111+ 下加载已解压的扩展程序;配置项包括每个环境的 OA 地址、LDAP ID、app_key/app_security,SQL 连接 ID 在 popup 内填写。所有请求都在 OA 页面中以用户当前登录会话发出(携带 Cookie),配置仅保存在本机 chrome.storage.local,不上传、无统计、无第三方服务;功能只在命中已配置 OA 地址时启用。项目为个人开发的非官方工具,与泛微网络无隶属关系,MIT 协议开源。已知限制:依赖 E10 前端结构与内部接口,版本升级可能需要适配;实例日志依赖页面中文按钮文案;人员信息记录单次最多拉取最近 100 条;扩展安装或更新前打开的页面需刷新;目前没有自动化功能测试。

项目源码:https://github.com/OnesZhang/weaver-e10-oa-helper | 非官方项目,与泛微没有隶属、授权或支持关系

📌

该文章由丸子引导AI辅助制作生成,如有改进意见,欢迎评论区留言。

做这个插件的原因很简单:每天在开发、测试、预发布、生产之间来回切,最怕的不是不会用,而是在错的环境里点了对的按钮。

为什么做这个插件

日常在 E10 上做实施和运维,重复动作大概分两类:

  • 环境判断:几个环境的域名不同、界面却一模一样,标签页一多,「现在这个是测试还是生产」就要重新确认一遍;
  • 多层跳转:切界面语言要进个人设置,查人要开通讯录,看某个人改过什么要进人员详情再翻日志,看流程实例日志要进设计器点按钮,临时跑条 SQL 要开数据中心。

单次操作都不复杂,但每天重复几十次,成本就不在点击本身,而在每次都要先确认一遍上下文。于是我用业余时间写了 E10 Helper:把这些每天都会用到的动作收进浏览器工具栏的一个 popup 里,页面自己会「认识」当前环境,用户不需要再判断。

一句话:把「现在是什么环境、我该去哪点」从人脑里拿出来,放进一个离手最近的按钮里。

功能一览

扩展在命中已配置的 OA 地址时才会启用功能;未连接时 popup 只保留设置入口。

功能入口用途
环境边框popup 开关给非生产环境叠加彩色边框和右上角环境标签,生产环境不显示
Show Consolepopup 菜单给 OA 页面 URL 加上控制台参数,随时调出平台自带的控制台
系统语言popup 菜单读取并切换当前账号的界面语言,含 Beta 语言
人员查询popup 菜单按姓名、工号、邮箱、手机号、办公电话搜索通讯录,点击结果直达人员详情
LDAP 人员查询popup 菜单按 LDAP 过滤器查询目录条目并查看属性
人员信息记录人员详情页 → popup拉取该人员的字段变更历史,按字段展示「旧值 → 新值」,可搜索
查看实例日志动作流页面 → popup直接唤起平台原生的「实例日志」弹窗
重新执行动作流动作流日志页 → popup按当前应用和日志,以执行模式重跑一次
SQL 查询popup 菜单通过数据中心直连数据源执行 SQL 并在 popup 里看结果
单点登录人员详情页 → popup用配置的应用凭证换取登录 Token,在无痕窗口打开 SSO 链接
群组管理表格优化自动生效修正群组管理页表格列宽,以及群组名称多语言输入框过窄的问题

其中「SQL 查询」「单点登录」「重新执行动作流」「ESB 日志表格勾选」属于实验性功能,依赖具体环境配置,用之前建议先在测试环境验证。

E10 Helper 的 popup 菜单:环境边框、Show Console、单点登录、人员信息记录、系统语言、人员查询、SQL 查询、LDAP 人员查询

命中已配置的 OA 地址时,popup 顶部显示「已连接」,功能菜单才会出现。

安装与配置

前置要求:Chrome 111+。

  1. 从 GitHub 克隆或下载仓库:https://github.com/OnesZhang/weaver-e10-oa-helper
  2. 打开 chrome://extensions,右上角开启「开发者模式」;
  3. 点击「加载已解压的扩展程序」,选择含 manifest.json 的仓库目录;
  4. 点击工具栏上的扩展图标 → 右上角齿轮 → 在设置页添加你的 OA 地址。

设置页里可以按环境分别登记地址,并给每个环境单独配置 LDAP ID 和 SSO 应用凭证:

E10 Helper 设置页:按生产、测试、开发分别配置 OA 地址、LDAP ID、app_key 与 app_security

配置项说明
OA Base URL每个环境一条,决定环境识别、边框颜色和功能启用
LDAP ID「LDAP 人员查询」使用
app_key / app_security「单点登录」使用,在 OA 的 OpenAPI / 集成中心创建应用后获取

SQL 连接 ID 不在设置页,而是在 popup 的「SQL 查询」面板里填写,全局保存、切换环境后记得确认。

开发、测试、预发布、生产各登记一条,之后不管在哪个标签页,popup 都会自动匹配当前环境;环境边框也会跟着生效,切错标签页能第一时间发现。

几个使用场景

场景一:多个环境同时开着,先看边框

配好环境后打开开关,开发、测试环境会显示橙色边框和「开发环境 / 测试环境」标签,预发布是紫色,生产不加边框;扩展图标右下角也会出现绿点,表示当前页面已连接。这样即使同时开着四个标签页,也不用去读地址栏。

场景二:控制台常开

打开「Show Console」后,OA 页面地址会自动带上控制台参数,SPA 路由跳转时也会保留;需要时刷新一次页面即可生效,之后随时调出平台自带控制台排查问题。

场景三:切界面语言不用再翻个人设置

popup 里点「系统语言」,会列出当前账号可切换的语言(Beta 语言带标记),选完页面自动刷新。验证多语言包、给不同语言的用户截图时很方便。

场景四:查一个人,再看他改过什么

在「人员查询」里输入姓名、工号、邮箱、手机号或办公电话,点结果直接打开人员详情页;在详情页再点「人员信息记录」,弹窗会把该人员的字段变更按字段聚合,展示「旧值 → 新值」和操作时间、操作人,支持按字段、值或操作人搜索。

场景五:看实例日志、重跑动作流

在动作流设计器或动作流执行日志页打开 popup,点「查看实例日志」,会直接唤起平台原生的实例日志弹窗——时间范围、操作者、状态、分页都可以照常用,不需要重新实现一套。在日志页还可以点「重新执行动作流」,按当前应用和日志重跑一次。

场景六:临时跑一条 SQL

点「SQL 查询」,填好数据源连接 ID 和语句(Ctrl / ⌘ + Enter 执行),结果会以表格展示,状态栏显示总行数和耗时,最多渲染 200 行,避免大结果集卡住 popup。

场景七:以某个人员的身份验证单点登录

在人员详情页打开 popup,点「单点登录」,扩展会用配置的 app_key / app_security 换取该人员的登录 Token,并在无痕窗口打开 SSO 链接。用无痕窗口是为了避开当前浏览器里已有的账号会话,干净地验证目标人员的登录效果。

需要在 chrome://extensions → 本扩展详情里开启「允许在隐私模式下使用」,否则无痕窗口无法打开,popup 会给出提示。

场景八:解锁 ESB 日志表格的勾选

开启 Show Console 后,动作流日志页的表格勾选框会解除禁用,可以批量选择日志行,配合重跑动作流使用。

一点说明

  • 扩展基于 Manifest V3,纯 JS/HTML/CSS,没有构建步骤,改完在 chrome://extensions 点刷新即可;
  • 所有 OA 接口请求都在 OA 页面内以你当前登录的会话发出(携带 Cookie),不经过任何中转服务;
  • 配置只保存在本机 chrome.storage.local,不上传、无统计、无第三方服务;
  • 权限只用于识别 OA 页面、更新角标、打开人员详情与无痕窗口,功能逻辑仅对已配置的 OA 地址生效。

注意事项

  • 功能依赖 E10 的前端页面结构和部分内部接口,E10 版本升级后可能需要适配;
  • 「查看实例日志」依赖页面按钮文案「执行实例 / 更换实例」,把界面切成英文后可能找不到入口;
  • 「人员信息记录」一次最多拉取最近 100 条变更日志;
  • 安装或更新扩展前已打开的页面需要刷新,否则依赖内容脚本的功能不生效;
  • 本项目是个人开发的非官方工具,请仅在自己拥有或已获授权的环境中使用;截图中的地址与凭证均为示例,请配置你自己的环境。

这个插件没有宏大的目标,只是把每天重复的判断和点击,收进一个离手最近的按钮里。