alopeyk/alopeyk-api-laravel

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

Laravel 5.* 集成 AloPeyk RESTful API

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

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

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

软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中产生的,与软件或其使用或任何其他方式有关。