wujinjun / UnoAnalyzer 优诺 自动登录

Published:

Version: 1.0+d5e885f

Summary: 自动完成登录,支持手动输入账号或自动填入账号,右上角显示操作进度

License: MIT

Antifeature: unspecified

UnoAnalyzer(优诺)自动登录 — Tampermonkey 脚本

一个用于自动完成 UnoAnalyzer 登录页面的 Tampermonkey 用户脚本。脚本在页面检测到登录路径时自动填充邮箱和密码并提交,支持 React 驱动的表单(使用专门的输入赋值方法以触发 React 状态更新)。

❓ 为什么存在此脚本

  • 😠 登录过程繁琐
    • 🌿 正常网站登录页面: 同时显示 用户名/邮箱 + 密码 输入框,点击任意一个立即显示浏览器内置密码提示,填充密码,点击登录 -- 3步完成 Easy Piecy!
    • 💀 UnoAnalyzer奇葩设计: 邮箱输入 (-> 浏览器自动填充) -> 提交 -> 密码输入 (-> 浏览器自动填充) -> 提交 -- 6步完成 2x or more 时间消耗
    • 🚀 此脚本: 几乎瞬间完成 -- You're all set.
  • ⏰ 频繁登录要求
    • 🌿 正常网站: 登录状态保存到Cookie,一段时间内有效,到期自动刷新 -- 同一浏览器任一窗口打开,你已经登录
    • 💀 UnoAnalyzer: 仅存储在会话存储,关闭浏览器或其他窗口打开 失去登录 -- 用户体验极差
    • 🚀 登录状态保存脚本 (this): 不再丢失登录 -- You're all set.

📢 最近通知

  • 🧱 Greasyfork (greasyfork.org) 从2025年开始在墙内无法访问 (参见 Greatfire Test),开启***、旧版本、装满扩展/插件的浏览器可访问性也较差 (例如: "Cloudflare Challenge"小方框无限循环 🔄),因此所有脚本将会同时提供 🕊️ OpenUserJS 和 Github 平台的下载方式。

⚙️ 主要功能

  • 全流程的UnoAnalyzer自动登录
  • 进入网站后立即开始"地址栏监听",进入 /app/login 或 /login 开头时触发自动登录流程(包括带查询参数的 URL)。
    • 为什么不在 @match 匹配: 从首页 (https://cn.unoanalyzer.com/app 或 https://unoanalyzer.com/) 进入,点击"Log in" -> 前端行为是静默导航到登录path,而不是触发页面加载 -> 脚本无法加载,自动登录失效
  • 按序完成:填写邮箱 -> 点击提交 -> 等待密码输入 -> 填写密码 -> 点击提交。
  • 快捷配置: 仅需填写 SAVED_EMAIL 和 SAVED_PASSWORD。

🛠️ 安装

  1. 安装 Tampermonkey(或其它用户脚本管理器)。
  2. 从 OpenUserJS 或 GreasyFork(📡🧗‍♂️🧱 请翻墙) 安装此脚本
  3. 在脚本顶部设置你的账号:将 SAVED_EMAIL 和 SAVED_PASSWORD 替换为你的邮箱与密码。保存并启用脚本。

🔧 配置

  • 目前仅脚本顶部两项常量:
    • const SAVED_EMAIL = 'YOUR_SAVED_EMAIL' // 替换为邮箱
    • const SAVED_PASSWORD = 'YOUR_SAVED_PASSWORD' // 替换为密码

📚 运行原理与实现细节

  • 地址监听:脚本挂载 history.pushState / replaceState 与 popstate,并统一触发自定义 locationchange 事件用于 SPA 导航检测。
  • URL 判断:使用 isLoginUrl(),当 pathname 以 /app/login 或 /login 开头(包含带参数的 URL)时触发。
  • React 表单兼容:直接修改 input.value 无法触发 React 的内部状态更新,脚本使用 setReactInputValue() 与触发 input 事件来通知 React(参考 StackOverflow 的方法)。

🐞 调试

  • 打开浏览器开发者工具(Console),查找带脚本名前缀的日志输出(脚本内使用 console.log/warn/error,输出前缀为脚本名称)。
  • 常见定位点:检查选择器 #email, #password, button[type="submit"] 是否与页面一致;如果页面改版需手动更新选择器。

🤔 常见问题 (FAQ)

  • 如果脚本未触发:确认页面 URL 符合 /app/login 或 /login,并确认 Tampermonkey 已启用脚本。
  • 如果输入未生效:页面可能使用了不同的 DOM 选择器或表单是以 iframe 加载,检查并更新 EMAIL_SELECTOR、PASSWORD_SELECTOR、SUBMIT_SELECTOR。

📜 更新日志

  • 1.0
    • 全网首发: 两大平台 (OpenUserJS 和 GreasyFork) 无相关搜索结果
    • 基本功能 (自动填写与登录) 已全部实现

🔑 许可

  • MIT

:param AFF

💡 多站点广告拦截和体验优化: Adguard规则 (兼容Adguard浏览器扩展和APP | 可兼容AdBlock Plus | 持续更新)

✅ XJTLU自动登录系列:

  1. 西浦自动登录: 自动登录LearningMall Core、UIM、sso、mail、eBridge、IDP
  2. XJTLU box 自动登录: 自动登录box,并自动勾选 7天内保持登录
  3. XJTLU UIM 自动登录 (请求用户名+密码+OTP): UIM自动登录(自动完成二次验证)
  4. XJTLU xpcyjgy 自动登录: XJTLU(TC)线上自助服务自动登录

😊 XJTLU体验提升 (QoL):

  1. XJTLU AMS Sign-in Code 优化
  2. XJTLU utalk 不要欢迎视频
  3. XJTLU utalk 调整 (专为低性能设备优化)
  4. XJTLU eBridge 登录过期自动重新登录
  5. XJTLU eBridge 考试信息提示弹窗拦截

其他自动登录系列:

  1. UnoAnalyzer 优诺 自动登录: 如题

其他体验提升:

  1. UnoAnalyzer 优诺 登录状态保存: 持久化优诺登录状态,新窗口打开优诺无需重复登录,关闭浏览器不再丢失登录状态

Rating: 0