mirror of
https://github.com/GSManagerXZ/GameServerManager.git
synced 2025-10-04 22:02:03 +08:00
216 lines
No EOL
5.5 KiB
Markdown
216 lines
No EOL
5.5 KiB
Markdown
# GSM3 插件目录
|
||
|
||
欢迎使用 GSM3 插件系统!这个目录包含了插件开发所需的所有资源和文档。
|
||
|
||
## 📁 目录结构
|
||
|
||
```
|
||
plugins/
|
||
├── README.md # 本文件 - 插件目录说明
|
||
├── 插件开发文档.md # 完整的插件开发指南
|
||
├── 插件模板.md # 快速开始模板
|
||
└── example-plugin/ # 示例插件目录
|
||
├── plugin.json # 插件配置文件
|
||
├── index.html # 主界面文件
|
||
└── gsm3-api.js # API客户端库
|
||
```
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 1. 查看示例插件
|
||
|
||
首先访问 `example-plugin` 目录,这是一个功能完整的示例插件,展示了:
|
||
|
||
- 插件基本结构
|
||
- API调用方法
|
||
- 用户界面设计
|
||
- 错误处理
|
||
- 最佳实践
|
||
|
||
### 2. 阅读开发文档
|
||
|
||
查看 [插件开发文档.md](./插件开发文档.md) 了解:
|
||
|
||
- 插件系统架构
|
||
- 配置文件格式
|
||
- 可用API列表
|
||
- 开发最佳实践
|
||
- 调试和测试方法
|
||
|
||
### 3. 使用模板快速开发
|
||
|
||
参考 [插件模板.md](./插件模板.md) 快速创建您的第一个插件:
|
||
|
||
1. 复制模板代码
|
||
2. 修改配置信息
|
||
3. 自定义界面和功能
|
||
4. 测试和调试
|
||
|
||
## 📚 文档说明
|
||
|
||
### 插件开发文档.md
|
||
|
||
这是最完整的开发指南,包含:
|
||
|
||
- **插件结构**: 文件组织和命名规范
|
||
- **配置文件**: plugin.json 详细说明
|
||
- **API参考**: 所有可用API方法和参数
|
||
- **开发实践**: 代码规范和性能优化
|
||
- **调试指南**: 常见问题和解决方案
|
||
|
||
### 插件模板.md
|
||
|
||
提供了一个最小化的插件模板,适合:
|
||
|
||
- 初学者快速上手
|
||
- 创建简单功能插件
|
||
- 作为新项目的起点
|
||
|
||
### 示例插件 (example-plugin)
|
||
|
||
这是一个功能齐全的示例,展示了:
|
||
|
||
- **系统信息API**: 获取系统状态和信息
|
||
- **实例管理API**: 创建、启动、停止、删除实例
|
||
- **文件操作API**: 读写文件、目录操作
|
||
- **终端管理API**: 终端会话和进程管理
|
||
- **用户界面**: 现代化的响应式设计
|
||
- **错误处理**: 完善的异常处理机制
|
||
|
||
## 🛠️ 开发流程
|
||
|
||
### 第一步:环境准备
|
||
|
||
1. 确保 GSM3 服务器正在运行
|
||
2. 在 `plugins` 目录下创建新的插件文件夹
|
||
3. 从示例插件复制 `gsm3-api.js` 文件
|
||
|
||
### 第二步:创建插件
|
||
|
||
1. 创建 `plugin.json` 配置文件
|
||
2. 创建 `index.html` 主界面文件
|
||
3. 根据需要添加其他资源文件
|
||
|
||
### 第三步:开发和测试
|
||
|
||
1. 编写插件逻辑和界面
|
||
2. 使用浏览器开发者工具调试
|
||
3. 测试各种API调用和错误情况
|
||
|
||
### 第四步:优化和发布
|
||
|
||
1. 优化性能和用户体验
|
||
2. 完善错误处理和用户提示
|
||
3. 编写插件说明文档
|
||
|
||
## 🎯 API 功能概览
|
||
|
||
GSM3 插件系统提供了丰富的API接口:
|
||
|
||
### 系统管理
|
||
- `getSystemStatus()` - 获取系统状态
|
||
- `getSystemInfo()` - 获取系统信息
|
||
- `healthCheck()` - 健康检查
|
||
- `getVersion()` - 获取版本信息
|
||
|
||
### 实例管理
|
||
- `getInstances()` - 获取实例列表
|
||
- `getInstance(id)` - 获取实例详情
|
||
- `createInstance(config)` - 创建新实例
|
||
- `startInstance(id)` - 启动实例
|
||
- `stopInstance(id)` - 停止实例
|
||
- `restartInstance(id)` - 重启实例
|
||
- `deleteInstance(id)` - 删除实例
|
||
|
||
### 文件操作
|
||
- `readFile(path)` - 读取文件
|
||
- `writeFile(path, content)` - 写入文件
|
||
- `listDirectory(path)` - 列出目录
|
||
- `createDirectory(path)` - 创建目录
|
||
- `deleteFile(path)` - 删除文件
|
||
- `copy(src, dest)` - 复制文件
|
||
- `move(src, dest)` - 移动文件
|
||
|
||
### 终端管理
|
||
- `getTerminals()` - 获取终端列表
|
||
- `getTerminalSessions()` - 获取终端会话
|
||
- `getTerminalStats()` - 获取终端统计
|
||
- `updateTerminalSessionName()` - 更新会话名称
|
||
|
||
## 🔧 开发工具
|
||
|
||
### 浏览器开发者工具
|
||
|
||
使用 F12 打开开发者工具:
|
||
|
||
- **Console**: 查看日志和错误信息
|
||
- **Network**: 监控API请求和响应
|
||
- **Elements**: 调试HTML和CSS
|
||
- **Sources**: 调试JavaScript代码
|
||
|
||
### 调试技巧
|
||
|
||
```javascript
|
||
// 启用详细日志
|
||
console.log('API调用参数:', params);
|
||
console.log('API响应结果:', result);
|
||
|
||
// 错误处理
|
||
try {
|
||
const result = await api.someMethod();
|
||
console.log('成功:', result);
|
||
} catch (error) {
|
||
console.error('失败:', error);
|
||
}
|
||
```
|
||
|
||
## 📋 最佳实践
|
||
|
||
### 1. 代码组织
|
||
- 保持文件结构清晰
|
||
- 使用有意义的函数和变量名
|
||
- 添加适当的注释
|
||
|
||
### 2. 错误处理
|
||
- 为所有API调用添加错误处理
|
||
- 提供用户友好的错误信息
|
||
- 记录详细的调试信息
|
||
|
||
### 3. 用户体验
|
||
- 使用响应式设计
|
||
- 提供加载状态指示
|
||
- 确保操作反馈及时
|
||
|
||
### 4. 性能优化
|
||
- 避免频繁的API调用
|
||
- 使用适当的缓存策略
|
||
- 优化大数据的显示
|
||
|
||
## 🆘 常见问题
|
||
|
||
### Q: 插件不显示怎么办?
|
||
A: 检查 `plugin.json` 格式,确保 `enabled: true` 且文件路径正确。
|
||
|
||
### Q: API调用失败?
|
||
A: 检查网络连接,查看浏览器控制台错误信息,确认API方法名和参数正确。
|
||
|
||
### Q: 如何调试插件?
|
||
A: 使用浏览器开发者工具,查看控制台日志和网络请求。
|
||
|
||
### Q: 插件如何与主系统通信?
|
||
A: 通过 `gsm3-api.js` 提供的API方法,所有通信都通过HTTP请求完成。
|
||
|
||
## 📞 技术支持
|
||
|
||
如果您在开发过程中遇到问题:
|
||
|
||
1. 查看示例插件的实现
|
||
2. 阅读开发文档的相关章节
|
||
3. 检查浏览器控制台的错误信息
|
||
4. 联系GSM3开发团队获取支持
|
||
|
||
---
|
||
|
||
**祝您开发愉快!** 🎉
|
||
|
||
如果您创建了有趣的插件,欢迎分享给社区! |