alopeyk/alopeyk-api-laravel

此包已被废弃且不再维护。未建议替代包。

Laravel 5.* 集成 AloPeyk RESTful API

安装数: 1,125

依赖者: 0

建议者: 0

安全性: 0

星标: 13

关注者: 3

分支: 12

开放问题: 9

类型:package

v2.0.0 2020-07-04 04:33 UTC

This package is auto-updated.

Last update: 2020-07-04 04:41:10 UTC


README

License Latest Stable Version Monthly Downloads

此包旨在方便开发适用于AloPeyk RESTful API的应用程序。有关此API的更多信息,请访问AloPeyk 文档

⚠️ 使用 v1.0.7 版本与 Laravel 5 集成

安装

首先,您需要一个 ACCESS-TOKEN。所有Alopeyk API端点都支持JWT身份验证协议。要开始发送经过身份验证的HTTP请求,您需要使用发送给您的JWT授权令牌。然后,您可以使用以下命令使用Composer安装此包:

composer require alopeyk/alopeyk-api-laravel

到Packagist的链接: https://packagist.org.cn/packages/alopeyk/alopeyk-api-laravel

安装此包需要

  • Laravel 7+

通过Composer安装,编辑您的composer.json以要求此包。

"require": {
    "alopeyk/alopeyk-api-laravel": "2.*"
}

然后,在终端中运行 composer update 以获取它。

完成后,您需要将服务提供者添加到app.php配置中的providers数组中,如下所示

AloPeyk\Api\RESTful\Provider\AloPeykServiceProvider::class

接下来,在app.php配置文件中,在aliases数组下,您可能还想添加JWTAuth外观。

'AloPeykApiHandler' => AloPeyk\Api\RESTful\Facade\AloPeykApiHandlerFacade::class,

最后,您可以使用以下命令发布配置:

$ php artisan vendor:publish --tag=alopeyk

使用方法

<?php

namespace App\Http\Controllers;

use AloPeyk\Api\RESTful\Model\Address;
use AloPeyk\Api\RESTful\Model\Location;
use AloPeyk\Api\RESTful\Model\Order;
use AloPeykApiHandler;

class TestController extends Controller
{
    public function authenticate()
    {
        dd(AloPeykApiHandler::authenticate());
    }

    public function getLocation()
    {
        dd(Location::getAddress("35.732595", "51.413379"));
    }

    public function locSuggestion()
    {
        dd(Location::getSuggestions("آرژ"));
    }

    public function getPrice()
    {
        /*
         * Create Origin Address
         */
        $origin = new Address('origin', 'tehran', '35.723711', '51.410547');
        /*
         * Create First Destination
         */
        $firstDest = new Address('destination', 'tehran', '35.728457', '51.436969');

        /*
         * Create Second Destination
         */
        $secondDest = new Address('destination', 'tehran', '35.729379', '51.418151');

        /*
         * Create New Order
         */
        $order = new Order('motor_taxi', $origin, [$firstDest, $secondDest]);
        $order->setHasReturn(true);

        $apiResponse = $order->getPrice();

        dd($apiResponse);
    }

    public function createOrder()
    {
        /*
         * Create Origin: Behjat Abad
         */
        $origin = new Address('origin', 'tehran', '35.755460', '51.416874');
        $origin->setAddress("... Behjat Abad, Tehran");
        $origin->setDescription("Behjat Abad");                                            // optional
        $origin->setUnit("44");                                                            // optional
        $origin->setNumber("1");                                                           // optional
        $origin->setPersonFullname("Leonardo DiCaprio");                                   // optional
        $origin->setPersonPhone("09370000000");                                            // optional

        /*
         * Create First Destination: N Sohrevardi Ave
         */
        $firstDest = new Address('destination', 'tehran', '35.758495', '51.442550');
        $firstDest->setAddress("... N Sohrevardi Ave, Tehran");
        $firstDest->setDescription("N Sohrevardi Ave");                                    // optional
        $firstDest->setUnit("55");                                                         // optional
        $firstDest->setNumber("2");                                                        // optional
        $firstDest->setPersonFullname("Eddie Redmayne");                                   // optional
        $firstDest->setPersonPhone("09380000000");                                         // optional


        /*
         * Create Second Destination: Ahmad Qasir Bokharest St
         */
        $secondDest = new Address('destination', 'tehran', '35.895452', '51.589632');
        $secondDest->setAddress("... Ahmad Qasir Bokharest St, Tehran");
        $secondDest->setDescription("Ahmad Qasir Bokharest St");                            // optional
        $secondDest->setUnit("66");                                                         // optional
        $secondDest->setNumber("3");                                                        // optional
        $secondDest->setPersonFullname("Matt Damon");                                       // optional
        $secondDest->setPersonPhone("09390000000");                                         // optional

        $order = new Order('motor_taxi', $origin, [$firstDest, $secondDest]);
        $order->setHasReturn(true);

        $apiResponse = $order->create($order);
    
        dd($apiResponse);
    }

    public function getOrderDetails()
    {        
        // $orderID = "   352 ";     // works fine as 300
        // $orderID = "   352<p>";   // works fine as 300
        // $orderID = '';            // throws AloPeykException
        // $orderID = null;          // throws AloPeykException
        $orderID = 352;
        $apiResponse = Order::getDetails($orderID);
            
        dd($apiResponse);
    }

    public function cancelOrder()
    {
        $apiResponse = null;
        
        // $orderID = "   300 ";     // works fine as 300
        // $orderID = "   300<p>";   // works fine as 300
        // $orderID = '';            // throws AloPeykException
        // $orderID = null;          // throws AloPeykException
        $orderID = 353;
        $apiResponse = Order::cancel($orderID);
        
        dd($apiResponse);
    }
}

许可

此包在 MIT 许可证 下发布。

版权所有 (c) 2012-2017 Markus Poerschke

特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人进行此类操作,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、适用于特定目的和无侵犯性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论该责任基于合同、侵权或其他方式,无论该责任源于、源于或与软件或使用或以其他方式处理软件有关。