simonproud / laravel-vk-geo
从 vk.com API 解析国家、地区和城市。这是 bigperson/laravel-vk-geo 的分支。
2.4
2020-08-07 06:42 UTC
Requires
- php: >=5.5.9
- atehnix/vk-client: ^1.0.0
- laravel/framework: ~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|~7
This package is auto-updated.
Last update: 2024-09-25 16:05:46 UTC
README
该包提供了一种方便的方法,通过使用 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(); } }
每个模型都有 title
和 id
,城市还有 area
(区域),并且已设置模型之间的关联。如有需要,也可以自定义它们。