功能: 优化油猴脚本 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完成。
This commit is contained in:
2026-08-14 10:15:31 +08:00
parent 9271bf62b2
commit a3c23970d7
5 changed files with 1103 additions and 41 deletions
+312
View File
@@ -0,0 +1,312 @@
# 油猴脚本使用指南
## 📦 安装
### 1. 安装油猴扩展
首先需要在浏览器中安装油猴(Tampermonkey)扩展:
- **Chrome / Edge**: [Chrome Web Store](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo)
- **Firefox**: [Firefox Add-ons](https://addons.mozilla.org/firefox/addon/tampermonkey/)
- **Safari**: [App Store](https://apps.apple.com/app/tampermonkey/id1482490089)
### 2. 选择脚本版本
项目提供两个版本的脚本:
| 版本 | 文件路径 | 特点 | 适用场景 |
|------|---------|------|---------|
| **增强版** | `clients/userscript-template.js` | 功能完整,支持高级配置 | 需要定时同步、自动同步等高级功能 |
| **简化版** | `client/userscript-template.js` | 功能精简,易于使用 | 只需基础同步功能 |
### 3. 安装脚本
1. 打开油猴扩展的管理界面
2. 点击"创建新脚本"
3. 复制对应版本的脚本内容
4. 粘贴到编辑器中
5. 保存(Ctrl+S 或 Cmd+S
## ⚙️ 初次配置
### 必须配置的项目
安装脚本后,**首次使用前必须配置**:
1. 点击页面右侧的 🔄 按钮打开菜单
2. 选择 "⚙️ 配置设置"
3. 配置以下项目:
```
服务器地址: http://47.122.126.244:5001
密码: admin123123123
```
> ⚠️ **重要**:如果不配置正确的服务器地址和密码,同步将会失败!
### 可选配置项(仅增强版)
- **Tag**: 留空自动检测,或手动指定(格式:`项目名:账号`
- **数据类型**: 默认 Cookie
- **过期时间**: 默认 604800 秒(7天)
- **自动检测**: 建议保持开启
- **自动同步**: 页面加载后自动同步(不推荐)
- **定时同步**: 定时自动同步间隔,0 表示禁用
## 🚀 使用方法
### 基础使用流程
1. **访问支持的网站**
- 目前支持:听悟(tingwu.aliyun.com)、微信公众平台(mp.weixin.qq.com
- 增强版支持通过 `@match` 添加更多网站
2. **登录账号**
- 在目标网站正常登录
3. **同步数据**
- 点击页面右侧的 🔄 按钮
- 选择 "🔄 立即同步"
- 等待提示消息
4. **确认结果**
- ✅ 同步成功:显示 Tag 和时间戳
- ❌ 同步失败:检查错误信息(密码错误、网络错误等)
### 高级功能(仅增强版)
#### 快捷键操作
```
Ctrl+Shift+S - 立即同步
Ctrl+Shift+C - 复制配置到剪贴板
```
#### 复制配置
用于分享或备份配置:
1. 点击 🔄 按钮
2. 选择 "📋 复制配置"
3. 配置信息已复制到剪贴板,格式:
```json
{
"serverUrl": "http://47.122.126.244:5001",
"password": "admin123123123",
"tag": "tingwu:user@email.com",
"type": "cookie"
}
```
#### 自动同步设置
在配置面板中可以开启:
- **自动同步**: 页面加载 3 秒后自动执行同步
- **定时同步**: 按设定间隔定期同步(例如:每 300 秒同步一次)
> ⚠️ **注意**:频繁自动同步可能影响页面性能,建议手动同步
## 🔍 故障排查
### 问题 1: 提示"同步失败:Invalid password"
**原因**:密码配置错误
**解决方案**
1. 打开配置面板
2. 确认密码为:`admin123123123`
3. 保存配置后重试
### 问题 2: 提示"网络错误:无法连接到服务器"
**原因**:服务器地址不可达
**解决方案**
1. 检查服务器地址是否正确:`http://47.122.126.244:5001`
2. 确认服务器是否在运行
3. 检查网络连接
4. 检查浏览器控制台是否有跨域错误(CORS)
### 问题 3: 提示"当前网站不支持自动同步"
**原因**:当前网站不在支持列表中
**解决方案**
**对于增强版**,可以手动添加项目规则:
编辑脚本,在 `PROJECT_RULES` 中添加:
```javascript
{
name: '项目名',
match: (url) => url.includes('目标域名'),
getAccount: () => {
// 提取账号的逻辑
return '账号名';
},
loginUrl: 'https://登录页面URL'
}
```
**对于简化版**,需要:
1. 在脚本头部添加 `@match` 规则:
```javascript
// @match https://目标域名/*
```
2.`PROJECT_PATTERNS` 中添加配置:
```javascript
'目标域名': {
project: '项目名',
accountSelector: '.账号选择器',
loginUrl: 'https://登录页面URL'
}
```
### 问题 4: 未找到 Cookie
**原因**:当前页面没有 Cookie 或 Cookie 为空
**解决方案**
1. 确认已经登录
2. 刷新页面后重试
3. 检查浏览器是否禁用了 Cookie
### 问题 5: 服务器响应格式错误
**原因**:服务器返回了非 JSON 格式的数据
**解决方案**
1. 检查服务器是否正常运行
2. 确认 API 端点 `/api/data` 可访问
3. 查看浏览器控制台的详细错误信息
## 🎯 最佳实践
### 1. 安全建议
- ✅ 定期更换密码
- ✅ 不要在公共电脑上使用
- ✅ 配置数据仅存储在本地浏览器
- ❌ 不要将密码分享给他人
### 2. 使用建议
- ✅ 登录后立即同步,确保数据最新
- ✅ 重要账号手动同步,避免自动同步失败
- ✅ 定期检查同步状态
- ❌ 不要开启过于频繁的定时同步
### 3. 数据管理
- 数据保存在服务器的 `/data` 目录
- 文件名格式:`项目名_账号.json`
- 默认保留 7 天,可在配置中修改
- 可通过 Web 界面查看和管理:`http://47.122.126.244:5001`
## 📊 同步数据格式
脚本上传的数据格式:
```json
{
"tag": "tingwu:user@email.com",
"type": "cookie",
"data": {
"cookies": [
{
"name": "cookie名",
"value": "cookie值",
"domain": "域名",
"path": "/"
}
],
"raw_cookie": "原始cookie字符串",
"user_agent": "浏览器UA"
},
"metadata": {
"expires_in": 604800,
"note": "同步备注",
"login_url": "https://登录页面",
"created_at": "2026-08-14 10:00:00",
"updated_at": "2026-08-14 10:00:00"
}
}
```
## 🆘 技术支持
### 查看日志
1. 打开浏览器控制台(F12
2. 切换到 Console 标签
3. 查看脚本输出的日志信息
### 常见日志信息
```
🚀 通用数据同步脚本已加载 - 脚本初始化成功
🔍 自动检测结果: {...} - 显示检测到的项目和账号
✅ 数据同步成功: {...} - 同步成功
❌ 数据同步失败: {...} - 同步失败,查看错误信息
❌ 网络错误: {...} - 网络请求失败
```
### 获取帮助
如遇到问题,请提供以下信息:
1. 脚本版本(增强版 v3.0 或简化版 v2.0.0
2. 浏览器类型和版本
3. 目标网站 URL
4. 错误提示信息
5. 浏览器控制台的错误日志
## 🔄 更新脚本
### 手动更新
1. 打开油猴管理界面
2. 找到对应的脚本
3. 点击编辑
4. 替换为新版本的代码
5. 保存
### 检查更新
在油猴管理界面中,可以查看脚本的版本号:
- 增强版当前版本:**3.0**
- 简化版当前版本:**2.0.0**
## 📝 附录
### 支持的浏览器
- ✅ Chrome 88+
- ✅ Firefox 85+
- ✅ Edge 88+
- ✅ Safari 14+
- ⚠️ Opera(需要测试)
- ❌ IE(不支持)
### 支持的网站
**默认支持:**
- 听悟(tingwu.aliyun.com
- 微信公众平台(mp.weixin.qq.com
**扩展支持:**
可通过修改脚本添加更多网站,参考上文"故障排查 - 问题3"
### API 兼容性
脚本与以下 API 版本兼容:
- ✅ 当前项目的 nginx/nginx.conf 定义的 API
- ✅ POST `/api/data` 接口
- ✅ 支持 CORS 跨域请求
- ✅ 密码验证机制