Giter Site home page Giter Site logo

baitongda / region Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yupoxiong/region

0.0 0.0 0.0 2.06 MB

ThinkPHP5/6省市区(县)街道四级联动扩展

Home Page: https://bearadmin.yufuping.com/region.html

License: Apache License 2.0

PHP 77.16% HTML 22.84%

region's Introduction

ThinkPHP省市区(县)街道四级联动扩展

支持 TP5.0.*TP5.1.* 还有 TP6.0 ,搜索功能支持汉字,支持拼音,首字母搜索。

安装

第一步:安装扩展

Composer 运行扩展安装命令

composer require yupoxiong/region
第二步:创建数据表

复制vendor/yupoxiong/region/database/migrations目录下的数据库迁移文件到TP迁移目录(一般是 /database/migrations/ ),然后运行TP自带迁移命令创建表。

TP5.1 版本可以直接运行以下两个命令完成安装

php think region:publish

php think region:migrate

TP6.0 版本可以直接运行以下命令完成安装

php think region:migrate

添加路由

TP5.0 在 /application/route.php 中追加,TP5.1 在 /route/route.php 中追加。

Route::alias('region','\yupoxiong\region\RegionController');

TP6.0版本已经去掉别名路由,可以在路由配置里添加以下路由(多应用模式在应用路由里添加):

Route::group('region',function (){
    Route::any('getRegion','\yupoxiong\region\RegionController@getRegion');
    Route::any('getProvince','\yupoxiong\region\RegionController@getProvince');
    Route::any('getCity','\yupoxiong\region\RegionController@getCity');
    Route::any('getDistrict','\yupoxiong\region\RegionController@getDistrict');
    Route::any('getStreet','\yupoxiong\region\RegionController@getStreet');
    Route::any('searchRegion','\yupoxiong\region\RegionController@searchRegion');
    Route::any('searchProvince','\yupoxiong\region\RegionController@searchProvince');
    Route::any('searchCity','\yupoxiong\region\RegionController@searchCity');
    Route::any('searchDistrict','\yupoxiong\region\RegionController@searchDistrict');
    Route::any('searchStreet','\yupoxiong\region\RegionController@searchStreet');
});

使用

获取地区(最常用的方式)
  • url /region/getRegion
  • 参数 parent_id ,可不传(默认0)获取省份,传入上级 id 即可获取该 id 对应的下级
获取省
  • url /region/getProvince
  • 参数 无
获取市
  • url /region/getCity
  • 参数 parent_id ,传入所属省 id 即可获取该省下面的市
获取区
  • url /region/getDistrict
  • 参数 parent_id ,传入所属市 id 即可获取该市下面的区(县)
获取街道
  • url /region/getStreet
  • 参数 parent_id ,传入所属区(县) id 即可获取该市下面的街道
搜索地区
  • url /region/searchRegion
  • 参数 keywords ,搜索地区的关键字
  • 参数 parent_id ,搜索地区的父级 id ,默认0为搜索省份
搜索省
  • url /region/searchProvince
  • 参数 keywords ,搜索地区的关键字
搜索市
  • url /region/searchCity
  • 参数 keywords ,搜索地区的关键字
  • 参数 parent_id ,所属省 id
搜索区
  • url /region/searchDistrict
  • 参数 keywords ,搜索地区的关键字
  • 参数 parent_id ,所属市 id
搜索街道
  • url /region/searchStreet
  • 参数 keywords ,搜索街道的关键字
  • 参数 parent_id ,所属区(县) id

可选配置

可在配置文件中添加以下配置,5.0.* 在 /application/config.php 中追加。

//获取省市区街道缓存、查询字段配置
'region' => [
    //查询缓存秒数,false为不缓存
    'cache' => 20140210,
    //查询字段,可选项:id,name,parent_id,initial,pinyin,citycode,adcode,lng_lat
    'field' => 'id,name',
    //排序,默认为adcode正序
    'order' => 'adcode asc',
]
    

5.1.* 和 6.0 直接运行以下命令即可在 config 目录下生成 region.php 配置文件。

php think region:publish

Facade

TP5.1 和 TP6.0 可以在开发中直接使用以下代码获取数据:

\yupoxiong\region\facade\Region::getProvince();
//更多可参考该类

测试相关

安装配置好之后可以将vendor/yupoxiong/region/tests/region.html放到项目public目录下访问测试扩展是否可用

点此查看demo

region's People

Contributors

yupoxiong avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.