<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>图片选择器</title>
    <style>
        .image-picker {
            font-family: Arial, sans-serif;
            max-width: 800px;
            margin: 0 auto;
        }
        .image-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
            margin: 20px 0;
        }
        .image-item {
            border: 1px solid #ddd;
            padding: 5px;
            text-align: center;
            cursor: pointer;
            transition: all 0.3s;
        }
        .image-item:hover {
            border-color: #999;
            background: #f0f0f0;
        }
        .image-item img {
            max-width: 100%;
            height: auto;
            display: block;
            margin-bottom: 5px;
        }
        .pagination {
            display: flex;
            justify-content: center;
            margin: 20px 0;
        }
        .pagination button {
            margin: 0 5px;
            padding: 5px 10px;
            cursor: pointer;
        }
        .preview-input {
            width: 100%;
            padding: 10px;
            box-sizing: border-box;
            margin-bottom: 20px;
        }
    </style>
</head>
<body>
    <div class="image-picker">
        <h2>图片选择器</h2>
        <input type="text" id="imageUrl" class="preview-input" placeholder="选择的图片URL将显示在这里">
        
        <div id="imageContainer" class="image-grid"></div>
        
        <div class="pagination">
            <button id="prevPage">上一页</button>
            <span id="pageInfo">第1页/共1页</span>
            <button id="nextPage">下一页</button>
        </div>
    </div>

    <script>
        // 全局变量
        var currentPage = 1;
        var totalPages = 1;
        
        // 获取DOM元素
        var imageContainer = document.getElementById('imageContainer');
        var prevPageBtn = document.getElementById('prevPage');
        var nextPageBtn = document.getElementById('nextPage');
        var pageInfo = document.getElementById('pageInfo');
        var imageUrlInput = document.getElementById('imageUrl');
        
        // 加载图片数据
        function loadImages(page) {
            var xhr = new XMLHttpRequest();
            xhr.open('GET', 'image_list.php?page=' + page, true);
            
            xhr.onreadystatechange = function() {
                if (xhr.readyState == 4) {
                    if (xhr.status == 200) {
                        try {
                            var data = JSON.parse(xhr.responseText);
                            displayImages(data);
                        } catch (e) {
                            console.error('解析JSON失败:', e);
                            imageContainer.innerHTML = '<div class="error">加载图片失败</div>';
                        }
                    } else {
                        console.error('请求失败:', xhr.status);
                        imageContainer.innerHTML = '<div class="error">加载图片失败 (HTTP ' + xhr.status + ')</div>';
                    }
                }
            };
            
            xhr.send();
        }
        
        // 显示图片
        function displayImages(data) {
            imageContainer.innerHTML = '';
            
            if (data.error) {
                imageContainer.innerHTML = '<div class="error">' + data.error + '</div>';
                return;
            }
            
            currentPage = data.page;
            totalPages = data.total_pages;
            
            // 更新分页信息
            pageInfo.textContent = '第' + currentPage + '页/共' + totalPages + '页';
            prevPageBtn.disabled = (currentPage <= 1);
            nextPageBtn.disabled = (currentPage >= totalPages);
            
            // 显示图片
            if (data.images && data.images.length > 0) {
                data.images.forEach(function(image) {
                    var item = document.createElement('div');
                    item.className = 'image-item';
                    item.innerHTML = `
                        <img src="${image.url}" alt="${image.name}">
                        <div>${image.name}</div>
                    `;
                    
                    // 点击事件 - 回调图片URL到输入框
                    item.addEventListener('click', function() {
                        imageUrlInput.value = image.url;
                        // 可以在这里添加自定义回调逻辑
                        if (typeof window.imagePickerCallback === 'function') {
                            window.imagePickerCallback(image);
                        }
                    });
                    
                    imageContainer.appendChild(item);
                });
            } else {
                imageContainer.innerHTML = '<div class="no-images">没有找到图片</div>';
            }
        }
        
        // 分页按钮事件
        prevPageBtn.addEventListener('click', function() {
            if (currentPage > 1) {
                loadImages(currentPage - 1);
            }
        });
        
        nextPageBtn.addEventListener('click', function() {
            if (currentPage < totalPages) {
                loadImages(currentPage + 1);
            }
        });
        
        // 初始加载
        loadImages(1);
        
        // 全局回调函数
        window.imagePickerCallback = function(image) {
            console.log('选择了图片:', image);
            // 这里可以添加更多的回调逻辑
        };
    </script>
</body>
</html>