irfa/raja-ongkir

"Laravel Raja Ongkir Package"

v1.33 2020-06-03 08:08 UTC

This package is auto-updated.

Last update: 2024-09-21 18:31:29 UTC


README

Scrutinizer Code Quality Build Status Latest Stable Version PHP

Buy Me A Coffee ko-fi

此包用于检查快递运费,此包可用于Laravel 5/6/7或PHP原生。 (目前仅支持入门级账户类型)

🛠️ 使用Composer安装

composer require irfa/raja-ongkir

您可以从这里获取Composer

🛠️ PHP原生设置

  <?php 
     require "vendor/autoload.php";
        
     use Irfa\RajaOngkir\Ongkir\Ongkir as RajaOngkir;
     ....

配置文件

配置位置: vendor/irfa/raja-ongkir/config/config.php

<?php
	$config = [
		'account_type' => 'your-account-type',

		'api_key' => 'your-api-key',
	];

您可以在Raja Ongkir 获取API密钥。
支持的账户类型:入门级。

🛠️ Laravel设置

添加到config/app.php

'providers' => [
      ....
         Irfa\RajaOngkir\RajaOngkirServiceProvider::class, 
     ];

添加到config/app.php

'aliases' => [
         ....
    'RajaOngkir' => Irfa\RajaOngkir\Facades\Ongkir::class,

    ],

发布供应商

php artisan vendor:publish --tag=raja-ongkir

打开.env文件并添加以下行

....
RAJAONGKIR_ACCOUNT_TYPE=starter
RAJAONGKIR_API_KEY=your-api-key
RAJAONGKIR_PROV_TABLE=ro_province
RAJAONGKIR_CITY_TABLE=ro_city
RAJAONGKIR_CACHE=database

🚀 缓存

缓存可以加快加载城市和省份的速度🚀。
您可以在config/irfa/rajaongkir.php或project_name/.env中更改缓存类型。
此功能目前仅支持Laravel框架

支持的缓存类型:数据库和文件
(如果您不想使用缓存,可以将它设置为null)

迁移城市和省份表

如果您想使用数据库缓存,您必须先运行迁移。

php artisan migrate

缓存省份、区县和城市


打开控制台/cmd并运行

php artisan raja-ongkir:cache all

缓存城市


打开控制台/cmd并运行

php artisan raja-ongkir:cache city

缓存省份


打开控制台/cmd并运行

php artisan raja-ongkir:cache province

清除缓存


打开控制台/cmd并运行

php artisan raja-ongkir:cache clear

刷新缓存


清除旧缓存并创建最新缓存。
打开控制台/cmd并运行

php artisan raja-ongkir:cache refresh

💻 使用方法

  use RajaOngkir;

检索所有省份

 $get = RajaOngkir::province()->get();
 foreach($get as $prov)
 {
	echo $prov->province_id."<br>"; // value = 1
	echo $prov->province."<br>";// value = Bali
 }

搜索省份

   $get = RajaOngkir::find(['province_id' => 1])->province()->get();
	echo $get->province_id."<br>"; // value = 1
	echo $get->province."<br>";// value = Bali

检索所有城市

$get = RajaOngkir::city()->get();
foreach($get as $city)
{
	echo $city->city_id."<br>"; // value = 17
	echo $city->province_id."<br>";// value = 1
	echo $city->province."<br>";// value = Bali
	echo $city->type."<br>"; // value = Kabupaten
	echo $city->city_name."<br>"; // value = Badung
	echo $city->postal_code."<br>"; // value = 80351
}

检索省份内的所有城市

    $get = RajaOngkir::find(['province_id' => 1])->city()->get();
    foreach($get as $city){
		echo $city->city_id."<br>"; // value = 17
		echo $city->province_id."<br>";// value = 1
		echo $city->province."<br>";// value = Bali
		echo $city->type."<br>"; // value = Kabupaten
		echo $city->city_name."<br>"; // value = Badung
		echo $city->postal_code."<br>"; // value = 80351
     }

检索快递

  $get = RajaOngkir::find(['origin'=>1,'destination'=>2,'weight'=>1000,'courier' => 'jne'])
	 ->courier()->get();
  foreach($get as $city)
  {
	echo $city->code."<br>"; // value = jne
	echo $city->name."<br>";// value = Jalur Nugraha Ekakurir (JNE)
  }

检索快递费用

 $params = ['origin'=>1,'destination'=>2,'weight'=>1000,'courier' => 'jne'
			   ];
     $get = RajaOngkir::find($params)->costDetails()->get();
     foreach($get as $cost)
     {
	echo "Courier Name: ".$cost->service."<br>";
	echo "Description: ".$cost->description."<br>";
	 foreach($cost->cost as $detail)
	 {
		echo "Harga: ".$detail->value."<br>";
		echo "Estimasi: ".$detail->etd."<br>";
		echo "Note: ".$detail->note."<br>";
		echo "<hr>";
	 }
      }

如何贡献?

  1. 分支它 (https://github.com/irfaardy/raja-ongkir/fork)
  2. 提交您的更改 (git commit -m 'New Feature')
  3. 将更改推送到分支 (git push origin master)
  4. 创建新的拉取请求

如果您发现错误或问题,请在此处发布 https://github.com/irfaardy/raja-ongkir/issues,以便它们可以一起维护。

如何贡献?

  1. 在(https://github.com/irfaardy/raja-ongkir/fork)进行分支
  2. 提交您所做的更改 (git commit -m 'Fitur Baru')
  3. 将更改推送到master分支 (git push origin master)
  4. 创建新的拉取请求

问题

如果您发现问题或错误,请在此处创建新问题 https://github.com/irfaardy/php-gacha/issues/new

如果您发现错误或问题,请在此处发布 https://github.com/irfaardy/raja-ongkir/issues,以便它们可以一起修复。