定制 ydjharris/china-area 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ydjharris/china-area

Composer 安装命令:

composer require ydjharris/china-area

包简介

China Province City Area From JD.COM

README 文档

README

这是一个提供「全国省市县乡镇街道」数据的轮子

试过了很多数据来源(国家统计局、网上其他开发者提供的json等),发现还是会有小部分省市有遗漏。

这个包的数据是来自于京东,相对来说会更准确、详尽一些。

内部自带京东「省市县乡镇街道」数据爬虫,用户可以自行运行爬取最新的「省市县乡镇街道」数据

原项目地址

https://github.com/aoxiang594/laravel-province-city-area

Composer 安装

composer require ydjharris/china-area

生成数据库迁移文件:

php artisan vendor:publish --provider="Ydjharris\Area\ChinaAreaServiceProvider" --tag="migrations"

执行数据库迁移

php artisan migrate

最后一步:从京东获取新的「省市县乡镇街道」数据

php artisan area:refreshData

其他

php artisan area:refreshData -d:file|jd 更新数据有一个参数 driver

参数值 说明
file 从本地资源中获取数据,file是默认值
jd 从京东获取抓取最新数据
php artisan area:refreshData

您选择从本地文件中载入省市县数据
如果您要强制从京东获取,请执行php artisan area:refreshData -d jd
已从本地加载数据完毕,共48054条
数据最后更新时间:2019-06-08 22:50:30
正在插入数据库
48054/48054 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
数据已更新完成
共插入:48054条数据,其中省级行政区:34,城市:457,区县:5171,乡镇街道:42392

php artisan area:refreshData -d jd

获取数据成功:云南昆明市盘龙区双龙街道
获取数据成功:云南昆明市盘龙区松华街道
获取数据成功:云南昆明市盘龙区城区
获取数据成功:云南昆明市盘龙区拓东街道
获取数据成功:云南昆明市盘龙区鼓楼街道
获取数据成功:云南昆明市盘龙区东华街道
获取数据成功:云南昆明市盘龙区联盟街道
获取数据成功:云南昆明市盘龙区金辰街道
获取数据成功:云南昆明市盘龙区青云街道
获取数据成功:云南昆明市盘龙区龙泉街道
获取数据成功:云南昆明市盘龙区茨坝街道
获取数据成功:云南昆明市盘龙区滇源街道
获取数据成功:云南昆明市五华区
获取数据成功:云南昆明市五华区沙朗镇
获取数据成功:云南昆明市五华区厂口镇
获取数据成功:云南昆明市五华区高新区
获取数据成功:云南昆明市五华区城区
获取数据成功:云南昆明市五华区华山街道
获取数据成功:云南昆明市五华区护国街道
获取数据成功:云南昆明市五华区大观街道
获取数据成功:云南昆明市五华区龙翔街道
获取数据成功:云南昆明市五华区丰宁街道
获取数据成功:云南昆明市五华区莲华街道
获取数据成功:云南昆明市五华区红云街道
获取数据成功:云南昆明市五华区黑林铺街道
获取数据成功:云南昆明市五华区普吉街道
获取数据成功:云南昆明市五华区西翥街道
正在插入数据库
 48054/48054 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
数据已更新完成
共插入:48054条数据,其中省级行政区:34,城市:457,区县:5171,乡镇街道:42392

Demo

<?php

namespace App\Http\Controllers;

use Aoxiang\Pca\ProvinceCityArea;
use Illuminate\Routing\Controller as BaseController;

class Controller  extends BaseController{
    public function getProvinceList()
    {
        return response()->json(ProvinceCityArea::getProvinceList());
    }
    
    public function getProvince()
    {
        return response()->json(ProvinceCityArea::getProvinceList());
    }

    public function getCity($provinceId)
    {
        if (empty($provinceId)) {
            return response()->json([]);
        }
        return response()->json(ProvinceCityArea::getCityList($provinceId));
    }

    public function getArea($cityId)
    {
        if (empty($cityId)) {
            return response()->json([]);
        }
        return response()->json(ProvinceCityArea::getAreaList($cityId));
    }
    
    
    public function getAllProvince()
    {
        return response()->json(ProvinceCityArea::getAllProvince());
    }
    
    public function getAllCity()
    {
        return response()->json(ProvinceCityArea::getAllCity());
    }
    public function getAllArea()
    {
        return response()->json(ProvinceCityArea::getAllArea());
    }
    public function getAllStreet()
    {
        return response()->json(ProvinceCityArea::getAllStreet());
    }
    

    public function test()
    {
        echo ProvinceCityArea::getName(21, 1827, 40847, 53114);
        //echo "江西南昌市西湖区系马桩街道";
    }
}

ydjharris/china-area 适用场景与选型建议

ydjharris/china-area 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.05k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 01 月 27 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 ydjharris/china-area 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ydjharris/china-area 我们能提供哪些服务?
定制开发 / 二次开发

基于 ydjharris/china-area 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 3.05k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 31
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-01-27