ndtpro/nj-screenshot
最新稳定版本:v1.0.0
Composer 安装命令:
composer require ndtpro/nj-screenshot
包简介
Ninja Screenshot Tool for Laravel
关键字:
README 文档
README
Tool hỗ trợ chụp ảnh và lấy thông tin tài khoản Ninja School Online Teamobi
Yêu cầu
- Laravel >= 7
- API Key, Passphrase: Liên hệ Admin để lấy NDTpro
Cài đặt
- Cài từ composer
composer require ndtpro/nj-screenshot
- Hoặc cài từ git
- Thêm vào
composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/ndt-pro/nj-screenshot"
}
],
"require": {
"ndtpro/nj-screenshot": "^1.0"
}
}
- Chạy lệnh để cài đặt:
composer update
- Publish config ra app Laravel:
php artisan vendor:publish --tag=nj-screenshot-config
- Thêm API Key và Passphrase được cung cấp vào
.env:
NJ_SCREENSHOT_API_KEY- API KeyNJ_SCREENSHOT_PASSPHRASE- Passphrase
- Quan trọng: Thêm URL callback vào exception CSRF trong
app/Http/Middleware/VerifyCsrfToken.php:
protected $except = [ 'nj-screenshot/callback', ];
Sử dụng
Đẩy dữ liệu (Submit)
- Đẩy dữ liệu ngay khi thêm tài khoản bằng cách:
use Ndtpro\NjScreenshot\ScreenshotClient; $client = app(ScreenshotClient::class); $client->submit([ 'id' => 123, 'username' => 'ninjadeptrai', 'password' => 'matkhau', // mật khẩu gốc (không mã hóa) 'server' => 1, // bind máy chủ tương ứng ở dưới ]);
{
"bokken": 1,
"shuriken": 2,
"tessen": 3,
"kunai": 4,
"katana": 5,
"tone": 6,
"sanzu": 7,
"sensha": 8,
"fukiya": 9,
"tekkan": 10,
"daisho": 11
}
Đẩy dữ liệu tự động
- Trong trường hợp máy chủ của chúng tôi không hoạt động, để đảm bảo không bỏ sót vui lòng tạo schedule đẩy dữ liệu sau mỗi 5 phút bằng cách thêm vào
App\Console\Kernel.php
use Ndtpro\NjScreenshot\ScreenshotClient; protected function schedule(Schedule $schedule) { $schedule->call(function () { $client = app(ScreenshotClient::class); // Lấy danh sách tài khoản chưa được chụp ảnh và get dữ liệu // Đẩy từng tài khoản lên $client->submit([ 'id' => 123, 'username' => 'ninjadeptrai', 'password' => 'matkhau', 'server' => 1, ]); })->everyFiveMinutes(); }
Đăng ký Listener nhận dữ liệu
Trong app/Providers/EventServiceProvider.php:
use Ndtpro\NjScreenshot\Events\ScreenshotProcessed; protected $listen = [ ScreenshotProcessed::class => [ AccountListener::class, ], ];
Ví dụ Listener:
class AccountListener { public function handle(ScreenshotProcessed $event): void { $data = $event->data; // Dữ liệu server gửi về // Xử lý, lưu DB, v.v } }
Dữ liệu là json có dạng:
{
"action": "callback_info",
"callback_secret": "callback_secret",
"data": {
"CAPTURES": ["iVBORw0KGgoAAAANSUhEUg...", "iVBORw0KGgoAAAANSUhEUg...", "iVBORw0KGgoAAAANSUhEUg..."], // mảng json của ảnh
"INFO": {
"CHAR_BANG_HOA": 0,
"CHAR_CLAN": "",
"CHAR_CLAN_TYPE": 0, // chức vụ bang
"CHAR_CLASS": 6, // phái
"CHAR_DAMAGE": 4591.8,
"CHAR_DAMAGE_DOWN": 88,
"CHAR_EXACTLY": 154,
"CHAR_FATAL": 186,
"CHAR_GENDER": 1, // giới tính
"CHAR_HP": 4791,
"CHAR_HP_MAX": 4791,
"CHAR_KY_NANG_SO": 0,
"CHAR_LEVEL": 69, // cấp độ
"CHAR_LUONG": 180, // lượng
"CHAR_MISS": 221,
"CHAR_MOUNT_STAR": 0, // cấp độ thú cưỡi
"CHAR_MP": 5412,
"CHAR_MP_MAX": 5412,
"CHAR_NAME": "tennhanvat", // tên nhân vật
"CHAR_PHONG_LOI": 0,
"CHAR_PK": 0,
"CHAR_REACT_DAME": 143,
"CHAR_RES_FIRE": 274,
"CHAR_RES_ICE": 574,
"CHAR_RES_WIND": 241,
"CHAR_SYS_DOWN": 0,
"CHAR_SYS_UP": 140,
"CHAR_TIEM_NANG_SO": 0,
"CHAR_XU": 5000000, // xu
"CHAR_XU_IN_BOX": 0, // xu trong rương
"CHAR_YEN": 10000000, // yên
"WEAPON_LEVEL": 11 // cấp vũ khí
},
"id": 123
},
"id": 123,
"username": "ninjadeptrai",
"message": "Thành công",
"status": 1
}
Lấy thông tin Partner
use Ndtpro\NjScreenshot\ScreenshotClient; $client = app(ScreenshotClient::class); $result = $client->get();
- Kết quả bao gồm số tài khoản đã đẩy lên và giới hạn trong ngày:
{
"success": true,
"count": 4,
"limit": 80,
"message": "Thành công"
}
Lưu ý
- Dữ liệu trả về cho callback lớn, đảm bảo cấu hình body client size cho máy chủ đủ lớn để nhận dữ liệu
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-09