jstalinko/tokoshani-vipreseller

TokoShani 与 vip-reseller.co.id 提供商集成

dev-main 2024-08-06 04:28 UTC

This package is auto-updated.

Last update: 2024-09-06 04:37:09 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

这里应该放置您的描述。尽量限制在一两段之内,并提及您支持的PSRs以避免用户和贡献者的任何混淆。

安装

您可以通过composer安装此包

composer require jstalinko/tokoshani-vipreseller

使用方法

在Laravel控制器中

php artisan make:controller VipresellerController
namespace Jstalinko\TokoshaniVipreseller\Http\Controllers;

use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Jstalinko\TokoshaniVipreseller\TokoshaniVipreseller;
use PhpParser\Node\Expr\Cast\Object_;
use stdClass;

class VipresellerController extends Controller
{
    protected $vipreseller;

    public function __construct(TokoshaniVipreseller $vipreseller)
    {
        $this->vipreseller = $vipreseller;
    }

    public function buildResponse(bool $success, int $code, array|stdClass $data): JsonResponse
    {
        $response['success'] = $success;
        $response['code'] = $code;
        $response['shnData'] = $data;
        $response['x-api'] = "jstalinko/tokoshani-vipreseller";

        return response()->json($response, $code, [], JSON_PRETTY_PRINT);
    }

    public function getProfile()
    {
        try {
            $profile = $this->vipreseller->getProfile();
            return $this->buildResponse(true, 200, json_decode($profile, true));
        } catch (Exception $e) {
            return $this->buildResponse(false, 500, ['errors' => $e]);
        }
    }

    public function getGameFeatureServices(Request $request): JsonResponse
    {
        try {
            $filterType = $request->filter_type ?? null;
            $filterValue = $request->filter_value ?? null;
            $filterStatus = $request->filter_status ?? null;

            $games = $this->vipreseller->getGameFeatureServices($filterType, $filterValue, $filterStatus);
            return $this->buildResponse(true, 200, json_decode($games, true));
        } catch (Exception $e) {
            return $this->buildResponse(false, 500, ['errors' => $e]);
        }
    }
    public function getPrepaidServices(Request $request): JsonResponse
    {

        try {
            $filterType = $request->filter_type ?? null;
            $filterValue = $request->filter_value ?? null;
            $prepaid = $this->vipreseller->getPrepaidServices($filterType, $filterValue);
            return $this->buildResponse(true, 200, json_decode($prepaid, true));
        } catch (Exception $e) {
            return $this->buildResponse(false, 500, ['errors' => $e]);
        }
    }

    public function getCheckNickname(Request $request): JsonResponse
    {

        try {
            $target = $request->target;
            $additional_target = $request->additional_target ?? null;
            $type = $request->type;
            $getNickname = $this->vipreseller->getNickname($type, $target, $additional_target);
            return $this->buildResponse(true, 200, json_decode($getNickname, true));
        } catch (Exception $e) {
            return $this->buildResponse(false, 500, ['errors' => $e]);
        }
    }
}

使用API

curl -s "https://:8000/shn-api/profile"

测试

composer test

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

安全性

如果您发现任何安全相关的问题,请通过电子邮件 alinkokomansuby@gmail.com 而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

Laravel Package Boilerplate

此包是使用Laravel Package Boilerplate生成的。