therour / rajaongkir-laravel
RajaOngkir API for Laravel 5
dev-master
2018-04-20 22:53 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 04:48:59 UTC
README
Raja Ongkir API Laravel 5
当前版本的 rajaongkir api for laravel 仅适用于 入门级 账户
安装
通过 Composer
composer require therour/rajaongkir-laravel
将服务提供者添加到你的 Laravel 项目的 config/app.php
'providers' => [ .... Therour\RajaOngkir\RajaOngkirServiceProvider::class, ]
设置
在你的 Laravel 项目的 config/services.php 中添加你的凭证
.... 'rajaongkir' => [ 'base_uri' => env('RAJAONGKIR_BASE_URI', 'https://api.rajaongkir.com'), 'type' => env('RAJAONGKIR_type', 'starter'), 'key' => env('RAJAONGKIR_API_KEY', null), 'origin' => env('RAJAONGKIR_ORIGIN'), // if you have fixed origin city id, ]
缓存
此包还提供了对 RajaOngkir API 中可用的省份和城市的缓存,因此如果你的应用程序有缓存,则无需向 RajaOngkir 端点 API 发送请求。我们使用 cache('rajaongkir.provinces') 和 cache('rajaongkir.cities') 键对这些进行缓存。
要启用省份和城市的缓存,请将以下代码添加到你的 app\Providers\AppServiceProvider.php
use Therour\RajaOngkir\Facades\RajaOngkir; class AppServiceProvider extends ServiceProvider { public function boot() { .... RajaOngkir::shouldCache($expire = 60); // cache expires in 60 minutes } .... }
使用方法
使用 Facade
你需要将 RajaOngkir Facade 添加到你的 config/app.php 中的别名
'aliases' => [ .... 'RajaOngkir' => Therour\RajaOngkir\Facades\RajaOngkir::class, ]
通过 RajaOngkir 获取省份和城市
use RajaOngkir; $provinces = RajaOngkir::getProvinces; // return array of Therour\RajaOngkir\Province Objects $cities = RajaOngkir::getCities; // return array of Therour\RajaOngkir\Province Objects $myProvince = RajaOngkir::getProvince($id); // return a Therour\RajaOngkir\Province $citiesAroundMe = $myProvince->cities; // return array of Therour\RajaOngkir\City
计算运费
注意
代码
use RajaOngkir; // get calculation with default origin by your application service config $cost = RajaOngkir::calculate($destinationID, $weight, $courier); // get calculation with defining another origin $cost = RajaOngkir::from($originID)->calculate($destinationID, $weight, $courier); // another way to calculate with JNE courier $cost = RajaOngkir::from($originID)->to($destinationID)->withJne()->send($weight); // another way to calculate with TIKI courier $cost = RajaOngkir::from($originID)->to($destinationID)->withTiki()->send($weight); // another way to calculate with POS courier $cost = RajaOngkir::from($originID)->to($destinationID)->withPos()->send($weight);