承接 ndtpro/nj-screenshot 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

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

  1. Cài từ composer
composer require ndtpro/nj-screenshot
  1. 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
  1. Publish config ra app Laravel:
php artisan vendor:publish --tag=nj-screenshot-config
  1. Thêm API Key và Passphrase được cung cấp vào .env:
  • NJ_SCREENSHOT_API_KEY - API Key
  • NJ_SCREENSHOT_PASSPHRASE - Passphrase
  1. 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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固