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