- 扩展包不再包含数据库文件,允许通过配置文件路径的方式

v6 v6.0.85
Chaim 4 years ago
parent ba21207cc7
commit c9c85bee47

@ -1,3 +1,6 @@
## v6.0.85 / 2020-07-17
- 扩展包不再包含数据库文件,允许通过配置文件路径的方式
## v6.0.84 / 2020-07-16
- 删除服务器签名验证(js和php方式不一致导致)

@ -131,3 +131,14 @@ try {
dump($e->getMessage());
}
```
## 纯真数据库
```php
use DtApp\ThinkLibrary\service\QqWryService;
// 配置存放的数据库的路径查看项目目录下的config.dtapp.php文件参数名 'ip_path'
// 获取IP信息
dump(QqWryService::instance()
->getLocation());
```

@ -28,7 +28,7 @@ use think\db\exception\ModelNotFoundException;
/**
* 定义当前版本
*/
const VERSION = '6.0.84';
const VERSION = '6.0.85';
if (!function_exists('get_ip_info')) {
/**

@ -18,6 +18,8 @@
// +----------------------------------------------------------------------
return [
// IP数据库文件存放位置
'ip_path' => app()->getRuntimePath() . 'dtapp/ip/',
// 淘宝
'taobao' => [
// 淘宝客

@ -19,6 +19,7 @@
namespace DtApp\ThinkLibrary\service\Ip;
use DtApp\ThinkLibrary\exception\DtaException;
use DtApp\ThinkLibrary\Service;
use Exception;
use think\App;
@ -32,6 +33,12 @@ class IpIpService extends Service
{
public $reader = null;
/**
* IP数据库文件存放位置
* @var mixed
*/
private $ipPath = '';
/**
* IpIpService constructor.
* @param App $app
@ -39,7 +46,9 @@ class IpIpService extends Service
*/
public function __construct(App $app)
{
$this->reader = new IpIpReader(__DIR__ . '/bin/ipipfree.ipdb');
$this->ipPath = config('dtapp.ip_path', '');
if (empty($this->ipPath)) throw new DtaException('请检查配置文件是否配置了IP数据库文件存放位置');
$this->reader = new IpIpReader($this->ipPath . 'ipipfree.ipdb');
parent::__construct($app);
}

Binary file not shown.

@ -61,14 +61,23 @@ class QqWryService extends Service
*/
private $unknown = '未知';
/**
* IP数据库文件存放位置
* @var mixed
*/
private $ipPath = '';
/**
* 构造函数,打开 QQWry.Dat 文件并初始化类中的信息
* @param App $app
* @throws DtaException
*/
public function __construct(App $app)
{
$this->ipPath = config('dtapp.ip_path', '');
if (empty($this->ipPath)) throw new DtaException('请检查配置文件是否配置了IP数据库文件存放位置');
$this->fp = 0;
if (($this->fp = fopen(__DIR__ . '/bin/qqwry.dat', 'rb')) !== false) {
if (($this->fp = fopen($this->ipPath . 'qqwry.dat', 'rb')) !== false) {
$this->firstIp = $this->getLong();
$this->lastIp = $this->getLong();
$this->totalIp = ($this->lastIp - $this->firstIp) / 7;
@ -399,7 +408,7 @@ class QqWryService extends Service
$district['lng'] = '';
if (!empty($province_name)) {
$json_province = json_decode(file_get_contents(__DIR__ . '/bin/province.json'), true);
$json_province = json_decode(file_get_contents($this->ipPath . 'province.json'), true);
foreach ($json_province['rows'] as $key => $value) {
if ($value['name'] == $province_name) {
$province['name'] = $value['name'];
@ -410,7 +419,7 @@ class QqWryService extends Service
}
}
if (!empty($city_name)) {
$json_city = json_decode(file_get_contents(__DIR__ . '/bin/city.json'), true);
$json_city = json_decode(file_get_contents($this->ipPath . 'city.json'), true);
foreach ($json_city['rows'] as $key => $value) {
if ($value['name'] == $city_name) {
$city['name'] = $value['name'];
@ -421,7 +430,7 @@ class QqWryService extends Service
}
}
if (!empty($district_name)) {
$json_district = json_decode(file_get_contents(__DIR__ . '/bin/district.json'), true);
$json_district = json_decode(file_get_contents($this->ipPath . 'district.json'), true);
foreach ($json_district['rows'] as $key => $value) {
if ($value['name'] == $district_name) {
$district['name'] = $value['name'];

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

@ -1,311 +0,0 @@
{
"rows": [
{
"adcode": "360000",
"people_count_2010": 43976312,
"lat": 28.676493,
"lng": 115.892151,
"name": "江西省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "410000",
"people_count_2010": 96486884,
"lat": 34.757975,
"lng": 113.665412,
"name": "河南省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "510000",
"people_count_2010": 85974759,
"lat": 30.659462,
"lng": 104.065735,
"name": "四川省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "500000",
"people_count_2010": 28458101,
"lat": 29.533155,
"lng": 106.504962,
"name": "重庆市",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "540000",
"people_count_2010": 2554907,
"lat": 29.660361,
"lng": 91.132212,
"name": "西藏自治区",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "520000",
"people_count_2010": 25119376,
"lat": 26.578343,
"lng": 106.713478,
"name": "贵州省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "210000",
"people_count_2010": 43149614,
"lat": 41.796767,
"lng": 123.429096,
"name": "辽宁省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "650000",
"people_count_2010": 29070614,
"lat": 43.792818,
"lng": 87.617733,
"name": "新疆维吾尔自治区",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "370000",
"people_count_2010": 94646230,
"lat": 36.675807,
"lng": 117.000923,
"name": "山东省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "310000",
"people_count_2010": 21135161,
"lat": 31.231706,
"lng": 121.472644,
"name": "上海市",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "820000",
"people_count_2010": null,
"lat": 22.198951,
"lng": 113.54909,
"name": "澳門特別行政區",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "140000",
"people_count_2010": 34364492,
"lat": 37.857014,
"lng": 112.549248,
"name": "山西省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "330000",
"people_count_2010": 53807755,
"lat": 30.287459,
"lng": 120.153576,
"name": "浙江省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "460000",
"people_count_2010": 42028870,
"lat": 20.031971,
"lng": 110.33119,
"name": "海南省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "350000",
"people_count_2010": 39026582,
"lat": 26.075302,
"lng": 119.306239,
"name": "福建省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "630000",
"people_count_2010": 5619543,
"lat": 36.623178,
"lng": 101.778916,
"name": "青海省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "640000",
"people_count_2010": 6466366,
"lat": 38.46637,
"lng": 106.278179,
"name": "宁夏回族自治区",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "420000",
"people_count_2010": 62160766,
"lat": 30.584355,
"lng": 114.298572,
"name": "湖北省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "620000",
"people_count_2010": 27957557,
"lat": 36.058039,
"lng": 103.823557,
"name": "甘肃省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "340000",
"people_count_2010": 57217014,
"lat": 31.86119,
"lng": 117.283042,
"name": "安徽省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "710000",
"people_count_2010": null,
"lat": 25.044332,
"lng": 121.509062,
"name": "台湾省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "610000",
"people_count_2010": 35876998,
"lat": 34.263161,
"lng": 108.948024,
"name": "陕西省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "450000",
"people_count_2010": 47082115,
"lat": 22.82402,
"lng": 108.320004,
"name": "广西壮族自治区",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "120000",
"people_count_2010": 15298136,
"lat": 39.125596,
"lng": 117.190182,
"name": "天津市",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "530000",
"people_count_2010": 72840959,
"lat": 25.040609,
"lng": 102.712251,
"name": "云南省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "230000",
"people_count_2010": 40734477,
"lat": 45.756967,
"lng": 126.642464,
"name": "黑龙江省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "440000",
"people_count_2010": 107131199,
"lat": 23.125178,
"lng": 113.280637,
"name": "广东省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "430000",
"people_count_2010": 67158313,
"lat": 28.19409,
"lng": 112.982279,
"name": "湖南省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "130000",
"people_count_2010": 106816280,
"lat": 38.045474,
"lng": 114.502461,
"name": "河北省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "150000",
"people_count_2010": 26353789,
"lat": 40.818311,
"lng": 111.670801,
"name": "内蒙古自治区",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "220000",
"people_count_2010": 26423220,
"lat": 43.886841,
"lng": 125.3245,
"name": "吉林省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "320000",
"people_count_2010": 79104628,
"lat": 32.041544,
"lng": 118.767413,
"name": "江苏省",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "110000",
"people_count_2010": 18934592,
"lat": 39.904989,
"lng": 116.405285,
"name": "北京市",
"level": "province",
"parent": "中华人民共和国"
},
{
"adcode": "810000",
"people_count_2010": null,
"lat": 22.320048,
"lng": 114.173355,
"name": "香港特別行政區",
"level": "province",
"parent": "中华人民共和国"
}
],
"total": 34
}

Binary file not shown.

@ -246,10 +246,6 @@ class HttpService extends Service
//初始一个curl会话
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->url);
if (!empty($xmlData)) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->data);
}
//设置超时
curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
if (empty($this->cert)) {

Loading…
Cancel
Save