prepare("SELECT cfg_key, cfg_value FROM shop_config WHERE cfg_key IN ('packmoney','green_discount','cart_backpack_rate','cart_shulker_rate')"); $result = $stmt->execute(); $map = ['packmoney' => 5, 'green_discount' => 10, 'cart_backpack_rate' => '0.98', 'cart_shulker_rate' => '1.00']; // 默认值 while ($row = $result->fetchArray(SQLITE3_ASSOC)) { $map[$row['cfg_key']] = $row['cfg_value']; } return $map; } catch (Exception $e) { return ['packmoney' => 5, 'green_discount' => 10, 'cart_backpack_rate' => '0.98', 'cart_shulker_rate' => '1.00']; } } $cfg = cashierGetConfig(); $packMoney = (float)$cfg['packmoney']; $greenDiscount = (float)$cfg['green_discount']; $backpackRate = (float)($cfg['cart_backpack_rate'] ?? 0.98); $shulkerRate = (float)($cfg['cart_shulker_rate'] ?? 1.00); $loggedIn = isAdminLoggedIn() || isCashierLoggedIn(); $initialRole = 'guest'; $initialName = ''; $initialLimit = 0; $initialCanCash = 0; // ★ 默认:游客(未登录)无现金收款权限,避免下方 json_encode 报未定义变量 if (isAdminLoggedIn()) { $initialRole = 'admin'; $initialName = 'admin'; $initialLimit = 100; $initialCanCash = 1; // 管理员始终可进行现金收款 } elseif (isCashierLoggedIn()) { $c = getCurrentCashier(); $initialRole = 'cashier'; $initialName = $c['username']; $initialLimit = $c['discount_limit_percent']; $initialCanCash = (int)($c['can_cash'] ?? 0); } $initialState = json_encode([ 'logged_in' => $loggedIn, 'role' => $initialRole, 'username' => $initialName, 'discount_limit' => $initialLimit, 'cashier_can_cash' => $initialCanCash, 'packmoney' => $packMoney, 'green_discount' => $greenDiscount, 'backpack_rate' => $backpackRate, 'shulker_rate' => $shulkerRate ], JSON_UNESCAPED_UNICODE); ?>