haryit/smile-one
最新稳定版本:v1.0.2
Composer 安装命令:
composer require haryit/smile-one
包简介
关键字:
README 文档
README
About
This package is specifically designed for the Smile.one , offering a simple and efficient method to purchase Smile One products using Laravel. Note - Currently, this package is intended for Mobile Legends Product from SmileOne
Installation
composer require haryit/smile-one
Configuration
You will need to publish the configuration file to your application. You can do this using the following command:
php artisan vendor:publish --tag="smileone-config"
After publishing the package's configuration file, you will find the file at config/smileone.php. You will need to fill out the necessary data in this file to use the package.
The dafault region is Brazil.
Usage samples
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Hary\SmileOne\SmileOne; // Pastikan ini di-import use Hary\SmileOne\Exceptions\SmileOneException; // Import Exception untuk penanganan error use Illuminate\Support\Facades\Http; // Gunakan Laravel HTTP Facade class SmileOneController extends Controller { /** * Properti untuk menyimpan objek SmileOne. * @var SmileOne */ private $smileOneApi; /** * DIUBAH: Menggunakan Dependency Injection. * Laravel akan secara otomatis membuat objek SmileOne dan memasukkannya ke dalam controller. * Objek ini akan tersedia untuk semua metode melalui $this->smileOneApi. */ public function __construct(SmileOne $smileOneApi) { $this->smileOneApi = $smileOneApi; } public function sendDataToSmileOne() { // Data yang akan dikirim $productName = 'magicchessgogo'; $productId = '23881'; // Contoh ID produk // Data untuk body request $payload = [ 'user_id' => '13503190', 'user_zone_id' => '4186', 'region' => 'id' // Opsional, jika tidak ada akan default 'br' ]; // URL lengkap ke endpoint Anda // Pastikan APP_URL di .env sudah benar (misal: http://127.0.0.1:8000) $url = config('app.url') . "/public/api/smileone/{$productName}/{$productId}/check-points"; // Kirim request POST dengan Guzzle (via Laravel HTTP Facade) $response = Http::post($url, $payload); return $response; // Cek apakah request berhasil if ($response->successful()) { // Lakukan sesuatu dengan response JSON $data = $response->json(); return response()->json(['message' => 'Sukses mengambil data dari SmileOne', 'data' => $data]); } else { // Tangani jika terjadi error return response()->json(['message' => 'Gagal menghubungi endpoint', 'error' => $response->body()], $response->status()); } } /** * Mengambil daftar produk berdasarkan nama produk dan region. */ public function getProductList(Request $request, $productName) { $region = $request->input('region', 'br'); // Default ke 'br' jika tidak ada // DIUBAH: Gunakan objek yang sudah di-inject $list = $this->smileOneApi->setProduct($productName)->getProductList($region); return response()->json($list); } /** * Mengambil total SmilePoints yang tersedia. */ public function getPoints(Request $request, $productName) { $region = $request->input('region', 'br'); // DIUBAH: Gunakan objek yang sudah di-inject $points = $this->smileOneApi->setProduct($productName)->getPoints($region); return response()->json($points); } /** * Mengambil produk utama. */ public function getProduct(Request $request, $productName) { $region = $request->input('region', 'br'); // DIUBAH: Gunakan objek yang sudah di-inject $product = $this->smileOneApi->setProduct($productName)->getProduct($region); return response()->json($product); } /** * Mengecek poin pengguna dengan User ID dan User Zone ID. */ public function checkProductPoints(Request $request, $productName, $productId) { $validated = $request->validate([ 'user_id' => 'required|string', 'user_zone_id' => 'required|string', 'region' => 'sometimes|string', ]); $region = $validated['region'] ?? 'br'; // DIUBAH: Gunakan objek yang sudah di-inject $result = $this->smileOneApi ->setProduct($productName, $productId) ->setUser($validated['user_id'], $validated['user_zone_id']) ->checkProductPoints($region); return response()->json($result); } /** * Melakukan pembelian produk. */ public function purchase(Request $request, $productName, $productId) { $validated = $request->validate([ 'user_id' => 'required|string', 'user_zone_id' => 'required|string', 'region' => 'sometimes|string', ]); $region = $validated['region'] ?? 'br'; // DIUBAH: Gunakan objek yang sudah di-inject $result = $this->smileOneApi ->setProduct($productName, $productId) ->setUser($validated['user_id'], $validated['user_zone_id']) ->purchase($region); return response()->json($result); } }
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-14