定制 gboquizosanchez/retroachievements 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gboquizosanchez/retroachievements

最新稳定版本:1.0.0

Composer 安装命令:

composer require gboquizosanchez/retroachievements

包简介

RetroAchievements.org API Container for Laravel

README 文档

README

RetroAchievements

gboquizosanchez/retroachievements

RetroAchievements.org API client for Laravel

Latest Stable Version Total Downloads PHP Laravel License: MIT

Fetch achievements, user stats, and game data from RetroAchievements.org directly in your Laravel app.

Overview

A Laravel package that wraps the full RetroAchievements API, giving you access to game data, user profiles, achievement lists, and more — with optional DTO mapping via spatie/laravel-data.

Note: You need a RetroAchievements account and a Web API key from your control panel to use this package.

📦 Installation

composer require gboquizosanchez/retroachievements

Add your credentials to .env:

RA_USERNAME=your_username
RA_WEB_API_KEY=your_api_key

Optionally, publish the configuration file:

php artisan vendor:publish --provider="RetroAchievements\RetroAchievementsServiceProvider"

🚀 Usage

Via facade

The facade reads credentials directly from your .env:

use Retroachievements\RetroClient;

RetroClient::getGame(gameId: 1);

Via the client directly

Useful when working with multiple accounts or custom credentials:

use Retroachievements\Data\AuthData;
use RetroAchievements\Models\RetroAchievements;

$auth = new AuthData(
    username: 'your_username',
    webApiKey: 'your_api_key',
);

$client = new RetroAchievements($auth);
$client->getGame(gameId: 1);

You can also use the default credentials from config:

$auth = new AuthData(...config('retro-achievements.credentials'));

🗺️ Response mapping

By default, the package maps responses to typed DTOs. You can switch to raw responses via .env:

# Default — typed DTOs via spatie/laravel-data
RA_DTO_MAPPING=true
RA_RAW_MAPPING=false

# Raw responses — disable DTO mapping first
RA_DTO_MAPPING=false
RA_RAW_MAPPING=true

RAW mapping only works when RA_DTO_MAPPING is set to false.

📚 Available methods

This package covers all endpoints from the RetroAchievements API. See RetroClient for the full method list.

🧪 Testing

composer test

Contributing

Contributions are welcome!

  • 🐛 Report bugs via GitHub Issues
  • 💡 Suggest features or improvements
  • 🔧 Submit pull requests with fixes or enhancements

Credits

📄 License

This package is open-source software licensed under the MIT License.

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-11-25