bigperson/laravel-vk-geo

从vk.com API解析国家、地区和城市

0.1.4 2019-07-12 13:20 UTC

This package is auto-updated.

Last update: 2024-09-13 00:13:18 UTC


README

GitHub license StyleCI

此包提供了一种方便的方法,使用vk.com API导入国家、地区和城市。

此包使用atehnix/vk-client执行请求。使用的是同步请求,如果您想不断更新数据,请使用包atehnix/laravel-vk-requester

内容

  • 安装
  • 导入数据
  • 使用

安装

您可以使用composer安装此包

composer require bigperson/laravel-vk-geo

然后需要在config/app.php中注册新的服务提供者

...
'providers' => [
    ...
     Bigperson\VkGeo\VkGeoServiceProvider::class,
],
...

配置

首先需要创建数据库中的必要表,可以使用Artisan导入包中的迁移文件

php artisan vendor:publish --provider=Bigperson\VkGeo\VkGeoServiceProvider

还会创建一个名为config/vk-geo.php的配置文件。之后需要应用迁移

php artisan migrate

在.env文件中添加您的vk应用程序的数据

VKONTAKTE_KEY=
VKONTAKTE_SECRET=
VKONTAKTE_REDIRECT_URI=

还需要获取应用程序的令牌(在哪里获取API令牌?)并将其添加到.env

VKONTAKTE_TOKEN=

或者可以在config/vk-geo.php中重定义令牌。

导入通过控制台进行。

导入所有国家

php artisan vk:import-countries

导入地区

导入所有国家的地区

php artisan vk:import-regions

也可以按id导入特定国家的数据

php artisan vk:import-regions --countryId=1 --countryId=2

导入城市

按国家导入城市

php artisan vk:import-cities --countryId=1 --countryId=2

按地区导入城市

php artisan vk:import-cities --regionId=1014032 --regionId=1048584

如果您需要导入所有国家和所有地区的数据,则可以启动不带参数的命令,但这种做法尚未经过测试,可能会出现与VK服务器响应相关的错误。您也可以创建自定义命令,继承自原始命令。

使用

使用此包非常简单。包中包含城市、地区和国家的Eloquent模型(City, Region, Country)。您可以在控制器中调用这些模型

namespace App\Http\Controllers;

use Bigperson\VkGeo\Models\City;

class Controller
{
    protected function show($name){

        $city = City::where('title', $name)->first();

    }
}

每个模型都有titleid,城市有area(区域),模型之间也设置了关系。如有需要,您也可以重定义它们。

许可证

MIT