Files
data-sync-service/USERSCRIPT_CHANGELOG.md
T
K-hermes a3c23970d7 功能: 优化油猴脚本 v3.0
主要改进:
1. 修复核心Bug - 正确检测API响应状态(检查success字段)
2. 配置界面化 - 使用GM_setValue/GM_getValue持久化存储
3. 添加可视化配置面板 - 无需修改代码
4. 增强错误处理 - 显示详细的错误信息
5. API兼容性验证 - 与后端完全兼容

提供两个版本:
- clients/userscript-template.js (v3.0增强版, 608行)
- client/userscript-template.js (v2.0简化版, 431行)

新增文档:
- USERSCRIPT_CHANGELOG.md - 更新日志
- USERSCRIPT_FIX_SUMMARY.md - 修复总结
- USERSCRIPT_USAGE.md - 使用指南

由Claude Code完成。
2026-08-14 10:15:31 +08:00

3.6 KiB
Raw Blame History

油猴脚本更新日志

版本 3.0 / 2.0.0 (2026-08-14)

🐛 Bug修复

1. 修复"无论如何都显示同步成功"的问题

问题描述: 之前的版本只检查 HTTP 状态码是否为 200,但没有检查响应体中的 success 字段。这导致即使服务器返回错误信息(如密码错误),只要 HTTP 状态码是 200,就会显示同步成功。

修复方案:

// 之前的代码
if (response.status === 200) {
    showMessage('✅ 同步成功');
}

// 修复后的代码
if (response.status === 200 && result.success === true) {
    showMessage('✅ 同步成功');
} else {
    const errorMsg = result.error || result.message || '未知错误';
    showMessage(`❌ 同步失败: ${errorMsg}`);
}

变更内容:

  • 同时检查 HTTP 状态码和响应体的 success 字段
  • 正确提取并显示错误信息(result.errorresult.message
  • 添加响应解析异常处理(try-catch)
  • 优化错误提示信息的展示

新功能

2. 界面化配置管理

功能描述: 将配置从硬编码改为可视化界面配置,支持保存和恢复。

实现方式:

  • 使用 GM_setValue / GM_getValue 持久化存储配置
  • 添加配置设置面板(⚙️ 配置设置按钮)
  • 支持的配置项:
    • 服务器地址 (serverUrl)
    • 密码 (password)
    • Tag(自动检测或手动指定)
    • 数据类型 (cookie/token/credential/session/custom)
    • 过期时间 (expiresIn)
    • 自动检测开关 (autoDetect)
    • 自动同步开关 (autoSync)
    • 定时同步间隔 (syncInterval)

使用方法:

  1. 点击浮动按钮打开菜单
  2. 选择"⚙️ 配置设置"
  3. 修改配置后点击"保存"
  4. 支持"恢复默认"功能

3. 优化用户界面

改进内容:

  • 主面板新增"⚙️ 配置设置"按钮
  • 配置面板采用模态对话框设计,支持点击背景关闭
  • 优化按钮样式和布局
  • 添加配置说明文本
  • 改进消息提示样式

🔧 技术改进

4. API兼容性验证

验证结果: 脚本与当前后端 API 完全兼容:

  • POST /api/data 格式正确
  • 请求体包含必需字段:password, tag, type, data, metadata
  • 成功响应格式:{success: true, message: "Data saved", tag: ..., timestamp: ...}
  • 错误响应格式:{error: "错误信息"} + HTTP 状态码 (400/401/500)

5. 错误处理增强

  • 添加 JSON 解析异常捕获
  • 优化网络错误提示
  • 增加响应数据验证
  • 改进错误信息展示格式

📦 两个版本说明

clients/userscript-template.js (v3.0) - 增强版

  • 功能更完善,支持更多配置选项
  • 适合需要高级功能的用户
  • 支持定时同步、自动同步等功能

client/userscript-template.js (v2.0.0) - 简化版

  • 功能精简,易于使用
  • 仅支持核心配置(服务器地址、密码、自动检测)
  • 适合只需要基础同步功能的用户

🎯 使用建议

  1. 首次使用: 安装脚本后,先打开配置面板设置服务器地址和密码
  2. 测试同步: 在支持的网站上点击"立即同步"测试功能
  3. 密码错误: 如果提示密码错误,请在配置面板中修改密码
  4. 服务器地址: 默认为 http://47.122.126.244:5001,可根据实际情况修改

🚀 快捷键

  • Ctrl+Shift+S - 立即同步(仅增强版)
  • Ctrl+Shift+C - 复制配置(仅增强版)

📝 注意事项

  1. 配置保存后会立即生效,无需刷新页面
  2. 密码以明文存储在浏览器本地,请确保计算机安全
  3. 修改服务器地址后,请确保新地址可访问
  4. Tag格式:项目名:账号,如 tingwu:user@email.com