48 lines
1.3 KiB
PHP
48 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: Administrator
|
|
* Date: 2019/7/17
|
|
* Time: 10:10
|
|
*/
|
|
|
|
namespace app\common\services\address;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use app\common\models\Address;
|
|
use app\common\services\Utils;
|
|
|
|
class GenerateAddressJs
|
|
{
|
|
public function address()
|
|
{
|
|
if (config('app.framework') == 'platform') {
|
|
$file_dir = base_path().DIRECTORY_SEPARATOR.'addons'.DIRECTORY_SEPARATOR.'yun_shop'.DIRECTORY_SEPARATOR.'static';
|
|
} else {
|
|
$file_dir = base_path().DIRECTORY_SEPARATOR.'static';
|
|
}
|
|
|
|
|
|
$b = $this->abcd();
|
|
$b = json_encode($b, JSON_UNESCAPED_UNICODE);
|
|
$str = 'var district ='.$b.';if (typeof define === "function") {define(district)} else {window.YDUI_DISTRICT = district}';
|
|
$ccc = file_put_contents($file_dir.DIRECTORY_SEPARATOR.'gov_province_city_area_id.js', $str);
|
|
return $ccc;
|
|
|
|
}
|
|
|
|
public function abcd($parentId = 0, $level = 1)
|
|
{
|
|
$a = Address::where('parentid', $parentId)->where('level', $level)->get()->toArray();
|
|
if (empty($a)) return [];
|
|
|
|
foreach ($a as $key => $value) {
|
|
$address[$key]['v'] = $value['id'];
|
|
$address[$key]['n'] = $value['areaname'];
|
|
$address[$key]['c'] = $this->abcd($value['id'], ($value['level'] + 1));
|
|
}
|
|
|
|
return $address;
|
|
}
|
|
|
|
} |