where('status', 1) ->field('id, name, seat_map') ->select() ->toArray(); $templateData = []; foreach ($templates as $t) { $seatMap = json_decode($t['seat_map'] ?? '{}', true); // 补全缺失的 room.id(老格式 seat_map 里没有 id 字段) if (!empty($seatMap['rooms'])) { foreach ($seatMap['rooms'] as $rIdx => &$room) { if (empty($room['id'])) { $room['id'] = 'room_' . $rIdx; } } unset($room); } $t['seat_map'] = $seatMap; $templateData[] = $t; } $initData = [ 'isTicket' => $isTicket, 'vrGoodsConfig' => $vrGoodsConfig, 'templates' => $templateData, ]; $jsonInitData = base64_encode(json_encode($initData, JSON_UNESCAPED_UNICODE)); $html = <<
暂无启用的场馆模板。

► 场馆配置:{{ getTemplateName(config.template_id) }}

{{ session._error }}
该场馆内无放映室/演播厅数据

• {{ getRoomName(config.template_id, roomId) }}

该放映室无分区数据
EOF; return $html; } private static function table($name) { return 'vr_' . $name; } }