输入产品 / 文档编号,自动检索并下载 TE 产品图纸、产品规格、CAD 文件
te.app.workbuddy.host(根路径为产品入口页,后续将支持 iOS 等更多平台),原插件站继续提供浏览器插件下载;② 检查更新多域名容错——应用内置有序候选站点列表逐个尝试,任一站点存活即可完成检查与下载,且下载地址以站点页面链接为准(未来更换域名只需更新页面、无需发新版本);③ 功能与 V0.9.3 完全一致(多页 PDF 预渲染 + 会话级缓存、全屏轻触淡出/唤出、产品图下载设置复刻插件),体积 954 KB。TE文档检索APK_V1.0.0.apk 发到手机存储。也可以直接在 App 内更新:设置 → 检查更新(自动从本页获取最新版并安装)。各品牌开启“未知来源”通用入口:
安装后:桌面生成“TE文档检索APK”图标;首次打开即可直接检索,无需注册或登录。
Download/TE Web Download/。Android 10 及以上已通过 MediaStore 零权限方案解决(详见 05 更新记录),无需任何额外授权。1. 使用流程
114-18025)或 产品编号(例如 7-1452668-3),点“检索”——两者共用同一输入框;输入单行 = 单个检索,输入多行 = 批量检索,App 自动识别(无需切换模式)。7-2359439-3 → 2359439)二次检索文档编号;命中即出结果,绝不空手而归。ENG_CD_929454_C29.pdf),并标注类别/语言/格式标签,一眼看清文件是什么。108-18030),据此只保留命中的产品规格文档(并在文档行挂上「规格编号 + SPEC 类型」徽章),未命中的规格自动过滤;若产品页一条规格都没有,则改用识别到的编号去官网补全规格文档。识别结果会在结果卡上以一行说明如实展示。Download/<默认保存路径>/<编号>/(默认保存路径 TE Web Download,可在设置页修改),由系统下载器管理(通知栏看进度、点通知直接打开)。2. 检索规则
108-xxxxx / 114-xxxxx / 501- / 411-:直接走官方文档接口(api.te.com.cn),不经二次检索。7-1452668-3):走官网产品页通道;产品页打不开(404 / 网络失败)时无条件按核心号走文档编号通道二次检索,产品页正常但没有图纸时(且仍勾选「产品图纸」)同样二次检索——与浏览器插件触发条件完全一致。928999):同样先走产品页;产品页返回 404 后立即进入二次检索,无需掐头去尾(本身即文档编号),直接以原编号在文档编号通道检索。V0.9.2 起支持——此前这类编号在产品页失败后会被直接判为「未找到」,而插件一直可以搜到(实测 928999 命中 ENG_CD_928999_A1.pdf)。2-2378904-1 → 2378904(掐头去尾取中间)、1897009-2 → 1897009(去掉尾巴)、2378904 → 2378904(开头无 "-",不换算)。.tif 与 .pdf(如 ENG_CD_928999_A1 两种格式各一份),而 .tif 无法用系统渲染器预览,因此只保留 PDF;只命中一份时则原样保留。3. 数据策略(隐私优先)
4. 兼容范围
5. 预览、全屏、放大与存相册(V0.8.0 / V0.9.0 / V0.9.1 升级)
PdfRenderer)输出高清图,秒开、不依赖插件、不受 WebView 版本影响;多页 PDF 左右滑动或点箭头翻页(状态条显示「第 N / M 页」,固定在标题下方不遮挡图面)。Pictures/TE DocAgent,图库立即可见);灰色带 ↓ 的按钮 「↓ 下载文档」「↓ 下载此图」「↓ 下载全部(N)」 写入下载目录(Download/<保存路径>/<编号>/)。文档行的「存相册」按钮保存该文档第 1 页。MediaStore.Images 由系统托管(Android 10+ 零额外权限)。6. 图框 SPEC 识别(V0.5.0 新增,与浏览器插件同口径)
Tm / Td / TJ 等文本操作符 + 坐标),在图框区域内定位整格等于 PRODUCT SPEC(IFICATION) / APPLICATION SPEC 的标签,再取其正下方同列最近一格,提取其中的 108-/114-/501-/411- 档案编号。7. 结果卡布局与下载归档(V0.7.0 对齐插件)
Download/<保存路径>/<编号>/——产品页取自产品编号,二次检索与图框补全的文档也归入原始产品编号文件夹;同名文件自动加 (1)(2) 后缀,不会互相覆盖。8. 设置与更新(复刻浏览器插件)
Download/<子目录>),点「修改」可改为任意 Download 目录下的子目录(支持多级,如 TE Web Download/2026-10);下载的文档与产品图会落到该路径下的 <编号>/ 子文件夹。apk.html)解析最新版 APK 地址——有新版本即下载并拉起系统安装器(需在系统弹窗确认,首次可能需在设置中允许本应用「安装未知应用」);已是最新版本会明确提示,不会重复下载。te.app.workbuddy.host,根路径升级为产品入口页(汇聚安卓 / 浏览器插件 / 后续 iOS 等多平台入口),浏览器插件下载页同步并入本站 plugin.html。_P 序号,直接 编号.jpg(如 1488991-1.jpg);④ 设置页切换后工具栏即时刷新,无需重新检索。928999 这类编号,产品页返回 404 后不会进入二次检索(换算条件写的是「核心号 ≠ 原编号」才查,而无 "-" 时两者相等),直接判为「未找到」。现改为产品页失败即无条件走文档编号通道二次检索,无需掐头去尾(本身即文档编号),与浏览器插件 catch 兜底路径完全一致。实测 928999 命中 ENG_CD_928999_A1.pdf(945 KB)。.tif 与 .pdf,而 .tif 无法用系统渲染器预览;命中多份时只保留 PDF,只命中一份则原样保留(与插件规则一致)。join("") 会丢掉)、过滤空段;A-B 取 A;无 "-" 不换算。Customer Drawing,既不在筛选项里显示中文、也不参与图框 SPEC 识别;现已显式归类,识别与筛选口径与插件一致。Customer Drawing → 产品图纸、Product Specification → 产品规格,文档编号通道的检索结果同样显示中文类型标签。netGet / netGetBase64 在非 2xx 时不再回传 body——官网 404 页实测 286 KB,旧写法会把它整个读回内存再跨桥传给前端,而前端对非 2xx 一律抛错丢弃。inset:0 真正铺满整屏——此前顶栏与底栏是实体行,会把画面高度挤掉约 15%。浮层空白处点击可直接穿透到画面。pointer-events:none,点击穿透到画面只负责「唤出」,不会顺手触发下载或存相册。rgba(15,18,24,.97) 改为不透明深色——此前剩下那 3% 的透明度会让背后的检索结果卡(编号、按钮)隐隐透出,形成「幽灵重影」。.lb-state.is-loading)暂不淡出,进度与错误提示始终可见,完成后再自动淡出;并设 4 轮兜底上限,避免异常长任务把界面永久钉住。WindowInsetsController(Android 11+)/systemUiVisibility(Android 8–10)隐藏系统状态栏与导航栏,不注入任何脚本;采用 IMMERSIVE_STICKY 粘性沉浸(划出系统栏后自动再隐藏、回到前台自动补隐);挖孔/刘海屏以 shortEdges 模式铺入安全区。configChanges——旋转不再重建页面,检索结果与预览状态不会丢。(V0.9.0 起该三态循环已改为「全屏」按钮 + 全屏内「横竖屏」两态。)Download/<保存路径>/<编号>/;二次检索与图框补全的文档也归入原始产品编号文件夹;同名文件自动加 (1)(2) 后缀,不覆盖。Download/<保存路径>/<编号>/;文档与产品图按编号分组落盘。108-18030),据此只保留命中的产品规格并挂「规格编号 + SPEC 类型」徽章,未命中的规格自动过滤;产品页一条规格都没有时改为按识别到的编号去官网补全。Tm / Td / TJ 文本操作符还原坐标,再按图框「标签一行、值一行」的排布配对取值。java.util.zip.Inflater);若原生通道不可用,自动退回 WebView 自带的 DecompressionStream——双保险,不依赖 WebView 版本。PdfRenderer 渲染——此前 pdf.js 在 file:// 沙箱里无法创建 Web Worker、且老版本 WebView 语法不兼容,必然报「渲染失败」;原生渲染与 WebView 版本无关,秒开。MediaStore.Images,一步到位(不再经 canvas / base64 往返)。ENG_CD_929454_C29.pdf),类别/语言/格式改为标签行(与浏览器插件一致)。Pictures/TE DocAgent,「下载」存到 Download/TE Web Download/——由此解决 V0.2.0「拿不到产品照片」的硬约束。7-1452668-3 → 1452668)二次检索对应图纸/规格。Pictures/TE DocAgent),“下载”把原文件存到 Download/TE Web Download/;“全部下载”批量存下载目录。安装与检索在所有版本都正常(minSdk 26);下载在 V0.1.0 修复前于全版本失败,病因分两段,修复后全版本恢复:
| 系统版本 | 底层 API | 安装 | 检索/界面 | 下载 · 修复前 | 下载 · 修复后 |
|---|---|---|---|---|---|
| Android 8.0–8.1 | 26–27 | ✅ | ✅ | ❌ 未申请运行时权限 | ✅ |
| Android 9 | 28 | ✅ | ✅ | ❌ 未申请运行时权限 | ✅ |
| Android 10 | 29 | ✅ | ✅ | ❌ 分区存储拦截 | ✅ |
| Android 11 | 30 | ✅ | ✅ | ❌ 分区存储拦截 | ✅ |
| Android 12 / 12L | 31–32 | ✅ | ✅ | ❌ 分区存储拦截 | ✅ |
| Android 13 | 33 | ✅ | ✅ | ❌ 分区存储拦截 | ✅(需通知权限) |
| Android 14 | 34 | ✅ | ✅ | ❌ 分区存储拦截 | ✅(需通知权限) |
| Android 15 / 16 | 35–36 | ✅ | ✅ | ❌ 分区存储拦截 | ✅(需通知权限) |
| HarmonyOS 2.0 | AOSP 10 | ✅ | ✅ | ❌ 分区存储拦截 | ✅ |
| HarmonyOS 3.x / 4.x | AOSP 11–12 | ✅ | ✅ | ❌ 分区存储拦截 | ✅ |
| HarmonyOS NEXT 5.0+ | 无 AOSP | ❌ 装不了 | — | — | — |
为什么 OEM 定制系统(MIUI / HyperOS、ColorOS / OriginOS、One UI)也受影响? 分区存储是 AOSP 框架层强制规则,与是否带有 Google 服务无关;国产 ROM 只是在外面套壳,存储模型完全一致,因此同样落入“下载失败”区间,修复后同样恢复。
修复方案(已采用,方案 A): Android 10+ 用 MediaStore.Downloads 先建条目、再交给系统下载器写入——零额外权限;Android 8/9 在首次下载时弹窗申请一次存储权限;Android 13+ 额外申请通知权限以显示下载进度。该路线是 Google 官方长期方向,Android 17+ 也不会失效。
① 权限清单审计
INTERNET:联网检索所必需。WRITE_EXTERNAL_STORAGE:仅 Android 9 及以下声明(maxSdkVersion=28),Android 10+ 不再申请。POST_NOTIFICATIONS:仅 Android 13+ 用于下载进度通知。REQUEST_INSTALL_PACKAGES(V0.6.0 新增):仅用于 App 内「检查更新」——把从本站下载的最新版 APK 交给系统安装器;安装确认弹窗与「允许安装未知应用」开关始终由系统掌控,App 无法绕过。不用于任何其它目的。② 网络审计
api.te.com.cn(文档接口)与 www.te.com.cn(产品详情页 / 产品图 DAM)官方域名;访客态、无账号、无 Cookie 追踪。HttpURLConnection 发出(页面 fetch 受 te.com.cn 无 CORS 头限制,必须由原生出网)。③ 存储审计
Download/<默认保存路径>/<编号>/(默认保存路径可在设置页修改,仅限 Download 目录下的子路径),不访问其它目录。Pictures/TE DocAgent/,经 MediaStore.Images 由系统托管(Android 10+ 零额外权限),并广播媒体扫描让图库立即可见。产品图与 PDF 首页图走同一入口。cacheDir)的临时文件,用完即删,不驻留用户可见空间。④ 渲染审计
android.graphics.pdf.PdfRenderer 完成(系统组件,非第三方库),不执行文档内脚本、不联网、不落盘原文;已内置最长边像素上限(预览 2600px / 存相册 3400px)防止超大图纸 OOM。file:// 下 Web Worker 与 WebView 版本差异带来的不确定性。⑤ 更新通道审计(V0.6.0)
te.app.workbuddy.host/apk.html 与 te-drawing-agent.app.workbuddy.host/apk.html(首个可用站点胜出),解析最新版 APK 直链,不请求任何其他第三方地址。cacheDir/update/;每次更新前清空旧包,安装后由系统托管。exported=false + 一次性 URI 授权)交给系统安装器,并做文件名目录穿越防护;不引入任何第三方库。⑥ 图框识别审计(V0.5.0)
stream…endstream → 解压 → 读文本操作符),不执行 PDF 内任何脚本、不渲染、不联网。java.util.zip.Inflater 完成(原生层),无第三方解析库、无体积膨胀;对单份 PDF(≤16 MB)、流数量(≤80)、单流长度均设上限,异常文件直接跳过而非卡死。⑦ 下载与归档审计
DownloadManager,文件落盘由系统负责,断点 / 重试 / 进度通知均为系统能力。Download/<保存路径>/<编号>/,中间目录由系统 DownloadProvider 递归创建;文件名重名自动加 (1)(2) 后缀,绝不覆盖已有文件。java.util.zip.ZipInputStream 解压(原生层,无第三方库):先做 PK 头校验拒绝非 zip 内容,并做条目名目录穿越过滤(只取文件名、丢弃路径),单个条目为空或异常时跳过;解压产物与普通下载写入同一编号文件夹。OutOfMemoryError 做捕获——失败时自动降回上一档清晰度而非崩溃;同一页同一档位只渲染一次并缓存(翻页或缩放回切不再重复下载/渲染);放大状态下的单指滑动只做平移,绝不会误触翻页。Activity.requestedOrientation 实现,不注入任何脚本;清单已解除竖屏锁定并声明 configChanges(orientation / screenSize / smallestScreenSize / keyboardHidden / screenLayout / uiMode),旋转时 Activity 不重建,WebView 内容与预览状态保持不变;关闭预览自动回落竖屏。WindowInsetsController.hide/show(Android 11+)或 View.systemUiVisibility(Android 8–10)隐藏与恢复系统栏——不改动窗口尺寸、不注入脚本、不申请任何新权限;沉浸采用 IMMERSIVE_STICKY,用户划出系统栏后自动再隐藏,回到前台在 onWindowFocusChanged 补一次 apply。退出全屏、关闭灯箱、按返回键三条路径都会恢复系统栏并回落竖屏,不存在“退出后系统栏不回来”的残留状态。position:absolute 浮层、画面 inset:0 独占整屏,属纯 CSS 布局调整——不涉及权限、网络或脚本注入;浮层容器设 pointer-events:none、仅内部控件开启,保证空白处点击穿透到画面;自动淡出只切换灯箱根节点的一个类名(.lb-idle),以 opacity + pointer-events 实现「不可见即不可点」,杜绝淡出后误触保存 / 下载按钮;底色由半透明 rgba(.97) 改为不透明,不再透出下层检索结果。渲染中 / 保存中依据状态条 .is-loading 暂缓淡出,并设 4 轮兜底上限(约 8 秒),避免异常长任务把界面永久钉在可见态。www.te.com.cn)与文档元数据接口(api.te.com.cn)均为既有通道。二次检索的触发条件相较旧版是收紧而非放宽:产品页请求失败(非 2xx)才无条件补查,产品页正常时仅在仍勾选「产品图纸」且该页没有图纸时补查;「命中多份只保留 PDF」是对返回结果的本地过滤(不发起新请求);原生 netGet / netGetBase64 改为非 2xx 不回传 body,只减少数据搬运、不改变任何成功路径的行为,因此隐私面没有扩大。⑧ 隐私审计
| 项目 | 备注 |
|---|---|
| 应用名称 | TE文档检索APK |
| 版本号 | V1.0.0(versionCode 14) |
| 包名 | cn.te.docagent |
| 最低系统 | Android 8.0(API 26) |
| 目标 / 编译 API | 34(Android 14) |
| 支持架构 | arm64-v8a / armeabi-v7a / x86_64 |
| 体积 | 约 0.95 MB(953 KB,系统原生 PDF 渲染 + 原生 FlateDecode/ZIP 解压,无内置第三方库) |
| 应用图标 | 与浏览器插件同款 TE 橙色标(五档密度 48/72/96/144/192) |
| 应用内更新 | 支持(设置 → 检查更新,从本站获取最新版并自动安装) |
| 设置项 | 默认保存路径 / 打开下载目录 / 显示产品图预览 / 下载产品图数量(首张 / 全部,默认首张) / 产品图下载方式(独立按钮 / 集成按钮,默认独立) / 解压CAD文件STP / 文档类型筛选 / 图纸与规格语言优先 / 图框识别筛选(键名与浏览器插件一致) |
| 检索能力 | 单入口自动识别单个 / 批量;文档编号(108-/114-/501-/411-)直查官方接口;产品编号先走产品详情页,打不开或缺图纸时掐头去尾二次检索(无 "-" 则用原编号,V0.9.2 起);命中多份只保留 PDF;图框 SPEC 编号识别与筛选 |
| 预览能力 | PDF / 产品图灯箱:左右滑动或点箭头翻页、放大缩小(按钮 / 双指捏合 / 双击,放大后拖动平移)、存相册(本页 / 全部)、下载(文档 / 此图 / 全部)、沉浸式全屏查看(V0.9.0)与全屏内横竖屏切换;V0.9.1 起三栏改悬浮层、画面铺满整屏,全屏时按钮与标题全部自动淡出;V0.9.3 起多页 PDF 自动预渲染全部页(切换零重复渲染、缓存保留到本次检索清空前),全屏可轻触屏幕中心立即淡出/唤出 |
| 签名 | debug 自签名(正式签名版后续提供) |
| 发布日期 | 2026-10-14 |