simonproud/laravel-vk-geo

从 vk.com API 解析国家、地区和城市。这是 bigperson/laravel-vk-geo 的分支。

2.4 2020-08-07 06:42 UTC

This package is auto-updated.

Last update: 2024-09-25 16:05:46 UTC


README

GitHub license StyleCI

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

该包使用 atehnix/vk-client 来执行请求。如果需要不断更新数据,请使用包 atehnix/laravel-vk-requester

内容

  • 安装
  • 导入数据
  • 使用

安装

您可以使用 composer 安装此包

composer require simonproud/laravel-vk-geo

接下来,需要在 config/app.php 中注册新的服务提供者

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

配置

首先,需要在数据库中创建必要的表,为此请使用 artisan 导入包中的迁移文件

php artisan vendor:publish --provider=Simonproud\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 Simonproud\VkGeo\Models\City;

class Controller
{
    protected function show($name){

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

    }
}

每个模型都有 titleid,城市还有 area(区域),并且已设置模型之间的关联。如有需要,也可以自定义它们。

许可

MIT