86 行
3.5 KiB
PHP
86 行
3.5 KiB
PHP
<?php
|
|
// 更新线上数据库装修配置为 320x320 高清大字版图标,并设置 iconSize 为 120
|
|
$dsn = 'mysql:host=127.0.0.1;dbname=henglianshutong;charset=utf8mb4';
|
|
$user = 'henglianshutong';
|
|
$pass = 'henglianshutong';
|
|
|
|
try {
|
|
$pdo = new PDO($dsn, $user, $pass, [
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
|
|
]);
|
|
} catch (Exception $e) {
|
|
die("DB connection failed: " . $e->getMessage() . "\n");
|
|
}
|
|
|
|
$targetPages = [8, 2];
|
|
|
|
foreach ($targetPages as $pageId) {
|
|
$stmt = $pdo->prepare("SELECT id, page FROM hla_shopro_decorate_page WHERE id = ?");
|
|
$stmt->execute([$pageId]);
|
|
$row = $stmt->fetch();
|
|
if (!$row) {
|
|
echo "Page $pageId not found.\n";
|
|
continue;
|
|
}
|
|
|
|
$pageData = json_decode($row['page'], true);
|
|
if (!is_array($pageData) || !isset($pageData['data']) || !is_array($pageData['data'])) {
|
|
echo "Invalid structure in page $pageId.\n";
|
|
continue;
|
|
}
|
|
|
|
$updated = false;
|
|
foreach ($pageData['data'] as &$comp) {
|
|
if (isset($comp['type']) && $comp['type'] === 'menuButton') {
|
|
echo "Found menuButton in page $pageId.\n";
|
|
$comp['data']['layout'] = 2; // 纯图标模式
|
|
$comp['data']['iconSize'] = 120; // 放大图标至 120rpx
|
|
|
|
// 确保 list 中的每个项均指向 _v2.png 高清大图,并清空 title.text
|
|
$listConfig = [
|
|
['src' => '/uploads/decorate/menu_city_center_v2.png', 'url' => '/pages/public/richtext?id=5&title=%E5%B8%82%E7%BA%A7%E8%BF%90%E8%90%A5%E4%B8%AD%E5%BF%83'],
|
|
['src' => '/uploads/decorate/menu_city_partner_v2.png', 'url' => '/pages/public/richtext?id=5&title=%E5%B8%82%E7%BA%A7%E5%90%88%E4%BC%99%E4%BA%BA'],
|
|
['src' => '/uploads/decorate/menu_province_center_v2.png', 'url' => '/pages/public/richtext?id=5&title=%E7%9C%81%E7%BA%A7%E6%9C%8D%E5%8A%A1%E4%B8%AD%E5%BF%83'],
|
|
['src' => '/uploads/decorate/menu_province_partner_v2.png', 'url' => '/pages/public/richtext?id=5&title=%E7%9C%81%E7%BA%A7%E5%90%88%E4%BC%99%E4%BA%BA'],
|
|
['src' => '/uploads/decorate/menu_region_branch_v2.png', 'url' => '/pages/public/richtext?id=5&title=%E5%A4%A7%E5%8C%BA%E5%88%86%E5%85%AC%E5%8F%B8'],
|
|
];
|
|
|
|
if (isset($comp['data']['list']) && is_array($comp['data']['list'])) {
|
|
foreach ($comp['data']['list'] as $idx => &$item) {
|
|
if (isset($listConfig[$idx])) {
|
|
$item['src'] = $listConfig[$idx]['src'];
|
|
$item['url'] = $listConfig[$idx]['url'];
|
|
$item['title']['text'] = '';
|
|
}
|
|
}
|
|
}
|
|
$updated = true;
|
|
}
|
|
}
|
|
|
|
if ($updated) {
|
|
$newJson = json_encode($pageData, JSON_UNESCAPED_UNICODE);
|
|
$updateStmt = $pdo->prepare("UPDATE hla_shopro_decorate_page SET page = ? WHERE id = ?");
|
|
$updateStmt->execute([$newJson, $pageId]);
|
|
echo "Page $pageId successfully updated to HD v2 icons & iconSize: 120!\n";
|
|
}
|
|
}
|
|
|
|
// 刷新 Redis 缓存(如果有)
|
|
try {
|
|
$redis = new Redis();
|
|
if ($redis->connect('127.0.0.1', 6379)) {
|
|
// 清理商城相关的装修缓存
|
|
$keys = $redis->keys('*shopro*decorate*');
|
|
if (!empty($keys)) {
|
|
$redis->del($keys);
|
|
echo "Cleared " . count($keys) . " decorate redis cache keys.\n";
|
|
}
|
|
}
|
|
} catch (Exception $e) {
|
|
echo "Redis notice: " . $e->getMessage() . "\n";
|
|
}
|
|
|
|
echo "All Done.\n";
|