# TSGame JSBridge 接口文档 - 总览

**版本**: v1.9  
**更新时间**: 2025年7月13日  
**文档类型**: 接口规范文档总览

## 文档说明

本文档集详细描述TSGame游戏中WebView JavaScript调用App原生功能的所有JSBridge接口规范。为了便于阅读和维护，文档按功能模块拆分为4个部分。

**适用平台**: Android / HarmonyOS  
**总接口数量**: 18个核心接口

## 文档结构

### 📁 文档分册

| 文档名称 | 接口数量 | 主要功能 | 文件名 |
|----------|----------|----------|---------|
| **用户认证与页面管理** | 4个 | 登录认证、页面跳转、语音控制 | `TSGame_JSBridge_用户认证与页面管理.md` |
| **系统功能与交互** | 4个 | 剪贴板操作、游戏管理、设备检测 | `TSGame_JSBridge_系统功能与交互.md` |
| **位置与媒体服务** | 5个 | GPS定位、音频播放 | `TSGame_JSBridge_位置与媒体服务.md` |
| **高级功能与扩展** | 5个 | 录音控制、震动反馈、社交分享 | `TSGame_JSBridge_高级功能与扩展.md` |

## 完整接口清单

### 🔐 用户认证与页面管理
| 接口名称 | 功能描述 | 调用方向 | 使用场景 |
|----------|----------|----------|----------|
| `accreditlogin` | 授权登录 | WebView→App | 微信/QQ登录 |
| `cancellogin` | 取消登录 | WebView→App | 登录过程中取消操作 |
| `OpenurlTitleData` | 打开新WebView页面 | WebView→App | 页面跳转、外链访问 |
| `voicePlaying` | 语音播放开关控制 | WebView→App | 音效/语音开关设置 |

### 🔧 系统功能与交互
| 接口名称 | 功能描述 | 调用方向 | 使用场景 |
|----------|----------|----------|----------|
| `gameCopytext` | 复制文本到剪贴板 | WebView→App | 文本复制分享功能 |
| `gamepastetext` | 获取剪贴板内容 | WebView→App | 文本粘贴读取功能 |
| `getGameinstall` | 检查游戏安装状态 | WebView→App | 本地游戏文件检测 |
| `getphonestate` | 获取电话通话状态 | WebView→App | 通话状态检测 |
| `SwitchOverGameData` | 启动指定游戏 | WebView→App | 游戏切换和启动 |
| `backgameData` | 返回数据到上级页面 | WebView→App | 页面数据回传 |

### 🌍 位置与媒体服务
| 接口名称 | 功能描述 | 调用方向 | 使用场景 |
|----------|----------|----------|----------|
| `startlocation` | 开始位置定位 | WebView→App | GPS定位服务 |
| `getlocationinfo` | 获取当前位置信息 | WebView→App | 位置信息查询 |
| `stopVoice` | 停止语音播放 | WebView→App | 音频控制 |
| `playAudio` | 播放音频文件 | WebView→App | 音频播放 |
| `mediaTypeAudio` | 音频播放控制 | WebView→App | 音频媒体播放 |

### 🚀 高级功能与扩展
| 接口名称 | 功能描述 | 调用方向 | 使用场景 |
|----------|----------|----------|----------|
| `prepareaudio` | 录音准备 | WebView→App | 语音录制准备 |
| `vibrator` | 单次震动 | WebView→App | 触觉反馈 |
| `repeatvibrator` | 重复震动 | WebView→App | 持续触觉反馈 |
| `canclevibrator` | 取消震动 | WebView→App | 停止震动反馈 |
| `friendsSharetypeUrlToptitleDescript` | 社交分享 | WebView→App | 微信/抖音分享 |

## 接口依赖关系

### 🔗 接口调用链
```mermaid
graph TD
    A[WebView页面] --> B[用户认证]
    B --> C[accreditlogin 授权登录]
    B --> D[cancellogin 取消登录]
    
    A --> E[页面管理]
    E --> F[OpenurlTitleData 页面跳转]
    E --> G[backgameData 数据返回]
    
    A --> H[系统交互]
    H --> I[gameCopytext 复制文本]
    H --> J[gamepastetext 粘贴文本]
    H --> K[getGameinstall 游戏检测]
    H --> L[SwitchOverGameData 游戏启动]
    
    A --> M[设备状态]
    M --> N[getphonestate 电话状态]
    M --> O[voicePlaying 音效开关]
    
    A --> P[位置服务]
    P --> Q[startlocation 开始定位]
    Q --> R[getlocationinfo 获取位置]
    
    A --> S[媒体播放]
    S --> T[mediaTypeAudio 音频播放]
    O --> T
```

### ⚙️ 核心依赖
- **定位服务**: `getlocationinfo` 需要先调用 `startlocation`
- **音频播放**: `mediaTypeAudio` 受 `voicePlaying` 开关控制
- **登录流程**: `cancellogin` 用于取消 `accreditlogin` 流程
- **页面数据**: `backgameData` 配合 `OpenurlTitleData` 实现数据回传

## 开发指南

### 📋 快速上手
1. **选择相关文档**: 根据需要实现的功能选择对应的文档分册
2. **查看接口概述**: 了解接口的基本功能和使用场景
3. **参考工作流程**: 通过Mermaid流程图理解接口交互过程
4. **使用代码示例**: 参考完整的代码示例进行开发
5. **注意实现要点**: 查看HarmonyOS实现要点确保正确实现

### 🔧 开发最佳实践
- **错误处理**: 每个接口都应包含完善的错误处理机制
- **权限检查**: 使用涉及设备功能的接口前检查相应权限
- **状态管理**: 合理管理接口调用状态，避免重复调用
- **用户体验**: 在接口调用过程中提供适当的用户反馈

### 📱 HarmonyOS适配要点
- **权限声明**: 在module.json5中声明所需权限
- **SDK集成**: 集成必要的第三方SDK（如高德地图）
- **API适配**: 使用HarmonyOS对应的系统API
- **测试验证**: 在HarmonyOS设备上充分测试接口功能

## 版本信息

### 📈 版本历史
| 版本 | 更新时间 | 主要变更 | 文档结构 |
|------|----------|----------|----------|
| v1.0-v1.7 | 2024-01 ~ 2024-11 | 逐步新增基础接口 | 单一文档 |
| v1.8 | 2024-12 | 新增详细接口说明 | 单一文档 |
| v1.9 | 2025-07 | 新增位置和音频接口，拆分文档 | 多文档结构 |

### 🔄 向后兼容性
- ✅ 新版本保持对旧版本的完全兼容
- ✅ 不会删除或修改现有接口参数
- ✅ 新增参数使用可选方式，不影响现有实现
- ✅ 文档拆分不影响接口规范内容

## 技术支持

### 📞 联系方式
- **文档维护**: TSGame开发团队
- **技术支持**: 技术支持组
- **更新通知**: 关注版本更新日志

### 🐛 问题反馈
如发现文档问题或接口实现疑问，请及时反馈：
1. **接口功能问题**: 描述具体使用场景和遇到的问题
2. **文档内容问题**: 指出具体位置和建议修改内容
3. **HarmonyOS适配问题**: 提供设备信息和错误日志

---

**最后更新**: 2025年7月13日  
**当前版本**: v1.9  
**总文档行数**: 约5300行 → 1800行×3份
