junoo/nso-auto-capture
Composer 安装命令:
composer require junoo/nso-auto-capture
包简介
Ninja School Online screenshot client package for Laravel.
README 文档
README
Package Laravel hỗ trợ gửi account Ninja School Online sang worker chụp ảnh và nhận callback ảnh/thông tin nhân vật.
Cài đặt
composer require junoo/nso-auto-capture
Nếu repo private:
{
"repositories": [
{
"type": "vcs",
"url": "git@github.com:xJunoo/nso-auto-capture.git"
}
],
"require": {
"junoo/nso-auto-capture": "^1.0"
}
}
Publish config:
php artisan vendor:publish --tag=nso-auto-capture-config
.env:
NSO_AUTO_CAPTURE_API_URL=http://api.tungduy.com/api/v1/ninja/capture NSO_AUTO_CAPTURE_PUSH_ENDPOINT=push-account NSO_AUTO_CAPTURE_INFO_ENDPOINT=api/get NSO_AUTO_CAPTURE_TIMEOUT=30
Nếu dùng route web, nhớ thêm callback vào CSRF exception:
protected $except = [ 'nso-auto-capture/callback', ];
Function push
use Junoo\NsoAutoCapture\ScreenshotClient; $client = app(ScreenshotClient::class); $result = $client->push([ 'id' => 123, 'username' => 'ninja-account', 'password' => 'matkhau-goc', 'server' => 1, 'charname' => 'TenNhanVat', ]);
push() mặc định gọi:
POST {NSO_AUTO_CAPTURE_API_URL}/push-account
Payload gửi đi đúng theo module hiện tại:
{
"callback_url": "https://shop.test/api/capture/nso/callback",
"charname": "TenNhanVat",
"id": 123,
"server": 1,
"username": "ninja-account",
"password": "matkhau-goc"
}
Get partner info
$result = app(ScreenshotClient::class)->get();
Package gọi:
GET {NSO_AUTO_CAPTURE_API_URL}/api/get
Callback event
Route callback mặc định:
POST /nso-auto-capture/callback
Function callback
Có thể nhận callback qua route package:
POST /nso-auto-capture/callback
Hoặc gọi trực tiếp trong route/module hiện tại:
use Junoo\NsoAutoCapture\ScreenshotClient; $result = app(ScreenshotClient::class)->callback($request->all());
callback() normalize payload rồi dispatch event ScreenshotProcessed.
Đăng ký listener trong app/Providers/EventServiceProvider.php:
use App\Listeners\SaveNsoCaptureResult; use Junoo\NsoAutoCapture\Events\ScreenshotProcessed; protected $listen = [ ScreenshotProcessed::class => [ SaveNsoCaptureResult::class, ], ];
Listener mẫu:
namespace App\Listeners; use Junoo\NsoAutoCapture\Events\ScreenshotProcessed; class SaveNsoCaptureResult { public function handle(ScreenshotProcessed $event) { $data = $event->data; $accountId = $data['id'] ?? data_get($data, 'data.id'); $captures = data_get($data, 'data.CAPTURES', []); $info = data_get($data, 'data.INFO', []); // Lưu ảnh và update GameAccounts tại đây. } }
Payload callback:
{
"id": 123,
"username": "ninja-account",
"status": 1,
"message": "Thành công",
"data": {
"id": 123,
"CAPTURES": {
"TRANGBI1": "iVBORw0KGgoAAAANSUhEUg...",
"THONGTIN1": "iVBORw0KGgoAAAANSUhEUg..."
},
"INFO": {
"CHAR_NAME": "tennhanvat",
"CHAR_LEVEL": 69,
"CHAR_CLASS": 6,
"CHAR_XU": 5000000,
"CHAR_YEN": 10000000,
"CHAR_XU_IN_BOX": 0
}
}
}
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-18