GameServerManager/server/data/plugins/README.md
2025-07-12 11:09:14 +08:00

5.5 KiB
Raw Permalink Blame History

GSM3 插件目录

欢迎使用 GSM3 插件系统!这个目录包含了插件开发所需的所有资源和文档。

📁 目录结构

plugins/
├── README.md                    # 本文件 - 插件目录说明
├── 插件开发文档.md               # 完整的插件开发指南
├── 插件模板.md                  # 快速开始模板
└── example-plugin/              # 示例插件目录
    ├── plugin.json              # 插件配置文件
    ├── index.html               # 主界面文件
    └── gsm3-api.js             # API客户端库

🚀 快速开始

1. 查看示例插件

首先访问 example-plugin 目录,这是一个功能完整的示例插件,展示了:

  • 插件基本结构
  • API调用方法
  • 用户界面设计
  • 错误处理
  • 最佳实践

2. 阅读开发文档

查看 插件开发文档.md 了解:

  • 插件系统架构
  • 配置文件格式
  • 可用API列表
  • 开发最佳实践
  • 调试和测试方法

3. 使用模板快速开发

参考 插件模板.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代码

调试技巧

// 启用详细日志
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开发团队获取支持

祝您开发愉快! 🎉

如果您创建了有趣的插件,欢迎分享给社区!