【类 型】:
【原 因】: 【过 程】: 【影 响】:
This commit is contained in:
parent
4b8d31b52a
commit
aa357b53d2
@ -1103,13 +1103,22 @@ class PlaneController extends PublicController
|
||||
{
|
||||
$where['is_active'] = 1;
|
||||
$mapStyleDb = D('map_styles');
|
||||
$field = array('id', 'name', 'sprite', 'glyphs', 'tiles', 'sort_order');
|
||||
$field = array('id', 'name', 'sprite', 'glyphs', 'url', 'sort_order');
|
||||
|
||||
$list = $mapStyleDb->where($where)->field($field)->order('sort_order ASC')->select();
|
||||
if ($list) {
|
||||
// 把 tiles 字段从 JSON 字符串解析成数组
|
||||
// 转换数据格式,保持向前兼容
|
||||
foreach ($list as &$style) {
|
||||
$style['tiles'] = json_decode($style['tiles'], true);
|
||||
// 如果url字段存在,使用url字段,否则保持旧的tiles字段(兼容旧数据)
|
||||
if (isset($style['url'])) {
|
||||
$style['tiles'] = [$style['url']];
|
||||
} else {
|
||||
// 兼容旧数据
|
||||
$style['tiles'] = json_decode($style['tiles'], true);
|
||||
$style['url'] = is_array($style['tiles']) ? $style['tiles'][0] : '';
|
||||
}
|
||||
// 确保glyphs有默认值
|
||||
$style['glyphs'] = $style['glyphs'] ?? 'mapbox://fonts/mapbox/{fontstack}/{range}.pbf';
|
||||
}
|
||||
|
||||
echo json_encode(array(
|
||||
@ -1152,7 +1161,7 @@ class PlaneController extends PublicController
|
||||
public function addMapStyle()
|
||||
{
|
||||
// 必填字段校验
|
||||
$required = ['name', 'tiles'];
|
||||
$required = ['name', 'url'];
|
||||
foreach ($required as $key) {
|
||||
if (!isset($_REQUEST[$key]) || $_REQUEST[$key] === '') {
|
||||
echo json_encode(['status' => 0, 'msg' => '参数缺失: ' . $key]);
|
||||
@ -1164,7 +1173,8 @@ class PlaneController extends PublicController
|
||||
'name' => $_REQUEST['name'],
|
||||
'sprite' => $_REQUEST['sprite'] ?? '',
|
||||
'glyphs' => $_REQUEST['glyphs'] ?? 'mapbox://fonts/mapbox/{fontstack}/{range}.pbf',
|
||||
'tiles' => is_array($_REQUEST['tiles']) ? json_encode($_REQUEST['tiles']) : $_REQUEST['tiles'],
|
||||
'url' => is_array($_REQUEST['url']) ? current($_REQUEST['url']) : $_REQUEST['url'],
|
||||
'tiles' => json_encode([is_array($_REQUEST['url']) ? current($_REQUEST['url']) : $_REQUEST['url']]), // 保持向后兼容
|
||||
'is_active' => isset($_REQUEST['is_active']) ? intval($_REQUEST['is_active']) : 1,
|
||||
'sort_order' => isset($_REQUEST['sort_order']) ? intval($_REQUEST['sort_order']) : 0
|
||||
];
|
||||
@ -1193,8 +1203,16 @@ class PlaneController extends PublicController
|
||||
if (isset($_REQUEST['name'])) $data['name'] = $_REQUEST['name'];
|
||||
if (isset($_REQUEST['sprite'])) $data['sprite'] = $_REQUEST['sprite'];
|
||||
if (isset($_REQUEST['glyphs'])) $data['glyphs'] = $_REQUEST['glyphs'];
|
||||
if (isset($_REQUEST['tiles'])) {
|
||||
$data['tiles'] = is_array($_REQUEST['tiles']) ? json_encode($_REQUEST['tiles']) : $_REQUEST['tiles'];
|
||||
if (isset($_REQUEST['url'])) {
|
||||
$url = is_array($_REQUEST['url']) ? current($_REQUEST['url']) : $_REQUEST['url'];
|
||||
$data['url'] = $url;
|
||||
$data['tiles'] = json_encode([$url]); // 保持向后兼容
|
||||
} elseif (isset($_REQUEST['tiles'])) {
|
||||
// 兼容旧的tiles参数
|
||||
$tiles = is_array($_REQUEST['tiles']) ? $_REQUEST['tiles'] : json_decode($_REQUEST['tiles'], true);
|
||||
$url = is_array($tiles) ? current($tiles) : $tiles;
|
||||
$data['url'] = $url;
|
||||
$data['tiles'] = is_array($tiles) ? json_encode($tiles) : $tiles;
|
||||
}
|
||||
if (isset($_REQUEST['is_active'])) $data['is_active'] = intval($_REQUEST['is_active']);
|
||||
if (isset($_REQUEST['sort_order'])) $data['sort_order'] = intval($_REQUEST['sort_order']);
|
||||
|
Loading…
Reference in New Issue
Block a user